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

@codeanker/nodejs-helm

v0.3.0

Published

Node helm created for javascript developers that works with helm.sh package manager for Kubernetes.

Downloads

5

Readme

nodejs-helm

nodejs-helm was created for javascript developers who work with helm.sh package manager for Kubernetes. The package is a wrapper that integrates with the helm.sh process.

Installation

npm install nodejs-helm

Get Started

Setup your helm.sh file location - for linux or windows

let helmBinary = '/usr/local/bin/helm';

if (process.platform === "win32") {
    helmBinary = 'helm';
}

require Helm class

let Promise = require("bluebird");
const Helm = require("nodejs-helm").Helm;
let helm = Promise.promisifyAll(new Helm({helmCommand: helmBinary}));

API

List releases

https://helm.sh/docs/helm/helm_list/

let options = {
    allNamespaces: true, // optional
    max: 10,
    offset: 20
}; // all parameters are optional
let releases = await helm.listAsync(options);

Get a release

https://helm.sh/docs/helm/helm_get/

let options = {
    releaseName: 'myReleaseName',
    subCommand: 'all',
    namespace: 'dev' // optional
}
let history = await helm.getAsync(options);

Available Sub-Commands:

all         download all information for a named release
hooks       download all hooks for a named release
manifest    download the manifest for a named release
notes       download the notes for a named release
values      download the values file for a named release

Install a release

https://helm.sh/docs/helm/helm_install/

let options = {
    chartName: "sourceChartName",
    releaseName: "myReleaseName",
    namespace: "dev", // optional
    version: "latest", // optional
    values: {
        "organisation":"Sugar Labs"
    } // custom values - optional
};
return installation = await helm.installAsync(options);

Upgrade a release

https://helm.sh/docs/helm/helm_upgrade/

let options = {
    reuseValues: shouldReuseValues, // boolean value (when upgrading, reuse the last release's values) - optional
    resetValues: shouldResetValues, // boolean value (when upgrading, reset the values to the ones built into the chart) - optional
    version: "latest", // optional
    install: shouldInstall, // boolean value (if a release by this name doesn't already exist, run an install) -- optional
    chartName: "./chartFolder",
    releaseName: myReleaseName,
    namespace: 'dev', // optional
    values: {
        "organisation":"Sugar Labs"
    }
}
return await helm.upgradeAsync(options);

Uninstall a release

https://helm.sh/docs/helm/helm_uninstall/

let options = {
    releaseName: 'myReleaseName',
    namespace: 'dev' // optional
}
return await helm.uninstallAsync(options);

Get release history

https://helm.sh/docs/helm/helm_history/

let options = {
    releaseName: 'myReleaseName',
    namespace: 'dev' // optional
}
let history = await helm.historyAsync(options);

Test a release

https://helm.sh/docs/helm/helm_test/

let options = {
    releaseName: 'myReleaseName',
    namespace: 'dev' // optional
}
let test = await helm.testAsync(options);

Rollback a release to a previous revision

https://helm.sh/docs/helm/helm_rollback/

let options = {
    releaseName: 'myReleaseName',
    revision: 0 // number,
    namespace: 'dev' // optional
};
let rollback = await helm.rollbackAsync(options);

Get a release status

https://helm.sh/docs/helm/helm_status/

let options = {
    releaseName: 'myReleaseName',
    namespace: 'dev' // optional
}
let status = await helm.statusAsync(options);