mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-05 19:47:37 +09:00
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>
234 lines
5.7 KiB
JSON
234 lines
5.7 KiB
JSON
{
|
|
"title": "Chart Values",
|
|
"type": "object",
|
|
"properties": {
|
|
"provider": {
|
|
"description": "DNS provider name.",
|
|
"type": "string",
|
|
"enum": [
|
|
"cloudflare",
|
|
"aws",
|
|
"azure",
|
|
"google",
|
|
"digitalocean",
|
|
"linode",
|
|
"ovh",
|
|
"exoscale",
|
|
"godaddy",
|
|
"inmemory"
|
|
]
|
|
},
|
|
"domainFilters": {
|
|
"description": "List of domains this external-dns instance can manage.",
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"policy": {
|
|
"description": "How DNS records are synchronized.",
|
|
"type": "string",
|
|
"default": "upsert-only",
|
|
"enum": [
|
|
"create-only",
|
|
"sync",
|
|
"upsert-only"
|
|
]
|
|
},
|
|
"extraArgs": {
|
|
"description": "Extra arguments for external-dns.",
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"gatewayAPI": {
|
|
"description": "Enable Gateway API HTTPRoute as a source for DNS records.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"annotationPrefix": {
|
|
"description": "Custom annotation prefix for external-dns (useful for running multiple instances).",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"cloudflare": {
|
|
"description": "Cloudflare provider credentials.",
|
|
"type": "object",
|
|
"default": {
|
|
"apiEmail": "",
|
|
"apiKey": "",
|
|
"apiToken": "",
|
|
"proxied": false
|
|
},
|
|
"x-kubernetes-preserve-unknown-fields": true
|
|
},
|
|
"aws": {
|
|
"description": "AWS Route53 provider credentials.",
|
|
"type": "object",
|
|
"default": {
|
|
"accessKeyId": "",
|
|
"region": "",
|
|
"secretAccessKey": "",
|
|
"zoneType": ""
|
|
},
|
|
"x-kubernetes-preserve-unknown-fields": true
|
|
},
|
|
"azure": {
|
|
"description": "Azure DNS provider credentials.",
|
|
"type": "object",
|
|
"default": {
|
|
"aadClientId": "",
|
|
"aadClientSecret": "",
|
|
"resourceGroup": "",
|
|
"subscriptionId": "",
|
|
"tenantId": ""
|
|
},
|
|
"x-kubernetes-preserve-unknown-fields": true
|
|
},
|
|
"google": {
|
|
"description": "Google Cloud DNS provider credentials.",
|
|
"type": "object",
|
|
"default": {
|
|
"project": "",
|
|
"serviceAccountKey": ""
|
|
},
|
|
"x-kubernetes-preserve-unknown-fields": true
|
|
},
|
|
"digitalocean": {
|
|
"description": "DigitalOcean DNS provider credentials.",
|
|
"type": "object",
|
|
"default": {
|
|
"token": ""
|
|
},
|
|
"x-kubernetes-preserve-unknown-fields": true
|
|
},
|
|
"linode": {
|
|
"description": "Linode DNS provider credentials.",
|
|
"type": "object",
|
|
"default": {
|
|
"token": ""
|
|
},
|
|
"x-kubernetes-preserve-unknown-fields": true
|
|
},
|
|
"ovh": {
|
|
"description": "OVH DNS provider credentials.",
|
|
"type": "object",
|
|
"default": {
|
|
"applicationKey": "",
|
|
"applicationSecret": "",
|
|
"consumerKey": "",
|
|
"endpoint": ""
|
|
},
|
|
"x-kubernetes-preserve-unknown-fields": true
|
|
},
|
|
"exoscale": {
|
|
"description": "Exoscale DNS provider credentials.",
|
|
"type": "object",
|
|
"default": {
|
|
"apiKey": "",
|
|
"apiSecret": ""
|
|
},
|
|
"x-kubernetes-preserve-unknown-fields": true
|
|
},
|
|
"godaddy": {
|
|
"description": "GoDaddy DNS provider credentials.",
|
|
"type": "object",
|
|
"default": {
|
|
"apiKey": "",
|
|
"apiSecret": ""
|
|
},
|
|
"x-kubernetes-preserve-unknown-fields": true
|
|
},
|
|
"resources": {
|
|
"description": "Explicit CPU and memory configuration. When omitted, the preset defined in `resourcesPreset` is applied.",
|
|
"type": "object",
|
|
"default": {},
|
|
"properties": {
|
|
"cpu": {
|
|
"description": "CPU available to each replica.",
|
|
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
],
|
|
"x-kubernetes-int-or-string": true
|
|
},
|
|
"memory": {
|
|
"description": "Memory (RAM) available to each replica.",
|
|
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
],
|
|
"x-kubernetes-int-or-string": true
|
|
}
|
|
}
|
|
},
|
|
"resourcesPreset": {
|
|
"description": "Default sizing preset used when `resources` is omitted.",
|
|
"type": "string",
|
|
"default": "t1.nano",
|
|
"enum": [
|
|
"t1.nano",
|
|
"t1.micro",
|
|
"t1.small",
|
|
"t1.medium",
|
|
"t1.large",
|
|
"t1.xlarge",
|
|
"t1.2xlarge",
|
|
"t1.4xlarge",
|
|
"c1.nano",
|
|
"c1.micro",
|
|
"c1.small",
|
|
"c1.medium",
|
|
"c1.large",
|
|
"c1.xlarge",
|
|
"c1.2xlarge",
|
|
"c1.4xlarge",
|
|
"s1.nano",
|
|
"s1.micro",
|
|
"s1.small",
|
|
"s1.medium",
|
|
"s1.large",
|
|
"s1.xlarge",
|
|
"s1.2xlarge",
|
|
"s1.4xlarge",
|
|
"u1.nano",
|
|
"u1.micro",
|
|
"u1.small",
|
|
"u1.medium",
|
|
"u1.large",
|
|
"u1.xlarge",
|
|
"u1.2xlarge",
|
|
"u1.4xlarge",
|
|
"m1.nano",
|
|
"m1.micro",
|
|
"m1.small",
|
|
"m1.medium",
|
|
"m1.large",
|
|
"m1.xlarge",
|
|
"m1.2xlarge",
|
|
"m1.4xlarge",
|
|
"nano",
|
|
"micro",
|
|
"small",
|
|
"medium",
|
|
"large",
|
|
"xlarge",
|
|
"2xlarge"
|
|
]
|
|
}
|
|
}
|
|
}
|