From 0eaadbe6a757258dcec82c0c1a40b6e16e7703b9 Mon Sep 17 00:00:00 2001 From: Alexandre Pires Date: Tue, 29 Apr 2025 22:40:27 +0200 Subject: [PATCH] Reorganized folder structure --- terraform/k8sapps/apps.tf | 10 +++---- terraform/k8sapps/backups.tf | 6 ++--- terraform/k8sapps/nextcloud.tf | 2 +- terraform/modules/{ => apps}/gitea/config.tf | 0 terraform/modules/{ => apps}/gitea/main.tf | 3 +-- terraform/modules/{ => apps}/gitea/outputs.tf | 0 .../modules/{ => apps}/gitea/provider.tf | 0 .../modules/{ => apps}/gitea/variables.tf | 0 .../modules/{ => apps}/m3uproxy/config.tf | 0 terraform/modules/{ => apps}/m3uproxy/main.tf | 0 .../modules/{ => apps}/m3uproxy/provider.tf | 0 .../m3uproxy/resources/m3uproxy/m3uproxy.json | 0 .../m3uproxy/resources/m3uproxy/playlist.json | 0 .../m3uproxy/resources/squid/squid.conf | 0 .../resources/wireguard/wireguard.conf.tpl | 0 .../modules/{ => apps}/m3uproxy/variables.tf | 0 terraform/modules/{ => apps}/mail/config.tf | 0 .../modules/apps/mail/lib}/bcrypt_hash.py | 0 terraform/modules/{ => apps}/mail/main.tf | 0 terraform/modules/{ => apps}/mail/outputs.tf | 0 terraform/modules/{ => apps}/mail/provider.tf | 0 .../mail/resources/mail/dovecot.conf | 0 .../mail/resources/mail/getmailrc.tpl | 0 .../{ => apps}/mail/resources/mail/run.config | 0 .../{ => apps}/mail/resources/mail/sieve | 0 .../modules/{ => apps}/mail/variables.tf | 0 terraform/modules/{ => apps}/nginx/config.tf | 0 terraform/modules/{ => apps}/nginx/main.tf | 0 .../modules/{ => apps}/nginx/provider.tf | 0 .../nginx/resources/nginx/conf.d/default.conf | 0 .../nginx/resources/nginx/nginx.conf | 0 .../modules/{ => apps}/nginx/variables.tf | 0 .../modules/{ => apps}/rustdesk/config.tf | 0 terraform/modules/{ => apps}/rustdesk/main.tf | 0 .../modules/{ => apps}/rustdesk/provider.tf | 0 .../modules/{ => apps}/rustdesk/variables.tf | 0 .../modules/{ => apps}/seafile/config.tf | 0 terraform/modules/{ => apps}/seafile/main.tf | 0 .../modules/{ => apps}/seafile/provider.tf | 0 .../resources/nginx/conf.d/default.conf | 0 .../seafile/resources/nginx/nginx.conf | 0 .../modules/{ => apps}/seafile/variables.tf | 0 .../{k8s_mariadb => db/mariadb}/main.tf | 0 .../{k8s_mariadb => db/mariadb}/outputs.tf | 0 .../{k8s_mariadb => db/mariadb}/provider.tf | 0 .../{k8s_mariadb => db/mariadb}/variables.tf | 0 terraform/modules/mail/lib/bcrypt_hash.py | 27 ------------------- .../scw_rclone}/config.tf | 0 .../scw_rclone}/main.tf | 0 .../scw_rclone}/provider.tf | 0 .../scw_rclone}/resources/rclone.conf | 0 .../scw_rclone}/variables.tf | 0 52 files changed, 10 insertions(+), 38 deletions(-) rename terraform/modules/{ => apps}/gitea/config.tf (100%) rename terraform/modules/{ => apps}/gitea/main.tf (99%) rename terraform/modules/{ => apps}/gitea/outputs.tf (100%) rename terraform/modules/{ => apps}/gitea/provider.tf (100%) rename terraform/modules/{ => apps}/gitea/variables.tf (100%) rename terraform/modules/{ => apps}/m3uproxy/config.tf (100%) rename terraform/modules/{ => apps}/m3uproxy/main.tf (100%) rename terraform/modules/{ => apps}/m3uproxy/provider.tf (100%) rename terraform/modules/{ => apps}/m3uproxy/resources/m3uproxy/m3uproxy.json (100%) rename terraform/modules/{ => apps}/m3uproxy/resources/m3uproxy/playlist.json (100%) rename terraform/modules/{ => apps}/m3uproxy/resources/squid/squid.conf (100%) rename terraform/modules/{ => apps}/m3uproxy/resources/wireguard/wireguard.conf.tpl (100%) rename terraform/modules/{ => apps}/m3uproxy/variables.tf (100%) rename terraform/modules/{ => apps}/mail/config.tf (100%) rename {lib => terraform/modules/apps/mail/lib}/bcrypt_hash.py (100%) rename terraform/modules/{ => apps}/mail/main.tf (100%) rename terraform/modules/{ => apps}/mail/outputs.tf (100%) rename terraform/modules/{ => apps}/mail/provider.tf (100%) rename terraform/modules/{ => apps}/mail/resources/mail/dovecot.conf (100%) rename terraform/modules/{ => apps}/mail/resources/mail/getmailrc.tpl (100%) rename terraform/modules/{ => apps}/mail/resources/mail/run.config (100%) rename terraform/modules/{ => apps}/mail/resources/mail/sieve (100%) rename terraform/modules/{ => apps}/mail/variables.tf (100%) rename terraform/modules/{ => apps}/nginx/config.tf (100%) rename terraform/modules/{ => apps}/nginx/main.tf (100%) rename terraform/modules/{ => apps}/nginx/provider.tf (100%) rename terraform/modules/{ => apps}/nginx/resources/nginx/conf.d/default.conf (100%) rename terraform/modules/{ => apps}/nginx/resources/nginx/nginx.conf (100%) rename terraform/modules/{ => apps}/nginx/variables.tf (100%) rename terraform/modules/{ => apps}/rustdesk/config.tf (100%) rename terraform/modules/{ => apps}/rustdesk/main.tf (100%) rename terraform/modules/{ => apps}/rustdesk/provider.tf (100%) rename terraform/modules/{ => apps}/rustdesk/variables.tf (100%) rename terraform/modules/{ => apps}/seafile/config.tf (100%) rename terraform/modules/{ => apps}/seafile/main.tf (100%) rename terraform/modules/{ => apps}/seafile/provider.tf (100%) rename terraform/modules/{ => apps}/seafile/resources/nginx/conf.d/default.conf (100%) rename terraform/modules/{ => apps}/seafile/resources/nginx/nginx.conf (100%) rename terraform/modules/{ => apps}/seafile/variables.tf (100%) rename terraform/modules/{k8s_mariadb => db/mariadb}/main.tf (100%) rename terraform/modules/{k8s_mariadb => db/mariadb}/outputs.tf (100%) rename terraform/modules/{k8s_mariadb => db/mariadb}/provider.tf (100%) rename terraform/modules/{k8s_mariadb => db/mariadb}/variables.tf (100%) delete mode 100644 terraform/modules/mail/lib/bcrypt_hash.py rename terraform/modules/{scw_backup_job => utils/scw_rclone}/config.tf (100%) rename terraform/modules/{scw_backup_job => utils/scw_rclone}/main.tf (100%) rename terraform/modules/{scw_backup_job => utils/scw_rclone}/provider.tf (100%) rename terraform/modules/{scw_backup_job => utils/scw_rclone}/resources/rclone.conf (100%) rename terraform/modules/{scw_backup_job => utils/scw_rclone}/variables.tf (100%) diff --git a/terraform/k8sapps/apps.tf b/terraform/k8sapps/apps.tf index 6642a6d..1de9ed7 100644 --- a/terraform/k8sapps/apps.tf +++ b/terraform/k8sapps/apps.tf @@ -1,11 +1,11 @@ module "websites" { - source = "../modules/nginx" + source = "../modules/apps/nginx" persistent_folder = local.persistent_folder websites = local.websites } module "rustdesk" { - source = "../modules/rustdesk" + source = "../modules/apps/rustdesk" persistent_folder = local.persistent_folder fqdn = local.rustdesk_fqdn @@ -14,7 +14,7 @@ module "rustdesk" { } module "m3uproxy" { - source = "../modules/m3uproxy" + source = "../modules/apps/m3uproxy" persistent_folder = local.persistent_folder tag = local.m3uproxy_version @@ -36,7 +36,7 @@ module "m3uproxy" { } module "mail" { - source = "../modules/mail" + source = "../modules/apps/mail" persistent_folder = local.persistent_folder @@ -55,7 +55,7 @@ module "mail" { } module "gitea" { - source = "../modules/gitea" + source = "../modules/apps/gitea" persistent_folder = local.persistent_folder database_folder = local.database_folder diff --git a/terraform/k8sapps/backups.tf b/terraform/k8sapps/backups.tf index c8f4103..8b643b6 100644 --- a/terraform/k8sapps/backups.tf +++ b/terraform/k8sapps/backups.tf @@ -1,6 +1,6 @@ module "mail_backup" { - source = "../modules/scw_backup_job" + source = "../modules/utils/scw_rclone" namespace = module.mail.namespace app_name = module.mail.app_name @@ -19,7 +19,7 @@ module "mail_backup" { } module "gitea_backup" { - source = "../modules/scw_backup_job" + source = "../modules/utils/scw_rclone" namespace = module.gitea.namespace app_name = module.gitea.app_name @@ -39,7 +39,7 @@ module "gitea_backup" { module "nextcloud_backup" { - source = "../modules/scw_backup_job" + source = "../modules/utils/scw_rclone" namespace = kubernetes_namespace.nextcloud.metadata[0].name app_name = "nextcloud" diff --git a/terraform/k8sapps/nextcloud.tf b/terraform/k8sapps/nextcloud.tf index 85b72ed..3498ef9 100644 --- a/terraform/k8sapps/nextcloud.tf +++ b/terraform/k8sapps/nextcloud.tf @@ -154,7 +154,7 @@ resource "kubernetes_config_map" "nextcloud_apache_config" { # Setup MariaDB database # module "nextcloud_database" { - source = "../modules/k8s_mariadb" + source = "../modules/db/mariadb" namespace = kubernetes_namespace.nextcloud.metadata[0].name app_name = "nextcloud" diff --git a/terraform/modules/gitea/config.tf b/terraform/modules/apps/gitea/config.tf similarity index 100% rename from terraform/modules/gitea/config.tf rename to terraform/modules/apps/gitea/config.tf diff --git a/terraform/modules/gitea/main.tf b/terraform/modules/apps/gitea/main.tf similarity index 99% rename from terraform/modules/gitea/main.tf rename to terraform/modules/apps/gitea/main.tf index 57d9f32..26c117b 100644 --- a/terraform/modules/gitea/main.tf +++ b/terraform/modules/apps/gitea/main.tf @@ -25,7 +25,7 @@ resource "kubernetes_secret" "gitea_mail_credentials" { } module "gitea_database" { - source = "../k8s_mariadb" + source = "../../db/mariadb" namespace = kubernetes_namespace.gitea.metadata[0].name app_name = "gitea" @@ -40,7 +40,6 @@ module "gitea_database" { backup_folder = var.backup_folder } - resource "kubernetes_service_account" "gitea_service_account" { metadata { diff --git a/terraform/modules/gitea/outputs.tf b/terraform/modules/apps/gitea/outputs.tf similarity index 100% rename from terraform/modules/gitea/outputs.tf rename to terraform/modules/apps/gitea/outputs.tf diff --git a/terraform/modules/gitea/provider.tf b/terraform/modules/apps/gitea/provider.tf similarity index 100% rename from terraform/modules/gitea/provider.tf rename to terraform/modules/apps/gitea/provider.tf diff --git a/terraform/modules/gitea/variables.tf b/terraform/modules/apps/gitea/variables.tf similarity index 100% rename from terraform/modules/gitea/variables.tf rename to terraform/modules/apps/gitea/variables.tf diff --git a/terraform/modules/m3uproxy/config.tf b/terraform/modules/apps/m3uproxy/config.tf similarity index 100% rename from terraform/modules/m3uproxy/config.tf rename to terraform/modules/apps/m3uproxy/config.tf diff --git a/terraform/modules/m3uproxy/main.tf b/terraform/modules/apps/m3uproxy/main.tf similarity index 100% rename from terraform/modules/m3uproxy/main.tf rename to terraform/modules/apps/m3uproxy/main.tf diff --git a/terraform/modules/m3uproxy/provider.tf b/terraform/modules/apps/m3uproxy/provider.tf similarity index 100% rename from terraform/modules/m3uproxy/provider.tf rename to terraform/modules/apps/m3uproxy/provider.tf diff --git a/terraform/modules/m3uproxy/resources/m3uproxy/m3uproxy.json b/terraform/modules/apps/m3uproxy/resources/m3uproxy/m3uproxy.json similarity index 100% rename from terraform/modules/m3uproxy/resources/m3uproxy/m3uproxy.json rename to terraform/modules/apps/m3uproxy/resources/m3uproxy/m3uproxy.json diff --git a/terraform/modules/m3uproxy/resources/m3uproxy/playlist.json b/terraform/modules/apps/m3uproxy/resources/m3uproxy/playlist.json similarity index 100% rename from terraform/modules/m3uproxy/resources/m3uproxy/playlist.json rename to terraform/modules/apps/m3uproxy/resources/m3uproxy/playlist.json diff --git a/terraform/modules/m3uproxy/resources/squid/squid.conf b/terraform/modules/apps/m3uproxy/resources/squid/squid.conf similarity index 100% rename from terraform/modules/m3uproxy/resources/squid/squid.conf rename to terraform/modules/apps/m3uproxy/resources/squid/squid.conf diff --git a/terraform/modules/m3uproxy/resources/wireguard/wireguard.conf.tpl b/terraform/modules/apps/m3uproxy/resources/wireguard/wireguard.conf.tpl similarity index 100% rename from terraform/modules/m3uproxy/resources/wireguard/wireguard.conf.tpl rename to terraform/modules/apps/m3uproxy/resources/wireguard/wireguard.conf.tpl diff --git a/terraform/modules/m3uproxy/variables.tf b/terraform/modules/apps/m3uproxy/variables.tf similarity index 100% rename from terraform/modules/m3uproxy/variables.tf rename to terraform/modules/apps/m3uproxy/variables.tf diff --git a/terraform/modules/mail/config.tf b/terraform/modules/apps/mail/config.tf similarity index 100% rename from terraform/modules/mail/config.tf rename to terraform/modules/apps/mail/config.tf diff --git a/lib/bcrypt_hash.py b/terraform/modules/apps/mail/lib/bcrypt_hash.py similarity index 100% rename from lib/bcrypt_hash.py rename to terraform/modules/apps/mail/lib/bcrypt_hash.py diff --git a/terraform/modules/mail/main.tf b/terraform/modules/apps/mail/main.tf similarity index 100% rename from terraform/modules/mail/main.tf rename to terraform/modules/apps/mail/main.tf diff --git a/terraform/modules/mail/outputs.tf b/terraform/modules/apps/mail/outputs.tf similarity index 100% rename from terraform/modules/mail/outputs.tf rename to terraform/modules/apps/mail/outputs.tf diff --git a/terraform/modules/mail/provider.tf b/terraform/modules/apps/mail/provider.tf similarity index 100% rename from terraform/modules/mail/provider.tf rename to terraform/modules/apps/mail/provider.tf diff --git a/terraform/modules/mail/resources/mail/dovecot.conf b/terraform/modules/apps/mail/resources/mail/dovecot.conf similarity index 100% rename from terraform/modules/mail/resources/mail/dovecot.conf rename to terraform/modules/apps/mail/resources/mail/dovecot.conf diff --git a/terraform/modules/mail/resources/mail/getmailrc.tpl b/terraform/modules/apps/mail/resources/mail/getmailrc.tpl similarity index 100% rename from terraform/modules/mail/resources/mail/getmailrc.tpl rename to terraform/modules/apps/mail/resources/mail/getmailrc.tpl diff --git a/terraform/modules/mail/resources/mail/run.config b/terraform/modules/apps/mail/resources/mail/run.config similarity index 100% rename from terraform/modules/mail/resources/mail/run.config rename to terraform/modules/apps/mail/resources/mail/run.config diff --git a/terraform/modules/mail/resources/mail/sieve b/terraform/modules/apps/mail/resources/mail/sieve similarity index 100% rename from terraform/modules/mail/resources/mail/sieve rename to terraform/modules/apps/mail/resources/mail/sieve diff --git a/terraform/modules/mail/variables.tf b/terraform/modules/apps/mail/variables.tf similarity index 100% rename from terraform/modules/mail/variables.tf rename to terraform/modules/apps/mail/variables.tf diff --git a/terraform/modules/nginx/config.tf b/terraform/modules/apps/nginx/config.tf similarity index 100% rename from terraform/modules/nginx/config.tf rename to terraform/modules/apps/nginx/config.tf diff --git a/terraform/modules/nginx/main.tf b/terraform/modules/apps/nginx/main.tf similarity index 100% rename from terraform/modules/nginx/main.tf rename to terraform/modules/apps/nginx/main.tf diff --git a/terraform/modules/nginx/provider.tf b/terraform/modules/apps/nginx/provider.tf similarity index 100% rename from terraform/modules/nginx/provider.tf rename to terraform/modules/apps/nginx/provider.tf diff --git a/terraform/modules/nginx/resources/nginx/conf.d/default.conf b/terraform/modules/apps/nginx/resources/nginx/conf.d/default.conf similarity index 100% rename from terraform/modules/nginx/resources/nginx/conf.d/default.conf rename to terraform/modules/apps/nginx/resources/nginx/conf.d/default.conf diff --git a/terraform/modules/nginx/resources/nginx/nginx.conf b/terraform/modules/apps/nginx/resources/nginx/nginx.conf similarity index 100% rename from terraform/modules/nginx/resources/nginx/nginx.conf rename to terraform/modules/apps/nginx/resources/nginx/nginx.conf diff --git a/terraform/modules/nginx/variables.tf b/terraform/modules/apps/nginx/variables.tf similarity index 100% rename from terraform/modules/nginx/variables.tf rename to terraform/modules/apps/nginx/variables.tf diff --git a/terraform/modules/rustdesk/config.tf b/terraform/modules/apps/rustdesk/config.tf similarity index 100% rename from terraform/modules/rustdesk/config.tf rename to terraform/modules/apps/rustdesk/config.tf diff --git a/terraform/modules/rustdesk/main.tf b/terraform/modules/apps/rustdesk/main.tf similarity index 100% rename from terraform/modules/rustdesk/main.tf rename to terraform/modules/apps/rustdesk/main.tf diff --git a/terraform/modules/rustdesk/provider.tf b/terraform/modules/apps/rustdesk/provider.tf similarity index 100% rename from terraform/modules/rustdesk/provider.tf rename to terraform/modules/apps/rustdesk/provider.tf diff --git a/terraform/modules/rustdesk/variables.tf b/terraform/modules/apps/rustdesk/variables.tf similarity index 100% rename from terraform/modules/rustdesk/variables.tf rename to terraform/modules/apps/rustdesk/variables.tf diff --git a/terraform/modules/seafile/config.tf b/terraform/modules/apps/seafile/config.tf similarity index 100% rename from terraform/modules/seafile/config.tf rename to terraform/modules/apps/seafile/config.tf diff --git a/terraform/modules/seafile/main.tf b/terraform/modules/apps/seafile/main.tf similarity index 100% rename from terraform/modules/seafile/main.tf rename to terraform/modules/apps/seafile/main.tf diff --git a/terraform/modules/seafile/provider.tf b/terraform/modules/apps/seafile/provider.tf similarity index 100% rename from terraform/modules/seafile/provider.tf rename to terraform/modules/apps/seafile/provider.tf diff --git a/terraform/modules/seafile/resources/nginx/conf.d/default.conf b/terraform/modules/apps/seafile/resources/nginx/conf.d/default.conf similarity index 100% rename from terraform/modules/seafile/resources/nginx/conf.d/default.conf rename to terraform/modules/apps/seafile/resources/nginx/conf.d/default.conf diff --git a/terraform/modules/seafile/resources/nginx/nginx.conf b/terraform/modules/apps/seafile/resources/nginx/nginx.conf similarity index 100% rename from terraform/modules/seafile/resources/nginx/nginx.conf rename to terraform/modules/apps/seafile/resources/nginx/nginx.conf diff --git a/terraform/modules/seafile/variables.tf b/terraform/modules/apps/seafile/variables.tf similarity index 100% rename from terraform/modules/seafile/variables.tf rename to terraform/modules/apps/seafile/variables.tf diff --git a/terraform/modules/k8s_mariadb/main.tf b/terraform/modules/db/mariadb/main.tf similarity index 100% rename from terraform/modules/k8s_mariadb/main.tf rename to terraform/modules/db/mariadb/main.tf diff --git a/terraform/modules/k8s_mariadb/outputs.tf b/terraform/modules/db/mariadb/outputs.tf similarity index 100% rename from terraform/modules/k8s_mariadb/outputs.tf rename to terraform/modules/db/mariadb/outputs.tf diff --git a/terraform/modules/k8s_mariadb/provider.tf b/terraform/modules/db/mariadb/provider.tf similarity index 100% rename from terraform/modules/k8s_mariadb/provider.tf rename to terraform/modules/db/mariadb/provider.tf diff --git a/terraform/modules/k8s_mariadb/variables.tf b/terraform/modules/db/mariadb/variables.tf similarity index 100% rename from terraform/modules/k8s_mariadb/variables.tf rename to terraform/modules/db/mariadb/variables.tf diff --git a/terraform/modules/mail/lib/bcrypt_hash.py b/terraform/modules/mail/lib/bcrypt_hash.py deleted file mode 100644 index b8bbd07..0000000 --- a/terraform/modules/mail/lib/bcrypt_hash.py +++ /dev/null @@ -1,27 +0,0 @@ -import sys -import json -import bcrypt -import binascii - -# Read input JSON from stdin -input_data = json.load(sys.stdin) -password = input_data.get("password") -cost = int(input_data.get("cost", "10")) # Default cost 10 - -if not password: - print(json.dumps({"error": "Password is required"}), file=sys.stderr) - sys.exit(1) - -# Generate bcrypt hash -hashed_bytes = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt(rounds=cost)) -hashed_string = hashed_bytes.decode('utf-8') - -# Hex encode for Glauth -hex_encoded_hash = binascii.hexlify(hashed_string.encode('utf-8')).decode('utf-8') - -# Output JSON to stdout -output_data = { - "bcrypt_hash": hashed_string, - "hex_encoded_bcrypt_hash": hex_encoded_hash -} -print(json.dumps(output_data)) \ No newline at end of file diff --git a/terraform/modules/scw_backup_job/config.tf b/terraform/modules/utils/scw_rclone/config.tf similarity index 100% rename from terraform/modules/scw_backup_job/config.tf rename to terraform/modules/utils/scw_rclone/config.tf diff --git a/terraform/modules/scw_backup_job/main.tf b/terraform/modules/utils/scw_rclone/main.tf similarity index 100% rename from terraform/modules/scw_backup_job/main.tf rename to terraform/modules/utils/scw_rclone/main.tf diff --git a/terraform/modules/scw_backup_job/provider.tf b/terraform/modules/utils/scw_rclone/provider.tf similarity index 100% rename from terraform/modules/scw_backup_job/provider.tf rename to terraform/modules/utils/scw_rclone/provider.tf diff --git a/terraform/modules/scw_backup_job/resources/rclone.conf b/terraform/modules/utils/scw_rclone/resources/rclone.conf similarity index 100% rename from terraform/modules/scw_backup_job/resources/rclone.conf rename to terraform/modules/utils/scw_rclone/resources/rclone.conf diff --git a/terraform/modules/scw_backup_job/variables.tf b/terraform/modules/utils/scw_rclone/variables.tf similarity index 100% rename from terraform/modules/scw_backup_job/variables.tf rename to terraform/modules/utils/scw_rclone/variables.tf