fix
This commit is contained in:
28
apps/nextcloud/application.tf
Normal file
28
apps/nextcloud/application.tf
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
data "authentik_group" "akadmin" {
|
||||||
|
name = "authentik Admins"
|
||||||
|
}
|
||||||
|
resource "authentik_group" "groups" {
|
||||||
|
name = "nextcloud-users"
|
||||||
|
}
|
||||||
|
data "authentik_group" "readed_groups" {
|
||||||
|
depends_on = [ authentik_group.groups ]
|
||||||
|
name = "nextcloud-users"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "authentik_application" "prj_app" {
|
||||||
|
name = "${var.component}"
|
||||||
|
slug = "${var.component}-${var.instance}"
|
||||||
|
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, "apps/theming/favicon")
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "authentik_policy_binding" "prj_access_users" {
|
||||||
|
target = authentik_application.prj_app.uuid
|
||||||
|
group = authentik_group.groups.id
|
||||||
|
order = 0
|
||||||
|
}
|
||||||
|
resource "authentik_policy_binding" "prj_access_vynil" {
|
||||||
|
target = authentik_application.prj_app.uuid
|
||||||
|
group = data.authentik_group.akadmin.id
|
||||||
|
order = 1
|
||||||
|
}
|
||||||
@@ -6,80 +6,44 @@ metadata:
|
|||||||
name: nextcloud
|
name: nextcloud
|
||||||
description: null
|
description: null
|
||||||
options:
|
options:
|
||||||
storage:
|
domain:
|
||||||
|
default: your-company
|
||||||
|
examples:
|
||||||
|
- your-company
|
||||||
|
type: string
|
||||||
|
redis:
|
||||||
default:
|
default:
|
||||||
accessMode: ReadWriteOnce
|
exporter:
|
||||||
size: 10Gi
|
enabled: true
|
||||||
|
image: quay.io/opstree/redis-exporter:v1.44.0
|
||||||
|
image: quay.io/opstree/redis:v7.0.5
|
||||||
|
storage: 2Gi
|
||||||
examples:
|
examples:
|
||||||
- accessMode: ReadWriteOnce
|
- exporter:
|
||||||
size: 10Gi
|
enabled: true
|
||||||
|
image: quay.io/opstree/redis-exporter:v1.44.0
|
||||||
|
image: quay.io/opstree/redis:v7.0.5
|
||||||
|
storage: 2Gi
|
||||||
properties:
|
properties:
|
||||||
accessMode:
|
exporter:
|
||||||
default: ReadWriteOnce
|
default:
|
||||||
enum:
|
enabled: true
|
||||||
- ReadWriteOnce
|
image: quay.io/opstree/redis-exporter:v1.44.0
|
||||||
- ReadOnlyMany
|
properties:
|
||||||
- ReadWriteMany
|
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
|
type: string
|
||||||
size:
|
storage:
|
||||||
default: 10Gi
|
default: 2Gi
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
sub-domain:
|
|
||||||
default: cloud
|
|
||||||
examples:
|
|
||||||
- cloud
|
|
||||||
type: string
|
|
||||||
ingress-class:
|
|
||||||
default: traefik
|
|
||||||
examples:
|
|
||||||
- traefik
|
|
||||||
type: string
|
|
||||||
openid-name:
|
|
||||||
default: vynil
|
|
||||||
examples:
|
|
||||||
- vynil
|
|
||||||
type: string
|
|
||||||
apps:
|
|
||||||
default:
|
|
||||||
calendar: false
|
|
||||||
contacts: false
|
|
||||||
deck: false
|
|
||||||
groupfolders: true
|
|
||||||
notes: false
|
|
||||||
spreed: false
|
|
||||||
tasks: false
|
|
||||||
examples:
|
|
||||||
- calendar: false
|
|
||||||
contacts: false
|
|
||||||
deck: false
|
|
||||||
groupfolders: true
|
|
||||||
notes: false
|
|
||||||
spreed: false
|
|
||||||
tasks: false
|
|
||||||
properties:
|
|
||||||
calendar:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
contacts:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
deck:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
groupfolders:
|
|
||||||
default: true
|
|
||||||
type: boolean
|
|
||||||
notes:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
spreed:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
tasks:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
images:
|
images:
|
||||||
default:
|
default:
|
||||||
exporter:
|
exporter:
|
||||||
@@ -183,44 +147,6 @@ options:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
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
|
|
||||||
issuer:
|
|
||||||
default: letsencrypt-prod
|
|
||||||
examples:
|
|
||||||
- letsencrypt-prod
|
|
||||||
type: string
|
|
||||||
postgres:
|
postgres:
|
||||||
default:
|
default:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
@@ -241,6 +167,60 @@ options:
|
|||||||
default: '14'
|
default: '14'
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
|
sub-domain:
|
||||||
|
default: files
|
||||||
|
examples:
|
||||||
|
- files
|
||||||
|
type: string
|
||||||
|
admin:
|
||||||
|
default:
|
||||||
|
name: nextcloud_admin
|
||||||
|
examples:
|
||||||
|
- name: nextcloud_admin
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
default: nextcloud_admin
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
ingress-class:
|
||||||
|
default: traefik
|
||||||
|
examples:
|
||||||
|
- traefik
|
||||||
|
type: string
|
||||||
|
domain-name:
|
||||||
|
default: your_company.com
|
||||||
|
examples:
|
||||||
|
- your_company.com
|
||||||
|
type: string
|
||||||
|
issuer:
|
||||||
|
default: letsencrypt-prod
|
||||||
|
examples:
|
||||||
|
- letsencrypt-prod
|
||||||
|
type: string
|
||||||
|
openid-name:
|
||||||
|
default: vynil
|
||||||
|
examples:
|
||||||
|
- vynil
|
||||||
|
type: string
|
||||||
|
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
|
||||||
hpa:
|
hpa:
|
||||||
default:
|
default:
|
||||||
avg-cpu: 50
|
avg-cpu: 50
|
||||||
@@ -261,25 +241,45 @@ options:
|
|||||||
default: 1
|
default: 1
|
||||||
type: integer
|
type: integer
|
||||||
type: object
|
type: object
|
||||||
domain-name:
|
apps:
|
||||||
default: your_company.com
|
|
||||||
examples:
|
|
||||||
- your_company.com
|
|
||||||
type: string
|
|
||||||
domain:
|
|
||||||
default: your-company
|
|
||||||
examples:
|
|
||||||
- your-company
|
|
||||||
type: string
|
|
||||||
admin:
|
|
||||||
default:
|
default:
|
||||||
name: nextcloud_admin
|
calendar: false
|
||||||
|
contacts: false
|
||||||
|
deck: false
|
||||||
|
groupfolders: true
|
||||||
|
notes: false
|
||||||
|
spreed: false
|
||||||
|
tasks: false
|
||||||
examples:
|
examples:
|
||||||
- name: nextcloud_admin
|
- calendar: false
|
||||||
|
contacts: false
|
||||||
|
deck: false
|
||||||
|
groupfolders: true
|
||||||
|
notes: false
|
||||||
|
spreed: false
|
||||||
|
tasks: false
|
||||||
properties:
|
properties:
|
||||||
name:
|
calendar:
|
||||||
default: nextcloud_admin
|
default: false
|
||||||
type: string
|
type: boolean
|
||||||
|
contacts:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
deck:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
groupfolders:
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
|
notes:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
spreed:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
tasks:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
dependencies: []
|
dependencies: []
|
||||||
providers:
|
providers:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
locals {
|
locals {
|
||||||
dns-names = [local.dns-name]
|
dns-names = [local.dns-name]
|
||||||
middlewares = ["${var.instance}-https"]
|
middlewares = ["${var.instance}-https","${var.instance}-redirectregex"]
|
||||||
service = {
|
service = {
|
||||||
"name" = "${var.component}"
|
"name" = "${var.component}"
|
||||||
"port" = {
|
"port" = {
|
||||||
|
|||||||
Reference in New Issue
Block a user