fix
This commit is contained in:
@@ -6,6 +6,330 @@ metadata:
|
|||||||
name: dolibarr
|
name: dolibarr
|
||||||
description: null
|
description: null
|
||||||
options:
|
options:
|
||||||
|
domain_name:
|
||||||
|
default: your_company.com
|
||||||
|
examples:
|
||||||
|
- your_company.com
|
||||||
|
type: string
|
||||||
|
domain:
|
||||||
|
default: your-company
|
||||||
|
examples:
|
||||||
|
- your-company
|
||||||
|
type: string
|
||||||
|
sub_domain:
|
||||||
|
default: erp
|
||||||
|
examples:
|
||||||
|
- erp
|
||||||
|
type: string
|
||||||
|
log-level:
|
||||||
|
default: 5
|
||||||
|
examples:
|
||||||
|
- 5
|
||||||
|
type: integer
|
||||||
|
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
|
||||||
|
parameters:
|
||||||
|
default:
|
||||||
|
MAIN_LANG_DEFAULT: auto
|
||||||
|
examples:
|
||||||
|
- MAIN_LANG_DEFAULT: auto
|
||||||
|
properties:
|
||||||
|
MAIN_LANG_DEFAULT:
|
||||||
|
default: auto
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
app_group:
|
||||||
|
default: ''
|
||||||
|
examples:
|
||||||
|
- ''
|
||||||
|
type: string
|
||||||
|
postgres:
|
||||||
|
default:
|
||||||
|
replicas: 1
|
||||||
|
examples:
|
||||||
|
- replicas: 1
|
||||||
|
properties:
|
||||||
|
replicas:
|
||||||
|
default: 1
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
|
redis:
|
||||||
|
default:
|
||||||
|
exporter:
|
||||||
|
enabled: true
|
||||||
|
examples:
|
||||||
|
- exporter:
|
||||||
|
enabled: true
|
||||||
|
properties:
|
||||||
|
exporter:
|
||||||
|
default:
|
||||||
|
enabled: true
|
||||||
|
properties:
|
||||||
|
enabled:
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
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
|
||||||
|
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: 20 3 * * *
|
||||||
|
check: 20 5 * * 1
|
||||||
|
db: 0 3 * * *
|
||||||
|
prune: 20 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: 20 3 * * *
|
||||||
|
check: 20 5 * * 1
|
||||||
|
db: 0 3 * * *
|
||||||
|
prune: 20 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: 20 3 * * *
|
||||||
|
check: 20 5 * * 1
|
||||||
|
db: 0 3 * * *
|
||||||
|
prune: 20 1 * * 0
|
||||||
|
properties:
|
||||||
|
backup:
|
||||||
|
default: 20 3 * * *
|
||||||
|
type: string
|
||||||
|
check:
|
||||||
|
default: 20 5 * * 1
|
||||||
|
type: string
|
||||||
|
db:
|
||||||
|
default: 0 3 * * *
|
||||||
|
type: string
|
||||||
|
prune:
|
||||||
|
default: 20 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
|
||||||
|
modules:
|
||||||
|
default:
|
||||||
|
- societe
|
||||||
|
examples:
|
||||||
|
- - societe
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
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
|
||||||
|
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
|
||||||
images:
|
images:
|
||||||
default:
|
default:
|
||||||
dolibarr:
|
dolibarr:
|
||||||
@@ -155,335 +479,11 @@ options:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
modules:
|
|
||||||
default:
|
|
||||||
- societe
|
|
||||||
examples:
|
|
||||||
- - societe
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
domain:
|
|
||||||
default: your-company
|
|
||||||
examples:
|
|
||||||
- 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:
|
|
||||||
avg-cpu:
|
|
||||||
default: 50
|
|
||||||
type: integer
|
|
||||||
max-replicas:
|
|
||||||
default: 5
|
|
||||||
type: integer
|
|
||||||
min-replicas:
|
|
||||||
default: 1
|
|
||||||
type: integer
|
|
||||||
type: object
|
|
||||||
parameters:
|
|
||||||
default:
|
|
||||||
MAIN_LANG_DEFAULT: auto
|
|
||||||
examples:
|
|
||||||
- MAIN_LANG_DEFAULT: auto
|
|
||||||
properties:
|
|
||||||
MAIN_LANG_DEFAULT:
|
|
||||||
default: auto
|
|
||||||
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: 20 3 * * *
|
|
||||||
check: 20 5 * * 1
|
|
||||||
db: 0 3 * * *
|
|
||||||
prune: 20 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: 20 3 * * *
|
|
||||||
check: 20 5 * * 1
|
|
||||||
db: 0 3 * * *
|
|
||||||
prune: 20 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: 20 3 * * *
|
|
||||||
check: 20 5 * * 1
|
|
||||||
db: 0 3 * * *
|
|
||||||
prune: 20 1 * * 0
|
|
||||||
properties:
|
|
||||||
backup:
|
|
||||||
default: 20 3 * * *
|
|
||||||
type: string
|
|
||||||
check:
|
|
||||||
default: 20 5 * * 1
|
|
||||||
type: string
|
|
||||||
db:
|
|
||||||
default: 0 3 * * *
|
|
||||||
type: string
|
|
||||||
prune:
|
|
||||||
default: 20 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
|
|
||||||
redis:
|
|
||||||
default:
|
|
||||||
exporter:
|
|
||||||
enabled: true
|
|
||||||
examples:
|
|
||||||
- exporter:
|
|
||||||
enabled: true
|
|
||||||
properties:
|
|
||||||
exporter:
|
|
||||||
default:
|
|
||||||
enabled: true
|
|
||||||
properties:
|
|
||||||
enabled:
|
|
||||||
default: true
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
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
|
|
||||||
examples:
|
|
||||||
- replicas: 1
|
|
||||||
properties:
|
|
||||||
replicas:
|
|
||||||
default: 1
|
|
||||||
type: integer
|
|
||||||
type: object
|
|
||||||
issuer:
|
issuer:
|
||||||
default: letsencrypt-prod
|
default: letsencrypt-prod
|
||||||
examples:
|
examples:
|
||||||
- letsencrypt-prod
|
- letsencrypt-prod
|
||||||
type: string
|
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:
|
dependencies:
|
||||||
- dist: null
|
- dist: null
|
||||||
category: share
|
category: share
|
||||||
@@ -505,6 +505,7 @@ providers:
|
|||||||
authentik: true
|
authentik: true
|
||||||
kubectl: true
|
kubectl: true
|
||||||
postgresql: null
|
postgresql: null
|
||||||
|
mysql: null
|
||||||
restapi: true
|
restapi: true
|
||||||
http: true
|
http: true
|
||||||
gitea: null
|
gitea: null
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ resource "kubectl_manifest" "prj_certificate" {
|
|||||||
|
|
||||||
resource "kubectl_manifest" "prj_https_redirect" {
|
resource "kubectl_manifest" "prj_https_redirect" {
|
||||||
yaml_body = <<-EOF
|
yaml_body = <<-EOF
|
||||||
apiVersion: "traefik.containo.us/v1alpha1"
|
apiVersion: "traefik.io/v1alpha1"
|
||||||
kind: "Middleware"
|
kind: "Middleware"
|
||||||
metadata:
|
metadata:
|
||||||
name: "${var.instance}-https"
|
name: "${var.instance}-https"
|
||||||
|
|||||||
@@ -6,6 +6,16 @@ metadata:
|
|||||||
name: k8s-api
|
name: k8s-api
|
||||||
description: Access to the kubernetes api
|
description: Access to the kubernetes api
|
||||||
options:
|
options:
|
||||||
|
issuer:
|
||||||
|
default: letsencrypt-prod
|
||||||
|
examples:
|
||||||
|
- letsencrypt-prod
|
||||||
|
type: string
|
||||||
|
ingress_class:
|
||||||
|
default: traefik
|
||||||
|
examples:
|
||||||
|
- traefik
|
||||||
|
type: string
|
||||||
domain:
|
domain:
|
||||||
default: your-company
|
default: your-company
|
||||||
examples:
|
examples:
|
||||||
@@ -21,16 +31,6 @@ options:
|
|||||||
examples:
|
examples:
|
||||||
- api
|
- api
|
||||||
type: string
|
type: string
|
||||||
issuer:
|
|
||||||
default: letsencrypt-prod
|
|
||||||
examples:
|
|
||||||
- letsencrypt-prod
|
|
||||||
type: string
|
|
||||||
ingress_class:
|
|
||||||
default: traefik
|
|
||||||
examples:
|
|
||||||
- traefik
|
|
||||||
type: string
|
|
||||||
dependencies:
|
dependencies:
|
||||||
- dist: null
|
- dist: null
|
||||||
category: share
|
category: share
|
||||||
@@ -40,6 +40,7 @@ providers:
|
|||||||
authentik: true
|
authentik: true
|
||||||
kubectl: true
|
kubectl: true
|
||||||
postgresql: null
|
postgresql: null
|
||||||
|
mysql: null
|
||||||
restapi: true
|
restapi: true
|
||||||
http: true
|
http: true
|
||||||
gitea: null
|
gitea: null
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ resource "kubectl_manifest" "prj_certificate" {
|
|||||||
resource "kubectl_manifest" "prj_ingress" {
|
resource "kubectl_manifest" "prj_ingress" {
|
||||||
force_conflicts = true
|
force_conflicts = true
|
||||||
yaml_body = <<-EOF
|
yaml_body = <<-EOF
|
||||||
apiVersion: "traefik.containo.us/v1alpha1"
|
apiVersion: "traefik.io/v1alpha1"
|
||||||
kind: "IngressRoute"
|
kind: "IngressRoute"
|
||||||
metadata:
|
metadata:
|
||||||
name: "${var.instance}"
|
name: "${var.instance}"
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
# Source: nextcloud/templates/metrics-deployment.yaml
|
# Source: nextcloud/templates/metrics/deployment.yaml
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: nextcloud-metrics
|
name: nextcloud-metrics
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: nextcloud
|
app.kubernetes.io/name: nextcloud
|
||||||
helm.sh/chart: nextcloud-4.5.12
|
helm.sh/chart: nextcloud-4.6.2
|
||||||
app.kubernetes.io/instance: nextcloud
|
app.kubernetes.io/instance: nextcloud
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: metrics
|
app.kubernetes.io/component: metrics
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: nextcloud
|
name: nextcloud
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: nextcloud
|
app.kubernetes.io/name: nextcloud
|
||||||
helm.sh/chart: nextcloud-4.5.12
|
helm.sh/chart: nextcloud-4.6.2
|
||||||
app.kubernetes.io/instance: nextcloud
|
app.kubernetes.io/instance: nextcloud
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: app
|
app.kubernetes.io/component: app
|
||||||
@@ -28,10 +28,11 @@ spec:
|
|||||||
nextcloud-config-hash: 389c7a366de1675e1455b824e52d593448eb9f3d376f49a478d2135e037b30a0
|
nextcloud-config-hash: 389c7a366de1675e1455b824e52d593448eb9f3d376f49a478d2135e037b30a0
|
||||||
php-config-hash: 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
|
php-config-hash: 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
|
||||||
nginx-config-hash: 18dd8f905a93ed27f032e9ae68084222ed7e5926f7144cda17b979780f4da54b
|
nginx-config-hash: 18dd8f905a93ed27f032e9ae68084222ed7e5926f7144cda17b979780f4da54b
|
||||||
|
hooks-hash: 9525c2748a6c7cd0e28ec740623d0b3fa5a75c83b51ccfd136bc89c76737b204
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: nextcloud
|
- name: nextcloud
|
||||||
image: nextcloud:28.0.1-apache
|
image: nextcloud:28.0.2-apache
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: nextcloud
|
name: nextcloud
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: nextcloud
|
app.kubernetes.io/name: nextcloud
|
||||||
helm.sh/chart: nextcloud-4.5.12
|
helm.sh/chart: nextcloud-4.6.2
|
||||||
app.kubernetes.io/instance: nextcloud
|
app.kubernetes.io/instance: nextcloud
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: app
|
app.kubernetes.io/component: app
|
||||||
|
|||||||
@@ -11,170 +11,6 @@ options:
|
|||||||
examples:
|
examples:
|
||||||
- letsencrypt-prod
|
- letsencrypt-prod
|
||||||
type: string
|
type: string
|
||||||
postgres:
|
|
||||||
default:
|
|
||||||
replicas: 1
|
|
||||||
examples:
|
|
||||||
- replicas: 1
|
|
||||||
properties:
|
|
||||||
replicas:
|
|
||||||
default: 1
|
|
||||||
type: integer
|
|
||||||
type: object
|
|
||||||
apps:
|
|
||||||
default:
|
|
||||||
audioplayer: false
|
|
||||||
bookmarks: false
|
|
||||||
bpm: false
|
|
||||||
calendar: false
|
|
||||||
collabora: false
|
|
||||||
contacts: false
|
|
||||||
deck: false
|
|
||||||
groupfolders: true
|
|
||||||
mindmap: false
|
|
||||||
music: false
|
|
||||||
notes: false
|
|
||||||
onlyoffice: false
|
|
||||||
passman: false
|
|
||||||
spreed: false
|
|
||||||
tables: false
|
|
||||||
tasks: false
|
|
||||||
texteditor: true
|
|
||||||
examples:
|
|
||||||
- audioplayer: false
|
|
||||||
bookmarks: false
|
|
||||||
bpm: false
|
|
||||||
calendar: false
|
|
||||||
collabora: false
|
|
||||||
contacts: false
|
|
||||||
deck: false
|
|
||||||
groupfolders: true
|
|
||||||
mindmap: false
|
|
||||||
music: false
|
|
||||||
notes: false
|
|
||||||
onlyoffice: false
|
|
||||||
passman: false
|
|
||||||
spreed: false
|
|
||||||
tables: false
|
|
||||||
tasks: false
|
|
||||||
texteditor: true
|
|
||||||
properties:
|
|
||||||
audioplayer:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
bookmarks:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
bpm:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
calendar:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
collabora:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
contacts:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
deck:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
groupfolders:
|
|
||||||
default: true
|
|
||||||
type: boolean
|
|
||||||
mindmap:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
music:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
notes:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
onlyoffice:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
passman:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
spreed:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
tables:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
tasks:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
texteditor:
|
|
||||||
default: true
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
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
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: object
|
|
||||||
backups:
|
backups:
|
||||||
default:
|
default:
|
||||||
enable: false
|
enable: false
|
||||||
@@ -281,6 +117,56 @@ options:
|
|||||||
default: false
|
default: false
|
||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
|
sub_domain:
|
||||||
|
default: files
|
||||||
|
examples:
|
||||||
|
- files
|
||||||
|
type: string
|
||||||
|
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
|
||||||
|
domain_name:
|
||||||
|
default: your_company.com
|
||||||
|
examples:
|
||||||
|
- your_company.com
|
||||||
|
type: string
|
||||||
|
admin:
|
||||||
|
default:
|
||||||
|
name: nextcloud_admin
|
||||||
|
examples:
|
||||||
|
- name: nextcloud_admin
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
default: nextcloud_admin
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
postgres:
|
||||||
|
default:
|
||||||
|
replicas: 1
|
||||||
|
examples:
|
||||||
|
- replicas: 1
|
||||||
|
properties:
|
||||||
|
replicas:
|
||||||
|
default: 1
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
images:
|
images:
|
||||||
default:
|
default:
|
||||||
collabora:
|
collabora:
|
||||||
@@ -536,6 +422,101 @@ options:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
|
apps:
|
||||||
|
default:
|
||||||
|
audioplayer: false
|
||||||
|
bookmarks: false
|
||||||
|
bpm: false
|
||||||
|
calendar: false
|
||||||
|
collabora: false
|
||||||
|
contacts: false
|
||||||
|
deck: false
|
||||||
|
groupfolders: true
|
||||||
|
mindmap: false
|
||||||
|
music: false
|
||||||
|
notes: false
|
||||||
|
onlyoffice: false
|
||||||
|
passman: false
|
||||||
|
spreed: false
|
||||||
|
tables: false
|
||||||
|
tasks: false
|
||||||
|
texteditor: true
|
||||||
|
examples:
|
||||||
|
- audioplayer: false
|
||||||
|
bookmarks: false
|
||||||
|
bpm: false
|
||||||
|
calendar: false
|
||||||
|
collabora: false
|
||||||
|
contacts: false
|
||||||
|
deck: false
|
||||||
|
groupfolders: true
|
||||||
|
mindmap: false
|
||||||
|
music: false
|
||||||
|
notes: false
|
||||||
|
onlyoffice: false
|
||||||
|
passman: false
|
||||||
|
spreed: false
|
||||||
|
tables: false
|
||||||
|
tasks: false
|
||||||
|
texteditor: true
|
||||||
|
properties:
|
||||||
|
audioplayer:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
bookmarks:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
bpm:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
calendar:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
collabora:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
contacts:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
deck:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
groupfolders:
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
|
mindmap:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
music:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
notes:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
onlyoffice:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
passman:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
spreed:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
tables:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
tasks:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
texteditor:
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
|
type: object
|
||||||
|
ingress_class:
|
||||||
|
default: traefik
|
||||||
|
examples:
|
||||||
|
- traefik
|
||||||
|
type: string
|
||||||
redis:
|
redis:
|
||||||
default:
|
default:
|
||||||
exporter:
|
exporter:
|
||||||
@@ -553,66 +534,85 @@ options:
|
|||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
admin:
|
|
||||||
default:
|
|
||||||
name: nextcloud_admin
|
|
||||||
examples:
|
|
||||||
- name: nextcloud_admin
|
|
||||||
properties:
|
|
||||||
name:
|
|
||||||
default: nextcloud_admin
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
app_group:
|
|
||||||
default: ''
|
|
||||||
examples:
|
|
||||||
- ''
|
|
||||||
type: string
|
|
||||||
domain_name:
|
|
||||||
default: your_company.com
|
|
||||||
examples:
|
|
||||||
- your_company.com
|
|
||||||
type: string
|
|
||||||
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
|
|
||||||
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
|
||||||
|
app_group:
|
||||||
|
default: ''
|
||||||
|
examples:
|
||||||
|
- ''
|
||||||
|
type: string
|
||||||
openid-name:
|
openid-name:
|
||||||
default: vynil
|
default: vynil
|
||||||
examples:
|
examples:
|
||||||
- vynil
|
- vynil
|
||||||
type: string
|
type: string
|
||||||
sub_domain:
|
storage:
|
||||||
default: files
|
default:
|
||||||
|
postgres:
|
||||||
|
size: 5Gi
|
||||||
|
redis:
|
||||||
|
size: 2Gi
|
||||||
|
volume:
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
|
size: 10Gi
|
||||||
|
type: Filesystem
|
||||||
|
description: Configure this app storage
|
||||||
examples:
|
examples:
|
||||||
- files
|
- 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: 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
|
||||||
dependencies:
|
dependencies:
|
||||||
- dist: null
|
- dist: null
|
||||||
category: share
|
category: share
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
resource "kubectl_manifest" "redirectdav" {
|
resource "kubectl_manifest" "redirectdav" {
|
||||||
yaml_body = <<-EOF
|
yaml_body = <<-EOF
|
||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
metadata:
|
metadata:
|
||||||
name: "${var.instance}-redirectdav"
|
name: "${var.instance}-redirectdav"
|
||||||
@@ -16,7 +16,7 @@ spec:
|
|||||||
|
|
||||||
resource "kubectl_manifest" "redirectindex" {
|
resource "kubectl_manifest" "redirectindex" {
|
||||||
yaml_body = <<-EOF
|
yaml_body = <<-EOF
|
||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
metadata:
|
metadata:
|
||||||
name: "${var.instance}-redirectindex"
|
name: "${var.instance}-redirectindex"
|
||||||
@@ -32,7 +32,7 @@ spec:
|
|||||||
|
|
||||||
resource "kubectl_manifest" "sslenforce" {
|
resource "kubectl_manifest" "sslenforce" {
|
||||||
yaml_body = <<-EOF
|
yaml_body = <<-EOF
|
||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
metadata:
|
metadata:
|
||||||
name: "${var.instance}-sslenforce"
|
name: "${var.instance}-sslenforce"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Source: nextcloud/templates/metrics-servicemonitor.yaml
|
# Source: nextcloud/templates/metrics/servicemonitor.yaml
|
||||||
apiVersion: monitoring.coreos.com/v1
|
apiVersion: monitoring.coreos.com/v1
|
||||||
kind: ServiceMonitor
|
kind: ServiceMonitor
|
||||||
metadata:
|
metadata:
|
||||||
@@ -6,7 +6,7 @@ metadata:
|
|||||||
namespace: "vynil-cloud"
|
namespace: "vynil-cloud"
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: nextcloud
|
app.kubernetes.io/name: nextcloud
|
||||||
helm.sh/chart: nextcloud-4.5.12
|
helm.sh/chart: nextcloud-4.6.2
|
||||||
app.kubernetes.io/instance: nextcloud
|
app.kubernetes.io/instance: nextcloud
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: metrics
|
app.kubernetes.io/component: metrics
|
||||||
|
|||||||
@@ -11,18 +11,6 @@ locals {
|
|||||||
"number" = 80
|
"number" = 80
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
collabora-service = {
|
|
||||||
"name" = "collabora-${var.instance}"
|
|
||||||
"port" = {
|
|
||||||
"number" = 80
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onlyoffice-service = {
|
|
||||||
"name" = "onlyoffice-${var.instance}"
|
|
||||||
"port" = {
|
|
||||||
"number" = 80
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module "ingress" {
|
module "ingress" {
|
||||||
@@ -78,7 +66,6 @@ module "collabora-service" {
|
|||||||
namespace = var.namespace
|
namespace = var.namespace
|
||||||
labels = local.collabora-labels
|
labels = local.collabora-labels
|
||||||
targets = ["http"]
|
targets = ["http"]
|
||||||
ports = [local.collabora-service.port.number]
|
|
||||||
providers = {
|
providers = {
|
||||||
kubectl = kubectl
|
kubectl = kubectl
|
||||||
}
|
}
|
||||||
@@ -95,7 +82,7 @@ module "collabora-ingress" {
|
|||||||
labels = local.collabora-labels
|
labels = local.collabora-labels
|
||||||
dns_names = [local.dns-collabora]
|
dns_names = [local.dns-collabora]
|
||||||
middlewares = []
|
middlewares = []
|
||||||
services = [local.collabora-service]
|
services = [module.collabora-service.default_definition]
|
||||||
providers = {
|
providers = {
|
||||||
kubectl = kubectl
|
kubectl = kubectl
|
||||||
}
|
}
|
||||||
@@ -109,7 +96,6 @@ module "onlyoffice-service" {
|
|||||||
namespace = var.namespace
|
namespace = var.namespace
|
||||||
labels = local.onlyoffice-labels
|
labels = local.onlyoffice-labels
|
||||||
targets = ["http"]
|
targets = ["http"]
|
||||||
ports = [local.onlyoffice-service.port.number]
|
|
||||||
providers = {
|
providers = {
|
||||||
kubectl = kubectl
|
kubectl = kubectl
|
||||||
}
|
}
|
||||||
@@ -126,7 +112,7 @@ module "onlyoffice-ingress" {
|
|||||||
labels = local.onlyoffice-labels
|
labels = local.onlyoffice-labels
|
||||||
dns_names = [local.dns-onlyoffice]
|
dns_names = [local.dns-onlyoffice]
|
||||||
middlewares = []
|
middlewares = []
|
||||||
services = [local.onlyoffice-service]
|
services = [module.onlyoffice-service.default_definition]
|
||||||
providers = {
|
providers = {
|
||||||
kubectl = kubectl
|
kubectl = kubectl
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,6 @@ roleRef:
|
|||||||
kind: Role
|
kind: Role
|
||||||
name: nextcloud-privileged
|
name: nextcloud-privileged
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: nextcloud-serviceaccount
|
name: nextcloud-serviceaccount
|
||||||
namespace: vynil-cloud
|
namespace: vynil-cloud
|
||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: nextcloud-privileged
|
name: nextcloud-privileged
|
||||||
namespace: vynil-cloud
|
namespace: vynil-cloud
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- extensions
|
- extensions
|
||||||
resourceNames:
|
resourceNames:
|
||||||
- privileged
|
- privileged
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: nextcloud-config
|
name: nextcloud-config
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: nextcloud
|
app.kubernetes.io/name: nextcloud
|
||||||
helm.sh/chart: nextcloud-4.5.12
|
helm.sh/chart: nextcloud-4.6.2
|
||||||
app.kubernetes.io/instance: nextcloud
|
app.kubernetes.io/instance: nextcloud
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
data:
|
data:
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: nextcloud-nginxconfig
|
name: nextcloud-nginxconfig
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: nextcloud
|
app.kubernetes.io/name: nextcloud
|
||||||
helm.sh/chart: nextcloud-4.5.12
|
helm.sh/chart: nextcloud-4.6.2
|
||||||
app.kubernetes.io/instance: nextcloud
|
app.kubernetes.io/instance: nextcloud
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
data:
|
data:
|
||||||
@@ -53,6 +53,15 @@ data:
|
|||||||
# Remove X-Powered-By, which is an information leak
|
# Remove X-Powered-By, which is an information leak
|
||||||
fastcgi_hide_header X-Powered-By;
|
fastcgi_hide_header X-Powered-By;
|
||||||
|
|
||||||
|
# Add .mjs as a file extension for javascript
|
||||||
|
# Either include it in the default mime.types list
|
||||||
|
# or include you can include that list explicitly and add the file extension
|
||||||
|
# only for Nextcloud like below:
|
||||||
|
include mime.types;
|
||||||
|
types {
|
||||||
|
text/javascript js mjs;
|
||||||
|
}
|
||||||
|
|
||||||
# Path to the root of your installation
|
# Path to the root of your installation
|
||||||
root /var/www/html;
|
root /var/www/html;
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: nextcloud-nextcloud
|
name: nextcloud-nextcloud
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: nextcloud
|
app.kubernetes.io/name: nextcloud
|
||||||
helm.sh/chart: nextcloud-4.5.12
|
helm.sh/chart: nextcloud-4.6.2
|
||||||
app.kubernetes.io/instance: nextcloud
|
app.kubernetes.io/instance: nextcloud
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: app
|
app.kubernetes.io/component: app
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
# Source: nextcloud/templates/metrics-service.yaml
|
# Source: nextcloud/templates/metrics/service.yaml
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: nextcloud-metrics
|
name: nextcloud-metrics
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: nextcloud
|
app.kubernetes.io/name: nextcloud
|
||||||
helm.sh/chart: nextcloud-4.5.12
|
helm.sh/chart: nextcloud-4.6.2
|
||||||
app.kubernetes.io/instance: nextcloud
|
app.kubernetes.io/instance: nextcloud
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: metrics
|
app.kubernetes.io/component: metrics
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: nextcloud
|
name: nextcloud
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: nextcloud
|
app.kubernetes.io/name: nextcloud
|
||||||
helm.sh/chart: nextcloud-4.5.12
|
helm.sh/chart: nextcloud-4.6.2
|
||||||
app.kubernetes.io/instance: nextcloud
|
app.kubernetes.io/instance: nextcloud
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: app
|
app.kubernetes.io/component: app
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ resource "restapi_object" "forward_outpost_binding" {
|
|||||||
|
|
||||||
resource "kubectl_manifest" "prj_middleware" {
|
resource "kubectl_manifest" "prj_middleware" {
|
||||||
yaml_body = <<-EOF
|
yaml_body = <<-EOF
|
||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
metadata:
|
metadata:
|
||||||
name: "forward-${local.app_name}"
|
name: "forward-${local.app_name}"
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ resource "kubectl_manifest" "prj_certificate" {
|
|||||||
resource "kubectl_manifest" "prj_https_redirect" {
|
resource "kubectl_manifest" "prj_https_redirect" {
|
||||||
count = var.create_redirect||var.component==""?1:0
|
count = var.create_redirect||var.component==""?1:0
|
||||||
yaml_body = <<-EOF
|
yaml_body = <<-EOF
|
||||||
apiVersion: "traefik.containo.us/v1alpha1"
|
apiVersion: "traefik.io/v1alpha1"
|
||||||
kind: "Middleware"
|
kind: "Middleware"
|
||||||
metadata:
|
metadata:
|
||||||
name: "${var.instance}-https"
|
name: "${var.instance}-https"
|
||||||
|
|||||||
@@ -6,15 +6,15 @@ metadata:
|
|||||||
name: authentik
|
name: authentik
|
||||||
description: authentik is an open-source Identity Provider focused on flexibility and versatility
|
description: authentik is an open-source Identity Provider focused on flexibility and versatility
|
||||||
options:
|
options:
|
||||||
sub_domain:
|
domain:
|
||||||
default: auth
|
default: your-company
|
||||||
examples:
|
examples:
|
||||||
- auth
|
- your-company
|
||||||
type: string
|
type: string
|
||||||
domain_name:
|
geoip:
|
||||||
default: your_company.com
|
default: /geoip/GeoLite2-City.mmdb
|
||||||
examples:
|
examples:
|
||||||
- your_company.com
|
- /geoip/GeoLite2-City.mmdb
|
||||||
type: string
|
type: string
|
||||||
postgres:
|
postgres:
|
||||||
default:
|
default:
|
||||||
@@ -26,21 +26,61 @@ options:
|
|||||||
default: 1
|
default: 1
|
||||||
type: integer
|
type: integer
|
||||||
type: object
|
type: object
|
||||||
ingress_class:
|
email:
|
||||||
default: traefik
|
default:
|
||||||
|
port: 587
|
||||||
|
timeout: 30
|
||||||
|
use_ssl: false
|
||||||
|
use_tls: false
|
||||||
examples:
|
examples:
|
||||||
- traefik
|
- port: 587
|
||||||
type: string
|
timeout: 30
|
||||||
loglevel:
|
use_ssl: false
|
||||||
default: info
|
use_tls: false
|
||||||
|
properties:
|
||||||
|
port:
|
||||||
|
default: 587
|
||||||
|
type: integer
|
||||||
|
timeout:
|
||||||
|
default: 30
|
||||||
|
type: integer
|
||||||
|
use_ssl:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
use_tls:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
type: object
|
||||||
|
domain_name:
|
||||||
|
default: your_company.com
|
||||||
examples:
|
examples:
|
||||||
- info
|
- your_company.com
|
||||||
type: string
|
type: string
|
||||||
geoip:
|
sub_domain:
|
||||||
default: /geoip/GeoLite2-City.mmdb
|
default: auth
|
||||||
examples:
|
examples:
|
||||||
- /geoip/GeoLite2-City.mmdb
|
- auth
|
||||||
type: string
|
type: string
|
||||||
|
error_reporting:
|
||||||
|
default:
|
||||||
|
enabled: false
|
||||||
|
environment: k8s
|
||||||
|
send_pii: false
|
||||||
|
examples:
|
||||||
|
- enabled: false
|
||||||
|
environment: k8s
|
||||||
|
send_pii: false
|
||||||
|
properties:
|
||||||
|
enabled:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
environment:
|
||||||
|
default: k8s
|
||||||
|
type: string
|
||||||
|
send_pii:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
type: object
|
||||||
images:
|
images:
|
||||||
default:
|
default:
|
||||||
app:
|
app:
|
||||||
@@ -178,6 +218,21 @@ options:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
|
admin:
|
||||||
|
default:
|
||||||
|
email: auth-admin
|
||||||
|
examples:
|
||||||
|
- email: auth-admin
|
||||||
|
properties:
|
||||||
|
email:
|
||||||
|
default: auth-admin
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
issuer:
|
||||||
|
default: letsencrypt-prod
|
||||||
|
examples:
|
||||||
|
- letsencrypt-prod
|
||||||
|
type: string
|
||||||
redis:
|
redis:
|
||||||
default:
|
default:
|
||||||
exporter:
|
exporter:
|
||||||
@@ -195,11 +250,6 @@ options:
|
|||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
domain:
|
|
||||||
default: your-company
|
|
||||||
examples:
|
|
||||||
- your-company
|
|
||||||
type: string
|
|
||||||
storage:
|
storage:
|
||||||
default:
|
default:
|
||||||
postgres:
|
postgres:
|
||||||
@@ -229,16 +279,11 @@ options:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
admin:
|
loglevel:
|
||||||
default:
|
default: info
|
||||||
email: auth-admin
|
|
||||||
examples:
|
examples:
|
||||||
- email: auth-admin
|
- info
|
||||||
properties:
|
|
||||||
email:
|
|
||||||
default: auth-admin
|
|
||||||
type: string
|
type: string
|
||||||
type: object
|
|
||||||
backups:
|
backups:
|
||||||
default:
|
default:
|
||||||
enable: false
|
enable: false
|
||||||
@@ -298,56 +343,11 @@ options:
|
|||||||
default: false
|
default: false
|
||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
issuer:
|
ingress_class:
|
||||||
default: letsencrypt-prod
|
default: traefik
|
||||||
examples:
|
examples:
|
||||||
- letsencrypt-prod
|
- traefik
|
||||||
type: string
|
type: string
|
||||||
error_reporting:
|
|
||||||
default:
|
|
||||||
enabled: false
|
|
||||||
environment: k8s
|
|
||||||
send_pii: false
|
|
||||||
examples:
|
|
||||||
- enabled: false
|
|
||||||
environment: k8s
|
|
||||||
send_pii: false
|
|
||||||
properties:
|
|
||||||
enabled:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
environment:
|
|
||||||
default: k8s
|
|
||||||
type: string
|
|
||||||
send_pii:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
email:
|
|
||||||
default:
|
|
||||||
port: 587
|
|
||||||
timeout: 30
|
|
||||||
use_ssl: false
|
|
||||||
use_tls: false
|
|
||||||
examples:
|
|
||||||
- port: 587
|
|
||||||
timeout: 30
|
|
||||||
use_ssl: false
|
|
||||||
use_tls: false
|
|
||||||
properties:
|
|
||||||
port:
|
|
||||||
default: 587
|
|
||||||
type: integer
|
|
||||||
timeout:
|
|
||||||
default: 30
|
|
||||||
type: integer
|
|
||||||
use_ssl:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
use_tls:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
dependencies:
|
dependencies:
|
||||||
- dist: null
|
- dist: null
|
||||||
category: core
|
category: core
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ locals {
|
|||||||
}
|
}
|
||||||
resource "kubectl_manifest" "gitlab_userinfo" {
|
resource "kubectl_manifest" "gitlab_userinfo" {
|
||||||
yaml_body = <<-EOF
|
yaml_body = <<-EOF
|
||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
metadata:
|
metadata:
|
||||||
name: "${var.instance}-gitlab-userinfo"
|
name: "${var.instance}-gitlab-userinfo"
|
||||||
@@ -23,7 +23,7 @@ resource "kubectl_manifest" "gitlab_userinfo" {
|
|||||||
}
|
}
|
||||||
resource "kubectl_manifest" "gitlab_authorize" {
|
resource "kubectl_manifest" "gitlab_authorize" {
|
||||||
yaml_body = <<-EOF
|
yaml_body = <<-EOF
|
||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
metadata:
|
metadata:
|
||||||
name: "${var.instance}-gitlab-authorize"
|
name: "${var.instance}-gitlab-authorize"
|
||||||
@@ -37,7 +37,7 @@ resource "kubectl_manifest" "gitlab_authorize" {
|
|||||||
}
|
}
|
||||||
resource "kubectl_manifest" "gitlab_token" {
|
resource "kubectl_manifest" "gitlab_token" {
|
||||||
yaml_body = <<-EOF
|
yaml_body = <<-EOF
|
||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
metadata:
|
metadata:
|
||||||
name: "${var.instance}-gitlab-token"
|
name: "${var.instance}-gitlab-token"
|
||||||
|
|||||||
@@ -6,11 +6,48 @@ metadata:
|
|||||||
name: wildduck
|
name: wildduck
|
||||||
description: null
|
description: null
|
||||||
options:
|
options:
|
||||||
|
issuer:
|
||||||
|
default: letsencrypt-prod
|
||||||
|
examples:
|
||||||
|
- letsencrypt-prod
|
||||||
|
type: string
|
||||||
domain:
|
domain:
|
||||||
default: your-company
|
default: your-company
|
||||||
examples:
|
examples:
|
||||||
- your-company
|
- your-company
|
||||||
type: string
|
type: string
|
||||||
|
app_group:
|
||||||
|
default: ''
|
||||||
|
examples:
|
||||||
|
- ''
|
||||||
|
type: string
|
||||||
|
storage:
|
||||||
|
default:
|
||||||
|
redis:
|
||||||
|
size: 2Gi
|
||||||
|
examples:
|
||||||
|
- redis:
|
||||||
|
size: 2Gi
|
||||||
|
properties:
|
||||||
|
redis:
|
||||||
|
default:
|
||||||
|
size: 2Gi
|
||||||
|
properties:
|
||||||
|
size:
|
||||||
|
default: 2Gi
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
additional-domains:
|
||||||
|
default: []
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
sub_domain:
|
||||||
|
default: mail
|
||||||
|
examples:
|
||||||
|
- mail
|
||||||
|
type: string
|
||||||
redis:
|
redis:
|
||||||
default:
|
default:
|
||||||
exporter:
|
exporter:
|
||||||
@@ -28,25 +65,10 @@ options:
|
|||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
domain_name:
|
ingress_class:
|
||||||
default: your_company.com
|
default: traefik
|
||||||
examples:
|
examples:
|
||||||
- your_company.com
|
- traefik
|
||||||
type: string
|
|
||||||
app_group:
|
|
||||||
default: ''
|
|
||||||
examples:
|
|
||||||
- ''
|
|
||||||
type: string
|
|
||||||
issuer:
|
|
||||||
default: letsencrypt-prod
|
|
||||||
examples:
|
|
||||||
- letsencrypt-prod
|
|
||||||
type: string
|
|
||||||
sub_domain:
|
|
||||||
default: mail
|
|
||||||
examples:
|
|
||||||
- mail
|
|
||||||
type: string
|
type: string
|
||||||
backups:
|
backups:
|
||||||
default:
|
default:
|
||||||
@@ -78,11 +100,11 @@ options:
|
|||||||
default: backup-settings
|
default: backup-settings
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
additional-domains:
|
domain_name:
|
||||||
default: []
|
default: your_company.com
|
||||||
items:
|
examples:
|
||||||
|
- your_company.com
|
||||||
type: string
|
type: string
|
||||||
type: array
|
|
||||||
images:
|
images:
|
||||||
default:
|
default:
|
||||||
haraka:
|
haraka:
|
||||||
@@ -360,28 +382,6 @@ options:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
ingress_class:
|
|
||||||
default: traefik
|
|
||||||
examples:
|
|
||||||
- traefik
|
|
||||||
type: string
|
|
||||||
storage:
|
|
||||||
default:
|
|
||||||
redis:
|
|
||||||
size: 2Gi
|
|
||||||
examples:
|
|
||||||
- redis:
|
|
||||||
size: 2Gi
|
|
||||||
properties:
|
|
||||||
redis:
|
|
||||||
default:
|
|
||||||
size: 2Gi
|
|
||||||
properties:
|
|
||||||
size:
|
|
||||||
default: 2Gi
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: object
|
|
||||||
dependencies:
|
dependencies:
|
||||||
- dist: null
|
- dist: null
|
||||||
category: dbo
|
category: dbo
|
||||||
@@ -397,6 +397,7 @@ providers:
|
|||||||
authentik: true
|
authentik: true
|
||||||
kubectl: true
|
kubectl: true
|
||||||
postgresql: null
|
postgresql: null
|
||||||
|
mysql: null
|
||||||
restapi: true
|
restapi: true
|
||||||
http: null
|
http: null
|
||||||
gitea: null
|
gitea: null
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ resource "kubectl_manifest" "prj_certificate" {
|
|||||||
|
|
||||||
resource "kubectl_manifest" "prj_https_redirect" {
|
resource "kubectl_manifest" "prj_https_redirect" {
|
||||||
yaml_body = <<-EOF
|
yaml_body = <<-EOF
|
||||||
apiVersion: "traefik.containo.us/v1alpha1"
|
apiVersion: "traefik.io/v1alpha1"
|
||||||
kind: "Middleware"
|
kind: "Middleware"
|
||||||
metadata:
|
metadata:
|
||||||
name: "${var.instance}-https"
|
name: "${var.instance}-https"
|
||||||
|
|||||||
Reference in New Issue
Block a user