chore: format tf file
This commit is contained in:
+46
-42
@@ -1,21 +1,22 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
kubernetes = {
|
||||
source = "hashicorp/kubernetes"
|
||||
source = "hashicorp/kubernetes"
|
||||
version = ">= 2.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
backend "s3" {
|
||||
bucket = "tasknote"
|
||||
key = "kubernetes/terraform.tfstate"
|
||||
region = "auto"
|
||||
endpoints = { s3 = "https://d17eb09b6bce2f90e16e800bb2a6baf9.r2.cloudflarestorage.com" }
|
||||
bucket = "tasknote"
|
||||
key = "kubernetes/terraform.tfstate"
|
||||
region = "auto"
|
||||
endpoints = { s3 = "https://d17eb09b6bce2f90e16e800bb2a6baf9.r2.cloudflarestorage.com"
|
||||
}
|
||||
skip_credentials_validation = true
|
||||
skip_region_validation = true
|
||||
skip_requesting_account_id = true
|
||||
skip_metadata_api_check = true
|
||||
skip_s3_checksum = true
|
||||
skip_region_validation = true
|
||||
skip_requesting_account_id = true
|
||||
skip_metadata_api_check = true
|
||||
skip_s3_checksum = true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,27 +25,27 @@ provider "kubernetes" {
|
||||
}
|
||||
|
||||
variable "db_user" {
|
||||
type = string
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "db_password" {
|
||||
type = string
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "db_name" {
|
||||
type = string
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "security_key" {
|
||||
type = string
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "mailgun_apikey" {
|
||||
type = string
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
@@ -59,12 +60,12 @@ variable "root_log_level" {
|
||||
}
|
||||
|
||||
variable "backend_image" {
|
||||
type = string
|
||||
type = string
|
||||
default = "pull ghcr.io/rmcampos/tasknote/api:15"
|
||||
}
|
||||
|
||||
variable "frontend_image" {
|
||||
type = string
|
||||
type = string
|
||||
default = "ghcr.io/rmcampos/tasknote/app:app-v2026.03.17.18"
|
||||
}
|
||||
|
||||
@@ -76,22 +77,22 @@ resource "kubernetes_namespace_v1" "tasknote" {
|
||||
|
||||
resource "kubernetes_secret_v1" "tasknote_secrets" {
|
||||
metadata {
|
||||
name = "tasknote-secrets"
|
||||
name = "tasknote-secrets"
|
||||
namespace = kubernetes_namespace_v1.tasknote.metadata[0].name
|
||||
}
|
||||
|
||||
data = {
|
||||
postgres_user = var.db_user
|
||||
postgres_password = var.db_password
|
||||
postgres_db = var.db_name
|
||||
security_key = var.security_key
|
||||
mailgun_apikey = var.mailgun_apikey
|
||||
postgres_user = var.db_user
|
||||
postgres_password = var.db_password
|
||||
postgres_db = var.db_name
|
||||
security_key = var.security_key
|
||||
mailgun_apikey = var.mailgun_apikey
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_persistent_volume_claim_v1" "tasknote_db_data" {
|
||||
metadata {
|
||||
name = "postgres-data-pvc"
|
||||
name = "postgres-data-pvc"
|
||||
namespace = kubernetes_namespace_v1.tasknote.metadata[0].name
|
||||
}
|
||||
spec {
|
||||
@@ -106,7 +107,7 @@ resource "kubernetes_persistent_volume_claim_v1" "tasknote_db_data" {
|
||||
|
||||
resource "kubernetes_deployment_v1" "tasknote_db" {
|
||||
metadata {
|
||||
name = "tasknote-db"
|
||||
name = "tasknote-db"
|
||||
namespace = kubernetes_namespace_v1.tasknote.metadata[0].name
|
||||
}
|
||||
spec {
|
||||
@@ -117,9 +118,9 @@ resource "kubernetes_deployment_v1" "tasknote_db" {
|
||||
spec {
|
||||
container {
|
||||
image = "postgres:15.8-bookworm"
|
||||
name = "postgres"
|
||||
name = "postgres"
|
||||
volume_mount {
|
||||
name = "postgres-storage"
|
||||
name = "postgres-storage"
|
||||
mount_path = "/var/lib/postgresql/data"
|
||||
}
|
||||
env {
|
||||
@@ -149,7 +150,8 @@ resource "kubernetes_deployment_v1" "tasknote_db" {
|
||||
}
|
||||
}
|
||||
}
|
||||
port { container_port = 5432 }
|
||||
port { container_port = 5432
|
||||
}
|
||||
}
|
||||
volume {
|
||||
name = "postgres-storage"
|
||||
@@ -164,19 +166,21 @@ resource "kubernetes_deployment_v1" "tasknote_db" {
|
||||
|
||||
resource "kubernetes_service_v1" "tasknote_db_svc" {
|
||||
metadata {
|
||||
name = "tasknote-db-svc"
|
||||
name = "tasknote-db-svc"
|
||||
namespace = kubernetes_namespace_v1.tasknote.metadata[0].name
|
||||
}
|
||||
spec {
|
||||
selector = { app = "tasknote-db" }
|
||||
port { port = 5432 }
|
||||
selector = { app = "tasknote-db"
|
||||
}
|
||||
port { port = 5432
|
||||
}
|
||||
type = "ClusterIP"
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_deployment_v1" "tasknote_backend" {
|
||||
metadata {
|
||||
name = "tasknote-backend"
|
||||
name = "tasknote-backend"
|
||||
namespace = kubernetes_namespace_v1.tasknote.metadata[0].name
|
||||
}
|
||||
spec {
|
||||
@@ -187,7 +191,7 @@ resource "kubernetes_deployment_v1" "tasknote_backend" {
|
||||
spec {
|
||||
container {
|
||||
image = var.backend_image
|
||||
name = "backend"
|
||||
name = "backend"
|
||||
env {
|
||||
name = "POSTGRES_DB"
|
||||
value_from {
|
||||
@@ -202,7 +206,7 @@ resource "kubernetes_deployment_v1" "tasknote_backend" {
|
||||
value = "tasknote-db-svc"
|
||||
}
|
||||
env {
|
||||
name = "POSTGRES_USER"
|
||||
name = "POSTGRES_USER"
|
||||
value_from {
|
||||
secret_key_ref {
|
||||
name = kubernetes_secret_v1.tasknote_secrets.metadata[0].name
|
||||
@@ -232,7 +236,7 @@ resource "kubernetes_deployment_v1" "tasknote_backend" {
|
||||
value = "/"
|
||||
}
|
||||
env {
|
||||
name = "ROOT_LOG_LEVEL"
|
||||
name = "ROOT_LOG_LEVEL"
|
||||
value = var.root_log_level
|
||||
}
|
||||
env {
|
||||
@@ -258,7 +262,7 @@ resource "kubernetes_deployment_v1" "tasknote_backend" {
|
||||
}
|
||||
}
|
||||
resources {
|
||||
limits = { memory = "256Mi", cpu = "500m" }
|
||||
limits = { memory = "256Mi", cpu = "500m" }
|
||||
requests = { memory = "256Mi", cpu = "250m" }
|
||||
}
|
||||
}
|
||||
@@ -269,7 +273,7 @@ resource "kubernetes_deployment_v1" "tasknote_backend" {
|
||||
|
||||
resource "kubernetes_service_v1" "tasknote_backend_svc" {
|
||||
metadata {
|
||||
name = "tasknote-backend-svc"
|
||||
name = "tasknote-backend-svc"
|
||||
namespace = kubernetes_namespace_v1.tasknote.metadata[0].name
|
||||
}
|
||||
spec {
|
||||
@@ -283,7 +287,7 @@ resource "kubernetes_service_v1" "tasknote_backend_svc" {
|
||||
|
||||
resource "kubernetes_deployment_v1" "tasknote_frontend" {
|
||||
metadata {
|
||||
name = "tasknote-frontend"
|
||||
name = "tasknote-frontend"
|
||||
namespace = kubernetes_namespace_v1.tasknote.metadata[0].name
|
||||
}
|
||||
spec {
|
||||
@@ -294,10 +298,10 @@ resource "kubernetes_deployment_v1" "tasknote_frontend" {
|
||||
spec {
|
||||
container {
|
||||
image = var.frontend_image
|
||||
name = "frontend"
|
||||
name = "frontend"
|
||||
port { container_port = 5000 }
|
||||
env {
|
||||
name = "VITE_BACKEND_SERVER"
|
||||
name = "VITE_BACKEND_SERVER"
|
||||
value = "https://tasknoteapi.darkroasted.vps-kinghost.net"
|
||||
}
|
||||
}
|
||||
@@ -308,7 +312,7 @@ resource "kubernetes_deployment_v1" "tasknote_frontend" {
|
||||
|
||||
resource "kubernetes_service_v1" "tasknote_frontend_svc" {
|
||||
metadata {
|
||||
name = "tasknote-frontend-svc"
|
||||
name = "tasknote-frontend-svc"
|
||||
namespace = kubernetes_namespace_v1.tasknote.metadata[0].name
|
||||
}
|
||||
spec {
|
||||
@@ -324,7 +328,7 @@ resource "kubernetes_service_v1" "tasknote_frontend_svc" {
|
||||
# Unified Ingress for App and API
|
||||
resource "kubernetes_ingress_v1" "tasknote_ingress" {
|
||||
metadata {
|
||||
name = "tasknote-ingress"
|
||||
name = "tasknote-ingress"
|
||||
namespace = kubernetes_namespace_v1.tasknote.metadata[0].name
|
||||
annotations = {
|
||||
"kubernetes.io/ingress.class" = "traefik"
|
||||
@@ -333,7 +337,7 @@ resource "kubernetes_ingress_v1" "tasknote_ingress" {
|
||||
}
|
||||
spec {
|
||||
tls {
|
||||
hosts = ["tasknote.darkroasted.vps-kinghost.net", "tasknoteapi.darkroasted.vps-kinghost.net"]
|
||||
hosts = ["tasknote.darkroasted.vps-kinghost.net", "tasknoteapi.darkroasted.vps-kinghost.net"]
|
||||
secret_name = "tasknote-tls-certs"
|
||||
}
|
||||
rule {
|
||||
|
||||
Reference in New Issue
Block a user