Chef data bags Web Manager is an application to manage your data bags files. This app support the encrypted or plain data bags in json format.
You can run this app on your chef server or locally on your computer.
This app has vocation to simplify data bags management instead the knife
command.
App try all secrets you have registered to uncrypte the data bag you want to access.
The data bag modification is concern only the part of changes; that's better to follow changes in versionning repository.
- bundler (gem install bundler)
- npm
- Clone this repository
git clone https://github.com/gnublin/chef-dbwm.git
- Install ruby Gems
bundle install
- Install node modules
npm install
Please read the configure section
bundle exec rackup -p 8080
- Clone this repository
git clone https://github.com/gnublin/chef-dbwm.git
Warn: rackup default is in development mode. Your configuration file should be config/development/config.yml
You should to configure the shared volumes.
To manage the sharing, I've create an extra docker-compose file:
Edit the docker-compose-vol.yml
sample:
# docker-compose-vol.yml
version: '3.0'
services:
web:
volumes:
- /path_to/config/development/config.yml:/app/config/development/config.yml
- /path_to/data_bags:/app/data_bags
- /path_to/templates:/app/templates
I think the docker-compose-vol.yml will not be modify in the future. It's in my .gitignore
file.
Please read the configure section
To run this app in docker, you should to run the docker-compose command:
docker-compose up -f docker-compose.yml -f docker-compose-vol.yml
To down this app, you could to use the docker-compose command too:
docker-compose down
You should to create a config/RACK_ENV/config.yml
configuration.
Ex: config/development/config.yml
---
mdb_config:
secret_keys_path:
env1:
path: /home/user/data_bags_keys/secret_env1
env2:
path: /home/user/data_bags_keys/secret_env2
env3:
path: /home/user/data_bags_keys/secret_env3
data_bags_path:
project42: /home/user/code/git/project_john/data_bags
project73: /home/user/code/git/project_jane/data_bags
project0: /home/user/code/git/project_doe/data_bags
templates_dir:
tpl1: /home/user/code/git/chef-dbwm/templates #absolute path
tpl2: templates #relative path from repository
- feat(#issue): description* when issue is a feature
- card(#issue): description* when issue is a card
- bug(#issue): description* when issue is a bug
- test(card name): description* when you add more commits into issue
- doc(readme): description* when you want to update readme or other doc
*feel free to add more details in multi-line list of your commit description
Author: Gauthier FRANCOIS (gauthier@openux.org)
MIT License
Copyright (c) 2018 Gauthier FRANCOIS