{
    "componentChunkName": "component---src-templates-issues-tsx",
    "path": "/issues/560",
    "result": {"data":{"issuesJson":{"id":"4592f3c8-3f85-5503-9870-297d6218ab28","title":"jrhouston/tfk8s: 一个用于将 Kubernetes 的 YAML 清单转换为 Terraform 的 HCL 的工具。","number":560,"bodyHTML":"<div align=\"center\" dir=\"auto\">\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a><br><br></p>\n<markdown-accessiblity-table><table role=\"table\">\n<thead>\n<tr>\n<th align=\"right\">Repos</th>\n<th align=\"left\"><a href=\"https://github.com/jrhouston/tfk8s\">jrhouston/tfk8s</a></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"right\"><strong>Views</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/6416c5be861060706db853b74485b328cc6c453d54fcf361e93da296680e07f4/68747470733a2f2f76696577732e77686174696c656172656e65642e746f6461792f76696577732f6769746875622f6a72686f7573746f6e2f74666b38732e737667\" alt=\"views\" data-canonical-src=\"https://views.whatilearened.today/views/github/jrhouston/tfk8s.svg\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Stars</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/2f31783e3f8735ab8f9fc9035baef6d82e442c1068bafda1a3188cf47381cdae/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6a72686f7573746f6e2f74666b38733f636f6c6f723d663266303864266c6f676f3d556e64657274616c65266c6f676f436f6c6f723d656234363330\" alt=\"stars\" data-canonical-src=\"https://img.shields.io/github/stars/jrhouston/tfk8s?color=f2f08d&amp;logo=Undertale&amp;logoColor=eb4630\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Forks</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/ff6ea2ee25ab3952d74d49eb76ba974977d261128836ce1ceb3bdbdb5cd6d0f7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6a72686f7573746f6e2f74666b38733f636f6c6f723d626138366562266c6f676f3d48616e647368616b65266c6f676f436f6c6f723d656136616136\" alt=\"forks\" data-canonical-src=\"https://img.shields.io/github/forks/jrhouston/tfk8s?color=ba86eb&amp;logo=Handshake&amp;logoColor=ea6aa6\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>License</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/fed2d04a107c7f21f90f520c33a825ec5ff367f6197ca8dbb469d6d8fa4c759b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6a72686f7573746f6e2f74666b38733f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e53556845556741414144414141414177434159414141425841766d48414141414358424957584d41414173544141414c457745416d70775941414144336b6c45515652346e4f335953557a5555426748384a726f57567255474a66456d3773584e63534446784d544c327069347348456778654e526f77586770455742445552522532424e414e4f4b4f4b36366f6f4b4a4742586545475263574163455646475152484677516d483525324630774861655748493944554455354c356b6e6568644f62377a66652532423139636e434a47495243516945596c514237594a4979474c38616f73756c565a36695246516a69474b6b7564576735614c6c704f70704e586e665071773555304459524a6d56786a4367464633424c755a476d416f5655694b4541726d583744375553677351706f72674761336748664b34483663754262435644334771683141352532424c6745253242467749656e514d306a6f446f66714c6f48564e7742796d384370546e416d327a51713073676478624964515a556c416b7150415a3664676a303541446f59526f6f66792532466f5869726f376b3551586a4c6f70677a4b69514e6c4c4461716f4967754577426a7a7150355066446a45394479495879493633464d547751464d43567271774e61763451666f52673538514625324266724d485172454b3844546f434d714e4179574e4866786d54526f4c4f726d5352566747744466714345715a4f4851727a6f34706243557341333431365169364551394b476a6345465267484f724f4b6e5536574162396247455459656b4b7843766a546167394534706a653534446b3551503862624d4859762532464333756541654a6b50304f4778422532424a70426e4172595238455951516e6f4e31414e4661426e5050356c385372736559514c303641646b30464a5938484f5761424d6c6541486a683068506f73497a6c6f3876304125324633345a694f6548726130714b52504d5653493774762532423932747725324676687855654252713456454c674d376642714b354770526d6f514c584e7075625475367a6f4e52706754386e5051627138347764253246494375767978694b4871694e41664933774d367549684271476b4c696977414f734b44714f68743749747239567938536a52424557667941627225324668523142667056514664484a42253246423268683778376a36517077435665655951326b72554235436c636a3641326d3067576a25324244306d4c34397a573563517943484c4e37726a6c6d6d6174457958582532464372547a412532466f51785a6b576c39474a5443566f25324279546a3837253242346769504b6376307149486f344156344430565a727251493334706e70524d36357875652532467a417265453425324654253246536f676c664542794d7369517441546c4c3352414a355948725378365a44665337307337754d486842705225324659423573305057366f455270316236253246667252684b3353444c35546965364f515548516c5133735644752532427a50636b397657453973747225324236496a533967486d5750616861444a25324277434b364e494242587348423948796b587378774470686c436d416476706c6162554a4e6e5a504239342532464e7436784f6538587a4562503257684d335741673147756236744825324233513150673337365239713475716c6e6f36676448476a444f5139306562303141484d3672596975554a314f713472344656756a35765239427a4d3957674e764f7977446869495951467667626366774166774d764863615067425041253246447948476a50624e394138616d6562636477416444354e6633373574787165774e5552656f797677424958594c645170576c6877465771745061435044334173467541535636717171496c62304a766b564331464c39576b4c55556c55574b337a585a4c46432532423125324642726f46746f364f7358497545594a5034447a7a5732594656316f4a614141414141456c46546b5375516d4343\" alt=\"license\" data-canonical-src=\"https://img.shields.io/github/license/jrhouston/tfk8s?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD3klEQVR4nO3YSUzUUBgH8JroWVrUGJfEm7sXNcSDFxMTL2pi4sHEgxeNRowXgpEWBDURR%2BNANOKOK66ooKJGBXeEGRcWAcEVFGQRHFwQmH5%2F0wHaeWHI9DUDU5L5knehdOb7zfe%2B19cnCJGIRCQiEYlQB7YJIyGL8aosulVZ6iRFQjiGKkudWg5aLlpOppNXnfPqw5U0DYRJmVxjCgFF3BLuZGmAoVUiKEArmX7D7USgsQporgGa3gHfK4H6cuBbCVD3Gqh1A5%2BLgE%2BFwIenQM0joDofqLoHVNwBym8CpTnAm2zQq0sgdxbIdQZUlAkqPAZ6dgj05ADoYRoofy%2FoXiro7k5QXjLopgzKiQNlLDaqoIguEwBjzqP5PfDjE9DyIXyI63FMTwQFMCVrqwNav4QfoRg58QF%2BfrMHQrEK8DToCMqNAyWNHfxmTRoLOrmSRVgGtDfqCEqZOHQrzo4pbCUsA3416Qi6EQ9KGjcEFRgHOrOKnU6WAb9bGETYekKxCvjTag9E4pje54Dk5QP8bbMHYv%2FC3ueAeJkP0OGxB%2BJpBnArYR8EYQQnoN1ANFaBnPP5l8SrseYQL06Adk0FJY8HOWaBMleAHjh0hPosIzlo8v0A%2F34ZiOeHra0qKRPMVSI7tv%2B92tw%2FvhxUeBRq4VELgM7fBqK5GpRmoQLXNpubTu6zoNRpgT8nPQbq84wd%2FICuvyxiKHqiNAfI3wM6uIhBqGkLiiwAOsKDqOht7Itr9Vy8SjRBEWfyAbr%2FhR1BfpVQFdHJB%2FB2hh7x7j6QpwCVeeYQ2krUB5Clcj6A2m0gWj%2BD0mL49zW5cQyCHLN7rjlmmatEyXX%2FCrTzA%2FoQxZkWl9GJTCVo%2ByTj87%2B4giPKcv0qIHo4AV4D0VZrrQI34pnpRM65xue%2FzAreE4%2FT%2FSoglfEByMsiQtATlL3RAJ5YHrSx6ZDfS70s7uMHhBpR%2FYB5s0PW6oERp1b6%2FfrRhK3SDL5Tie6OQUHQlQ3sVDu%2BzPck9vWE9str%2B6IjS9gHmWPahaDJ%2BwCK6NIBBXsHB9HykXsxwDphlCmAdvplabUJNnZPB94%2FNt6xOe8XzEbP2WhM3WAg1Gub6tH%2B3Q1Pg376R9q4uqlno6gdHGjDOQ90eb01AHM6rYiuUJ1Oq4r4FVuj5vR9BzM9WgNvOywDhiIYQFvgbcfwAfwMvHcaPgBPA%2FDyHGjPbN9A8amebcdwAdD5Nf375txqewNUReoyvwBIXYLdQpWlhwFWqtPaCPD3AsFuASV6qqqIlb0JvkVC1FL9WkLUUlUWK3zXZLFC%2B1%2FBroFto6OsXIuEYJP4DzzW2YFV1oJaAAAAAElFTkSuQmCC\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>UpdatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/7ddffc0a7da79af3b0553938a09982cdda2129cdf590b4eb89c92c66fbc424a0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6a72686f7573746f6e2f74666b38733f646973706c61795f74696d657374616d703d636f6d6d6974746572266c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d557064617465644174\" alt=\"last-commit\" data-canonical-src=\"https://img.shields.io/github/last-commit/jrhouston/tfk8s?display_timestamp=committer&amp;logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=UpdatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>CreatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/9fc578a0c95e55b33e72741ccfb0e231b5f44f03e6a929fe583cae0df06cc532/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f637265617465642d61742f6a72686f7573746f6e2f74666b38733f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d437265617465644174\" alt=\"create-at\" data-canonical-src=\"https://img.shields.io/github/created-at/jrhouston/tfk8s?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=CreatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n</tbody>\n</table></markdown-accessiblity-table>\n<a href=\"https://github.com/opsre/awesome-ops\">\n</a><p dir=\"auto\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/b964a36ea4078c39f603d46a29436371c7541a2f26e0228d7b21b9d9805b43d3/68747470733a2f2f736f6369616c6966792e6769742e63692f6f707372652f617765736f6d652d6f70732f696d6167653f6465736372697074696f6e3d3126666f6e743d42697474657226666f726b733d31266973737565733d31266c616e67756167653d31266c6f676f3d6874747073253341253246253246617661746172732e67697468756275736572636f6e74656e742e636f6d25324675253246313838353638303230266e616d653d31266f776e65723d31267061747465726e3d436972637569742b426f6172642670756c6c733d31267374617267617a6572733d31267468656d653d4c69676874\" alt=\"\" data-canonical-src=\"https://socialify.git.ci/opsre/awesome-ops/image?description=1&amp;font=Bitter&amp;forks=1&amp;issues=1&amp;language=1&amp;logo=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F188568020&amp;name=1&amp;owner=1&amp;pattern=Circuit+Board&amp;pulls=1&amp;stargazers=1&amp;theme=Light\" style=\"max-width: 100%;\"></a></p>\n<a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a>\n</div>\n<p dir=\"auto\">tfk8s <a href=\"https://goreportcard.com/report/github.com/jrhouston/tfk8s\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/e8de615017bda1181935c5b33742557af0c3aeff09ce1c64d5446cadd036fb52/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6a72686f7573746f6e2f74666b3873\" alt=\"Go Report Card\" data-canonical-src=\"https://goreportcard.com/badge/github.com/jrhouston/tfk8s\" style=\"max-width: 100%;\"></a> <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/jrhouston/tfk8s/actions/workflows/test.yaml/badge.svg\"><img src=\"https://github.com/jrhouston/tfk8s/actions/workflows/test.yaml/badge.svg\" alt=\"tests\" style=\"max-width: 100%;\"></a></p>\n<hr>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/c58dd5eb0a484fd22a12741c030a3eaf194b6f3e5fcddeef0a0392f5912d79a8/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f673847664833693546306862792f67697068792e676966\"><img src=\"https://camo.githubusercontent.com/c58dd5eb0a484fd22a12741c030a3eaf194b6f3e5fcddeef0a0392f5912d79a8/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f673847664833693546306862792f67697068792e676966\" alt=\"\" data-animated-image=\"\" data-canonical-src=\"https://media.giphy.com/media/g8GfH3i5F0hby/giphy.gif\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\"><code class=\"notranslate\">tfk8s</code> is a tool that makes it easier to work with the <a href=\"https://github.com/hashicorp/terraform-provider-kubernetes\">Terraform Kubernetes Provider</a>.</p>\n<p dir=\"auto\">If you want to copy examples from the Kubernetes documentation or migrate existing YAML manifests and use them with Terraform without having to convert YAML to HCL by hand, this tool is for you.</p>\n<ul dir=\"auto\">\n<li><a href=\"#demo\">Demo</a></li>\n<li><a href=\"#features\">Features</a></li>\n<li><a href=\"#install\">Install</a></li>\n<li><a href=\"#usage\">Usage</a></li>\n<li><a href=\"#examples\">Examples</a>\n<ul dir=\"auto\">\n<li><a href=\"#create-terraform-configuration-from-yaml-files\">Create Terraform configuration from YAML files</a></li>\n<li><a href=\"#use-with-kubectl-to-output-maps-instead-of-yaml\">Use with kubectl to output maps instead of YAML</a></li>\n<li><a href=\"#convert-a-helm-chart-to-terraform\">Convert a Helm chart to Terraform</a></li>\n<li><a href=\"#convert-a-directory-tree-of-manifests-to-terraform\">Convert a directory tree of manifests to Terraform</a></li>\n</ul>\n</li>\n</ul>\n<h2 dir=\"auto\">Demo</h2>\n<p dir=\"auto\"><a href=\"https://asciinema.org/a/jSmyAg4Ar6EcwKCTCXN8iAJM2\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/cd902165b159d22ab558caa55898fadccfabd86f5285fdaef4698ffe5cd376a6/68747470733a2f2f61736369696e656d612e6f72672f612f6a536d794167344172364563774b435443584e3869414a4d322e737667\" width=\"250\" data-canonical-src=\"https://asciinema.org/a/jSmyAg4Ar6EcwKCTCXN8iAJM2.svg\" style=\"max-width: 100%;\"></a></p>\n<h2 dir=\"auto\">Features</h2>\n<ul dir=\"auto\">\n<li>Convert a YAML file containing multiple manifests</li>\n<li>Strip out server side fields when piping <code class=\"notranslate\">kubectl get $R -o yaml | tfk8s --strip</code></li>\n</ul>\n<h2 dir=\"auto\">Install</h2>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"go install github.com/jrhouston/tfk8s@latest\"><pre class=\"notranslate\"><code class=\"notranslate\">go install github.com/jrhouston/tfk8s@latest\n</code></pre></div>\n<p dir=\"auto\">Alternatively, clone this repo and run:</p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"make install\"><pre class=\"notranslate\"><code class=\"notranslate\">make install\n</code></pre></div>\n<p dir=\"auto\">If Go's bin directory is not in your <code class=\"notranslate\">PATH</code> you will need to add it:</p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"export PATH=$PATH:$(go env GOPATH)/bin\"><pre class=\"notranslate\"><code class=\"notranslate\">export PATH=$PATH:$(go env GOPATH)/bin\n</code></pre></div>\n<p dir=\"auto\">Or you can install via <a href=\"https://formulae.brew.sh/formula/tfk8s\" rel=\"nofollow\">brew</a> for macOS/Linux:</p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"brew install tfk8s\"><pre class=\"notranslate\"><code class=\"notranslate\">brew install tfk8s\n</code></pre></div>\n<p dir=\"auto\">On macOS, you can also install via <a href=\"https://www.macports.org\" rel=\"nofollow\">MacPorts</a>:</p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"sudo port install tfk8s\"><pre class=\"notranslate\"><code class=\"notranslate\">sudo port install tfk8s\n</code></pre></div>\n<h2 dir=\"auto\">Usage</h2>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"Usage of tfk8s:\n  -f, --file string         Input file containing Kubernetes YAML manifests (default &quot;-&quot;)\n  -M, --map-only            Output only an HCL map structure\n  -o, --output string       Output file to write Terraform config (default &quot;-&quot;)\n  -p, --provider provider   Provider alias to populate the provider attribute\n  -s, --strip               Strip out server side fields - use if you are piping from kubectl get\n  -Q, --strip-key-quotes    Strip out quotes from HCL map keys unless they are required.\n  -V, --version             Show tool version\"><pre class=\"notranslate\"><code class=\"notranslate\">Usage of tfk8s:\n  -f, --file string         Input file containing Kubernetes YAML manifests (default \"-\")\n  -M, --map-only            Output only an HCL map structure\n  -o, --output string       Output file to write Terraform config (default \"-\")\n  -p, --provider provider   Provider alias to populate the provider attribute\n  -s, --strip               Strip out server side fields - use if you are piping from kubectl get\n  -Q, --strip-key-quotes    Strip out quotes from HCL map keys unless they are required.\n  -V, --version             Show tool version\n</code></pre></div>\n<h2 dir=\"auto\">Examples</h2>\n<h3 dir=\"auto\">Create Terraform configuration from YAML files</h3>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"tfk8s -f input.yaml -o output.tf\"><pre class=\"notranslate\"><code class=\"notranslate\">tfk8s -f input.yaml -o output.tf\n</code></pre></div>\n<p dir=\"auto\">or, using pipes:</p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"cat input.yaml | tfk8s &gt; output.tf\"><pre class=\"notranslate\"><code class=\"notranslate\">cat input.yaml | tfk8s &gt; output.tf\n</code></pre></div>\n<p dir=\"auto\"><strong>input.yaml</strong>:</p>\n<div class=\"highlight highlight-source-yaml notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"---\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: test\ndata:\n  TEST: test\"><pre class=\"notranslate\">---\n<span class=\"pl-ent\">apiVersion</span>: <span class=\"pl-c1\">v1</span>\n<span class=\"pl-ent\">kind</span>: <span class=\"pl-s\">ConfigMap</span>\n<span class=\"pl-ent\">metadata</span>:\n  <span class=\"pl-ent\">name</span>: <span class=\"pl-s\">test</span>\n<span class=\"pl-ent\">data</span>:\n  <span class=\"pl-ent\">TEST</span>: <span class=\"pl-s\">test</span></pre></div>\n<p dir=\"auto\">✨✨ magically becomes ✨✨</p>\n<p dir=\"auto\"><strong>output.tf</strong>:</p>\n<div class=\"highlight highlight-source-hcl notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"resource &quot;kubernetes_manifest&quot; &quot;configmap_test&quot; {\n  manifest = {\n    &quot;apiVersion&quot; = &quot;v1&quot;\n    &quot;data&quot; = {\n      &quot;TEST&quot; = &quot;test&quot;\n    }\n    &quot;kind&quot; = &quot;ConfigMap&quot;\n    &quot;metadata&quot; = {\n      &quot;name&quot; = &quot;test&quot;\n    }\n  }\n}\"><pre class=\"notranslate\"><span class=\"pl-en\">resource</span> <span class=\"pl-smi\">\"kubernetes_manifest\"</span> <span class=\"pl-smi\">\"configmap_test\"</span> {\n  <span class=\"pl-v\"><span class=\"pl-smi\">manifest</span> <span class=\"pl-k\">=</span> </span>{\n    <span class=\"pl-pds\">\"</span>apiVersion<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>v1<span class=\"pl-pds\">\"</span></span>\n    <span class=\"pl-pds\">\"</span>data<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> {\n      <span class=\"pl-pds\">\"</span>TEST<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>test<span class=\"pl-pds\">\"</span></span>\n    }\n    <span class=\"pl-pds\">\"</span>kind<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>ConfigMap<span class=\"pl-pds\">\"</span></span>\n    <span class=\"pl-pds\">\"</span>metadata<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> {\n      <span class=\"pl-pds\">\"</span>name<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>test<span class=\"pl-pds\">\"</span></span>\n    }\n  }\n}</pre></div>\n<h3 dir=\"auto\">Use with kubectl to output maps instead of YAML</h3>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"kubectl get ns default -o yaml | tfk8s -M\"><pre class=\"notranslate\"><code class=\"notranslate\">kubectl get ns default -o yaml | tfk8s -M\n</code></pre></div>\n<div class=\"highlight highlight-source-hcl notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"{\n  &quot;apiVersion&quot; = &quot;v1&quot;\n  &quot;kind&quot; = &quot;Namespace&quot;\n  &quot;metadata&quot; = {\n    &quot;creationTimestamp&quot; = &quot;2020-05-02T15:01:32Z&quot;\n    &quot;name&quot; = &quot;default&quot;\n    &quot;resourceVersion&quot; = &quot;147&quot;\n    &quot;selfLink&quot; = &quot;/api/v1/namespaces/default&quot;\n    &quot;uid&quot; = &quot;6ac3424c-07a4-4a69-86ae-cc7a4ae72be3&quot;\n  }\n  &quot;spec&quot; = {\n    &quot;finalizers&quot; = [\n      &quot;kubernetes&quot;,\n    ]\n  }\n  &quot;status&quot; = {\n    &quot;phase&quot; = &quot;Active&quot;\n  }\n}\"><pre class=\"notranslate\">{\n  <span class=\"pl-pds\">\"</span>apiVersion<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>v1<span class=\"pl-pds\">\"</span></span>\n  <span class=\"pl-pds\">\"</span>kind<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>Namespace<span class=\"pl-pds\">\"</span></span>\n  <span class=\"pl-pds\">\"</span>metadata<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> {\n    <span class=\"pl-pds\">\"</span>creationTimestamp<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>2020-05-02T15:01:32Z<span class=\"pl-pds\">\"</span></span>\n    <span class=\"pl-pds\">\"</span>name<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>default<span class=\"pl-pds\">\"</span></span>\n    <span class=\"pl-pds\">\"</span>resourceVersion<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>147<span class=\"pl-pds\">\"</span></span>\n    <span class=\"pl-pds\">\"</span>selfLink<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>/api/v1/namespaces/default<span class=\"pl-pds\">\"</span></span>\n    <span class=\"pl-pds\">\"</span>uid<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>6ac3424c-07a4-4a69-86ae-cc7a4ae72be3<span class=\"pl-pds\">\"</span></span>\n  }\n  <span class=\"pl-pds\">\"</span>spec<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> {\n    <span class=\"pl-pds\">\"</span>finalizers<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> [\n      <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>kubernetes<span class=\"pl-pds\">\"</span></span>,\n    ]\n  }\n  <span class=\"pl-pds\">\"</span>status<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> {\n    <span class=\"pl-pds\">\"</span>phase<span class=\"pl-pds\">\"</span> <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>Active<span class=\"pl-pds\">\"</span></span>\n  }\n}</pre></div>\n<h3 dir=\"auto\">Convert a Helm chart to Terraform</h3>\n<p dir=\"auto\">You can use <code class=\"notranslate\">helm template</code> to generate a manifest from the chart, then pipe it into tfk8s:</p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"helm template ./chart-path -f values.yaml | tfk8s\"><pre class=\"notranslate\"><code class=\"notranslate\">helm template ./chart-path -f values.yaml | tfk8s\n</code></pre></div>\n<h2 dir=\"auto\">Convert a directory tree of manifests to Terraform</h2>\n<p dir=\"auto\">You can use <code class=\"notranslate\">tfk8s</code> in conjunction with <code class=\"notranslate\">find</code> to convert an entire directory recursively:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"find dirname/ -name '*.yaml' -type f -exec sh -c 'tfk8s -f {} -o $(echo {} | sed &quot;s/\\.[^.]*$//&quot;).tf' \\;\"><pre class=\"notranslate\">find dirname/ -name <span class=\"pl-s\"><span class=\"pl-pds\">'</span>*.yaml<span class=\"pl-pds\">'</span></span> -type f -exec sh -c <span class=\"pl-s\"><span class=\"pl-pds\">'</span>tfk8s -f {} -o $(echo {} | sed \"s/\\.[^.]*$//\").tf<span class=\"pl-pds\">'</span></span> <span class=\"pl-cce\">\\;</span></pre></div>","updatedAt":"2025-05-22T01:50:43Z","upvoteCount":null,"author":{"login":"eryajf","avatarUrl":"https://avatars.githubusercontent.com/u/33259379?u=e4a4090a38ac2473aaed4ef9945233636776c6c3&v=4","url":"https://github.com/eryajf"},"category":null,"labels":{"edges":[{"node":{"name":"更多","color":"25B472"}},{"node":{"name":"K8S-Tools","color":"2d411a"}},{"node":{"name":"jrhouston","color":"f3fee9"}}]},"comments":{"edges":[]}}},"pageContext":{"number":560,"previous":{"title":"hashicorp/terraform: Terraform 让您能够安全且可预测地创建、更改和改进基础设施。","number":559},"next":{"title":"thanos-io/thanos: 为 Prometheus 提供进行长期存储能力和高可用性","number":561}}},
    "staticQueryHashes": ["151096407","2861350382"]}