https://github.com/infrablocks/confidante
A configuration engine combining environment variables, programmatic overrides and the power of hiera.
https://github.com/infrablocks/confidante
configuration hiera hierarchical hierarchical-data hierarchy infrablocks library ruby ruby-gem ruby-library rubygem
Last synced: 8 months ago
JSON representation
A configuration engine combining environment variables, programmatic overrides and the power of hiera.
- Host: GitHub
- URL: https://github.com/infrablocks/confidante
- Owner: infrablocks
- License: mit
- Created: 2017-09-22T11:34:14.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2025-05-30T15:13:19.000Z (9 months ago)
- Last Synced: 2025-05-30T21:25:51.069Z (9 months ago)
- Topics: configuration, hiera, hierarchical, hierarchical-data, hierarchy, infrablocks, library, ruby, ruby-gem, ruby-library, rubygem
- Language: Ruby
- Size: 398 KB
- Stars: 5
- Watchers: 11
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Confidante
A configuration engine combining environment variables, programmatic overrides
and the power of hiera.
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'confidante'
```
And then execute:
$ bundle
Or install it yourself as:
$ gem install confidante
## Usage
Add usage here.
## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run
`rake spec` to run the tests. You can also run `bin/console` for an interactive
prompt that will allow you to experiment.
To install this gem onto your local machine, run `bundle exec rake install`. To
release a new version, update the version number in `version.rb`, and then run
`bundle exec rake release`, which will create a git tag for the version, push
git commits and tags, and push the `.gem` file to
[rubygems.org](https://rubygems.org).
### Common Tasks
#### Generating an SSH key pair
To generate an SSH key pair:
```
ssh-keygen -m PEM -t rsa -b 4096 -C maintainers@infrablocks.io -N '' -f config/secrets/ci/ssh
```
#### Managing CircleCI keys
To encrypt a GPG key for use by CircleCI:
```bash
openssl aes-256-cbc \
-e \
-md sha1 \
-in ./config/secrets/ci/gpg.private \
-out ./.circleci/gpg.private.enc \
-k ""
```
To check decryption is working correctly:
```bash
openssl aes-256-cbc \
-d \
-md sha1 \
-in ./.circleci/gpg.private.enc \
-k ""
```
## Contributing
Bug reports and pull requests are welcome on GitHub at
https://github.com/infrablocks/confidante. This project is intended to be a
safe, welcoming space for collaboration, and contributors are expected to adhere
to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
## License
The gem is available as open source under the terms of the
[MIT License](http://opensource.org/licenses/MIT).