Minor fixes

- DNS implementation
- Fixed missing mount in encrypted volumes
- Improved chronograph.sh
This commit is contained in:
2024-10-05 18:11:41 +02:00
parent 0fc8047831
commit f8ddb332e8
10 changed files with 193 additions and 13 deletions
+114
View File
@@ -0,0 +1,114 @@
resource "cloudns_dns_record" "microk8s" {
name = data.contabo_instance.microk8s.name
zone = local.alexpires_me_zone
type = "A"
value = data.contabo_instance.microk8s.ip_config[0].v4[0].ip
ttl = "3600"
}
resource "cloudns_dns_record" "code" {
name = "code"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.microk8s.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "cloud" {
name = "cloud"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.microk8s.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "tv" {
name = "tv"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.microk8s.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "blog" {
name = "blog"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.microk8s.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "www" {
name = "www"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.microk8s.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "root" {
name = ""
zone = local.alexpires_me_zone
type = "A"
value = data.contabo_instance.microk8s.ip_config[0].v4[0].ip
ttl = "3600"
}
resource "cloudns_dns_record" "spf" {
name = ""
zone = local.alexpires_me_zone
type = "TXT"
value = "v=spf1 include:_spf.tem.scaleway.com -all"
ttl = "3600"
}
resource "cloudns_dns_record" "dkim" {
name = "${var.scaleway_dkim_key}._domainkey"
zone = local.alexpires_me_zone
type = "TXT"
value = "vv=DKIM1; h=sha256; k=rsa; p=${var.scaleway_dkim_value}"
ttl = "3600"
}
resource "cloudns_dns_record" "dmarc" {
name = "_dmarc"
zone = local.alexpires_me_zone
type = "TXT"
value = "v=DMARC1; p=none; rua=mailto:admin@${local.alexpires_me_zone}"
ttl = "3600"
}
import {
id = "${local.alexpires_me_zone}/178650182"
to = cloudns_dns_record.code
}
import {
id = "${local.alexpires_me_zone}/281519967"
to = cloudns_dns_record.cloud
}
import {
id = "${local.alexpires_me_zone}/521232645"
to = cloudns_dns_record.tv
}
import {
id = "${local.alexpires_me_zone}/178650153"
to = cloudns_dns_record.blog
}
import {
id = "${local.alexpires_me_zone}/281520528"
to = cloudns_dns_record.spf
}
import {
id = "${local.alexpires_me_zone}/281520539"
to = cloudns_dns_record.dkim
}
import {
id = "${local.alexpires_me_zone}/281718535"
to = cloudns_dns_record.dmarc
}
+1
View File
@@ -3,4 +3,5 @@ locals {
"${data.contabo_instance.microk8s.ip_config[0].v4[0].ip}/32",
]
instance_mac_addr = replace(data.contabo_instance.microk8s.mac_address, ":", "_")
alexpires_me_zone = "alexpires.me"
}
+8
View File
@@ -30,9 +30,17 @@ terraform {
source = "contabo/contabo"
version = "~>0.1"
}
cloudns = {
source = "ClouDNS/cloudns"
version = "~1.0"
}
}
}
provider "cloudns" {
auth_id = var.cloudns_auth_id
password = var.cloudns_password
}
provider "scaleway" {
zone = "fr-par-2"
+4
View File
@@ -5,9 +5,13 @@ TF_VAR_scaleway_secret_key=$SCALEWAY_SECRET_KEY
TF_VAR_scaleway_project_id=$SCALEWAY_PROJECT_ID
TF_VAR_scaleway_organization_id=$SCALEWAY_ORGANIZATION_ID
TF_VAR_scaleway_user_id=$SCALEWAY_USER_ID
TF_VAR_scaleway_dkim_key=$SCALEWAY_DKIM_KEY
TF_VAR_scaleway_dkim_value=$SCALEWAY_DKIM_VALUE
TF_VAR_contabo_client_id=$CONTABO_CLIENT_ID
TF_VAR_contabo_client_secret=$CONTABO_CLIENT_SECRET
TF_VAR_contabo_api_password=$CONTABO_API_PASSWORD
TF_VAR_contabo_api_user=$CONTABO_USER_NAME
TF_VAR_bucket_suffix=$BUCKET_SUFFIX
TF_VAR_encryption_key=$ENCRYPT_KEY
TF_VAR_cloudns_auth_id=$CLOUDNS_AUTH_ID
TF_VAR_cloudns_password=$CLOUDNS_PASSWORD
+24
View File
@@ -69,3 +69,27 @@ variable "system_id" {
type = string
sensitive = true
}
variable "cloudns_auth_id" {
description = "Cloudns Auth ID"
type = string
sensitive = true
}
variable "cloudns_password" {
description = "Cloudns Password"
type = string
sensitive = true
}
variable "scaleway_dkim_key" {
description = "Scaleway DKIM key"
type = string
sensitive = true
}
variable "scaleway_dkim_value" {
description = "Scaleway DKIM value"
type = string
sensitive = true
}
+1 -1
View File
@@ -2,7 +2,7 @@ locals {
# apps
wordpress_version = "6.5.2"
wordpress_fqdn = "blog.alexpires.me"
wordpress_fqdns = ["blog.alexpires.me", "www.alexpires.me", "alexpires.me"]
wordpress_sql_backup_cron_schedule = "0 2 * * *"
wordpress_files_backup_cron_schedule = "10 2 * * *"
+13 -10
View File
@@ -101,18 +101,21 @@ resource "kubernetes_ingress_v1" "wordpress_ingress" {
}
spec {
tls {
hosts = [local.wordpress_fqdn]
hosts = local.wordpress_fqdns
secret_name = "wordpress-le-tls"
}
rule {
host = local.wordpress_fqdn
http {
path {
backend {
service {
name = "http"
port {
number = 80
dynamic "rule" {
for_each = local.wordpress_fqdns
content {
host = rule.value
http {
path {
backend {
service {
name = "http"
port {
number = 80
}
}
}
}