Files
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
..
2026-04-22 07:28:09 +00:00
2024-08-12 14:47:11 +02:00
2024-08-12 14:33:48 +02:00
2025-09-24 12:32:37 +02:00

Managed SeaweedFS Service

Parameters

Common parameters

Name Description Type Value
host The hostname used to access SeaweedFS externally (defaults to 's3' subdomain for the tenant host). string ""
topology The topology of the SeaweedFS cluster. string Simple
replicationFactor Replication factor: number of replicas for each volume in the SeaweedFS cluster. int 2

SeaweedFS Components Configuration

Name Description Type Value
db Database configuration. object {}
db.replicas Number of database replicas. int 2
db.size Persistent Volume size. quantity 10Gi
db.storageClass StorageClass used to store the data. string ""
db.resources Explicit CPU and memory configuration. When omitted, the preset defined in resourcesPreset is applied. object {}
db.resources.cpu Number of CPU cores allocated. quantity ""
db.resources.memory Amount of memory allocated. quantity ""
db.resourcesPreset Default sizing preset used when resources is omitted. string t1.small
master Master service configuration. object {}
master.replicas Number of master replicas. int 3
master.resources Explicit CPU and memory configuration. When omitted, the preset defined in resourcesPreset is applied. object {}
master.resources.cpu Number of CPU cores allocated. quantity ""
master.resources.memory Amount of memory allocated. quantity ""
master.resourcesPreset Default sizing preset used when resources is omitted. string t1.small
filer Filer service configuration. object {}
filer.replicas Number of filer replicas. int 2
filer.resources Explicit CPU and memory configuration. When omitted, the preset defined in resourcesPreset is applied. object {}
filer.resources.cpu Number of CPU cores allocated. quantity ""
filer.resources.memory Amount of memory allocated. quantity ""
filer.resourcesPreset Default sizing preset used when resources is omitted. string t1.small
filer.grpcHost The hostname used to expose or access the filer service externally. string ""
filer.grpcPort The port used to access the filer service externally. int 443
filer.whitelist A list of IP addresses or CIDR ranges that are allowed to access the filer service. []string []
volume Volume service configuration. object {}
volume.replicas Number of volume replicas. int 2
volume.size Persistent Volume size. quantity 10Gi
volume.storageClass StorageClass used to store the data. string ""
volume.diskType SeaweedFS disk type tag for the default volume servers (e.g., "hdd", "ssd"). string ""
volume.resources Explicit CPU and memory configuration. When omitted, the preset defined in resourcesPreset is applied. object {}
volume.resources.cpu Number of CPU cores allocated. quantity ""
volume.resources.memory Amount of memory allocated. quantity ""
volume.resourcesPreset Default sizing preset used when resources is omitted. string t1.small
volume.zones A map of zones for MultiZone topology. Each zone can have its own number of replicas and size. map[string]object {}
volume.zones[name].replicas Number of replicas in the zone. int 0
volume.zones[name].size Zone storage size. quantity ""
volume.zones[name].dataCenter SeaweedFS data center name for this zone. Defaults to the zone name. string ""
volume.zones[name].nodeSelector YAML nodeSelector for this zone (default: topology.kubernetes.io/zone: ). string ""
volume.zones[name].storageClass StorageClass used to store zone data. Defaults to volume.storageClass. string ""
volume.zones[name].pools A map of storage pools for this zone. Each pool creates a separate Volume StatefulSet per zone. map[string]object {}
volume.zones[name].pools[name].diskType SeaweedFS disk type tag (e.g., "ssd", "hdd", "nvme"). string ""
volume.zones[name].pools[name].replicas Number of volume replicas. Defaults to volume.replicas (Simple) or zone.replicas/volume.replicas (MultiZone). int 0
volume.zones[name].pools[name].size Persistent Volume size. Defaults to volume.size (Simple) or zone.size/volume.size (MultiZone). quantity ""
volume.zones[name].pools[name].storageClass Kubernetes StorageClass for the pool. Defaults to volume.storageClass. string ""
volume.zones[name].pools[name].resources Explicit CPU and memory configuration. When omitted, the preset defined in resourcesPreset is applied. object {}
volume.zones[name].pools[name].resources.cpu Number of CPU cores allocated. quantity ""
volume.zones[name].pools[name].resources.memory Amount of memory allocated. quantity ""
volume.zones[name].pools[name].resourcesPreset Default sizing preset used when resources is omitted. Defaults to volume.resourcesPreset. string {}
volume.pools A map of storage pools. Each pool creates a separate Volume StatefulSet with its own disk type. map[string]object {}
volume.pools[name].diskType SeaweedFS disk type tag (e.g., "ssd", "hdd", "nvme"). string ""
volume.pools[name].replicas Number of volume replicas. Defaults to volume.replicas (Simple) or zone.replicas/volume.replicas (MultiZone). int 0
volume.pools[name].size Persistent Volume size. Defaults to volume.size (Simple) or zone.size/volume.size (MultiZone). quantity ""
volume.pools[name].storageClass Kubernetes StorageClass for the pool. Defaults to volume.storageClass. string ""
volume.pools[name].resources Explicit CPU and memory configuration. When omitted, the preset defined in resourcesPreset is applied. object {}
volume.pools[name].resources.cpu Number of CPU cores allocated. quantity ""
volume.pools[name].resources.memory Amount of memory allocated. quantity ""
volume.pools[name].resourcesPreset Default sizing preset used when resources is omitted. Defaults to volume.resourcesPreset. string {}
s3 S3 service configuration. object {}
s3.replicas Number of S3 replicas. int 2
s3.resources Explicit CPU and memory configuration. When omitted, the preset defined in resourcesPreset is applied. object {}
s3.resources.cpu Number of CPU cores allocated. quantity ""
s3.resources.memory Amount of memory allocated. quantity ""
s3.resourcesPreset Default sizing preset used when resources is omitted. string t1.small