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 😉. 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!)
If you don't have a Kubernetes cluster, don't worry! This tool can automatically provision a free KubeSail.com cluster for you!
npx deploy-node-app in your node project.
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:
- Create a Dockerfile, skaffold.yaml and all the YAML Kubernetes!
- Automatically provision common dependencies (like redis and postgres)!
- Develop and deploy your app on any Kubernetes cluster!
deploy-node-app supercharges any web applications with awesome tools and best practices.
deploy-node-app, any codebase can have:
- Local and remote development!
- Infrastructure-as-code with no effort!
- Zero downtime, rolling deployments!
- Free hosting, including SSL and custom domains! (provided by KubeSail)
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
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
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!
Take a look at /test for a growing list of examples!
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!
- 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
If you feel that this tool can be improved in any way, feel free to open an issue or pull request!