Files
cozystack/packages/extra/external-dns/values.yaml
Aleksei SviridkinandMatthieu ROBIN fdffedbd4b feat(apps): instance-type resourcesPreset across apps and extras
Rewrite resourcesPreset values in every apps/* and extras/* chart from
the legacy flat names to the new instance-type form, using the 1:1
mapping:

  nano    -> t1.nano       micro   -> t1.micro
  small   -> t1.small      medium  -> c1.small
  large   -> c1.medium     xlarge  -> c1.large
  2xlarge -> c1.xlarge

Each affected values.yaml carries the canonical 47-value enum (40
instance-type names plus 7 legacy aliases) so the schema accepts both
forms during the deprecation window. cozyvalues-gen regenerates the
matching api/apps/v1alpha1/*/types.go kubebuilder enum and defaults,
the chart values.schema.json, the README parameter table, and the
ApplicationDefinition openAPISchema in packages/system/*-rd/cozyrds.

Three hardcoded legacy literals in chart templates migrated:
  - packages/apps/harbor/templates/harbor.yaml:121 (portal)
  - packages/apps/opensearch/templates/opensearch.yaml:43 (dashboards)
  - packages/system/keycloak/templates/sts.yaml:115 (heap fallback)

packages/apps/foundationdb/Makefile gains the missing hack/update-crd.sh
call. Without it, every regen left foundationdb-rd cozyrds stale and
new FoundationDB app CRs through cozystack-api were rejected at
validation for any non-legacy resourcesPreset value.

Every default-rendered chart produces identical CPU and memory to the
value applied before the rename, courtesy of the legacy alias table in
cozy-lib and the 1:1 default mapping.

Co-authored-by: Matthieu ROBIN <matthieu@hidora.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
2026-05-11 21:08:41 +03:00

190 lines
3.7 KiB
YAML

##
## @section Common parameters
##
## @enum {string} Provider - DNS provider.
## @value cloudflare
## @value aws
## @value azure
## @value google
## @value digitalocean
## @value linode
## @value ovh
## @value exoscale
## @value godaddy
## @value inmemory
## @param {Provider} provider - DNS provider name.
# provider:
## @param {[]string} domainFilters - List of domains this external-dns instance can manage.
domainFilters: []
## @enum {string} Policy - How DNS records are synchronized.
## @value create-only
## @value sync
## @value upsert-only
## @param {Policy} policy="upsert-only" - How DNS records are synchronized.
policy: "upsert-only"
## @param {[]string} extraArgs - Extra arguments for external-dns.
extraArgs: []
## @param {bool} gatewayAPI=false - Enable Gateway API HTTPRoute as a source for DNS records.
gatewayAPI: false
## @param {string} [annotationPrefix] - Custom annotation prefix for external-dns (useful for running multiple instances).
annotationPrefix: ""
##
## @section Cloudflare
##
## @param {object} cloudflare - Cloudflare provider credentials.
cloudflare:
apiToken: ""
apiKey: ""
apiEmail: ""
proxied: false
##
## @section AWS
##
## @param {object} aws - AWS Route53 provider credentials.
aws:
accessKeyId: ""
secretAccessKey: ""
region: ""
zoneType: ""
##
## @section Azure
##
## @param {object} azure - Azure DNS provider credentials.
azure:
tenantId: ""
subscriptionId: ""
resourceGroup: ""
aadClientId: ""
aadClientSecret: ""
##
## @section Google
##
## @param {object} google - Google Cloud DNS provider credentials.
google:
project: ""
serviceAccountKey: ""
##
## @section DigitalOcean
##
## @param {object} digitalocean - DigitalOcean DNS provider credentials.
digitalocean:
token: ""
##
## @section Linode
##
## @param {object} linode - Linode DNS provider credentials.
linode:
token: ""
##
## @section OVH
##
## @param {object} ovh - OVH DNS provider credentials.
ovh:
endpoint: ""
applicationKey: ""
applicationSecret: ""
consumerKey: ""
##
## @section Exoscale
##
## @param {object} exoscale - Exoscale DNS provider credentials.
exoscale:
apiKey: ""
apiSecret: ""
##
## @section GoDaddy
##
## @param {object} godaddy - GoDaddy DNS provider credentials.
godaddy:
apiKey: ""
apiSecret: ""
##
## @section Resources
##
## @typedef {struct} Resources - Explicit CPU and memory configuration.
## @field {quantity} [cpu] - CPU available to each replica.
## @field {quantity} [memory] - Memory (RAM) available to each replica.
## @enum {string} ResourcesPreset - Default sizing preset.
## @value t1.nano
## @value t1.micro
## @value t1.small
## @value t1.medium
## @value t1.large
## @value t1.xlarge
## @value t1.2xlarge
## @value t1.4xlarge
## @value c1.nano
## @value c1.micro
## @value c1.small
## @value c1.medium
## @value c1.large
## @value c1.xlarge
## @value c1.2xlarge
## @value c1.4xlarge
## @value s1.nano
## @value s1.micro
## @value s1.small
## @value s1.medium
## @value s1.large
## @value s1.xlarge
## @value s1.2xlarge
## @value s1.4xlarge
## @value u1.nano
## @value u1.micro
## @value u1.small
## @value u1.medium
## @value u1.large
## @value u1.xlarge
## @value u1.2xlarge
## @value u1.4xlarge
## @value m1.nano
## @value m1.micro
## @value m1.small
## @value m1.medium
## @value m1.large
## @value m1.xlarge
## @value m1.2xlarge
## @value m1.4xlarge
## @value nano
## @value micro
## @value small
## @value medium
## @value large
## @value xlarge
## @value 2xlarge
## @param {Resources} [resources] - Explicit CPU and memory configuration. When omitted, the preset defined in `resourcesPreset` is applied.
resources: {}
## @param {ResourcesPreset} resourcesPreset="t1.nano" - Default sizing preset used when `resources` is omitted.
resourcesPreset: "t1.nano"