npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

deploy-node-app

v3.0.0

Published

Develop and deploy Node.js apps with Kubernetes, with zero config!

Downloads

292

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!)

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