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