Documentation ΒΆ
Overview ΒΆ
Inertia is the command line interface that helps you set up your remote for continuous deployment and allows you to manage your deployment through configuration options and various commands.
This document contains basic usage instructions, but a new usage guide is also available here: https://inertia.ubclaunchpad.com/
Inertia can be installed in several ways:
# Mac users brew install ubclaunchpad/tap/inertia # Windows users scoop bucket add ubclaunchpad https://github.com/ubclaunchpad/scoop-bucket scoop install inertia
Users of other platforms can install the Inertia CLI from the Releases page, found here: https://github.com/ubclaunchpad/inertia/releases/latest
To help with usage, most relevant documentation can be seen by using the --help flag on any command:
inertia --help inertia init --help inertia [remote] up --help
Documentation can also be triggered by simply entering a command without the prerequisite arguments or additional commands:
inertia remote # documentation about remote configuration
Inertia has two "core" sets of commands - one that primarily handles local configuration, and one that allows you to control your remote VPS instances and their associated deployments.
For local configuration, most commands will build off of the root "inertia ..." command. For example, a typical set of commands to set up a project might look like:
inertia init # initiates Inertia configuration inertia remote add my_cloud # adds configuration for a remote VPS instance
The other set of commands are based on a remote VPS configuration, and the available commands can be seen by running:
inertia [remote] --help
In the previous example, the next steps to set up a deployment might be:
inertia my_cloud init # bootstraps remote and installs Inertia daemon inertia my_cloud up # deploys your project
Some of these commands offer a --stream flag that allows you to view realtime log feedback from the daemon.
More documentation on Inertia, how it works, and how to use it can be found in the project repository: https://github.com/ubclaunchpad/inertia/tree/master
Directories ΒΆ
Path | Synopsis |
---|---|
Package api contains definitions for Inertia API requests and responses
|
Package api contains definitions for Inertia API requests and responses |
Package cfg provides configuration structs and types
|
Package cfg provides configuration structs and types |
internal/identity
Package identity provides a small set of utilities for dealing with structs that have an identifier.
|
Package identity provides a small set of utilities for dealing with structs that have an identifier. |
Package client provides the interface through which Inertia communicates with a serverside daemon
|
Package client provides the interface through which Inertia communicates with a serverside daemon |
bootstrap
Package bootstrap provides Inertia's remote bootstrapping script, based off of inertia/client.Client
|
Package bootstrap provides Inertia's remote bootstrapping script, based off of inertia/client.Client |
internal
Package internal provides compiled scripts and other internal assets
|
Package internal provides compiled scripts and other internal assets |
runner
Package runner provides the Inertia client's low-level SSH command runner
|
Package runner provides the Inertia client's low-level SSH command runner |
runner/mocks
Package mocks provides mocked implmentations of interfaces in client/runner Code generated by counterfeiter.
|
Package mocks provides mocked implmentations of interfaces in client/runner Code generated by counterfeiter. |
Package cmd contains Inertia's command-line interface components and logic
|
Package cmd contains Inertia's command-line interface components and logic |
core
Package core provides a parent class for the root 'inertia' command
|
Package core provides a parent class for the root 'inertia' command |
core/utils/input
Package input provides input parsing utilities for the Inertia CLI
|
Package input provides input parsing utilities for the Inertia CLI |
core/utils/out
Package out provides out utilities for the Inertia CLI
|
Package out provides out utilities for the Inertia CLI |
project
Package projectcmd implements the 'inertia project' subcommands
|
Package projectcmd implements the 'inertia project' subcommands |
provision
Package provisioncmd implements the 'inertia provision' subcommands
|
Package provisioncmd implements the 'inertia provision' subcommands |
remote
Package remotecmd implements the 'inertia remote' subcommands
|
Package remotecmd implements the 'inertia remote' subcommands |
remotes
Package remotescmd implements the 'inertia [remote]' subcommands
|
Package remotescmd implements the 'inertia [remote]' subcommands |
Package common provides utilities, shared variables, and types for both the client and the daemon
|
Package common provides utilities, shared variables, and types for both the client and the daemon |
contrib
|
|
inertia-completions
Inertia-completions is a tool for generating Inertia shell completions.
|
Inertia-completions is a tool for generating Inertia shell completions. |
inertia-docgen
Inertia-docgen is a tool for generating Inertia command documentation.
|
Inertia-docgen is a tool for generating Inertia command documentation. |
inertia-publish
Inertia-publish is a tool for helping publish Inertia releases to various distribution channels.
|
Inertia-publish is a tool for helping publish Inertia releases to various distribution channels. |
daemon
|
|
inertiad
Inertiad is Inertia's daemon component.
|
Inertiad is Inertia's daemon component. |
inertiad/auth
Package auth provides the Inertia daemon's authentication and security framework
|
Package auth provides the Inertia daemon's authentication and security framework |
inertiad/build
Package build implements Inertia's build procedures
|
Package build implements Inertia's build procedures |
inertiad/build/mocks
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
inertiad/cfg
Package cfg provides the daemon's core configuration
|
Package cfg provides the daemon's core configuration |
inertiad/containers
Package containers provides utilities for interacting with Docker containers
|
Package containers provides utilities for interacting with Docker containers |
inertiad/crypto
Package crypto provides functions for managing encryption, keys, etc.
|
Package crypto provides functions for managing encryption, keys, etc. |
inertiad/daemon
Package daemon provides Inertiad's core server and API
|
Package daemon provides Inertiad's core server and API |
inertiad/git
Package git provides functions for interacting with git repositories
|
Package git provides functions for interacting with git repositories |
inertiad/log
Package log provides logging utilities
|
Package log provides logging utilities |
inertiad/notify
Package notify provides experimental support for notifications providers.
|
Package notify provides experimental support for notifications providers. |
inertiad/notify/mocks
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
inertiad/project
Package project contains Inertia's build and project management code
|
Package project contains Inertia's build and project management code |
inertiad/project/mocks
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
inertiad/res
Package res provides simple HTTP response primitives
|
Package res provides simple HTTP response primitives |
inertiad/util
Package util provides miscellaneous utility functions
|
Package util provides miscellaneous utility functions |
inertiad/webhook
Package webhook contains Inertia's webhook parsing code
|
Package webhook contains Inertia's webhook parsing code |
internal
|
|
tools
Package tools is a package is set up as recommended in [this guide](https://github.com/go-modules-by-example/index/blob/master/010_tools/README.md).
|
Package tools is a package is set up as recommended in [this guide](https://github.com/go-modules-by-example/index/blob/master/010_tools/README.md). |
Package local provides access to local assets for the CLI
|
Package local provides access to local assets for the CLI |
git
Package git provides utilities for interacting with git.
|
Package git provides utilities for interacting with git. |
Package provision contains Inertia's VPS instance provisioning API
|
Package provision contains Inertia's VPS instance provisioning API |