knube-deploy v0.1.0-rc.16
knube_deploy
CLI for templating, deploying and archiving Kubernetes manifests
Installation
$ npm i --save-dev knube-deploy
- OR -
$ yarn add --dev knube-deploy
TODO
Usage
Configuration
deploy.yaml
Most global configuration is defined in a deploy.yaml
that should be in the root directory of your project. knube-deploy
operates on the concept of "target clusters," and each command described in "Usage" will iterate on each context
item defined.
# minimal deploy.yaml
contexts:
- name: production
context: gke_my-app-project_us-west1_prod-cluster
image: myapp-prod
imageRegistry: gcr.io/my-app-project
- name: staging
context: gke_my-app-project_us-west1_staging-cluster
image: myapp-staging
imageRegistry: gcr.io/my-app-project
- name: local
context: minikube
image: myapp
imageRegistry: local-registry
docker
TODO
kubectl
TODO
Archive Storage
Multiple backends are available for storing the archive tarballs during the kube:publish
step. Options include:
1. devnull
: No-op storage-- rendered manifests must be available locally for kube:deploy
to succeed
1. localstorage
: Uses a configurable directory on the local filesystem
1. gcs
: Use a Google Cloud Storage bucket (not yet implemented)
1. s3
: Use an AWS S3 bucket (not yet implemented)
1. azure
: Use Azure cloud storage (not yet implemented)
1. github
: Use Github Artifact storage (not yet implemented)
1. gitlab
: Use Gitlab Artifact storage (not yet implemented)
1. artifactory
: Use Artifactory artifact storage (not yet implemented)
Commands
docker:build
Build a docker image with the specified configuration.
args
TODO
kube:generate
Render manifests from the input directory of EJS templates.
args
TODO
kube:publish
Push the built docker image to the configured registry, then create a tarball archive of rendered manifests and push it to the configured archive storage backend.
args
TODO
kube:deploy
Fetch and unzip the manifest tarball for the specified version, then kubectl apply
its contents in the configured context(s).
args
TODO
fortytwo
Answer to the Ultimate Question of Life, the Universe and Everything
Runs all of the above in order.
args
Takes all arguments from the above commands.
In CI/CD / Non-Interactive Modes
TODO
Development
TODO
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago