Giter Site home page Giter Site logo

node-figaro's Introduction

node figaro

Build Status Dependency status

npm module to help on configuration of sensitive information on open source projects. This project is directly inspired by Figaro

NPM

Installation

$ npm install figaro -g

Usage

node figaro relies on creating a file (figaro.json) where you will store your sensitive information (passwords, secret keys, etc...) as key/value pairs The contents of this file can then be used in different environments by encrypting them with the environment public key.

Options

The options that you can use with node figaro are:

  • --skipGitIgnore Skips updating .gitignore file, default: false
  • --figaro-file File where your sensitive configuration will be stored, default: figaro.json
  • --version Print the version of figaro.
  • --help Print the help of figaro.

Setup

From the root of your module (where your package.json lives):

$ figaro --setup

This will generate a figaro.json file and it will be added to your .gitignore In the figaro.json file you can add something like:

{ "PASSWORD": "SuperSecretPassword" }

Populate process.env

Simply require figaro and run parse to import all the variables in figaro.json into your nodes environment.

figaro = require('figaro').parse(figaroJSONPath, callback); // figaroJSONPath can be null and in such case default location of figaro.json is used

Travis usage

You can encrypt the contents of figaro.json for later usage as environment variables in travis

$ figaro --travis

This will generate something like:

env:
  - {secure: "df/EJcOiNPNpPn9i6Nr5cpH1OOYL0FYpXdIY8zpHh7LLfwJ5q4gIwAWSXjXC2NLk13Ki+HsBgph84PX0Bd4/8FCvw6FH8lgkBkjxjG5/tgJ9j8K733CtoxuvVwSMEJsyFEHU1r9JeNx4nyriTu6JhWRnTAYVLQJjhXEncXG4Fsc="}

You can add that to your .travis.yml file safely (it is encrypted using your module public key in travis, so only travis can decrypt it) And now in travis you will have an environment variable called PASSWORD with value SuperSecretPassword.

License

MIT

node-figaro's People

Contributors

cmanzana avatar splaktar avatar radfahrer avatar thesephi avatar

Watchers

James Cloos avatar  avatar

Forkers

careerfairplus

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.