From 9b1aa393b3b44b08f4bdcac1d375d6e06c7cb2c4 Mon Sep 17 00:00:00 2001 From: Guy Godfroy Date: Sat, 14 Mar 2026 20:56:04 +0100 Subject: [PATCH] initial commit --- .gitignore | 5 + cloudflare/.terraform.lock.hcl | 21 + cloudflare/account.tf | 7 + cloudflare/cruxmea_fr.tf | 18 + cloudflare/hashtagueule_fr.tf | 78 ++++ cloudflare/lullylit_fr.tf | 28 ++ cloudflare/provider.tf | 12 + cloudflare/variables.tf | 7 + discord/.terraform.lock.hcl | 17 + discord/provider.tf | 11 + discord/server.tf | 47 +++ discord/terraform-icon.png | Bin 0 -> 32964 bytes discord/variables.tf | 4 + github/.terraform.lock.hcl | 24 ++ github/provider.tf | 12 + github/repositories.tf | 43 ++ github/variables.tf | 4 + haproxy/.terraform.lock.hcl | 24 ++ haproxy/backend.sh | 18 + haproxy/frontend.tf | 44 +++ haproxy/provider.tf | 13 + incus/.terraform.lock.hcl | 22 ++ incus/groups.tf | 21 + incus/members.auto.tfvars | 10 + incus/network.auto.tfvars | 3 + incus/network.tf | 28 ++ incus/provider.tf | 22 ++ incus/variables.tf | 17 + ovh/.terraform.lock.hcl | 44 +++ ovh/cruxmea_fr.tf | 3 + ovh/gugod_fr.tf | 699 +++++++++++++++++++++++++++++++++ ovh/hashtagueule_fr.tf | 15 + ovh/htgl_fr.tf | 67 ++++ ovh/lullylit_fr.tf | 3 + ovh/provider.tf | 14 + ovh/records.txt | 87 ++++ ovh/scierie_org.tf | 11 + ovh/variables.tf | 14 + 38 files changed, 1517 insertions(+) create mode 100644 .gitignore create mode 100644 cloudflare/.terraform.lock.hcl create mode 100644 cloudflare/account.tf create mode 100644 cloudflare/cruxmea_fr.tf create mode 100644 cloudflare/hashtagueule_fr.tf create mode 100644 cloudflare/lullylit_fr.tf create mode 100644 cloudflare/provider.tf create mode 100644 cloudflare/variables.tf create mode 100644 discord/.terraform.lock.hcl create mode 100644 discord/provider.tf create mode 100644 discord/server.tf create mode 100644 discord/terraform-icon.png create mode 100644 discord/variables.tf create mode 100644 github/.terraform.lock.hcl create mode 100644 github/provider.tf create mode 100644 github/repositories.tf create mode 100644 github/variables.tf create mode 100644 haproxy/.terraform.lock.hcl create mode 100644 haproxy/backend.sh create mode 100644 haproxy/frontend.tf create mode 100644 haproxy/provider.tf create mode 100644 incus/.terraform.lock.hcl create mode 100644 incus/groups.tf create mode 100644 incus/members.auto.tfvars create mode 100644 incus/network.auto.tfvars create mode 100644 incus/network.tf create mode 100644 incus/provider.tf create mode 100644 incus/variables.tf create mode 100644 ovh/.terraform.lock.hcl create mode 100644 ovh/cruxmea_fr.tf create mode 100644 ovh/gugod_fr.tf create mode 100644 ovh/hashtagueule_fr.tf create mode 100644 ovh/htgl_fr.tf create mode 100644 ovh/lullylit_fr.tf create mode 100644 ovh/provider.tf create mode 100644 ovh/records.txt create mode 100644 ovh/scierie_org.tf create mode 100644 ovh/variables.tf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..96fd359 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +terraform.tfstate +*.backup +.terraform/ +.claude/ +creds.auto.tfvars diff --git a/cloudflare/.terraform.lock.hcl b/cloudflare/.terraform.lock.hcl new file mode 100644 index 0000000..119a54c --- /dev/null +++ b/cloudflare/.terraform.lock.hcl @@ -0,0 +1,21 @@ +# This file is maintained automatically by "tofu init". +# Manual edits may be lost in future updates. + +provider "registry.opentofu.org/cloudflare/cloudflare" { + version = "5.1.0" + hashes = [ + "h1:rAEBCOYxvUIGopSwRgGebOk2uDfqlp+A9B4pJWfiCs8=", + "zh:4abdac721beb7b552fbc273644ee66e000b76d389084d5cbd2bc09bd297301c8", + "zh:59c413fa82c30e18a4afb97ad82473b7842f8476b422a0f8c294cc39b646b083", + "zh:702f4aee9f2fdc25381a9c8ed7617106973ed80033db727ac446e4c64d16f00f", + "zh:87467a36c1ef8f34a7ebe216201757af4ad0a098995269369ffa5c601c0a7568", + "zh:8f746f59e46c210d6c33580542d5b2a94d8071a3a9435f0771f524d0e2fdc731", + "zh:a9ce5ac0d5df8d94c32149434da27ac19d9aa0ba6d5dee86ea0f357a2e54b40f", + "zh:afc8377f6fdb7cb9dd436ff42479257ddcb14c1d7ecee5b57390ba1c6a8fa878", + "zh:d13d757fca7978f18a118b47c219bcdee5e055fd21a5bfec4ce8b4e28941e60b", + "zh:d5810ad8e4ab3d5a4cfa6696a254426a22f0928e23f87c46a186d71193a304f0", + "zh:d7e2459db89150b79870117dfb6f324b586b547ca91a935003c2be33305317fc", + "zh:f46c380238b40b34ef32db185c5582ce6e173637c75e88d305e58d41e24df72b", + "zh:f809ab383cca0a5f83072981c64208cbd7fa67e986a86ee02dd2c82333221e32", + ] +} diff --git a/cloudflare/account.tf b/cloudflare/account.tf new file mode 100644 index 0000000..4f3abb4 --- /dev/null +++ b/cloudflare/account.tf @@ -0,0 +1,7 @@ +resource "cloudflare_account" "account_raspbeguy" { + name = "espace de raspbeguy" + type = "standard" + settings = { + default_nameservers = "cloudflare.standard" + } +} diff --git a/cloudflare/cruxmea_fr.tf b/cloudflare/cruxmea_fr.tf new file mode 100644 index 0000000..e3acbba --- /dev/null +++ b/cloudflare/cruxmea_fr.tf @@ -0,0 +1,18 @@ +resource "cloudflare_zone" "zone_cruxmea_fr" { + name = "cruxmea.fr" + type = "full" + account = { + id = cloudflare_account.account_raspbeguy.id + } +} + +resource "cloudflare_dns_record" "terraform_managed_resource_61567e661e58d0c7f82c4c3233d35a4d" { + content = "home.gugod.fr" + name = "cruxmea.fr" + proxied = true + ttl = 1 + type = "CNAME" + zone_id = cloudflare_zone.zone_cruxmea_fr.id + settings = {} +} + diff --git a/cloudflare/hashtagueule_fr.tf b/cloudflare/hashtagueule_fr.tf new file mode 100644 index 0000000..4b5641c --- /dev/null +++ b/cloudflare/hashtagueule_fr.tf @@ -0,0 +1,78 @@ +resource "cloudflare_zone" "zone_hashtagueule_fr" { + name = "hashtagueule.fr" + type = "full" + account = { + id = cloudflare_account.account_raspbeguy.id + } +} + +resource "cloudflare_dns_record" "terraform_managed_resource_3245f5a6a7f520f0887f7b2f1f1ddfa8" { + content = "cloud.gugod.fr" + name = "cloud.hashtagueule.fr" + proxied = false + ttl = 1 + type = "CNAME" + zone_id = cloudflare_zone.zone_hashtagueule_fr.id + settings = {} +} + +resource "cloudflare_dns_record" "terraform_managed_resource_27734c4f8a27de9bdd08400d3bef7594" { + content = "home.gugod.fr" + name = "hashtagueule.fr" + proxied = true + ttl = 1 + type = "CNAME" + zone_id = cloudflare_zone.zone_hashtagueule_fr.id + settings = {} +} + +resource "cloudflare_dns_record" "terraform_managed_resource_cc8da3d037c3bad59075130ab1d3bdbe" { + content = "home.gugod.fr" + name = "hook.hashtagueule.fr" + proxied = false + ttl = 1 + type = "CNAME" + zone_id = cloudflare_zone.zone_hashtagueule_fr.id + settings = {} +} + +resource "cloudflare_dns_record" "terraform_managed_resource_b36f5f48d43425b6e167fec620282516" { + content = "mta-gw.infomaniak.ch" + name = "hashtagueule.fr" + priority = 5 + proxied = false + ttl = 1 + type = "MX" + zone_id = cloudflare_zone.zone_hashtagueule_fr.id + settings = {} +} + +resource "cloudflare_dns_record" "terraform_managed_resource_1260d4a0920440ff74d3f7da3f781750" { + content = "\"v=DKIM1; t=s; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2ZafyrkNlgPzYXYLDm7rhG2lfu5OeuYVvHmuAx6GUFQSti4NfsWMqiemTIR6EIZsCYTjejFJ+Rq6hkj0L1INY045Na9vtmmmwpG90H9MUyfR1tU2jor+H4eo7VBT0UhNMCidCBaYUi2QxRIXSO85RG8CyN6ipruyeaCMP/yifaj/Ot+5fpJpBj0ZKQG4VqchQv7\" \"tcgv/J0g3pA9lmt/c4nrpvHO77ngftpI/d8CKEdX6c/O4FrM5B5JmqvHEo7oscPSjioRuv7gsAkMMcWU3Ti0xLYnpq271iI8jzzNfmwrVEblT8nHxahtSxHIw8I4OQg0I7mVKu0KHr2DYoXbvTwIDAQAB\"" + name = "20250112._domainkey.hashtagueule.fr" + proxied = false + ttl = 1 + type = "TXT" + zone_id = cloudflare_zone.zone_hashtagueule_fr.id + settings = {} +} + +resource "cloudflare_dns_record" "terraform_managed_resource_c1622bf79efd7a1bb11cb614ca422cc5" { + content = "v=DMARC1; p=none; rua=mailto:dmarc@gugod.fr; ruf=mailto:dmarc@gugod.fr" + name = "_dmarc.hashtagueule.fr" + proxied = false + ttl = 1 + type = "TXT" + zone_id = cloudflare_zone.zone_hashtagueule_fr.id + settings = {} +} + +resource "cloudflare_dns_record" "hashtagueule_spf" { + content = "v=spf1 include:spf.infomaniak.ch -all" + name = "hashtagueule.fr" + proxied = false + ttl = 1 + type = "TXT" + zone_id = cloudflare_zone.zone_hashtagueule_fr.id + settings = {} +} diff --git a/cloudflare/lullylit_fr.tf b/cloudflare/lullylit_fr.tf new file mode 100644 index 0000000..58a0b43 --- /dev/null +++ b/cloudflare/lullylit_fr.tf @@ -0,0 +1,28 @@ +resource "cloudflare_zone" "zone_lullylit_fr" { + name = "lullylit.fr" + type = "full" + account = { + id = cloudflare_account.account_raspbeguy.id + } +} + +resource "cloudflare_dns_record" "terraform_managed_resource_9aa3eacf93816a0fc2fe961a7e5c20cd" { + content = "home.gugod.fr" + name = "content.lullylit.fr" + proxied = false + ttl = 1 + type = "CNAME" + zone_id = cloudflare_zone.zone_lullylit_fr.id + settings = {} +} + +resource "cloudflare_dns_record" "terraform_managed_resource_42a6fc51568604b969a04365d4dda39a" { + content = "home.gugod.fr" + name = "lullylit.fr" + proxied = true + ttl = 1 + type = "CNAME" + zone_id = cloudflare_zone.zone_lullylit_fr.id + settings = {} +} + diff --git a/cloudflare/provider.tf b/cloudflare/provider.tf new file mode 100644 index 0000000..01e9210 --- /dev/null +++ b/cloudflare/provider.tf @@ -0,0 +1,12 @@ +terraform { + required_providers { + cloudflare = { + source = "cloudflare/cloudflare" + } + } +} + +provider "cloudflare" { + api_key = var.cf_api_key + email = var.cf_email +} diff --git a/cloudflare/variables.tf b/cloudflare/variables.tf new file mode 100644 index 0000000..abe70c6 --- /dev/null +++ b/cloudflare/variables.tf @@ -0,0 +1,7 @@ +variable cf_api_key { + type = string +} + +variable cf_email { + type = string +} diff --git a/discord/.terraform.lock.hcl b/discord/.terraform.lock.hcl new file mode 100644 index 0000000..0d88472 --- /dev/null +++ b/discord/.terraform.lock.hcl @@ -0,0 +1,17 @@ +# This file is maintained automatically by "tofu init". +# Manual edits may be lost in future updates. + +provider "registry.opentofu.org/lucky3028/discord" { + version = "2.2.1" + hashes = [ + "h1:3sFFJ1JISV02djpBKOy4PMVOUIewQlIyNy+iiWHRj7Q=", + "zh:032f762350f41a971fa63270e3ec35cb33a504906cf568f4f191f9df56757263", + "zh:0aad54fbc548643e55c821ff1776a398ee2286fbfcf1da76c41cba4f02bd2ae9", + "zh:0c28ffa47c8c3f0b758a7e73db5a7d96db8d8d19e9b02fcb73bb9563330a013d", + "zh:1265a65935ca971aa4f0db030a85264108c964824de9001382b38922095c2ce1", + "zh:1396368f624e6d431da4f29b92ad4d7e9ec475f0b96e7a19541d4cbd2e343127", + "zh:3f40089f3c8ca5ff53ca8df0f05fd09f4c97e29b4337901faed3c7a9861e22ee", + "zh:77d30ee7203bd644d7f450b565821ee73c68c6f44fe31c3b2e8ca2fb8a8e4345", + "zh:db12227cacbbd1c7f974bc15cd5a36e35d9eb16d9f3fba2c647c37fc98958234", + ] +} diff --git a/discord/provider.tf b/discord/provider.tf new file mode 100644 index 0000000..9877c7a --- /dev/null +++ b/discord/provider.tf @@ -0,0 +1,11 @@ +terraform { + required_providers { + discord = { + source = "Lucky3028/discord" + } + } +} + +provider "discord" { + token = var.discord_token +} diff --git a/discord/server.tf b/discord/server.tf new file mode 100644 index 0000000..2720317 --- /dev/null +++ b/discord/server.tf @@ -0,0 +1,47 @@ +data "discord_local_image" "logo" { + file = "terraform-icon.png" +} + +resource "discord_server" "terraform_playground" { + name = "Terraform Playground" + region = "rotterdam" + default_message_notifications = 0 + icon_data_uri = data.discord_local_image.logo.data_uri +} + +resource "discord_category_channel" "chatting" { + name = "Chatting" + server_id = discord_server.terraform_playground.id + position = 0 +} + +resource "discord_text_channel" "general" { + name = "general" + category = discord_category_channel.chatting.id + server_id = discord_server.terraform_playground.id + position = 0 +} + +resource "discord_message" "hello_world" { + channel_id = discord_text_channel.general.id + + embed { + title = "Hello World" + + footer { + text = "Bye World" + } + + fields { + name = "foo" + value = "bar" + inline = true + } + + fields { + name = "bar" + value = "baz" + inline = false + } + } +} diff --git a/discord/terraform-icon.png b/discord/terraform-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9a79832d98ed55c895e88bc78f1e0404eba496a9 GIT binary patch literal 32964 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 TXuKXq#CC1ly|u{3>-+x!l%}?D literal 0 HcmV?d00001 diff --git a/discord/variables.tf b/discord/variables.tf new file mode 100644 index 0000000..d2d2eae --- /dev/null +++ b/discord/variables.tf @@ -0,0 +1,4 @@ +variable discord_token { + type = string + sensitive = true +} diff --git a/github/.terraform.lock.hcl b/github/.terraform.lock.hcl new file mode 100644 index 0000000..106a9cc --- /dev/null +++ b/github/.terraform.lock.hcl @@ -0,0 +1,24 @@ +# This file is maintained automatically by "tofu init". +# Manual edits may be lost in future updates. + +provider "registry.opentofu.org/integrations/github" { + version = "6.8.3" + hashes = [ + "h1:LnpUTEWVHV5GToNxS239VLFPXWw2Hhe21/GuUTKhR9o=", + "zh:0795635834c762371aae1748f68d17db778918f48a630c69e673e0339edc0869", + "zh:191649a4ca68b8c5235712247b9ae05b16123e912c8e0f875267df68fda64452", + "zh:3a5260d0af06c37a346e9397f7563e03247c99906b4d2df9d615ab72a6a2dde1", + "zh:57b5f57e45a84124780ebc5b2ffb40926a513dfdd45193eab137634c765db5b0", + "zh:639568914b977203fa3f94dc55c256022f800daaaeb66084e01302cffda9d933", + "zh:8976e4963db88a5ad8209f0422754f2aa75220f12123228804cc97169f701ee0", + "zh:971e1021c45ab06caa966030494957c0e87bd9e30cd8358e41aaf8c120352186", + "zh:9e379ed9235f5dadb4c5b625016a474961d39fba5753a3155f3dda56446f0ec2", + "zh:a50e5e02cd99479d8bc9b06c428b610562986931ba258b45c09f2dec76711086", + "zh:b421552318952b2fa30ef30b4279b56620bddef65d11cbda1cfa123be5a3bf9c", + "zh:bc8bf3a88b9daaca1ce1e5b3e59be8ae0be504f111106094de791e19e0e49c9d", + "zh:d3f9b1d8ed5a58a8e22aa20e3d76dc7afe83f648a41ff996e445de0c6a1f13cc", + "zh:dc55d47cb73f633e9f5d4ebcfba1a2212b6e83fcb7a6c7487606324053a2943f", + "zh:dfc8e85505e3ce90673b460833e94d935142145b79265912c3c805d8de12c4f2", + "zh:fbd1fee2c9df3aa19cf8851ce134dea6e45ea01cb85695c1726670c285797e25", + ] +} diff --git a/github/provider.tf b/github/provider.tf new file mode 100644 index 0000000..56bda96 --- /dev/null +++ b/github/provider.tf @@ -0,0 +1,12 @@ +terraform { + required_providers { + github = { + source = "integrations/github" + } + } +} + +# Configure the GitHub Provider +provider "github" { + token = var.gh_token +} diff --git a/github/repositories.tf b/github/repositories.tf new file mode 100644 index 0000000..00a8f18 --- /dev/null +++ b/github/repositories.tf @@ -0,0 +1,43 @@ +resource "github_repository" "osm-blame" { + allow_auto_merge = false + allow_merge_commit = true + allow_rebase_merge = true + allow_squash_merge = true + allow_update_branch = false + archive_on_destroy = null + archived = false + auto_init = false + delete_branch_on_merge = false + description = "CLI tool inspired by git blame to determine the last modification tag by tag for an OSM element" + etag = "W/\"4fd676b7eb39a4b737792e7d6f70b95ba4515c3b81eafdd968fb229c7db5f316\"" + fork = false + gitignore_template = null + has_discussions = false + has_downloads = true + has_issues = true + has_projects = true + has_wiki = true + homepage_url = "" + ignore_vulnerability_alerts_during_read = null + is_template = false + license_template = null + merge_commit_message = "PR_TITLE" + merge_commit_title = "MERGE_MESSAGE" + name = "osm-blame" + source_owner = "" + source_repo = "" + squash_merge_commit_message = "COMMIT_MESSAGES" + squash_merge_commit_title = "COMMIT_OR_PR_TITLE" + topics = ["openstreetmap", "openstreetmap-api", "osm"] + visibility = "public" + vulnerability_alerts = false + web_commit_signoff_required = false + security_and_analysis { + secret_scanning { + status = "disabled" + } + secret_scanning_push_protection { + status = "disabled" + } + } +} diff --git a/github/variables.tf b/github/variables.tf new file mode 100644 index 0000000..5801f4d --- /dev/null +++ b/github/variables.tf @@ -0,0 +1,4 @@ +variable gh_token { + type = string + sensitive = true +} diff --git a/haproxy/.terraform.lock.hcl b/haproxy/.terraform.lock.hcl new file mode 100644 index 0000000..ed06795 --- /dev/null +++ b/haproxy/.terraform.lock.hcl @@ -0,0 +1,24 @@ +# This file is maintained automatically by "tofu init". +# Manual edits may be lost in future updates. + +provider "registry.opentofu.org/sepehrimanian/haproxy" { + version = "0.0.7" + hashes = [ + "h1:o/0hi5No8Bs2ph5fEDoZXVTb3iPOy+o5FJMag85hrF0=", + "zh:27de01566ffe8bcab684fec9d9c5cca8eb3a8d6f3067e486f4a3dc989ac34e91", + "zh:31037353d5c83068ccad37bc87fe9fe033d82f3b580d7657a7145c5174bddf4d", + "zh:44bcd7edd8a88ddfc3db123818580fbc0804fa2d27e296624c0c3ef7a3f64320", + "zh:514ccac64b019167c324f4fd067b14ffeb657975c011c942cfd788af3ce47718", + "zh:6fb93731af08bf1f51b49995650088a1be42c0a27d3d50c893fe3f26b1abace8", + "zh:75bd809ab395e89961e2c7fa296ada101b6d00137ca348bb49f1e68b93b66662", + "zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f", + "zh:89c1869e447f5cb6bba643614a883a0f77a044e4fa517c9736d027b3f6c18e4a", + "zh:89d435b3749051cbcb1b582e83aae38c245fc2df0fa7449c1054c9611dd1318f", + "zh:94535d4d2e74610924b6acd5a03882b48093469ea5ef45193f9dbcbfdec7e255", + "zh:9dbe38c5b503e2c520427fd3608e10b91c342f96ef4bf76241cabd6a5f9006e1", + "zh:cd407fe7d6cf9e96e3962742757c9cb0f813e551856360c3ad5397984689865c", + "zh:e328fd431719f65f8d2bdb0ba720abb6fb50d08abf1d694fcde23ab7bcc17fd8", + "zh:f22f75dbe2667c85d3a49d54b0d4160a71151326e09327140e1eb9da953cf31d", + "zh:fd9d13134da972dfa8d8728294fada24c40704bfadec99d257e3d882ce5c00bb", + ] +} diff --git a/haproxy/backend.sh b/haproxy/backend.sh new file mode 100644 index 0000000..dedac45 --- /dev/null +++ b/haproxy/backend.sh @@ -0,0 +1,18 @@ +curl -X POST \ + --user admin:adminpwd \ + -H "Content-Type: application/json" \ + -d '{ + "name": "lololo", + "mode": "http", + "balance": { + "algorithm": "roundrobin" + }, + "default_server": { + "alpn": "h2", + "check": "enabled", + "check_alpn": "h2", + "maxconn": 30, + "weight": 100 + } + }' \ + "http://192.168.0.200:8080/v3/services/haproxy/configuration/backends?version=$CFGVER" diff --git a/haproxy/frontend.tf b/haproxy/frontend.tf new file mode 100644 index 0000000..5ca8ca2 --- /dev/null +++ b/haproxy/frontend.tf @@ -0,0 +1,44 @@ +resource "haproxy_backend" "backend_tf_test" { + name = "backend_tf_test" + mode = "http" + + balance { + algorithm = "roundrobin" + } + + httpchk_params { + uri = "/health" + version = "HTTP/1.1" + method = "GET" + } + + forwardfor { + enabled = true + } +} + +resource "haproxy_frontend" "front_tf_test" { + name = "front_tf_test" + backend = haproxy_backend.backend_tf_test.name + mode = "http" + + compression { + algorithms = ["gzip", "identity"] + offload = true + types = ["text/html", "text/plain", "text/css", "application/javascript"] + } + + forwardfor { + enabled = true + header = "X-Forwarded-For" + ifnone = true + } +} + +resource "haproxy_bind" "bind_tf_test" { + name = "bind_test" + port = 8888 + address = "0.0.0.0" + parent_name = haproxy_frontend.front_tf_test.name + parent_type = "frontend" +} diff --git a/haproxy/provider.tf b/haproxy/provider.tf new file mode 100644 index 0000000..dbaadf6 --- /dev/null +++ b/haproxy/provider.tf @@ -0,0 +1,13 @@ +terraform { + required_providers { + haproxy = { + source = "SepehrImanian/haproxy" + } + } +} + +provider "haproxy" { + url = "http://192.168.0.130:8080" + username = "admin" + password = "adminpwd" +} diff --git a/incus/.terraform.lock.hcl b/incus/.terraform.lock.hcl new file mode 100644 index 0000000..19146a3 --- /dev/null +++ b/incus/.terraform.lock.hcl @@ -0,0 +1,22 @@ +# This file is maintained automatically by "tofu init". +# Manual edits may be lost in future updates. + +provider "registry.opentofu.org/lxc/incus" { + version = "1.0.2" + hashes = [ + "h1:skSyqJPnvwhbfSrmVVY05I/js7qvX8T8Cd182tnTetc=", + "zh:0f312afd0bc27c111c5b4e41b6274dfe4401c3b5c60e4bd519425c547c5c2316", + "zh:396587c30adce1b57400ecf1a43df8d4fcbdf5172e3e359f58f7147520891546", + "zh:40310405f58493af0e68b1040d62286cd5e6d25b96b5e2d1534d155a98375eba", + "zh:4991adf7f290ffc840a1123b300163b8db25a6c4b096648c7b576a6661980ed5", + "zh:5d71a5c949a5ad01d075f856475e7de95df16b50d52e546a2257e5c56bfa9150", + "zh:60e5fde27aa605abab8487d6ed8a8bb66de88f5e1ba31bb05364b4379fde5f83", + "zh:63f9b65382bcb88efd0d9aa8422987405fcf00d4f5b63fbe1ae030438fb55eb7", + "zh:79acebe8ed9627dffc369058e54bbb933b5568fee02de3cc353274d728c07597", + "zh:97170106b7520d7c025ccfe392a0b7c2d172e63f00f656989b08d0b6ece56573", + "zh:9c8fc5d4b26dc21e6d75d6ac127502a797d7e9253bd10b236914db51fa1fc4d7", + "zh:b2b8cabdfa681efffa3599468257b185f7a7e24ec6e624e57f75920aa1e7c134", + "zh:d32129503b83790752482e0d794ffb9b04f7a893cc113d834654a8ddb028402f", + "zh:ebd2fb8d94d72bc28c5655c29c6e6048cc31ef3650d0e166aaf3d82a31673cd5", + ] +} diff --git a/incus/groups.tf b/incus/groups.tf new file mode 100644 index 0000000..ee6dc90 --- /dev/null +++ b/incus/groups.tf @@ -0,0 +1,21 @@ +resource "incus_cluster_group" "default" { + name = "default" + description = "Default cluster group" +} + +resource "incus_cluster_group_member" "hypervisor" { + for_each = var.incus_hypervisors + cluster_group = incus_cluster_group.default.name + member = each.key +} + +resource "incus_cluster_group" "witness" { + name = "witness" + description = "Inactive hosts only for keeping database quorum" +} + +resource "incus_cluster_group_member" "witness" { + for_each = var.incus_witnesses + cluster_group = incus_cluster_group.witness.name + member = each.key +} diff --git a/incus/members.auto.tfvars b/incus/members.auto.tfvars new file mode 100644 index 0000000..659e995 --- /dev/null +++ b/incus/members.auto.tfvars @@ -0,0 +1,10 @@ +incus_hypervisors = { + "hv-01" = "https://192.168.0.11:8443" + "hv-02" = "https://192.168.0.12:8443" +} + +incus_witnesses = { + "nuc" = "https://192.168.0.11:8443" +} + +incus_token = "eyJjbGllbnRfbmFtZSI6InRmIiwiZmluZ2VycHJpbnQiOiIxYjNmZGJmNTNlZTdlODc4NDllY2RiNTkyYzNkYTRkYmE0M2I3Mjg1OTFlYTAxYmE1NTNkZGRmYzJjNTBjNWMzIiwiYWRkcmVzc2VzIjpbIjE5Mi4xNjguMC4xMTo4NDQzIl0sInNlY3JldCI6IjAzNzFmMTdjMDc1OGU2ZmU5ZGJjNTkwZmNhYTAzOTllYWJkMDY3N2E4ODIzMGY1ZjkyYzdlNjNlYmMyYmU0NDQiLCJleHBpcmVzX2F0IjoiMDAwMS0wMS0wMVQwMDowMDowMFoifQ==" diff --git a/incus/network.auto.tfvars b/incus/network.auto.tfvars new file mode 100644 index 0000000..8c529b3 --- /dev/null +++ b/incus/network.auto.tfvars @@ -0,0 +1,3 @@ +incus_networks = { + "main" = 0 +} diff --git a/incus/network.tf b/incus/network.tf new file mode 100644 index 0000000..abf8588 --- /dev/null +++ b/incus/network.tf @@ -0,0 +1,28 @@ +resource "incus_network" "main_bridge" { + for_each = var.incus_hypervisors + name = "main" + target = each.key + type = "physical" + config = { + "parent" = "br0" + } +} + +resource "incus_network" "main_dummy" { + for_each = var.incus_witnesses + name = "main" + target = each.key + type = "physical" + config = { + "parent" = "dummy0" + } +} + +resource "incus_network" "main" { + depends_on = [ + incus_network.main_bridge, + incus_network.main_dummy + ] + name = "main" + type = "physical" +} diff --git a/incus/provider.tf b/incus/provider.tf new file mode 100644 index 0000000..4f9eea7 --- /dev/null +++ b/incus/provider.tf @@ -0,0 +1,22 @@ +terraform { + required_providers { + incus = { + source = "lxc/incus" + } + } +} + +provider "incus" { + generate_client_certificates = true + accept_remote_certificate = true + default_remote = keys(var.incus_hypervisors)[0] + + dynamic "remote" { + for_each = var.incus_hypervisors + content { + name = remote.key + address = remote.value + token = var.incus_token + } + } +} diff --git a/incus/variables.tf b/incus/variables.tf new file mode 100644 index 0000000..cd26c19 --- /dev/null +++ b/incus/variables.tf @@ -0,0 +1,17 @@ +variable "incus_hypervisors" { + type = map(string) +} + +variable "incus_witnesses" { + type = map(string) +} + +variable "incus_token" { + type = string + sensitive = true + description = "The common authentication token for all Incus remotes" +} + +variable "incus_networks" { + type = map(number) +} diff --git a/ovh/.terraform.lock.hcl b/ovh/.terraform.lock.hcl new file mode 100644 index 0000000..33040cd --- /dev/null +++ b/ovh/.terraform.lock.hcl @@ -0,0 +1,44 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.opentofu.org/ovh/ovh" { + version = "2.10.0" + hashes = [ + "h1:6CHM/tHZ7vAvQKtdqurs6ExO+46gpFooZ0zdaW74DKE=", + "zh:1582485c59b5e25fa407417de3040dfc31bfec3f9b884d51953f6625b930d2f6", + "zh:15b425716d5e05992cb1d68a49d58f0e9e0cbd7dbaa35ea9793404fa1ec45bed", + "zh:1c1547ff469c2f772d478f67d148d08b38468d43c9517b723b622a085625d949", + "zh:2491be291a8876da2dc1e71490428706cdca39002a1e89d10dd060474f59ce19", + "zh:2d9c7589764f838f04d38a87a0e6c9db6b560b6c5b510b69eabf2d67caa38d2b", + "zh:56c5b16a55dc4ac5f3eed69072e5ae74aafac2a4a8a84ba27fa06528320037cc", + "zh:629d2c7f709fc01adabba1c8b98ec7485dfebcc4b9f72f4bd4d36509166eb42c", + "zh:82f4b8b35a31a468d7a2a5aa4630f432ef64d9abfed8066afdaab0502886a72a", + "zh:84c5e65122efaee5e34c266cd750576969bd788c2bdbb804a7ffc08728ac3987", + "zh:85db08f3e1b27fda723b080bc5132069b6b7ba9699567cd44fb0a2207456a76c", + "zh:a84c043c96a01230e570163706f58c33ee59699fcc857d3db0f6e0b2a6b08bc6", + "zh:ad984516009930efc6ec465046287c6b293b6b219e3167aa4c0b900b903c6a50", + "zh:bd0114d45ec72134cf930a7619b70b0068e439759febba5717abb76219b85800", + "zh:f243a50dcf87687881972fcaba9226b4247588b6dc7368b0ef98168f643ee159", + ] +} + +provider "registry.terraform.io/ovh/ovh" { + version = "2.10.0" + hashes = [ + "h1:6CHM/tHZ7vAvQKtdqurs6ExO+46gpFooZ0zdaW74DKE=", + "zh:1582485c59b5e25fa407417de3040dfc31bfec3f9b884d51953f6625b930d2f6", + "zh:15b425716d5e05992cb1d68a49d58f0e9e0cbd7dbaa35ea9793404fa1ec45bed", + "zh:1c1547ff469c2f772d478f67d148d08b38468d43c9517b723b622a085625d949", + "zh:2491be291a8876da2dc1e71490428706cdca39002a1e89d10dd060474f59ce19", + "zh:2d9c7589764f838f04d38a87a0e6c9db6b560b6c5b510b69eabf2d67caa38d2b", + "zh:56c5b16a55dc4ac5f3eed69072e5ae74aafac2a4a8a84ba27fa06528320037cc", + "zh:629d2c7f709fc01adabba1c8b98ec7485dfebcc4b9f72f4bd4d36509166eb42c", + "zh:82f4b8b35a31a468d7a2a5aa4630f432ef64d9abfed8066afdaab0502886a72a", + "zh:84c5e65122efaee5e34c266cd750576969bd788c2bdbb804a7ffc08728ac3987", + "zh:85db08f3e1b27fda723b080bc5132069b6b7ba9699567cd44fb0a2207456a76c", + "zh:a84c043c96a01230e570163706f58c33ee59699fcc857d3db0f6e0b2a6b08bc6", + "zh:ad984516009930efc6ec465046287c6b293b6b219e3167aa4c0b900b903c6a50", + "zh:bd0114d45ec72134cf930a7619b70b0068e439759febba5717abb76219b85800", + "zh:f243a50dcf87687881972fcaba9226b4247588b6dc7368b0ef98168f643ee159", + ] +} diff --git a/ovh/cruxmea_fr.tf b/ovh/cruxmea_fr.tf new file mode 100644 index 0000000..e6e916a --- /dev/null +++ b/ovh/cruxmea_fr.tf @@ -0,0 +1,3 @@ +resource "ovh_domain_zone" "cruxmea_fr" { + ovh_subsidiary = null +} diff --git a/ovh/gugod_fr.tf b/ovh/gugod_fr.tf new file mode 100644 index 0000000..9f0e025 --- /dev/null +++ b/ovh/gugod_fr.tf @@ -0,0 +1,699 @@ +resource "ovh_domain_zone" "gugod_fr" { + ovh_subsidiary = null +} + +resource "ovh_domain_zone_record" "record_5369243950" { + fieldtype = "CNAME" + subdomain = "jacksparrow" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243967" { + fieldtype = "CNAME" + subdomain = "obsdstack" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243920" { + fieldtype = "A" + subdomain = "blackbeard" + target = "66.70.129.156" + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243973" { + fieldtype = "CNAME" + subdomain = "redmine-gw" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243988" { + fieldtype = "CNAME" + subdomain = "webmail" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243930" { + fieldtype = "CNAME" + subdomain = "coloc" + target = "home.gugod.fr." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243910" { + fieldtype = "SPF" + subdomain = "" + target = "v=spf1 include:_spf.mailersend.net include:spf.infomaniak.ch a:home.gugod.fr ip6:2a01:e0a:2d8:911::/64 -all" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243979" { + fieldtype = "CNAME" + subdomain = "shashin" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243943" { + fieldtype = "CNAME" + subdomain = "genealogie" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243990" { + fieldtype = "CNAME" + subdomain = "xmppupload" + target = "home.gugod.fr." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243959" { + fieldtype = "CNAME" + subdomain = "mlsend2._domainkey" + target = "mlsend2._domainkey.mailersend.net." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243966" { + fieldtype = "CNAME" + subdomain = "notify" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243955" { + fieldtype = "A" + subdomain = "mail" + target = "51.68.81.82" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243937" { + fieldtype = "CNAME" + subdomain = "dovecot" + target = "mail.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243977" { + fieldtype = "CNAME" + subdomain = "rss-bridge" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243921" { + fieldtype = "AAAA" + subdomain = "blackbeard" + target = "2607:5300:120:69b::156" + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243983" { + fieldtype = "CNAME" + subdomain = "syncv3" + target = "home.gugod.fr." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243912" { + fieldtype = "SRV" + subdomain = "_matrix-fed._tcp" + target = "10 0 443 matrix" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243991" { + fieldtype = "NS" + subdomain = "" + target = "ns12.ovh.net." + ttl = 0 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243970" { + fieldtype = "CNAME" + subdomain = "podcast" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243911" { + fieldtype = "DMARC" + subdomain = "_dmarc" + target = "v=DMARC1; p=reject; rua=mailto:dmarc@gugod.fr; ruf=mailto:dmarc@gugod.fr; fo=1; pct=100; adkim=s; aspf=s" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243963" { + fieldtype = "CNAME" + subdomain = "nas" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243956" { + fieldtype = "AAAA" + subdomain = "mail" + target = "2001:41d0:404:100::697" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243948" { + fieldtype = "CNAME" + subdomain = "hooks" + target = "home.gugod.fr." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243951" { + fieldtype = "CNAME" + subdomain = "kuma.am" + target = "automario.eu." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243957" { + fieldtype = "CNAME" + subdomain = "mailsersend" + target = "mailersend.net." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243919" { + fieldtype = "CNAME" + subdomain = "barbossa" + target = "home.gugod.fr." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243934" { + fieldtype = "AAAA" + subdomain = "dav" + target = "2a01:e34:ec12:8880:dad3:85ff:fe78:d2c2" + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243928" { + fieldtype = "CNAME" + subdomain = "cigalpine" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243978" { + fieldtype = "CNAME" + subdomain = "s862686._domainkey" + target = "dkim.smtp2go.net." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243931" { + fieldtype = "CNAME" + subdomain = "conference" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243929" { + fieldtype = "CNAME" + subdomain = "cloud" + target = "home.gugod.fr." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243954" { + fieldtype = "CNAME" + subdomain = "livres" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243947" { + fieldtype = "DKIM" + subdomain = "home20250113._domainkey" + target = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx8UiFWGqDkiOFxOIsLAo/CYa5abKUrxW1zyd4SmNa1yAuGyEpjU2cLCT0gkKCvpXh0/rFtHEzCibsGBbek2lk5RkNCI+WBJyRAfXQS1xfKocljYlwFbGsftWQaIZOSjnLBcK9dExkDXII98MN5OA2PMqc9X2rT99kd7BwQOR1YbmumK8LBQZsn+J2GHf5XKd30OBkNzuHiwJ7rvAODYiUF7ci7zoglH5gN4VOnxIJM+uPunC4U/7PBafWFzjeTQj1ydfDI76xL6dnqJCftXsq/H+G7xgN5oj5VEIPAOzb9pqApq1hF2f5cvpJ7GsbrkPJj3OqnIiINfCsZdZVIMy7wIDAQAB" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243961" { + fieldtype = "A" + subdomain = "music" + target = "142.4.213.24" + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243987" { + fieldtype = "CNAME" + subdomain = "users" + target = "home.gugod.fr." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243989" { + fieldtype = "CNAME" + subdomain = "webmail2" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243962" { + fieldtype = "AAAA" + subdomain = "music" + target = "2607:5300:60:1218::1" + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243953" { + fieldtype = "CNAME" + subdomain = "link" + target = "track.smtp2go.net." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243925" { + fieldtype = "AAAA" + subdomain = "build" + target = "2607:5300:120:69b::159" + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243941" { + fieldtype = "AAAA" + subdomain = "eri" + target = "2607:5300:120:69b::155" + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243935" { + fieldtype = "DKIM" + subdomain = "default._domainkey" + target = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5jCy5qzDyQ35kbBXwXes1Hpjplsj75/Bm5I2u8JpGCous4O8TZpE6Z0g72iw1QBSxR+WQ4kyv0JRF27GgXMqlTwkioA38bfdxLPuLQQthhEK2y7itcH+cdzIC11R45AP8yF2dQ5m29XsaVos8CwUnMjmYALc/mPU3iYjPXQ+J+9KXNevaz47IpJ0ZEtgiScQw3WVrxi5G9XYkNNcydhScPHaVr0jrHJzQZ3zlC4BQA2rKM/N6hfEWankDX2vuSs3ff1TaZSYEI02JyNNOAPvp1jysFtuktxDyPsP183LeJoIKMuP3IwUjNWLlkN/FOy8bafQmZ7NtzuqMx2sqyfFhQIDAQAB" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243946" { + fieldtype = "A" + subdomain = "home" + target = "82.66.151.23" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243985" { + fieldtype = "CNAME" + subdomain = "ttrss" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243974" { + fieldtype = "CNAME" + subdomain = "rspamd" + target = "mail.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243908" { + fieldtype = "A" + subdomain = "" + target = "82.66.151.23" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243939" { + fieldtype = "CNAME" + subdomain = "em862686" + target = "return.smtp2go.net." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243913" { + fieldtype = "SRV" + subdomain = "_matrix._tcp" + target = "10 0 443 matrix" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243936" { + fieldtype = "CNAME" + subdomain = "domo" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243927" { + fieldtype = "CNAME" + subdomain = "cicd" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243958" { + fieldtype = "A" + subdomain = "matrix" + target = "82.66.151.23" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243968" { + fieldtype = "DKIM" + subdomain = "pci._domainkey" + target = "v=DKIM1; k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1f2oI/je8A2mS/E0oUBttjof32q1AP6g9mB7egf/5OGlrRDWERKXUPygXv32K3c0p121dpA37Th6f8bSgKcYTKzKd8FPT7/N8jtHFPdPttpsfqQ/F/aYxzQx5YC5Os7ghnNT/5VzpQT6n/G+rrlNFiSs7WrfsbqRufaZoYgTS6wIDAQAB" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243949" { + fieldtype = "CNAME" + subdomain = "intendance" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243915" { + fieldtype = "SRV" + subdomain = "_xmpp-server._tcp" + target = "5 0 5269 home" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243917" { + fieldtype = "CNAME" + subdomain = "autoconfig" + target = "infomaniak.com." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243924" { + fieldtype = "A" + subdomain = "build" + target = "66.70.129.159" + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243933" { + fieldtype = "A" + subdomain = "dav" + target = "78.193.40.136" + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243916" { + fieldtype = "A" + subdomain = "amd64.oci" + target = "141.145.196.50" + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243909" { + fieldtype = "MX" + subdomain = "" + target = "5 mta-gw.infomaniak.ch." + ttl = 500 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243975" { + fieldtype = "A" + subdomain = "rss" + target = "142.4.213.24" + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243952" { + fieldtype = "CNAME" + subdomain = "lemmy" + target = "home.gugod.fr." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243981" { + fieldtype = "AAAA" + subdomain = "sondage" + target = "2607:5300:120:69b::156" + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243945" { + fieldtype = "CNAME" + subdomain = "git" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243964" { + fieldtype = "CNAME" + subdomain = "noel" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243942" { + fieldtype = "CNAME" + subdomain = "forge" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243969" { + fieldtype = "CNAME" + subdomain = "pluriel" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243932" { + fieldtype = "CNAME" + subdomain = "cuisine" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243980" { + fieldtype = "CNAME" + subdomain = "social" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243972" { + fieldtype = "CNAME" + subdomain = "rackham" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243960" { + fieldtype = "CNAME" + subdomain = "mumble" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243992" { + fieldtype = "NS" + subdomain = "" + target = "dns12.ovh.net." + ttl = 0 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243971" { + fieldtype = "CNAME" + subdomain = "pubsub" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243982" { + fieldtype = "CNAME" + subdomain = "static" + target = "home.gugod.fr." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243938" { + fieldtype = "CNAME" + subdomain = "element" + target = "home.gugod.fr." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243923" { + fieldtype = "CNAME" + subdomain = "budget" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243926" { + fieldtype = "DKIM" + subdomain = "chsqdtest._domainkey" + target = "v=DKIM1; k=rsa; p=MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAt4QnvHjOeI+diiGDyF8Osz2fRxffGtomhKXPniVhYJ5izvcDkeRntKgn6mv5Abva120YO7oR1BcC0gtkAE0e93NUNZqmubIR7dgjfIR+m2JdceX5hiiyyhRsADfpsujUMfqsfYgjL42ou2gm1qsLBGloztIDd55WPVCR0fmHfgJvXtB19wR6ftIkel1baTG8h7lLhybZQ1+J+uCDrxzUZl5okxTEudwURWZTdwU0SGo7km1/v6ki/Nu1S08uOxrinedKocwdszTNP9tW3yPXJSuq71aHPPta4nFIthEFs1/7pPph+kne9hgGD0Q0b4mumMV1XHAlhKGyGcrJRKm8ABw2gjbYlUcVrn9GZwosrJs/jiFtLj7VEVZzU6Bwdtft2kGbyNmyWr9R71G+L3dYs6gi4hnnJXIK8cVfRHbNl0ItdQL6t8Yvcrh0qpNuiCcj4IRepr9yQ0CfzLfWbtudQi+z7VIWxdHMR6bYR9vpVdHbGeQ7MLeHNhvbYLnvyftjAgMBAAE=" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243986" { + fieldtype = "CNAME" + subdomain = "turn" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243976" { + fieldtype = "AAAA" + subdomain = "rss" + target = "2607:5300:60:1218::1" + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243940" { + fieldtype = "A" + subdomain = "eri" + target = "66.70.129.155" + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243914" { + fieldtype = "SRV" + subdomain = "_xmpp-client._tcp" + target = "5 0 5222 home" + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243944" { + fieldtype = "CNAME" + subdomain = "genrss" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243984" { + fieldtype = "CNAME" + subdomain = "trac" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5373948812" { + fieldtype = "TXT" + subdomain = "20250112._domainkey" + target = "\"v=DKIM1; t=s; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwXagsnezkcBvrst35dd9B8GD5BuzqA8txiyTv3lvMOiykMd0J2XrDd7N3iWiygubFkMTZt6WhPv73hbL4T1iv7C6uE8NUVPJBtI0r3+XbJVnLKQiBmYWUGU6DIBacbYLhgNPwTQrJ8sF72qhzkCzn1kmhfYasxHT5JVtwAe9MpNx7Fx8zKMxkcPRc2oVX0Kcn9CeYxA3BxJSr4jkjzyLd+JUAO9gky+TcnYHPTn8ZodApIopztCS1Ffc4I7rSe4+gvXCaRl+ZhMbKYpXCUqONzFXURRoJiVeWMTN9l0N4kHQQfSp9NZZceKhNcbi9QCWT6qvh/RKRyLxvUmFcssHFwIDAQAB\"" + ttl = 0 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243965" { + fieldtype = "CNAME" + subdomain = "noel-forum" + target = "home.gugod.fr." + ttl = 10800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243922" { + fieldtype = "CNAME" + subdomain = "bt" + target = "home.gugod.fr." + ttl = 1800 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5373949161" { + fieldtype = "CNAME" + subdomain = "autodiscover" + target = "infomaniak.com." + ttl = 0 + zone = ovh_domain_zone.gugod_fr.name +} + +resource "ovh_domain_zone_record" "record_5369243918" { + fieldtype = "CNAME" + subdomain = "automation" + target = "home.gugod.fr." + ttl = 300 + zone = ovh_domain_zone.gugod_fr.name +} diff --git a/ovh/hashtagueule_fr.tf b/ovh/hashtagueule_fr.tf new file mode 100644 index 0000000..367ded0 --- /dev/null +++ b/ovh/hashtagueule_fr.tf @@ -0,0 +1,15 @@ +resource "ovh_domain_zone" "hashtagueule_fr" { + ovh_subsidiary = null +} + +resource "ovh_domain_name_servers" "name_servers" { + domain = ovh_domain_zone.hashtagueule_fr.name + + servers { + host = "james.ns.cloudflare.com" + } + + servers { + host = "kristin.ns.cloudflare.com" + } +} diff --git a/ovh/htgl_fr.tf b/ovh/htgl_fr.tf new file mode 100644 index 0000000..16c42c1 --- /dev/null +++ b/ovh/htgl_fr.tf @@ -0,0 +1,67 @@ +resource "ovh_domain_zone" "htgl_fr" { + ovh_subsidiary = null +} + +resource "ovh_domain_zone_record" "record_5352707027" { + fieldtype = "CNAME" + subdomain = "ovhmo-selector-2._domainkey" + target = "ovhmo-selector-2._domainkey.3879299.of.dkim.mail.ovh.net." + ttl = 0 + zone = ovh_domain_zone.htgl_fr.name +} + +resource "ovh_domain_zone_record" "record_5351106488" { + fieldtype = "SPF" + subdomain = "" + target = "v=spf1 include:mx.ovh.com ~all" + ttl = 0 + zone = ovh_domain_zone.htgl_fr.name +} + +resource "ovh_domain_zone_record" "record_5341803165" { + fieldtype = "NS" + subdomain = "" + target = "dns19.ovh.net." + ttl = 0 + zone = ovh_domain_zone.htgl_fr.name +} + +resource "ovh_domain_zone_record" "record_5352706980" { + fieldtype = "CNAME" + subdomain = "ovhmo-selector-1._domainkey" + target = "ovhmo-selector-1._domainkey.3879298.of.dkim.mail.ovh.net." + ttl = 0 + zone = ovh_domain_zone.htgl_fr.name +} + +resource "ovh_domain_zone_record" "record_5341803909" { + fieldtype = "MX" + subdomain = "" + target = "5 mx2.mail.ovh.net." + ttl = 0 + zone = ovh_domain_zone.htgl_fr.name +} + +resource "ovh_domain_zone_record" "record_5341803908" { + fieldtype = "MX" + subdomain = "" + target = "1 mx1.mail.ovh.net." + ttl = 0 + zone = ovh_domain_zone.htgl_fr.name +} + +resource "ovh_domain_zone_record" "record_5341803910" { + fieldtype = "MX" + subdomain = "" + target = "100 mx3.mail.ovh.net." + ttl = 0 + zone = ovh_domain_zone.htgl_fr.name +} + +resource "ovh_domain_zone_record" "record_5341803166" { + fieldtype = "NS" + subdomain = "" + target = "ns19.ovh.net." + ttl = 0 + zone = ovh_domain_zone.htgl_fr.name +} diff --git a/ovh/lullylit_fr.tf b/ovh/lullylit_fr.tf new file mode 100644 index 0000000..4490679 --- /dev/null +++ b/ovh/lullylit_fr.tf @@ -0,0 +1,3 @@ +resource "ovh_domain_zone" "lullylit_fr" { + ovh_subsidiary = null +} diff --git a/ovh/provider.tf b/ovh/provider.tf new file mode 100644 index 0000000..3c5f5ba --- /dev/null +++ b/ovh/provider.tf @@ -0,0 +1,14 @@ +terraform { + required_providers { + ovh = { + source = "ovh/ovh" + } + } +} + +provider "ovh" { + endpoint = "ovh-eu" + application_key = var.ovh_app_key + application_secret = var.ovh_app_secret + consumer_key = var.ovh_consumer_key +} diff --git a/ovh/records.txt b/ovh/records.txt new file mode 100644 index 0000000..636d8b4 --- /dev/null +++ b/ovh/records.txt @@ -0,0 +1,87 @@ +5369243908 +5369243909 +5369243910 +5369243911 +5369243912 +5369243913 +5369243914 +5369243915 +5369243916 +5369243917 +5369243918 +5369243919 +5369243920 +5369243921 +5369243922 +5369243923 +5369243924 +5369243925 +5369243926 +5369243927 +5369243928 +5369243929 +5369243930 +5369243931 +5369243932 +5369243933 +5369243934 +5369243935 +5369243936 +5369243937 +5369243938 +5369243939 +5369243940 +5369243941 +5369243942 +5369243943 +5369243944 +5369243945 +5369243946 +5369243947 +5369243948 +5369243949 +5369243950 +5369243951 +5369243952 +5369243953 +5369243954 +5369243955 +5369243956 +5369243957 +5369243958 +5369243959 +5369243960 +5369243961 +5369243962 +5369243963 +5369243964 +5369243965 +5369243966 +5369243967 +5369243968 +5369243969 +5369243970 +5369243971 +5369243972 +5369243973 +5369243974 +5369243975 +5369243976 +5369243977 +5369243978 +5369243979 +5369243980 +5369243981 +5369243982 +5369243983 +5369243984 +5369243985 +5369243986 +5369243987 +5369243988 +5369243989 +5369243990 +5369243991 +5369243992 +5373948812 +5373949161 diff --git a/ovh/scierie_org.tf b/ovh/scierie_org.tf new file mode 100644 index 0000000..1da9f9b --- /dev/null +++ b/ovh/scierie_org.tf @@ -0,0 +1,11 @@ +resource "ovh_domain_zone" "scierie_org" { + ovh_subsidiary = null +} + +resource "ovh_domain_zone_record" "website" { + fieldtype = "A" + subdomain = "@" + target = "82.66.151.23" + ttl = 300 + zone = ovh_domain_zone.scierie_org.name +} diff --git a/ovh/variables.tf b/ovh/variables.tf new file mode 100644 index 0000000..2322e20 --- /dev/null +++ b/ovh/variables.tf @@ -0,0 +1,14 @@ +variable ovh_app_key { + type = string + sensitive = true +} + +variable ovh_app_secret { + type = string + sensitive = true +} + +variable ovh_consumer_key { + type = string + sensitive = true +}