diff --git a/apps/dbgate/index.yaml b/apps/dbgate/index.yaml index 59c22ef..008e918 100644 --- a/apps/dbgate/index.yaml +++ b/apps/dbgate/index.yaml @@ -6,6 +6,45 @@ metadata: name: dbgate description: null options: + images: + default: + dbgate: + pullPolicy: IfNotPresent + registry: docker.io + repository: dbgate/dbgate + tag: 5.2.6-alpine + examples: + - dbgate: + pullPolicy: IfNotPresent + registry: docker.io + repository: dbgate/dbgate + tag: 5.2.6-alpine + properties: + dbgate: + default: + pullPolicy: IfNotPresent + registry: docker.io + repository: dbgate/dbgate + tag: 5.2.6-alpine + properties: + pullPolicy: + default: IfNotPresent + enum: + - Always + - Never + - IfNotPresent + type: string + registry: + default: docker.io + type: string + repository: + default: dbgate/dbgate + type: string + tag: + default: 5.2.6-alpine + type: string + type: object + type: object ingress-class: default: traefik examples: @@ -13,202 +52,163 @@ options: type: string redis: default: [] - items: - type: object - properties: - namespace: - type: string - default: '' - name: - type: string - default: '' - secret: - type: object - properties: - name: - type: string - default: '' - key: - type: string - default: '' examples: - [] - type: array - domain-name: - default: your_company.com - examples: - - your_company.com - type: string - images: - default: - dbgate: - registry: docker.io - repository: dbgate/dbgate - tag: 5.2.6-alpine - pullPolicy: IfNotPresent - properties: - dbgate: - properties: - pullPolicy: - enum: - - Always - - Never - - IfNotPresent - type: string - default: IfNotPresent - registry: - type: string - default: docker.io - repository: - type: string - default: dbgate/dbgate - tag: - type: string - default: 5.2.6-alpine - type: object - default: - registry: docker.io - repository: dbgate/dbgate - tag: 5.2.6-alpine - pullPolicy: IfNotPresent - examples: - - dbgate: - registry: docker.io - repository: dbgate/dbgate - tag: 5.2.6-alpine - pullPolicy: IfNotPresent - type: object - domain: - default: your-company - examples: - - your-company - type: string - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - type: string - app-group: - default: dev - examples: - - dev - type: string - maria: - default: [] items: - type: object properties: - namespace: - type: string - default: '' name: - type: string default: '' - username: type: string + namespace: default: '' + type: string secret: - type: object properties: - name: - type: string - default: '' key: - type: string default: '' - examples: - - [] - type: array - pg: - default: [] - items: + type: string + name: + default: '' + type: string + type: object type: object - properties: - namespace: - type: string - default: '' - name: - type: string - default: '' - dbname: - type: string - default: '' - username: - type: string - default: '' - secret: - type: object - properties: - name: - type: string - default: '' - key: - type: string - default: '' - examples: - - [] - type: array - storage: - default: - size: 1Gi - accessMode: ReadWriteOnce - type: Filesystem - properties: - type: - enum: - - Filesystem - - Block - type: string - default: Filesystem - accessMode: - enum: - - ReadWriteOnce - - ReadOnlyMany - - ReadWriteMany - type: string - default: ReadWriteOnce - size: - type: string - default: 1Gi - examples: - - size: 1Gi - accessMode: ReadWriteOnce - type: Filesystem - type: object - mongo: - default: [] - items: - type: object - properties: - namespace: - type: string - default: '' - name: - type: string - default: '' - dbname: - type: string - default: '' - username: - type: string - default: '' - secret: - type: object - properties: - name: - type: string - default: '' - key: - type: string - default: '' - examples: - - [] type: array sub-domain: default: dbgate examples: - dbgate type: string + issuer: + default: letsencrypt-prod + examples: + - letsencrypt-prod + type: string + maria: + default: [] + examples: + - [] + items: + properties: + 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 + pg: + 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 + 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 + domain-name: + default: your_company.com + examples: + - your_company.com + type: string + domain: + default: your-company + examples: + - your-company + type: string + app-group: + default: dev + examples: + - dev + type: string + storage: + default: + accessMode: ReadWriteOnce + size: 1Gi + type: Filesystem + examples: + - accessMode: ReadWriteOnce + size: 1Gi + type: Filesystem + properties: + accessMode: + default: ReadWriteOnce + enum: + - ReadWriteOnce + - ReadOnlyMany + - ReadWriteMany + type: string + size: + default: 1Gi + type: string + type: + default: Filesystem + enum: + - Filesystem + - Block + type: string + type: object dependencies: - dist: null category: share @@ -223,4 +223,5 @@ providers: postgresql: null restapi: true http: true + gitea: null tfaddtype: null diff --git a/meta/domain-devspaces/apps.tf b/meta/domain-devspaces/apps.tf index 7c74f2f..c1d0d98 100644 --- a/meta/domain-devspaces/apps.tf +++ b/meta/domain-devspaces/apps.tf @@ -15,6 +15,9 @@ locals { "app-group" = var.app-group } dbgate = { for k, v in var.apps.dbgate : k => v if k!="enable" } + # dbgate_pgs = flatten([for i in local.sorted-datasets: [ + # for db in + # ] if i.engine=="pg" && i]) } resource "kubernetes_namespace_v1" "apps-ns" { diff --git a/meta/domain-devspaces/index.yaml b/meta/domain-devspaces/index.yaml index 856b854..40b6f09 100644 --- a/meta/domain-devspaces/index.yaml +++ b/meta/domain-devspaces/index.yaml @@ -11,104 +11,180 @@ options: examples: - letsencrypt-prod type: string - storage-classes: - default: - FilesystemReadWriteMany: '' - FilesystemReadWriteOnce: '' - BlockReadWriteMany: '' - BlockReadWriteOnce: '' + organisations: + default: [] examples: - - FilesystemReadWriteMany: '' - FilesystemReadWriteOnce: '' - BlockReadWriteMany: '' - BlockReadWriteOnce: '' - type: object + - [] + items: + properties: + datasets: + default: [] + items: + properties: + engine: + default: pg + type: string + name: + default: '' + type: string + type: object + type: array + name: + default: '' + type: string + type: object + type: array + images: + default: + codeserver: + pullPolicy: IfNotPresent + registry: docker.io + repository: sebt3/code-server + tag: 4.15 + examples: + - codeserver: + pullPolicy: IfNotPresent + registry: docker.io + repository: sebt3/code-server + tag: 4.15 properties: - BlockReadWriteMany: - type: string + codeserver: + default: + pullPolicy: IfNotPresent + registry: docker.io + repository: sebt3/code-server + tag: 4.15 + properties: + pullPolicy: + default: IfNotPresent + enum: + - Always + - Never + - IfNotPresent + type: string + registry: + default: docker.io + type: string + repository: + default: sebt3/code-server + type: string + tag: + default: 4.15 + type: number + type: object + type: object + backups: + default: + enable: false + endpoint: '' + key-id-key: s3-id + secret-key: s3-secret + secret-name: backup-settings + examples: + - enable: false + endpoint: '' + key-id-key: s3-id + secret-key: s3-secret + secret-name: backup-settings + properties: + enable: + default: false + type: boolean + endpoint: default: '' - BlockReadWriteOnce: type: string - default: '' - FilesystemReadWriteMany: + key-id-key: + default: s3-id type: string - default: '' - FilesystemReadWriteOnce: + secret-key: + default: s3-secret type: string - default: '' + secret-name: + default: backup-settings + type: string + type: object stations-sub-domain: default: code examples: - code type: string - backups: + storage-classes: default: - enable: false - endpoint: '' - secret-name: backup-settings - key-id-key: s3-id - secret-key: s3-secret + BlockReadWriteMany: '' + BlockReadWriteOnce: '' + FilesystemReadWriteMany: '' + FilesystemReadWriteOnce: '' examples: - - enable: false - endpoint: '' - secret-name: backup-settings - key-id-key: s3-id - secret-key: s3-secret - type: object + - BlockReadWriteMany: '' + BlockReadWriteOnce: '' + FilesystemReadWriteMany: '' + FilesystemReadWriteOnce: '' properties: - enable: - type: boolean - default: false - endpoint: - type: string + BlockReadWriteMany: default: '' - key-id-key: type: string - default: s3-id - secret-key: + BlockReadWriteOnce: + default: '' type: string - default: s3-secret - secret-name: + FilesystemReadWriteMany: + default: '' type: string - default: backup-settings - organisations: + FilesystemReadWriteOnce: + default: '' + type: string + type: object + domain: + default: your-company + examples: + - your-company + type: string + app-group: + default: dev + examples: + - dev + type: string + external-databases: default: [] - items: - type: object - properties: - name: - type: string - default: '' - datasets: - default: [] - type: array - items: - type: object - properties: - name: - default: '' - type: string - engine: - default: pg - type: string examples: - [] - type: array - stations: - default: [] items: - type: object properties: - name: + engine: + default: postgres + enum: + - postgres + - mongo + - redis + - maria + - rabbit type: string + name: default: '' - organisations: - default: [] - type: array - items: - type: string - examples: - - [] + type: string + namespace: + default: '' + type: string + secret: + default: + name: default + namespace: default + pass-key: password + user-key: username + properties: + name: + default: default + type: string + namespace: + default: default + type: string + pass-key: + default: password + type: string + user-key: + default: username + type: string + type: object + type: object type: array apps: default: @@ -125,149 +201,73 @@ options: enable: false yaade: enable: false - type: object properties: dbgate: - type: object - properties: - enable: - type: boolean - default: false default: enable: false + properties: + enable: + default: false + type: boolean + type: object superset: - type: object - properties: - enable: - type: boolean - default: false default: enable: false + properties: + enable: + default: false + type: boolean + type: object yaade: - type: object - properties: - enable: - type: boolean - default: false default: enable: false - images: - default: - codeserver: - registry: docker.io - repository: sebt3/code-server - tag: 4.15 - pullPolicy: IfNotPresent - properties: - codeserver: properties: - pullPolicy: - enum: - - Always - - Never - - IfNotPresent - type: string - default: IfNotPresent - registry: - type: string - default: docker.io - repository: - type: string - default: sebt3/code-server - tag: - type: number - default: 4.15 + enable: + default: false + type: boolean type: object - default: - registry: docker.io - repository: sebt3/code-server - tag: 4.15 - pullPolicy: IfNotPresent - examples: - - codeserver: - registry: docker.io - repository: sebt3/code-server - tag: 4.15 - pullPolicy: IfNotPresent type: object - external-databases: - default: [] - items: - type: object - properties: - name: - type: string - default: '' - namespace: - type: string - default: '' - engine: - type: string - default: postgres - enum: - - postgres - - mongo - - redis - - maria - - rabbit - secret: - type: object - default: - name: default - namespace: default - user-key: username - pass-key: password - properties: - name: - type: string - default: default - namespace: - type: string - default: default - user-key: - type: string - default: username - pass-key: - type: string - default: password - examples: - - [] - type: array - domain: - default: your-company - examples: - - your-company - type: string domain-name: default: your_company.com examples: - your_company.com type: string - distributions: - default: - domain: domain - core: core + stations: + default: [] examples: - - domain: domain - core: core - type: object - properties: - core: - type: string - default: core - domain: - type: string - default: domain + - [] + items: + properties: + name: + default: '' + type: string + organisations: + default: [] + items: + type: string + type: array + type: object + type: array ingress-class: default: traefik examples: - traefik type: string - app-group: - default: dev + distributions: + default: + core: core + domain: domain examples: - - dev - type: string + - core: core + domain: domain + properties: + core: + default: core + type: string + domain: + default: domain + type: string + type: object dependencies: [] providers: kubernetes: true @@ -276,4 +276,5 @@ providers: postgresql: null restapi: null http: null + gitea: null tfaddtype: null diff --git a/share/dataset-maria/index.yaml b/share/dataset-maria/index.yaml index 99859d8..08a9832 100644 --- a/share/dataset-maria/index.yaml +++ b/share/dataset-maria/index.yaml @@ -61,4 +61,5 @@ providers: postgresql: null restapi: null http: null + gitea: null tfaddtype: null diff --git a/share/dataset-maria/mariadb.tf b/share/dataset-maria/mariadb.tf index d0769bc..8cfde14 100644 --- a/share/dataset-maria/mariadb.tf +++ b/share/dataset-maria/mariadb.tf @@ -33,8 +33,8 @@ data "kubernetes_secret_v1" "prj_mariadb_secret" { } resource "kubectl_manifest" "prj_mariadb" { yaml_body = <<-EOF - apiVersion: mariadbdbcommunity.mariadbdb.com/v1 - kind: mariadbDBCommunity + apiVersion: mariadb.mmontes.io/v1alpha1 + kind: MariaDB metadata: name: "${var.instance}-${var.component}" namespace: "${var.namespace}" @@ -60,3 +60,6 @@ resource "kubectl_manifest" "prj_mariadb" { storage: "${var.storage}" EOF } + + +