diff --git a/apps/code-server/index.yaml b/apps/code-server/index.yaml index 197bcaf..26d2e37 100644 --- a/apps/code-server/index.yaml +++ b/apps/code-server/index.yaml @@ -6,11 +6,51 @@ metadata: name: code-server description: null options: + domain: + default: your-company + examples: + - your-company + type: string + app-group: + default: dev + examples: + - dev + type: string + domain-name: + default: your_company.com + examples: + - your_company.com + type: string + ingress-class: + default: traefik + examples: + - traefik + type: string timezone: default: Europe/Paris examples: - Europe/Paris type: string + no-editor: + default: false + examples: + - false + type: boolean + admin: + default: + cluster: false + namespace: false + examples: + - cluster: false + namespace: false + properties: + cluster: + default: false + type: boolean + namespace: + default: false + type: boolean + type: object storage: default: accessMode: ReadWriteOnce @@ -38,6 +78,16 @@ options: - Block type: string type: object + sub-domain: + default: code + examples: + - code + type: string + issuer: + default: letsencrypt-prod + examples: + - letsencrypt-prod + type: string images: default: codeserver: @@ -77,56 +127,6 @@ options: type: number type: object type: object - admin: - default: - cluster: false - namespace: false - examples: - - cluster: false - namespace: false - properties: - cluster: - default: false - type: boolean - namespace: - default: false - type: boolean - type: object - ingress-class: - default: traefik - examples: - - traefik - type: string - no-editor: - default: false - examples: - - false - type: boolean - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - type: string - app-group: - default: dev - examples: - - dev - type: string - domain-name: - default: your_company.com - examples: - - your_company.com - type: string - sub-domain: - default: code - examples: - - code - type: string - domain: - default: your-company - examples: - - your-company - type: string dependencies: - dist: null category: share diff --git a/apps/code-server/presentation.tf b/apps/code-server/presentation.tf index b7d035e..a381b13 100644 --- a/apps/code-server/presentation.tf +++ b/apps/code-server/presentation.tf @@ -49,8 +49,7 @@ module "application" { component = var.component instance = var.instance app-group = var.app-group - sub-domain = var.sub-domain - domain-name = var.domain-name + dns-name = local.dns-name icon = local.icon protocol_provider = module.forward.provider-id providers = { diff --git a/apps/dbgate/index.yaml b/apps/dbgate/index.yaml index 43abca5..5e35fa2 100644 --- a/apps/dbgate/index.yaml +++ b/apps/dbgate/index.yaml @@ -6,53 +6,55 @@ metadata: name: dbgate description: null options: - domain: - default: your-company + sub-domain: + default: dbgate examples: - - your-company + - dbgate type: string domain-name: default: your_company.com examples: - your_company.com type: string + domain: + default: your-company + examples: + - your-company + type: string use-oauth: default: false examples: - false type: boolean - app-group: - default: dev + mongo: + default: [] 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 + - [] + 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 images: default: dbgate: @@ -92,15 +94,15 @@ options: type: string type: object type: object - sub-domain: - default: dbgate + app-group: + default: dev examples: - - dbgate + - dev type: string - issuer: - default: letsencrypt-prod + ingress-class: + default: traefik examples: - - letsencrypt-prod + - traefik type: string pg: default: [] @@ -131,6 +133,11 @@ options: type: string type: object type: array + issuer: + default: letsencrypt-prod + examples: + - letsencrypt-prod + type: string maria: default: [] examples: @@ -160,40 +167,33 @@ options: type: string type: object type: array - mongo: - default: [] + storage: + default: + accessMode: ReadWriteOnce + size: 1Gi + type: Filesystem 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 - ingress-class: - default: traefik - examples: - - traefik - type: string + - 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 diff --git a/apps/dbgate/presentation.tf b/apps/dbgate/presentation.tf index 568065a..0ba4a1b 100644 --- a/apps/dbgate/presentation.tf +++ b/apps/dbgate/presentation.tf @@ -49,8 +49,7 @@ module "application" { component = var.component instance = var.instance app-group = var.app-group - sub-domain = var.sub-domain - domain-name = var.domain-name + dns-name = local.dns-name icon = local.icon protocol_provider = var.use-oauth?module.oauth2[0].provider-id:module.forward[0].provider-id providers = { diff --git a/apps/dolibarr/index.yaml b/apps/dolibarr/index.yaml index 525dc1d..30d9731 100644 --- a/apps/dolibarr/index.yaml +++ b/apps/dolibarr/index.yaml @@ -6,6 +6,86 @@ metadata: name: dolibarr description: null options: + hpa: + default: + avg-cpu: 50 + max-replicas: 5 + min-replicas: 1 + examples: + - avg-cpu: 50 + max-replicas: 5 + min-replicas: 1 + properties: + avg-cpu: + default: 50 + type: integer + max-replicas: + default: 5 + type: integer + min-replicas: + default: 1 + type: integer + type: object + issuer: + default: letsencrypt-prod + examples: + - letsencrypt-prod + type: string + modules: + default: + - societe + examples: + - - societe + items: + type: string + type: array + log-level: + default: 5 + examples: + - 5 + type: integer + app-group: + default: '' + examples: + - '' + type: string + ingress-class: + default: traefik + examples: + - traefik + type: string + storage: + default: + accessMode: ReadWriteOnce + size: 10Gi + type: Filesystem + examples: + - 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 + domain-name: + default: your_company.com + examples: + - your_company.com + type: string images: default: dolibarr: @@ -71,31 +151,6 @@ options: type: string type: object type: object - parameters: - default: - MAIN_LANG_DEFAULT: auto - examples: - - MAIN_LANG_DEFAULT: auto - properties: - MAIN_LANG_DEFAULT: - 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 postgres: default: replicas: 1 @@ -116,53 +171,10 @@ options: default: '14' type: string type: object - issuer: - default: letsencrypt-prod + sub-domain: + default: erp examples: - - letsencrypt-prod - type: string - ingress-class: - default: traefik - examples: - - traefik - type: string - redis: - default: - exporter: - enabled: true - image: quay.io/opstree/redis-exporter:v1.44.0 - image: quay.io/opstree/redis:v7.0.5 - storage: 2Gi - examples: - - exporter: - enabled: true - image: quay.io/opstree/redis-exporter:v1.44.0 - image: quay.io/opstree/redis:v7.0.5 - storage: 2Gi - properties: - exporter: - default: - enabled: true - image: quay.io/opstree/redis-exporter:v1.44.0 - properties: - enabled: - default: true - type: boolean - image: - default: quay.io/opstree/redis-exporter:v1.44.0 - type: string - type: object - image: - default: quay.io/opstree/redis:v7.0.5 - type: string - storage: - default: 2Gi - type: string - type: object - app-group: - default: '' - examples: - - '' + - erp type: string resources: default: @@ -210,31 +222,64 @@ options: examples: - your-company type: string - hpa: + parameters: default: - avg-cpu: 50 - max-replicas: 5 - min-replicas: 1 + MAIN_LANG_DEFAULT: auto examples: - - avg-cpu: 50 - max-replicas: 5 - min-replicas: 1 + - MAIN_LANG_DEFAULT: auto properties: - avg-cpu: - default: 50 - type: integer - max-replicas: - default: 5 - type: integer - min-replicas: - default: 1 - type: integer + MAIN_LANG_DEFAULT: + default: auto + type: string type: object - domain-name: - default: your_company.com + user-groups: + default: + - admin: true + name: dolibarr-admin examples: - - your_company.com - type: string + - - admin: true + name: dolibarr-admin + items: + properties: + admin: + type: boolean + name: + type: string + type: object + type: array + redis: + default: + exporter: + enabled: true + image: quay.io/opstree/redis-exporter:v1.44.0 + image: quay.io/opstree/redis:v7.0.5 + storage: 2Gi + examples: + - exporter: + enabled: true + image: quay.io/opstree/redis-exporter:v1.44.0 + image: quay.io/opstree/redis:v7.0.5 + storage: 2Gi + properties: + exporter: + default: + enabled: true + image: quay.io/opstree/redis-exporter:v1.44.0 + properties: + enabled: + default: true + type: boolean + image: + default: quay.io/opstree/redis-exporter:v1.44.0 + type: string + type: object + image: + default: quay.io/opstree/redis:v7.0.5 + type: string + storage: + default: 2Gi + type: string + type: object backups: default: enable: false @@ -341,51 +386,6 @@ options: default: false type: boolean type: object - storage: - default: - accessMode: ReadWriteOnce - size: 10Gi - type: Filesystem - examples: - - 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 - modules: - default: - - societe - examples: - - - societe - items: - type: string - type: array - sub-domain: - default: erp - examples: - - erp - type: string - log-level: - default: 5 - examples: - - 5 - type: integer dependencies: - dist: null category: share diff --git a/apps/gitea/index.yaml b/apps/gitea/index.yaml index cdd4364..823dbb8 100644 --- a/apps/gitea/index.yaml +++ b/apps/gitea/index.yaml @@ -9,134 +9,21 @@ 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: + sub-domain: + default: git + examples: + - git + type: string + ingress-class: + default: traefik + examples: + - traefik + type: string domain: default: your-company examples: - your-company type: string - load-balancer: - default: - ip: '' - examples: - - ip: '' - properties: - ip: - default: '' - type: string - type: object - postgres: - default: - replicas: 1 - storage: 10Gi - version: '14' - examples: - - replicas: 1 - storage: 10Gi - version: '14' - properties: - replicas: - default: 1 - type: integer - storage: - default: 10Gi - type: string - version: - default: '14' - type: string - type: object - timezone: - default: Europe/Paris - examples: - - Europe/Paris - type: string - app-group: - default: dev - examples: - - dev - type: string - domain-name: - default: your_company.com - examples: - - your_company.com - type: string - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - type: string - theme: - default: gitea-modern - examples: - - gitea-modern - type: string - replicas: - default: 1 - examples: - - 1 - type: integer - images: - default: - gitea: - pullPolicy: IfNotPresent - registry: docker.io - repository: gitea/gitea - tag: 1.19.3 - memcached: - registry: docker.io - repository: bitnami/memcached - tag: 1.6.19-debian-11-r7 - examples: - - gitea: - pullPolicy: IfNotPresent - registry: docker.io - repository: gitea/gitea - tag: 1.19.3 - memcached: - registry: docker.io - repository: bitnami/memcached - tag: 1.6.19-debian-11-r7 - properties: - gitea: - default: - pullPolicy: IfNotPresent - registry: docker.io - repository: gitea/gitea - tag: 1.19.3 - properties: - pullPolicy: - default: IfNotPresent - enum: - - Always - - Never - - IfNotPresent - type: string - registry: - default: docker.io - type: string - repository: - default: gitea/gitea - type: string - tag: - default: 1.19.3 - type: string - type: object - memcached: - default: - registry: docker.io - repository: bitnami/memcached - tag: 1.6.19-debian-11-r7 - properties: - registry: - default: docker.io - type: string - repository: - default: bitnami/memcached - type: string - tag: - default: 1.6.19-debian-11-r7 - type: string - type: object - type: object backups: default: enable: false @@ -243,6 +130,76 @@ options: default: false type: boolean type: object + replicas: + default: 1 + examples: + - 1 + type: integer + ssh-port: + default: 2222 + examples: + - 2222 + type: integer + load-balancer: + default: + ip: '' + examples: + - ip: '' + properties: + ip: + default: '' + type: string + type: object + postgres: + default: + replicas: 1 + storage: 10Gi + version: '14' + examples: + - replicas: 1 + storage: 10Gi + version: '14' + properties: + replicas: + default: 1 + type: integer + storage: + default: 10Gi + type: string + version: + default: '14' + type: string + type: object + app-group: + default: dev + examples: + - dev + type: string + disable-registration: + default: true + examples: + - true + type: boolean + volume: + default: + size: 10Gi + examples: + - size: 10Gi + properties: + size: + default: 10Gi + type: string + type: object + timezone: + default: Europe/Paris + examples: + - Europe/Paris + type: string + release: + default: 8.3.0 + examples: + - 8.3.0 + type: string webhook: default: allowed-hosts: private @@ -258,20 +215,10 @@ options: default: false type: boolean type: object - release: - default: 8.3.0 + issuer: + default: letsencrypt-prod examples: - - 8.3.0 - type: string - ssh-port: - default: 2222 - examples: - - 2222 - type: integer - default-branch: - default: main - examples: - - main + - letsencrypt-prod type: string admin: default: @@ -288,16 +235,69 @@ options: default: gitea_admin type: string type: object - ingress-class: - default: traefik + images: + default: + gitea: + pullPolicy: IfNotPresent + registry: docker.io + repository: gitea/gitea + tag: 1.19.3 + memcached: + registry: docker.io + repository: bitnami/memcached + tag: 1.6.19-debian-11-r7 examples: - - traefik - type: string - disable-registration: - default: true - examples: - - true - type: boolean + - gitea: + pullPolicy: IfNotPresent + registry: docker.io + repository: gitea/gitea + tag: 1.19.3 + memcached: + registry: docker.io + repository: bitnami/memcached + tag: 1.6.19-debian-11-r7 + properties: + gitea: + default: + pullPolicy: IfNotPresent + registry: docker.io + repository: gitea/gitea + tag: 1.19.3 + properties: + pullPolicy: + default: IfNotPresent + enum: + - Always + - Never + - IfNotPresent + type: string + registry: + default: docker.io + type: string + repository: + default: gitea/gitea + type: string + tag: + default: 1.19.3 + type: string + type: object + memcached: + default: + registry: docker.io + repository: bitnami/memcached + tag: 1.6.19-debian-11-r7 + properties: + registry: + default: docker.io + type: string + repository: + default: bitnami/memcached + type: string + tag: + default: 1.6.19-debian-11-r7 + type: string + type: object + type: object push-create: default: org: 'true' @@ -318,21 +318,21 @@ options: default: 'true' type: string type: object - sub-domain: - default: git + domain-name: + default: your_company.com examples: - - git + - your_company.com type: string - volume: - default: - size: 10Gi + theme: + default: gitea-modern examples: - - size: 10Gi - properties: - size: - default: 10Gi - type: string - type: object + - gitea-modern + type: string + default-branch: + default: main + examples: + - main + type: string dependencies: - dist: null category: share diff --git a/apps/k8s-api/index.yaml b/apps/k8s-api/index.yaml index 223be24..66c5a8a 100644 --- a/apps/k8s-api/index.yaml +++ b/apps/k8s-api/index.yaml @@ -6,11 +6,6 @@ metadata: name: k8s-api description: Access to the kubernetes api options: - domain: - default: your-company - examples: - - your-company - type: string sub-domain: default: api examples: @@ -21,6 +16,11 @@ options: examples: - your_company.com type: string + domain: + default: your-company + examples: + - your-company + type: string issuer: default: letsencrypt-prod examples: diff --git a/apps/nextcloud/index.yaml b/apps/nextcloud/index.yaml index fc9caf0..a79cdee 100644 --- a/apps/nextcloud/index.yaml +++ b/apps/nextcloud/index.yaml @@ -6,6 +6,96 @@ metadata: name: nextcloud description: null options: + 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 postgres: default: replicas: 1 @@ -26,130 +116,78 @@ options: default: '14' type: string type: object - storage: + admin: default: - accessMode: ReadWriteOnce - size: 10Gi + name: nextcloud_admin examples: - - accessMode: ReadWriteOnce - size: 10Gi + - name: nextcloud_admin properties: - accessMode: - default: ReadWriteOnce - enum: - - ReadWriteOnce - - ReadOnlyMany - - ReadWriteMany - type: string - size: - default: 10Gi + name: + default: nextcloud_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: 30 3 * * * - check: 30 5 * * 1 - db: 30 3 * * * - prune: 30 1 * * 0 - secret-key: s3-secret - secret-name: backup-settings - use-barman: false + app-group: + default: '' 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: 30 3 * * * - check: 30 5 * * 1 - db: 30 3 * * * - prune: 30 1 * * 0 - secret-key: s3-secret - secret-name: backup-settings - use-barman: false + - '' + type: string + hpa: + default: + avg-cpu: 50 + max-replicas: 5 + min-replicas: 1 + examples: + - avg-cpu: 50 + max-replicas: 5 + min-replicas: 1 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: + avg-cpu: + default: 50 + type: integer + max-replicas: + default: 5 + type: integer + min-replicas: + default: 1 + type: integer + type: object + ingress-class: + default: traefik + examples: + - traefik + type: string + redis: + default: + exporter: + enabled: true + image: quay.io/opstree/redis-exporter:v1.44.0 + image: quay.io/opstree/redis:v7.0.5 + storage: 2Gi + examples: + - exporter: + enabled: true + image: quay.io/opstree/redis-exporter:v1.44.0 + image: quay.io/opstree/redis:v7.0.5 + storage: 2Gi + properties: + exporter: default: - db: 30d - keepDaily: 14 - keepMonthly: 12 - keepWeekly: 6 - keepYearly: 12 + enabled: true + image: quay.io/opstree/redis-exporter:v1.44.0 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: 30 3 * * * - check: 30 5 * * 1 - db: 30 3 * * * - prune: 30 1 * * 0 - properties: - backup: - default: 30 3 * * * - type: string - check: - default: 30 5 * * 1 - type: string - db: - default: 30 3 * * * - type: string - prune: - default: 30 1 * * 0 + enabled: + default: true + type: boolean + image: + default: quay.io/opstree/redis-exporter:v1.44.0 type: string type: object - secret-key: - default: s3-secret + image: + default: quay.io/opstree/redis:v7.0.5 type: string - secret-name: - default: backup-settings + storage: + default: 2Gi type: string - use-barman: - default: false - type: boolean type: object images: default: @@ -314,16 +352,136 @@ options: type: string type: object type: object - ingress-class: - default: traefik + domain: + default: your-company examples: - - traefik + - your-company type: string - issuer: - default: letsencrypt-prod + 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: 30 3 * * * + check: 30 5 * * 1 + db: 30 3 * * * + prune: 30 1 * * 0 + secret-key: s3-secret + secret-name: backup-settings + use-barman: false examples: - - letsencrypt-prod - type: string + - 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: 30 3 * * * + check: 30 5 * * 1 + db: 30 3 * * * + prune: 30 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: 30 3 * * * + check: 30 5 * * 1 + db: 30 3 * * * + prune: 30 1 * * 0 + properties: + backup: + default: 30 3 * * * + type: string + check: + default: 30 5 * * 1 + type: string + db: + default: 30 3 * * * + type: string + prune: + default: 30 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 + storage: + 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 sub-domain: default: files examples: @@ -334,174 +492,16 @@ options: examples: - your_company.com type: string - app-group: - default: '' - examples: - - '' - type: string - domain: - default: your-company - examples: - - your-company - 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 openid-name: default: vynil examples: - vynil type: string - hpa: - default: - avg-cpu: 50 - max-replicas: 5 - min-replicas: 1 + issuer: + default: letsencrypt-prod examples: - - avg-cpu: 50 - max-replicas: 5 - min-replicas: 1 - properties: - avg-cpu: - default: 50 - type: integer - max-replicas: - default: 5 - type: integer - min-replicas: - default: 1 - type: integer - type: object - redis: - default: - exporter: - enabled: true - image: quay.io/opstree/redis-exporter:v1.44.0 - image: quay.io/opstree/redis:v7.0.5 - storage: 2Gi - examples: - - exporter: - enabled: true - image: quay.io/opstree/redis-exporter:v1.44.0 - image: quay.io/opstree/redis:v7.0.5 - storage: 2Gi - properties: - exporter: - default: - enabled: true - image: quay.io/opstree/redis-exporter:v1.44.0 - properties: - enabled: - default: true - type: boolean - image: - default: quay.io/opstree/redis-exporter:v1.44.0 - type: string - type: object - image: - default: quay.io/opstree/redis:v7.0.5 - type: string - storage: - default: 2Gi - type: string - type: object - admin: - default: - name: nextcloud_admin - examples: - - name: nextcloud_admin - properties: - name: - default: nextcloud_admin - type: string - type: object + - letsencrypt-prod + type: string dependencies: - dist: null category: share diff --git a/apps/nextcloud/presentation.tf b/apps/nextcloud/presentation.tf index 5039668..19d91ce 100644 --- a/apps/nextcloud/presentation.tf +++ b/apps/nextcloud/presentation.tf @@ -46,8 +46,7 @@ module "application" { component = var.component instance = var.instance app-group = var.app-group - sub-domain = var.sub-domain - domain-name = var.domain-name + dns-name = local.dns-name icon = local.icon protocol_provider = module.oauth2.provider-id providers = { diff --git a/apps/okd/index.yaml b/apps/okd/index.yaml index c97db97..6382609 100644 --- a/apps/okd/index.yaml +++ b/apps/okd/index.yaml @@ -6,6 +6,46 @@ metadata: name: okd description: null options: + issuer: + default: letsencrypt-prod + examples: + - letsencrypt-prod + type: string + app-group: + default: infra + examples: + - infra + type: string + cluster-admin: + default: false + examples: + - false + type: boolean + ingress-class: + default: traefik + examples: + - traefik + type: string + sub-domain: + default: okd + examples: + - okd + type: string + domain: + default: your-company + examples: + - your-company + type: string + domain-name: + default: your_company.com + examples: + - your_company.com + type: string + namespaces: + default: [] + items: + type: string + type: array images: default: okd: @@ -49,46 +89,6 @@ options: type: string type: object type: object - cluster-admin: - default: false - examples: - - false - type: boolean - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - type: string - app-group: - default: infra - examples: - - infra - type: string - domain: - default: your-company - examples: - - your-company - type: string - ingress-class: - default: traefik - examples: - - traefik - type: string - namespaces: - default: [] - items: - type: string - type: array - domain-name: - default: your_company.com - examples: - - your_company.com - type: string - sub-domain: - default: okd - examples: - - okd - type: string dependencies: - dist: null category: share diff --git a/apps/okd/presentation.tf b/apps/okd/presentation.tf index e1772a8..62f7174 100644 --- a/apps/okd/presentation.tf +++ b/apps/okd/presentation.tf @@ -49,8 +49,7 @@ module "application" { component = var.component instance = var.instance app-group = var.app-group - sub-domain = var.sub-domain - domain-name = var.domain-name + dns-name = local.dns-name icon = local.icon protocol_provider = module.forward.provider-id providers = { diff --git a/apps/traefik-ui/index.yaml b/apps/traefik-ui/index.yaml index fa535ea..2f8bfde 100644 --- a/apps/traefik-ui/index.yaml +++ b/apps/traefik-ui/index.yaml @@ -6,35 +6,35 @@ metadata: name: traefik-ui description: Access to the Traefik UI options: - app-group: - default: infra - examples: - - infra - type: string - domain: - default: your-company - examples: - - your-company - type: string - issuer: - default: letsencrypt-prod - examples: - - letsencrypt-prod - type: string domain-name: default: your_company.com examples: - your_company.com type: string + sub-domain: + default: traefik + examples: + - traefik + type: string ingress-class: default: traefik examples: - traefik type: string - sub-domain: - default: traefik + domain: + default: your-company examples: - - traefik + - your-company + type: string + app-group: + default: infra + examples: + - infra + type: string + issuer: + default: letsencrypt-prod + examples: + - letsencrypt-prod type: string dependencies: - dist: null diff --git a/apps/traefik-ui/presentation.tf b/apps/traefik-ui/presentation.tf index a61baf8..307668f 100644 --- a/apps/traefik-ui/presentation.tf +++ b/apps/traefik-ui/presentation.tf @@ -36,8 +36,7 @@ module "application" { component = var.component instance = var.instance app-group = var.app-group - sub-domain = var.sub-domain - domain-name = var.domain-name + dns-name = local.dns-name icon = local.icon protocol_provider = module.forward.provider-id providers = { diff --git a/apps/woodpecker/index.yaml b/apps/woodpecker/index.yaml index 576b981..7ba3ac9 100644 --- a/apps/woodpecker/index.yaml +++ b/apps/woodpecker/index.yaml @@ -6,55 +6,6 @@ metadata: name: woodpecker description: null options: - 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 - domain-name: - default: your_company.com - examples: - - your_company.com - type: string - domain: - default: your-company - examples: - - your-company - 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 images: default: agent: @@ -157,15 +108,40 @@ options: examples: - traefik 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 sub-domain: default: ci examples: - ci type: string - issuer: - default: letsencrypt-prod + domain-name: + default: your_company.com examples: - - letsencrypt-prod + - your_company.com type: string timeouts: default: @@ -182,6 +158,30 @@ options: default: '120' type: string 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 + domain: + default: your-company + examples: + - your-company + type: string dependencies: - dist: null category: apps diff --git a/modules/application/application.tf b/modules/application/application.tf index 09ae832..0ee8eff 100644 --- a/modules/application/application.tf +++ b/modules/application/application.tf @@ -21,8 +21,8 @@ resource "authentik_application" "prj_app" { slug = "${var.component}-${var.instance}" group = var.app-group protocol_provider = var.protocol_provider - meta_launch_url = format("https://%s.%s", var.sub-domain, var.domain-name) - meta_icon = format("https://%s.%s/%s", var.sub-domain, var.domain-name, var.icon) + meta_launch_url = format("https://%s", var.dns-name) + meta_icon = format("https://%s/%s", var.dns-name, var.icon) } resource "authentik_policy_expression" "policy" { diff --git a/modules/application/variables.tf b/modules/application/variables.tf index 8d33b45..6bbaa25 100644 --- a/modules/application/variables.tf +++ b/modules/application/variables.tf @@ -13,10 +13,7 @@ variable "app-group" { variable "protocol_provider" { type = number } -variable "sub-domain" { - type = string -} -variable "domain-name" { +variable "dns-name" { type = string } variable "sub-groups" {