Neighborly Package Megalodon

    deploy-node-app

    2.2.1 • Public • Published

    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 😉. 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!

    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 YAML Kubernetes!
    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.

    With deploy-node-app, any codebase can have:

    1. Local and remote development!
    2. Infrastructure-as-code with no effort!
    3. Zero downtime, rolling deployments!
    4. 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
    

    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!

    Keywords

    none

    Install

    npm i deploy-node-app

    DownloadsWeekly Downloads

    66

    Version

    2.2.1

    License

    MIT

    Unpacked Size

    64.4 kB

    Total Files

    32

    Last publish

    Collaborators

    • erulabs
    • pastudan