Deploy Node App Save

Deploy your node.js app to Kubernetes with a single command. No config required.

Project README

deploy-node-app

npm version

Deploy apps to Kubernetes, with zero config!

deploy-node-app will prompt you with a minimal set of questions required to deploy your app to any Kubernetes cluster. If zero-config with no lock-in sounds too good to be true - remember this project is in beta :wink:. However, it mostly works, and deploy-node-app also supports more than just Node.js projects! Try it on a Python or Ruby project or a static site project!

Once you've run deploy-node-app in your project, you can commit your .dna.json file and use deploy-node-app with no prompts in the future (works great for CI too!).

Instructions

Just run npx deploy-node-app in your node project.

Example

What does this tool do?

deploy-node-app is a project bootstrapper, powered by Skaffold. After answering a few questions about your app, this tool can:

  1. Create a Dockerfile, skaffold.yaml and all the Kubernetes YAML you need!
  2. Automatically provision common dependencies (like redis and postgres)!
  3. Develop and deploy your app on any Kubernetes cluster

Essentially, deploy-node-app supercharges any web applications with awesome tools and best practices.

Usage and examples

Usage: deploy-node-app [env] [action]

Options:
  -V, --version                        output the version number
  -w, --write                          Write files to project (writes out Dockerfile, skaffold.yaml, etc)
  -u, --update                         Update existing files (default: false)
  -f, --force                          Dont prompt if possible (default: false)
  -l, --label [foo=bar,tier=service]   Add labels to created Kubernetes resources
  -t, --target <path/to/project>       Target project directory (default: ".")
  -c, --config <path/to/kubeconfig>    Kubernetes configuration file (default: "~/.kube/config")
  -m, --modules <redis,postgres>       Explicitly add modules

By default, deploy-node-app will write a few files to your directory, and by default files won't be touched if they've been modified. deploy-node-app by itself is the same as deploy-node-app production deploy

Simply run npx deploy-node-app in your repository. The tool will attempt to prompt you when it needs answers to questions, and do it's best to bootstrap your application. Take a look at supported languages - we're always looking to add more!

Tests-as-examples

Take a look at /test for a growing list of examples!

Dependencies

deploy-node-app knows about dependencies! For example, if you install a redis or postgres driver for Node.js, Python, Ruby and more, deploy-node-app will automatically create Redis or Postgres deployments that work with your app!

Suggested tools:

  • kubectl - required for creating your deployment, and recommended for managing your deployment after created
  • Skaffold - Kubernetes workflow utility

deploy-node-app is created and maintained by

Kubesail
KubeSail - Kubernetes for Human Beings


Contributing

If you feel that this tool can be improved in any way, feel free to open an issue or pull request!

Open Source Agenda is not affiliated with "Deploy Node App" Project. README Source: kubesail/deploy-node-app
Stars
398
Open Issues
8
Last Commit
4 months ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating