Store and deploy settings across development, test, and production environments, using an encrypted key-value store.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github admin: Move admin GUI in an other repo Nov 13, 2017
api Add a command to delete a project Nov 14, 2018
cli Add a command to delete a project Nov 14, 2018
docs admin: Move admin GUI in an other repo Nov 13, 2017
test Add a command to delete a project Nov 14, 2018
.gitignore
.travis.yml Remove Greenkeeper Nov 14, 2018
LICENSE
Makefile Better error management Nov 14, 2018
README.md Remove Greenkeeper Nov 14, 2018
package.json

README.md

npm version Build Status

Comfygure

Store and deploy settings across development, test, and production environments, using an encrypted key-value store.

Source - Releases - StackOverflow

Comfygure assumes that you deploy artefacts that require settings to run in various environment. Comfygure solves the problem of managing, storing, and deploying these settings.

asciicast

Unlike many other Secret Management Tools, comfygure doesn't try do pack too many features into one tool. Comfygure tries to do one thing (settings deployment), and do it well.

Features

  • Simple CLI tool
  • Web GUI
  • Multi-environment (dev, test, staging, production, etc.)
  • End-to-end encryption using AES-256
  • Read/Write permissions
  • Input and output in multiple formats (JSON, YAML, environment variables)
  • Versioning (git-like)
  • Easy to host

Command Line Installation

On every server that needs access to the settings of an app, install the comfy CLI using npm:

npm install -g comfygure
comfy help

Usage

Initialize comfygure in a project directory with comfy init:

> cd myproject
> comfy init

Initializing project configuration...
Project created on comfy server https://comfy.marmelab.com
Configuration saved locally in .comfy/config
comfy project successfully created

This creates a unique key to access the settings for myproject, and stores the key in .comfy/config. You can copy this file to share the credentials with co-workers or other computers.

Tip: By default, the comfy command stores encrypted settings in the comfy.marmelab.com server. To host your own comfy server, see the related documentation.

Import an existing settings file to comfygure using comfy setall:

> echo '{"login": "admin", "password": "S3cr3T"}' > config.json
> comfy setall development config.json
Great! Your configuration was successfully saved.

From any computer sharing the same credentials, grab these settings using comfy get:

> comfy get development
{"login": "admin", "password": "S3cr3T"}
> comfy get development --envvars
export LOGIN='admin';
export PASSWORD='S3cr3T';

To turn settings grabbed from comfygure into environment variables, use the following:

> comfy get development --envvars | source /dev/stdin
> echo $LOGIN
admin

See the documentation to know more about how it works and the remote usage.

License

Comfygure is licensed under the MIT License, sponsored and supported by marmelab.