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
This is Magic ๐ฎ
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)