Skip to content
/ cli Public

CLI tool for dead-simple serverless Docker deployments on managed Kubernetes services. A self-hosted PaaS. ⚡️

License

Notifications You must be signed in to change notification settings

snowjs/cli

Repository files navigation

❄️ Self-hosted now deployments

Enjoy effortless deployments with a clone of now on a cloud of your choosing.

Features

  • ⚡️ Deploy docker images via snow (or snow 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
<none> 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)

About

CLI tool for dead-simple serverless Docker deployments on managed Kubernetes services. A self-hosted PaaS. ⚡️

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published