prvng_kcl/workspace_config_defaults.k
2025-12-11 22:17:44 +00:00

144 lines
3.5 KiB
Plaintext

"""
Workspace Configuration Defaults (SST - Single Source of Truth)
These are the default values for all workspace configurations.
Workspaces override these defaults in their provisioning.k file.
Pattern:
- SST Defaults: .kcl/workspace_config_defaults.k (this file)
- SST Schema: .kcl/workspace_config.k (schema definitions)
- Workspace Config: config/provisioning.k (workspace-specific overrides)
"""
# Import the schema from the same package
import .workspace_config as cfg
# Default workspace configuration instance
# All workspaces inherit these defaults and can override specific values
default_workspace_config: cfg.WorkspaceConfig = {
workspace = {
name = "default-workspace"
version = "1.0.0"
created = ""
current_infra = ""
current_environment = ""
}
paths = {
base = "."
infra = "infra"
cache = ".cache"
runtime = ".runtime"
providers = ".providers"
taskservs = ".taskservs"
clusters = ".clusters"
orchestrator = ".orchestrator"
control_center = ".control-center"
kms = ".kms"
generate = "generate"
run_clusters = "clusters"
run_taskservs = "taskservs"
extensions = ".provisioning-extensions"
resources = "resources"
templates = "templates"
tools = "tools"
}
provisioning = {
path = "."
}
core = {
version = "1.0.0"
name = "provisioning"
}
debug = {
enabled = False
metadata = False
check_mode = False
validation = False
remote = False
log_level = "info"
no_terminal = False
}
output = {
file_viewer = "bat"
format = "yaml"
}
http = {
use_curl = False
timeout = 30
}
providers = {
active = ["upcloud"]
default = "upcloud"
}
platform = {
orchestrator_enabled = False
control_center_enabled = False
mcp_enabled = False
}
secrets = {
provider = "sops"
sops_enabled = True
kms_enabled = False
}
kms = {
mode = "local"
config_file = "config/kms.toml"
}
sops = {
use_sops = True
config_path = ".sops.yaml"
key_search_paths = [
".kms/keys/age.txt"
"~/.config/sops/age/keys.txt"
]
}
ai = {
enabled = False
provider = "openai"
config_path = "config/ai.yaml"
}
taskservs = {
run_path = ".runtime/taskservs"
}
clusters = {
run_path = ".runtime/clusters"
}
generation = {
dir_path = "generated"
defs_file = "defs.toml"
}
cache = {
enabled = True
path = ".cache/versions"
infra_cache = "infra/default/cache/versions"
grace_period = 86400
check_updates = False
max_cache_size = "10MB"
}
infra = {
current = "default"
}
tools = {
use_kcl = True
use_kcl_plugin = True
use_tera_plugin = True
}
kcl = {
core_module = "kcl"
core_version = "0.0.1"
core_package_name = "provisioning_core"
use_module_loader = True
module_loader_path = "core/cli/module-loader"
modules_dir = ".kcl-modules"
}
ssh = {
user = ""
options = [
"StrictHostKeyChecking=accept-new"
"UserKnownHostsFile=/dev/null"
]
timeout = 30
debug = False
}
}