- 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/
77 lines
1.9 KiB
Plaintext
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,
|
|
}
|