{"id":13876195,"url":"https://github.com/snowjs/cli","last_synced_at":"2025-07-16T10:33:19.342Z","repository":{"id":38282476,"uuid":"156927497","full_name":"snowjs/cli","owner":"snowjs","description":"CLI tool for dead-simple serverless Docker deployments on managed Kubernetes services. A self-hosted PaaS. ⚡️","archived":false,"fork":false,"pushed_at":"2022-12-04T03:11:14.000Z","size":403,"stargazers_count":409,"open_issues_count":23,"forks_count":10,"subscribers_count":3,"default_branch":"secrets","last_synced_at":"2024-08-07T06:06:19.051Z","etag":null,"topics":["cli","docker","kubernetes","now","paas","serverless","snowjs"],"latest_commit_sha":null,"homepage":"https://github.com/snowjs/cli/tree/secrets","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snowjs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-09T23:02:15.000Z","updated_at":"2024-06-20T15:30:15.000Z","dependencies_parsed_at":"2023-01-22T18:00:17.574Z","dependency_job_id":null,"html_url":"https://github.com/snowjs/cli","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowjs%2Fcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowjs%2Fcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowjs%2Fcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowjs%2Fcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snowjs","download_url":"https://codeload.github.com/snowjs/cli/tar.gz/refs/heads/secrets","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226126067,"owners_count":17577472,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","docker","kubernetes","now","paas","serverless","snowjs"],"created_at":"2024-08-06T06:01:08.007Z","updated_at":"2024-11-24T04:31:03.150Z","avatar_url":"https://github.com/snowjs.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg height=\"300\" src=\"./logo.svg\"\u003e\n  \u003cimg src=\"./demo.png\"\u003e\n\u003c/div\u003e\n\n\u003e :snowflake: **S**elf-hosted **now** deployments\n\nEnjoy effortless deployments with a clone of [now] on a cloud of your choosing.\n\n### Features\n\n- ⚡️ Deploy docker images via `snow` (or `snow deploy`)\n- 🔒 Auto-configured SSL\n- 🔃 Auto-scaling\n\n### This is Magic 🔮\n\nNo, 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`.\n\n### Getting started\n\n```sh\n\u003e npm i -g @snowjs/cli\n\n# Install CLI tools\n\u003e snow install\n\n# Create your kubernetes cluster (GCP)\n\u003e snow create\n\n# Get your deployment's IP address\n# And create a DNS 'A' record (e.g., myapp.com A 1.2.3.4)\n\u003e snow ip\n\n# Deploy\n\u003e snow\n```\n\n### Supported commands\n\n**Detailed** descriptions of supported commands at [docs/commands.md](docs/commands.md).\n\n| Support            | Command                              | Description                   |\n| ------------------ | ------------------------------------ | ----------------------------- |\n| :white_check_mark: | \\\u003cnone\\\u003e                             | Deploy                        |\n| :white_check_mark: | `alias [ls]`                         | List aliases                  |\n| :white_check_mark: | `alias set \u003cdeployment\u003e \u003calias\u003e`     | Create alias                  |\n| :white_check_mark: | `alias rm \u003calias\u003e`                   | Remove alias                  |\n| :white_check_mark: | `certs [ls]`                         | List SSL Certificates         |\n| :white_check_mark: | `certs issue \u003ccn\u003e [\u003ccn\u003e]`            | Issue certificate             |\n| :white_check_mark: | `certs rm \u003ccn\u003e`                      | Remove a certificate          |\n| :new:              | `create`                             | Create Kubernetes cluster     |\n| :white_check_mark: | `deploy`                             | Deploy                        |\n| :white_check_mark: | `domains [ls]`                       | List domains                  |\n| :white_check_mark: | `domains add \u003cdomain\u003e`               | Add domain                    |\n| :no_entry:         | `domains buy \u003cdomain\u003e`               | Buy domain                    |\n| :white_check_mark: | `domains rm \u003cdomain\u003e`                | Remove domain                 |\n| :white_check_mark: | `login`                              | Login                         |\n| :white_check_mark: | `logout`                             | Logout                        |\n| :white_check_mark: | `ls`                                 | List deployments              |\n| :new:              | `install`                            | Install CLI tools (via brew)  |\n| :new:              | `ip`                                 | Get IP Address of deployments |\n| :white_check_mark: | `rm \u003cname\u003e`                          | Remove deployment             |\n| :white_check_mark: | `scale \u003cdeployment\u003e \u003cmin\u003e [\u003cmax\u003e]`   | Scale deployment              |\n| :white_check_mark: | `secrets [ls]`                       | List secrets                  |\n| :white_check_mark: | `secrets add \u003ckey\u003e \u003cvalue\u003e`          | Create secret                 |\n| :white_check_mark: | `secrets rename \u003cold-key\u003e \u003cnew-key\u003e` | Rename secret                 |\n| :white_check_mark: | `secrets rm \u003ckey\u003e`                   | Remove secret                 |\n\n### Tell me more\n\nThe essential CLI commands to understand are `snow create` and `snow deploy`.\n\n### Dependencies\n\nThe 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:\n\n- `kubectl` (for managing deployments, secrets)\n- `helm` (for installing [tiller], [cert-manager], and [ingress-nginx] on your cluster)\n- CLI tool for your cloud provider (e.g., `gcloud`).\n\nIf running Kubernetes locally on Minikube, you will additionally need these cli tools:\n\n- `docker` (for running local registry)\n- `minikube` (for running Kubernetes locally)\n- `virtualbox` (for creating docker images)\n\n[cert-manager]: https://github.com/jetstack/cert-manager\n[docker registry]: https://github.com/helm/charts/tree/master/stable/docker-registry\n[now]: https://github.com/zeit/now-cli\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx\n[kaniko]: https://github.com/GoogleContainerTools/kaniko\n[kubernetes]: https://kubernetes.io/\n","funding_links":[],"categories":["TypeScript","cli"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnowjs%2Fcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnowjs%2Fcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnowjs%2Fcli/lists"}