74 lines
2.6 KiB
Plaintext
Raw Normal View History

# System Configuration
#
# Hybrid pattern: defaults + makers + instances
let contracts_lib = import "./contracts.ncl" in
let defaults_lib = import "./defaults.ncl" in
{
defaults = defaults_lib,
# Maker functions (not exported)
make_system_config | not_exported = fun overrides =>
defaults_lib.SystemConfig & overrides,
make_orchestrator_config | not_exported = fun overrides =>
defaults_lib.OrchestratorConfig & overrides,
make_database_config | not_exported = fun overrides =>
defaults_lib.DatabaseConfig & overrides,
make_control_center_config | not_exported = fun overrides =>
defaults_lib.ControlCenterConfig & overrides,
make_kms_config | not_exported = fun overrides =>
defaults_lib.KMSConfig & overrides,
make_platform_services | not_exported = fun overrides =>
defaults_lib.PlatformServicesConfig & overrides,
make_credentials_ref | not_exported = fun overrides =>
defaults_lib.ProviderCredentialsReference & overrides,
make_upcloud_config | not_exported = fun overrides =>
defaults_lib.UpCloudConfig & overrides,
make_aws_config | not_exported = fun overrides =>
defaults_lib.AWSConfig & overrides,
make_hetzner_config | not_exported = fun overrides =>
defaults_lib.HetznerConfig & overrides,
make_local_config | not_exported = fun overrides =>
defaults_lib.LocalConfig & overrides,
make_rustyvault_bootstrap | not_exported = fun overrides =>
defaults_lib.RustyVaultBootstrap & overrides,
make_provider_config | not_exported = fun overrides =>
defaults_lib.ProviderConfig & overrides,
make_user_preferences | not_exported = fun overrides =>
defaults_lib.UserPreferences & overrides,
make_workspace_config | not_exported = fun overrides =>
defaults_lib.WorkspaceConfig & overrides,
# Default instances
DefaultSystemConfig = defaults_lib.SystemConfig,
DefaultOrchestratorConfig = defaults_lib.OrchestratorConfig,
DefaultDatabaseConfig = defaults_lib.DatabaseConfig,
DefaultControlCenterConfig = defaults_lib.ControlCenterConfig,
DefaultKMSConfig = defaults_lib.KMSConfig,
DefaultPlatformServicesConfig = defaults_lib.PlatformServicesConfig,
DefaultProviderCredentialsReference = defaults_lib.ProviderCredentialsReference,
DefaultUpCloudConfig = defaults_lib.UpCloudConfig,
DefaultAWSConfig = defaults_lib.AWSConfig,
DefaultHetznerConfig = defaults_lib.HetznerConfig,
DefaultLocalConfig = defaults_lib.LocalConfig,
DefaultRustyVaultBootstrap = defaults_lib.RustyVaultBootstrap,
DefaultProviderConfig = defaults_lib.ProviderConfig,
DefaultUserPreferences = defaults_lib.UserPreferences,
DefaultWorkspaceConfig = defaults_lib.WorkspaceConfig,
}