secrets.tf 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. # Set up some basic secret configuration. We don't want the secrets themselves in here. They'll have to be hand-entered. But this will set up the scaffolding.
  2. output "secrets_manager_reminder" {
  3. value = "REMINDER: If this is your first time, don't forget to update the secrets in secrets manager."
  4. }
  5. # tfsec:ignore:aws-ssm-secret-use-customer-key
  6. resource "aws_secretsmanager_secret" "codebuild_ghe_key" {
  7. name = "GHE/mdr-aws-codebuild/key"
  8. description = "GitHub Personal Access Key for the mdr-aws-codebuild account"
  9. recovery_window_in_days = 30
  10. tags = merge(local.standard_tags, var.tags)
  11. }
  12. # This just seeds an initial value. It will not be overwritten each update.
  13. resource "aws_secretsmanager_secret_version" "codebuild_ghe_secret_version" {
  14. secret_id = aws_secretsmanager_secret.codebuild_ghe_key.id
  15. secret_string = "SETME"
  16. }
  17. #####################
  18. # GitHub Runners Need WebHook Secrets
  19. # and Keys
  20. locals {
  21. ghe_orgs_with_runners = {
  22. test = toset([
  23. "MDR-Engineering"
  24. ]),
  25. prod = toset([
  26. "mdr-engineering"
  27. ])
  28. }[var.environment]
  29. }
  30. # tfsec:ignore:aws-ssm-secret-use-customer-key
  31. resource "aws_secretsmanager_secret" "github-runners-webhook-secret" {
  32. for_each = local.ghe_orgs_with_runners
  33. name = "GHE/runners/${each.value}/webhook_secret"
  34. description = "Webhook Secret for GitHub Runners for ${each.value}"
  35. recovery_window_in_days = 30
  36. tags = merge(local.standard_tags, var.tags)
  37. }
  38. # This just seeds an initial value. It will not be overwritten each update.
  39. resource "aws_secretsmanager_secret_version" "github-runners-webhook-secret" {
  40. for_each = local.ghe_orgs_with_runners
  41. secret_id = aws_secretsmanager_secret.github-runners-webhook-secret[each.value].id
  42. secret_string = "SETME"
  43. }
  44. # tfsec:ignore:aws-ssm-secret-use-customer-key
  45. resource "aws_secretsmanager_secret" "github-runners-webhook-key" {
  46. for_each = local.ghe_orgs_with_runners
  47. name = "GHE/runners/${each.value}/webhook_key"
  48. description = "Base64 Encoded Webhook Key for GitHub Runners for ${each.value}"
  49. recovery_window_in_days = 30
  50. tags = merge(local.standard_tags, var.tags)
  51. }
  52. # This just seeds an initial value. It will not be overwritten each update.
  53. resource "aws_secretsmanager_secret_version" "github-runners" {
  54. for_each = local.ghe_orgs_with_runners
  55. secret_id = aws_secretsmanager_secret.github-runners-webhook-key[each.value].id
  56. secret_string = "SETME"
  57. }