Remove deprecated Terraform IAC configurations and workflows

This commit is contained in:
2025-04-25 21:37:45 +02:00
parent 70988e3cf3
commit 9ad18067de
13 changed files with 0 additions and 622 deletions
-56
View File
@@ -1,56 +0,0 @@
name: Terraform IAC Apply
on:
schedule:
- cron: "0 1 * * 0"
push:
branches:
- main
paths:
- "terraform/iac/**"
jobs:
terraform-apply:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Setup Ansible environment
uses: ./.github/actions/setup-ansible-env
with:
project-id: ${{ secrets.BW_PROJECT_ID }}
organization-id: ${{ secrets.BW_ORGANIZATION_ID }}
access-token: ${{ secrets.BW_ACCESS_TOKEN }}
ansible-user: ${{ secrets.ANSIBLE_USER }}
host-group: iac
- name: Get Host Info
uses: ./.github/actions/get-host-info
id: get-host-info
with:
project-id: ${{ secrets.BW_PROJECT_ID }}
organization-id: ${{ secrets.BW_ORGANIZATION_ID }}
access-token: ${{ secrets.BW_ACCESS_TOKEN }}
ansible-user: ${{ secrets.ANSIBLE_USER }}
target-host: iac
- name: Setup Terraform environment
uses: ./.github/actions/setup-terraform-env
- name: Terraform Init and Apply
env:
BW_PROJECT_ID: ${{ secrets.BW_PROJECT_ID }}
BW_ORGANIZATION_ID: ${{ secrets.BW_ORGANIZATION_ID }}
BW_ACCESS_TOKEN: ${{ secrets.BW_ACCESS_TOKEN }}
SYSTEM_ID: ${{ steps.get-host-info.outputs.system-id }}
run: |
cd terraform/iac
export TF_VAR_system_id=$SYSTEM_ID
sectool -f ../../sectool.json exec terraform init
sectool -f ../../sectool.json exec terraform apply --auto-approve
@@ -1,60 +0,0 @@
name: Terraform IAC Validate on Pull Request
on:
pull_request:
branches:
- main
paths:
- "terraform/iac/**"
types:
- opened
- synchronize
- reopened
jobs:
terraform-validate:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Setup Ansible environment
uses: ./.github/actions/setup-ansible-env
with:
project-id: ${{ secrets.BW_PROJECT_ID }}
organization-id: ${{ secrets.BW_ORGANIZATION_ID }}
access-token: ${{ secrets.BW_ACCESS_TOKEN }}
ansible-user: ${{ secrets.ANSIBLE_USER }}
host-group: iac
- name: Get Host Info
uses: ./.github/actions/get-host-info
id: get-host-info
with:
project-id: ${{ secrets.BW_PROJECT_ID }}
organization-id: ${{ secrets.BW_ORGANIZATION_ID }}
access-token: ${{ secrets.BW_ACCESS_TOKEN }}
ansible-user: ${{ secrets.ANSIBLE_USER }}
target-host: iac
- name: Setup Terraform environment
uses: ./.github/actions/setup-terraform-env
- name: Terraform Init and Validate
env:
BW_PROJECT_ID: ${{ secrets.BW_PROJECT_ID }}
BW_ORGANIZATION_ID: ${{ secrets.BW_ORGANIZATION_ID }}
BW_ACCESS_TOKEN: ${{ secrets.BW_ACCESS_TOKEN }}
SYSTEM_ID: ${{ steps.get-host-info.outputs.system-id }}
run: |
cd terraform/iac
export TF_VAR_system_id=$SYSTEM_ID
sectool -f ../../sectool.json exec terraform init
sectool -f ../../sectool.json exec terraform validate
sectool -f ../../sectool.json exec terraform fmt -check
sectool -f ../../sectool.json exec terraform plan
-99
View File
@@ -1,99 +0,0 @@
resource "cloudns_dns_record" "a13labs_me_contabo" {
name = local.contabo_instance.name
zone = local.a13labs_me_zone
type = "A"
value = local.contabo_instance.ip
ttl = "3600"
}
resource "cloudns_dns_record" "a13labs_me_imaps" {
name = "imap"
zone = local.a13labs_me_zone
type = "CNAME"
value = "${cloudns_dns_record.a13labs_me_contabo.name}.${local.a13labs_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "a13labs_me_smtps" {
name = "smtp"
zone = local.a13labs_me_zone
type = "CNAME"
value = "${cloudns_dns_record.a13labs_me_contabo.name}.${local.a13labs_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "a13labs_me_root" {
name = ""
zone = local.a13labs_me_zone
type = "A"
value = local.contabo_instance.ip
ttl = "3600"
}
resource "cloudns_dns_record" "a13labs_me_spf" {
name = ""
zone = local.a13labs_me_zone
type = "TXT"
value = "v=spf1 include:_spf.tem.scaleway.com include:spf.webapps.net ~all"
ttl = "3600"
}
resource "cloudns_dns_record" "a13labs_me_dkim" {
name = "${var.scaleway_dkim_key}._domainkey"
zone = local.a13labs_me_zone
type = "TXT"
value = "v=DKIM1; h=sha256; k=rsa; p=${var.a13labs_me_scaleway_dkim_value}"
ttl = "3600"
}
resource "cloudns_dns_record" "a13labs_me_dmarc" {
name = "_dmarc"
zone = local.a13labs_me_zone
type = "TXT"
value = "v=DMARC1; p=none; rua=mailto:admin@${local.a13labs_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "a13labs_me_mx" {
name = ""
zone = local.a13labs_me_zone
type = "MX"
priority = "10"
value = "mail-pt.securemail.pro"
ttl = "3600"
}
resource "cloudns_dns_record" "a13labs_me_mail" {
name = "mail"
zone = local.a13labs_me_zone
type = "CNAME"
value = "mail-pt.securemail.pro"
ttl = "3600"
}
resource "cloudns_dns_record" "a13labs_me_mail_smtp_srv" {
name = "_smtp._tcp"
zone = local.a13labs_me_zone
type = "SRV"
priority = 0
weight = 1
port = 465
value = "smtp.${local.a13labs_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "a13labs_me_mail_imap_srv" {
name = "_imap._tcp"
zone = local.a13labs_me_zone
type = "SRV"
priority = 0
weight = 1
port = 993
value = "imap.${local.a13labs_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_zone" "a13labs_me" {
domain = local.a13labs_me_zone
type = "master"
}
-164
View File
@@ -1,164 +0,0 @@
resource "cloudns_dns_record" "alexpires_me_contabo" {
name = local.contabo_instance.name
zone = local.alexpires_me_zone
type = "A"
value = local.contabo_instance.ip
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_code" {
name = "code"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.alexpires_me_contabo.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_cloud" {
name = "cloud"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.alexpires_me_contabo.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_tv" {
name = "tv"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.alexpires_me_contabo.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_blog" {
name = "blog"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.alexpires_me_contabo.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_www" {
name = "www"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.alexpires_me_contabo.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_rustdesk" {
name = "rustdesk"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.alexpires_me_contabo.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_prod_01" {
name = "prod-01"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.alexpires_me_contabo.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_imaps" {
name = "imap"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.alexpires_me_contabo.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_smtps" {
name = "smtp"
zone = local.alexpires_me_zone
type = "CNAME"
value = "${cloudns_dns_record.alexpires_me_contabo.name}.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_root" {
name = ""
zone = local.alexpires_me_zone
type = "A"
value = local.contabo_instance.ip
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_spf" {
name = ""
zone = local.alexpires_me_zone
type = "TXT"
value = "v=spf1 include:_spf.tem.scaleway.com include:spf.webapps.net ~all"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_dkim" {
name = "${var.scaleway_dkim_key}._domainkey"
zone = local.alexpires_me_zone
type = "TXT"
value = "v=DKIM1; h=sha256; k=rsa; p=${var.alexpires_me_scaleway_dkim_value}"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_dmarc" {
name = "_dmarc"
zone = local.alexpires_me_zone
type = "TXT"
value = "v=DMARC1; p=none; rua=mailto:admin@${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_mx" {
name = ""
zone = local.alexpires_me_zone
type = "MX"
priority = "10"
value = "mail-pt.securemail.pro"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_mail" {
name = "mail"
zone = local.alexpires_me_zone
type = "CNAME"
value = "mail-pt.securemail.pro"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_mail_smtp_srv" {
name = "_smtp._tcp"
zone = local.alexpires_me_zone
type = "SRV"
priority = 0
weight = 1
port = 465
value = "smtp.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_record" "alexpires_me_mail_imap_srv" {
name = "_imap._tcp"
zone = local.alexpires_me_zone
type = "SRV"
priority = 0
weight = 1
port = 993
value = "imap.${local.alexpires_me_zone}"
ttl = "3600"
}
resource "cloudns_dns_zone" "alexpires_me" {
domain = local.alexpires_me_zone
type = "master"
}
import {
to = cloudns_dns_zone.alexpires_me
id = local.alexpires_me_zone
}
moved {
from = cloudns_dns_record.alexpires_me_microk8s
to = cloudns_dns_record.alexpires_me_contabo
}
-7
View File
@@ -1,7 +0,0 @@
terraform {
backend "s3" {
bucket = "a13labs.infra"
key = "a13labs-iac.tfstate"
region = "us-east-1"
}
}
-45
View File
@@ -1,45 +0,0 @@
resource "scaleway_object_bucket" "infra_assets" {
name = "a13labs-infra-${var.bucket_suffix}"
project_id = var.scaleway_project_id
region = "fr-par"
}
resource "scaleway_object_bucket_policy" "policy" {
bucket = scaleway_object_bucket.infra_assets.name
policy = jsonencode({
Version = "2023-04-17",
Id = "AllowMachineDownload",
Statement = [
{
Effect = "Allow"
Action = [
"s3:ListBucket",
"s3:GetObject",
]
Principal = "*"
Resource = [
scaleway_object_bucket.infra_assets.name,
"${scaleway_object_bucket.infra_assets.name}/*",
]
Condition = {
IpAddress = {
"aws:SourceIp" = local.instance_ips
}
},
},
{
Effect = "Allow"
Action = [
"s3:*",
]
Principal = {
SCW = "user_id:${var.scaleway_user_id}"
}
Resource = [
scaleway_object_bucket.infra_assets.name,
"${scaleway_object_bucket.infra_assets.name}/*",
]
},
]
})
}
-7
View File
@@ -1,7 +0,0 @@
locals {
instance_ips = [
"${local.contabo_instance.ip}/32",
]
alexpires_me_zone = "alexpires.me"
a13labs_me_zone = "a13labs.me"
}
-14
View File
@@ -1,14 +0,0 @@
# Contabo is down for now, so we can't use it for now
# data "contabo_instance" "microk8s" {
# id = "201912751"
# }
locals {
contabo_instance = {
id = "201912751"
name = "vmi1912751" # data.contabo_instance.microk8s.name
hostname = "microk8s"
ip = "147.78.131.194" # data.contabo_instance.microk8s.ip_config[0].v4[0].ip
}
}
-6
View File
@@ -1,6 +0,0 @@
resource "scaleway_object" "system_id_encryption_key" {
bucket = scaleway_object_bucket.infra_assets.id
key = "keys/${var.system_id}"
content_base64 = base64encode(var.encryption_key)
}
-41
View File
@@ -1,41 +0,0 @@
terraform {
required_version = "~>1.8"
required_providers {
scaleway = {
source = "scaleway/scaleway"
version = "~>2.13"
}
# Contabo provider is not working for now, so we can't use it
# contabo = {
# source = "contabo/contabo"
# version = "0.1.26"
# }
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"
region = "fr-par"
access_key = var.scaleway_access_key
secret_key = var.scaleway_secret_key
organization_id = var.scaleway_organization_id
}
# Configure your Contabo API credentials
# provider "contabo" {
# oauth2_client_id = var.contabo_client_id
# oauth2_client_secret = var.contabo_client_secret
# oauth2_user = var.contabo_api_user
# oauth2_pass = var.contabo_api_password
# }
-5
View File
@@ -1,5 +0,0 @@
resource "scaleway_registry_namespace" "a13labs" {
name = "a13labs"
description = "A13Labs container registry"
is_public = false
}
-18
View File
@@ -1,18 +0,0 @@
AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY
AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY
TF_VAR_scaleway_access_key=$SCALEWAY_ACCESS_KEY
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_alexpires_me_scaleway_dkim_value=$ALEXPIRES_ME_SCALEWAY_DKIM_VALUE
TF_VAR_a13labs_me_scaleway_dkim_value=$A13LABS_ME_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
-100
View File
@@ -1,100 +0,0 @@
variable "scaleway_access_key" {
description = "Scaleway Access key"
type = string
sensitive = true
}
variable "scaleway_secret_key" {
description = "Scaleway Secret key"
type = string
sensitive = true
}
variable "scaleway_project_id" {
description = "Scaleway Project Id"
type = string
sensitive = true
}
variable "scaleway_organization_id" {
description = "Scaleway Organization Id"
type = string
sensitive = true
}
variable "scaleway_user_id" {
description = "Scaleway User Id"
type = string
sensitive = true
}
# variable "contabo_client_id" {
# description = "Contabo Client ID"
# type = string
# sensitive = true
# }
# variable "contabo_client_secret" {
# description = "Contabo Client Secret"
# type = string
# sensitive = true
# }
# variable "contabo_api_password" {
# description = "Contabo API Password"
# type = string
# sensitive = true
# }
# variable "contabo_api_user" {
# description = "Contabo API User"
# type = string
# }
variable "encryption_key" {
description = "Encryption key for sensitive data"
type = string
sensitive = true
}
variable "bucket_suffix" {
description = "Suffix for bucket names"
type = string
sensitive = true
}
variable "system_id" {
description = "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 "alexpires_me_scaleway_dkim_value" {
description = "Scaleway DKIM value (alexpires.me)"
type = string
sensitive = true
}
variable "a13labs_me_scaleway_dkim_value" {
description = "Scaleway DKIM value (a13labs.me)"
type = string
sensitive = true
}