diff --git a/infra/_modules/nixos/flake.nix b/infra/_modules/nixos/flake.nix index 8dba93c..8da8e16 100644 --- a/infra/_modules/nixos/flake.nix +++ b/infra/_modules/nixos/flake.nix @@ -23,7 +23,7 @@ ]; }; kube-1 = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; + system = "aarch64-linux"; modules = [ disko.nixosModules.disko sops-nix.nixosModules.sops @@ -34,7 +34,7 @@ { networking.hostName = "kube-1"; systemd.network.networks."30-wan" = { - matchConfig.Name = "ens18"; + matchConfig.Name = "enp1s0"; networkConfig.DHCP = "ipv4"; address = [ hosts.kube-1.ipv6_address @@ -52,95 +52,6 @@ } ]; }; - kube-2 = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - disko.nixosModules.disko - sops-nix.nixosModules.sops - ./configuration.nix - ./disks.nix - ./profiles/k3s-server.nix - ./profiles/k3s-addons.nix - { - networking.hostName = "kube-2"; - systemd.network.networks."30-wan" = { - matchConfig.Name = "ens18"; - networkConfig.DHCP = "ipv4"; - address = [ - hosts.kube-2.ipv6_address - ]; - routes = [ - { Gateway = "fe80::1"; } - ]; - }; - services.k3s = { - serverAddr = "https://[${hosts.kube-1.ipv6_address}]:6443"; - extraFlags = nixpkgs.lib.mkAfter [ - "--node-external-ip=${hosts.kube-2.ipv6_address}" - ]; - }; - } - ]; - }; - kube-3 = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - disko.nixosModules.disko - sops-nix.nixosModules.sops - ./configuration.nix - ./disks.nix - ./profiles/k3s-server.nix - ./profiles/k3s-addons.nix - { - networking.hostName = "kube-3"; - systemd.network.networks."30-wan" = { - matchConfig.Name = "ens18"; - networkConfig.DHCP = "ipv4"; - address = [ - hosts.kube-3.ipv6_address - ]; - routes = [ - { Gateway = "fe80::1"; } - ]; - }; - services.k3s = { - serverAddr = "https://[${hosts.kube-1.ipv6_address}]:6443"; - extraFlags = nixpkgs.lib.mkAfter [ - "--node-external-ip=${hosts.kube-3.ipv6_address}" - ]; - }; - } - ]; - }; - kube-4 = nixpkgs.lib.nixosSystem { - system = "aarch64-linux"; - modules = [ - disko.nixosModules.disko - sops-nix.nixosModules.sops - ./configuration.nix - ./disks.nix - ./profiles/k3s-agent.nix - { - networking.hostName = "kube-4"; - systemd.network.networks."30-wan" = { - matchConfig.Name = "enp1s0"; - networkConfig.DHCP = "ipv4"; - address = [ - hosts.kube-4.ipv6_address - ]; - routes = [ - { Gateway = "fe80::1"; } - ]; - }; - services.k3s = { - serverAddr = "https://[${hosts.kube-1.ipv6_address}]:6443"; - extraFlags = nixpkgs.lib.mkAfter [ - "--node-external-ip=${hosts.kube-4.ipv6_address}" - ]; - }; - } - ]; - }; }; }; } diff --git a/infra/_modules/nixos/hosts.json b/infra/_modules/nixos/hosts.json index ba7e198..775690c 100644 --- a/infra/_modules/nixos/hosts.json +++ b/infra/_modules/nixos/hosts.json @@ -1 +1 @@ -{"kube-1":{"ipv6_address":"2402:800:634b:c202:be24:11ff:fe3a:aaa0"},"kube-2":{"ipv6_address":"2402:800:634b:c202:be24:11ff:fec0:7ba3"},"kube-3":{"ipv6_address":"2402:800:634b:c202:be24:11ff:fe75:57f4"},"kube-4":{"ipv6_address":"2a01:4f9:c014:85b7::1"}} \ No newline at end of file +{"kube-1":{"ipv6_address":"2a01:4f9:c013:e5ee::1"}} \ No newline at end of file diff --git a/infra/staging/hetzner/.terraform.lock.hcl b/infra/staging/hetzner/.terraform.lock.hcl new file mode 100644 index 0000000..39aa264 --- /dev/null +++ b/infra/staging/hetzner/.terraform.lock.hcl @@ -0,0 +1,23 @@ +# This file is maintained automatically by "tofu init". +# Manual edits may be lost in future updates. + +provider "registry.opentofu.org/hetznercloud/hcloud" { + version = "1.60.1" + constraints = "~> 1.45" + hashes = [ + "h1:Yn/7M+RswavjNlD0nPMUayi76qyu3jkKf4h1UczNqkc=", + "zh:0a746671e3f149b998a2abf730a5401a07305c67f93d5bbfdcf60aa19fdebb4d", + "zh:156273b900a006253841727387671dd67c7c5c502998d6a9af5a5abbf5717fdf", + "zh:2daa1290c50c081bb6a6cfa76b2872ea9fd9658eb3f2e81deab58b1ee48cf348", + "zh:36d6dac96ac6389f35bb1f19f40c4263bf78fa36fa7468971cf646c69eeae663", + "zh:5d0040a11470ced3eddf7d3e8e823982f80f8eb127cf285cd351bfc26a4d1108", + "zh:60ac7d3d948d7280a6e53088d5c41c444712f05e4274e37b0f4a81da9dcd1edb", + "zh:9fe5dd114ebb6f8da0dc9b5485c42d01cd41ed61a6fe2fc92bb3038fe4d708ea", + "zh:ae755ea4faca6ee410a397702a2c74f10ea28ec1ab95e1656be7a6f5908d1d23", + "zh:b3edcf6ea0f6498bcbdcbac8ec69dfb79278c64c7ea46c3050cd361a603302b0", + "zh:c6059fad0c4d2ecc3475c1767779a8e8adfcb1168101aae57ba7783510a24ae2", + "zh:dfdeb297e97d5b97b04d16ded3f8ef6779fc22cbd0322a16aeff3b5feee36fe2", + "zh:e38d04e7a5d0dbc3858eaa678167b6ec5e73035dae3479c7a61e6d971e58c765", + "zh:fd60acd9f16b4eb7b442a557d19294a89f6a8a05f7ca57f4aa689a2a554e74bd", + ] +} diff --git a/infra/staging/hetzner/compute/.terraform.lock.hcl b/infra/staging/hetzner/compute/.terraform.lock.hcl deleted file mode 100644 index 996183b..0000000 --- a/infra/staging/hetzner/compute/.terraform.lock.hcl +++ /dev/null @@ -1,25 +0,0 @@ -# This file is maintained automatically by "tofu init". -# Manual edits may be lost in future updates. - -provider "registry.opentofu.org/hetznercloud/hcloud" { - version = "1.52.0" - constraints = "~> 1.45" - hashes = [ - "h1:8Juiz/B0XWpSCJmIYLBoGqU14R0W9rudwVInfd7jBt0=", - "h1:LTjrLuC+4F1Kv4TxS9e7LVVkG8/S4QQ7X4ORblvKTbc=", - "zh:1e9bb6b6a2ea5f441638dbae2d60fbe04ff455f58a18c740b8b7913e2197d875", - "zh:29c122e404ba331cfbadacc7f1294de5a31c9dfd60bdfe3e1b402271fc8e419c", - "zh:2bd0ae2f0bb9f16b7753f59a08e57ac7230f9c471278d7882f81406b9426c8c7", - "zh:4383206971873f6b5d81580a9a36e0158924f5816ebb6206b0cf2430e4e6a609", - "zh:47e2ca1cfa18500e4952ab51dc357a0450d00a92da9ea03e452f1f3efe6bbf75", - "zh:8e9fe90e3cea29bb7892b64da737642fc22b0106402df76c228a3cbe99663278", - "zh:a2d69350a69c471ddb63bcc74e105e585319a0fc0f4d1b7f70569f6d2ece5824", - "zh:a97abcc254e21c294e2d6b0fc9068acfd63614b097dda365f1c56ea8b0fd5f6b", - "zh:aba8d72d4fe2e89c922d5446d329e5c23d00b28227b4666e6486ba18ea2ec278", - "zh:ad36c333978c2d9e4bc43dcadcbff42fe771a8c5ef53d028bcacec8287bf78a7", - "zh:cdb1e6903b9d2f0ad8845d4eb390fbe724ee2435fb045baeab38d4319e637682", - "zh:df77b08757f3f36b8aadb33d73362320174047044414325c56a87983f48b5186", - "zh:e07513d5ad387247092b5ae1c87e21a387fc51873b3f38eee616187e38b090a7", - "zh:e2be02bdc59343ff4b9e26c3b93db7680aaf3e6ed13c8c4c4b144c74c2689915", - ] -} diff --git a/infra/staging/hetzner/compute/terragrunt.hcl b/infra/staging/hetzner/terragrunt.hcl similarity index 75% rename from infra/staging/hetzner/compute/terragrunt.hcl rename to infra/staging/hetzner/terragrunt.hcl index 20489e8..fc03a76 100644 --- a/infra/staging/hetzner/compute/terragrunt.hcl +++ b/infra/staging/hetzner/terragrunt.hcl @@ -9,11 +9,8 @@ terraform { inputs = { nodes = { - "kube-4" = { + "kube-1" = { location = "hel1" } - # "kube-5" = { - # location = "nbg1" - # } } } diff --git a/infra/staging/nixos/.terraform.lock.hcl b/infra/staging/nixos/.terraform.lock.hcl index 212e40b..643640b 100644 --- a/infra/staging/nixos/.terraform.lock.hcl +++ b/infra/staging/nixos/.terraform.lock.hcl @@ -5,7 +5,6 @@ provider "registry.opentofu.org/hashicorp/external" { version = "2.3.5" hashes = [ "h1:VsIY+hWGvWHaGvGTSKZslY13lPeAtSTxfZRPbpLMMhs=", - "h1:jcVmeuuz74tdRt2kj0MpUG9AORdlAlRRQ3k61y0r5Vc=", "zh:1fb9aca1f068374a09d438dba84c9d8ba5915d24934a72b6ef66ef6818329151", "zh:3eab30e4fcc76369deffb185b4d225999fc82d2eaaa6484d3b3164a4ed0f7c49", "zh:4f8b7a4832a68080f0bf4f155b56a691832d8a91ce8096dac0f13a90081abc50", @@ -20,20 +19,24 @@ provider "registry.opentofu.org/hashicorp/external" { } provider "registry.opentofu.org/hashicorp/local" { - version = "2.5.3" + version = "2.8.0" hashes = [ - "h1:31Clmfoe7hzkcdgwuhUuGuPGfeG2Ksk+YWcJgzBTN7M=", - "h1:mC9+u1eaUILTjxey6Ivyf/3djm//RNNze9kBVX/trng=", - "zh:32e1d4b0595cea6cda4ca256195c162772ddff25594ab4008731a2ec7be230bf", - "zh:48c390af0c87df994ec9796f04ec2582bcac581fb81ed6bb58e0671da1c17991", - "zh:4be7289c969218a57b40902e2f359914f8d35a7f97b439140cb711aa21e494bd", - "zh:4cf958e631e99ed6c8b522c9b22e1f1b568c0bdadb01dd002ca7dffb1c927764", - "zh:7a0132c0faca4c4c96aa70808effd6817e28712bf5a39881666ac377b4250acf", - "zh:7d60de08fac427fb045e4590d1b921b6778498eee9eb16f78c64d4c577bde096", - "zh:91003bee5981e99ec3925ce2f452a5f743827f9d0e131a86613549c1464796f0", - "zh:9fe2fe75977c8149e2515fb30c6cc6cfd57b225d4ce592c570d81a3831d7ffa3", - "zh:e210e6be54933ce93e03d0994e520ba289aa01b2c1f70e77afb8f2ee796b0fe3", - "zh:e8793e5f9422f2b31a804e51806595f335b827c9a38db18766960464566f21d5", + "h1:XybiBEkq4bcztcMIb1YZJo33oFgx40i63lhPG0TmiRU=", + "zh:0aaa04a29638eb2f84145aeec030ed4b469980c51f60f7f72ddbd705e0c9ceea", + "zh:1d2f29cdfdc607f6b6b641e8bc7b00c73ac29f572ae8aa9b18fd068c107a7315", + "zh:3cba45610ee2abbbe73694f5604d6628b036cee35d5e77f2353043088e950ff2", + "zh:435fca586d45fcf200974d90962fa4cffaf761bad4c774bd34d1b92463a9887f", + "zh:662748c6ad1e3d64500b70d3e2ccd5d2b04471dfd687c524f15bf3dbe68954a2", + "zh:68f3a6dd1a6ddb7f4935ce894861740dd39f2202c5ba4aebc217c742e426a80c", + "zh:75267c8b3d693125e7c6814058fef6189e0dae6c44c47cd63109d919b35e665e", + "zh:88a1e4c13876774fae1ae20129a328cb6031e3aca00435bc7899e4038c2f43f7", + "zh:8b8bffe1adeedf13a5c4af7b208b47ca5d4cac09ff51028962a3465e26830fef", + "zh:b99ddf3c8fb730e4a9e4ded4c5706bcca3b7b8d2f2ea458f01a4dda26c78fdd3", + "zh:d08174d23b2fe4a53b7f81f32ff0089e6ca76162a9de3c411deff7eb45d3d677", + "zh:d220cd9f2ea3426ab5e2c528700c15d8fbcd4254496a84945b38885c6e4b18d3", + "zh:de1e7f2ec372aaf717a26017e25f24bc22cbfc0e1691711484df26d828c6f8a0", + "zh:e1b7c0ccaea53904b999a0d3993e86b97766eaa3698040c0bbe14b453cefd91a", + "zh:e7eacd0e7a223fee0ac1fee5f032199219fde3cf0db43ad9d31b75a122f440ae", ] } @@ -41,7 +44,6 @@ provider "registry.opentofu.org/hashicorp/null" { version = "3.2.4" hashes = [ "h1:i+WKhUHL2REY5EGmiHjfUljJB8UKZ9QdhdM5uTeUhC4=", - "h1:jsKjBiLb+v3OIC3xuDiY4sR0r1OHUMSWPYKult9MhT0=", "zh:1769783386610bed8bb1e861a119fe25058be41895e3996d9216dd6bb8a7aee3", "zh:32c62a9387ad0b861b5262b41c5e9ed6e940eda729c2a0e58100e6629af27ddb", "zh:339bf8c2f9733fce068eb6d5612701144c752425cebeafab36563a16be460fb2", diff --git a/infra/staging/nixos/terragrunt.hcl b/infra/staging/nixos/terragrunt.hcl index 0c782fb..5ba8f10 100644 --- a/infra/staging/nixos/terragrunt.hcl +++ b/infra/staging/nixos/terragrunt.hcl @@ -7,18 +7,13 @@ terraform { source = "${find_in_parent_folders("_modules")}//nixos" } -dependency "proxmox" { - config_path = "../proxmox/compute" -} - dependency "hetzner" { - config_path = "../hetzner/compute" + config_path = "../hetzner" } inputs = { flake = "${find_in_parent_folders("_modules")}//nixos" hosts = merge( - dependency.proxmox.outputs.hosts, dependency.hetzner.outputs.hosts, ) sops_file = find_in_parent_folders("secrets.yaml") diff --git a/infra/staging/proxmox/compute/.terraform.lock.hcl b/infra/staging/proxmox/compute/.terraform.lock.hcl deleted file mode 100644 index 43d37ea..0000000 --- a/infra/staging/proxmox/compute/.terraform.lock.hcl +++ /dev/null @@ -1,44 +0,0 @@ -# This file is maintained automatically by "tofu init". -# Manual edits may be lost in future updates. - -provider "registry.opentofu.org/bpg/proxmox" { - version = "0.57.1" - constraints = "~> 0.57.0" - hashes = [ - "h1:Eymic2/G7vKM5DSiRvN8VFQ979oBpq1IxweEzWu3kvc=", - "h1:F6o5o32V+mE96gHUppHI0U+olrEtxtr23fwUigtQ/Wk=", - "zh:220c75d76e8779970d4e01effdb3073a24139f5065397dae1347710e80b69865", - "zh:271d71cb39225a4efd4b6e0cbb2cba50f89006a353db932969deed5db07cdd9b", - "zh:28c4f33a1b888f488f1a557d21a1383eb9f9bff77d6ed0643b393c02135436bd", - "zh:2c468cb678cdd44f896b531fc09f7a68b16dde298bfded89ee94b792233ddbf1", - "zh:3329ce5f7bd96233cf75a633f9b0927295083cc365a4324294dc8bfbcd4bb2a3", - "zh:5d5c99f763488c30fbab66b6c68adac1f9d41b8439a7201d826351353c452470", - "zh:6a67c621b0bd8c54037ea93273d78308f0a7d2c8b5316def4245c58686639818", - "zh:8d64bbc24008d507608e53d1e9d09705710a07ba5b5fe3b5c5cce51ddd0fa6ac", - "zh:99395ff6c92d49033ba5426c0f3a07c893354883e86d9000692907150a3c096c", - "zh:b03996ae36df1181af784ed57267f8761092400018d40ae2649fa8ec9cabef96", - "zh:be6eb719192e228905a556e59d2814da2d26e512c9b0b2f04b224a7e80d2a017", - "zh:c3c1f9c94ad381a1e1d022f1d02bc446ea47563eb6573c40471c6b0e6293c20c", - "zh:cad37192fb69db274fa053564502077cedc7c8679373a3a8c35da91ed8988a19", - "zh:eabc19a8e0d287bb1abbde3d331fc5ca27943dae24cca8d8812b66fd9c8ed4d3", - "zh:f26e0763dbe6a6b2195c94b44696f2110f7f55433dc142839be16b9697fa5597", - ] -} - -provider "registry.opentofu.org/hashicorp/time" { - version = "0.13.1" - hashes = [ - "h1:3X1jTAlLJV6G9AylC+BgX7WrKFcZYHqA+Z4JwB+v7as=", - "h1:ueilLAoXlZPufdJYuPFeqznwP39ZwLsRcQtqow+NUiI=", - "zh:10f32af8b544a039f19abd546e345d056a55cb7bdd69d5bbd7322cbc86883848", - "zh:35dd5beb34a9f73de8d0fed332814c69acae69397c9c065ce63ccd8315442bef", - "zh:56545d1dd5f2e7262e0c0c124264974229ec9cc234d0d7a0e36e14b869590f4a", - "zh:8d7259c3f819fd3470ff933c904b6a549502a8351feb1b5c040a4560decaf7e0", - "zh:a40f26878826b142e26fe193f7e3e14fc97f615cd6af140e88ce5bc25f3fcf50", - "zh:b2e82f25fecff172a9a9e24ea37d37e4fc630ee9245617cb40b10e66a6b979c8", - "zh:d4b699850a40ed07ef83c6b827605d24050b2732646ee017bda278e4ddf01c91", - "zh:e4e6a5e5614b6a54557400aabb748ebd57e947cdbd21ad1c7602c51368a80559", - "zh:eb78fb97bca22931e730487a20a90f5a6221ddfb3138aaf070737ea2b7c9c885", - "zh:faba366a1352ee679bba2a5b09c073c6854721db94b191d49b620b60946a065f", - ] -} diff --git a/infra/staging/proxmox/compute/terragrunt.hcl b/infra/staging/proxmox/compute/terragrunt.hcl deleted file mode 100644 index 95521ea..0000000 --- a/infra/staging/proxmox/compute/terragrunt.hcl +++ /dev/null @@ -1,20 +0,0 @@ -include "root" { - path = find_in_parent_folders("root.hcl") - expose = true -} - -terraform { - source = "${find_in_parent_folders("_modules")}//proxmox-vm" -} - -inputs = { - hosts = { - "kube-1" = { cpu = 4, memory = 12, disk = 128 } - "kube-2" = { cpu = 4, memory = 12, disk = 128 } - "kube-3" = { cpu = 4, memory = 12, disk = 128 } - } - - tags = [ - "staging" - ] -}