Compare commits
5
Commits
f712611861
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
013465ffec | ||
|
|
562ee0edae | ||
|
|
df39551a46 | ||
|
|
bc5fb92b24 | ||
|
|
191f7b4fd5 |
@@ -0,0 +1,119 @@
|
||||
variable "cronjob" {
|
||||
type = map(object({
|
||||
name = optional(string)
|
||||
image = string
|
||||
enabled = bool
|
||||
namespace = optional(string)
|
||||
connected_namespace = optional(string, "")
|
||||
schedule = string
|
||||
command = optional(list(string))
|
||||
args = optional(list(string))
|
||||
|
||||
|
||||
pvc = optional(map(object({
|
||||
name = string
|
||||
pvc = optional(bool, false)
|
||||
config_map = optional(bool, false)
|
||||
secret = optional(bool, false)
|
||||
host_path = optional(string)
|
||||
pvc_size = optional(string)
|
||||
storage_class_name = optional(string, "nfs-storage-intelligent")
|
||||
annotations_fileType = optional(string)
|
||||
existing_pvc = optional(bool, false)
|
||||
mount_path = string
|
||||
sub_path = optional(string)
|
||||
})))
|
||||
}))
|
||||
|
||||
}
|
||||
|
||||
|
||||
locals {
|
||||
pvc_list = flatten([
|
||||
for key, value in var.cronjob : [
|
||||
for index, pvc in value.pvc : {
|
||||
key = "${coalesce(value.namespace, value.connected_namespace, key)}/${pvc.name}"
|
||||
index = index
|
||||
pvc = pvc.pvc
|
||||
name = pvc.name
|
||||
pvc_size = pvc.pvc_size
|
||||
mount_path = pvc.mount_path
|
||||
storage_class_name = pvc.storage_class_name
|
||||
annotations_fileType = pvc.annotations_fileType
|
||||
existing_pvc = pvc.existing_pvc
|
||||
sub_path = pvc.sub_path
|
||||
namespace = coalesce(value.namespace, value.connected_namespace, key)
|
||||
}] if value.enabled == true && value.pvc != null
|
||||
])
|
||||
|
||||
# group duplicates instead of throwing an error
|
||||
pvc_map_grouped = {
|
||||
for p in local.pvc_list :
|
||||
p.key => p...
|
||||
}
|
||||
|
||||
# keep only one PVC per key (take the first)
|
||||
pvc_map = {
|
||||
for k, list in local.pvc_map_grouped :
|
||||
k => list[0]
|
||||
}
|
||||
|
||||
pvc_details = values(local.pvc_map)
|
||||
}
|
||||
|
||||
resource "kubernetes_persistent_volume_claim_v1" "automatic-pvc-cronjob" {
|
||||
for_each = { for key, value in local.pvc_details : "${value.index}" => merge(value, { mew_key = value.index }) if value.pvc && value.existing_pvc != true }
|
||||
metadata {
|
||||
namespace = coalesce(each.value.namespace, each.key)
|
||||
name = "${each.value.name}-pvc"
|
||||
labels = {
|
||||
deployment_method = "Terraform"
|
||||
}
|
||||
annotations = {
|
||||
fileType = try(each.value.annotations_fileType, "file")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
spec {
|
||||
access_modes = ["ReadWriteMany"]
|
||||
storage_class_name = each.value.storage_class_name
|
||||
resources {
|
||||
requests = {
|
||||
storage = each.value.pvc_size
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_cron_job_v1" "automatic_cronjob" {
|
||||
for_each = { for key, value in var.cronjob : key => value if value.enabled == true }
|
||||
metadata {
|
||||
name = "${each.key}-cronjob"
|
||||
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
|
||||
|
||||
labels = {
|
||||
app = each.key
|
||||
deployment_method = "Terraform"
|
||||
}
|
||||
}
|
||||
spec {
|
||||
schedule = each.value.schedule
|
||||
job_template {
|
||||
metadata {}
|
||||
spec {
|
||||
template {
|
||||
metadata {}
|
||||
spec {
|
||||
container {
|
||||
name = coalesce(each.value.name, each.key)
|
||||
image = each.value.image
|
||||
command = each.value.command != null ? each.value.command : []
|
||||
args = each.value.args != null ? each.value.args : []
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -612,7 +612,7 @@ resource "kubernetes_deployment_v1" "database-automatic" {
|
||||
|
||||
metadata {
|
||||
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
|
||||
name = "${coalesce(each.value.namespace, each.key)}-db"
|
||||
name = "${coalesce(each.value.name, each.key)}-db"
|
||||
labels = {
|
||||
app = each.key
|
||||
deployment_method = "Terraform"
|
||||
@@ -786,7 +786,7 @@ resource "kubernetes_deployment_v1" "redis-automatic" {
|
||||
|
||||
metadata {
|
||||
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
|
||||
name = "${coalesce(each.value.namespace, each.key)}-redis"
|
||||
name = "${coalesce(each.value.name, each.key)}-redis"
|
||||
labels = {
|
||||
app = each.key
|
||||
deployment_method = "Terraform"
|
||||
|
||||
+27
-27
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.14.4",
|
||||
"serial": 6723,
|
||||
"serial": 6737,
|
||||
"lineage": "9de68ad6-060f-6b41-b115-a689f60c73a2",
|
||||
"outputs": {},
|
||||
"resources": [
|
||||
@@ -9168,14 +9168,14 @@
|
||||
{
|
||||
"annotations": {},
|
||||
"generate_name": "",
|
||||
"generation": 1,
|
||||
"generation": 4,
|
||||
"labels": {
|
||||
"app": "nextcloud",
|
||||
"deployment_method": "Terraform"
|
||||
},
|
||||
"name": "nextcloud",
|
||||
"namespace": "next",
|
||||
"resource_version": "279897672",
|
||||
"resource_version": "279975026",
|
||||
"uid": "077ba4c0-3ab8-4f0d-ad04-8a3ef3e5ac77"
|
||||
}
|
||||
],
|
||||
@@ -9184,7 +9184,7 @@
|
||||
"min_ready_seconds": 0,
|
||||
"paused": false,
|
||||
"progress_deadline_seconds": 600,
|
||||
"replicas": "1",
|
||||
"replicas": "0",
|
||||
"revision_history_limit": 10,
|
||||
"selector": [
|
||||
{
|
||||
@@ -12863,21 +12863,21 @@
|
||||
"index_key": "nextcloud",
|
||||
"schema_version": 1,
|
||||
"attributes": {
|
||||
"id": "next/next-db",
|
||||
"id": "next/nextcloud-db",
|
||||
"metadata": [
|
||||
{
|
||||
"annotations": {},
|
||||
"generate_name": "",
|
||||
"generation": 1,
|
||||
"generation": 2,
|
||||
"labels": {
|
||||
"app": "nextcloud",
|
||||
"database": "true",
|
||||
"deployment_method": "Terraform"
|
||||
},
|
||||
"name": "next-db",
|
||||
"name": "nextcloud-db",
|
||||
"namespace": "next",
|
||||
"resource_version": "279897668",
|
||||
"uid": "80f877d2-8b94-4e9b-83ee-8e32cd1a21e0"
|
||||
"resource_version": "279975027",
|
||||
"uid": "13c1f0d0-821d-4d4c-a037-52dc89506f14"
|
||||
}
|
||||
],
|
||||
"spec": [
|
||||
@@ -12885,7 +12885,7 @@
|
||||
"min_ready_seconds": 0,
|
||||
"paused": false,
|
||||
"progress_deadline_seconds": 600,
|
||||
"replicas": "1",
|
||||
"replicas": "0",
|
||||
"revision_history_limit": 10,
|
||||
"selector": [
|
||||
{
|
||||
@@ -13109,7 +13109,7 @@
|
||||
"identity": {
|
||||
"api_version": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"name": "next-db",
|
||||
"name": "nextcloud-db",
|
||||
"namespace": "next"
|
||||
},
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9"
|
||||
@@ -13468,21 +13468,21 @@
|
||||
"index_key": "prowlarr",
|
||||
"schema_version": 1,
|
||||
"attributes": {
|
||||
"id": "servarr/servarr-db",
|
||||
"id": "servarr/prowlarr-db",
|
||||
"metadata": [
|
||||
{
|
||||
"annotations": {},
|
||||
"generate_name": "",
|
||||
"generation": 10,
|
||||
"generation": 1,
|
||||
"labels": {
|
||||
"app": "prowlarr",
|
||||
"database": "true",
|
||||
"deployment_method": "Terraform"
|
||||
},
|
||||
"name": "servarr-db",
|
||||
"name": "prowlarr-db",
|
||||
"namespace": "servarr",
|
||||
"resource_version": "275995608",
|
||||
"uid": "ed99e76b-6277-4f32-9f93-f1a634ae9ec8"
|
||||
"resource_version": "279943296",
|
||||
"uid": "ac94349f-97a8-4ff5-84ba-ccb9ccf698f8"
|
||||
}
|
||||
],
|
||||
"spec": [
|
||||
@@ -13740,7 +13740,7 @@
|
||||
"identity": {
|
||||
"api_version": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"name": "servarr-db",
|
||||
"name": "prowlarr-db",
|
||||
"namespace": "servarr"
|
||||
},
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9"
|
||||
@@ -14550,21 +14550,21 @@
|
||||
"index_key": "nextcloud",
|
||||
"schema_version": 1,
|
||||
"attributes": {
|
||||
"id": "next/next-redis",
|
||||
"id": "next/nextcloud-redis",
|
||||
"metadata": [
|
||||
{
|
||||
"annotations": {},
|
||||
"generate_name": "",
|
||||
"generation": 1,
|
||||
"generation": 2,
|
||||
"labels": {
|
||||
"app": "nextcloud",
|
||||
"deployment_method": "Terraform",
|
||||
"redis": "true"
|
||||
},
|
||||
"name": "next-redis",
|
||||
"name": "nextcloud-redis",
|
||||
"namespace": "next",
|
||||
"resource_version": "279897685",
|
||||
"uid": "939c46af-0cab-4c98-9137-802eea1c5798"
|
||||
"resource_version": "279975015",
|
||||
"uid": "61a95557-d619-41c2-a16b-41468fd7930b"
|
||||
}
|
||||
],
|
||||
"spec": [
|
||||
@@ -14572,7 +14572,7 @@
|
||||
"min_ready_seconds": 0,
|
||||
"paused": false,
|
||||
"progress_deadline_seconds": 600,
|
||||
"replicas": "1",
|
||||
"replicas": "0",
|
||||
"revision_history_limit": 10,
|
||||
"selector": [
|
||||
{
|
||||
@@ -14785,7 +14785,7 @@
|
||||
"identity": {
|
||||
"api_version": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"name": "next-redis",
|
||||
"name": "nextcloud-redis",
|
||||
"namespace": "next"
|
||||
},
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9"
|
||||
@@ -18721,8 +18721,8 @@
|
||||
},
|
||||
"name": "nextcloud-webserver-pvc",
|
||||
"namespace": "next",
|
||||
"resource_version": "279897606",
|
||||
"uid": "3481c255-8afd-41dc-b5a8-7421e74d16e3"
|
||||
"resource_version": "279946065",
|
||||
"uid": "4ffba3da-bd19-4723-a87f-275e43085828"
|
||||
}
|
||||
],
|
||||
"spec": [
|
||||
@@ -18741,7 +18741,7 @@
|
||||
"selector": [],
|
||||
"storage_class_name": "nfs-storage-intelligent",
|
||||
"volume_mode": "Filesystem",
|
||||
"volume_name": "pvc-3481c255-8afd-41dc-b5a8-7421e74d16e3"
|
||||
"volume_name": "pvc-4ffba3da-bd19-4723-a87f-275e43085828"
|
||||
}
|
||||
],
|
||||
"timeouts": null,
|
||||
|
||||
+27
-27
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.14.4",
|
||||
"serial": 6722,
|
||||
"serial": 6733,
|
||||
"lineage": "9de68ad6-060f-6b41-b115-a689f60c73a2",
|
||||
"outputs": {},
|
||||
"resources": [
|
||||
@@ -2003,8 +2003,8 @@
|
||||
"attributes": {
|
||||
"binary_data": {},
|
||||
"data": {
|
||||
"next.conf": "############################################\n# config file for next\n############################################\n\nupstream next_backend {\n server nextcloud-svc.next.svc:80;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name next.tryton.geeraert.eu www.next.tryton.geeraert.eu;\n location / {\n proxy_pass http://next_backend;\n proxy_set_header Upgrade $http_upgrade;\n\t\tproxy_set_header Host $host;\n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n\taccess_log /var/log/nginx/access.log my_custom_format;\n access_log /var/log/nginx/ip_audit.log ip_audit;\n\n listen 443 ssl;\n\n ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem;\n\n}\n\nserver {\n if ($host = www.next.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = next.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.next.tryton.geeraert.eu next.tryton.geeraert.eu;\n listen 80;\n return 404;\n\n}\n############################################\n# config file for next\n############################################\n\nupstream next_backend {\n server nextcloud-svc.next.svc:80;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name next.geeraert.eu www.next.geeraert.eu;\n location / {\n proxy_pass http://next_backend;\n proxy_set_header Upgrade $http_upgrade;\n\t\tproxy_set_header Host $host;\n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n\taccess_log /var/log/nginx/access.log my_custom_format;\n access_log /var/log/nginx/ip_audit.log ip_audit;\n\n listen 443 ssl;\n\n ssl_certificate /etc/nginx/ssl/live/geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/geeraert.eu/privkey.pem;\n\n}\n\nserver {\n if ($host = www.next.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = next.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.next.geeraert.eu next.geeraert.eu;\n listen 80;\n return 404;\n\n}\n",
|
||||
"paperless2.conf": "############################################\n# config file for paperless2\n############################################\n\nupstream paperless2_backend {\n server paperless-svc.paperless.svc:8000;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name paperless2.tryton.geeraert.eu www.paperless2.tryton.geeraert.eu;\n location / {\n proxy_pass http://paperless2_backend;\n proxy_set_header Upgrade $http_upgrade;\n\t\tproxy_set_header Host $host;\n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n\taccess_log /var/log/nginx/access.log my_custom_format;\n access_log /var/log/nginx/ip_audit.log ip_audit;\n\n listen 443 ssl;\n\n ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem;\n\n}\n\nserver {\n if ($host = www.paperless2.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = paperless2.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.paperless2.tryton.geeraert.eu paperless2.tryton.geeraert.eu;\n listen 80;\n return 404;\n\n}\n############################################\n# config file for paperless2\n############################################\n\nupstream paperless2_backend {\n server paperless-svc.paperless.svc:8000;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name paperless2.geeraert.eu www.paperless2.geeraert.eu;\n location / {\n proxy_pass http://paperless2_backend;\n proxy_set_header Upgrade $http_upgrade;\n\t\tproxy_set_header Host $host;\n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n\taccess_log /var/log/nginx/access.log my_custom_format;\n access_log /var/log/nginx/ip_audit.log ip_audit;\n\n listen 443 ssl;\n\n ssl_certificate /etc/nginx/ssl/live/geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/geeraert.eu/privkey.pem;\n\n}\n\nserver {\n if ($host = www.paperless2.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = paperless2.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.paperless2.geeraert.eu paperless2.geeraert.eu;\n listen 80;\n return 404;\n\n}\n"
|
||||
"next.conf": "############################################\n# config file for next\n############################################\n\nupstream next_backend {\n server nextcloud-svc.next.svc:80;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name next.tryton.geeraert.eu www.next.tryton.geeraert.eu;\n location / {\n proxy_pass http://next_backend;\n proxy_set_header Upgrade $http_upgrade;\n\t\tproxy_set_header Host $host;\n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n\taccess_log /var/log/nginx/access.log my_custom_format;\n access_log /var/log/nginx/ip_audit.log ip_audit;\n\n listen 443 ssl;\n\n ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem;\n\n}\n\nserver {\n if ($host = www.next.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = next.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.next.tryton.geeraert.eu next.tryton.geeraert.eu;\n listen 80;\n return 404;\n\n}\n############################################\n# config file for next\n############################################\n\nupstream next_backend_root {\n server nextcloud-svc.next.svc:80;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name next.geeraert.eu www.next.geeraert.eu;\n location / {\n proxy_pass http://next_backend_root;\n proxy_set_header Upgrade $http_upgrade;\n\t\tproxy_set_header Host $host;\n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n\taccess_log /var/log/nginx/access.log my_custom_format;\n access_log /var/log/nginx/ip_audit.log ip_audit;\n\n listen 443 ssl;\n\n ssl_certificate /etc/nginx/ssl/live/geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/geeraert.eu/privkey.pem;\n\n}\n\nserver {\n if ($host = www.next.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = next.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.next.geeraert.eu next.geeraert.eu;\n listen 80;\n return 404;\n\n}\n",
|
||||
"paperless2.conf": "############################################\n# config file for paperless2\n############################################\n\nupstream paperless2_backend {\n server paperless-svc.paperless.svc:8000;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name paperless2.tryton.geeraert.eu www.paperless2.tryton.geeraert.eu;\n location / {\n proxy_pass http://paperless2_backend;\n proxy_set_header Upgrade $http_upgrade;\n\t\tproxy_set_header Host $host;\n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n\taccess_log /var/log/nginx/access.log my_custom_format;\n access_log /var/log/nginx/ip_audit.log ip_audit;\n\n listen 443 ssl;\n\n ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem;\n\n}\n\nserver {\n if ($host = www.paperless2.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = paperless2.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.paperless2.tryton.geeraert.eu paperless2.tryton.geeraert.eu;\n listen 80;\n return 404;\n\n}\n############################################\n# config file for paperless2\n############################################\n\nupstream paperless2_backend_root {\n server paperless-svc.paperless.svc:8000;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name paperless2.geeraert.eu www.paperless2.geeraert.eu;\n location / {\n proxy_pass http://paperless2_backend_root;\n proxy_set_header Upgrade $http_upgrade;\n\t\tproxy_set_header Host $host;\n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n\taccess_log /var/log/nginx/access.log my_custom_format;\n access_log /var/log/nginx/ip_audit.log ip_audit;\n\n listen 443 ssl;\n\n ssl_certificate /etc/nginx/ssl/live/geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/geeraert.eu/privkey.pem;\n\n}\n\nserver {\n if ($host = www.paperless2.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = paperless2.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.paperless2.geeraert.eu paperless2.geeraert.eu;\n listen 80;\n return 404;\n\n}\n"
|
||||
},
|
||||
"id": "reverse-proxy/extra-sites-terraform",
|
||||
"immutable": false,
|
||||
@@ -2018,7 +2018,7 @@
|
||||
"labels": {},
|
||||
"name": "extra-sites-terraform",
|
||||
"namespace": "reverse-proxy",
|
||||
"resource_version": "279901136",
|
||||
"resource_version": "279902801",
|
||||
"uid": "7a7b72ed-0338-440c-9665-31401c1206c5"
|
||||
}
|
||||
]
|
||||
@@ -9168,14 +9168,14 @@
|
||||
{
|
||||
"annotations": {},
|
||||
"generate_name": "",
|
||||
"generation": 1,
|
||||
"generation": 3,
|
||||
"labels": {
|
||||
"app": "nextcloud",
|
||||
"deployment_method": "Terraform"
|
||||
},
|
||||
"name": "nextcloud",
|
||||
"namespace": "next",
|
||||
"resource_version": "279897672",
|
||||
"resource_version": "279946090",
|
||||
"uid": "077ba4c0-3ab8-4f0d-ad04-8a3ef3e5ac77"
|
||||
}
|
||||
],
|
||||
@@ -12863,7 +12863,7 @@
|
||||
"index_key": "nextcloud",
|
||||
"schema_version": 1,
|
||||
"attributes": {
|
||||
"id": "next/next-db",
|
||||
"id": "next/nextcloud-db",
|
||||
"metadata": [
|
||||
{
|
||||
"annotations": {},
|
||||
@@ -12874,10 +12874,10 @@
|
||||
"database": "true",
|
||||
"deployment_method": "Terraform"
|
||||
},
|
||||
"name": "next-db",
|
||||
"name": "nextcloud-db",
|
||||
"namespace": "next",
|
||||
"resource_version": "279897668",
|
||||
"uid": "80f877d2-8b94-4e9b-83ee-8e32cd1a21e0"
|
||||
"resource_version": "279943174",
|
||||
"uid": "13c1f0d0-821d-4d4c-a037-52dc89506f14"
|
||||
}
|
||||
],
|
||||
"spec": [
|
||||
@@ -13109,7 +13109,7 @@
|
||||
"identity": {
|
||||
"api_version": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"name": "next-db",
|
||||
"name": "nextcloud-db",
|
||||
"namespace": "next"
|
||||
},
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9"
|
||||
@@ -13468,21 +13468,21 @@
|
||||
"index_key": "prowlarr",
|
||||
"schema_version": 1,
|
||||
"attributes": {
|
||||
"id": "servarr/servarr-db",
|
||||
"id": "servarr/prowlarr-db",
|
||||
"metadata": [
|
||||
{
|
||||
"annotations": {},
|
||||
"generate_name": "",
|
||||
"generation": 10,
|
||||
"generation": 1,
|
||||
"labels": {
|
||||
"app": "prowlarr",
|
||||
"database": "true",
|
||||
"deployment_method": "Terraform"
|
||||
},
|
||||
"name": "servarr-db",
|
||||
"name": "prowlarr-db",
|
||||
"namespace": "servarr",
|
||||
"resource_version": "275995608",
|
||||
"uid": "ed99e76b-6277-4f32-9f93-f1a634ae9ec8"
|
||||
"resource_version": "279943296",
|
||||
"uid": "ac94349f-97a8-4ff5-84ba-ccb9ccf698f8"
|
||||
}
|
||||
],
|
||||
"spec": [
|
||||
@@ -13740,7 +13740,7 @@
|
||||
"identity": {
|
||||
"api_version": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"name": "servarr-db",
|
||||
"name": "prowlarr-db",
|
||||
"namespace": "servarr"
|
||||
},
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9"
|
||||
@@ -14550,7 +14550,7 @@
|
||||
"index_key": "nextcloud",
|
||||
"schema_version": 1,
|
||||
"attributes": {
|
||||
"id": "next/next-redis",
|
||||
"id": "next/nextcloud-redis",
|
||||
"metadata": [
|
||||
{
|
||||
"annotations": {},
|
||||
@@ -14561,10 +14561,10 @@
|
||||
"deployment_method": "Terraform",
|
||||
"redis": "true"
|
||||
},
|
||||
"name": "next-redis",
|
||||
"name": "nextcloud-redis",
|
||||
"namespace": "next",
|
||||
"resource_version": "279897685",
|
||||
"uid": "939c46af-0cab-4c98-9137-802eea1c5798"
|
||||
"resource_version": "279943194",
|
||||
"uid": "61a95557-d619-41c2-a16b-41468fd7930b"
|
||||
}
|
||||
],
|
||||
"spec": [
|
||||
@@ -14785,7 +14785,7 @@
|
||||
"identity": {
|
||||
"api_version": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"name": "next-redis",
|
||||
"name": "nextcloud-redis",
|
||||
"namespace": "next"
|
||||
},
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9"
|
||||
@@ -18713,7 +18713,7 @@
|
||||
"id": "next/nextcloud-webserver-pvc",
|
||||
"metadata": [
|
||||
{
|
||||
"annotations": {},
|
||||
"annotations": null,
|
||||
"generate_name": "",
|
||||
"generation": 0,
|
||||
"labels": {
|
||||
@@ -18721,8 +18721,8 @@
|
||||
},
|
||||
"name": "nextcloud-webserver-pvc",
|
||||
"namespace": "next",
|
||||
"resource_version": "279897606",
|
||||
"uid": "3481c255-8afd-41dc-b5a8-7421e74d16e3"
|
||||
"resource_version": "279946065",
|
||||
"uid": "4ffba3da-bd19-4723-a87f-275e43085828"
|
||||
}
|
||||
],
|
||||
"spec": [
|
||||
@@ -18732,7 +18732,7 @@
|
||||
],
|
||||
"resources": [
|
||||
{
|
||||
"limits": {},
|
||||
"limits": null,
|
||||
"requests": {
|
||||
"storage": "2Mi"
|
||||
}
|
||||
@@ -18741,7 +18741,7 @@
|
||||
"selector": [],
|
||||
"storage_class_name": "nfs-storage-intelligent",
|
||||
"volume_mode": "Filesystem",
|
||||
"volume_name": "pvc-3481c255-8afd-41dc-b5a8-7421e74d16e3"
|
||||
"volume_name": "pvc-4ffba3da-bd19-4723-a87f-275e43085828"
|
||||
}
|
||||
],
|
||||
"timeouts": null,
|
||||
|
||||
+63
-5
@@ -1,9 +1,10 @@
|
||||
kubernetes = {
|
||||
bookstack = {
|
||||
enabled = false
|
||||
#enabled = false
|
||||
replicas = 01
|
||||
image = "linuxserver/bookstack:latest"
|
||||
service_port = [80, 443]
|
||||
domain_name = "bookstack"
|
||||
database = {
|
||||
"engine" = "mysql"
|
||||
"image" = "lscr.io/linuxserver/mariadb"
|
||||
@@ -672,9 +673,9 @@ kubernetes = {
|
||||
|
||||
|
||||
nextcloud = {
|
||||
#enabled = false
|
||||
enabled = false
|
||||
namespace = "next"
|
||||
replicas = 1
|
||||
#replicas = 0
|
||||
image = "nextcloud:29.0.3-apache"
|
||||
domain_name = "next"
|
||||
service_port = [80]
|
||||
@@ -1522,11 +1523,14 @@ kubernetes = {
|
||||
|
||||
environment = {
|
||||
ALLOWED_HOSTS = {
|
||||
value = "django.geeraert.eu,django.tryton.geeraert.eu,redirect.tryton.geeraert.eu"
|
||||
value = "django.geeraert.eu,admin.geeraert.eu,redirect.geeraert.eu,streaming.geeraert.eu,stash.geeraert.eu,simpsons.geeraert.eu,kubernetes.geeraert.eu,cloudmanager.geeraert.eu,podcast.geeraert.eu"
|
||||
}
|
||||
DEBUG = {
|
||||
value = "False"
|
||||
}
|
||||
ENVIRONMENT = {
|
||||
value = "PRODUCTION"
|
||||
}
|
||||
#CELERY_BROKER_URL = {
|
||||
# value = "redis://django-redis-svc:6379"
|
||||
#}
|
||||
@@ -1645,7 +1649,7 @@ kubernetes = {
|
||||
secret_import = ["68dce7aa-8e5f-4483-9083-b474016e34fc"]
|
||||
environment = {
|
||||
ALLOWED_HOSTS = {
|
||||
value = "django-testing.geeraert.eu,redirectgeeraert.eu,redirect-testing.geeraert.eu,job-testing.geeraert.eu,django-testing.tryton.geeraert.eu,redirect.tryton.geeraert.eu,redirect-testing.tryton.geeraert.eu,job-testing.tryton.geeraert.eu"
|
||||
value = "django-testing.geeraert.eu,admin-testing.geeraert.eu,redirect-testing.geeraert.eu,streaming-testing.geeraert.eu,stash-testing.geeraert.eu,simpsons-testing.geeraert.eu,kubernetes-testing.geeraert.eu,cloudmanager-testing.geeraert.eu,podcast-testing.geeraert.eu"
|
||||
}
|
||||
CELERY_BROKER_URL = {
|
||||
value = "redis://django-testing-redis-svc:6379"
|
||||
@@ -2833,4 +2837,58 @@ kubernetes = {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
kopia = {
|
||||
enabled = false
|
||||
replicas = 01
|
||||
image = "kopia/kopia"
|
||||
service_port = [51515]
|
||||
domain_name = "kopia"
|
||||
command = ["start", "--disable-csrf-token-checks", "--insecure", "--address=0.0.0.0:51515", "--server-username=USERNAME", "--server-password=SECRET_PASSWORD"]
|
||||
environment = {
|
||||
KOPIA_PASSWORD = {
|
||||
value = "123456789"
|
||||
}
|
||||
USER = {
|
||||
value = "user" }
|
||||
}
|
||||
pvc = {
|
||||
kopia-storage = {
|
||||
name = "kopia-storage"
|
||||
pvc = true
|
||||
pvc_size = "2Gi"
|
||||
mount_path = "/app"
|
||||
}
|
||||
}
|
||||
kopia-data = {
|
||||
name = "kopia-data"
|
||||
pvc_size = "100Mi"
|
||||
pvc = true
|
||||
mount_path = "/data"
|
||||
storage_class_name = "nfs-storage-fastaccess"
|
||||
}
|
||||
}
|
||||
|
||||
degoog = {
|
||||
enabled = false
|
||||
replicas = 01
|
||||
image = "ghcr.io/degoog-org/degoog:latest"
|
||||
service_port = [4444]
|
||||
domain_name = "degoog"
|
||||
environment = {
|
||||
DEGOOG_SETTINGS_PASSWORDS = {
|
||||
value = "Crease1-City-Canned"
|
||||
}
|
||||
}
|
||||
pvc = {
|
||||
degoog-data = {
|
||||
name = "degoog-data"
|
||||
pvc = true
|
||||
pvc_size = "2Gi"
|
||||
mount_path = "/app/data"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user