52 lines
2.1 KiB
Plaintext
52 lines
2.1 KiB
Plaintext
|
|
# | Settings configuration instances (defaults only)
|
||
|
|
# | Migrated from: provisioning/kcl/settings.k
|
||
|
|
# | Pattern: Hybrid - defaults + makers + direct access (contracts available via import)
|
||
|
|
|
||
|
|
let contracts_lib = import "./contracts.ncl" in
|
||
|
|
let defaults_lib = import "./defaults.ncl" in
|
||
|
|
|
||
|
|
{
|
||
|
|
# ============================================================================
|
||
|
|
# SECTION 1: Direct access to defaults
|
||
|
|
# Use when: Understanding default values, building custom instances manually
|
||
|
|
# Exported: YES - for inspection and custom building
|
||
|
|
# ============================================================================
|
||
|
|
defaults = defaults_lib,
|
||
|
|
|
||
|
|
# ============================================================================
|
||
|
|
# SECTION 2: Convenience makers (90% of use cases)
|
||
|
|
# Use when: Creating instances with overrides, simple customization
|
||
|
|
# Note: Not exported to TOML/JSON (functions aren't serializable)
|
||
|
|
# ============================================================================
|
||
|
|
|
||
|
|
make_secret_provider | not_exported = fun overrides =>
|
||
|
|
defaults_lib.secret_provider & overrides,
|
||
|
|
|
||
|
|
make_sops_config | not_exported = fun overrides =>
|
||
|
|
defaults_lib.sops_config & overrides,
|
||
|
|
|
||
|
|
make_kms_config | not_exported = fun overrides =>
|
||
|
|
defaults_lib.kms_config & overrides,
|
||
|
|
|
||
|
|
make_ai_provider | not_exported = fun overrides =>
|
||
|
|
defaults_lib.ai_provider & overrides,
|
||
|
|
|
||
|
|
make_run_set | not_exported = fun overrides =>
|
||
|
|
defaults_lib.run_set & overrides,
|
||
|
|
|
||
|
|
make_settings | not_exported = fun overrides =>
|
||
|
|
defaults_lib.settings & overrides,
|
||
|
|
|
||
|
|
# ============================================================================
|
||
|
|
# SECTION 3: Default instances (bare defaults)
|
||
|
|
# Use when: Need unmodified default values
|
||
|
|
# Exported: YES - for direct use without customization
|
||
|
|
# ============================================================================
|
||
|
|
DefaultSecretProvider = defaults_lib.secret_provider,
|
||
|
|
DefaultSopsConfig = defaults_lib.sops_config,
|
||
|
|
DefaultKmsConfig = defaults_lib.kms_config,
|
||
|
|
DefaultAIProvider = defaults_lib.ai_provider,
|
||
|
|
DefaultRunSet = defaults_lib.run_set,
|
||
|
|
DefaultSettings = defaults_lib.settings,
|
||
|
|
}
|