Update configuration files, templates, and internal documentation for the provisioning repository system. Configuration Updates: - KMS configuration modernization - Plugin system settings - Service port mappings - Test cluster topologies - Installation configuration examples - VM configuration defaults - Cedar authorization policies Documentation Updates: - Library module documentation - Extension API guides - AI system documentation - Service management guides - Test environment setup - Plugin usage guides - Validator configuration documentation All changes are backward compatible.
42 lines
1.3 KiB
Plaintext
42 lines
1.3 KiB
Plaintext
"""
|
|
Workspace Configuration - KCL Format (Type-Safe)
|
|
|
|
This is the workspace configuration file in KCL format.
|
|
It replaces provisioning.yaml with type-safe configuration.
|
|
|
|
SST (Single Source of Truth) Pattern:
|
|
- Schema: ../.kcl/workspace_config.k (type definitions)
|
|
- Defaults: ../.kcl/workspace_config_defaults.k (base values)
|
|
- Workspace: config/provisioning.k (workspace-specific overrides)
|
|
|
|
How it works:
|
|
1. Import defaults from SST
|
|
2. Override only the values specific to this workspace
|
|
3. The merge produces the final configuration
|
|
|
|
To update defaults: edit ../.kcl/workspace_config_defaults.k
|
|
To update schema: edit ../.kcl/workspace_config.k
|
|
|
|
For documentation: docs/architecture/adr/ADR-010-configuration-format-strategy.md
|
|
"""
|
|
|
|
import provisioning.workspace_config_defaults as defaults
|
|
|
|
# Workspace configuration: start with defaults and override workspace-specific values
|
|
workspace_config = defaults.default_workspace_config | {
|
|
# Override workspace metadata for this workspace
|
|
workspace = {
|
|
name = "{{WORKSPACE_NAME}}"
|
|
version = "1.0.0"
|
|
created = "{{CREATED_TIMESTAMP}}"
|
|
}
|
|
# Override paths for this workspace (merge with defaults)
|
|
paths = defaults.default_workspace_config.paths | {
|
|
base = "{{WORKSPACE_PATH}}"
|
|
}
|
|
# Override provisioning path
|
|
provisioning = {
|
|
path = "{{PROVISIONING_PATH}}"
|
|
}
|
|
}
|