
Finalize the config-driven architecture migration with comprehensive configuration expansion and environment variable replacement. Major Changes: - config.defaults.toml: Add 54 new configuration sections for complete system coverage * Tool detection and plugin configuration * AI integration settings * SSH configuration options * Extension system configuration * Key Management Service (KMS) settings - core/nulib/env.nu: Replace 81 environment variables with config-driven accessors * Convert all context-based lookups to config-get calls * Maintain backward compatibility with existing ENV variables * Streamline configuration loading and validation - core/versions: Update Nushell version requirement to 0.107.1 New Files: - core/nulib/lib_provisioning/utils/git-commit-msg.nu: Add git commit message utilities - utils/commit-msg.nu: Add commit message generation helper This completes the v2.0.0 config-driven architecture migration, replacing 200+ environment variables with hierarchical configuration management.
137 lines
2.6 KiB
TOML
137 lines
2.6 KiB
TOML
# Default configuration for Provisioning System
|
|
# This file provides default values for all configuration options
|
|
|
|
[core]
|
|
version = "1.0.0"
|
|
name = "provisioning-system"
|
|
|
|
[paths]
|
|
generate = "generate"
|
|
run_clusters = "clusters"
|
|
run_taskservs = "taskservs"
|
|
extensions = "{{paths.base}}/.provisioning-extensions"
|
|
infra = "{{paths.base}}/infra"
|
|
base = "/Users/Akasha/repo-cnz/src/provisioning"
|
|
kloud = "{{paths.base}}/infra"
|
|
providers = "{{paths.base}}/providers"
|
|
taskservs = "{{paths.base}}/taskservs"
|
|
clusters = "{{paths.base}}/cluster"
|
|
resources = "{{paths.base}}/resources"
|
|
templates = "{{paths.base}}/templates"
|
|
tools = "{{paths.base}}/tools"
|
|
core = "{{paths.base}}/core"
|
|
|
|
[paths.files]
|
|
defs = "defs.toml"
|
|
req_versions = "{{paths.core}}/versions.yaml"
|
|
vars = "{{paths.base}}/vars.yaml"
|
|
settings = "{{paths.base}}/kcl/settings.k"
|
|
keys = "{{paths.base}}/keys.yaml"
|
|
requirements = "{{paths.base}}/requirements.yaml"
|
|
notify_icon = "{{paths.base}}/resources/icon.png"
|
|
|
|
[debug]
|
|
enabled = false
|
|
metadata = false
|
|
check = false
|
|
remote = false
|
|
log_level = "info"
|
|
no_terminal = false
|
|
|
|
[output]
|
|
file_viewer = "less"
|
|
format = "yaml"
|
|
|
|
[sops]
|
|
use_sops = true
|
|
config_path = "{{paths.base}}/.sops.yaml"
|
|
key_search_paths = [
|
|
"{{paths.base}}/keys/age.txt",
|
|
"~/.config/sops/age/keys.txt"
|
|
]
|
|
|
|
[taskservs]
|
|
run_path = "{{paths.base}}/run/taskservs"
|
|
|
|
[clusters]
|
|
run_path = "{{paths.base}}/run/clusters"
|
|
|
|
[generation]
|
|
dir_path = "{{paths.base}}/generated"
|
|
defs_file = "defs.toml"
|
|
|
|
# Environment-specific overrides
|
|
[environments.dev]
|
|
debug.enabled = true
|
|
debug.log_level = "debug"
|
|
|
|
[environments.test]
|
|
debug.check = true
|
|
|
|
[environments.prod]
|
|
debug.enabled = false
|
|
debug.log_level = "warn"
|
|
|
|
# Provider configurations
|
|
[providers]
|
|
default = "local"
|
|
|
|
[providers.aws]
|
|
api_url = ""
|
|
auth = ""
|
|
interface = "CLI" # API or CLI
|
|
|
|
[providers.upcloud]
|
|
api_url = "https://api.upcloud.com/1.3"
|
|
auth = ""
|
|
interface = "CLI" # API or CLI
|
|
|
|
[providers.local]
|
|
api_url = ""
|
|
auth = ""
|
|
interface = "CLI" # API or CLI
|
|
|
|
# Tool Detection and Plugin Configuration
|
|
[tools]
|
|
use_kcl = false
|
|
use_kcl_plugin = false
|
|
use_tera_plugin = false
|
|
|
|
# AI Integration Configuration
|
|
[ai]
|
|
enabled = false
|
|
provider = "openai"
|
|
api_key = ""
|
|
model = "gpt-4"
|
|
timeout = 30
|
|
|
|
# SSH Configuration
|
|
[ssh]
|
|
user = ""
|
|
options = ["StrictHostKeyChecking=accept-new", "UserKnownHostsFile=/dev/null"]
|
|
timeout = 30
|
|
debug = false
|
|
|
|
# Extension System Configuration
|
|
[extensions]
|
|
path = ""
|
|
mode = "full"
|
|
profile = ""
|
|
allowed = ""
|
|
blocked = ""
|
|
custom_providers = ""
|
|
custom_taskservs = ""
|
|
|
|
# Key Management Service Configuration
|
|
[kms]
|
|
server = ""
|
|
auth_method = "certificate"
|
|
client_cert = ""
|
|
client_key = ""
|
|
ca_cert = ""
|
|
api_token = ""
|
|
username = ""
|
|
password = ""
|
|
timeout = 30
|
|
verify_ssl = true
|