Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove EKS service and update broker version #180

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Conversation

neilmb
Copy link

@neilmb neilmb commented Feb 14, 2025

Best not to merge this until we can test the effects in development-ssb.

This removes the broker for the EKS service that we don't use. Because CloudFoundry won't let us remove services without a broker for them, we should remove any production and staging EKS service instances before we merge this.

There is also a major version bump for the cloud-service-broker that will give us the capability to inspect the parameters of our running brokered services (cf. cloudfoundry/cloud-service-broker#1140)

Copy link

github-actions bot commented Feb 14, 2025

OpenTofu plan for staging

Plan: 4 to add, 5 to change, 29 to destroy. Changes to Outputs.
OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
!~  update in-place
-   destroy
-/+ destroy and then create replacement

OpenTofu will perform the following actions:

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::054110281448:policy/eks_brokerpak_policy"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20210818150722152700000004" -> null
-       policy_arn = "arn:aws:iam::054110281448:policy/eks_brokerpak_policy" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::054110281448:policy/eks_brokerpak_pv_policy"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20220209184848980000000001" -> null
-       policy_arn = "arn:aws:iam::054110281448:policy/eks_brokerpak_pv_policy" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::054110281448:policy/eks_module_policy"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20210818150722178400000006" -> null
-       policy_arn = "arn:aws:iam::054110281448:policy/eks_module_policy" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AWSCertificateManagerFullAccess"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20210818150722146300000002" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AWSCertificateManagerFullAccess" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AWSWAFFullAccess"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20210818150722150200000003" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AWSWAFFullAccess" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20220217160833323000000002" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AmazonEKSClusterPolicy"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20210818150722139500000001" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20220217160833307500000001" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AmazonRoute53FullAccess"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20210818150722154400000005" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AmazonRoute53FullAccess" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AmazonSSMFullAccess"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20220324193243741800000001" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AmazonSSMFullAccess" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.solr_broker_policies["arn:aws:iam::054110281448:policy/solr_brokerpak_policy"] will be destroyed
  # (because key ["arn:aws:iam::054110281448:policy/solr_brokerpak_policy"] is not in for_each map)
-   resource "aws_iam_user_policy_attachment" "solr_broker_policies" {
-       id         = "ssb-solr-broker-20221101135648844900000005" -> null
-       policy_arn = "arn:aws:iam::054110281448:policy/solr_brokerpak_policy" -> null
-       user       = "ssb-solr-broker" -> null
    }

  # aws_kms_alias.zone[0] must be replaced
-/+ resource "aws_kms_alias" "zone" {
!~      arn            = "arn:aws:kms:us-east-1:054110281448:alias/DNSSEC-ssb-staging" -> (known after apply)
!~      id             = "************************" -> (known after apply)
!~      name           = "alias/DNSSEC-ssb-staging" -> "alias/DNSSEC-ssb" # forces replacement
+       name_prefix    = (known after apply)
!~      target_key_arn = "***************************************************************************" -> (known after apply)
#        (1 unchanged attribute hidden)
    }

  # aws_route53_hosted_zone_dnssec.zone[0] must be replaced
-/+ resource "aws_route53_hosted_zone_dnssec" "zone" {
!~      hosted_zone_id = "Z1041215LMGPYL658MER" # forces replacement -> (known after apply) # forces replacement
!~      id             = "********************" -> (known after apply)
#        (1 unchanged attribute hidden)
    }

  # aws_route53_key_signing_key.zone[0] must be replaced
-/+ resource "aws_route53_key_signing_key" "zone" {
!~      digest_algorithm_mnemonic  = "SHA-256" -> (known after apply)
!~      digest_algorithm_type      = 2 -> (known after apply)
!~      digest_value               = "7D70709ECEEA84A93A19277C126F2747AB5655A285731F7D31F39E24F4DD5040" -> (known after apply)
!~      dnskey_record              = "257 3 13 iIgJGeqwr4dY57NDIFzCclaBCofmBX2OK9oWUURSR5QoHNP/De0JZHFFmNUO2T33hBMSZa+DoK0kI8tklU/nWw==" -> (known after apply)
!~      ds_record                  = "28358 13 2 7D70709ECEEA84A93A19277C126F2747AB5655A285731F7D31F39E24F4DD5040" -> (known after apply)
!~      flag                       = 257 -> (known after apply)
!~      hosted_zone_id             = "Z1041215LMGPYL658MER" # forces replacement -> (known after apply) # forces replacement
!~      id                         = "*****************************************" -> (known after apply)
!~      key_tag                    = 28358 -> (known after apply)
!~      name                       = "ssb-staging.data.gov" -> "ssb.data.gov" # forces replacement
!~      public_key                 = "****************************************************************************************" -> (known after apply)
!~      signing_algorithm_mnemonic = "ECDSAP256SHA256" -> (known after apply)
!~      signing_algorithm_type     = 13 -> (known after apply)
#        (2 unchanged attributes hidden)
    }

  # aws_route53_zone.zone[0] must be replaced
-/+ resource "aws_route53_zone" "zone" {
!~      arn           = "arn:aws:route53:::hostedzone/Z1041215LMGPYL658MER" -> (known after apply)
!~      id            = "********************" -> (known after apply)
!~      name          = "ssb-staging.data.gov" -> "ssb.data.gov" # forces replacement
!~      name_servers  = [
-           "ns-1056.awsdns-04.org",
-           "ns-1903.awsdns-45.co.uk",
-           "ns-510.awsdns-63.com",
-           "ns-890.awsdns-47.net",
        ] -> (known after apply)
-       tags          = {} -> null
!~      tags_all      = {} -> (known after apply)
!~      zone_id       = "********************" -> (known after apply)
#        (2 unchanged attributes hidden)
    }

  # aws_servicequotas_service_quota.minimum_quotas["eks/L-23414FF3"] will be destroyed
  # (because key ["eks/L-23414FF3"] is not in for_each map)
-   resource "aws_servicequotas_service_quota" "minimum_quotas" {
-       adjustable    = true -> null
-       arn           = "arn:aws:servicequotas:us-west-2:054110281448:eks/L-23414FF3" -> null
-       default_value = 5 -> null
-       id            = "eks/L-23414FF3" -> null
-       quota_code    = "L-23414FF3" -> null
-       quota_name    = "Label pairs per Fargate profile selector" -> null
-       service_code  = "eks" -> null
-       service_name  = "Amazon Elastic Kubernetes Service (Amazon EKS)" -> null
-       value         = 10 -> null
    }

  # aws_servicequotas_service_quota.minimum_quotas["eks/L-33415657"] will be destroyed
  # (because key ["eks/L-33415657"] is not in for_each map)
-   resource "aws_servicequotas_service_quota" "minimum_quotas" {
-       adjustable    = true -> null
-       arn           = "arn:aws:servicequotas:us-west-2:054110281448:eks/L-33415657" -> null
-       default_value = 10 -> null
-       id            = "eks/L-33415657" -> null
-       quota_code    = "L-33415657" -> null
-       quota_name    = "Fargate profiles per cluster" -> null
-       service_code  = "eks" -> null
-       service_name  = "Amazon Elastic Kubernetes Service (Amazon EKS)" -> null
-       value         = 20 -> null
    }

  # aws_servicequotas_service_quota.minimum_quotas["vpc/L-45FE3B85"] will be updated in-place
!~  resource "aws_servicequotas_service_quota" "minimum_quotas" {
        id            = "vpc/L-45FE3B85"
!~      value         = 1000 -> 20
#        (7 unchanged attributes hidden)
    }

  # aws_servicequotas_service_quota.minimum_quotas["vpc/L-A4707A72"] will be updated in-place
!~  resource "aws_servicequotas_service_quota" "minimum_quotas" {
        id            = "vpc/L-A4707A72"
!~      value         = 1000 -> 20
#        (7 unchanged attributes hidden)
    }

  # aws_servicequotas_service_quota.minimum_quotas["vpc/L-F678F1CE"] will be updated in-place
!~  resource "aws_servicequotas_service_quota" "minimum_quotas" {
        id            = "vpc/L-F678F1CE"
!~      value         = 1000 -> 20
#        (7 unchanged attributes hidden)
    }

  # cloudfoundry_service_instance.solrcloud_broker_k8s_cluster will be destroyed
  # (because cloudfoundry_service_instance.solrcloud_broker_k8s_cluster is not in configuration)
-   resource "cloudfoundry_service_instance" "solrcloud_broker_k8s_cluster" {
-       id                             = "b82ebda8-266c-481d-9df7-e7672d36b6bd" -> null
-       json_params                    = jsonencode(
            {
-               mng_desired_capacity = 1
-               mng_instance_types   = [
-                   "t2.small",
                ]
-               mng_max_capacity     = 1
-               mng_min_capacity     = 1
            }
        ) -> null
-       name                           = "ssb-solrcloud-k8s" -> null
-       recursive_delete               = false -> null
-       replace_on_params_change       = false -> null
-       replace_on_service_plan_change = false -> null
-       service_plan                   = "75ff550a-1f72-4bc2-9bd9-644a174a3384" -> null
-       space                          = "5edc803e-3376-4788-b72c-a152f11925b0" -> null
-       tags                           = [
-           "k8s",
        ] -> null

-       timeouts {
-           create = "60m" -> null
-           delete = "40m" -> null
-           update = "90m" -> null
        }
    }

  # module.broker_eks.cloudfoundry_app.ssb will be destroyed
  # (because cloudfoundry_app.ssb is not in configuration)
-   resource "cloudfoundry_app" "ssb" {
-       buildpack            = "binary_buildpack" -> null
-       command              = "source .profile && ./cloud-service-broker serve" -> null
-       disk_quota           = 2048 -> null
-       enable_ssh           = true -> null
-       environment          = (sensitive value) -> null
-       health_check_timeout = 0 -> null
-       health_check_type    = "port" -> null
-       id                   = "afc3400b-c029-41ba-89ee-a5700e1b5666" -> null
-       id_bg                = "afc3400b-c029-41ba-89ee-a5700e1b5666" -> null
-       instances            = 1 -> null
-       memory               = 1024 -> null
-       name                 = "ssb-eks" -> null
-       path                 = "./app-ssb-eks.zip" -> null
-       ports                = [
-           8080,
        ] -> null
-       source_code_hash     = "D7XQEUsUbwn8LAFxzDIJzK9HErmRWt3om52Ac+2zYf8=" -> null
-       space                = "5edc803e-3376-4788-b72c-a152f11925b0" -> null
-       stack                = "793876df-45b2-43cc-adcd-ccf88fea63f5" -> null
-       stopped              = false -> null
-       strategy             = "blue-green" -> null
-       timeout              = 60 -> null

-       routes {
-           port  = 8080 -> null
-           route = "edc2c819-63b2-4802-a421-64b9bf15d173" -> null
        }

-       service_binding {
-           params           = (sensitive value) -> null
-           service_instance = "956eb618-cb4c-44bc-8048-879097875419" -> null
        }
    }

  # module.broker_eks.cloudfoundry_route.ssb_uri will be destroyed
  # (because cloudfoundry_route.ssb_uri is not in configuration)
-   resource "cloudfoundry_route" "ssb_uri" {
-       domain   = "50ba3f69-cd54-4963-9172-14f3334b479e" -> null
-       endpoint = "ssb-eks-gsa-datagov-management-staging.app.cloud.gov" -> null
-       hostname = "ssb-eks-gsa-datagov-management-staging" -> null
-       id       = "edc2c819-63b2-4802-a421-64b9bf15d173" -> null
-       space    = "5edc803e-3376-4788-b72c-a152f11925b0" -> null
    }

  # module.broker_eks.cloudfoundry_service_broker.space_scoped_broker["gsa-datagov/management-staging"] will be destroyed
  # (because cloudfoundry_service_broker.space_scoped_broker is not in configuration)
-   resource "cloudfoundry_service_broker" "space_scoped_broker" {
-       catalog_change                   = false -> null
-       catalog_hash                     = "P8kMGuumegUWkZRd6B4Y31MAOQo=" -> null
-       fail_when_catalog_not_accessible = false -> null
-       id                               = "1b91bff2-130f-41d5-8295-574780d974ec" -> null
-       name                             = "ssb-eks-gsa-datagov-management-staging" -> null
-       password                         = (sensitive value) -> null
-       service_plans                    = {
-           "aws-eks-service/raw" = "75ff550a-1f72-4bc2-9bd9-644a174a3384"
        } -> null
-       services                         = {
-           "aws-eks-service" = "9e77410b-ac0f-4a0a-af08-1c7fc7f6a5e9"
        } -> null
-       space                            = "5edc803e-3376-4788-b72c-a152f11925b0" -> null
-       url                              = "https://ssb-eks-gsa-datagov-management-staging.app.cloud.gov" -> null
-       username                         = "7e788a7c-d13f-9d73-220d-74accd21f91f" -> null
    }

  # module.broker_eks.cloudfoundry_service_instance.db will be destroyed
  # (because cloudfoundry_service_instance.db is not in configuration)
-   resource "cloudfoundry_service_instance" "db" {
-       id                             = "956eb618-cb4c-44bc-8048-879097875419" -> null
-       name                           = "ssb-eks-db" -> null
-       recursive_delete               = false -> null
-       replace_on_params_change       = false -> null
-       replace_on_service_plan_change = false -> null
-       service_plan                   = "4b9e5bb1-d0d3-4c24-8542-e377cbb85aed" -> null
-       space                          = "5edc803e-3376-4788-b72c-a152f11925b0" -> null
-       tags                           = [
-           "mysql",
        ] -> null

-       timeouts {
-           create = "30m" -> null
-           delete = "30m" -> null
-           update = "30m" -> null
        }
    }

  # module.broker_eks.random_password.client_password will be destroyed
  # (because random_password.client_password is not in configuration)
-   resource "random_password" "client_password" {
-       id          = "none" -> null
-       length      = 16 -> null
-       lower       = true -> null
-       min_lower   = 0 -> null
-       min_numeric = 0 -> null
-       min_special = 0 -> null
-       min_upper   = 0 -> null
-       number      = true -> null
-       result      = (sensitive value) -> null
-       special     = true -> null
-       upper       = true -> null
    }

  # module.broker_eks.random_uuid.client_username will be destroyed
  # (because random_uuid.client_username is not in configuration)
-   resource "random_uuid" "client_username" {
-       id     = "7e788a7c-d13f-9d73-220d-74accd21f91f" -> null
-       result = "7e788a7c-d13f-9d73-220d-74accd21f91f" -> null
    }

  # module.broker_smtp.cloudfoundry_app.ssb will be updated in-place
!~  resource "cloudfoundry_app" "ssb" {
!~      environment          = (sensitive value)
        id                   = "d776878a-1d71-45af-9a5a-7df5ce365e99"
!~      id_bg                = "************************************" -> (known after apply)
        name                 = "ssb-smtp"
!~      source_code_hash     = "XkzyktTbiD+SCICaw4Dtoe2l+eylkj/YNzYFm1HsJwk=" -> "0K1ABU0T8VoLTJYXrVdMvem4iQfRmOlQGcfI4GGju/0="
#        (15 unchanged attributes hidden)

#        (2 unchanged blocks hidden)
    }

  # module.broker_solrcloud.cloudfoundry_app.ssb will be updated in-place
!~  resource "cloudfoundry_app" "ssb" {
!~      environment          = (sensitive value)
        id                   = "0e4fe772-7df5-4b1e-a380-dd38858c7ca6"
!~      id_bg                = "************************************" -> (known after apply)
        name                 = "ssb-solrcloud"
!~      source_code_hash     = "WOH8xrmBGR471S/XBapNuf3aKGE1CSgvTQ9OxQboSbA=" -> "O+wheohK5rfl48gLTj+jXz4i1Dp34tC6iLOw11rA3ig="
#        (15 unchanged attributes hidden)

-       service_binding {
-           params           = (sensitive value) -> null
-           service_instance = "b82ebda8-266c-481d-9df7-e7672d36b6bd" -> null
        }

#        (2 unchanged blocks hidden)
    }

  # module.eks_brokerpak_policy.aws_iam_policy.policy will be destroyed
  # (because aws_iam_policy.policy is not in configuration)
-   resource "aws_iam_policy" "policy" {
-       arn         = "arn:aws:iam::054110281448:policy/eks_brokerpak_policy" -> null
-       description = "Policy granting additional permissions needed by the EKS brokerpak" -> null
-       id          = "arn:aws:iam::054110281448:policy/eks_brokerpak_policy" -> null
-       name        = "eks_brokerpak_policy" -> null
-       path        = "/" -> null
-       policy      = jsonencode(
            {
-               Statement = [
-                   {
-                       Action   = [
-                           "ec2:DeleteVpcEndpoints",
-                           "eks:CreateAddon",
-                           "eks:DeleteAddon",
-                           "eks:ListAddons",
-                           "eks:UpdateAddon",
-                           "eks:DescribeAddon",
-                           "eks:DescribeAddonVersions",
-                           "eks:CreateNodegroup",
-                           "eks:DescribeNodegroup",
-                           "eks:ListNodegroups",
-                           "eks:UpdateNodegroupConfig",
-                           "eks:UpdateNodegroupVersion",
                        ]
-                       Effect   = "Allow"
-                       Resource = "*"
                    },
                ]
-               Version   = "2012-10-17"
            }
        ) -> null
-       policy_id   = "ANPAQZGJZL3UMHGBZBOB4" -> null
-       tags        = {} -> null
-       tags_all    = {} -> null
    }

  # module.eks_brokerpak_pv_policy.aws_iam_policy.policy will be destroyed
  # (because aws_iam_policy.policy is not in configuration)
-   resource "aws_iam_policy" "policy" {
-       arn         = "arn:aws:iam::054110281448:policy/eks_brokerpak_pv_policy" -> null
-       description = "Policy granting additional permissions needed by the EKS brokerpak for Persistent Volumes" -> null
-       id          = "arn:aws:iam::054110281448:policy/eks_brokerpak_pv_policy" -> null
-       name        = "eks_brokerpak_pv_policy" -> null
-       path        = "/" -> null
-       policy      = jsonencode(
            {
-               Statement = [
-                   {
-                       Action   = [
-                           "ec2:CreateSnapshot",
-                           "ec2:AttachVolume",
-                           "ec2:DetachVolume",
-                           "ec2:ModifyVolume",
-                           "ec2:DescribeAvailabilityZones",
-                           "ec2:DescribeInstances",
-                           "ec2:DescribeSnapshots",
-                           "ec2:DescribeTags",
-                           "ec2:DescribeVolumes",
-                           "ec2:DescribeVolumesModifications",
                        ]
-                       Effect   = "Allow"
-                       Resource = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:CreateTags",
                        ]
-                       Condition = {
-                           StringEquals = {
-                               "ec2:CreateAction" = [
-                                   "CreateVolume",
-                                   "CreateSnapshot",
                                ]
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = [
-                           "arn:aws:ec2:*:*:volume/*",
-                           "arn:aws:ec2:*:*:snapshot/*",
                        ]
                    },
-                   {
-                       Action   = [
-                           "ec2:DeleteTags",
                        ]
-                       Effect   = "Allow"
-                       Resource = [
-                           "arn:aws:ec2:*:*:volume/*",
-                           "arn:aws:ec2:*:*:snapshot/*",
                        ]
                    },
-                   {
-                       Action    = [
-                           "ec2:CreateVolume",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "aws:RequestTag/ebs.csi.aws.com/cluster" = "true"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:CreateVolume",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "aws:RequestTag/CSIVolumeName" = "*"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:CreateVolume",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "aws:RequestTag/kubernetes.io/cluster/*" = "owned"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:DeleteVolume",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "ec2:ResourceTag/ebs.csi.aws.com/cluster" = "true"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:DeleteVolume",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "ec2:ResourceTag/CSIVolumeName" = "*"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:DeleteVolume",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "ec2:ResourceTag/kubernetes.io/cluster/*" = "owned"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:DeleteSnapshot",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "ec2:ResourceTag/CSIVolumeSnapshotName" = "*"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:DeleteSnapshot",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "ec2:ResourceTag/ebs.csi.aws.com/cluster" = "true"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
                ]
-               Version   = "2012-10-17"
            }
        ) -> null
-       policy_id   = "ANPAQZGJZL3UKVCGNLSOV" -> null
-       tags        = {} -> null
-       tags_all    = {} -> null
    }

  # module.eks_module_policy.aws_iam_policy.policy will be destroyed
  # (because aws_iam_policy.policy is not in configuration)
-   resource "aws_iam_policy" "policy" {
-       arn         = "arn:aws:iam::054110281448:policy/eks_module_policy" -> null
-       description = "Policy granting permissions needed by the AWS EKS Terraform module" -> null
-       id          = "arn:aws:iam::054110281448:policy/eks_module_policy" -> null
-       name        = "eks_module_policy" -> null
-       path        = "/" -> null
-       policy      = jsonencode(
            {
-               Statement = [
-                   {
-                       Action   = [
-                           "autoscaling:AttachInstances",
-                           "autoscaling:CreateAutoScalingGroup",
-                           "autoscaling:CreateLaunchConfiguration",
-                           "autoscaling:CreateOrUpdateTags",
-                           "autoscaling:DeleteAutoScalingGroup",
-                           "autoscaling:DeleteLaunchConfiguration",
-                           "autoscaling:DeleteTags",
-                           "autoscaling:Describe*",
-                           "autoscaling:DetachInstances",
-                           "autoscaling:SetDesiredCapacity",
-                           "autoscaling:UpdateAutoScalingGroup",
-                           "autoscaling:SuspendProcesses",
-                           "ec2:AllocateAddress",
-                           "ec2:AssignPrivateIpAddresses",
-                           "ec2:Associate*",
-                           "ec2:AttachInternetGateway",
-                           "ec2:AttachNetworkInterface",
-                           "ec2:AuthorizeSecurityGroupEgress",
-                           "ec2:AuthorizeSecurityGroupIngress",
-                           "ec2:CreateDefaultSubnet",
-                           "ec2:CreateDhcpOptions",
-                           "ec2:CreateEgressOnlyInternetGateway",
-                           "ec2:CreateInternetGateway",
-                           "ec2:CreateNatGateway",
-                           "ec2:CreateNetworkInterface",
-                           "ec2:CreateRoute",
-                           "ec2:CreateRouteTable",
-                           "ec2:CreateSecurityGroup",
-                           "ec2:CreateSubnet",
-                           "ec2:CreateTags",
-                           "ec2:CreateVolume",
-                           "ec2:CreateVpc",
-                           "ec2:CreateVpcEndpoint",
-                           "ec2:DeleteDhcpOptions",
-                           "ec2:DeleteEgressOnlyInternetGateway",
-                           "ec2:DeleteInternetGateway",
-                           "ec2:DeleteNatGateway",
-                           "ec2:DeleteNetworkInterface",
-                           "ec2:DeleteRoute",
-                           "ec2:DeleteRouteTable",
-                           "ec2:DeleteSecurityGroup",
-                           "ec2:DeleteSubnet",
-                           "ec2:DeleteTags",
-                           "ec2:DeleteVolume",
-                           "ec2:DeleteVpc",
-                           "ec2:DeleteVpnGateway",
-                           "ec2:Describe*",
-                           "ec2:DetachInternetGateway",
-                           "ec2:DetachNetworkInterface",
-                           "ec2:DetachVolume",
-                           "ec2:Disassociate*",
-                           "ec2:ModifySubnetAttribute",
-                           "ec2:ModifyVpcAttribute",
-                           "ec2:ModifyVpcEndpoint",
-                           "ec2:ReleaseAddress",
-                           "ec2:RevokeSecurityGroupEgress",
-                           "ec2:RevokeSecurityGroupIngress",
-                           "ec2:UpdateSecurityGroupRuleDescriptionsEgress",
-                           "ec2:UpdateSecurityGroupRuleDescriptionsIngress",
-                           "ec2:CreateLaunchTemplate",
-                           "ec2:CreateLaunchTemplateVersion",
-                           "ec2:DeleteLaunchTemplate",
-                           "ec2:DeleteLaunchTemplateVersions",
-                           "ec2:DescribeLaunchTemplates",
-                           "ec2:DescribeLaunchTemplateVersions",
-                           "ec2:GetLaunchTemplateData",
-                           "ec2:ModifyLaunchTemplate",
-                           "ec2:RunInstances",
-                           "eks:CreateCluster",
-                           "eks:DeleteCluster",
-                           "eks:DescribeCluster",
-                           "eks:ListClusters",
-                           "eks:UpdateClusterConfig",
-                           "eks:UpdateClusterVersion",
-                           "eks:DescribeUpdate",
-                           "eks:TagResource",
-                           "eks:UntagResource",
-                           "eks:ListTagsForResource",
-                           "eks:CreateFargateProfile",
-                           "eks:DeleteFargateProfile",
-                           "eks:DescribeFargateProfile",
-                           "eks:ListFargateProfiles",
-                           "eks:CreateNodegroup",
-                           "eks:DeleteNodegroup",
-                           "eks:DescribeNodegroup",
-                           "eks:ListNodegroups",
-                           "eks:UpdateNodegroupConfig",
-                           "eks:UpdateNodegroupVersion",
-                           "iam:AddRoleToInstanceProfile",
-                           "iam:AttachRolePolicy",
-                           "iam:CreateInstanceProfile",
-                           "iam:CreateOpenIDConnectProvider",
-                           "iam:CreateServiceLinkedRole",
-                           "iam:CreatePolicy",
-                           "iam:CreatePolicyVersion",
-                           "iam:CreateRole",
-                           "iam:DeleteInstanceProfile",
-                           "iam:DeleteOpenIDConnectProvider",
-                           "iam:DeletePolicy",
-                           "iam:DeletePolicyVersion",
-                           "iam:DeleteRole",
-                           "iam:DeleteRolePolicy",
-                           "iam:DeleteServiceLinkedRole",
-                           "iam:DetachRolePolicy",
-                           "iam:GetInstanceProfile",
-                           "iam:GetOpenIDConnectProvider",
-                           "iam:GetPolicy",
-                           "iam:GetPolicyVersion",
-                           "iam:GetRole",
-                           "iam:GetRolePolicy",
-                           "iam:List*",
-                           "iam:PassRole",
-                           "iam:PutRolePolicy",
-                           "iam:RemoveRoleFromInstanceProfile",
-                           "iam:TagOpenIDConnectProvider",
-                           "iam:TagRole",
-                           "iam:UntagRole",
-                           "iam:UpdateAssumeRolePolicy",
-                           "logs:CreateLogGroup",
-                           "logs:DescribeLogGroups",
-                           "logs:DeleteLogGroup",
-                           "logs:ListTagsLogGroup",
-                           "logs:PutRetentionPolicy",
-                           "kms:CreateAlias",
-                           "kms:CreateGrant",
-                           "kms:CreateKey",
-                           "kms:DeleteAlias",
-                           "kms:DescribeKey",
-                           "kms:GetKeyPolicy",
-                           "kms:GetKeyRotationStatus",
-                           "kms:ListAliases",
-                           "kms:ListResourceTags",
-                           "kms:ScheduleKeyDeletion",
                        ]
-                       Effect   = "Allow"
-                       Resource = "*"
-                       Sid      = "VisualEditor0"
                    },
                ]
-               Version   = "2012-10-17"
            }
        ) -> null
-       policy_id   = "ANPAQZGJZL3UJSA5QFHIG" -> null
-       tags        = {} -> null
-       tags_all    = {} -> null
    }

  # module.ssb-eks-broker-user.aws_iam_access_key.this_no_pgp[0] will be destroyed
  # (because aws_iam_access_key.this_no_pgp is not in configuration)
-   resource "aws_iam_access_key" "this_no_pgp" {
-       create_date          = "2021-08-31T19:23:24Z" -> null
-       id                   = "AKIAQZGJZL3UBMMQZY4E" -> null
-       secret               = (sensitive value) -> null
-       ses_smtp_password_v4 = (sensitive value) -> null
-       status               = "Active" -> null
-       user                 = "ssb-eks-broker" -> null
    }

  # module.ssb-eks-broker-user.aws_iam_user.this[0] will be destroyed
  # (because aws_iam_user.this is not in configuration)
-   resource "aws_iam_user" "this" {
-       arn           = "arn:aws:iam::054110281448:user/ssb-eks-broker" -> null
-       force_destroy = true -> null
-       id            = "ssb-eks-broker" -> null
-       name          = "ssb-eks-broker" -> null
-       path          = "/" -> null
-       tags          = {} -> null
-       tags_all      = {} -> null
-       unique_id     = "AIDAQZGJZL3UOSMMUNMNZ" -> null
    }

Plan: 4 to add, 5 to change, 29 to destroy.

Changes to Outputs:
!~  ds_record     = [
        "DS",
-       "ssb-staging.data.gov",
-       "28358 13 2 7D70709ECEEA84A93A19277C126F2747AB5655A285731F7D31F39E24F4DD5040",
+       "ssb.data.gov",
+       (known after apply),
    ]
!~  ns_record     = [
        "NS",
-       "ssb-staging.data.gov",
-       jsonencode(
            [
-               "ns-1056.awsdns-04.org",
-               "ns-1903.awsdns-45.co.uk",
-               "ns-510.awsdns-63.com",
-               "ns-890.awsdns-47.net",
            ]
        ),
+       "ssb.data.gov",
+       (known after apply),
    ]

📝 Plan generated in plan #272

Copy link

github-actions bot commented Feb 14, 2025

OpenTofu plan for production

Plan: 0 to add, 2 to change, 28 to destroy.
OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
!~  update in-place
-   destroy

OpenTofu will perform the following actions:

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::821341638715:policy/eks_brokerpak_policy"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20220907142402318300000001" -> null
-       policy_arn = "arn:aws:iam::821341638715:policy/eks_brokerpak_policy" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::821341638715:policy/eks_brokerpak_pv_policy"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20220209185044831600000001" -> null
-       policy_arn = "arn:aws:iam::821341638715:policy/eks_brokerpak_pv_policy" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::821341638715:policy/eks_module_policy"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20210818150859528400000003" -> null
-       policy_arn = "arn:aws:iam::821341638715:policy/eks_module_policy" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AWSCertificateManagerFullAccess"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20210818150859529800000004" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AWSCertificateManagerFullAccess" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AWSWAFFullAccess"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20210818150859580400000006" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AWSWAFFullAccess" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20220303174637690100000002" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AmazonEKSClusterPolicy"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20210818150859514800000001" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20220303174637688200000001" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AmazonRoute53FullAccess"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20210818150859575500000005" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AmazonRoute53FullAccess" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.eks_broker_policies["arn:aws:iam::aws:policy/AmazonSSMFullAccess"] will be destroyed
  # (because aws_iam_user_policy_attachment.eks_broker_policies is not in configuration)
-   resource "aws_iam_user_policy_attachment" "eks_broker_policies" {
-       id         = "ssb-eks-broker-20220325190443275400000001" -> null
-       policy_arn = "arn:aws:iam::aws:policy/AmazonSSMFullAccess" -> null
-       user       = "ssb-eks-broker" -> null
    }

  # aws_iam_user_policy_attachment.solr_broker_policies["arn:aws:iam::821341638715:policy/solr_brokerpak_policy"] will be destroyed
  # (because key ["arn:aws:iam::821341638715:policy/solr_brokerpak_policy"] is not in for_each map)
-   resource "aws_iam_user_policy_attachment" "solr_broker_policies" {
-       id         = "ssb-solr-broker-20221101140047601500000004" -> null
-       policy_arn = "arn:aws:iam::821341638715:policy/solr_brokerpak_policy" -> null
-       user       = "ssb-solr-broker" -> null
    }

  # aws_servicequotas_service_quota.minimum_quotas["eks/L-23414FF3"] will be destroyed
  # (because key ["eks/L-23414FF3"] is not in for_each map)
-   resource "aws_servicequotas_service_quota" "minimum_quotas" {
-       adjustable    = true -> null
-       arn           = "arn:aws:servicequotas:us-west-2:821341638715:eks/L-23414FF3" -> null
-       default_value = 5 -> null
-       id            = "eks/L-23414FF3" -> null
-       quota_code    = "L-23414FF3" -> null
-       quota_name    = "Label pairs per Fargate profile selector" -> null
-       service_code  = "eks" -> null
-       service_name  = "Amazon Elastic Kubernetes Service (Amazon EKS)" -> null
-       value         = 10 -> null
    }

  # aws_servicequotas_service_quota.minimum_quotas["eks/L-33415657"] will be destroyed
  # (because key ["eks/L-33415657"] is not in for_each map)
-   resource "aws_servicequotas_service_quota" "minimum_quotas" {
-       adjustable    = true -> null
-       arn           = "arn:aws:servicequotas:us-west-2:821341638715:eks/L-33415657" -> null
-       default_value = 10 -> null
-       id            = "eks/L-33415657" -> null
-       quota_code    = "L-33415657" -> null
-       quota_name    = "Fargate profiles per cluster" -> null
-       service_code  = "eks" -> null
-       service_name  = "Amazon Elastic Kubernetes Service (Amazon EKS)" -> null
-       value         = 20 -> null
    }

  # cloudfoundry_service_instance.solrcloud_broker_k8s_cluster will be destroyed
  # (because cloudfoundry_service_instance.solrcloud_broker_k8s_cluster is not in configuration)
-   resource "cloudfoundry_service_instance" "solrcloud_broker_k8s_cluster" {
-       id                             = "d4a9bc47-a727-4cdd-892b-1d40af2b13de" -> null
-       json_params                    = jsonencode(
            {
-               mng_desired_capacity = 1
-               mng_instance_types   = [
-                   "t2.small",
                ]
-               mng_max_capacity     = 1
-               mng_min_capacity     = 1
            }
        ) -> null
-       name                           = "ssb-solrcloud-k8s" -> null
-       recursive_delete               = false -> null
-       replace_on_params_change       = false -> null
-       replace_on_service_plan_change = false -> null
-       service_plan                   = "07996909-c99a-4f7b-b154-4330e363693b" -> null
-       space                          = "9a1db116-0180-42be-8ffa-7944dcf6bf50" -> null
-       tags                           = [
-           "k8s",
        ] -> null

-       timeouts {
-           create = "60m" -> null
-           delete = "40m" -> null
-           update = "90m" -> null
        }
    }

  # module.broker_eks.cloudfoundry_app.ssb will be destroyed
  # (because cloudfoundry_app.ssb is not in configuration)
-   resource "cloudfoundry_app" "ssb" {
-       buildpack            = "binary_buildpack" -> null
-       command              = "source .profile && ./cloud-service-broker serve" -> null
-       disk_quota           = 2048 -> null
-       enable_ssh           = false -> null
-       environment          = (sensitive value) -> null
-       health_check_timeout = 0 -> null
-       health_check_type    = "port" -> null
-       id                   = "71831b5c-6335-4fa5-b7e7-01d25af2deaf" -> null
-       id_bg                = "71831b5c-6335-4fa5-b7e7-01d25af2deaf" -> null
-       instances            = 1 -> null
-       memory               = 1024 -> null
-       name                 = "ssb-eks" -> null
-       path                 = "./app-ssb-eks.zip" -> null
-       ports                = [
-           8080,
        ] -> null
-       source_code_hash     = "D7XQEUsUbwn8LAFxzDIJzK9HErmRWt3om52Ac+2zYf8=" -> null
-       space                = "9a1db116-0180-42be-8ffa-7944dcf6bf50" -> null
-       stack                = "793876df-45b2-43cc-adcd-ccf88fea63f5" -> null
-       stopped              = false -> null
-       strategy             = "blue-green" -> null
-       timeout              = 60 -> null

-       routes {
-           port  = 8080 -> null
-           route = "ae5e7957-d45d-4937-865b-b18c11395dfb" -> null
        }

-       service_binding {
-           params           = (sensitive value) -> null
-           service_instance = "727f67a1-e003-4661-a56c-22e849c8af7b" -> null
        }
    }

  # module.broker_eks.cloudfoundry_route.ssb_uri will be destroyed
  # (because cloudfoundry_route.ssb_uri is not in configuration)
-   resource "cloudfoundry_route" "ssb_uri" {
-       domain   = "50ba3f69-cd54-4963-9172-14f3334b479e" -> null
-       endpoint = "ssb-eks-gsa-datagov-management.app.cloud.gov" -> null
-       hostname = "ssb-eks-gsa-datagov-management" -> null
-       id       = "ae5e7957-d45d-4937-865b-b18c11395dfb" -> null
-       space    = "9a1db116-0180-42be-8ffa-7944dcf6bf50" -> null
    }

  # module.broker_eks.cloudfoundry_service_broker.space_scoped_broker["gsa-datagov/development"] will be destroyed
  # (because cloudfoundry_service_broker.space_scoped_broker is not in configuration)
-   resource "cloudfoundry_service_broker" "space_scoped_broker" {
-       catalog_change                   = false -> null
-       catalog_hash                     = "P8kMGuumegUWkZRd6B4Y31MAOQo=" -> null
-       fail_when_catalog_not_accessible = false -> null
-       id                               = "6f4b1969-41f1-426a-a251-22ae0810e470" -> null
-       name                             = "ssb-eks-gsa-datagov-development" -> null
-       password                         = (sensitive value) -> null
-       service_plans                    = {
-           "aws-eks-service/raw" = "cf9397a1-2aea-42f5-8089-f20ff00484a7"
        } -> null
-       services                         = {
-           "aws-eks-service" = "4665a7b4-63ea-4040-8def-bd5770b0d78e"
        } -> null
-       space                            = "eab3d327-7d9f-423b-9838-753c26fdb5a0" -> null
-       url                              = "https://ssb-eks-gsa-datagov-management.app.cloud.gov" -> null
-       username                         = "dcfeafe9-d732-a0c5-ced9-667c250075ff" -> null
    }

  # module.broker_eks.cloudfoundry_service_broker.space_scoped_broker["gsa-datagov/management"] will be destroyed
  # (because cloudfoundry_service_broker.space_scoped_broker is not in configuration)
-   resource "cloudfoundry_service_broker" "space_scoped_broker" {
-       catalog_change                   = false -> null
-       catalog_hash                     = "P8kMGuumegUWkZRd6B4Y31MAOQo=" -> null
-       fail_when_catalog_not_accessible = false -> null
-       id                               = "a0a3aed6-3930-4a2b-839e-1eaf93e4eb56" -> null
-       name                             = "ssb-eks-gsa-datagov-management" -> null
-       password                         = (sensitive value) -> null
-       service_plans                    = {
-           "aws-eks-service/raw" = "07996909-c99a-4f7b-b154-4330e363693b"
        } -> null
-       services                         = {
-           "aws-eks-service" = "15817b6f-5ded-4a9d-9292-ef87316dd048"
        } -> null
-       space                            = "9a1db116-0180-42be-8ffa-7944dcf6bf50" -> null
-       url                              = "https://ssb-eks-gsa-datagov-management.app.cloud.gov" -> null
-       username                         = "dcfeafe9-d732-a0c5-ced9-667c250075ff" -> null
    }

  # module.broker_eks.cloudfoundry_service_broker.space_scoped_broker["gsa-datagov/prod"] will be destroyed
  # (because cloudfoundry_service_broker.space_scoped_broker is not in configuration)
-   resource "cloudfoundry_service_broker" "space_scoped_broker" {
-       catalog_change                   = false -> null
-       catalog_hash                     = "P8kMGuumegUWkZRd6B4Y31MAOQo=" -> null
-       fail_when_catalog_not_accessible = false -> null
-       id                               = "f551b0db-09e4-4b55-8358-e0385b0c2bf6" -> null
-       name                             = "ssb-eks-gsa-datagov-prod" -> null
-       password                         = (sensitive value) -> null
-       service_plans                    = {
-           "aws-eks-service/raw" = "3e2ece18-589c-454a-b8ee-c3bf65918e97"
        } -> null
-       services                         = {
-           "aws-eks-service" = "1cd496ac-c625-40e0-99f7-de6132fbfd39"
        } -> null
-       space                            = "acbabadb-2604-4736-81f7-01288b0371c6" -> null
-       url                              = "https://ssb-eks-gsa-datagov-management.app.cloud.gov" -> null
-       username                         = "dcfeafe9-d732-a0c5-ced9-667c250075ff" -> null
    }

  # module.broker_eks.cloudfoundry_service_broker.space_scoped_broker["gsa-datagov/staging"] will be destroyed
  # (because cloudfoundry_service_broker.space_scoped_broker is not in configuration)
-   resource "cloudfoundry_service_broker" "space_scoped_broker" {
-       catalog_change                   = false -> null
-       catalog_hash                     = "P8kMGuumegUWkZRd6B4Y31MAOQo=" -> null
-       fail_when_catalog_not_accessible = false -> null
-       id                               = "e2dad6fb-53ec-461f-a1f0-a707d6b790b9" -> null
-       name                             = "ssb-eks-gsa-datagov-staging" -> null
-       password                         = (sensitive value) -> null
-       service_plans                    = {
-           "aws-eks-service/raw" = "9f41738f-a1b7-4031-8642-f2cef8d98797"
        } -> null
-       services                         = {
-           "aws-eks-service" = "2af4db69-3d85-4d6c-b2a9-ae1022496fc7"
        } -> null
-       space                            = "3e692cdd-6d26-41ea-9698-04903dc3f742" -> null
-       url                              = "https://ssb-eks-gsa-datagov-management.app.cloud.gov" -> null
-       username                         = "dcfeafe9-d732-a0c5-ced9-667c250075ff" -> null
    }

  # module.broker_eks.cloudfoundry_service_instance.db will be destroyed
  # (because cloudfoundry_service_instance.db is not in configuration)
-   resource "cloudfoundry_service_instance" "db" {
-       id                             = "727f67a1-e003-4661-a56c-22e849c8af7b" -> null
-       name                           = "ssb-eks-db" -> null
-       recursive_delete               = false -> null
-       replace_on_params_change       = false -> null
-       replace_on_service_plan_change = false -> null
-       service_plan                   = "4b9e5bb1-d0d3-4c24-8542-e377cbb85aed" -> null
-       space                          = "9a1db116-0180-42be-8ffa-7944dcf6bf50" -> null
-       tags                           = [
-           "mysql",
        ] -> null

-       timeouts {
-           create = "30m" -> null
-           delete = "30m" -> null
-           update = "30m" -> null
        }
    }

  # module.broker_eks.random_password.client_password will be destroyed
  # (because random_password.client_password is not in configuration)
-   resource "random_password" "client_password" {
-       id          = "none" -> null
-       length      = 16 -> null
-       lower       = true -> null
-       min_lower   = 0 -> null
-       min_numeric = 0 -> null
-       min_special = 0 -> null
-       min_upper   = 0 -> null
-       number      = true -> null
-       result      = (sensitive value) -> null
-       special     = true -> null
-       upper       = true -> null
    }

  # module.broker_eks.random_uuid.client_username will be destroyed
  # (because random_uuid.client_username is not in configuration)
-   resource "random_uuid" "client_username" {
-       id     = "dcfeafe9-d732-a0c5-ced9-667c250075ff" -> null
-       result = "dcfeafe9-d732-a0c5-ced9-667c250075ff" -> null
    }

  # module.broker_smtp.cloudfoundry_app.ssb will be updated in-place
!~  resource "cloudfoundry_app" "ssb" {
!~      enable_ssh           = true -> false
        id                   = "e9871fe2-1863-47b9-a1cf-847312075ffa"
!~      id_bg                = "************************************" -> (known after apply)
        name                 = "ssb-smtp"
!~      source_code_hash     = "XkzyktTbiD+SCICaw4Dtoe2l+eylkj/YNzYFm1HsJwk=" -> "0K1ABU0T8VoLTJYXrVdMvem4iQfRmOlQGcfI4GGju/0="
#        (15 unchanged attributes hidden)

#        (2 unchanged blocks hidden)
    }

  # module.broker_solrcloud.cloudfoundry_app.ssb will be updated in-place
!~  resource "cloudfoundry_app" "ssb" {
        id                   = "6d9483ab-9323-4911-a035-78d5a28d772f"
!~      id_bg                = "************************************" -> (known after apply)
        name                 = "ssb-solrcloud"
!~      source_code_hash     = "WOH8xrmBGR471S/XBapNuf3aKGE1CSgvTQ9OxQboSbA=" -> "O+wheohK5rfl48gLTj+jXz4i1Dp34tC6iLOw11rA3ig="
#        (18 unchanged attributes hidden)

-       service_binding {
-           params           = (sensitive value) -> null
-           service_instance = "d4a9bc47-a727-4cdd-892b-1d40af2b13de" -> null
        }

#        (2 unchanged blocks hidden)
    }

  # module.eks_brokerpak_policy.aws_iam_policy.policy will be destroyed
  # (because aws_iam_policy.policy is not in configuration)
-   resource "aws_iam_policy" "policy" {
-       arn         = "arn:aws:iam::821341638715:policy/eks_brokerpak_policy" -> null
-       description = "Policy granting additional permissions needed by the EKS brokerpak" -> null
-       id          = "arn:aws:iam::821341638715:policy/eks_brokerpak_policy" -> null
-       name        = "eks_brokerpak_policy" -> null
-       path        = "/" -> null
-       policy      = jsonencode(
            {
-               Statement = [
-                   {
-                       Action   = [
-                           "ec2:DeleteVpcEndpoints",
-                           "eks:CreateAddon",
-                           "eks:DeleteAddon",
-                           "eks:ListAddons",
-                           "eks:UpdateAddon",
-                           "eks:DescribeAddon",
-                           "eks:DescribeAddonVersions",
-                           "eks:CreateNodegroup",
-                           "eks:DescribeNodegroup",
-                           "eks:ListNodegroups",
-                           "eks:UpdateNodegroupConfig",
-                           "eks:UpdateNodegroupVersion",
                        ]
-                       Effect   = "Allow"
-                       Resource = "*"
                    },
                ]
-               Version   = "2012-10-17"
            }
        ) -> null
-       policy_id   = "ANPA36O6G2A5Q66AREBTV" -> null
-       tags        = {} -> null
-       tags_all    = {} -> null
    }

  # module.eks_brokerpak_pv_policy.aws_iam_policy.policy will be destroyed
  # (because aws_iam_policy.policy is not in configuration)
-   resource "aws_iam_policy" "policy" {
-       arn         = "arn:aws:iam::821341638715:policy/eks_brokerpak_pv_policy" -> null
-       description = "Policy granting additional permissions needed by the EKS brokerpak for Persistent Volumes" -> null
-       id          = "arn:aws:iam::821341638715:policy/eks_brokerpak_pv_policy" -> null
-       name        = "eks_brokerpak_pv_policy" -> null
-       path        = "/" -> null
-       policy      = jsonencode(
            {
-               Statement = [
-                   {
-                       Action   = [
-                           "ec2:CreateSnapshot",
-                           "ec2:AttachVolume",
-                           "ec2:DetachVolume",
-                           "ec2:ModifyVolume",
-                           "ec2:DescribeAvailabilityZones",
-                           "ec2:DescribeInstances",
-                           "ec2:DescribeSnapshots",
-                           "ec2:DescribeTags",
-                           "ec2:DescribeVolumes",
-                           "ec2:DescribeVolumesModifications",
                        ]
-                       Effect   = "Allow"
-                       Resource = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:CreateTags",
                        ]
-                       Condition = {
-                           StringEquals = {
-                               "ec2:CreateAction" = [
-                                   "CreateVolume",
-                                   "CreateSnapshot",
                                ]
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = [
-                           "arn:aws:ec2:*:*:volume/*",
-                           "arn:aws:ec2:*:*:snapshot/*",
                        ]
                    },
-                   {
-                       Action   = [
-                           "ec2:DeleteTags",
                        ]
-                       Effect   = "Allow"
-                       Resource = [
-                           "arn:aws:ec2:*:*:volume/*",
-                           "arn:aws:ec2:*:*:snapshot/*",
                        ]
                    },
-                   {
-                       Action    = [
-                           "ec2:CreateVolume",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "aws:RequestTag/ebs.csi.aws.com/cluster" = "true"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:CreateVolume",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "aws:RequestTag/CSIVolumeName" = "*"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:CreateVolume",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "aws:RequestTag/kubernetes.io/cluster/*" = "owned"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:DeleteVolume",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "ec2:ResourceTag/ebs.csi.aws.com/cluster" = "true"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:DeleteVolume",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "ec2:ResourceTag/CSIVolumeName" = "*"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:DeleteVolume",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "ec2:ResourceTag/kubernetes.io/cluster/*" = "owned"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:DeleteSnapshot",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "ec2:ResourceTag/CSIVolumeSnapshotName" = "*"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
-                   {
-                       Action    = [
-                           "ec2:DeleteSnapshot",
                        ]
-                       Condition = {
-                           StringLike = {
-                               "ec2:ResourceTag/ebs.csi.aws.com/cluster" = "true"
                            }
                        }
-                       Effect    = "Allow"
-                       Resource  = "*"
                    },
                ]
-               Version   = "2012-10-17"
            }
        ) -> null
-       policy_id   = "ANPA36O6G2A56S5PO7TGL" -> null
-       tags        = {} -> null
-       tags_all    = {} -> null
    }

  # module.eks_module_policy.aws_iam_policy.policy will be destroyed
  # (because aws_iam_policy.policy is not in configuration)
-   resource "aws_iam_policy" "policy" {
-       arn         = "arn:aws:iam::821341638715:policy/eks_module_policy" -> null
-       description = "Policy granting permissions needed by the AWS EKS Terraform module" -> null
-       id          = "arn:aws:iam::821341638715:policy/eks_module_policy" -> null
-       name        = "eks_module_policy" -> null
-       path        = "/" -> null
-       policy      = jsonencode(
            {
-               Statement = [
-                   {
-                       Action   = [
-                           "autoscaling:AttachInstances",
-                           "autoscaling:CreateAutoScalingGroup",
-                           "autoscaling:CreateLaunchConfiguration",
-                           "autoscaling:CreateOrUpdateTags",
-                           "autoscaling:DeleteAutoScalingGroup",
-                           "autoscaling:DeleteLaunchConfiguration",
-                           "autoscaling:DeleteTags",
-                           "autoscaling:Describe*",
-                           "autoscaling:DetachInstances",
-                           "autoscaling:SetDesiredCapacity",
-                           "autoscaling:UpdateAutoScalingGroup",
-                           "autoscaling:SuspendProcesses",
-                           "ec2:AllocateAddress",
-                           "ec2:AssignPrivateIpAddresses",
-                           "ec2:Associate*",
-                           "ec2:AttachInternetGateway",
-                           "ec2:AttachNetworkInterface",
-                           "ec2:AuthorizeSecurityGroupEgress",
-                           "ec2:AuthorizeSecurityGroupIngress",
-                           "ec2:CreateDefaultSubnet",
-                           "ec2:CreateDhcpOptions",
-                           "ec2:CreateEgressOnlyInternetGateway",
-                           "ec2:CreateInternetGateway",
-                           "ec2:CreateNatGateway",
-                           "ec2:CreateNetworkInterface",
-                           "ec2:CreateRoute",
-                           "ec2:CreateRouteTable",
-                           "ec2:CreateSecurityGroup",
-                           "ec2:CreateSubnet",
-                           "ec2:CreateTags",
-                           "ec2:CreateVolume",
-                           "ec2:CreateVpc",
-                           "ec2:CreateVpcEndpoint",
-                           "ec2:DeleteDhcpOptions",
-                           "ec2:DeleteEgressOnlyInternetGateway",
-                           "ec2:DeleteInternetGateway",
-                           "ec2:DeleteNatGateway",
-                           "ec2:DeleteNetworkInterface",
-                           "ec2:DeleteRoute",
-                           "ec2:DeleteRouteTable",
-                           "ec2:DeleteSecurityGroup",
-                           "ec2:DeleteSubnet",
-                           "ec2:DeleteTags",
-                           "ec2:DeleteVolume",
-                           "ec2:DeleteVpc",
-                           "ec2:DeleteVpnGateway",
-                           "ec2:Describe*",
-                           "ec2:DetachInternetGateway",
-                           "ec2:DetachNetworkInterface",
-                           "ec2:DetachVolume",
-                           "ec2:Disassociate*",
-                           "ec2:ModifySubnetAttribute",
-                           "ec2:ModifyVpcAttribute",
-                           "ec2:ModifyVpcEndpoint",
-                           "ec2:ReleaseAddress",
-                           "ec2:RevokeSecurityGroupEgress",
-                           "ec2:RevokeSecurityGroupIngress",
-                           "ec2:UpdateSecurityGroupRuleDescriptionsEgress",
-                           "ec2:UpdateSecurityGroupRuleDescriptionsIngress",
-                           "ec2:CreateLaunchTemplate",
-                           "ec2:CreateLaunchTemplateVersion",
-                           "ec2:DeleteLaunchTemplate",
-                           "ec2:DeleteLaunchTemplateVersions",
-                           "ec2:DescribeLaunchTemplates",
-                           "ec2:DescribeLaunchTemplateVersions",
-                           "ec2:GetLaunchTemplateData",
-                           "ec2:ModifyLaunchTemplate",
-                           "ec2:RunInstances",
-                           "eks:CreateCluster",
-                           "eks:DeleteCluster",
-                           "eks:DescribeCluster",
-                           "eks:ListClusters",
-                           "eks:UpdateClusterConfig",
-                           "eks:UpdateClusterVersion",
-                           "eks:DescribeUpdate",
-                           "eks:TagResource",
-                           "eks:UntagResource",
-                           "eks:ListTagsForResource",
-                           "eks:CreateFargateProfile",
-                           "eks:DeleteFargateProfile",
-                           "eks:DescribeFargateProfile",
-                           "eks:ListFargateProfiles",
-                           "eks:CreateNodegroup",
-                           "eks:DeleteNodegroup",
-                           "eks:DescribeNodegroup",
-                           "eks:ListNodegroups",
-                           "eks:UpdateNodegroupConfig",
-                           "eks:UpdateNodegroupVersion",
-                           "iam:AddRoleToInstanceProfile",
-                           "iam:AttachRolePolicy",
-                           "iam:CreateInstanceProfile",
-                           "iam:CreateOpenIDConnectProvider",
-                           "iam:CreateServiceLinkedRole",
-                           "iam:CreatePolicy",
-                           "iam:CreatePolicyVersion",
-                           "iam:CreateRole",
-                           "iam:DeleteInstanceProfile",
-                           "iam:DeleteOpenIDConnectProvider",
-                           "iam:DeletePolicy",
-                           "iam:DeletePolicyVersion",
-                           "iam:DeleteRole",
-                           "iam:DeleteRolePolicy",
-                           "iam:DeleteServiceLinkedRole",
-                           "iam:DetachRolePolicy",
-                           "iam:GetInstanceProfile",
-                           "iam:GetOpenIDConnectProvider",
-                           "iam:GetPolicy",
-                           "iam:GetPolicyVersion",
-                           "iam:GetRole",
-                           "iam:GetRolePolicy",
-                           "iam:List*",
-                           "iam:PassRole",
-                           "iam:PutRolePolicy",
-                           "iam:RemoveRoleFromInstanceProfile",
-                           "iam:TagOpenIDConnectProvider",
-                           "iam:TagRole",
-                           "iam:UntagRole",
-                           "iam:UpdateAssumeRolePolicy",
-                           "logs:CreateLogGroup",
-                           "logs:DescribeLogGroups",
-                           "logs:DeleteLogGroup",
-                           "logs:ListTagsLogGroup",
-                           "logs:PutRetentionPolicy",
-                           "kms:CreateAlias",
-                           "kms:CreateGrant",
-                           "kms:CreateKey",
-                           "kms:DeleteAlias",
-                           "kms:DescribeKey",
-                           "kms:GetKeyPolicy",
-                           "kms:GetKeyRotationStatus",
-                           "kms:ListAliases",
-                           "kms:ListResourceTags",
-                           "kms:ScheduleKeyDeletion",
                        ]
-                       Effect   = "Allow"
-                       Resource = "*"
-                       Sid      = "VisualEditor0"
                    },
                ]
-               Version   = "2012-10-17"
            }
        ) -> null
-       policy_id   = "ANPA36O6G2A54QGGZBQFG" -> null
-       tags        = {} -> null
-       tags_all    = {} -> null
    }

  # module.ssb-eks-broker-user.aws_iam_access_key.this_no_pgp[0] will be destroyed
  # (because aws_iam_access_key.this_no_pgp is not in configuration)
-   resource "aws_iam_access_key" "this_no_pgp" {
-       create_date          = "2021-08-31T21:11:04Z" -> null
-       id                   = "AKIA36O6G2A5QFJUEO3E" -> null
-       secret               = (sensitive value) -> null
-       ses_smtp_password_v4 = (sensitive value) -> null
-       status               = "Active" -> null
-       user                 = "ssb-eks-broker" -> null
    }

  # module.ssb-eks-broker-user.aws_iam_user.this[0] will be destroyed
  # (because aws_iam_user.this is not in configuration)
-   resource "aws_iam_user" "this" {
-       arn           = "arn:aws:iam::821341638715:user/ssb-eks-broker" -> null
-       force_destroy = true -> null
-       id            = "ssb-eks-broker" -> null
-       name          = "ssb-eks-broker" -> null
-       path          = "/" -> null
-       tags          = {} -> null
-       tags_all      = {} -> null
-       unique_id     = "AIDA36O6G2A5ZFPMFPUB3" -> null
    }

Plan: 0 to add, 2 to change, 28 to destroy.

📝 Plan generated in plan #272

@neilmb neilmb deployed to staging March 12, 2025 20:00 — with GitHub Actions Active
@neilmb neilmb deployed to production March 12, 2025 20:00 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant