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

82 lines
2.1 KiB
Plaintext

# Integrations Contracts
#
# Type-safe contracts for runtime abstraction and GitOps integration.
{
# ========================================================================
# Runtime Abstraction Contracts
# ========================================================================
# Runtime types
Runtime = String, # "docker" | "podman" | "orbstack" | "colima" | "nerdctl"
RuntimeConfig = {
preferred | Runtime | optional,
check_order | Array Runtime,
timeout_secs | Number,
enable_cache | Bool,
},
ComposeAdapterConfig = {
runtime | Runtime,
compose_file | String,
environment | String, # "dev" | "staging" | "prod"
network_mode | String | optional,
port_overrides | {_: String} | optional,
},
# ========================================================================
# GitOps Contracts
# ========================================================================
GitProvider = String, # "github" | "gitlab" | "gitea"
EventType = String, # "push" | "pull-request" | "webhook" | "scheduled" | "health-check" | "manual"
Environment = String, # "dev" | "staging" | "prod"
GitOpsRule = {
name | String,
provider | GitProvider,
repository | String,
branch | String,
events | Array EventType,
targets | Array Environment,
command | String,
pre_deploy_hook | String | optional,
post_deploy_hook | String | optional,
require_approval | Bool,
concurrency_limit | Number,
},
WebhookConfig = {
provider | GitProvider,
port | Number,
secret | String | optional,
allowed_events | Array EventType,
},
ScheduledTrigger = {
name | String,
cron | String,
rule | String,
environment | Environment,
},
HealthCheckTrigger = {
name | String,
endpoint | String,
interval_secs | Number,
failure_threshold | Number,
on_failure_action | String,
},
GitOpsConfig = {
rules | Array GitOpsRule,
webhooks | Array WebhookConfig,
scheduled | Array ScheduledTrigger,
health_checks | Array HealthCheckTrigger,
default_strategy | String,
dry_run_by_default | Bool,
enable_audit_log | Bool,
},
}