""" TEMPLATE FILE - .template Extension 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. This file uses the .template extension because it's used only during workspace initialization with simple {{variable}} substitution. It's copied to all new workspaces without modification. Runtime templates use .j2 (Jinja2 via nu_plugin_tera) for dynamic rendering. Pattern: - SST Defaults: .provisioning/workspace_config_defaults.k (this file) - SST Schema: .provisioning/workspace_config.k (schema definitions) - Workspace Config: config/provisioning.k (workspace-specific overrides) See provisioning/config/templates/README.md for template conventions. """ # 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 = "" } 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 } }