provisioning-catalog/components/woodpecker/nickel/defaults.ncl

73 lines
2.4 KiB
Text
Raw Normal View History

let _presets = (import "schemas/lib/concerns_presets.ncl").presets in
{
woodpecker | default = {
name | default = "woodpecker",
version | default = "latest",
image_server | default = "woodpecker/server:latest",
image_agent | default = "woodpecker/agent:latest",
namespace | default = "data",
http_port | default = 8000,
grpc_port | default = 9000,
database | default = "woodpecker",
db_host | default = "postgresql.data.svc",
forgejo_url | default = "http://forgejo.data.svc:3000",
forgejo_client | default = "",
admin | default = "",
hostname | default = "",
cluster_issuer | default = "letsencrypt-prod-librecloud",
tls_secret | default = "woodpecker-tls",
gateway_name | default = "libre-daoshi",
gateway_ns | default = "kube-system",
acme_email | default = "",
dns_zone | default = "",
cert_secret_ref | default = "dns-librecloud-online",
mode | default = 'cluster,
requires | default = {
storage = { size = "5Gi", persistent = true },
ports = [
{ port = 80, exposure = 'public },
{ port = 443, exposure = 'public },
],
credentials = ["WOODPECKER_AGENT_SECRET", "WOODPECKER_FORGEJO_SECRET", "POSTGRES_PASSWORD"],
},
provides | default = {
service = "woodpecker",
port = 8000,
},
operations | default = {
install = true,
update = true,
delete = true,
health = true,
},
live_check | default = {
strategy = 'k8s_pods,
scope = 'cp_only,
},
# ServiceConcerns default — public Woodpecker CI; tls_endpoint_with_acme preset.
concerns | default = (_presets.tls_endpoint_with_acme {
tls_secret = "woodpecker-tls",
cluster_issuer = "letsencrypt-prod",
hostnames = [],
dns_internal = [],
dns_zone = "",
acme_server = "https://acme-v02.api.letsencrypt.org/directory",
acme_email = "",
cert_secret_ref = "",
cert_provider = 'cloudflare,
backup_backlog_ref = "BACKUP-WOODPECKER-001",
}) & {
backup | force = {
kind = 'pending,
reason = "BackupPolicy declared at workspace level (DB + agent state)",
backlog_ref = "BACKUP-WOODPECKER-001",
},
},
},
}