diff --git a/apps/code-server/index.yaml b/apps/code-server/index.yaml index ecfb72b..0c0f7f4 100644 --- a/apps/code-server/index.yaml +++ b/apps/code-server/index.yaml @@ -6,10 +6,15 @@ metadata: name: code-server description: null options: - domain: - default: your-company + ingress_class: + default: traefik examples: - - your-company + - traefik + type: string + timezone: + default: Europe/Paris + examples: + - Europe/Paris type: string images: default: @@ -50,26 +55,74 @@ options: type: number type: object type: object - no-editor: - default: false - examples: - - false - type: boolean - app_group: - default: dev - examples: - - dev - type: string - sub_domain: - default: code - examples: - - code - type: string domain_name: default: your-company.com examples: - your-company.com type: string + issuer: + default: letsencrypt-prod + examples: + - letsencrypt-prod + type: string + storage: + default: + volume: + accessMode: ReadWriteOnce + class: '' + size: 20Gi + type: Filesystem + description: Configure this app storage + examples: + - volume: + accessMode: ReadWriteOnce + class: '' + size: 20Gi + type: Filesystem + properties: + volume: + default: + accessMode: ReadWriteOnce + class: '' + size: 20Gi + type: Filesystem + properties: + accessMode: + default: ReadWriteOnce + enum: + - ReadWriteOnce + - ReadOnlyMany + - ReadWriteMany + type: string + class: + default: '' + type: string + size: + default: 20Gi + type: string + type: + default: Filesystem + enum: + - Filesystem + - Block + type: string + type: object + type: object + sub_domain: + default: code + examples: + - code + type: string + domain: + default: your-company + examples: + - your-company + type: string + no-editor: + default: false + examples: + - false + type: boolean admin: default: cluster: false @@ -85,57 +138,10 @@ options: default: false type: boolean type: object - issuer: - default: letsencrypt-prod + app_group: + default: dev examples: - - letsencrypt-prod - type: string - storage: - default: - volume: - accessMode: ReadWriteOnce - size: 20Gi - type: Filesystem - description: Configure this app storage - examples: - - volume: - accessMode: ReadWriteOnce - size: 20Gi - type: Filesystem - properties: - volume: - default: - accessMode: ReadWriteOnce - size: 20Gi - type: Filesystem - properties: - accessMode: - default: ReadWriteOnce - enum: - - ReadWriteOnce - - ReadOnlyMany - - ReadWriteMany - type: string - size: - default: 20Gi - type: string - type: - default: Filesystem - enum: - - Filesystem - - Block - type: string - type: object - type: object - timezone: - default: Europe/Paris - examples: - - Europe/Paris - type: string - ingress_class: - default: traefik - examples: - - traefik + - dev type: string dependencies: - dist: null diff --git a/apps/code-server/pvc.tf b/apps/code-server/pvc.tf index 64c2a17..8d34a6f 100644 --- a/apps/code-server/pvc.tf +++ b/apps/code-server/pvc.tf @@ -1,3 +1,16 @@ +locals { + pvc_spec = merge({ + "accessModes" = [var.storage.volume.accessMode] + "volumeMode" = var.storage.volume.type + "resources" = { + "requests" = { + "storage" = "${var.storage.volume.size}" + } + } + }, var.storage.volume.class != "" ?{ + "storageClassName" = var.storage.volume.class + }:{}) +} resource "kubectl_manifest" "pvc" { yaml_body = <<-EOF apiVersion: v1 @@ -6,12 +19,6 @@ resource "kubectl_manifest" "pvc" { name: "${var.component}-${var.instance}" namespace: "${var.namespace}" labels: ${jsonencode(local.common-labels)} - spec: - accessModes: - - "${var.storage.volume.accessMode}" - resources: - requests: - storage: "${var.storage.volume.size}" - volumeMode: "${var.storage.volume.type}" + spec: ${jsonencode(local.pvc_spec)} EOF } diff --git a/apps/dbgate/index.yaml b/apps/dbgate/index.yaml index a154398..8b0122c 100644 --- a/apps/dbgate/index.yaml +++ b/apps/dbgate/index.yaml @@ -6,106 +6,6 @@ metadata: name: dbgate description: null options: - 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 - storage: - default: - volume: - accessMode: ReadWriteOnce - size: 1Gi - type: Filesystem - description: Configure this app storage - examples: - - volume: - accessMode: ReadWriteOnce - size: 1Gi - type: Filesystem - properties: - volume: - default: - 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 - type: object - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - 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 maria: default: [] examples: @@ -135,15 +35,15 @@ options: type: string type: object type: array - app_group: - default: dev + ingress_class: + default: traefik examples: - - dev + - traefik type: string - sub_domain: - default: dbgate + domain_name: + default: your_company.com examples: - - dbgate + - your_company.com type: string redis: default: [] @@ -159,10 +59,49 @@ options: type: string type: object type: array - ingress_class: - default: traefik + mongo: + default: [] examples: - - traefik + - [] + 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 + sub_domain: + default: dbgate + examples: + - dbgate + type: string + app_group: + default: dev + examples: + - dev type: string images: default: @@ -203,16 +142,83 @@ options: type: string type: object type: object - domain_name: - default: your_company.com + storage: + default: + volume: + accessMode: ReadWriteOnce + class: '' + size: 1Gi + type: Filesystem + description: Configure this app storage examples: - - your_company.com - type: string - domain: - default: your-company + - volume: + accessMode: ReadWriteOnce + class: '' + size: 1Gi + type: Filesystem + properties: + volume: + default: + accessMode: ReadWriteOnce + class: '' + size: 1Gi + type: Filesystem + properties: + accessMode: + default: ReadWriteOnce + enum: + - ReadWriteOnce + - ReadOnlyMany + - ReadWriteMany + type: string + class: + default: '' + type: string + size: + default: 1Gi + type: string + type: + default: Filesystem + enum: + - Filesystem + - Block + type: string + type: object + type: object + issuer: + default: letsencrypt-prod examples: - - your-company + - letsencrypt-prod type: string + 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 dependencies: - dist: null category: core diff --git a/apps/dbgate/presentation.tf b/apps/dbgate/presentation.tf index 6fea6bd..e524236 100644 --- a/apps/dbgate/presentation.tf +++ b/apps/dbgate/presentation.tf @@ -8,7 +8,7 @@ locals { Authorization = "Bearer ${data.kubernetes_secret_v1.authentik.data["AUTHENTIK_BOOTSTRAP_TOKEN"]}" } service = { - "name" = "${var.component}-${var.instance}" + "name" = "port" = { "number" = 80 } diff --git a/apps/dbgate/pvc.tf b/apps/dbgate/pvc.tf index 64c2a17..8d34a6f 100644 --- a/apps/dbgate/pvc.tf +++ b/apps/dbgate/pvc.tf @@ -1,3 +1,16 @@ +locals { + pvc_spec = merge({ + "accessModes" = [var.storage.volume.accessMode] + "volumeMode" = var.storage.volume.type + "resources" = { + "requests" = { + "storage" = "${var.storage.volume.size}" + } + } + }, var.storage.volume.class != "" ?{ + "storageClassName" = var.storage.volume.class + }:{}) +} resource "kubectl_manifest" "pvc" { yaml_body = <<-EOF apiVersion: v1 @@ -6,12 +19,6 @@ resource "kubectl_manifest" "pvc" { name: "${var.component}-${var.instance}" namespace: "${var.namespace}" labels: ${jsonencode(local.common-labels)} - spec: - accessModes: - - "${var.storage.volume.accessMode}" - resources: - requests: - storage: "${var.storage.volume.size}" - volumeMode: "${var.storage.volume.type}" + spec: ${jsonencode(local.pvc_spec)} EOF } diff --git a/apps/dolibarr/index.yaml b/apps/dolibarr/index.yaml index 703d5b4..48cc445 100644 --- a/apps/dolibarr/index.yaml +++ b/apps/dolibarr/index.yaml @@ -6,33 +6,6 @@ metadata: name: dolibarr description: null options: - sub_domain: - default: erp - examples: - - erp - 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 - app_group: - default: '' - examples: - - '' - type: string images: default: dolibarr: @@ -182,57 +155,6 @@ options: type: string type: object type: object - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - type: string - resources: - default: - limits: - cpu: 200m - memory: 256Mi - requests: - cpu: 50m - memory: 100Mi - examples: - - limits: - cpu: 200m - memory: 256Mi - requests: - cpu: 50m - memory: 100Mi - properties: - limits: - default: - cpu: 200m - memory: 256Mi - properties: - cpu: - default: 200m - type: string - memory: - default: 256Mi - type: string - type: object - requests: - default: - cpu: 50m - memory: 100Mi - properties: - cpu: - default: 50m - type: string - memory: - default: 100Mi - type: string - type: object - type: object - ingress_class: - default: traefik - examples: - - traefik - type: string modules: default: - societe @@ -241,66 +163,40 @@ options: items: type: string type: array - storage: - default: - postgres: - size: 5Gi - redis: - size: 2Gi - volume: - accessMode: ReadWriteOnce - size: 10Gi - type: Filesystem - description: Configure this app storage + domain: + default: your-company examples: - - postgres: - size: 5Gi - redis: - size: 2Gi - volume: - accessMode: ReadWriteOnce - size: 10Gi - type: Filesystem + - your-company + type: string + log-level: + default: 5 + examples: + - 5 + type: integer + ingress_class: + default: traefik + examples: + - traefik + type: string + hpa: + default: + avg-cpu: 50 + max-replicas: 5 + min-replicas: 1 + examples: + - avg-cpu: 50 + max-replicas: 5 + min-replicas: 1 properties: - postgres: - default: - size: 5Gi - properties: - size: - default: 5Gi - type: string - type: object - redis: - default: - size: 2Gi - properties: - size: - default: 2Gi - type: string - type: object - volume: - default: - accessMode: ReadWriteOnce - size: 10Gi - type: Filesystem - properties: - accessMode: - default: ReadWriteOnce - enum: - - ReadWriteOnce - - ReadOnlyMany - - ReadWriteMany - type: string - size: - default: 10Gi - type: string - type: - default: Filesystem - enum: - - Filesystem - - Block - type: string - type: object + avg-cpu: + default: 50 + type: integer + max-replicas: + default: 5 + type: integer + min-replicas: + default: 1 + type: integer type: object parameters: default: @@ -312,21 +208,6 @@ options: default: auto type: string type: object - user-groups: - default: - - admin: true - name: dolibarr-admin - examples: - - - admin: true - name: dolibarr-admin - items: - properties: - admin: - type: boolean - name: - type: string - type: object - type: array backups: default: enable: false @@ -433,36 +314,38 @@ options: default: false type: boolean type: object - hpa: + redis: default: - avg-cpu: 50 - max-replicas: 5 - min-replicas: 1 + exporter: + enabled: true examples: - - avg-cpu: 50 - max-replicas: 5 - min-replicas: 1 + - exporter: + enabled: true properties: - avg-cpu: - default: 50 - type: integer - max-replicas: - default: 5 - type: integer - min-replicas: - default: 1 - type: integer + exporter: + default: + enabled: true + properties: + enabled: + default: true + type: boolean + type: object type: object - domain: - default: your-company + user-groups: + default: + - admin: true + name: dolibarr-admin examples: - - your-company - type: string - domain_name: - default: your_company.com - examples: - - your_company.com - type: string + - - admin: true + name: dolibarr-admin + items: + properties: + admin: + type: boolean + name: + type: string + type: object + type: array postgres: default: replicas: 1 @@ -473,11 +356,134 @@ options: default: 1 type: integer type: object - log-level: - default: 5 + issuer: + default: letsencrypt-prod examples: - - 5 - type: integer + - letsencrypt-prod + type: string + domain_name: + default: your_company.com + examples: + - your_company.com + type: string + app_group: + default: '' + examples: + - '' + type: string + sub_domain: + default: erp + examples: + - erp + type: string + storage: + default: + postgres: + size: 5Gi + redis: + size: 2Gi + volume: + accessMode: ReadWriteOnce + class: '' + size: 10Gi + type: Filesystem + description: Configure this app storage + examples: + - postgres: + size: 5Gi + redis: + size: 2Gi + volume: + accessMode: ReadWriteOnce + class: '' + size: 10Gi + type: Filesystem + properties: + postgres: + default: + size: 5Gi + properties: + size: + default: 5Gi + type: string + type: object + redis: + default: + size: 2Gi + properties: + size: + default: 2Gi + type: string + type: object + volume: + default: + accessMode: ReadWriteOnce + class: '' + size: 10Gi + type: Filesystem + properties: + accessMode: + default: ReadWriteOnce + enum: + - ReadWriteOnce + - ReadOnlyMany + - ReadWriteMany + type: string + class: + default: '' + type: string + size: + default: 10Gi + type: string + type: + default: Filesystem + enum: + - Filesystem + - Block + type: string + type: object + type: object + resources: + default: + limits: + cpu: 200m + memory: 256Mi + requests: + cpu: 50m + memory: 100Mi + examples: + - limits: + cpu: 200m + memory: 256Mi + requests: + cpu: 50m + memory: 100Mi + properties: + limits: + default: + cpu: 200m + memory: 256Mi + properties: + cpu: + default: 200m + type: string + memory: + default: 256Mi + type: string + type: object + requests: + default: + cpu: 50m + memory: 100Mi + properties: + cpu: + default: 50m + type: string + memory: + default: 100Mi + type: string + type: object + type: object dependencies: - dist: null category: share diff --git a/apps/dolibarr/pvc.tf b/apps/dolibarr/pvc.tf index afe1a53..ca22045 100644 --- a/apps/dolibarr/pvc.tf +++ b/apps/dolibarr/pvc.tf @@ -1,3 +1,16 @@ +locals { + pvc_spec = merge({ + "accessModes" = [var.storage.volume.accessMode] + "volumeMode" = var.storage.volume.type + "resources" = { + "requests" = { + "storage" = "${var.storage.volume.size}" + } + } + }, var.storage.volume.class != "" ?{ + "storageClassName" = var.storage.volume.class + }:{}) +} resource "kubectl_manifest" "pvc" { yaml_body = <<-EOF apiVersion: v1 @@ -8,12 +21,6 @@ resource "kubectl_manifest" "pvc" { annotations: k8up.io/backup: "true" labels: ${jsonencode(local.common-labels)} - spec: - accessModes: - - "${var.storage.volume.accessMode}" - resources: - requests: - storage: "${var.storage.volume.size}" - volumeMode: "${var.storage.volume.type}" + spec: ${jsonencode(local.pvc_spec)} EOF } diff --git a/apps/gitea/index.yaml b/apps/gitea/index.yaml index ac05e9b..8f3de2b 100644 --- a/apps/gitea/index.yaml +++ b/apps/gitea/index.yaml @@ -9,6 +9,11 @@ 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: + theme: + default: gitea-modern + examples: + - gitea-modern + type: string storage: default: postgres: @@ -76,16 +81,41 @@ options: type: string type: object type: object - app_group: - default: dev + domain_name: + default: your_company.com examples: - - dev + - your_company.com type: string domain: default: your-company examples: - your-company type: string + admin: + default: + email: git-admin@git.your_company.com + name: gitea_admin + examples: + - email: git-admin@git.your_company.com + name: gitea_admin + properties: + email: + default: git-admin@git.your_company.com + type: string + name: + default: gitea_admin + type: string + type: object + disable-registration: + default: true + examples: + - true + type: boolean + replicas: + default: 1 + examples: + - 1 + type: integer redis: default: exporter: @@ -103,30 +133,15 @@ options: type: boolean type: object type: object - default-branch: - default: main + sub_domain: + default: git examples: - - main + - git type: string - webhook: - default: - allowed-hosts: private - skip-tls-verify: false + timezone: + default: Europe/Paris examples: - - allowed-hosts: private - skip-tls-verify: false - properties: - allowed-hosts: - default: private - type: string - skip-tls-verify: - default: false - type: boolean - type: object - ingress_class: - default: traefik - examples: - - traefik + - Europe/Paris type: string postgres: default: @@ -143,26 +158,187 @@ options: examples: - git type: string - theme: - default: gitea-modern + ingress_class: + default: traefik examples: - - gitea-modern - type: string - timezone: - default: Europe/Paris - examples: - - Europe/Paris + - traefik type: string ssh-port: default: 2222 examples: - 2222 type: integer - sub_domain: - default: git + issuer: + default: letsencrypt-prod examples: - - git + - letsencrypt-prod type: string + backups: + default: + enable: false + endpoint: '' + key_id_key: s3-id + restic_key: bck-password + retention: + db: 30d + keepDaily: 14 + keepMonthly: 12 + keepWeekly: 6 + keepYearly: 12 + schedule: + backup: 10 3 * * * + check: 10 5 * * 1 + db: 10 3 * * * + prune: 10 1 * * 0 + secret_key: s3-secret + secret_name: backup-settings + use_barman: false + examples: + - enable: false + endpoint: '' + key_id_key: s3-id + restic_key: bck-password + retention: + db: 30d + keepDaily: 14 + keepMonthly: 12 + keepWeekly: 6 + keepYearly: 12 + schedule: + backup: 10 3 * * * + check: 10 5 * * 1 + db: 10 3 * * * + prune: 10 1 * * 0 + secret_key: s3-secret + secret_name: backup-settings + use_barman: false + properties: + enable: + default: false + type: boolean + endpoint: + default: '' + type: string + key_id_key: + default: s3-id + type: string + restic_key: + default: bck-password + type: string + retention: + default: + db: 30d + keepDaily: 14 + keepMonthly: 12 + keepWeekly: 6 + keepYearly: 12 + properties: + db: + default: 30d + type: string + keepDaily: + default: 14 + type: integer + keepMonthly: + default: 12 + type: integer + keepWeekly: + default: 6 + type: integer + keepYearly: + default: 12 + type: integer + type: object + schedule: + default: + backup: 10 3 * * * + check: 10 5 * * 1 + db: 10 3 * * * + prune: 10 1 * * 0 + properties: + backup: + default: 10 3 * * * + type: string + check: + default: 10 5 * * 1 + type: string + db: + default: 10 3 * * * + type: string + prune: + default: 10 1 * * 0 + type: string + type: object + secret_key: + default: s3-secret + type: string + secret_name: + default: backup-settings + type: string + use_barman: + default: false + type: boolean + type: object + 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 + 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 + default-branch: + default: main + examples: + - main + type: string + app_group: + default: dev + examples: + - dev + type: string + release: + default: 8.3.0 + examples: + - 8.3.0 + type: string + load-balancer: + default: + ip: '' + examples: + - ip: '' + properties: + ip: + default: '' + type: string + type: object images: default: gitea: @@ -294,182 +470,6 @@ options: type: string type: object type: object - domain_name: - default: your_company.com - examples: - - your_company.com - type: string - disable-registration: - default: true - examples: - - true - type: boolean - replicas: - default: 1 - examples: - - 1 - type: integer - load-balancer: - default: - ip: '' - examples: - - ip: '' - properties: - ip: - default: '' - type: string - type: object - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - type: string - 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 - admin: - default: - email: git-admin@git.your_company.com - name: gitea_admin - examples: - - email: git-admin@git.your_company.com - name: gitea_admin - properties: - email: - default: git-admin@git.your_company.com - type: string - name: - default: gitea_admin - type: string - type: object - backups: - default: - enable: false - endpoint: '' - key_id_key: s3-id - restic_key: bck-password - retention: - db: 30d - keepDaily: 14 - keepMonthly: 12 - keepWeekly: 6 - keepYearly: 12 - schedule: - backup: 10 3 * * * - check: 10 5 * * 1 - db: 10 3 * * * - prune: 10 1 * * 0 - secret_key: s3-secret - secret_name: backup-settings - use_barman: false - examples: - - enable: false - endpoint: '' - key_id_key: s3-id - restic_key: bck-password - retention: - db: 30d - keepDaily: 14 - keepMonthly: 12 - keepWeekly: 6 - keepYearly: 12 - schedule: - backup: 10 3 * * * - check: 10 5 * * 1 - db: 10 3 * * * - prune: 10 1 * * 0 - secret_key: s3-secret - secret_name: backup-settings - use_barman: false - properties: - enable: - default: false - type: boolean - endpoint: - default: '' - type: string - key_id_key: - default: s3-id - type: string - restic_key: - default: bck-password - type: string - retention: - default: - db: 30d - keepDaily: 14 - keepMonthly: 12 - keepWeekly: 6 - keepYearly: 12 - properties: - db: - default: 30d - type: string - keepDaily: - default: 14 - type: integer - keepMonthly: - default: 12 - type: integer - keepWeekly: - default: 6 - type: integer - keepYearly: - default: 12 - type: integer - type: object - schedule: - default: - backup: 10 3 * * * - check: 10 5 * * 1 - db: 10 3 * * * - prune: 10 1 * * 0 - properties: - backup: - default: 10 3 * * * - type: string - check: - default: 10 5 * * 1 - type: string - db: - default: 10 3 * * * - type: string - prune: - default: 10 1 * * 0 - type: string - type: object - secret_key: - default: s3-secret - type: string - secret_name: - default: backup-settings - type: string - use_barman: - default: false - type: boolean - type: object - release: - default: 8.3.0 - examples: - - 8.3.0 - type: string dependencies: - dist: null category: share diff --git a/apps/nextcloud/index.yaml b/apps/nextcloud/index.yaml index 3f95289..c2c6708 100644 --- a/apps/nextcloud/index.yaml +++ b/apps/nextcloud/index.yaml @@ -6,23 +6,21 @@ metadata: name: nextcloud description: null options: - redis: - default: - exporter: - enabled: true + ingress_class: + default: traefik examples: - - exporter: - enabled: true - properties: - exporter: - default: - enabled: true - properties: - enabled: - default: true - type: boolean - type: object - type: object + - traefik + type: string + app_group: + default: '' + examples: + - '' + type: string + openid-name: + default: vynil + examples: + - vynil + type: string backups: default: enable: false @@ -129,31 +127,182 @@ options: default: false type: boolean type: object - openid-name: - default: vynil + issuer: + default: letsencrypt-prod examples: - - vynil + - letsencrypt-prod type: string - admin: + storage: default: - name: nextcloud_admin + postgres: + size: 5Gi + redis: + size: 2Gi + volume: + accessMode: ReadWriteOnce + class: '' + size: 10Gi + type: Filesystem + description: Configure this app storage examples: - - name: nextcloud_admin + - postgres: + size: 5Gi + redis: + size: 2Gi + volume: + accessMode: ReadWriteOnce + class: '' + size: 10Gi + type: Filesystem properties: - name: - default: nextcloud_admin - type: string + postgres: + default: + size: 5Gi + properties: + size: + default: 5Gi + type: string + type: object + redis: + default: + size: 2Gi + properties: + size: + default: 2Gi + type: string + type: object + volume: + default: + accessMode: ReadWriteOnce + class: '' + size: 10Gi + type: Filesystem + properties: + accessMode: + default: ReadWriteOnce + enum: + - ReadWriteOnce + - ReadOnlyMany + - ReadWriteMany + type: string + class: + default: '' + type: string + size: + default: 10Gi + type: string + type: + default: Filesystem + type: string + type: object type: object - domain_name: - default: your_company.com + 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: - - your_company.com - type: string - ingress_class: - default: traefik + - 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 + redis: + default: + exporter: + enabled: true examples: - - traefik - type: string + - exporter: + enabled: true + properties: + exporter: + default: + enabled: true + properties: + enabled: + default: true + type: boolean + type: object + type: object images: default: collabora: @@ -409,10 +558,10 @@ options: type: string type: object type: object - issuer: - default: letsencrypt-prod + domain_name: + default: your_company.com examples: - - letsencrypt-prod + - your_company.com type: string hpa: default: @@ -434,164 +583,25 @@ options: default: 1 type: integer type: object - storage: + admin: default: - postgres: - size: 5Gi - redis: - size: 2Gi - volume: - accessMode: ReadWriteOnce - class: '' - size: 10Gi - type: Filesystem - description: Configure this app storage + name: nextcloud_admin examples: - - postgres: - size: 5Gi - redis: - size: 2Gi - volume: - accessMode: ReadWriteOnce - class: '' - size: 10Gi - type: Filesystem + - name: nextcloud_admin properties: - postgres: - default: - size: 5Gi - properties: - size: - default: 5Gi - type: string - type: object - redis: - default: - size: 2Gi - properties: - size: - default: 2Gi - type: string - type: object - volume: - default: - accessMode: ReadWriteOnce - class: '' - size: 10Gi - type: Filesystem - properties: - accessMode: - default: ReadWriteOnce - enum: - - ReadWriteOnce - - ReadOnlyMany - - ReadWriteMany - type: string - class: - default: '' - type: string - size: - default: 10Gi - type: string - type: - default: Filesystem - type: string - type: object + name: + default: nextcloud_admin + type: string type: object - app_group: - default: '' - examples: - - '' - type: string - apps: + postgres: 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 + replicas: 1 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 + - replicas: 1 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 + replicas: + default: 1 + type: integer type: object domain: default: your-company @@ -603,16 +613,6 @@ options: examples: - files type: string - postgres: - default: - replicas: 1 - examples: - - replicas: 1 - properties: - replicas: - default: 1 - type: integer - type: object dependencies: - dist: null category: share diff --git a/monitor/grafana/index.yaml b/monitor/grafana/index.yaml index 8044cea..f6bc6b5 100644 --- a/monitor/grafana/index.yaml +++ b/monitor/grafana/index.yaml @@ -6,84 +6,11 @@ metadata: name: grafana description: null options: - storage: - default: - volume: - accessMode: ReadWriteOnce - class: '' - size: 10Gi - type: Filesystem - description: Configure this app storage - examples: - - volume: - accessMode: ReadWriteOnce - class: '' - size: 10Gi - type: Filesystem - properties: - volume: - default: - accessMode: ReadWriteOnce - class: '' - size: 10Gi - type: Filesystem - properties: - accessMode: - default: ReadWriteOnce - enum: - - ReadWriteOnce - - ReadOnlyMany - - ReadWriteMany - type: string - class: - default: '' - type: string - size: - default: 10Gi - type: string - type: - default: Filesystem - enum: - - Filesystem - - Block - type: string - type: object - type: object - ingress_class: - default: traefik - examples: - - traefik - type: string - sub_domain: - default: grafana - examples: - - grafana - type: string - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - type: string domain: default: your-company examples: - your-company type: string - domain_name: - default: your_company.com - examples: - - your_company.com - type: string - app_group: - default: monitor - examples: - - monitor - type: string - admin_name: - default: grafana_admin - examples: - - grafana_admin - type: string images: default: busybox: @@ -181,6 +108,79 @@ options: type: string type: object type: object + ingress_class: + default: traefik + examples: + - traefik + type: string + domain_name: + default: your_company.com + examples: + - your_company.com + type: string + issuer: + default: letsencrypt-prod + examples: + - letsencrypt-prod + type: string + admin_name: + default: grafana_admin + examples: + - grafana_admin + type: string + sub_domain: + default: grafana + examples: + - grafana + type: string + app_group: + default: monitor + examples: + - monitor + type: string + storage: + default: + volume: + accessMode: ReadWriteOnce + class: '' + size: 10Gi + type: Filesystem + description: Configure this app storage + examples: + - volume: + accessMode: ReadWriteOnce + class: '' + size: 10Gi + type: Filesystem + properties: + volume: + default: + accessMode: ReadWriteOnce + class: '' + size: 10Gi + type: Filesystem + properties: + accessMode: + default: ReadWriteOnce + enum: + - ReadWriteOnce + - ReadOnlyMany + - ReadWriteMany + type: string + class: + default: '' + type: string + size: + default: 10Gi + type: string + type: + default: Filesystem + enum: + - Filesystem + - Block + type: string + type: object + type: object dependencies: [] providers: kubernetes: true diff --git a/monitor/loki/index.yaml b/monitor/loki/index.yaml index d2d558b..5b84219 100644 --- a/monitor/loki/index.yaml +++ b/monitor/loki/index.yaml @@ -6,6 +6,50 @@ metadata: name: loki description: null options: + alertmanager: + default: alertmanager-alertmanager + examples: + - alertmanager-alertmanager + type: string + images: + default: + loki: + pullPolicy: IfNotPresent + registry: docker.io + repository: grafana/loki + tag: 2.9.3 + examples: + - loki: + pullPolicy: IfNotPresent + registry: docker.io + repository: grafana/loki + tag: 2.9.3 + properties: + loki: + default: + pullPolicy: IfNotPresent + registry: docker.io + repository: grafana/loki + tag: 2.9.3 + properties: + pullPolicy: + default: IfNotPresent + enum: + - Always + - Never + - IfNotPresent + type: string + registry: + default: docker.io + type: string + repository: + default: grafana/loki + type: string + tag: + default: 2.9.3 + type: string + type: object + type: object storage: default: volume: @@ -49,50 +93,6 @@ options: type: string type: object type: object - images: - default: - loki: - pullPolicy: IfNotPresent - registry: docker.io - repository: grafana/loki - tag: 2.9.3 - examples: - - loki: - pullPolicy: IfNotPresent - registry: docker.io - repository: grafana/loki - tag: 2.9.3 - properties: - loki: - default: - pullPolicy: IfNotPresent - registry: docker.io - repository: grafana/loki - tag: 2.9.3 - properties: - pullPolicy: - default: IfNotPresent - enum: - - Always - - Never - - IfNotPresent - type: string - registry: - default: docker.io - type: string - repository: - default: grafana/loki - type: string - tag: - default: 2.9.3 - type: string - type: object - type: object - alertmanager: - default: alertmanager-alertmanager - examples: - - alertmanager-alertmanager - type: string dependencies: [] providers: kubernetes: true