Adds support for a config-sets.yml file at the root path where named bundles
of app configurations (env, hooks, secrets) can be defined and activated
per-instance or per-group, eliminating duplication across instance configs.
Config-sets are defined as top-level keys in config-sets.yml
Activate a set in any instance or group alaka.yml with CONFIG-SETS: : true
Disable a set inherited from a group with CONFIG-SETS: : false
Merge priority: group < config-set < instance
Warns when a config-set is enabled but not defined in config-sets.yml
Warns when a config-set targets an app not listed in the instance config
Adds examples/config-sets.yml with bbb and calendar config-set examples
Adds support for a config-sets.yml file at the root path where named bundles
of app configurations (env, hooks, secrets) can be defined and activated
per-instance or per-group, eliminating duplication across instance configs.
- Config-sets are defined as top-level keys in config-sets.yml
- Activate a set in any instance or group alaka.yml with CONFIG-SETS: <name>: true
- Disable a set inherited from a group with CONFIG-SETS: <name>: false
- Merge priority: group < config-set < instance
- Warns when a config-set is enabled but not defined in config-sets.yml
- Warns when a config-set targets an app not listed in the instance config
- Adds examples/config-sets.yml with bbb and calendar config-set examples
See #3
Adds support for a config-sets.yml file at the root path where named bundles
of app configurations (env, hooks, secrets) can be defined and activated
per-instance or per-group, eliminating duplication across instance configs.
- Config-sets are defined as top-level keys in config-sets.yml
- Activate a set in any instance or group alaka.yml with CONFIG-SETS: <name>: true
- Disable a set inherited from a group with CONFIG-SETS: <name>: false
- Merge priority: group < config-set < instance
- Warns when a config-set is enabled but not defined in config-sets.yml
- Warns when a config-set targets an app not listed in the instance config
- Adds examples/config-sets.yml with bbb and calendar config-set examples
dannygroenewegen
requested review from moritz 2026-05-28 10:05:49 +00:00
dannygroenewegen
requested review from simon 2026-05-28 10:05:59 +00:00
moritz
requested changes 2026-06-01 13:33:36 +00:00
🚀🚀🚀 this feature we were missing a lot!
I already created the kolli-cloud config set: https://git.local-it.org/local-it/kolli-config/commit/b8243be8015c34f22bf77a393b66d039b4104a80
The only thing whats missing in this PR are the docs in the Readme, how to use the config-set or an reference to the example file, everything else looks perfect.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Adds support for a config-sets.yml file at the root path where named bundles
of app configurations (env, hooks, secrets) can be defined and activated
per-instance or per-group, eliminating duplication across instance configs.
See #3
🚀🚀🚀 this feature we were missing a lot!
I already created the kolli-cloud config set: https://git.local-it.org/local-it/kolli-config/commit/b8243be8015c34f22bf77a393b66d039b4104a80
The only thing whats missing in this PR are the docs in the Readme, how to use the config-set or an reference to the example file, everything else looks perfect.
@@ -237,0 +280,4 @@config_set_app_config = config_set_app_configs.get(app) or {}instance_app_config = instance_apps[app] or {}# Priority: group < config-set < instancemerged_config[app] = merge_dict(merge_dict(group_app_config, config_set_app_config), instance_app_config)I really like how you structured the code in this function. This makes it much more readable and expandable.
@@ -281,2 +323,4 @@dict: A dictionary with domains as keys and their respective merged configurations as values."""if config_sets is None:config_sets = {}These lines are redundant, as they are set in
merge_instance_configsas well and only used inmerge_instance_configs.