Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
katzefudder committed Dec 3, 2024
2 parents c4fb6ae + 12e8aa5 commit f2dbf34
Show file tree
Hide file tree
Showing 15 changed files with 63 additions and 40 deletions.
2 changes: 1 addition & 1 deletion docker/Dockerfile_wordpress
Original file line number Diff line number Diff line change
@@ -1 +1 @@
FROM wordpress:php8.0-apache
FROM wordpress:php8.1-apache
3 changes: 2 additions & 1 deletion environments/prod/params.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
"environment": "prod"
"environment": "prod",
"hostname": "wordpress.com"
}
19 changes: 18 additions & 1 deletion terraform/main.tf
Original file line number Diff line number Diff line change
@@ -1,18 +1,35 @@
resource "kubernetes_namespace" "wordpress" {
metadata {
name = "${var.stage}-wordpress"
}
}

resource "kubernetes_namespace" "monitoring" {
metadata {
name = "${var.stage}-monitoring"
}
}

module "monitoring" {
depends_on = [module.ingress]
namespace = kubernetes_namespace.monitoring.metadata[0].name
source = "./modules/monitoring"
}

module "ingress" {
source = "./modules/ingress"
namespace = kubernetes_namespace.wordpress.metadata[0].name
}

module "wordpress" {
depends_on = [module.monitoring]
source = "./modules/wordpress"
stage = var.stage
hostname = var.hostname
namespace = kubernetes_namespace.wordpress.metadata[0].name
}

module "dashboard" {
depends_on = [module.monitoring]
source = "./modules/dashboard"
namespace = kubernetes_namespace.wordpress.metadata[0].name
}
3 changes: 3 additions & 0 deletions terraform/modules/dashboard/variables.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
variable "namespace" {
type = string
}
3 changes: 3 additions & 0 deletions terraform/modules/ingress/variables.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
variable "namespace" {
type = string
}
2 changes: 1 addition & 1 deletion terraform/modules/monitoring/grafana-dashboards.tf
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ resource kubernetes_config_map_v1 "grafana-dashboards" {
labels = {
"grafana_dashboard" = "1"
}
namespace = data.kubernetes_namespace.monitoring.metadata[0].name
namespace = var.namespace
}

data = {
Expand Down
4 changes: 2 additions & 2 deletions terraform/modules/monitoring/ingress.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
resource "kubernetes_ingress_v1" "grafana" {
metadata {
name = "grafana"
namespace = data.kubernetes_namespace.monitoring.metadata[0].name
namespace = var.namespace
annotations = {
"nginx.ingress.kubernetes.io/rewrite-target" = "/"
}
Expand Down Expand Up @@ -31,7 +31,7 @@ resource "kubernetes_ingress_v1" "grafana" {
resource "kubernetes_ingress_v1" "prometheus" {
metadata {
name = "prometheus"
namespace = data.kubernetes_namespace.monitoring.metadata[0].name
namespace = var.namespace
annotations = {
"nginx.ingress.kubernetes.io/rewrite-target" = "/"
}
Expand Down
10 changes: 0 additions & 10 deletions terraform/modules/monitoring/loki.tf

This file was deleted.

24 changes: 20 additions & 4 deletions terraform/modules/monitoring/main.tf
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
data "kubernetes_namespace" "monitoring" {
metadata {
name = "monitoring"
}
resource "helm_release" "loki" {
name = "loki"
repository = "https://grafana.github.io/helm-charts"
chart = "loki-stack"
namespace = var.namespace
create_namespace = false
force_update = true
replace = true
atomic = true
}

resource "helm_release" "prometheus" {
name = "loki"
repository = "https://prometheus-community.github.io/helm-charts"
chart = "kube-prometheus-stack"
namespace = var.namespace
create_namespace = false
force_update = true
replace = true
atomic = true
}
3 changes: 3 additions & 0 deletions terraform/modules/monitoring/variables.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
variable "namespace" {
type = string
}
2 changes: 1 addition & 1 deletion terraform/modules/wordpress/ingress.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
resource "kubernetes_ingress_v1" "wordpress" {
metadata {
name = "wordpress"
namespace = kubernetes_namespace.wordpress.metadata.0.name
namespace = var.namespace
annotations = {
"nginx.ingress.kubernetes.io/rewrite-target" = "/"
"nginx.ingress.kubernetes.io/affinity" = "cookie"
Expand Down
2 changes: 1 addition & 1 deletion terraform/modules/wordpress/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ locals {

module "monitoring" {
source = "./monitoring"
namespace = "${var.stage}-wordpress"
namespace = var.namespace
}
10 changes: 5 additions & 5 deletions terraform/modules/wordpress/mysql.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
resource "kubernetes_secret" "mysql-pass" {
metadata {
name = "mysql-pass"
namespace = kubernetes_namespace.wordpress.metadata.0.name
namespace = var.namespace
}
data = {
password = "root"
Expand Down Expand Up @@ -34,7 +34,7 @@ resource "kubernetes_persistent_volume" "mysql" {
resource "kubernetes_service" "mysql-service" {
metadata {
name = "mysql"
namespace = kubernetes_namespace.wordpress.metadata.0.name
namespace = var.namespace
labels = local.mysql_labels
}
spec {
Expand All @@ -57,7 +57,7 @@ resource "kubernetes_stateful_set" "mysql" {
metadata {
name = "mysql"
labels = local.mysql_labels
namespace = kubernetes_namespace.wordpress.metadata.0.name
namespace = var.namespace
}
spec {
replicas = 1
Expand Down Expand Up @@ -98,7 +98,7 @@ resource "kubernetes_stateful_set" "mysql" {
mount_path = "/var/lib/mysql"
}
}

/*
container {
image = "prom/mysqld-exporter"
name = "mysql-exporter"
Expand All @@ -110,7 +110,7 @@ resource "kubernetes_stateful_set" "mysql" {
value = "root:root@(localhost:3306)/wordpress"
}
}

*/
termination_grace_period_seconds = 10
}
}
Expand Down
4 changes: 0 additions & 4 deletions terraform/modules/wordpress/output.tf
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,4 @@ output "mysql_service_id" {

output "wordpress_service_id" {
value = kubernetes_service.wordpress-service.id
}

output "namespace" {
value = kubernetes_namespace.wordpress.metadata.0.name
}
12 changes: 3 additions & 9 deletions terraform/modules/wordpress/wordpress.tf
Original file line number Diff line number Diff line change
@@ -1,16 +1,10 @@
resource "kubernetes_namespace" "wordpress" {
metadata {
name = "${var.stage}-wordpress"
}
}

resource "kubernetes_service" "wordpress-service" {
depends_on = [
kubernetes_service.mysql-service
]
metadata {
name = "wordpress"
namespace = kubernetes_namespace.wordpress.metadata.0.name
namespace = var.namespace
labels = local.wordpress_labels
}
spec {
Expand All @@ -27,7 +21,7 @@ resource "kubernetes_service" "wordpress-service" {
resource "kubernetes_config_map" "openresty-proxy-conf" {
metadata {
name = "openresty-proxy-conf"
namespace = kubernetes_namespace.wordpress.metadata.0.name
namespace = var.namespace
}

data = {
Expand All @@ -39,7 +33,7 @@ resource "kubernetes_deployment" "wordpress" {
metadata {
name = "wordpress"
labels = local.wordpress_labels
namespace = kubernetes_namespace.wordpress.metadata.0.name
namespace = var.namespace
}
spec {
replicas = 3
Expand Down

0 comments on commit f2dbf34

Please sign in to comment.