From 2d9dc9fe01e131b3818df576ee153ac3d2748af3 Mon Sep 17 00:00:00 2001 From: Timofei Larkin Date: Fri, 10 Oct 2025 12:44:59 +0300 Subject: [PATCH] [foundationdb] Upgrade FDB app for latest Cozy Since this contribution was made, the layout of the repository changed significantly. This patch addresses these updates and brings the FoundationDB managed app into harmony with the new structure. ```release-note [foundationdb, maintenance] Harmonize FoundationDB repo layout with v0.37.0 repository structure. ``` Signed-off-by: Timofei Larkin --- packages/apps/foundationdb/README.md | 2 +- packages/apps/foundationdb/values.schema.json | 69 +-- packages/apps/versions_map | 190 ------- .../openapi-schemas/foundationdb.json | 1 - .../cozystack-resource-definitions.yaml | 527 ------------------ .../cozyrds/foundationdb.yaml | 30 + 6 files changed, 40 insertions(+), 779 deletions(-) delete mode 100644 packages/apps/versions_map delete mode 120000 packages/system/cozystack-api/openapi-schemas/foundationdb.json delete mode 100644 packages/system/cozystack-api/templates/cozystack-resource-definitions.yaml create mode 100644 packages/system/cozystack-resource-definitions/cozyrds/foundationdb.yaml diff --git a/packages/apps/foundationdb/README.md b/packages/apps/foundationdb/README.md index fed4acde..ceebf571 100644 --- a/packages/apps/foundationdb/README.md +++ b/packages/apps/foundationdb/README.md @@ -164,7 +164,7 @@ For Cozystack-specific issues, consult the Cozystack documentation or support ch | `storage` | Storage configuration | `object` | `{}` | | `storage.size` | Size of persistent volumes for each instance | `quantity` | `16Gi` | | `storage.storageClass` | Storage class (if not set, uses cluster default) | `string` | `""` | -| `resources` | Explicit CPU and memory configuration for each FoundationDB instance. When left empty, the preset defined in `resourcesPreset` is applied. | `*object` | `{}` | +| `resources` | Explicit CPU and memory configuration for each FoundationDB instance. When left empty, the preset defined in `resourcesPreset` is applied. | `*object` | `null` | | `resources.cpu` | CPU available to each instance | `*quantity` | `null` | | `resources.memory` | Memory (RAM) available to each instance | `*quantity` | `null` | | `resourcesPreset` | Default sizing preset used when `resources` is omitted. Allowed values: `small`, `medium`, `large`, `xlarge`, `2xlarge`. | `string` | `medium` | diff --git a/packages/apps/foundationdb/values.schema.json b/packages/apps/foundationdb/values.schema.json index 1b0c6577..675d20c6 100644 --- a/packages/apps/foundationdb/values.schema.json +++ b/packages/apps/foundationdb/values.schema.json @@ -10,19 +10,7 @@ "backup": { "description": "Backup configuration", "type": "object", - "default": { - "enabled": false, - "retentionPolicy": "7d", - "s3": { - "bucket": "", - "credentials": { - "accessKeyId": "", - "secretAccessKey": "" - }, - "endpoint": "", - "region": "us-east-1" - } - }, + "default": {}, "required": [ "enabled", "retentionPolicy", @@ -42,15 +30,7 @@ "s3": { "description": "S3 configuration for backups", "type": "object", - "default": { - "bucket": "", - "credentials": { - "accessKeyId": "", - "secretAccessKey": "" - }, - "endpoint": "", - "region": "us-east-1" - }, + "default": {}, "required": [ "bucket", "credentials", @@ -65,10 +45,7 @@ "credentials": { "description": "S3 credentials", "type": "object", - "default": { - "accessKeyId": "", - "secretAccessKey": "" - }, + "default": {}, "required": [ "accessKeyId", "secretAccessKey" @@ -100,20 +77,7 @@ "cluster": { "description": "Cluster configuration", "type": "object", - "default": { - "faultDomain": { - "key": "kubernetes.io/hostname", - "valueFrom": "spec.nodeName" - }, - "processCounts": { - "cluster_controller": 1, - "stateless": -1, - "storage": 3 - }, - "redundancyMode": "double", - "storageEngine": "ssd-2", - "version": "7.3.63" - }, + "default": {}, "required": [ "faultDomain", "processCounts", @@ -125,10 +89,7 @@ "faultDomain": { "description": "Fault domain configuration", "type": "object", - "default": { - "key": "kubernetes.io/hostname", - "valueFrom": "spec.nodeName" - }, + "default": {}, "required": [ "key", "valueFrom" @@ -149,11 +110,7 @@ "processCounts": { "description": "Process counts for different roles", "type": "object", - "default": { - "cluster_controller": 1, - "stateless": -1, - "storage": 3 - }, + "default": {}, "required": [ "cluster_controller", "stateless", @@ -214,9 +171,7 @@ "monitoring": { "description": "Monitoring configuration", "type": "object", - "default": { - "enabled": true - }, + "default": {}, "required": [ "enabled" ], @@ -276,10 +231,7 @@ "securityContext": { "description": "Security context for containers", "type": "object", - "default": { - "runAsGroup": 4059, - "runAsUser": 4059 - }, + "default": {}, "required": [ "runAsGroup", "runAsUser" @@ -300,10 +252,7 @@ "storage": { "description": "Storage configuration", "type": "object", - "default": { - "size": "16Gi", - "storageClass": "" - }, + "default": {}, "required": [ "size", "storageClass" diff --git a/packages/apps/versions_map b/packages/apps/versions_map deleted file mode 100644 index 81f467d7..00000000 --- a/packages/apps/versions_map +++ /dev/null @@ -1,190 +0,0 @@ -bucket 0.1.0 632224a3 -bucket 0.2.0 HEAD -clickhouse 0.1.0 f7eaab0a -clickhouse 0.2.0 53f2365e -clickhouse 0.2.1 dfbc210b -clickhouse 0.3.0 6c5cf5bf -clickhouse 0.4.0 b40e1b09 -clickhouse 0.5.0 0f312d5c -clickhouse 0.6.0 1ec10165 -clickhouse 0.6.1 c62a83a7 -clickhouse 0.6.2 8267072d -clickhouse 0.7.0 93bdf411 -clickhouse 0.9.0 6130f43d -clickhouse 0.9.2 632224a3 -clickhouse 0.10.0 6358fd7a -clickhouse 0.10.1 4369b031 -clickhouse 0.11.0 08cb7c0f -clickhouse 0.11.1 0e47e1e8 -clickhouse 0.12.0 c02a3818 -clickhouse 0.13.0 HEAD -ferretdb 0.1.0 e9716091 -ferretdb 0.1.1 91b0499a -ferretdb 0.2.0 6c5cf5bf -ferretdb 0.3.0 b8e33d19 -ferretdb 0.4.0 b40e1b09 -ferretdb 0.4.1 1ec10165 -ferretdb 0.4.2 8267072d -ferretdb 0.5.0 93bdf411 -ferretdb 0.6.0 6130f43d -ferretdb 0.6.1 632224a3 -ferretdb 0.7.0 62cb694d -ferretdb 0.7.1 4369b031 -ferretdb 0.8.0 08cb7c0f -ferretdb 1.0.0 c02a3818 -ferretdb 1.1.0 HEAD -foundationdb 0.1.0 HEAD -http-cache 0.1.0 263e47be -http-cache 0.2.0 53f2365e -http-cache 0.3.0 6c5cf5bf -http-cache 0.3.1 0f312d5c -http-cache 0.4.0 93bdf411 -http-cache 0.5.0 6130f43d -http-cache 0.5.1 62cb694d -http-cache 0.5.2 4369b031 -http-cache 0.6.0 08cb7c0f -http-cache 0.6.1 c02a3818 -http-cache 0.7.0 HEAD -kafka 0.1.0 f7eaab0a -kafka 0.2.0 c0685f43 -kafka 0.2.1 dfbc210b -kafka 0.2.2 e9716091 -kafka 0.2.3 91b0499a -kafka 0.3.0 6c5cf5bf -kafka 0.3.1 c62a83a7 -kafka 0.3.2 93c46161 -kafka 0.3.3 8267072d -kafka 0.4.0 85ec09b8 -kafka 0.5.0 93bdf411 -kafka 0.6.0 6130f43d -kafka 0.6.1 632224a3 -kafka 0.7.0 6358fd7a -kafka 0.7.1 4369b031 -kafka 0.8.0 08cb7c0f -kafka 0.8.1 HEAD -kubernetes 0.24.0 62cb694d -kubernetes 0.25.0 70f82667 -kubernetes 0.25.1 acd4663a -kubernetes 0.25.2 08cb7c0f -kubernetes 0.26.0 9584e5f5 -kubernetes 0.26.1 0e47e1e8 -kubernetes 0.26.2 8ddbe32e -kubernetes 0.26.3 c02a3818 -kubernetes 0.27.0 6cd5e746 -kubernetes 0.28.0 7f477eec -kubernetes 0.29.0 HEAD -mysql 0.1.0 263e47be -mysql 0.2.0 c24a103f -mysql 0.3.0 53f2365e -mysql 0.4.0 6c5cf5bf -mysql 0.5.0 b40e1b09 -mysql 0.5.1 0f312d5c -mysql 0.5.2 1ec10165 -mysql 0.5.3 8267072d -mysql 0.6.0 93bdf411 -mysql 0.7.0 6130f43d -mysql 0.7.1 632224a3 -mysql 0.8.0 62cb694d -mysql 0.8.1 4369b031 -mysql 0.9.0 08cb7c0f -mysql 0.9.1 c02a3818 -mysql 0.10.0 HEAD -nats 0.1.0 e9716091 -nats 0.2.0 6c5cf5bf -nats 0.3.0 78366f19 -nats 0.3.1 c62a83a7 -nats 0.4.0 898374b5 -nats 0.4.1 8267072d -nats 0.5.0 93bdf411 -nats 0.6.0 6130f43d -nats 0.6.1 632224a3 -nats 0.7.0 62cb694d -nats 0.7.1 4369b031 -nats 0.8.0 08cb7c0f -nats 0.8.1 c02a3818 -nats 0.9.0 HEAD -postgres 0.1.0 263e47be -postgres 0.2.0 53f2365e -postgres 0.2.1 d7cfa53c -postgres 0.3.0 dfbc210b -postgres 0.4.0 e9716091 -postgres 0.4.1 91b0499a -postgres 0.5.0 6c5cf5bf -postgres 0.6.0 b40e1b09 -postgres 0.6.2 0f312d5c -postgres 0.7.0 4b90bf5a -postgres 0.7.1 1ec10165 -postgres 0.8.0 4e68e65c -postgres 0.9.0 8267072d -postgres 0.10.0 721c12a7 -postgres 0.10.1 93bdf411 -postgres 0.11.0 f9f8bb2f -postgres 0.12.0 6130f43d -postgres 0.12.1 632224a3 -postgres 0.14.0 62cb694d -postgres 0.15.1 4369b031 -postgres 0.16.0 70f82667 -postgres 0.17.0 acd4663a -postgres 0.17.1 08cb7c0f -postgres 0.17.3 c02a3818 -postgres 0.18.0 HEAD -rabbitmq 0.1.0 263e47be -rabbitmq 0.2.0 53f2365e -rabbitmq 0.3.0 6c5cf5bf -rabbitmq 0.4.0 b40e1b09 -rabbitmq 0.4.1 1128d0cb -rabbitmq 0.4.2 4b90bf5a -rabbitmq 0.4.3 1ec10165 -rabbitmq 0.4.4 8267072d -rabbitmq 0.5.0 93bdf411 -rabbitmq 0.6.0 632224a3 -rabbitmq 0.7.0 62cb694d -rabbitmq 0.7.1 4369b031 -rabbitmq 0.8.0 08cb7c0f -rabbitmq 0.8.1 c02a3818 -rabbitmq 0.9.0 HEAD -redis 0.1.1 263e47be -redis 0.2.0 53f2365e -redis 0.3.0 6c5cf5bf -redis 0.3.1 c62a83a7 -redis 0.4.0 84f3ccc0 -redis 0.5.0 4e68e65c -redis 0.6.0 93bdf411 -redis 0.7.0 6130f43d -redis 0.7.1 632224a3 -redis 0.8.0 62cb694d -redis 0.8.1 4369b031 -redis 0.9.0 08cb7c0f -redis 0.9.1 c02a3818 -redis 0.10.0 HEAD -tcp-balancer 0.1.0 263e47be -tcp-balancer 0.2.0 53f2365e -tcp-balancer 0.3.0 93bdf411 -tcp-balancer 0.4.0 6130f43d -tcp-balancer 0.4.1 62cb694d -tcp-balancer 0.4.2 4369b031 -tcp-balancer 0.5.0 08cb7c0f -tcp-balancer 0.5.1 c02a3818 -tcp-balancer 0.6.0 HEAD -tenant 1.13.0 8f1975d1 -tenant 1.14.0 HEAD -virtual-machine 0.14.0 HEAD -vm-disk 0.1.0 d971f2ff -vm-disk 0.1.1 6130f43d -vm-disk 0.1.2 632224a3 -vm-disk 0.2.0 4369b031 -vm-disk 0.3.0 c02a3818 -vm-disk 0.4.0 HEAD -vm-instance 0.12.0 HEAD -vpn 0.1.0 263e47be -vpn 0.2.0 53f2365e -vpn 0.3.0 6c5cf5bf -vpn 0.3.1 1ec10165 -vpn 0.4.0 93bdf411 -vpn 0.5.0 6130f43d -vpn 0.5.1 632224a3 -vpn 0.6.1 62cb694d -vpn 0.6.2 4369b031 -vpn 0.7.0 08cb7c0f -vpn 0.7.1 c02a3818 -vpn 0.8.0 HEAD diff --git a/packages/system/cozystack-api/openapi-schemas/foundationdb.json b/packages/system/cozystack-api/openapi-schemas/foundationdb.json deleted file mode 120000 index 12c61ac3..00000000 --- a/packages/system/cozystack-api/openapi-schemas/foundationdb.json +++ /dev/null @@ -1 +0,0 @@ -../../../apps/foundationdb/values.schema.json \ No newline at end of file diff --git a/packages/system/cozystack-api/templates/cozystack-resource-definitions.yaml b/packages/system/cozystack-api/templates/cozystack-resource-definitions.yaml deleted file mode 100644 index 8044584f..00000000 --- a/packages/system/cozystack-api/templates/cozystack-resource-definitions.yaml +++ /dev/null @@ -1,527 +0,0 @@ -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: bucket -spec: - application: - kind: Bucket - singular: bucket - plural: buckets - openAPISchema: | - {{- .Files.Get "openapi-schemas/bucket.json" | fromJson | toJson | nindent 6 }} - release: - prefix: bucket- - labels: - cozystack.io/ui: "true" - chart: - name: bucket - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: clickhouse -spec: - application: - kind: ClickHouse - singular: clickhouse - plural: clickhouses - openAPISchema: | - {{- .Files.Get "openapi-schemas/clickhouse.json" | fromJson | toJson | nindent 6 }} - release: - prefix: clickhouse- - labels: - cozystack.io/ui: "true" - chart: - name: clickhouse - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: httpcache -spec: - application: - kind: HTTPCache - singular: httpcache - plural: httpcaches - openAPISchema: | - {{- .Files.Get "openapi-schemas/http-cache.json" | fromJson | toJson | nindent 6 }} - release: - prefix: http-cache- - labels: - cozystack.io/ui: "true" - chart: - name: http-cache - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: nats -spec: - application: - kind: NATS - singular: nats - plural: natses - openAPISchema: | - {{- .Files.Get "openapi-schemas/nats.json" | fromJson | toJson | nindent 6 }} - release: - prefix: nats- - labels: - cozystack.io/ui: "true" - chart: - name: nats - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: tcpbalancer -spec: - application: - kind: TCPBalancer - singular: tcpbalancer - plural: tcpbalancers - openAPISchema: | - {{- .Files.Get "openapi-schemas/tcp-balancer.json" | fromJson | toJson | nindent 6 }} - release: - prefix: tcp-balancer- - labels: - cozystack.io/ui: "true" - chart: - name: tcp-balancer - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: virtualmachine -spec: - application: - kind: VirtualMachine - singular: virtualmachine - plural: virtualmachines - openAPISchema: | - {{- .Files.Get "openapi-schemas/virtual-machine.json" | fromJson | toJson | nindent 6 }} - release: - prefix: virtual-machine- - labels: - cozystack.io/ui: "true" - chart: - name: virtual-machine - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: vpn -spec: - application: - kind: VPN - singular: vpn - plural: vpns - openAPISchema: | - {{- .Files.Get "openapi-schemas/vpn.json" | fromJson | toJson | nindent 6 }} - release: - prefix: vpn- - labels: - cozystack.io/ui: "true" - chart: - name: vpn - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: mysql -spec: - application: - kind: MySQL - singular: mysql - plural: mysqls - openAPISchema: | - {{- .Files.Get "openapi-schemas/mysql.json" | fromJson | toJson | nindent 6 }} - release: - prefix: mysql- - labels: - cozystack.io/ui: "true" - chart: - name: mysql - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: tenant -spec: - application: - kind: Tenant - singular: tenant - plural: tenants - openAPISchema: | - {{- .Files.Get "openapi-schemas/tenant.json" | fromJson | toJson | nindent 6 }} - release: - prefix: tenant- - labels: - cozystack.io/ui: "true" - chart: - name: tenant - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: kubernetes -spec: - application: - kind: Kubernetes - singular: kubernetes - plural: kuberneteses - openAPISchema: | - {{- .Files.Get "openapi-schemas/kubernetes.json" | fromJson | toJson | nindent 6 }} - release: - prefix: kubernetes- - labels: - cozystack.io/ui: "true" - chart: - name: kubernetes - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: redis -spec: - application: - kind: Redis - singular: redis - plural: redises - openAPISchema: | - {{- .Files.Get "openapi-schemas/redis.json" | fromJson | toJson | nindent 6 }} - release: - prefix: redis- - labels: - cozystack.io/ui: "true" - chart: - name: redis - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: rabbitmq -spec: - application: - kind: RabbitMQ - singular: rabbitmq - plural: rabbitmqs - openAPISchema: | - {{- .Files.Get "openapi-schemas/rabbitmq.json" | fromJson | toJson | nindent 6 }} - release: - prefix: rabbitmq- - labels: - cozystack.io/ui: "true" - chart: - name: rabbitmq - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: postgres -spec: - application: - kind: Postgres - singular: postgres - plural: postgreses - openAPISchema: | - {{- .Files.Get "openapi-schemas/postgres.json" | fromJson | toJson | nindent 6 }} - release: - prefix: postgres- - labels: - cozystack.io/ui: "true" - chart: - name: postgres - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: ferretdb -spec: - application: - kind: FerretDB - singular: ferretdb - plural: ferretdbs - openAPISchema: | - {{- .Files.Get "openapi-schemas/ferretdb.json" | fromJson | toJson | nindent 6 }} - release: - prefix: ferretdb- - labels: - cozystack.io/ui: "true" - chart: - name: ferretdb - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: foundationdb -spec: - application: - kind: FoundationDB - singular: foundationdb - plural: foundationdbs - openAPISchema: | - {{- .Files.Get "openapi-schemas/foundationdb.json" | fromJson | toJson | nindent 6 }} - release: - prefix: foundationdb- - labels: - cozystack.io/ui: "true" - chart: - name: foundationdb - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: kafka -spec: - application: - kind: Kafka - singular: kafka - plural: kafkas - openAPISchema: | - {{- .Files.Get "openapi-schemas/kafka.json" | fromJson | toJson | nindent 6 }} - release: - prefix: kafka- - labels: - cozystack.io/ui: "true" - chart: - name: kafka - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: vmdisk -spec: - application: - kind: VMDisk - singular: vmdisk - plural: vmdisks - openAPISchema: | - {{- .Files.Get "openapi-schemas/vm-disk.json" | fromJson | toJson | nindent 6 }} - release: - prefix: vm-disk- - labels: - cozystack.io/ui: "true" - chart: - name: vm-disk - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: vminstance -spec: - application: - kind: VMInstance - singular: vminstance - plural: vminstances - openAPISchema: | - {{- .Files.Get "openapi-schemas/vm-instance.json" | fromJson | toJson | nindent 6 }} - release: - prefix: vm-instance- - labels: - cozystack.io/ui: "true" - chart: - name: vm-instance - sourceRef: - kind: HelmRepository - name: cozystack-apps - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: monitoring -spec: - application: - kind: Monitoring - singular: monitoring - plural: monitorings - openAPISchema: | - {{- .Files.Get "openapi-schemas/monitoring.json" | fromJson | toJson | nindent 6 }} - release: - prefix: "" - labels: - cozystack.io/ui: "true" - chart: - name: monitoring - sourceRef: - kind: HelmRepository - name: cozystack-extra - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: etcd -spec: - application: - kind: Etcd - singular: etcd - plural: etcds - openAPISchema: | - {{- .Files.Get "openapi-schemas/etcd.json" | fromJson | toJson | nindent 6 }} - release: - prefix: "" - labels: - cozystack.io/ui: "true" - chart: - name: etcd - sourceRef: - kind: HelmRepository - name: cozystack-extra - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: ingress -spec: - application: - kind: Ingress - singular: ingress - plural: ingresses - openAPISchema: | - {{- .Files.Get "openapi-schemas/ingress.json" | fromJson | toJson | nindent 6 }} - release: - prefix: "" - labels: - cozystack.io/ui: "true" - chart: - name: ingress - sourceRef: - kind: HelmRepository - name: cozystack-extra - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: seaweedfs -spec: - application: - kind: SeaweedFS - singular: seaweedfs - plural: seaweedfses - openAPISchema: | - {{- .Files.Get "openapi-schemas/seaweedfs.json" | fromJson | toJson | nindent 6 }} - release: - prefix: "" - labels: - cozystack.io/ui: "true" - chart: - name: seaweedfs - sourceRef: - kind: HelmRepository - name: cozystack-extra - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: bootbox -spec: - application: - kind: BootBox - singular: bootbox - plural: bootboxes - openAPISchema: | - {{- .Files.Get "openapi-schemas/bootbox.json" | fromJson | toJson | nindent 6 }} - release: - prefix: "" - labels: - cozystack.io/ui: "true" - chart: - name: bootbox - sourceRef: - kind: HelmRepository - name: cozystack-extra - namespace: cozy-public ---- -apiVersion: cozystack.io/v1alpha1 -kind: CozystackResourceDefinition -metadata: - name: info -spec: - application: - kind: Info - singular: info - plural: infos - openAPISchema: | - {{- .Files.Get "openapi-schemas/info.json" | fromJson | toJson | nindent 6 }} - release: - prefix: "" - labels: - cozystack.io/ui: "true" - chart: - name: info - sourceRef: - kind: HelmRepository - name: cozystack-extra - namespace: cozy-public diff --git a/packages/system/cozystack-resource-definitions/cozyrds/foundationdb.yaml b/packages/system/cozystack-resource-definitions/cozyrds/foundationdb.yaml new file mode 100644 index 00000000..e7759380 --- /dev/null +++ b/packages/system/cozystack-resource-definitions/cozyrds/foundationdb.yaml @@ -0,0 +1,30 @@ +apiVersion: cozystack.io/v1alpha1 +kind: CozystackResourceDefinition +metadata: + name: foundationdb +spec: + application: + kind: FoundationDB + singular: foundationdb + plural: foundationdbs + openAPISchema: |- + {"title":"Chart Values","type":"object","properties":{"automaticReplacements":{"description":"Enable automatic pod replacements","type":"boolean","default":true},"backup":{"description":"Backup configuration","type":"object","default":{"enabled":false,"retentionPolicy":"7d","s3":{"bucket":"","credentials":{"accessKeyId":"","secretAccessKey":""},"endpoint":"","region":"us-east-1"}},"required":["enabled","retentionPolicy","s3"],"properties":{"enabled":{"description":"Enable backups","type":"boolean","default":false},"retentionPolicy":{"description":"Retention policy for backups","type":"string","default":"7d"},"s3":{"description":"S3 configuration for backups","type":"object","default":{"bucket":"","credentials":{"accessKeyId":"","secretAccessKey":""},"endpoint":"","region":"us-east-1"},"required":["bucket","credentials","endpoint","region"],"properties":{"bucket":{"description":"S3 bucket name","type":"string"},"credentials":{"description":"S3 credentials","type":"object","default":{"accessKeyId":"","secretAccessKey":""},"required":["accessKeyId","secretAccessKey"],"properties":{"accessKeyId":{"description":"S3 access key ID","type":"string"},"secretAccessKey":{"description":"S3 secret access key","type":"string"}}},"endpoint":{"description":"S3 endpoint URL","type":"string"},"region":{"description":"S3 region","type":"string","default":"us-east-1"}}}}},"cluster":{"description":"Cluster configuration","type":"object","default":{"faultDomain":{"key":"kubernetes.io/hostname","valueFrom":"spec.nodeName"},"processCounts":{"cluster_controller":1,"stateless":-1,"storage":3},"redundancyMode":"double","storageEngine":"ssd-2","version":"7.3.63"},"required":["faultDomain","processCounts","redundancyMode","storageEngine","version"],"properties":{"faultDomain":{"description":"Fault domain configuration","type":"object","default":{"key":"kubernetes.io/hostname","valueFrom":"spec.nodeName"},"required":["key","valueFrom"],"properties":{"key":{"description":"Fault domain key","type":"string","default":"kubernetes.io/hostname"},"valueFrom":{"description":"Fault domain value source","type":"string","default":"spec.nodeName"}}},"processCounts":{"description":"Process counts for different roles","type":"object","default":{"cluster_controller":1,"stateless":-1,"storage":3},"required":["cluster_controller","stateless","storage"],"properties":{"cluster_controller":{"description":"Number of cluster controller processes","type":"integer","default":1},"stateless":{"description":"Number of stateless processes (-1 for automatic)","type":"integer","default":-1},"storage":{"description":"Number of storage processes (determines cluster size)","type":"integer","default":3}}},"redundancyMode":{"description":"Database redundancy mode (single, double, triple, three_datacenter, three_datacenter_fallback)","type":"string","default":"double"},"storageEngine":{"description":"Storage engine (ssd-2, ssd-redwood-v1, ssd-rocksdb-v1, memory)","type":"string","default":"ssd-2"},"version":{"description":"Version of FoundationDB to use","type":"string","default":"7.3.63"}}},"customParameters":{"description":"Custom parameters to pass to FoundationDB","type":"array","default":[],"items":{"type":"string"}},"imageType":{"description":"Container image deployment type","type":"string","default":"unified","enum":["unified","split"]},"monitoring":{"description":"Monitoring configuration","type":"object","default":{"enabled":true},"required":["enabled"],"properties":{"enabled":{"description":"Enable WorkloadMonitor integration","type":"boolean","default":true}}},"resources":{"description":"Explicit CPU and memory configuration for each FoundationDB instance. When left empty, the preset defined in `resourcesPreset` is applied.","type":"object","default":{},"properties":{"cpu":{"description":"CPU available to each instance","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 instance","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. Allowed values: `small`, `medium`, `large`, `xlarge`, `2xlarge`.","type":"string","default":"medium","enum":["small","medium","large","xlarge","2xlarge"]},"securityContext":{"description":"Security context for containers","type":"object","default":{"runAsGroup":4059,"runAsUser":4059},"required":["runAsGroup","runAsUser"],"properties":{"runAsGroup":{"description":"Group ID to run the container","type":"integer","default":4059},"runAsUser":{"description":"User ID to run the container","type":"integer","default":4059}}},"storage":{"description":"Storage configuration","type":"object","default":{"size":"16Gi","storageClass":""},"required":["size","storageClass"],"properties":{"size":{"description":"Size of persistent volumes for each instance","default":"16Gi","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},"storageClass":{"description":"Storage class (if not set, uses cluster default)","type":"string"}}}}} + release: + prefix: foundationdb- + labels: + cozystack.io/ui: "true" + chart: + name: foundationdb + sourceRef: + kind: HelmRepository + name: cozystack-apps + namespace: cozy-public + dashboard: + category: PaaS + singular: FoundationDB + plural: FoundationDB + description: Managed FoundationDB service + tags: + - database + icon: PHN2ZyB3aWR0aD0iMTQ0IiBoZWlnaHQ9IjE0NCIgdmlld0JveD0iMCAwIDE0NCAxNDQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxNDQiIGhlaWdodD0iMTQ0IiByeD0iMjQiIGZpbGw9InVybCgjcGFpbnQwX3JhZGlhbF84NThfMzA3MikiLz4KPHBhdGggZD0iTTEzNS43ODQgNzUuNjQ0NkwxMzUuOTM5IDg3Ljc2MzhMODkuNjg0NiA4MS41MzYyTDYyLjA4NjggODQuNTA3OUwzNS4zNDE3IDgxLjQzMjlMOC43NTE2NyA4NC41ODU0TDguNzI1ODMgODEuNTEwNEwzNS4zNjc2IDc3LjU4MjZWNjQuMTcxM0w2Mi4yOTM1IDcwLjczNDhMNjIuMzQ1MiA4MS4yNzc4TDg5LjQ3NzkgNzcuNjg2TDg5LjQwMDQgNjQuMTk3MkwxMzUuNzg0IDc1LjY0NDZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNODkuNDc3OCA4Ni4wMzI1TDEzNS44ODggOTAuODM4OFYxMDIuNzI2SDguNjQ4MjVMOC41MTkwNCA5OS41NzNIMzUuMjY0MUMzNS4yNjQxIDk5LjU3MyAzNS4yNjQxIDkwLjczNTUgMzUuMjY0MSA4Ni4wNTgzQzQ0LjI1NjcgODYuOTM2OSA2Mi4wODY3IDg4LjY5NDEgNjIuMDg2NyA4OC42OTQxVjk5LjI2MjlIODkuNDc3OFY4Ni4wMzI1WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTYyLjI5MzQgNjYuODg0Nkw2Mi4yMTU4IDYzLjYyODZDNjIuMjE1OCA2My42Mjg2IDc5LjgxMzMgNTguMzU3MSA4OC45MDkyIDU1LjY2OTdDODguOTA5MiA1MS4zMDI2IDg4LjkwOTIgNDcuMDkwNiA4OC45MDkyIDQyQzEwNC44NzkgNDguNDA4NSAxMjAuMjI4IDU0LjYxMDIgMTM1LjczMyA2MC44Mzc4QzEzNS43MzMgNjQuNzEzOSAxMzUuNzMzIDY4LjQzNSAxMzUuNzMzIDcyLjU2OTVDMTE5Ljg0MSA2OC4yMDI0IDEwNC4yODQgNjMuOTEyOSA4OS4xNjc2IDU5Ljc1MjVDNzkuOTY4NCA2Mi4yMDc0IDYyLjI5MzQgNjYuODg0NiA2Mi4yOTM0IDY2Ljg4NDZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMzUuMzk2MiA4MS43MDczTDguODA2MTIgODQuODU5OEw4Ljc4MDI3IDgxLjc4NDhMMzUuNDIyIDc3Ljg1N1Y2NC40NDU3TDYyLjM0OCA3MS4wMDkzTDYyLjM5OTYgODEuNTUyMkw4OS41MzIzIDc3Ljk2MDRMODkuNDU0OCA2NC40NzE2TDEzNS44MzkgNzUuOTE5TDEzNS45OTQgODguMDM4Mkw4OS43MzkxIDgxLjgxMDZMNjIuMTQxMiA4NC43ODIzTDM1LjM5NjIgODEuNzA3M1oiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik04OS41MzIzIDg2LjMwNjlMMTM1Ljk0MiA5MS4xMTMzVjEwM0g4LjcwMjdMOC41NzM0OSA5OS44NDc0SDM1LjMxODZDMzUuMzE4NiA5OS44NDc0IDM1LjMxODYgOTEuMDA5OSAzNS4zMTg2IDg2LjMzMjhDNDQuMzExMSA4Ny4yMTE0IDYyLjE0MTIgODguOTY4NSA2Mi4xNDEyIDg4Ljk2ODVWOTkuNTM3M0g4OS41MzIzVjg2LjMwNjlaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNjIuMzQ4MyA2Ny4xNTlMNjIuMjcwOCA2My45MDMxQzYyLjI3MDggNjMuOTAzMSA3OS44NjgyIDU4LjYzMTYgODguOTY0MiA1NS45NDQyQzg4Ljk2NDIgNTEuNTc3MSA4OC45NjQyIDQ3LjM2NTEgODguOTY0MiA0Mi4yNzQ0QzEwNC45MzQgNDguNjgyOSAxMjAuMjgzIDU0Ljg4NDcgMTM1Ljc4NyA2MS4xMTIzQzEzNS43ODcgNjQuOTg4NCAxMzUuNzg3IDY4LjcwOTQgMTM1Ljc4NyA3Mi44NDM5QzExOS44OTUgNjguNDc2OSAxMDQuMzM5IDY0LjE4NzMgODkuMjIyNiA2MC4wMjdDODAuMDIzMyA2Mi40ODE4IDYyLjM0ODMgNjcuMTU5IDYyLjM0ODMgNjcuMTU5WiIgZmlsbD0id2hpdGUiLz4KPGRlZnM+CjxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQwX3JhZGlhbF84NThfMzA3MiIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgtMjkuNSAtMTgpIHJvdGF0ZSgzOS42OTYzKSBzY2FsZSgzMDIuMTY4IDI3NS4yNzEpIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0JFRERGRiIvPgo8c3RvcCBvZmZzZXQ9IjAuMjU5NjE1IiBzdG9wLWNvbG9yPSIjOUVDQ0ZEIi8+CjxzdG9wIG9mZnNldD0iMC41OTEzNDYiIHN0b3AtY29sb3I9IiMzRjlBRkIiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMEI3MEUwIi8+CjwvcmFkaWFsR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+Cg== + # keysOrder: []