A single static binary that can run on any CI to build your code and deploy it in a single step.
All with a nice development workflow in mind like ephemeral environment for your PRs.
The CLI is currently published on NPM. You can run it using
npx initium
That will install the Initium CLI in your folder's node_modules
.
We recommend you not to try installing the CLI globally if you don't use a Node.js version manager (like nvm
), as you can run into permission errors.
-
GoLang
You can install it with your prefered package manager or usign asfd with
asdf install
. -
Docker (or similar solutions)
Here you can find a list of possible candidates:
- Docker ( cross-platform, paid solution )
- Rancher Desktop ( cross-platform, FOSS )
- lima + nerdctl ( macOS only )
In order to build the executable you simply need to run
make build
You will be able to run the executable from
./bin/initium
These are the environment variables that you have to set in order to use the onmain, onbranch commands from your local environment
export INITIUM_REGISTRY_PASSWORD="<github_pat>"
export INITIUM_REGISTRY_USER="<github_user>"
and
export INITIUM_CLUSTER_ENDPOINT=$(kubectl config view -o jsonpath='{.clusters[?(@.name == "kind-initium-platform")].cluster.server}')
export INITIUM_CLUSTER_TOKEN=$(kubectl get secrets initium-cli-token -o jsonpath="{.data.token}" | base64 -d)
export INITIUM_CLUSTER_CA_CERT=$(kubectl get secrets initium-cli-token -o jsonpath="{.data.ca\.crt}" | base64 -d)
Following we have a matrix related to which application runtime our CLI is currently compatible with. For each one of them a Dockerfile template is being used in order to provide an easy way to build and deploy the application to a Kubernetes cluster.
Application Runtimes | Supported |
---|---|
Nodejs | ✅ |
GoLang | ✅ |
Python | Coming Soon |
More will be added... |
The matrix below gives an overview of the integration status of our CLI with CI platforms. CLI is able to create automatically build
and deploy
pipelines in order to enable CICD process for the application it is used with. Related template files are being used to cover different process steps.
CI Systems | Supported |
---|---|
GitHub Actions | ✅ |
Gitlab CI | Coming Soon |
Azure Devops | Coming Soon |
More will be added... |
Encrypt your secret with:
./initium secrets encrypt --publicKey age1zmh77nlvddsz55q5l67d4ufwewvyhentlku9z90t969szd2lnghslnlese --secret <your secret>
or if it's not a string
./initium secrets encrypt --publicKey age1zmh77nlvddsz55q5l67d4ufwewvyhentlku9z90t969szd2lnghslnlese --base64secret <your secret in base64>