
- Add: GitHub API integration for live version checking in taskserv management - Add: HTTP client configuration option (http.use_curl) in config.defaults.toml - Add: Helper function fetch_latest_version with curl/http get support - Fix: Settings path structure for prov_data_dirpath access pattern - Remove: Legacy simulation code for version checking - Update: Core configuration name from "provisioning-system" to "provisioning" - Clean: Remove obsolete example configs and infrastructure files
151 lines
3.0 KiB
TOML
151 lines
3.0 KiB
TOML
# Default configuration for Provisioning System
|
|
# This file provides default values for all configuration options
|
|
|
|
[core]
|
|
version = "1.0.0"
|
|
name = "provisioning"
|
|
|
|
[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"
|
|
|
|
[cache]
|
|
enabled = true
|
|
path = "{{paths.base}}/.cache/versions"
|
|
infra_cache = "{{paths.infra}}/{{infra.current}}/cache/versions"
|
|
grace_period = 86400 # 24 hours default
|
|
check_updates = false
|
|
max_cache_size = "10MB"
|
|
|
|
[http]
|
|
use_curl = false # Use curl instead of nushell's http get for API calls
|
|
|
|
[infra]
|
|
current = "default" # Current infra context
|
|
|
|
[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
|