From bc5c15988cc46c547b8a51e2b902dd41c6efa737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Huss?= Date: Fri, 26 Jan 2024 12:30:24 +0100 Subject: [PATCH] fix --- apps/code-server/index.yaml | 82 ++--- apps/code-server/presentation.tf | 4 +- apps/dbgate/index.yaml | 190 ++++++------ apps/dbgate/presentation.tf | 2 +- apps/gitea/index.yaml | 250 +++++++-------- apps/gitea/presentation.tf | 2 +- apps/gramo/index.yaml | 52 ++-- apps/gramo/presentation.tf | 2 +- apps/nextcloud/index.yaml | 290 +++++++++--------- apps/nextcloud/presentation.tf | 6 +- apps/okd/index.yaml | 46 +-- apps/okd/presentation.tf | 4 +- apps/traefik-ui/index.yaml | 20 +- apps/traefik-ui/presentation.tf | 4 +- apps/woodpecker/index.yaml | 168 +++++----- apps/woodpecker/presentation.tf | 2 +- monitor/alertmanager/index.yaml | 56 ++-- monitor/alertmanager/presentation.tf | 2 +- .../v1_PersistentVolumeClaim_grafana.yaml | 2 +- monitor/loki/index.yaml | 18 +- monitor/prometheus/index.yaml | 92 +++--- monitor/prometheus/presentation.tf | 2 +- share/dataset-pg/directus.tf | 10 +- share/dataset-pg/index.yaml | 262 ++++++++-------- share/dataset-pg/postgrest.tf | 12 +- 25 files changed, 790 insertions(+), 790 deletions(-) diff --git a/apps/code-server/index.yaml b/apps/code-server/index.yaml index 2a32d51..9b1a699 100644 --- a/apps/code-server/index.yaml +++ b/apps/code-server/index.yaml @@ -6,10 +6,10 @@ metadata: name: code-server description: null options: - domain: - default: your-company + app_group: + default: dev examples: - - your-company + - dev type: string storage: default: @@ -48,30 +48,40 @@ options: type: string type: object type: object - timezone: - default: Europe/Paris + admin: + default: + cluster: false + namespace: false examples: - - Europe/Paris - type: string - no-editor: - default: false - examples: - - false - type: boolean - sub-domain: - default: code - examples: - - code - type: string + - cluster: false + namespace: false + properties: + cluster: + default: false + type: boolean + namespace: + default: false + type: boolean + type: object domain_name: default: your-company.com examples: - your-company.com type: string - ingress_class: - default: traefik + issuer: + default: letsencrypt-prod examples: - - traefik + - letsencrypt-prod + type: string + timezone: + default: Europe/Paris + examples: + - Europe/Paris + type: string + sub-domain: + default: code + examples: + - code type: string images: default: @@ -112,31 +122,21 @@ options: type: number type: object type: object - admin: - default: - cluster: false - namespace: false + ingress_class: + default: traefik examples: - - cluster: false - namespace: false - properties: - cluster: - default: false - type: boolean - namespace: - default: false - type: boolean - type: object - app_group: - default: dev - examples: - - dev + - traefik type: string - issuer: - default: letsencrypt-prod + domain: + default: your-company examples: - - letsencrypt-prod + - your-company type: string + no-editor: + default: false + examples: + - false + type: boolean dependencies: - dist: null category: share diff --git a/apps/code-server/presentation.tf b/apps/code-server/presentation.tf index ff5c70a..c59f412 100644 --- a/apps/code-server/presentation.tf +++ b/apps/code-server/presentation.tf @@ -38,7 +38,7 @@ module "ingress" { labels = local.common-labels dns_names = local.dns_names middlewares = ["forward-${local.app_name}"] - service = local.service + services = [local.service] providers = { kubectl = kubectl } @@ -76,7 +76,7 @@ module "forward" { ingress_class = var.ingress_class labels = local.common-labels dns_names = local.dns_names - service = local.service + services = [local.service] icon = local.icon request_headers = local.request_headers providers = { diff --git a/apps/dbgate/index.yaml b/apps/dbgate/index.yaml index cf5dd9f..755b8e4 100644 --- a/apps/dbgate/index.yaml +++ b/apps/dbgate/index.yaml @@ -6,15 +6,10 @@ metadata: name: dbgate description: null options: - sub-domain: - default: dbgate + app_group: + default: dev examples: - - dbgate - type: string - domain_name: - default: your_company.com - examples: - - your_company.com + - dev type: string images: default: @@ -55,45 +50,6 @@ options: type: string type: object type: object - app_group: - default: dev - examples: - - dev - type: string - maria: - default: [] - examples: - - [] - items: - properties: - dbname: - default: '' - type: string - name: - default: '' - type: string - namespace: - default: '' - type: string - secret: - properties: - key: - default: '' - type: string - name: - default: '' - type: string - type: object - username: - default: '' - type: string - type: object - type: array - domain: - default: your-company - examples: - - your-company - type: string storage: default: volume: @@ -131,54 +87,6 @@ options: type: string type: object type: object - ingress_class: - default: traefik - examples: - - traefik - type: string - mongo: - default: [] - examples: - - [] - items: - properties: - dbname: - default: '' - type: string - name: - default: '' - type: string - namespace: - default: '' - type: string - secret: - properties: - key: - default: '' - type: string - name: - default: '' - type: string - type: object - username: - default: '' - type: string - type: object - type: array - redis: - default: [] - examples: - - [] - items: - properties: - name: - default: '' - type: string - namespace: - default: '' - type: string - type: object - type: array issuer: default: letsencrypt-prod examples: @@ -213,6 +121,98 @@ options: type: string type: object type: array + ingress_class: + default: traefik + examples: + - traefik + type: string + maria: + default: [] + examples: + - [] + items: + properties: + dbname: + default: '' + type: string + name: + default: '' + type: string + namespace: + default: '' + type: string + secret: + properties: + key: + default: '' + type: string + name: + default: '' + type: string + type: object + username: + default: '' + type: string + type: object + type: array + domain_name: + default: your_company.com + examples: + - your_company.com + type: string + domain: + default: your-company + examples: + - your-company + type: string + redis: + default: [] + examples: + - [] + items: + properties: + name: + default: '' + type: string + namespace: + default: '' + type: string + type: object + type: array + mongo: + default: [] + examples: + - [] + items: + properties: + dbname: + default: '' + type: string + name: + default: '' + type: string + namespace: + default: '' + type: string + secret: + properties: + key: + default: '' + type: string + name: + default: '' + type: string + type: object + username: + default: '' + type: string + type: object + type: array + sub-domain: + default: dbgate + examples: + - dbgate + type: string dependencies: - dist: null category: core diff --git a/apps/dbgate/presentation.tf b/apps/dbgate/presentation.tf index bf92529..95a8b1f 100644 --- a/apps/dbgate/presentation.tf +++ b/apps/dbgate/presentation.tf @@ -38,7 +38,7 @@ module "ingress" { labels = local.common-labels dns_names = local.dns_names middlewares = [] - service = local.service + services = [local.service] providers = { kubectl = kubectl } diff --git a/apps/gitea/index.yaml b/apps/gitea/index.yaml index 07ce884..030bf12 100644 --- a/apps/gitea/index.yaml +++ b/apps/gitea/index.yaml @@ -9,21 +9,31 @@ metadata: A painless self-hosted Git service. Gitea is a community managed lightweight code hosting solution written in Go. It is published under the MIT license. options: - load-balancer: - default: - ip: '' + default-branch: + default: main examples: - - ip: '' + - main + type: string + push-create: + default: + org: 'true' + private: 'false' + user: 'true' + examples: + - org: 'true' + private: 'false' + user: 'true' properties: - ip: - default: '' + org: + default: 'true' + type: string + private: + default: 'false' + type: string + user: + default: 'true' type: string type: object - sub-domain: - default: git - examples: - - git - type: string admin: default: email: git-admin@git.your_company.com @@ -39,21 +49,36 @@ options: default: gitea_admin type: string type: object - webhook: - default: - allowed-hosts: private - skip-tls-verify: false + ssh-sub-domain: + default: git examples: - - allowed-hosts: private - skip-tls-verify: false + - git + type: string + issuer: + default: letsencrypt-prod + examples: + - letsencrypt-prod + type: string + load-balancer: + default: + ip: '' + examples: + - ip: '' properties: - allowed-hosts: - default: private + ip: + default: '' type: string - skip-tls-verify: - default: false - type: boolean type: object + ssh-port: + default: 2222 + examples: + - 2222 + type: integer + theme: + default: gitea-modern + examples: + - gitea-modern + type: string storage: default: postgres: @@ -115,30 +140,10 @@ options: type: string type: object type: object - domain_name: - default: your_company.com + domain: + default: your-company examples: - - your_company.com - type: string - ssh-port: - default: 2222 - examples: - - 2222 - type: integer - release: - default: 8.3.0 - examples: - - 8.3.0 - type: string - default-branch: - default: main - examples: - - main - type: string - app_group: - default: dev - examples: - - dev + - your-company type: string images: default: @@ -271,92 +276,15 @@ options: type: string type: object type: object - timezone: - default: Europe/Paris - examples: - - Europe/Paris - type: string - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - type: string - redis: - default: - exporter: - enabled: true - examples: - - exporter: - enabled: true - properties: - exporter: - default: - enabled: true - properties: - enabled: - default: true - type: boolean - type: object - type: object - postgres: - default: - replicas: 1 - examples: - - replicas: 1 - properties: - replicas: - default: 1 - type: integer - type: object - replicas: - default: 1 - examples: - - 1 - type: integer - push-create: - default: - org: 'true' - private: 'false' - user: 'true' - examples: - - org: 'true' - private: 'false' - user: 'true' - properties: - org: - default: 'true' - type: string - private: - default: 'false' - type: string - user: - default: 'true' - type: string - type: object - disable-registration: - default: true - examples: - - true - type: boolean - ssh-sub-domain: - default: git - examples: - - git - type: string ingress_class: default: traefik examples: - traefik type: string - theme: - default: gitea-modern + app_group: + default: dev examples: - - gitea-modern - type: string - domain: - default: your-company - examples: - - your-company + - dev type: string backups: default: @@ -464,6 +392,78 @@ options: default: false type: boolean type: object + webhook: + default: + allowed-hosts: private + skip-tls-verify: false + examples: + - allowed-hosts: private + skip-tls-verify: false + properties: + allowed-hosts: + default: private + type: string + skip-tls-verify: + default: false + type: boolean + type: object + disable-registration: + default: true + examples: + - true + type: boolean + release: + default: 8.3.0 + examples: + - 8.3.0 + type: string + postgres: + default: + replicas: 1 + examples: + - replicas: 1 + properties: + replicas: + default: 1 + type: integer + type: object + sub-domain: + default: git + examples: + - git + type: string + replicas: + default: 1 + examples: + - 1 + type: integer + redis: + default: + exporter: + enabled: true + examples: + - exporter: + enabled: true + properties: + exporter: + default: + enabled: true + properties: + enabled: + default: true + type: boolean + type: object + type: object + domain_name: + default: your_company.com + examples: + - your_company.com + type: string + timezone: + default: Europe/Paris + examples: + - Europe/Paris + type: string dependencies: - dist: null category: share diff --git a/apps/gitea/presentation.tf b/apps/gitea/presentation.tf index 7ecc4d8..f4756f0 100644 --- a/apps/gitea/presentation.tf +++ b/apps/gitea/presentation.tf @@ -38,7 +38,7 @@ module "ingress" { labels = local.common-labels dns_names = local.dns_names middlewares = [] - service = local.service + services = [local.service] providers = { kubectl = kubectl } diff --git a/apps/gramo/index.yaml b/apps/gramo/index.yaml index cfe1109..94baaa5 100644 --- a/apps/gramo/index.yaml +++ b/apps/gramo/index.yaml @@ -45,36 +45,16 @@ options: type: string type: object type: object - domain_name: - default: your_company.com + app_group: + default: infra examples: - - your_company.com + - infra type: string issuer: default: letsencrypt-prod examples: - letsencrypt-prod type: string - managed: - default: false - examples: - - false - type: boolean - cluster-admin: - default: false - examples: - - false - type: boolean - sub-domain: - default: gramo - examples: - - gramo - type: string - ingress_class: - default: traefik - examples: - - traefik - type: string domain: default: your-company examples: @@ -85,11 +65,31 @@ options: items: type: string type: array - app_group: - default: infra + sub-domain: + default: gramo examples: - - infra + - gramo type: string + domain_name: + default: your_company.com + examples: + - your_company.com + type: string + managed: + default: false + examples: + - false + type: boolean + ingress_class: + default: traefik + examples: + - traefik + type: string + cluster-admin: + default: false + examples: + - false + type: boolean dependencies: - dist: null category: share diff --git a/apps/gramo/presentation.tf b/apps/gramo/presentation.tf index eb865b2..2a1477d 100644 --- a/apps/gramo/presentation.tf +++ b/apps/gramo/presentation.tf @@ -76,7 +76,7 @@ module "forward" { ingress_class = var.ingress_class labels = local.common-labels dns_names = local.dns_names - service = local.service + services = [local.service] icon = local.icon request_headers = local.request_headers providers = { diff --git a/apps/nextcloud/index.yaml b/apps/nextcloud/index.yaml index a5f686c..072afaf 100644 --- a/apps/nextcloud/index.yaml +++ b/apps/nextcloud/index.yaml @@ -6,26 +6,6 @@ metadata: name: nextcloud description: null options: - sub-domain: - default: files - examples: - - files - type: string - postgres: - default: - replicas: 1 - examples: - - replicas: 1 - properties: - replicas: - default: 1 - type: integer - type: object - openid-name: - default: vynil - examples: - - vynil - type: string backups: default: enable: false @@ -132,118 +112,31 @@ options: default: false type: boolean type: object - redis: - default: - exporter: - enabled: true + domain_name: + default: your_company.com examples: - - exporter: - enabled: true - properties: - exporter: - default: - enabled: true - properties: - enabled: - default: true - type: boolean - 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 + - your_company.com + type: string + openid-name: + default: vynil 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 + - vynil + type: string issuer: default: letsencrypt-prod examples: - letsencrypt-prod type: string + postgres: + default: + replicas: 1 + examples: + - replicas: 1 + properties: + replicas: + default: 1 + type: integer + type: object storage: default: postgres: @@ -305,16 +198,33 @@ options: type: string type: object type: object + sub-domain: + default: files + examples: + - files + type: string + redis: + default: + exporter: + enabled: true + examples: + - exporter: + enabled: true + properties: + exporter: + default: + enabled: true + properties: + enabled: + default: true + type: boolean + type: object + type: object domain: default: your-company examples: - your-company type: string - ingress_class: - default: traefik - examples: - - traefik - type: string images: default: collabora: @@ -570,26 +480,101 @@ 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 app_group: default: '' examples: - '' type: string - admin: - default: - name: nextcloud_admin - examples: - - name: nextcloud_admin - properties: - name: - default: nextcloud_admin - type: string - type: object - domain_name: - default: your_company.com - examples: - - your_company.com - type: string hpa: default: avg-cpu: 50 @@ -610,6 +595,21 @@ 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 + ingress_class: + default: traefik + examples: + - traefik + type: string dependencies: - dist: null category: share diff --git a/apps/nextcloud/presentation.tf b/apps/nextcloud/presentation.tf index 52e63d6..3406ce3 100644 --- a/apps/nextcloud/presentation.tf +++ b/apps/nextcloud/presentation.tf @@ -35,7 +35,7 @@ module "ingress" { labels = local.common-labels dns_names = local.dns_names middlewares = ["${var.instance}-sslenforce", "${var.instance}-redirectdav", "${var.instance}-redirectindex"] - service = local.service + services = [local.service] providers = { kubectl = kubectl } @@ -94,7 +94,7 @@ module "collabora-ingress" { labels = local.collabora-labels dns_names = [local.dns-collabora] middlewares = [] - service = local.collabora-service + services = [local.collabora-service] providers = { kubectl = kubectl } @@ -125,7 +125,7 @@ module "onlyoffice-ingress" { labels = local.onlyoffice-labels dns_names = [local.dns-onlyoffice] middlewares = [] - service = local.onlyoffice-service + services = [local.onlyoffice-service] providers = { kubectl = kubectl } diff --git a/apps/okd/index.yaml b/apps/okd/index.yaml index 3d594cf..7c209cf 100644 --- a/apps/okd/index.yaml +++ b/apps/okd/index.yaml @@ -6,22 +6,7 @@ metadata: name: okd description: null options: - sub-domain: - default: okd - examples: - - okd - type: string - ingress_class: - default: traefik - examples: - - traefik - type: string - domain: - default: your-company - examples: - - your-company - type: string - cluster-admin: + managed: default: false examples: - false @@ -31,6 +16,11 @@ options: items: type: string type: array + cluster-admin: + default: false + examples: + - false + type: boolean images: default: okd: @@ -70,15 +60,15 @@ options: type: string type: object type: object - managed: - default: false + domain: + default: your-company examples: - - false - type: boolean - domain_name: - default: your_company.com + - your-company + type: string + ingress_class: + default: traefik examples: - - your_company.com + - traefik type: string issuer: default: letsencrypt-prod @@ -90,6 +80,16 @@ options: examples: - infra type: string + sub-domain: + default: okd + examples: + - okd + type: string + domain_name: + default: your_company.com + examples: + - your_company.com + type: string dependencies: - dist: null category: share diff --git a/apps/okd/presentation.tf b/apps/okd/presentation.tf index a322503..a14da20 100644 --- a/apps/okd/presentation.tf +++ b/apps/okd/presentation.tf @@ -38,7 +38,7 @@ module "ingress" { labels = local.common-labels dns_names = local.dns_names middlewares = ["forward-${local.app_name}"] - service = local.service + services = [local.service] providers = { kubectl = kubectl } @@ -76,7 +76,7 @@ module "forward" { ingress_class = var.ingress_class labels = local.common-labels dns_names = local.dns_names - service = local.service + services = [local.service] icon = local.icon request_headers = local.request_headers providers = { diff --git a/apps/traefik-ui/index.yaml b/apps/traefik-ui/index.yaml index ccf0550..49edc81 100644 --- a/apps/traefik-ui/index.yaml +++ b/apps/traefik-ui/index.yaml @@ -6,31 +6,31 @@ metadata: name: traefik-ui description: Access to the Traefik UI options: - domain: - default: your-company - examples: - - your-company - type: string ingress_class: default: traefik examples: - traefik type: string + sub-domain: + default: traefik + examples: + - traefik + type: string domain_name: default: your_company.com examples: - your_company.com type: string + domain: + default: your-company + examples: + - your-company + type: string app_group: default: infra examples: - infra type: string - sub-domain: - default: traefik - examples: - - traefik - type: string issuer: default: letsencrypt-prod examples: diff --git a/apps/traefik-ui/presentation.tf b/apps/traefik-ui/presentation.tf index 3c5ce83..f502f0a 100644 --- a/apps/traefik-ui/presentation.tf +++ b/apps/traefik-ui/presentation.tf @@ -25,7 +25,7 @@ module "ingress" { labels = local.common-labels dns_names = local.dns_names middlewares = ["forward-${local.app_name}"] - service = local.service + services = [local.service] providers = { kubectl = kubectl } @@ -63,7 +63,7 @@ module "forward" { ingress_class = var.ingress_class labels = local.common-labels dns_names = local.dns_names - service = local.service + services = [local.service] icon = local.icon request_headers = local.request_headers providers = { diff --git a/apps/woodpecker/index.yaml b/apps/woodpecker/index.yaml index e93bd3f..1db6fba 100644 --- a/apps/woodpecker/index.yaml +++ b/apps/woodpecker/index.yaml @@ -6,11 +6,95 @@ metadata: name: woodpecker description: null options: + admin-users: + default: woodpecker,admin + examples: + - woodpecker,admin + type: string + issuer: + default: letsencrypt-prod + examples: + - letsencrypt-prod + type: string + sub-domain: + default: ci + examples: + - ci + type: string + storage-server: + default: + accessMode: ReadWriteOnce + size: 10Gi + examples: + - accessMode: ReadWriteOnce + size: 10Gi + properties: + accessMode: + default: ReadWriteOnce + enum: + - ReadWriteOnce + - ReadOnlyMany + - ReadWriteMany + type: string + size: + default: 10Gi + type: string + type: object + timeouts: + default: + default: '60' + max: '120' + examples: + - default: '60' + max: '120' + properties: + default: + default: '60' + type: string + max: + default: '120' + type: string + type: object + storage-agent: + default: + size: 10Gi + storageClass: '' + writeMany: 'false' + examples: + - size: 10Gi + storageClass: '' + writeMany: 'false' + properties: + size: + default: 10Gi + type: string + storageClass: + default: '' + type: string + writeMany: + default: 'false' + type: string + type: object + domain_name: + default: your_company.com + examples: + - your_company.com + type: string ingress_class: default: traefik examples: - traefik type: string + app_group: + default: dev + examples: + - dev + type: string + domain: + default: your-company + examples: + - your-company + type: string images: default: agent: @@ -108,90 +192,6 @@ options: type: string type: object type: object - storage-server: - default: - accessMode: ReadWriteOnce - size: 10Gi - examples: - - accessMode: ReadWriteOnce - size: 10Gi - properties: - accessMode: - default: ReadWriteOnce - enum: - - ReadWriteOnce - - ReadOnlyMany - - ReadWriteMany - type: string - size: - default: 10Gi - type: string - type: object - timeouts: - default: - default: '60' - max: '120' - examples: - - default: '60' - max: '120' - properties: - default: - default: '60' - type: string - max: - default: '120' - type: string - type: object - sub-domain: - default: ci - examples: - - ci - type: string - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - type: string - storage-agent: - default: - size: 10Gi - storageClass: '' - writeMany: 'false' - examples: - - size: 10Gi - storageClass: '' - writeMany: 'false' - properties: - size: - default: 10Gi - type: string - storageClass: - default: '' - type: string - writeMany: - default: 'false' - type: string - type: object - app_group: - default: dev - examples: - - dev - type: string - domain_name: - default: your_company.com - examples: - - your_company.com - type: string - admin-users: - default: woodpecker,admin - examples: - - woodpecker,admin - type: string - domain: - default: your-company - examples: - - your-company - type: string dependencies: - dist: null category: apps diff --git a/apps/woodpecker/presentation.tf b/apps/woodpecker/presentation.tf index d198a3d..02b1697 100644 --- a/apps/woodpecker/presentation.tf +++ b/apps/woodpecker/presentation.tf @@ -20,7 +20,7 @@ module "ingress" { labels = local.common-labels dns_names = local.dns_names middlewares = [] - service = local.service + services = [local.service] providers = { kubectl = kubectl } diff --git a/monitor/alertmanager/index.yaml b/monitor/alertmanager/index.yaml index 2622eba..84857e1 100644 --- a/monitor/alertmanager/index.yaml +++ b/monitor/alertmanager/index.yaml @@ -6,15 +6,35 @@ metadata: name: alertmanager description: null options: + app_group: + default: monitor + examples: + - monitor + type: string + listenLocal: + default: false + examples: + - false + type: boolean + retention: + default: 120h + examples: + - 120h + type: string + replicas: + default: 1 + examples: + - 1 + type: integer ingress_class: default: traefik examples: - traefik type: string - app_group: - default: monitor + domain: + default: your-company examples: - - monitor + - your-company type: string images: default: @@ -55,26 +75,6 @@ options: type: string type: object type: object - retention: - default: 120h - examples: - - 120h - type: string - sub-domain: - default: alertmanager - examples: - - alertmanager - type: string - domain: - default: your-company - examples: - - your-company - type: string - replicas: - default: 1 - examples: - - 1 - type: integer logLevel: default: info examples: @@ -85,16 +85,16 @@ options: examples: - letsencrypt-prod type: string + sub-domain: + default: alertmanager + examples: + - alertmanager + type: string domain_name: default: your_company.com examples: - your_company.com type: string - listenLocal: - default: false - examples: - - false - type: boolean dependencies: - dist: null category: share diff --git a/monitor/alertmanager/presentation.tf b/monitor/alertmanager/presentation.tf index 77c4f7d..9d169cb 100644 --- a/monitor/alertmanager/presentation.tf +++ b/monitor/alertmanager/presentation.tf @@ -63,7 +63,7 @@ module "forward" { ingress_class = var.ingress_class labels = local.common-labels dns_names = local.dns_names - service = local.service + services = [local.service] icon = local.icon request_headers = local.request_headers providers = { diff --git a/monitor/grafana/v1_PersistentVolumeClaim_grafana.yaml b/monitor/grafana/v1_PersistentVolumeClaim_grafana.yaml index ca79b05..7bdc05e 100644 --- a/monitor/grafana/v1_PersistentVolumeClaim_grafana.yaml +++ b/monitor/grafana/v1_PersistentVolumeClaim_grafana.yaml @@ -17,4 +17,4 @@ spec: - "ReadWriteOnce" resources: requests: - storage: "10Gi" \ No newline at end of file + storage: 10Gi \ No newline at end of file diff --git a/monitor/loki/index.yaml b/monitor/loki/index.yaml index ed46de3..d91ceed 100644 --- a/monitor/loki/index.yaml +++ b/monitor/loki/index.yaml @@ -10,19 +10,19 @@ options: default: volume: accessMode: ReadWriteOnce - size: 1oGi + size: 10Gi type: Filesystem description: Configure this app storage examples: - volume: accessMode: ReadWriteOnce - size: 1oGi + size: 10Gi type: Filesystem properties: volume: default: accessMode: ReadWriteOnce - size: 1oGi + size: 10Gi type: Filesystem properties: accessMode: @@ -33,7 +33,7 @@ options: - ReadWriteMany type: string size: - default: 1oGi + default: 10Gi type: string type: default: Filesystem @@ -43,11 +43,6 @@ options: type: string type: object type: object - alertmanager: - default: alertmanager-alertmanager - examples: - - alertmanager-alertmanager - type: string images: default: loki: @@ -87,6 +82,11 @@ options: type: string type: object type: object + alertmanager: + default: alertmanager-alertmanager + examples: + - alertmanager-alertmanager + type: string dependencies: [] providers: kubernetes: true diff --git a/monitor/prometheus/index.yaml b/monitor/prometheus/index.yaml index 556a5a5..34c695f 100644 --- a/monitor/prometheus/index.yaml +++ b/monitor/prometheus/index.yaml @@ -6,35 +6,50 @@ metadata: name: prometheus description: null options: - replicas: - default: 1 + alertmanager: + default: alertmanager-alertmanager examples: - - 1 - type: integer - logLevel: - default: info - examples: - - info + - alertmanager-alertmanager type: string - listenLocal: - default: false - examples: - - false - type: boolean domain: default: your-company examples: - your-company type: string - retention: - default: 10d + issuer: + default: letsencrypt-prod examples: - - 10d + - letsencrypt-prod type: string - alertmanager: - default: alertmanager-alertmanager + replicas: + default: 1 examples: - - alertmanager-alertmanager + - 1 + type: integer + ingress_class: + default: traefik + examples: + - traefik + type: string + domain_name: + default: your_company.com + examples: + - your_company.com + type: string + app_group: + default: monitor + examples: + - monitor + type: string + shards: + default: 1 + examples: + - 1 + type: integer + sub-domain: + default: prometheus + examples: + - prometheus type: string images: default: @@ -75,41 +90,26 @@ options: type: string type: object type: object + logLevel: + default: info + examples: + - info + type: string enableAdminAPI: default: false examples: - false type: boolean - domain_name: - default: your_company.com + retention: + default: 10d examples: - - your_company.com + - 10d type: string - sub-domain: - default: prometheus + listenLocal: + default: false examples: - - prometheus - type: string - app_group: - default: monitor - examples: - - monitor - type: string - shards: - default: 1 - examples: - - 1 - type: integer - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - type: string - ingress_class: - default: traefik - examples: - - traefik - type: string + - false + type: boolean dependencies: - dist: null category: share diff --git a/monitor/prometheus/presentation.tf b/monitor/prometheus/presentation.tf index 60c0e6c..25633e7 100644 --- a/monitor/prometheus/presentation.tf +++ b/monitor/prometheus/presentation.tf @@ -63,7 +63,7 @@ module "forward" { ingress_class = var.ingress_class labels = local.common-labels dns_names = local.dns_names - service = local.service + services = [local.service] icon = local.icon request_headers = local.request_headers providers = { diff --git a/share/dataset-pg/directus.tf b/share/dataset-pg/directus.tf index 6c76611..e7023f2 100644 --- a/share/dataset-pg/directus.tf +++ b/share/dataset-pg/directus.tf @@ -197,7 +197,7 @@ EOF module "directus-service" { count = var.extentions.directus.enable ? 1 : 0 - source = "/dist/modules/service" + source = "git::https://git.solidite.fr/vynil/kydah-modules.git//service" component = "directus" instance = var.instance namespace = var.namespace @@ -211,7 +211,7 @@ module "directus-service" { module "directus-ingress" { count = var.extentions.directus.enable ? 1 : 0 - source = "/dist/modules/ingress" + source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress" component = "directus" instance = var.instance namespace = var.namespace @@ -221,7 +221,7 @@ module "directus-ingress" { dns_names = [local.directus-dns_name] create-redirect = true middlewares = [] - service = local.directus-service + services = [local.directus-service] providers = { kubectl = kubectl } @@ -229,7 +229,7 @@ module "directus-ingress" { module "directus-application" { count = var.extentions.directus.enable ? 1 : 0 - source = "/dist/modules/application" + source = "git::https://git.solidite.fr/vynil/kydah-modules.git//application" component = "directus-${replace(var.sub-domain, ".", "-")}" instance = var.instance app_group = var.app_group @@ -243,7 +243,7 @@ module "directus-application" { module "directus-oauth2" { count = var.extentions.directus.enable ? 1 : 0 - source = "/dist/modules/oauth2" + source = "git::https://git.solidite.fr/vynil/kydah-modules.git//oauth2" component = "directus-${replace(var.sub-domain, ".", "-")}" instance = var.instance namespace = var.namespace diff --git a/share/dataset-pg/index.yaml b/share/dataset-pg/index.yaml index 943a1db..b2cf1ca 100644 --- a/share/dataset-pg/index.yaml +++ b/share/dataset-pg/index.yaml @@ -6,21 +6,49 @@ metadata: name: dataset-pg description: null options: - app_group: - default: api + images: + default: + postgresql: + registry: ghcr.io + repository: cloudnative-pg/postgresql + tag: 15.3 examples: - - api - type: string + - postgresql: + registry: ghcr.io + repository: cloudnative-pg/postgresql + tag: 15.3 + properties: + postgresql: + default: + registry: ghcr.io + repository: cloudnative-pg/postgresql + tag: 15.3 + properties: + registry: + default: ghcr.io + type: string + repository: + default: cloudnative-pg/postgresql + type: string + tag: + default: 15.3 + type: number + type: object + type: object + databases: + default: [] + items: + properties: + name: + default: db + type: string + type: object + type: array domain: default: your-company examples: - your-company type: string - sub-domain: - default: dataset-pg - examples: - - dataset-pg - type: string storage: default: postgres: @@ -38,10 +66,98 @@ options: type: string type: object type: object - issuer: - default: letsencrypt-prod + postgres: + default: + replicas: 1 examples: - - letsencrypt-prod + - replicas: 1 + properties: + replicas: + default: 1 + type: integer + type: object + backups: + default: + enable: false + endpoint: '' + key-id-key: s3-id + retention: + db: 30d + schedule: + db: 0 3 * * * + secret-key: s3-secret + secret-name: backup-settings + examples: + - enable: false + endpoint: '' + key-id-key: s3-id + retention: + db: 30d + schedule: + db: 0 3 * * * + secret-key: s3-secret + secret-name: backup-settings + properties: + enable: + default: false + type: boolean + endpoint: + default: '' + type: string + key-id-key: + default: s3-id + type: string + retention: + default: + db: 30d + properties: + db: + default: 30d + type: string + type: object + schedule: + default: + db: 0 3 * * * + properties: + db: + default: 0 3 * * * + type: string + type: object + secret-key: + default: s3-secret + type: string + secret-name: + default: backup-settings + type: string + type: object + roles: + default: [] + items: + properties: + name: + default: alt-account + type: string + type: object + type: array + sub-domain: + default: dataset-pg + examples: + - dataset-pg + type: string + ingress_class: + default: traefik + examples: + - traefik + type: string + domain_name: + default: your_company.com + examples: + - your_company.com + type: string + app_group: + default: api + examples: + - api type: string extentions: default: @@ -224,126 +340,10 @@ options: type: object type: object type: object - backups: - default: - enable: false - endpoint: '' - key-id-key: s3-id - retention: - db: 30d - schedule: - db: 0 3 * * * - secret-key: s3-secret - secret-name: backup-settings + issuer: + default: letsencrypt-prod examples: - - enable: false - endpoint: '' - key-id-key: s3-id - retention: - db: 30d - schedule: - db: 0 3 * * * - secret-key: s3-secret - secret-name: backup-settings - properties: - enable: - default: false - type: boolean - endpoint: - default: '' - type: string - key-id-key: - default: s3-id - type: string - retention: - default: - db: 30d - properties: - db: - default: 30d - type: string - type: object - schedule: - default: - db: 0 3 * * * - properties: - db: - default: 0 3 * * * - type: string - type: object - secret-key: - default: s3-secret - type: string - secret-name: - default: backup-settings - type: string - type: object - ingress_class: - default: traefik - examples: - - traefik - type: string - databases: - default: [] - items: - properties: - name: - default: db - type: string - type: object - type: array - roles: - default: [] - items: - properties: - name: - default: alt-account - type: string - type: object - type: array - images: - default: - postgresql: - registry: ghcr.io - repository: cloudnative-pg/postgresql - tag: 15.3 - examples: - - postgresql: - registry: ghcr.io - repository: cloudnative-pg/postgresql - tag: 15.3 - properties: - postgresql: - default: - registry: ghcr.io - repository: cloudnative-pg/postgresql - tag: 15.3 - properties: - registry: - default: ghcr.io - type: string - repository: - default: cloudnative-pg/postgresql - type: string - tag: - default: 15.3 - type: number - type: object - type: object - postgres: - default: - replicas: 1 - examples: - - replicas: 1 - properties: - replicas: - default: 1 - type: integer - type: object - domain_name: - default: your_company.com - examples: - - your_company.com + - letsencrypt-prod type: string dependencies: - dist: null diff --git a/share/dataset-pg/postgrest.tf b/share/dataset-pg/postgrest.tf index b877998..99ea411 100644 --- a/share/dataset-pg/postgrest.tf +++ b/share/dataset-pg/postgrest.tf @@ -133,7 +133,7 @@ EOF module "postgrest-service" { count = var.extentions.postgrest.enable ? 1 : 0 - source = "/dist/modules/service" + source = "git::https://git.solidite.fr/vynil/kydah-modules.git//service" component = "postgrest" instance = var.instance namespace = var.namespace @@ -147,7 +147,7 @@ module "postgrest-service" { module "postgrest-ingress" { count = var.extentions.postgrest.enable ? 1 : 0 - source = "/dist/modules/ingress" + source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress" component = "postgrest" instance = var.instance namespace = var.namespace @@ -157,7 +157,7 @@ module "postgrest-ingress" { dns_names = [local.prest-dns_name] create-redirect = true middlewares = [] - service = local.prest-service + services = [local.prest-service] providers = { kubectl = kubectl } @@ -165,7 +165,7 @@ module "postgrest-ingress" { module "swagger-service" { count = var.extentions.postgrest.enable && var.extentions.postgrest.swagger.enable ? 1 : 0 - source = "/dist/modules/service" + source = "git::https://git.solidite.fr/vynil/kydah-modules.git//service" component = "swagger" instance = var.instance namespace = var.namespace @@ -179,7 +179,7 @@ module "swagger-service" { module "swagger-ingress" { count = var.extentions.postgrest.enable && var.extentions.postgrest.swagger.enable ? 1 : 0 - source = "/dist/modules/ingress" + source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress" component = "swagger" instance = var.instance namespace = var.namespace @@ -191,7 +191,7 @@ module "swagger-ingress" { create-cert = false sub-path = "ui" secret-component = "postgrest" - service = local.swagger-service + services = [local.swagger-service] providers = { kubectl = kubectl }