cli
โ๏ธ Self-hosted now deployments
Enjoy effortless deployments with a clone of now on a cloud of your choosing.
Features
-
โก๏ธ Deploy docker images via
snow
(orsnow deploy
) - ๐ Auto-configured SSL
- ๐ Auto-scaling
No, it isnโt. This CLI abstracts away the complexities of using Kubernetes, cert-manager, Kaniko, and a private Docker Registry together, replicating the functionality provided by now
.
Getting started
> npm i -g @snowjs/cli # Install CLI tools > snow install # Create your kubernetes cluster (GCP) > snow create # Get your deployment's IP address # And create a DNS 'A' record (e.g., myapp.com A 1.2.3.4) > snow ip # Deploy > snow
Supported commands
Detailed descriptions of supported commands at docs/commands.md.
Support
Command
Description
โ
Deploy
โ
alias [ls]
List aliases
โ
alias set <deployment> <alias>
Create alias
โ
alias rm <alias>
Remove alias
โ
certs [ls]
List SSL Certificates
โ
certs issue <cn> [<cn>]
Issue certificate
โ
certs rm <cn>
Remove a certificate
๐
create
Create Kubernetes cluster
โ
deploy
Deploy
โ
domains [ls]
List domains
โ
domains add <domain>
Add domain
โ
domains buy <domain>
Buy domain
โ
domains rm <domain>
Remove domain
โ
login
Login
โ
logout
Logout
โ
ls
List deployments
๐
install
Install CLI tools (via brew)
๐
ip
Get IP Address of deployments
โ
rm <name>
Remove deployment
โ
scale <deployment> <min> [<max>]
Scale deployment
โ
secrets [ls]
List secrets
โ
secrets add <key> <value>
Create secret
โ
secrets rename <old-key> <new-key>
Rename secret
โ
secrets rm <key>
Remove secret
Tell me more
The essential CLI commands to understand are snow create
and snow deploy
.
Dependencies
The following CLI tools (installable via snow install
) are necessary to orchestrate the entire end-to-end process, from Kubernetes cluster creation to managing your deployments:
-
kubectl
(for managing deployments, secrets) -
helm
(for installing [tiller], cert-manager, and ingress-nginx on your cluster) -
CLI tool for your cloud provider (e.g.,
gcloud
).
If running Kubernetes locally on Minikube, you will additionally need these cli tools:
-
docker
(for running local registry) -
minikube
(for running Kubernetes locally) -
virtualbox
(for creating docker images)