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

77 lines
1.9 KiB
Plaintext

# Integrations Defaults
#
# Default values for runtime abstraction and GitOps configurations.
let contracts = import "contracts.ncl" in
{
# Default runtime configuration
default_runtime_config | contracts.RuntimeConfig = {
preferred = "docker",
check_order = [
"docker",
"podman",
"orbstack",
"colima",
"nerdctl",
],
timeout_secs = 5,
enable_cache = true,
},
# Default compose adapter config
default_compose_config | contracts.ComposeAdapterConfig = {
runtime = "docker",
compose_file = "docker-compose.yml",
environment = "dev",
},
# Default GitOps configuration
default_gitops_config | contracts.GitOpsConfig = {
rules = [],
webhooks = [],
scheduled = [],
health_checks = [],
default_strategy = "rolling",
dry_run_by_default = false,
enable_audit_log = true,
},
# Helper: Create default GitOps rule
default_gitops_rule | not_exported = fun name repository command => {
name = name,
provider = "github",
repository = repository,
branch = "main",
events = ["push"],
targets = ["dev"],
command = command,
require_approval = false,
concurrency_limit = 1,
} | contracts.GitOpsRule,
# Helper: Create default webhook config
default_webhook | not_exported = fun provider => {
provider = provider,
port = 8080,
allowed_events = ["push", "pull-request"],
} | contracts.WebhookConfig,
# Helper: Create default scheduled trigger
default_scheduled_trigger | not_exported = fun name cron rule => {
name = name,
cron = cron,
rule = rule,
environment = "dev",
} | contracts.ScheduledTrigger,
# Helper: Create default health check trigger
default_health_check | not_exported = fun name endpoint action => {
name = name,
endpoint = endpoint,
interval_secs = 60,
failure_threshold = 3,
on_failure_action = action,
} | contracts.HealthCheckTrigger,
}