fix: remove broken kube configs from state

Broke when i redid the cluster ca stuff to fix an expired cert. Cant
figure out how to fix the state to read from the cluster.
This commit is contained in:
Julian Tölle 2023-02-25 23:21:49 +01:00
parent ad3ba9d059
commit 6ea9911f29
11 changed files with 203 additions and 409 deletions

304
.terraform.lock.hcl generated
View file

@ -2,134 +2,100 @@
# Manual edits may be lost in future updates. # Manual edits may be lost in future updates.
provider "registry.terraform.io/fluxcd/flux" { provider "registry.terraform.io/fluxcd/flux" {
version = "0.10.0" version = "0.23.0"
constraints = ">= 0.10.0" constraints = ">= 0.10.0"
hashes = [ hashes = [
"h1:aiNjqBCXw/sHsAF+lZvGbNnyybMio8Q4V/pWPHTvnYI=", "h1:y1GdLmpI2rWvSRnnrVL1KVMqMz6Y91qTVOyH6lCZDfw=",
"zh:16d9eb49f77a8d11f3a725d9f3f4f3d86f41125fd6e78a2196eb1e1a3b091644", "zh:01e40fae6b7a988a411034fce87f05070e471047d30f195a8cd82eb715bf84e1",
"zh:43341ede25df64c3fb1bddfab639aab7030c5a65d7a0c2b6a69e449c7016a0c3", "zh:0234fc5d6fea07d50b00e208c4962ba6ad840f37ab7f8c885168fd7b146ef054",
"zh:548f2cf42ffb72ea4c5f9fe27a642cfe863bad72d03a3c84eed05aa19d5d4ecd", "zh:16fcc7946e623652c5e46539ce75acc2f862977dcce74eb1395509368d548770",
"zh:82a266302e9d726b905622e3b89311fa71990734181785599bfaad15c00e2567", "zh:2bc46e5edb225472f79997411ffeddc8078f951d104ae4affbd1254376f9f111",
"zh:96b3d265e0054cf08f0fe74f98fb1c318aa6ccd28e689f6740ba646ed8260d05", "zh:2cf2a8c37ed8b47f67cced02636d9fec262450e4b6933998db00af01b04a703c",
"zh:9fcfa5d8d6fc544bdbf6bc92eaf3fce7f68c45c9862b5e7afef40dbf55a88cef", "zh:2dedd76d22620db791907791984a9cf9aee70e6dff1544d11b60952809efc621",
"zh:a7ecc13cdb24b9904fdd7d801253bf9bf5733e3a91c867a9beca1171fc82a7a4", "zh:4e2c701c1f44f8d5fce4f14549b89b55e2622048444cab3806f8784b204e0a9e",
"zh:a9a22501102aa7c90096d535ee18fae98b53fe5bc918d94fd4871ae7e884a90e", "zh:646ce188b34da47c4ceecce9e8988ad38b4bfea9d840ec1020a13a109f760e02",
"zh:b39f827797ed6e942568a55b18e2482bf4f7afd7a63c9c60c164c142870c758d", "zh:72589e390d85d874130b9824a7074b65d2df688a8d3610df33c52538e70601a5",
"zh:d44fdca898a366afd22648c4284751d5c2f9b65fc0a0a2c86509be036ee8de8d", "zh:80af886f100f3f1f4c20da987c6ee55b2fdb0be2d643de4f27d44ac4a56b50e7",
"zh:d4581b57a99ec206a46b3c0fdb66a1ab6ea196fd24b76c3e768aee950f2bf8d4", "zh:ae9ccdab496588cac30c869aeaf8bb9520c988838df7169ce96ed97d70895f48",
"zh:d68728f3ef07837878d5c97cf9d8dc082e9c8e997c53e4548c3c7f28af7e10be", "zh:beec8ec89268ed86bca72b8325e6065ef3d279c8bdbbc857f6f1e561f9c7069a",
"zh:f1b0960481e65d95d9ae7b454d4594bf7da59ece28aaf7d420994a94ffbf4ba7", "zh:cd9b3468276c7945daf4be9d49101b5dc207fb6dce899597dc41997ef89975c7",
"zh:fdb827ecab4ac1a0bc3a19c4c5d96529986b80d5cfb4112e89821973746b363f", "zh:dae9ee5b7d38694af609d0e13247f0c900d15e98da203f13a7855f6e11012e9c",
] ]
} }
provider "registry.terraform.io/gavinbunney/kubectl" { provider "registry.terraform.io/gavinbunney/kubectl" {
version = "1.13.1" version = "1.14.0"
constraints = ">= 1.10.0" constraints = ">= 1.10.0"
hashes = [ hashes = [
"h1:Kqo0t1R22DYLNsw8kFCBLPeV9zwns+86ijDnBUhJ+iw=", "h1:gLFn+RvP37sVzp9qnFCwngRjjFV649r6apjxvJ1E/SE=",
"zh:212c030cb975e46e3a85a6850c16773974f4498042a45c73b883b25f6e05962d", "zh:0350f3122ff711984bbc36f6093c1fe19043173fad5a904bce27f86afe3cc858",
"zh:213d1be8a231b04fdc55fd027479dbf0ae5b7ab891804b64f464db771d091ecd", "zh:07ca36c7aa7533e8325b38232c77c04d6ef1081cb0bac9d56e8ccd51f12f2030",
"zh:45f37b5c43f85d79973d0b890f774531a65def7f8436e435a4e259198f1c62de", "zh:0c351afd91d9e994a71fe64bbd1662d0024006b3493bb61d46c23ea3e42a7cf5",
"zh:5a362871827f8582d6129b9c8b7d73c5e4e181155cef4cba1fe0408880db52db", "zh:39f1a0aa1d589a7e815b62b5aa11041040903b061672c4cfc7de38622866cbc4",
"zh:78986fdb4c41ac35815e4d41832d24b41b0aac046c046f21db92205115d16bae", "zh:428d3a321043b78e23c91a8d641f2d08d6b97f74c195c654f04d2c455e017de5",
"zh:a6d07a9f066c386f44d61e7e2e83133663e3049f5c6b153fa5601b85cbb788b1", "zh:4baf5b1de2dfe9968cc0f57fd4be5a741deb5b34ee0989519267697af5f3eee5",
"zh:bb307e902d2401df42205d57e36a2e094765b87b12f99a24ec2af411bef3c0fa", "zh:6131a927f9dffa014ab5ca5364ac965fe9b19830d2bbf916a5b2865b956fdfcf",
"zh:dc3281f9fab38b8daf76d5f0073d2e323574f03d4cef338d6a363380f7f7bb59", "zh:c62e0c9fd052cbf68c5c2612af4f6408c61c7e37b615dc347918d2442dd05e93",
"zh:eb30e7fef17e7630858070d23a59375ba3a87fceaffde1c722338b1ad88df568", "zh:f0beffd7ce78f49ead612e4b1aefb7cb6a461d040428f514f4f9cc4e5698ac65",
]
}
provider "registry.terraform.io/hashicorp/http" {
version = "2.1.0"
constraints = "~> 2.0"
hashes = [
"h1:HmUcHqc59VeHReHD2SEhnLVQPUKHKTipJ8Jxq67GiDU=",
"zh:03d82dc0887d755b8406697b1d27506bc9f86f93b3e9b4d26e0679d96b802826",
"zh:0704d02926393ddc0cfad0b87c3d51eafeeae5f9e27cc71e193c141079244a22",
"zh:095ea350ea94973e043dad2394f10bca4a4bf41be775ba59d19961d39141d150",
"zh:0b71ac44e87d6964ace82979fc3cbb09eb876ed8f954449481bcaa969ba29cb7",
"zh:0e255a170db598bd1142c396cefc59712ad6d4e1b0e08a840356a371e7b73bc4",
"zh:67c8091cfad226218c472c04881edf236db8f2dc149dc5ada878a1cd3c1de171",
"zh:75df05e25d14b5101d4bc6624ac4a01bb17af0263c9e8a740e739f8938b86ee3",
"zh:b4e36b2c4f33fdc44bf55fa1c9bb6864b5b77822f444bd56f0be7e9476674d0e",
"zh:b9b36b01d2ec4771838743517bc5f24ea27976634987c6d5529ac4223e44365d",
"zh:ca264a916e42e221fddb98d640148b12e42116046454b39ede99a77fc52f59f4",
"zh:fe373b2fb2cc94777a91ecd7ac5372e699748c455f44f6ea27e494de9e5e6f92",
] ]
} }
provider "registry.terraform.io/hashicorp/kubernetes" { provider "registry.terraform.io/hashicorp/kubernetes" {
version = "2.7.1" version = "2.17.0"
hashes = [ hashes = [
"h1:Df9MZxqgXueXVObeAiPPDQ5aLwQ2bJ2r1gul/IYSxeg=", "h1:I1L2R+OPgGSh+P6uBSycvvoyRIey/FqMwSvlJ9ccw0o=",
"zh:0da320fd81ece6696f7cceda35e459ee97cae8955088af38fc7f2feab1dce924", "zh:1cbafea8c404195d8ad2490d75dbeebef131563d3e38dec87231ceb3923a3012",
"zh:37d304b8b992518c9c12e8f10437b9d4a0cc5a823c9421ac794ad2347c4d1122", "zh:26d9584423ee77e607999b082de7d9dc3e937934aa83341e0832e7253caf4f51",
"zh:3d4e12fb9588c3b2e782d392fea758c6982e5d653154bec951e949155bcbc169", "zh:333527fc15fb43bbf1898a2f058598c596468a01d88c415627bb617878dc4d4d",
"zh:6bb32b8d5cccf3e3ae7c124ed27df76dc7653ca760c132addeee15272630c930", "zh:391b8c80e3115af485977d6e949d7260b7fc0b641089b884256bfd36a7077db2",
"zh:94775153b90e285876fc17261e8f5338a1ff732f4133336cc68754acb74570b6", "zh:4d18ba55247486181759d60195777945bcd68e17ccd980820ca18e8a8b94aeb5",
"zh:a665d1336765cdf8620a8797fd4e7e3cecf789e96e59ba80634336a4390df377", "zh:607ae94d85d1c1ed3845bd71095daadea4b2468e16f57fa05c98eab0de6b14ae",
"zh:aa8b35e9958cb89f01c115e8866a07d5468fb53f1c227d673e94f7ee8fb76242", "zh:95c6cf22f8ef14e7a4f85e33cff5d6f11056c7880041b71d425d1b5ebbe246e7",
"zh:b7a571336387d773a74ed6eefa3843ff78d3662f2745c99c95008002a1341662", "zh:b077edcedb46a313b461ac1e49317872063b3871f2acbe1a50498612cefff387",
"zh:c50d661782175d50ea4952fe943b0e4a3e33c27aa69e5ff21b3cbfa513e90d0a", "zh:c6a7891683e44148b0c928fd4748b7abac727266ab551d679015f5fe8b72d1e6",
"zh:e0999b349cc772c75876adbc2a13b5dc256d3ecd7e4aa91baee5fdfcecaa7465", "zh:e5cebfdf873770c37a4304362003d3fea8d6c2fd819663ad121bc65bb81e4738",
"zh:e1399aec06a7aa98e9b0f64b4281697247f338a8a40b79f5f6ebfd43bf4ce1e2", "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c",
] "zh:feb19269e7c0de473ad412b37818b48da0cc91e5c93dd4c77a72676ca97a16b1",
}
provider "registry.terraform.io/hashicorp/local" {
version = "2.1.0"
hashes = [
"h1:EYZdckuGU3n6APs97nS2LxZm3dDtGqyM4qaIvsmac8o=",
"zh:0f1ec65101fa35050978d483d6e8916664b7556800348456ff3d09454ac1eae2",
"zh:36e42ac19f5d68467aacf07e6adcf83c7486f2e5b5f4339e9671f68525fc87ab",
"zh:6db9db2a1819e77b1642ec3b5e95042b202aee8151a0256d289f2e141bf3ceb3",
"zh:719dfd97bb9ddce99f7d741260b8ece2682b363735c764cac83303f02386075a",
"zh:7598bb86e0378fd97eaa04638c1a4c75f960f62f69d3662e6d80ffa5a89847fe",
"zh:ad0a188b52517fec9eca393f1e2c9daea362b33ae2eb38a857b6b09949a727c1",
"zh:c46846c8df66a13fee6eff7dc5d528a7f868ae0dcf92d79deaac73cc297ed20c",
"zh:dc1a20a2eec12095d04bf6da5321f535351a594a636912361db20eb2a707ccc4",
"zh:e57ab4771a9d999401f6badd8b018558357d3cbdf3d33cc0c4f83e818ca8e94b",
"zh:ebdcde208072b4b0f8d305ebf2bfdc62c926e0717599dcf8ec2fd8c5845031c3",
"zh:ef34c52b68933bedd0868a13ccfd59ff1c820f299760b3c02e008dc95e2ece91",
] ]
} }
provider "registry.terraform.io/hashicorp/null" { provider "registry.terraform.io/hashicorp/null" {
version = "3.1.0" version = "3.2.1"
constraints = "~> 3.0" constraints = "~> 3.0"
hashes = [ hashes = [
"h1:vpC6bgUQoJ0znqIKVFevOdq+YQw42bRq0u+H3nto8nA=", "h1:FbGfc+muBsC17Ohy5g806iuI1hQc4SIexpYCrQHQd8w=",
"zh:02a1675fd8de126a00460942aaae242e65ca3380b5bb192e8773ef3da9073fd2", "zh:58ed64389620cc7b82f01332e27723856422820cfd302e304b5f6c3436fb9840",
"zh:53e30545ff8926a8e30ad30648991ca8b93b6fa496272cd23b26763c8ee84515", "zh:62a5cc82c3b2ddef7ef3a6f2fedb7b9b3deff4ab7b414938b08e51d6e8be87cb",
"zh:5f9200bf708913621d0f6514179d89700e9aa3097c77dac730e8ba6e5901d521", "zh:63cff4de03af983175a7e37e52d4bd89d990be256b16b5c7f919aff5ad485aa5",
"zh:9ebf4d9704faba06b3ec7242c773c0fbfe12d62db7d00356d4f55385fc69bfb2", "zh:74cb22c6700e48486b7cabefa10b33b801dfcab56f1a6ac9b6624531f3d36ea3",
"zh:a6576c81adc70326e4e1c999c04ad9ca37113a6e925aefab4765e5a5198efa7e", "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3",
"zh:a8a42d13346347aff6c63a37cda9b2c6aa5cc384a55b2fe6d6adfa390e609c53", "zh:79e553aff77f1cfa9012a2218b8238dd672ea5e1b2924775ac9ac24d2a75c238",
"zh:c797744d08a5307d50210e0454f91ca4d1c7621c68740441cf4579390452321d", "zh:a1e06ddda0b5ac48f7e7c7d59e1ab5a4073bbcf876c73c0299e4610ed53859dc",
"zh:cecb6a304046df34c11229f20a80b24b1603960b794d68361a67c5efe58e62b8", "zh:c37a97090f1a82222925d45d84483b2aa702ef7ab66532af6cbcfb567818b970",
"zh:e1371aa1e502000d9974cfaff5be4cfa02f47b17400005a16f14d2ef30dc2a70", "zh:e4453fbebf90c53ca3323a92e7ca0f9961427d2f0ce0d2b65523cc04d5d999c2",
"zh:fc39cc1fe71234a0b0369d5c5c7f876c71b956d23d7d6f518289737a001ba69b", "zh:e80a746921946d8b6761e77305b752ad188da60688cfd2059322875d363be5f5",
"zh:fea4227271ebf7d9e2b61b89ce2328c7262acd9fd190e1fd6d15a591abfa848e", "zh:fbdb892d9822ed0e4cb60f2fedbdbb556e4da0d88d3b942ae963ed6ff091e48f",
"zh:fca01a623d90d0cad0843102f9b8b9fe0d3ff8244593bd817f126582b52dd694",
] ]
} }
provider "registry.terraform.io/hashicorp/random" { provider "registry.terraform.io/hashicorp/random" {
version = "3.1.0" version = "3.4.3"
constraints = "~> 3.0" constraints = "~> 3.0"
hashes = [ hashes = [
"h1:BZMEPucF+pbu9gsPk0G0BHx7YP04+tKdq2MrRDF1EDM=", "h1:xZGZf18JjMS06pFa4NErzANI98qi59SEcBsOcS2P2yQ=",
"zh:2bbb3339f0643b5daa07480ef4397bd23a79963cc364cdfbb4e86354cb7725bc", "zh:41c53ba47085d8261590990f8633c8906696fa0a3c4b384ff6a7ecbf84339752",
"zh:3cd456047805bf639fbf2c761b1848880ea703a054f76db51852008b11008626", "zh:59d98081c4475f2ad77d881c4412c5129c56214892f490adf11c7e7a5a47de9b",
"zh:4f251b0eda5bb5e3dc26ea4400dba200018213654b69b4a5f96abee815b4f5ff", "zh:686ad1ee40b812b9e016317e7f34c0d63ef837e084dea4a1f578f64a6314ad53",
"zh:7011332745ea061e517fe1319bd6c75054a314155cb2c1199a5b01fe1889a7e2", "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3",
"zh:738ed82858317ccc246691c8b85995bc125ac3b4143043219bd0437adc56c992", "zh:84103eae7251384c0d995f5a257c72b0096605048f757b749b7b62107a5dccb3",
"zh:7dbe52fac7bb21227acd7529b487511c91f4107db9cc4414f50d04ffc3cab427", "zh:8ee974b110adb78c7cd18aae82b2729e5124d8f115d484215fd5199451053de5",
"zh:a3a9251fb15f93e4cfc1789800fc2d7414bbc18944ad4c5c98f466e6477c42bc", "zh:9dd4561e3c847e45de603f17fa0c01ae14cae8c4b7b4e6423c9ef3904b308dda",
"zh:a543ec1a3a8c20635cf374110bd2f87c07374cf2c50617eee2c669b3ceeeaa9f", "zh:bb07bb3c2c0296beba0beec629ebc6474c70732387477a65966483b5efabdbc6",
"zh:d9ab41d556a48bd7059f0810cf020500635bfc696c9fc3adab5ea8915c1d886b", "zh:e891339e96c9e5a888727b45b2e1bb3fcbdfe0fd7c5b4396e4695459b38c8cb1",
"zh:d9e13427a7d011dbd654e591b0337e6074eef8c3b9bb11b2e39eaaf257044fd7", "zh:ea4739860c24dfeaac6c100b2a2e357106a89d18751f7693f3c31ecf6a996f8d",
"zh:f7605bd1437752114baf601bdf6931debe6dc6bfe3006eb7e9bb9080931dca8a", "zh:f0c76ac303fd0ab59146c39bc121c5d7d86f878e9a69294e29444d4c653786f8",
"zh:f143a9a5af42b38fed328a161279906759ff39ac428ebcfe55606e05e1518b93",
] ]
} }
@ -151,61 +117,103 @@ provider "registry.terraform.io/hashicorp/template" {
} }
provider "registry.terraform.io/hashicorp/tls" { provider "registry.terraform.io/hashicorp/tls" {
version = "3.1.0" version = "3.4.0"
constraints = "~> 3.2"
hashes = [ hashes = [
"h1:fUJX8Zxx38e2kBln+zWr1Tl41X+OuiE++REjrEyiOM4=", "h1:oyllIA9rNGCFtClSyBitUIzCXdnKtspVepdsvpLlfys=",
"zh:3d46616b41fea215566f4a957b6d3a1aa43f1f75c26776d72a98bdba79439db6", "zh:2442a0df0cfb550b8eba9b2af39ac06f54b62447eb369ecc6b1c29f739b33bbb",
"zh:623a203817a6dafa86f1b4141b645159e07ec418c82fe40acd4d2a27543cbaa2", "zh:3ebb82cacb677a099de55f844f0d02886bc804b1a2b94441bc40fabcb64d2a38",
"zh:668217e78b210a6572e7b0ecb4134a6781cc4d738f4f5d09eb756085b082592e", "zh:436125c2a7e66bc62a4a7c68bdca694f071d7aa894e8637dc83f4a68fe322546",
"zh:95354df03710691773c8f50a32e31fca25f124b7f3d6078265fdf3c4e1384dca", "zh:5f03db9f1d77e8274ff4750ae32d5c16c42b862b06bcb0683e4d733c8db922e4",
"zh:9f97ab190380430d57392303e3f36f4f7835c74ea83276baa98d6b9a997c3698", "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3",
"zh:a16f0bab665f8d933e95ca055b9c8d5707f1a0dd8c8ecca6c13091f40dc1e99d", "zh:8190142ae8a539ab34193b7e75da0fa04035d1dcd8af8be94df1eafeeffb44b6",
"zh:be274d5008c24dc0d6540c19e22dbb31ee6bfdd0b2cddd4d97f3cd8a8d657841", "zh:8cdc7cd9221e27c189e5beaf78462fce4c2edb081f415a1eafc6da2949de31e2",
"zh:d5faa9dce0a5fc9d26b2463cea5be35f8586ab75030e7fa4d4920cd73ee26989", "zh:a5de0f7f5d63c59ebf61d3c1d94040f410665ff0aa04f66674efe24b39a11f94",
"zh:e9b672210b7fb410780e7b429975adcc76dd557738ecc7c890ea18942eb321a5", "zh:a9fce48db3c140cc3e06f8a3c7ef4d36735e457e7660442d6d5dcd2b0781adc3",
"zh:eb1f8368573d2370605d6dbf60f9aaa5b64e55741d96b5fb026dbfe91de67c0d", "zh:beb92de584c790c7c7f047e45ccd22b6ee3263c7b5a91ae4d6882ae6e7700570",
"zh:fc1e12b713837b85daf6c3bb703d7795eaf1c5177aebae1afcf811dd7009f4b0", "zh:f373f8cc52846fb513f44f468d885f722ca4dc22af9ff1942368cafd16b796b3",
"zh:f69627fd6e5a920b17ff423cdbad2715078ca6d13146dc67668795582ab43748",
] ]
} }
provider "registry.terraform.io/hetznercloud/hcloud" { provider "registry.terraform.io/hetznercloud/hcloud" {
version = "1.32.2" version = "1.36.2"
constraints = "~> 1.32.1" constraints = ">= 1.36.2"
hashes = [ hashes = [
"h1:xJuDRJWUuQq0ROVwa1VrtXaUVNPP6KvIWZbmDuOQgJM=", "h1:VO/dl+g5NfJd436hmT+9NOMQk6oRU4Z9TSJJJrNlN0M=",
"zh:06d9ad67eb39397867f41a6a691e1198853c2eeaa91723ea126d14f9921380b5", "zh:0498ef4209924b30ce7b4a232dd6aee08feab2ebbc90064db699adc10c16707e",
"zh:193cfe86a0161ad3986f6b31daeae4b55c35853dddeba4cfd7c05f14ee1efbf8", "zh:292e3c0c55d320cf164cdd431ee31580dd86f435aec99721597204bab5de3970",
"zh:2a13de4a174dc43f429a9f98c3a61fc3929b234d475cc26e968f1b7511a7295c", "zh:3ce8558658baa7c4b9f1eeb92427665b4b930e5b157fbf352977778c90e11aaa",
"zh:4709968e190d1ff774e524b6577a6b35ae17f9cc0e5cbfc18d1b6fd0c88b529f", "zh:46abd0bdeeba46b86832ed31338ad837b584f7b2152f8a9bfa6c3802f481a6da",
"zh:5001f0ee6a2a9c75fab28ab3cd84f00813f2b050a3a93534fbadabc42a26cc31", "zh:5804e71d411577f06abc0986c8c2e475c49042a192efce5936e4d5bdd874fc22",
"zh:67534f3f4c01cc8d5b3aeae021e0529d8f56f02b19fbab5119b865c477e64324", "zh:7cef0782e8198346bfe7b61601e1cf8f2158280a5cf665140b72838545ca3127",
"zh:696f53d3ce4f385209c2efc995d6fc6c139c6bb3dff2bd8baa372a5189c40570", "zh:be81782af391ff4cc0859d976637aa00e6fe34061fe4f1df1f5ab5d62ef94f82",
"zh:713f876c2d59858c3d6340448575e64d769e770e5e25408fd44b39e0ef3c58cb", "zh:bf2660e70edf758305085698fc9d05306b174b99559cd0f3f61c0b705ba22275",
"zh:71c38e24e8d646e77fc73e2ee28416ebcf6be99aa6d4421dfd3674237ccaaa8c", "zh:caf727b0a378dc8c9c3594bbf176865f87aa732077820ff045eb352f5a48aeed",
"zh:817a8eb38d97400c0d3e2aa9f9fcc3fb7c5cc752fd15380c78069aa42a191ce1", "zh:cf95fc3121b358c7b7b667193ab36b8cb6140e2f6dfbf6f1b4c55b7fec1bb6ef",
"zh:92e1659e33e3dd2d23c2579a8a9497a270d22dbd867c6e8fafdf1aceb02bd052", "zh:d6d3119f8b971e982b6421dfa3b86314ccaeceaf047a3b6505f79e1a30f8301e",
"zh:a94b51f4c189308b47818112a170af1f5015b35b8482d5be46dcba9d9afd5b57", "zh:e6f7f65dced2e88e3082c57ddcd118412595678cf3c7289bc7e12c724b3bd892",
"zh:b5445f6ca4b4207be4677786c802c3a91d2fa543dac88d7e8bc570feb7fdc20d", "zh:f41f59ca511ab1a591d5abdc7f6d32d2e03a1d6087d206a741f95b7b0dd2ea17",
"zh:d0ed8e2b24793bbd38e80ea9ed98bc561becd850e6c1320d94000783fbd4964d", "zh:fbe59fbb5f272a6b206a380f6dbf49837b199960dd038afca2e89b11f72fdfda",
] ]
} }
provider "registry.terraform.io/integrations/github" { provider "registry.terraform.io/integrations/github" {
version = "4.19.2" version = "5.17.0"
hashes = [ hashes = [
"h1:/xQ5WDa1VapK20zseTf6TFw5B/lyvszJutaUCljBmSI=", "h1:CWw2DL8qmBp/LkqZAC3HiNFskw4bPyZYXgVgwUK7Lew=",
"zh:093d9b0a878fa0109eabad4bb452dcfb0002df6a4ca25d0cfdce667bc5f4f98c", "zh:0caa38dab96d68621a1ae7087ca3b86f42aa0e6fc250f906299f1a34c9dd1e54",
"zh:15f8c8893587d6b34d11b3a1fa72ca65921ba2282b4f9c50297249efbbce0135", "zh:1119f8dacb2da0de0735e9ae586702e5f9758b963e548b5fa09a9f216d00bbc4",
"zh:6ef382bf4011c9ca074bcdbe9939d3622464bfbc41f8637adad366cc01f13006", "zh:16bed2a93216aa573d1b2ff7cd371c9df3d454284204a4695d5b30f7325f49b3",
"zh:7d56f1e4f4af1ae33fd9afe95cf569fe62e568f4d1e39ad381801749fd8ef7f3", "zh:537d29a3a18d6b3a588c8878793d99d937d1e29466c02ce08536943a26931387",
"zh:8fc9ffa8f882b36c496bc49d67e5f02ee1710954fb892506a36ba81a28ab39a6", "zh:664d83424cc8d12055806134e5d110b82f469fb5824d3c3ffe1ea399637aed5d",
"zh:98989dac87f269e69416accc2c822200eab9cd6978d778c55e5358bc2994e5a8", "zh:725d6633fb92069bce53cb8b0f3b4d4a1fb4c0a336b138f62096dc2f7d4c2155",
"zh:9a44133135315bd03b1ac95148d20b7d2b009180a930826c071e78dcb85e28f3", "zh:8003646cc7caaa48841e802570626fd5cc8ad1bb2a341351ccf996eae62e88cb",
"zh:9b84a31bd520b3c359aff157e63ec4ed329055f6774a451be279460814269371", "zh:945f1f70842d04192626ae8e78372e48d16808d5104563bce32915c95236d820",
"zh:ac58b0905eb30f5055aa67e03c97ca1b34b5d3c1154ddff0e4d8477548605210", "zh:a0d8a25f8d84e78c3cfd5691f71c48f805ad38dab0a6a33f4d8e5cfc981b9cd9",
"zh:ad279f5b568c9c3e443ae103fe7ef29b5116f9ef51c388960a4dbeff5043d09b", "zh:a3ba46c09233c4b77b63807654083385cc865e650bbb6274d8768bb18ff01508",
"zh:b4e818ed66cf5b4001110092bb96acd1116952ccb3266317fde7de32156034af", "zh:a80b7190ed733b9de6f3cfb55e82234457f51bb36bdcc11277a7623a47155cb4",
"zh:d99c8af488f803467e775e582a6d73853b8756eddbf57e4c3548f6296a12814d", "zh:ba3f6f61deafaae1de92c17e924c7ef157ca0db2d5e14ae637a3a63bb1aeac9f",
"zh:e96ac8bf4b1fd5a4cfdcd4654255e7c7dad9c1ce633c5c505e6f7454f0902c38", "zh:c7b9790c722e597dc4e3d59bc9b510f364b3a522b70cd58727da09cd6adcf527",
"zh:f293b9ee146b2f22d79d4e53f0a1eb6bfdf8dca1d92bc39370a9df52046fdaa3",
]
}
provider "registry.terraform.io/timohirt/hetznerdns" {
version = "2.2.0"
constraints = ">= 2.2.0"
hashes = [
"h1:HyskQAglrOueur79gSCBgx9MNDOs0tz39aNYQiFgxz8=",
"zh:5bb0ab9f62be3ed92070235e507f3c290491d51391ef4edcc70df53b65a83019",
"zh:5ccdfac7284f5515ac3cff748336b77f21c64760e429e811a1eeefa8ebb86e12",
"zh:687c35665139ae37c291e99085be2e38071f6b355c4e1e8957c5a6a3bcdf9caf",
"zh:6de27f0d0d1513b3a4b7e81923b4a8506c52759bd466e2b4f8156997b0478931",
"zh:85770a9199a4c2d16ca41538d7a0f7a7bfc060678104a1faac19213e6f0a800c",
"zh:a5ff723774a9ccfb27d5766c5e6713537f74dd94496048c89c5d64dba597e59e",
"zh:bf9ab76fd37cb8aebb6868d73cbe8c08cee36fc25224cc1ef5949efa3c34b06c",
"zh:db998fe3bdcd4902e99fa470bb3f355883170cf4c711c8da0b5f1f4510f1be41",
]
}
provider "registry.terraform.io/vercel/vercel" {
version = "0.11.4"
constraints = ">= 0.11.4"
hashes = [
"h1:FmuVWiL6T4zNvuTzePHzv9VeJgtE0EzR6OVWTGQlSlY=",
"zh:011bac163a1ee286f8bcc02128027a9a537bedd6963c909fdd64fa7b1fd26468",
"zh:082809e2ad26de0a6e23361bfc195f4e0131f2ef82c028d8d67fecb260721efa",
"zh:282a4afb72edb280c7de13abd222ab7f00ff3ad2474de6d0a1e2c9eff410dab8",
"zh:335909309fd7fb4e59895523894cdcd5a718b62c7955ce34ffb59b38baa491d0",
"zh:412017e431913c3b4cfa213eea6583dcb3a7364f76fbfd549e46a3498aa4ee65",
"zh:5091fec6987064e7e1de4702d06da18ded9f9b20bb5aeff607a4dbf3574f4c77",
"zh:6a1f09866abc7161725503ce7560daca956fe151fd346b82acdd6bea83157fb0",
"zh:6a6a1d7a7518d3d1d263a343664758f04133058c18b77239c7544ed8fc51f266",
"zh:87fe4b190a0917612fb1308583af80154e36e6b641d1aabd01d6f08bd35b2913",
"zh:9e370998f625b88d5462d0ba26ae7eebe1828dd6e3cdbeec02db83d15df286f0",
"zh:a24bc9ffe4b226cc75be8b9a4ec59978318da1b872d9798d98e647c6ff486e44",
"zh:a66d56226fb811dbfd669fb291e7ba0321306ab53283976b0c5f353ae81cd0d9",
"zh:af27ee9b79d4cb50bcf2cadf85a372684b5d9764ccfcba9f63341cc8a10f79d4",
"zh:af7fb022a784a2568ef6fde7ab19463a767c3bbc89a08fa2b1be40f89aa53af1",
"zh:f26e0763dbe6a6b2195c94b44696f2110f7f55433dc142839be16b9697fa5597",
] ]
} }

2
k3s_cluster_v2/README.md Normal file
View file

@ -0,0 +1,2 @@
This module unfortunetly broke when I updated the CA cert in k3s and now
I can't get the state to work with terraform.

View file

@ -1,10 +1,3 @@
provider "kubectl" {
host = module.k3s.kubernetes.api_endpoint
cluster_ca_certificate = module.k3s.kubernetes.cluster_ca_certificate
client_certificate = module.k3s.kubernetes.client_certificate
client_key = module.k3s.kubernetes.client_key
}
provider "github" { provider "github" {
owner = var.github_owner owner = var.github_owner
token = var.github_token token = var.github_token
@ -32,79 +25,6 @@ data "flux_sync" "main" {
branch = var.branch branch = var.branch
} }
# Kubernetes
resource "kubernetes_namespace" "flux_system" {
metadata {
name = "flux-system"
}
lifecycle {
ignore_changes = [
metadata[0].labels,
]
}
}
data "kubectl_file_documents" "install" {
content = data.flux_install.main.content
}
data "kubectl_file_documents" "sync" {
content = data.flux_sync.main.content
}
locals {
install = [for v in data.kubectl_file_documents.install.documents : {
data : yamldecode(v)
content : v
}
]
sync = [for v in data.kubectl_file_documents.sync.documents : {
data : yamldecode(v)
content : v
}
]
}
resource "kubectl_manifest" "install" {
for_each = { for v in local.install : lower(join("/", compact([v.data.apiVersion, v.data.kind, lookup(v.data.metadata, "namespace", ""), v.data.metadata.name]))) => v.content }
depends_on = [kubernetes_namespace.flux_system]
yaml_body = each.value
}
resource "kubectl_manifest" "sync" {
for_each = { for v in local.sync : lower(join("/", compact([v.data.apiVersion, v.data.kind, lookup(v.data.metadata, "namespace", ""), v.data.metadata.name]))) => v.content }
depends_on = [kubernetes_namespace.flux_system]
yaml_body = each.value
}
resource "kubernetes_secret" "main" {
depends_on = [kubectl_manifest.install]
metadata {
name = data.flux_sync.main.secret
namespace = data.flux_sync.main.namespace
}
data = {
identity = tls_private_key.main.private_key_pem
"identity.pub" = tls_private_key.main.public_key_pem
known_hosts = local.known_hosts
}
}
resource "kubernetes_secret" "github_notifications" {
metadata {
name = "github"
namespace = data.flux_sync.main.namespace
}
data = {
token = var.github_token_flux_notifications
}
}
# GitHub # GitHub
resource "github_repository" "main" { resource "github_repository" "main" {
name = var.repository_name name = var.repository_name

View file

@ -1,128 +0,0 @@
module "k3s" {
source = "xunleii/k3s/module"
depends_on_ = hcloud_server.agents
k3s_version = var.install_k3s_version
cluster_domain = "cluster.local"
cidr = {
pods = "10.42.0.0/16"
services = "10.43.0.0/16"
}
drain_timeout = "30s"
managed_fields = ["label", "taint"] // ignore annotations
global_flags = [
"--kubelet-arg cloud-provider=external" // required to use https://github.com/hetznercloud/hcloud-cloud-controller-manager
]
servers = {
for i in range(length(hcloud_server.control_planes)) :
hcloud_server.control_planes[i].name => {
ip = hcloud_server_network.control_planes[i].ip
connection = {
type = "ssh"
host = hcloud_server.control_planes[i].ipv4_address
agent = true
}
flags = [
"--disable-cloud-controller",
"--tls-san ${var.domain}",
# We need to modify the helm release to work with one loadbalancer for api+ingress
"--disable traefik"
]
annotations = { "server_id" : i } // theses annotations will not be managed by this module
}
}
agents = {
for i in range(length(hcloud_server.agents)) :
"${hcloud_server.agents[i].name}_node" => {
name = hcloud_server.agents[i].name
ip = hcloud_server_network.agents_network[i].ip
connection = {
type = "ssh"
host = hcloud_server.agents[i].ipv4_address
}
labels = {}
taints = {}
}
}
}
provider "kubernetes" {
host = module.k3s.kubernetes.api_endpoint
cluster_ca_certificate = module.k3s.kubernetes.cluster_ca_certificate
client_certificate = module.k3s.kubernetes.client_certificate
client_key = module.k3s.kubernetes.client_key
}
resource "kubernetes_service_account" "admin" {
depends_on = [module.k3s.kubernetes_ready]
metadata {
name = "admin"
namespace = "default"
}
}
resource "kubernetes_cluster_role_binding" "admin" {
depends_on = [module.k3s.kubernetes_ready]
metadata {
name = "admin"
}
subject {
kind = "ServiceAccount"
name = "admin"
namespace = "default"
}
role_ref {
api_group = "rbac.authorization.k8s.io"
kind = "ClusterRole"
name = "cluster-admin"
}
}
data "kubernetes_secret" "sa_credentials" {
metadata {
name = kubernetes_service_account.admin.default_secret_name
namespace = "default"
}
}
## hcloud-cloud-controller-manager is necessary for cluster bootstrap
data "http" "hcloud_cloud_controller_manager" {
url = "https://raw.githubusercontent.com/hetznercloud/hcloud-cloud-controller-manager/v1.12.1/deploy/ccm-networks.yaml"
}
locals {
hccm_all_manifests = split("---", data.http.hcloud_cloud_controller_manager.body)
// first element is only comment
hccm_actual_manifests = slice(local.hccm_all_manifests, 1, length(local.hccm_all_manifests))
}
resource "kubernetes_manifest" "hcloud_cloud_controller_manager" {
for_each = toset(
local.hccm_actual_manifests
)
manifest = yamldecode(each.key)
}
resource "kubernetes_secret" "hcloud_token" {
metadata {
name = "hcloud"
namespace = "kube-system"
}
data = {
token = var.hcloud_ccm_token
network = hcloud_network.k3s.id
}
}

View file

@ -39,12 +39,18 @@ resource "hcloud_load_balancer_network" "k3s" {
} }
resource "hcloud_rdns" "k3s" { resource "hcloud_rdns" "k3s_ipv4" {
load_balancer_id = hcloud_load_balancer.k3s.id load_balancer_id = hcloud_load_balancer.k3s.id
ip_address = hcloud_load_balancer.k3s.ipv4 ip_address = hcloud_load_balancer.k3s.ipv4
dns_ptr = var.domain dns_ptr = var.domain
} }
resource "hcloud_rdns" "k3s_ipv6" {
load_balancer_id = hcloud_load_balancer.k3s.id
ip_address = hcloud_load_balancer.k3s.ipv6
dns_ptr = var.domain
}
### LB Ingress ### LB Ingress
resource "hcloud_load_balancer_service" "ingress_https" { resource "hcloud_load_balancer_service" "ingress_https" {
@ -60,3 +66,30 @@ resource "hcloud_load_balancer_service" "ingress_http" {
listen_port = 80 listen_port = 80
destination_port = 32080 destination_port = 32080
} }
### Domain
resource "hetznerdns_record" "ipv4" {
zone_id = var.dns_zone_id
name = var.domain
value = hcloud_load_balancer.k3s.ipv4
type = "A"
ttl = 60
}
resource "hetznerdns_record" "ipv6" {
zone_id = var.dns_zone_id
name = var.domain
value = hcloud_load_balancer.k3s.ipv6
type = "AAAA"
ttl = 60
}
resource "hetznerdns_record" "wildcard" {
# *.domain CNAME domain
zone_id = var.dns_zone_id
name = "*"
value = var.domain
type = "CNAME"
ttl = 60
}

View file

@ -1,18 +0,0 @@
output "summary" {
value = module.k3s.summary
}
output "kubernetes" {
description = "Authentication credentials of Kubernetes (full administrator)."
value = {
token = data.kubernetes_secret.sa_credentials.data.token
cluster_ca_certificate = module.k3s.kubernetes.cluster_ca_certificate
api_endpoint = "https://${var.domain}:6443"
}
sensitive = true
}
output "kubernetes_ready" {
description = "Dependency endpoint to synchronize k3s installation and provisioning."
value = module.k3s.kubernetes_ready
}

View file

@ -41,6 +41,10 @@ variable "domain" {
type = string type = string
} }
variable "dns_zone_id" {
type = string
}
variable "install_k3s_version" { variable "install_k3s_version" {
type = string type = string
default = "v1.22.4+k3s1" default = "v1.22.4+k3s1"

View file

@ -6,6 +6,9 @@ terraform {
hcloud = { hcloud = {
source = "hetznercloud/hcloud" source = "hetznercloud/hcloud"
} }
hetznerdns = {
source = "timohirt/hetznerdns"
}
tls = { tls = {
source = "hashicorp/tls" source = "hashicorp/tls"
} }

View file

@ -1,30 +0,0 @@
provider "kubernetes" {
host = module.k3s_cluster_v2.kubernetes.api_endpoint
cluster_ca_certificate = module.k3s_cluster_v2.kubernetes.cluster_ca_certificate
token = module.k3s_cluster_v2.kubernetes.token
}
resource "local_file" "kubeconfig-v2" {
filename = "${path.module}/kubeconfig-v2.yaml"
content = <<EOF
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: ${base64encode(module.k3s_cluster_v2.kubernetes.cluster_ca_certificate)}
server: ${module.k3s_cluster_v2.kubernetes.api_endpoint}
name: home-cloud-v2
contexts:
- context:
cluster: home-cloud-v2
user: admin
name: home-cloud-v2
current-context: home-cloud-v2
kind: Config
preferences: {}
users:
- name: admin
user:
token: ${module.k3s_cluster_v2.kubernetes.token}
EOF
}

View file

@ -15,6 +15,7 @@ module "k3s_cluster_v2" {
control_count = 1 control_count = 1
compute_count = 1 compute_count = 1
domain = "c2.apricote.de" domain = "c2.apricote.de"
dns_zone_id = hetznerdns_zone.apricote_de.id
ssh_key = file("~/.ssh/id_rsa.pub") ssh_key = file("~/.ssh/id_rsa.pub")
hcloud_ccm_token = var.hcloud_ccm_token hcloud_ccm_token = var.hcloud_ccm_token
@ -30,5 +31,6 @@ module "k3s_cluster_v2" {
providers = { providers = {
hcloud = hcloud hcloud = hcloud
hetznerdns = hetznerdns
} }
} }

View file

@ -1,3 +1 @@
output "summary" {
value = module.k3s_cluster_v2.summary
}