Jesús Pérez 44648e3206
chore: complete nickel migration and consolidate legacy configs
- 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/
2026-01-08 09:55:37 +00:00

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,
},
}