Categorygithub.com/launchrctl/launchr
modulepackage
0.16.4
Repository: https://github.com/launchrctl/launchr.git
Documentation: pkg.go.dev

# README

Launchr

Launchr is a CLI action runner that executes actions inside short-lived local containers.
Actions are defined in action.yaml files, which are automatically discovered in the filesystem. They can be placed anywhere that makes sense semantically. You can find action examples here and in the documentation.
Launchr has a plugin system that allows to extend its functionality. See core plugins, compose and documentation.

Table of contents

Usage

Build launchr from source locally. Build dependencies:

  1. go >=1.20, see installation guide
  2. make

Build the launchr tool:

make
bin/launchr --help

The documentation for launchr usage can be found in docs.

If you face any issues with launchr:

  1. Open an issue in the repo.
  2. Share the app version with launchr --version

Installation

Installation from source

Build dependencies:

  1. go >=1.20, see installation guide
  2. make

Global installation

Install launchr globally:

make install
launchr --version

The tool will be installed in $GOPATH/bin which is usually ~/go/bin.
If GOPATH env variable is not available, make sure you have it in ~/.bashrc or ~/.zhrc:

export GOPATH=`go env GOPATH`
export PATH=$PATH:$GOPATH/bin

Local installation

The tool can be built and run locally:

make
bin/launchr --version

Development

The launchr can be built with a make to bin directory:

make

It is also supported to make a build to use with dlv for debug:

make DEBUG=1

Useful make commands:

  1. Fetch dependencies - make deps
  2. Test the code - make test
  3. Lint the code - make lint

Publishing a new release

  1. Install goreleaser
  2. Create an Access token on GitHub
  3. Create a tag, build a release and push
    git tag -a v0.0.0 -m "Release notes"
    export GITHUB_TOKEN="[TOKEN]"
    goreleaser release --clean
    

# Packages

No description provided by the author
No description provided by the author
Package plugins provides launchr core plugins.

# Functions

EnsurePath creates all directories in the path.
Gen generates application specific build files and returns os exit code.
GenAndExit runs the generation and exits with a result code.
GetFsAbsPath returns absolute path for an FS struct.
Log returns the default logger.
NewConsoleLogger creates a default console logger.
NewExitError creates a new ExitError.
NewIn returns a new [In] object from a [io.ReadCloser].
NewJSONHandlerLogger creates a logger with a [io.Writer] and JSON output.
NewOut returns a new [Out] object from a [io.Writer].
NewTextHandlerLogger creates a logger with a [io.Writer] and plain output.
NoopStreams provides streams like /dev/null.
RegisterPlugin add a plugin to global pull.
Run executes the application.
RunAndExit runs the application and exits with a result code.
SetLogger sets the default logger.
StandardStreams sets a cli in, out and err streams with the standard streams.
Term returns default [Terminal] to print application messages to the console.
Version provides app version info.

# Constants

LogLevelDebug is the log level for debug.
LogLevelDisabled does never print.
LogLevelError is the log level for errors.
LogLevelInfo is the log level for info.
LogLevelWarn is the log level for warnings.
PkgPath is a main module path.

# Variables

ActionsGroup is a command group definition.

# Type aliases

Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.
Re-export types aliases for usage by external modules.