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

@magloft/kms

v3.0.4

Published

Zero-Setup encrypted configuration library via Google Cloud KMS / Google Cloud Storage.

Downloads

6

Readme

@magloft/kms

Zero-Setup encrypted configuration library via Google Cloud KMS / Google Cloud Storage.

Features

  • Configure projects in a secure, central place.
  • Manage different configurations and environments.
  • Keep your codebase and repositories clean of any sensitive data.

Requirements

  1. Install gcloud sdk
  2. Login via gcloud auth login
  3. Set your google cloud project using gcloud config set project PROJECT_ID

Installation

  1. npm -g install @magloft/kms or yarn global add @magloft/kms
  2. kms init

CLI Usage

kms [command]

Commands:
  kms init         initialize kms
  kms edit [key]   edit key and publish to kms
  kms store [key]  store key to kms
  kms fetch [key]  fetch key from kms

Options:
  -e         Set environment  [string] (development, staging, production)
  --help     Show help        [boolean]
  --version  Show version     [boolean]

Node Usage

const { config } = require('@magloft/kms')

config('credentials/mysql').then((result) => {
  console.log(result)
  // { host: '127.0.0.1', port: '3306', username: 'root', password: 'root' }
})

Environments

By default, the development environment will be used. Credentials are stored locally at ~/.kms/development/path/to/key.json.

Any environment other than development will load and retrieve configuration from Google Cloud Storage and encrypt/decrypt via Google Cloud KMS.

To change the environment, you can:

  1. Pass the environment via CLI argument -e production.
  2. Set the KMS_ENV=production environment variable

Configuration

The KMS_PARAMS environment variable allows you to specift the project, storage bucket and keyring settings:

KMS_PARAMS=magloft-private:kms:kms

The colon-seperated string contains Bucket Name, Key Ring ID and Crypto Key ID.