- Remove KCL ecosystem (~220 files deleted) - Migrate all infrastructure to Nickel schema system - Consolidate documentation: legacy docs → provisioning/docs/src/ - Add CI/CD workflows (.github/) and Rust build config (.cargo/) - Update core system for Nickel schema parsing - Update README.md and CHANGES.md for v5.0.0 release - Fix pre-commit hooks: end-of-file, trailing-whitespace - Breaking changes: KCL workspaces require migration - Migration bridge available in docs/src/development/
192 lines
3.8 KiB
Plaintext
192 lines
3.8 KiB
Plaintext
# Workspace Configuration Contracts
|
|
#
|
|
# Type-safe contracts for workspace configuration schemas.
|
|
# These define the complete structure for workspace configurations.
|
|
|
|
{
|
|
# Workspace metadata contract
|
|
Workspace = {
|
|
name | String,
|
|
version | String,
|
|
created | String,
|
|
current_infra | String,
|
|
current_environment | String,
|
|
},
|
|
|
|
# Path definitions contract
|
|
Paths = {
|
|
base | String,
|
|
infra | String,
|
|
cache | String,
|
|
runtime | String,
|
|
providers | String,
|
|
taskservs | String,
|
|
clusters | String,
|
|
orchestrator | String,
|
|
control_center | String,
|
|
kms | String,
|
|
generate | String,
|
|
run_clusters | String,
|
|
run_taskservs | String,
|
|
extensions | String,
|
|
resources | String,
|
|
templates | String,
|
|
tools | String,
|
|
},
|
|
|
|
# Provisioning config contract
|
|
ProvisioningConfig = {
|
|
path | String,
|
|
},
|
|
|
|
# Core config contract
|
|
CoreConfig = {
|
|
version | String,
|
|
name | String,
|
|
},
|
|
|
|
# Debug settings contract
|
|
DebugConfig = {
|
|
enabled | Bool,
|
|
metadata | Bool,
|
|
check_mode | Bool,
|
|
validation | Bool,
|
|
remote | Bool,
|
|
log_level | String, # "debug" | "info" | "warn" | "error"
|
|
no_terminal | Bool,
|
|
},
|
|
|
|
# Output settings contract
|
|
OutputConfig = {
|
|
file_viewer | String, # "bat" | "less" | "cat"
|
|
format | String, # "yaml" | "json" | "toml"
|
|
},
|
|
|
|
# HTTP client contract
|
|
HttpConfig = {
|
|
use_curl | Bool,
|
|
timeout | Number,
|
|
},
|
|
|
|
# Provider config contract
|
|
ProviderConfig = {
|
|
active | Array String,
|
|
default | String,
|
|
},
|
|
|
|
# Platform services contract
|
|
PlatformConfig = {
|
|
orchestrator_enabled | Bool,
|
|
control_center_enabled | Bool,
|
|
mcp_enabled | Bool,
|
|
},
|
|
|
|
# Secrets management contract
|
|
SecretsConfig = {
|
|
provider | String, # "sops" | "vault" | "aws-secrets"
|
|
sops_enabled | Bool,
|
|
kms_enabled | Bool,
|
|
},
|
|
|
|
# KMS config contract
|
|
KmsConfig = {
|
|
mode | String, # "local" | "remote" | "hybrid"
|
|
config_file | String,
|
|
},
|
|
|
|
# SOPS config contract
|
|
SopsConfig = {
|
|
use_sops | Bool,
|
|
config_path | String,
|
|
key_search_paths | Array String,
|
|
},
|
|
|
|
# AI config contract
|
|
AiConfig = {
|
|
enabled | Bool,
|
|
provider | String, # "openai" | "anthropic" | "local"
|
|
config_path | String,
|
|
},
|
|
|
|
# Taskservs config contract
|
|
TaskservsConfig = {
|
|
run_path | String,
|
|
},
|
|
|
|
# Clusters config contract
|
|
ClustersConfig = {
|
|
run_path | String,
|
|
},
|
|
|
|
# Generation config contract
|
|
GenerationConfig = {
|
|
dir_path | String,
|
|
defs_file | String,
|
|
},
|
|
|
|
# Cache config contract
|
|
CacheConfig = {
|
|
enabled | Bool,
|
|
path | String,
|
|
infra_cache | String,
|
|
grace_period | Number,
|
|
check_updates | Bool,
|
|
max_cache_size | String,
|
|
},
|
|
|
|
# Infrastructure context contract
|
|
InfraConfig = {
|
|
current | String,
|
|
},
|
|
|
|
# Tools config contract
|
|
ToolsConfig = {
|
|
use_kcl | Bool,
|
|
use_kcl_plugin | Bool,
|
|
use_tera_plugin | Bool,
|
|
},
|
|
|
|
# KCL module config contract
|
|
KclConfig = {
|
|
core_module | String,
|
|
core_version | String,
|
|
core_package_name | String,
|
|
use_module_loader | Bool,
|
|
module_loader_path | String,
|
|
modules_dir | String,
|
|
},
|
|
|
|
# SSH config contract
|
|
SshConfig = {
|
|
user | String,
|
|
options | Array String,
|
|
timeout | Number,
|
|
debug | Bool,
|
|
},
|
|
|
|
# Complete workspace config contract
|
|
WorkspaceConfig = {
|
|
workspace | Workspace,
|
|
paths | Paths,
|
|
provisioning | ProvisioningConfig,
|
|
core | CoreConfig,
|
|
debug | DebugConfig,
|
|
output | OutputConfig,
|
|
http | HttpConfig,
|
|
providers | ProviderConfig,
|
|
platform | PlatformConfig,
|
|
secrets | SecretsConfig,
|
|
kms | KmsConfig,
|
|
sops | SopsConfig,
|
|
ai | AiConfig,
|
|
taskservs | TaskservsConfig,
|
|
clusters | ClustersConfig,
|
|
generation | GenerationConfig,
|
|
cache | CacheConfig,
|
|
infra | InfraConfig,
|
|
tools | ToolsConfig,
|
|
kcl | KclConfig,
|
|
ssh | SshConfig,
|
|
},
|
|
}
|