-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' of github.com:mtintes/configamajig
- Loading branch information
Showing
1 changed file
with
20 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,21 @@ | ||
# configamajig | ||
for dropping data into any project consistently | ||
|
||
You know when you have 20 apps and they all are basically set up the same way, but not 100% the same? This is for that problem. | ||
|
||
Configamajig will allow you to slurp in a bunch of yaml/json configs, then mix and match them and finally apply them to a real config file. | ||
|
||
Real life use case: | ||
Helm uses value.yaml files, but you have to deploy your app to multiple environments. Pretty simple, just keep a seperate copy for each env right? No multiply that by X apps. Suddenly the problem becomes much trickier to manage. You can use configamajig to instead keep 1 file for each app and template it out each env. This also makes big changes much easier! All your apps have to switch from one url to another for an api? Cool, change it once at a global level and everyapp gets it. | ||
|
||
Configamajig will also let you remap files into other properties. Want to dump multiple files under the same reference variable? No problem, just use mappings. | ||
|
||
You need to sometimes use one value vs another in an env depending on another defined value? Or maybe you want to switch a bunch to values at once? Great! You can use go templating logic and do that too. | ||
|
||
Confused why something doesn't seem to be template like you expect? configamajig has full property tracing so you can see which file changed what super easy! | ||
|
||
## Commands | ||
|
||
### Replace: | ||
Feed in an template file + a config and out comes a fully filled out file | ||
|
||
```configamajig replace -c <CONFIG.json> -i <INPUT> -o <OUTPUT>``` |