diff --git a/.gitignore b/.gitignore index 5eaab15..45a854f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Local .terraform directories **/.terraform/* +plans/* # .tfstate files *.tfstate @@ -35,4 +36,6 @@ override.tf.json # Ignore CLI configuration files .terraformrc terraform.rc + +.terraform.lock.hcl plans diff --git a/.terraform.lock.hcl b/.terraform.lock.hcl deleted file mode 100644 index fd9184f..0000000 --- a/.terraform.lock.hcl +++ /dev/null @@ -1,70 +0,0 @@ -# This file is maintained automatically by "terraform init". -# Manual edits may be lost in future updates. - -provider "registry.terraform.io/hashicorp/aws" { - version = "5.63.0" - constraints = ">= 2.0.0" - hashes = [ - "h1:mhVxzwfSZVxPJNZsr1fvKZe51+48BdM7pzWChVQ4v68=", - "zh:21f3a6870dd80b8312b6aac28784b29a7c2cf072175f0de943f09bddbf14cad6", - "zh:28feb0621baeaa9b6992a6209fd0d7ad1c665b1dd895123f2fd36d91d69d116f", - "zh:301d51b398c3e3488ea2b63defeb254436854c83046d9fc5ca129b13faaa4319", - "zh:343e89645a2b23363226e2e0571639637ac1ddf7fa8c562bf883b17c8ad30d7d", - "zh:56c89148fc105a1bf32ffcd574ec1e679144377ea26c9ae4211dd491a3def358", - "zh:5e3b88e3eb28b23819126d43b191a2bda28a09d7690aee7e577b3b6235c4824a", - "zh:64c21f3b38a8f0f0ef8b938df71cde76d77e010236bb6a0b46f66daa6cab6f99", - "zh:6869e5fafe6535954ac75ece63e9765d6b12d1752b54cf9639a01585f1a5583e", - "zh:90a6894868c585a5abf00e784723d74ea80aff3d0403b36028c4b08c5c4894d6", - "zh:92e9e4b7c183e518c1decd0fbc780e9f1941d05710c9c20329c78556a7f0adac", - "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", - "zh:bbc053d060d4f6e95ef60549a0e92487fbbd88807f8161507cc389edc7dde0f7", - "zh:cfd8e88029a2fdafdfa77688f966705ade9211d173cbb6aa1552839c9993c19a", - "zh:d291875c26a6a05b60e02f1481c296269080232fa0ae86cce5caa04a6df82ed6", - "zh:f42f0b81587de0c51859e37cd671c442d8eaf42558d83c6421b1e46549576f89", - ] -} - -provider "registry.terraform.io/hashicorp/github" { - version = "6.2.3" - hashes = [ - "h1:nHTegsQYYUJZbaTnU1aMJBgnZUbR2zsfCl7DsL/kZjQ=", - "zh:05874671652a260b12d784cc46b0eea156f493a5f12e00368d1f6cb319156257", - "zh:0c7a3cae5a66e5c5efc3b25ba646a0d46bfe1fd3edba1f5a75f51aede85a9d1b", - "zh:174310010d08f13e36e53ff18e44a21dd040c89884ef190a192c6ce27926a912", - "zh:23d1d8731e518354ce6a83419f49101aece63882b0ca7c489f3c598cc6ea5d5e", - "zh:4e88953816daf11ab1681c32c7988d4e29476fc44f0959fe03173532cf5044de", - "zh:6fab07734ccf27f5afee4442abae2d33245eabf35519032ce1e2aad6961a640a", - "zh:7b2f324b918e161c892c29ee80d36c48ca8b891b8047e132fc701ca741e5ae72", - "zh:8ef4f0d691ade98082ef1f6b36e556468e5ab26e60021f0de0fb22e3acdfd990", - "zh:8f0f3e139faa8f2b9075bb9978dd683f4bab5ac91171bbb969addd04d7f0b90f", - "zh:97cb6d7fdf640237cc2f0ab830db8f878770968c59fd28298e9dddb8b9e6294d", - "zh:a17038d8747c6bb660e4c5981e8ffbbc33c66ba164868fd35d442e7f828a1e01", - "zh:aa9f4b7d947f7b11277b4e9ba7147f5594cf60a6589b7aac4344f73d1400d1c0", - "zh:c780b951e14d583ef6ffef9a934831b56ee157c50ed8e969c676a636810f7db1", - "zh:d8497bb2986fd76107b7208b33cc39281797164fdea09453e987b969a461befb", - "zh:fbd1fee2c9df3aa19cf8851ce134dea6e45ea01cb85695c1726670c285797e25", - ] -} - -provider "registry.terraform.io/integrations/github" { - version = "6.2.2" - constraints = ">= 6.2.2, 6.2.2" - hashes = [ - "h1:3gbrNGsK0dQ5zpN0qeHm3uNdWJl+f760+VtV2GJZ8Vg=", - "zh:43d7e5f1e11d67e38ca717016d209d6d9a6fa03321b489f91984351bfb143b69", - "zh:46e788395034b410bf59dfa43eb748a3d81ecfd23fc442349990fd7d92bd856a", - "zh:5234b7d5c5817ff7ebec29756050708372a071a701e2c8236e714a0bd29ef160", - "zh:74c485a241cc8e8cb99f988d38116fb14e51de896761fc9ca35a34ca5c999a7e", - "zh:7606789521c50937913ea13f851150828b5f9b8804ba80c5b2538c0b019339d8", - "zh:760fb0e74590459689c7159456b6e76f165634f7d0f89f5572d56b57d387f645", - "zh:7979d9085d809bb7d0db2c67e6c3443d1c18d12e51b72220dcb4cc5e883cd64a", - "zh:8bed25d8199bf8b2e7ccf67edc1a4a2fc041bd490b2c11565c669b80be43896c", - "zh:9ff82a6279fb7ae0cd9e44f1e73b64dd2aeca43d4d3096f3f2866b1ebbcb9431", - "zh:a886055ecd63ccb9b880e3c3301c0eca9acb108580d12519617554ae2be9a393", - "zh:c1f20386704919c7964a95daffcb29f494efb061abc28469840df4532833cecf", - "zh:cb6e9c4e33d6a57770073867e174c09c0eed401ee70473a688d20cb1cf0394f7", - "zh:f89ca130cc90b87dc25d036fe8f8cadb6fb53dc33368a032c5cee6275f3bcddc", - "zh:f94a2d1174091f04ed361192cdda9503baa3d161849d4f218c55a96bfb1ea33d", - "zh:fbd1fee2c9df3aa19cf8851ce134dea6e45ea01cb85695c1726670c285797e25", - ] -} diff --git a/main.tf b/main.tf index 6c72d56..c21d29e 100644 --- a/main.tf +++ b/main.tf @@ -6,7 +6,8 @@ locals { gomez385 = "push" } pull_request_bypassers = [ - "arnol377" + "arnol377", + "gomez385" ] } diff --git a/morpheus.tf b/morpheus.tf new file mode 100644 index 0000000..dde3497 --- /dev/null +++ b/morpheus.tf @@ -0,0 +1,50 @@ +locals { + morpheus_repos = [ + "morpheus-clouds", + ] +} + + +module "morpheus_repos" { + for_each = toset(local.morpheus_repos) + source = "HappyPathway/repo/github" + #github_codeowners_team = "CSVD" + github_repo_description = "Repo for morpheus cloud" + repo_org = "CSVD" + name = each.value + github_repo_topics = [ + "terraform", + "morpheus", + ] + force_name = true + create_codeowners = false + enforce_prs = true + collaborators = { gomez385 = "admin", arnol377 = "admin" } + pull_request_bypassers = local.pull_request_bypassers + managed_extra_files = [ + { + path = ".github/workflows/terraform-plan.yaml" + content = templatefile( + "${path.module}/workflows/terraform-plan.yaml.tpl", + { + repo_name = each.value + directory = null + git_owner = { + name = "gomez385" + email = "james.f.gomez@census.gov" + } + } + ) + }, + { + path = ".github/workflows/terraform-apply.yaml" + content = templatefile( + "${path.module}/workflows/terraform-apply.yaml.tpl", + { + repo_name = each.value + directory = null + } + ) + } + ] +} \ No newline at end of file