This commit is contained in:
2023-10-19 13:16:16 +02:00
parent d61d6e1660
commit 0bedf5f777
16 changed files with 819 additions and 827 deletions

View File

@@ -6,11 +6,51 @@ metadata:
name: code-server name: code-server
description: null description: null
options: 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: timezone:
default: Europe/Paris default: Europe/Paris
examples: examples:
- Europe/Paris - Europe/Paris
type: string 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: storage:
default: default:
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
@@ -38,6 +78,16 @@ options:
- Block - Block
type: string type: string
type: object type: object
sub-domain:
default: code
examples:
- code
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
images: images:
default: default:
codeserver: codeserver:
@@ -77,56 +127,6 @@ options:
type: number type: number
type: object type: object
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: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -49,8 +49,7 @@ module "application" {
component = var.component component = var.component
instance = var.instance instance = var.instance
app-group = var.app-group app-group = var.app-group
sub-domain = var.sub-domain dns-name = local.dns-name
domain-name = var.domain-name
icon = local.icon icon = local.icon
protocol_provider = module.forward.provider-id protocol_provider = module.forward.provider-id
providers = { providers = {

View File

@@ -6,53 +6,55 @@ metadata:
name: dbgate name: dbgate
description: null description: null
options: options:
domain: sub-domain:
default: your-company default: dbgate
examples: examples:
- your-company - dbgate
type: string type: string
domain-name: domain-name:
default: your_company.com default: your_company.com
examples: examples:
- your_company.com - your_company.com
type: string type: string
domain:
default: your-company
examples:
- your-company
type: string
use-oauth: use-oauth:
default: false default: false
examples: examples:
- false - false
type: boolean type: boolean
app-group: mongo:
default: dev default: []
examples: examples:
- dev - []
type: string items:
storage:
default:
accessMode: ReadWriteOnce
size: 1Gi
type: Filesystem
examples:
- accessMode: ReadWriteOnce
size: 1Gi
type: Filesystem
properties: properties:
accessMode: dbname:
default: ReadWriteOnce default: ''
enum:
- ReadWriteOnce
- ReadOnlyMany
- ReadWriteMany
type: string type: string
size: name:
default: 1Gi default: ''
type: string type: string
type: namespace:
default: Filesystem default: ''
enum: type: string
- Filesystem secret:
- Block properties:
key:
default: ''
type: string
name:
default: ''
type: string type: string
type: object type: object
username:
default: ''
type: string
type: object
type: array
images: images:
default: default:
dbgate: dbgate:
@@ -92,15 +94,15 @@ options:
type: string type: string
type: object type: object
type: object type: object
sub-domain: app-group:
default: dbgate default: dev
examples: examples:
- dbgate - dev
type: string type: string
issuer: ingress-class:
default: letsencrypt-prod default: traefik
examples: examples:
- letsencrypt-prod - traefik
type: string type: string
pg: pg:
default: [] default: []
@@ -131,6 +133,11 @@ options:
type: string type: string
type: object type: object
type: array type: array
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
maria: maria:
default: [] default: []
examples: examples:
@@ -160,40 +167,33 @@ options:
type: string type: string
type: object type: object
type: array type: array
mongo: storage:
default: [] default:
accessMode: ReadWriteOnce
size: 1Gi
type: Filesystem
examples: examples:
- [] - accessMode: ReadWriteOnce
items: size: 1Gi
type: Filesystem
properties: properties:
dbname: accessMode:
default: '' default: ReadWriteOnce
enum:
- ReadWriteOnce
- ReadOnlyMany
- ReadWriteMany
type: string type: string
name: size:
default: '' default: 1Gi
type: string type: string
namespace: type:
default: '' default: Filesystem
type: string enum:
secret: - Filesystem
properties: - Block
key:
default: ''
type: string
name:
default: ''
type: string type: string
type: object type: object
username:
default: ''
type: string
type: object
type: array
ingress-class:
default: traefik
examples:
- traefik
type: string
dependencies: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -49,8 +49,7 @@ module "application" {
component = var.component component = var.component
instance = var.instance instance = var.instance
app-group = var.app-group app-group = var.app-group
sub-domain = var.sub-domain dns-name = local.dns-name
domain-name = var.domain-name
icon = local.icon icon = local.icon
protocol_provider = var.use-oauth?module.oauth2[0].provider-id:module.forward[0].provider-id protocol_provider = var.use-oauth?module.oauth2[0].provider-id:module.forward[0].provider-id
providers = { providers = {

View File

@@ -6,6 +6,86 @@ metadata:
name: dolibarr name: dolibarr
description: null description: null
options: 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: images:
default: default:
dolibarr: dolibarr:
@@ -71,31 +151,6 @@ options:
type: string type: string
type: object type: object
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: postgres:
default: default:
replicas: 1 replicas: 1
@@ -116,53 +171,10 @@ options:
default: '14' default: '14'
type: string type: string
type: object type: object
issuer: sub-domain:
default: letsencrypt-prod default: erp
examples: examples:
- letsencrypt-prod - erp
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:
- ''
type: string type: string
resources: resources:
default: default:
@@ -210,31 +222,64 @@ options:
examples: examples:
- your-company - your-company
type: string type: string
hpa: parameters:
default: default:
avg-cpu: 50 MAIN_LANG_DEFAULT: auto
max-replicas: 5
min-replicas: 1
examples: examples:
- avg-cpu: 50 - MAIN_LANG_DEFAULT: auto
max-replicas: 5
min-replicas: 1
properties: properties:
avg-cpu: MAIN_LANG_DEFAULT:
default: 50 default: auto
type: integer
max-replicas:
default: 5
type: integer
min-replicas:
default: 1
type: integer
type: object
domain-name:
default: your_company.com
examples:
- your_company.com
type: string 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
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: backups:
default: default:
enable: false enable: false
@@ -341,51 +386,6 @@ options:
default: false default: false
type: boolean type: boolean
type: object 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: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -9,134 +9,21 @@ metadata:
A painless self-hosted Git service. 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. Gitea is a community managed lightweight code hosting solution written in Go. It is published under the MIT license.
options: options:
sub-domain:
default: git
examples:
- git
type: string
ingress-class:
default: traefik
examples:
- traefik
type: string
domain: domain:
default: your-company default: your-company
examples: examples:
- your-company - your-company
type: string 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: backups:
default: default:
enable: false enable: false
@@ -243,6 +130,76 @@ options:
default: false default: false
type: boolean type: boolean
type: object 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: webhook:
default: default:
allowed-hosts: private allowed-hosts: private
@@ -258,20 +215,10 @@ options:
default: false default: false
type: boolean type: boolean
type: object type: object
release: issuer:
default: 8.3.0 default: letsencrypt-prod
examples: examples:
- 8.3.0 - letsencrypt-prod
type: string
ssh-port:
default: 2222
examples:
- 2222
type: integer
default-branch:
default: main
examples:
- main
type: string type: string
admin: admin:
default: default:
@@ -288,16 +235,69 @@ options:
default: gitea_admin default: gitea_admin
type: string type: string
type: object type: object
ingress-class: images:
default: traefik 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: examples:
- traefik - 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 type: string
disable-registration: registry:
default: true default: docker.io
examples: type: string
- true repository:
type: boolean 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: push-create:
default: default:
org: 'true' org: 'true'
@@ -318,21 +318,21 @@ options:
default: 'true' default: 'true'
type: string type: string
type: object type: object
sub-domain: domain-name:
default: git default: your_company.com
examples: examples:
- git - your_company.com
type: string type: string
volume: theme:
default: default: gitea-modern
size: 10Gi
examples: examples:
- size: 10Gi - gitea-modern
properties: type: string
size: default-branch:
default: 10Gi default: main
examples:
- main
type: string type: string
type: object
dependencies: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -6,11 +6,6 @@ metadata:
name: k8s-api name: k8s-api
description: Access to the kubernetes api description: Access to the kubernetes api
options: options:
domain:
default: your-company
examples:
- your-company
type: string
sub-domain: sub-domain:
default: api default: api
examples: examples:
@@ -21,6 +16,11 @@ options:
examples: examples:
- your_company.com - your_company.com
type: string type: string
domain:
default: your-company
examples:
- your-company
type: string
issuer: issuer:
default: letsencrypt-prod default: letsencrypt-prod
examples: examples:

View File

@@ -6,6 +6,96 @@ metadata:
name: nextcloud name: nextcloud
description: null description: null
options: 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: postgres:
default: default:
replicas: 1 replicas: 1
@@ -26,130 +116,78 @@ options:
default: '14' default: '14'
type: string type: string
type: object type: object
storage: admin:
default: default:
accessMode: ReadWriteOnce name: nextcloud_admin
size: 10Gi
examples: examples:
- accessMode: ReadWriteOnce - name: nextcloud_admin
size: 10Gi
properties: properties:
accessMode: name:
default: ReadWriteOnce default: nextcloud_admin
enum:
- ReadWriteOnce
- ReadOnlyMany
- ReadWriteMany
type: string
size:
default: 10Gi
type: string type: string
type: object type: object
backups: app-group:
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:
- 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: '' default: ''
examples:
- ''
type: string type: string
key-id-key: hpa:
default: s3-id
type: string
restic-key:
default: bck-password
type: string
retention:
default: default:
db: 30d avg-cpu: 50
keepDaily: 14 max-replicas: 5
keepMonthly: 12 min-replicas: 1
keepWeekly: 6 examples:
keepYearly: 12 - avg-cpu: 50
max-replicas: 5
min-replicas: 1
properties: properties:
db: avg-cpu:
default: 30d default: 50
type: string
keepDaily:
default: 14
type: integer type: integer
keepMonthly: max-replicas:
default: 12 default: 5
type: integer type: integer
keepWeekly: min-replicas:
default: 6 default: 1
type: integer
keepYearly:
default: 12
type: integer type: integer
type: object type: object
schedule: ingress-class:
default: traefik
examples:
- traefik
type: string
redis:
default: default:
backup: 30 3 * * * exporter:
check: 30 5 * * 1 enabled: true
db: 30 3 * * * image: quay.io/opstree/redis-exporter:v1.44.0
prune: 30 1 * * 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: properties:
backup: exporter:
default: 30 3 * * * default:
type: string enabled: true
check: image: quay.io/opstree/redis-exporter:v1.44.0
default: 30 5 * * 1 properties:
type: string enabled:
db: default: true
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: 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 type: object
images: images:
default: default:
@@ -314,16 +352,136 @@ options:
type: string type: string
type: object type: object
type: object type: object
ingress-class: domain:
default: traefik default: your-company
examples: examples:
- traefik - your-company
type: string type: string
issuer: backups:
default: letsencrypt-prod 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: examples:
- letsencrypt-prod - 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 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: sub-domain:
default: files default: files
examples: examples:
@@ -334,174 +492,16 @@ options:
examples: examples:
- your_company.com - your_company.com
type: string 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: openid-name:
default: vynil default: vynil
examples: examples:
- vynil - vynil
type: string type: string
hpa: issuer:
default: default: letsencrypt-prod
avg-cpu: 50
max-replicas: 5
min-replicas: 1
examples: examples:
- avg-cpu: 50 - letsencrypt-prod
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: 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
dependencies: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -46,8 +46,7 @@ module "application" {
component = var.component component = var.component
instance = var.instance instance = var.instance
app-group = var.app-group app-group = var.app-group
sub-domain = var.sub-domain dns-name = local.dns-name
domain-name = var.domain-name
icon = local.icon icon = local.icon
protocol_provider = module.oauth2.provider-id protocol_provider = module.oauth2.provider-id
providers = { providers = {

View File

@@ -6,6 +6,46 @@ metadata:
name: okd name: okd
description: null description: null
options: 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: images:
default: default:
okd: okd:
@@ -49,46 +89,6 @@ options:
type: string type: string
type: object type: object
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: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -49,8 +49,7 @@ module "application" {
component = var.component component = var.component
instance = var.instance instance = var.instance
app-group = var.app-group app-group = var.app-group
sub-domain = var.sub-domain dns-name = local.dns-name
domain-name = var.domain-name
icon = local.icon icon = local.icon
protocol_provider = module.forward.provider-id protocol_provider = module.forward.provider-id
providers = { providers = {

View File

@@ -6,35 +6,35 @@ metadata:
name: traefik-ui name: traefik-ui
description: Access to the Traefik UI description: Access to the Traefik UI
options: 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: domain-name:
default: your_company.com default: your_company.com
examples: examples:
- your_company.com - your_company.com
type: string type: string
sub-domain:
default: traefik
examples:
- traefik
type: string
ingress-class: ingress-class:
default: traefik default: traefik
examples: examples:
- traefik - traefik
type: string type: string
sub-domain: domain:
default: traefik default: your-company
examples: examples:
- traefik - your-company
type: string
app-group:
default: infra
examples:
- infra
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string type: string
dependencies: dependencies:
- dist: null - dist: null

View File

@@ -36,8 +36,7 @@ module "application" {
component = var.component component = var.component
instance = var.instance instance = var.instance
app-group = var.app-group app-group = var.app-group
sub-domain = var.sub-domain dns-name = local.dns-name
domain-name = var.domain-name
icon = local.icon icon = local.icon
protocol_provider = module.forward.provider-id protocol_provider = module.forward.provider-id
providers = { providers = {

View File

@@ -6,55 +6,6 @@ metadata:
name: woodpecker name: woodpecker
description: null description: null
options: 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: images:
default: default:
agent: agent:
@@ -157,15 +108,40 @@ options:
examples: examples:
- traefik - traefik
type: string 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: sub-domain:
default: ci default: ci
examples: examples:
- ci - ci
type: string type: string
issuer: domain-name:
default: letsencrypt-prod default: your_company.com
examples: examples:
- letsencrypt-prod - your_company.com
type: string type: string
timeouts: timeouts:
default: default:
@@ -182,6 +158,30 @@ options:
default: '120' default: '120'
type: string 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
domain:
default: your-company
examples:
- your-company
type: string
dependencies: dependencies:
- dist: null - dist: null
category: apps category: apps

View File

@@ -21,8 +21,8 @@ resource "authentik_application" "prj_app" {
slug = "${var.component}-${var.instance}" slug = "${var.component}-${var.instance}"
group = var.app-group group = var.app-group
protocol_provider = var.protocol_provider protocol_provider = var.protocol_provider
meta_launch_url = format("https://%s.%s", var.sub-domain, var.domain-name) meta_launch_url = format("https://%s", var.dns-name)
meta_icon = format("https://%s.%s/%s", var.sub-domain, var.domain-name, var.icon) meta_icon = format("https://%s/%s", var.dns-name, var.icon)
} }
resource "authentik_policy_expression" "policy" { resource "authentik_policy_expression" "policy" {

View File

@@ -13,10 +13,7 @@ variable "app-group" {
variable "protocol_provider" { variable "protocol_provider" {
type = number type = number
} }
variable "sub-domain" { variable "dns-name" {
type = string
}
variable "domain-name" {
type = string type = string
} }
variable "sub-groups" { variable "sub-groups" {