Awesome
comfygure
Encrypted and versioned configuration storage built with collaboration in mind.
Source - Releases - Stack Overflow
Features
- Simple CLI
- End-to-end AES-256 encryption
- Multiple formats support (JSON, YAML, environment variables)
- Git-like Versioning
- Easy to host on your own
Comfygure is great to manage application configurations for multiple environments, toggle feature flags quickly, manage A/B testing based on configuration files.
It is not a Secret Management Tool, it focus on configurations files, their history, and how teams collaborate with them.
Get Started
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.
Note: 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.