Files
alexandre.pires aee57a8b89 Refactor Gitea and SSH configurations, update backup scripts, and enhance Nginx settings
- Updated SSH configuration for Gitea to disable banner and TTY, and modified the AuthorizedKeysCommand.
- Simplified gitea-shell script to directly call the k8s_gitea_shell command with required parameters.
- Removed unused gitea-auth script from playbook_gitea.yml.
- Updated systools_version in playbook_systools.yml to 0.4.5.
- Enhanced ssh_locker_helper to copy redirect URL to clipboard based on OS.
- Added a new script test_imaps for IMAP testing.
- Updated Terraform configurations for various applications, including:
  - Added a backup script for MariaDB with retention policy.
  - Changed Gitea version to 1.24-rootless and adjusted SSH settings.
  - Updated Nginx configurations to log errors and access to stderr/stdout.
  - Refactored services to use ClusterIP type and adjusted security contexts for deployments.
  - Added temporary storage for applications using empty_dir.
  - Enhanced backup.sh scripts for better error handling and logging.
2025-09-20 21:34:33 +02:00

69 lines
2.0 KiB
Terraform

resource "kubernetes_service" "nextcloud_apache" {
metadata {
name = "http"
namespace = kubernetes_namespace.nextcloud.metadata[0].name
}
spec {
port {
port = var.tls_enabled ? 443 : 80
target_port = var.tls_enabled ? 443 : 80
}
selector = {
app = "nextcloud"
}
type = "ClusterIP"
cluster_ip = "None"
}
}
resource "kubernetes_ingress_v1" "nextcloud_ingress" {
depends_on = [
kubernetes_deployment.nextcloud_apache
]
metadata {
name = "ingress"
namespace = kubernetes_namespace.nextcloud.metadata[0].name
annotations = merge({
"kubernetes.io/ingress.class" = "public"
"cert-manager.io/cluster-issuer" = "letsencrypt-prod"
"kubernetes.io/tls-acme" = "true"
"nginx.ingress.kubernetes.io/ssl-redirect" = "true"
"nginx.ingress.kubernetes.io/proxy-body-size" = "4G"
"nginx.ingress.kubernetes.io/proxy-request-buffering" = "on"
"nginx.ingress.kubernetes.io/proxy-buffer-size" = "32k"
"nginx.ingress.kubernetes.io/proxy-buffers-number" = "16"
"nginx.ingress.kubernetes.io/server-snippet" = file("${path.module}/resources/nextcloud-server-snippet.conf")
},
var.tls_enabled ? {
"nginx.org/ssl-services" = "http"
"nginx.org/ssl-redirect" = "true"
"nginx.org/redirect-to-https" = "true"
"nginx.ingress.kubernetes.io/backend-protocol" = "HTTPS"
} : {}
)
}
spec {
tls {
hosts = [var.fqdn]
secret_name = "nextcloud-tls"
}
rule {
host = var.fqdn
http {
path {
backend {
service {
name = "http"
port {
number = var.tls_enabled ? 443 : 80
}
}
}
}
}
}
}
}