provisioning/config.defaults.toml
Jesús Pérez 38a7470da0
feat(config): complete config-driven architecture migration
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.
2025-09-23 13:25:31 +01:00

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