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

@jumpgroup/secret-fetcher

v2.0.0

Published

A script to fetch secrets from Passwd Manager and inject them into a file or a group of files.

Downloads

172

Readme

Secrets Fetcher

This is a Node.js package that replaces secrets in configuration files. It works by fetching variables from a remote server, merging them with any additional variables provided, and then replacing placeholders in configuration files with the merged variables. The resulting files are then saved to a specified output directory.

Installation

To install this package, run the following command:

npm install @jumpgroup/secret-fetcher

Usage

To use this package you can import the:

  • 'replaceSecrets',
  • 'replaceFiles'
  • 'addUpdateSecret'

functions from the package and call it with the necessary parameters or you can use this functions like a command.

Include as a functions

If you want to use this like a functions has the following signature:

replaceSecrets

replaceSecrets(groupKey, groupSecret, input, output, addVariables = {})

Here is an explanation of the parameters:

replaceFiles

replaceFiles(input, output, addVariables = {})

Here is an explanation of the parameters:

addUpdateSecret

addUpdateSecret(groupKey, groupSecret, note, env)

Here is an explanation of the parameters:

Include as a command

If you want to use this like a command you can use the following commands:

replaceSecrets

To replace secrets in configuration files, use the following command:

secret-fetcher replace-secrets --groupKey myGroup --groupSecret mySecret --input config/**/* --output .config --addVariables '{"myVariable": "myValue"}'

The following options are available:

replaceFiles

To replace secrets in configuration files, use the following command:

secret-fetcher replace-files --input config/**/* --output .config --variables '{"myVariable": "myValue"}'

The following options are available:

addUpdateSecret

To add or update a secret, use the following command:

secret-fetcher add-update-secret --groupKey myGroup --groupSecret mySecret --note myNote --env site

The following options are available:

Example Usage

Include as a functions

replaceSecrets

import { replaceSecrets } from '@jumpgroup/secret-fetcher';

replaceSecrets('myGroup', 'mySecret', 'config/**/*', '.config'); 

This will replace secrets in all files in the config directory and its subdirectories and save the resulting files in a directory called ".config".

replaceFiles

import { replaceFiles } from '@jumpgroup/secret-fetcher';

replaceFiles('config/**/*', '.config'); 

This will replace secrets in all files in the config directory and its subdirectories and save the resulting files in a directory called ".config".

addUpdateSecret

import { addUpdateSecret } from '@jumpgroup/secret-fetcher';

addUpdateSecret('myGroup', 'mySecret', 'myNote', 'site'); 

This will create or update a secret with the note "myNote" using tag and name like "myGroup-site".

Include as a command

replaceSecrets

secret-fetcher replace-secrets --groupKey myGroup --groupSecret mySecret --input config/**/* --output .config --addVariables '{"myVariable": "myValue"}'

This will replace secrets in all files in the config directory and its subdirectories and save the resulting files in a directory called ".config".

replaceFiles

secret-fetcher replace-files --input config/**/* --output .config --variables '{"myVariable": "myValue"}'

This will replace secrets in all files in the config directory and its subdirectories and save the resulting files in a directory called ".config".

addUpdateSecret

secret-fetcher add-update-secret --groupKey myGroup --groupSecret mySecret --note myNote --env site

This will create or update a secret with the note "myNote" using tag and name like "myGroup-site".

License

This package is licensed under the MIT License.