Comfygure is an open source tool that provides encrypted and versioned configuration storage built with collaboration in mind. Comfygure is great to manage application configurations for multiple environments, toggle feature flags quickly, manage A/B testing based on configuration files.

Some of its features includes :

  • Simple CLI
  • End-to-end AES-256 encryption
  • Multiple formats support (JSON, YAML, environment variables)
  • Git-like Versioning
  • Easy to host on your own

To install Comfygure

npm install -g comfygure
comfy help

Then you can initialize your project 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.

Now you can 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.

And 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';

Finally you can turn settings grabbed from comfygure into environment variables using the following:

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

Check the documentation to find out more about using Comfygure. Licensed under the MIT License, sponsored and supported by marmelab.

LEAVE A REPLY

Please enter your comment!
Please enter your name here