diff --git a/apps/nextcloud/apps_v1_Deployment_nextcloud-metrics.yaml b/apps/nextcloud/apps_v1_Deployment_nextcloud-metrics.yaml index c37f988..7b53652 100644 --- a/apps/nextcloud/apps_v1_Deployment_nextcloud-metrics.yaml +++ b/apps/nextcloud/apps_v1_Deployment_nextcloud-metrics.yaml @@ -5,7 +5,7 @@ metadata: name: nextcloud-metrics labels: app.kubernetes.io/name: nextcloud - helm.sh/chart: nextcloud-3.5.20 + helm.sh/chart: nextcloud-3.5.21 app.kubernetes.io/instance: nextcloud app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: metrics diff --git a/apps/nextcloud/apps_v1_Deployment_nextcloud.yaml b/apps/nextcloud/apps_v1_Deployment_nextcloud.yaml index 1ee84f4..a596442 100644 --- a/apps/nextcloud/apps_v1_Deployment_nextcloud.yaml +++ b/apps/nextcloud/apps_v1_Deployment_nextcloud.yaml @@ -5,7 +5,7 @@ metadata: name: nextcloud labels: app.kubernetes.io/name: nextcloud - helm.sh/chart: nextcloud-3.5.20 + helm.sh/chart: nextcloud-3.5.21 app.kubernetes.io/instance: nextcloud app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: app diff --git a/apps/nextcloud/autoscaling_v1_HorizontalPodAutoscaler_nextcloud.yaml b/apps/nextcloud/autoscaling_v1_HorizontalPodAutoscaler_nextcloud.yaml index 9010875..c3dac19 100644 --- a/apps/nextcloud/autoscaling_v1_HorizontalPodAutoscaler_nextcloud.yaml +++ b/apps/nextcloud/autoscaling_v1_HorizontalPodAutoscaler_nextcloud.yaml @@ -5,7 +5,7 @@ metadata: name: nextcloud labels: app.kubernetes.io/name: nextcloud - helm.sh/chart: nextcloud-3.5.20 + helm.sh/chart: nextcloud-3.5.21 app.kubernetes.io/instance: nextcloud app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: app diff --git a/apps/nextcloud/datas.tf b/apps/nextcloud/datas.tf index 2b79611..5df07a5 100644 --- a/apps/nextcloud/datas.tf +++ b/apps/nextcloud/datas.tf @@ -66,17 +66,17 @@ data "kustomization_overlay" "data" { args: ["php-fpm"] env: - name: POSTGRES_HOST - value: "${var.instance}-${var.component}" + value: "${var.instance}-${var.component}-pg-rw.${var.namespace}.svc" - name: POSTGRES_DB value: "${var.component}" - name: POSTGRES_USER valueFrom: secretKeyRef: - name: "${var.component}.${var.instance}-${var.component}.credentials.postgresql.acid.zalan.do" + name: "${var.instance}-${var.component}-pg-app" - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: - name: "${var.component}.${var.instance}-${var.component}.credentials.postgresql.acid.zalan.do" + name: "${var.instance}-${var.component}-pg-app" - name: NEXTCLOUD_TRUSTED_DOMAINS value: "${local.dns-name}" - name: REDIS_HOST diff --git a/apps/nextcloud/index.yaml b/apps/nextcloud/index.yaml index 45d3eae..0809786 100644 --- a/apps/nextcloud/index.yaml +++ b/apps/nextcloud/index.yaml @@ -6,26 +6,6 @@ metadata: name: nextcloud description: null options: - postgres: - default: - replicas: 1 - storage: 5Gi - version: '14' - examples: - - replicas: 1 - storage: 5Gi - version: '14' - properties: - replicas: - default: 1 - type: integer - storage: - default: 5Gi - type: string - version: - default: '14' - type: string - type: object hpa: default: avg-cpu: 50 @@ -46,6 +26,16 @@ options: default: 1 type: integer type: object + admin: + default: + name: nextcloud_admin + examples: + - name: nextcloud_admin + properties: + name: + default: nextcloud_admin + type: string + type: object storage: default: accessMode: ReadWriteOnce @@ -65,116 +55,6 @@ options: default: 10Gi type: string type: object - sub-domain: - default: files - examples: - - files - type: string - apps: - default: - audioplayer: false - bookmarks: false - bpm: false - calendar: false - collabora: false - contacts: false - deck: false - groupfolders: true - mindmap: false - music: false - notes: false - onlyoffice: false - passman: false - spreed: false - tables: false - tasks: false - texteditor: true - examples: - - audioplayer: false - bookmarks: false - bpm: false - calendar: false - collabora: false - contacts: false - deck: false - groupfolders: true - mindmap: false - music: false - notes: false - onlyoffice: false - passman: false - spreed: false - tables: false - tasks: false - texteditor: true - properties: - audioplayer: - default: false - type: boolean - bookmarks: - default: false - type: boolean - bpm: - default: false - type: boolean - calendar: - default: false - type: boolean - collabora: - default: false - type: boolean - contacts: - default: false - type: boolean - deck: - default: false - type: boolean - groupfolders: - default: true - type: boolean - mindmap: - default: false - type: boolean - music: - default: false - type: boolean - notes: - default: false - type: boolean - onlyoffice: - default: false - type: boolean - passman: - default: false - type: boolean - spreed: - default: false - type: boolean - tables: - default: false - type: boolean - tasks: - default: false - type: boolean - texteditor: - default: true - type: boolean - type: object - domain-name: - default: your_company.com - examples: - - your_company.com - type: string - admin: - default: - name: nextcloud_admin - examples: - - name: nextcloud_admin - properties: - name: - default: nextcloud_admin - type: string - type: object images: default: collabora: @@ -338,11 +218,111 @@ options: type: string type: object type: object + apps: + default: + audioplayer: false + bookmarks: false + bpm: false + calendar: false + collabora: false + contacts: false + deck: false + groupfolders: true + mindmap: false + music: false + notes: false + onlyoffice: false + passman: false + spreed: false + tables: false + tasks: false + texteditor: true + examples: + - audioplayer: false + bookmarks: false + bpm: false + calendar: false + collabora: false + contacts: false + deck: false + groupfolders: true + mindmap: false + music: false + notes: false + onlyoffice: false + passman: false + spreed: false + tables: false + tasks: false + texteditor: true + properties: + audioplayer: + default: false + type: boolean + bookmarks: + default: false + type: boolean + bpm: + default: false + type: boolean + calendar: + default: false + type: boolean + collabora: + default: false + type: boolean + contacts: + default: false + type: boolean + deck: + default: false + type: boolean + groupfolders: + default: true + type: boolean + mindmap: + default: false + type: boolean + music: + default: false + type: boolean + notes: + default: false + type: boolean + onlyoffice: + default: false + type: boolean + passman: + default: false + type: boolean + spreed: + default: false + type: boolean + tables: + default: false + type: boolean + tasks: + default: false + type: boolean + texteditor: + default: true + type: boolean + type: object openid-name: default: vynil examples: - vynil type: string + domain-name: + default: your_company.com + examples: + - your_company.com + type: string + ingress-class: + default: traefik + examples: + - traefik + type: string domain: default: your-company examples: @@ -353,10 +333,10 @@ options: examples: - letsencrypt-prod type: string - ingress-class: - default: traefik + sub-domain: + default: files examples: - - traefik + - files type: string redis: default: @@ -391,6 +371,26 @@ options: default: 2Gi type: string type: object + postgres: + default: + replicas: 1 + storage: 5Gi + version: '14' + examples: + - replicas: 1 + storage: 5Gi + version: '14' + properties: + replicas: + default: 1 + type: integer + storage: + default: 5Gi + type: string + version: + default: '14' + type: string + type: object dependencies: [] providers: kubernetes: true diff --git a/apps/nextcloud/monitoring.coreos.com_v1_ServiceMonitor_nextcloud.yaml b/apps/nextcloud/monitoring.coreos.com_v1_ServiceMonitor_nextcloud.yaml index a059729..13b2266 100644 --- a/apps/nextcloud/monitoring.coreos.com_v1_ServiceMonitor_nextcloud.yaml +++ b/apps/nextcloud/monitoring.coreos.com_v1_ServiceMonitor_nextcloud.yaml @@ -6,7 +6,7 @@ metadata: namespace: "vynil-cloud" labels: app.kubernetes.io/name: nextcloud - helm.sh/chart: nextcloud-3.5.20 + helm.sh/chart: nextcloud-3.5.21 app.kubernetes.io/instance: nextcloud app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: metrics diff --git a/apps/nextcloud/postgresql.tf b/apps/nextcloud/postgresql.tf index c503a2a..f5d3791 100644 --- a/apps/nextcloud/postgresql.tf +++ b/apps/nextcloud/postgresql.tf @@ -1,5 +1,8 @@ locals { pg-labels = merge(local.common-labels, { + "app.kubernetes.io/component" = "pg" + }) + postgres-labels = merge(local.common-labels, { "app.kubernetes.io/component" = "postgresql" }) } @@ -10,7 +13,7 @@ resource "kubectl_manifest" "prj_postgresql" { metadata: name: "${var.instance}-${var.component}" namespace: "${var.namespace}" - labels: ${jsonencode(local.pg-labels)} + labels: ${jsonencode(local.postgres-labels)} spec: databases: ${var.component}: "${var.component}" @@ -29,3 +32,36 @@ resource "kubectl_manifest" "prj_postgresql" { size: "${var.postgres.storage}" EOF } +resource "kubectl_manifest" "prj_pg" { + yaml_body = <<-EOF + apiVersion: postgresql.cnpg.io/v1 + kind: Cluster + metadata: + name: "${var.instance}-${var.component}-pg" + namespace: "${var.namespace}" + spec: + instances: ${var.postgres.replicas} + storage: + size: "${var.postgres.storage}" + bootstrap: + initdb: + database: ${var.component} + owner: ${var.component} + import: + type: microservice + databases: + - ${var.component} + source: + externalCluster: ${var.postgres.version} + externalClusters: + - name: ${var.postgres.version} + connectionParameters: + host: ${var.postgres.version} + user: postgres + dbname: postgres + sslmode: require + password: + name: postgres.${var.postgres.version}.credentials.postgresql.acid.zalan.do + key: password + EOF +} diff --git a/apps/nextcloud/v1_ConfigMap_nextcloud-config.yaml b/apps/nextcloud/v1_ConfigMap_nextcloud-config.yaml index fbb3354..650bb8a 100644 --- a/apps/nextcloud/v1_ConfigMap_nextcloud-config.yaml +++ b/apps/nextcloud/v1_ConfigMap_nextcloud-config.yaml @@ -5,7 +5,7 @@ metadata: name: nextcloud-config labels: app.kubernetes.io/name: nextcloud - helm.sh/chart: nextcloud-3.5.20 + helm.sh/chart: nextcloud-3.5.21 app.kubernetes.io/instance: nextcloud app.kubernetes.io/managed-by: Helm data: diff --git a/apps/nextcloud/v1_ConfigMap_nextcloud-nginxconfig.yaml b/apps/nextcloud/v1_ConfigMap_nextcloud-nginxconfig.yaml index f1b4296..5d196e9 100644 --- a/apps/nextcloud/v1_ConfigMap_nextcloud-nginxconfig.yaml +++ b/apps/nextcloud/v1_ConfigMap_nextcloud-nginxconfig.yaml @@ -5,7 +5,7 @@ metadata: name: nextcloud-nginxconfig labels: app.kubernetes.io/name: nextcloud - helm.sh/chart: nextcloud-3.5.20 + helm.sh/chart: nextcloud-3.5.21 app.kubernetes.io/instance: nextcloud app.kubernetes.io/managed-by: Helm data: diff --git a/apps/nextcloud/v1_PersistentVolumeClaim_nextcloud-nextcloud.yaml b/apps/nextcloud/v1_PersistentVolumeClaim_nextcloud-nextcloud.yaml index 351d7b3..bdaa44d 100644 --- a/apps/nextcloud/v1_PersistentVolumeClaim_nextcloud-nextcloud.yaml +++ b/apps/nextcloud/v1_PersistentVolumeClaim_nextcloud-nextcloud.yaml @@ -5,7 +5,7 @@ metadata: name: nextcloud-nextcloud labels: app.kubernetes.io/name: nextcloud - helm.sh/chart: nextcloud-3.5.20 + helm.sh/chart: nextcloud-3.5.21 app.kubernetes.io/instance: nextcloud app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: app diff --git a/apps/nextcloud/v1_Service_nextcloud-metrics.yaml b/apps/nextcloud/v1_Service_nextcloud-metrics.yaml index c0e8425..1bd209d 100644 --- a/apps/nextcloud/v1_Service_nextcloud-metrics.yaml +++ b/apps/nextcloud/v1_Service_nextcloud-metrics.yaml @@ -5,7 +5,7 @@ metadata: name: nextcloud-metrics labels: app.kubernetes.io/name: nextcloud - helm.sh/chart: nextcloud-3.5.20 + helm.sh/chart: nextcloud-3.5.21 app.kubernetes.io/instance: nextcloud app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: metrics diff --git a/apps/nextcloud/v1_Service_nextcloud.yaml b/apps/nextcloud/v1_Service_nextcloud.yaml index ccd6a3b..27a7534 100644 --- a/apps/nextcloud/v1_Service_nextcloud.yaml +++ b/apps/nextcloud/v1_Service_nextcloud.yaml @@ -5,7 +5,7 @@ metadata: name: nextcloud labels: app.kubernetes.io/name: nextcloud - helm.sh/chart: nextcloud-3.5.20 + helm.sh/chart: nextcloud-3.5.21 app.kubernetes.io/instance: nextcloud app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: app