Skip to content

switching to route53 - #5

Merged
espg merged 1 commit into
mainfrom
feat/route53-migration
Jul 9, 2026
Merged

switching to route53#5
espg merged 1 commit into
mainfrom
feat/route53-migration

Conversation

@espg

@espg espg commented Jul 9, 2026

Copy link
Copy Markdown
Owner

pretty self explanatory, should have done it ages ago.

using geopotential.org as the domain name for now...

@espg
espg merged commit 589fe46 into main Jul 9, 2026
1 check passed
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

OpenTofu Plan - cae-testing

Show Plan
�[0;32mChecking environment setup...�[0m 
OpenTofu/Terraform: tofu at /home/runner/work/_temp/48c4770e-a64c-47d0-b79f-4ff79d337de6/tofu
AWS CLI: /usr/local/bin/aws
kubectl: /usr/bin/kubectl
Environment: cae-testing
Region: us-west-2
�[0;32mEnvironment check passed�[0m 
�[0;32mSOPS config exists for environment: cae-testing�[0m 
�[0;32mInitializing tofu for environment: cae-testing�[0m 
{
    "BucketArn": "arn:aws:s3:::tofu-state-jupyterhub-cae-testing-usw2-992398409787",
    "BucketRegion": "us-west-2",
    "AccessPointAlias": false
}
/home/runner/work/_temp/48c4770e-a64c-47d0-b79f-4ff79d337de6/tofu init -backend-config=environments/cae-testing/backend.tfvars -reconfigure

�[0m�[1mInitializing the backend...�[0m
�[0m�[32m
Successfully configured the backend "s3"! OpenTofu will automatically
use this backend unless the backend configuration changes.�[0m
�[0m�[1mInitializing modules...�[0m
- acm in modules/acm
- auto_shutdown in modules/auto_shutdown
- cognito in modules/cognito
- eks in modules/eks
- helm in modules/helm
- kms in modules/kms
- kubecost in modules/kubecost
- kubernetes in modules/kubernetes
- monitoring in modules/monitoring
- networking in modules/networking
- s3 in modules/s3

�[0m�[1mInitializing provider plugins...�[0m
- Finding latest version of hashicorp/null...
- Finding latest version of hashicorp/tls...
- Finding hashicorp/aws versions matching "~> 5.0"...
- Finding hashicorp/kubernetes versions matching "~> 2.24"...
- Finding hashicorp/helm versions matching "~> 2.12"...
- Finding hashicorp/random versions matching "~> 3.6"...
- Finding carlpett/sops versions matching "~> 1.0"...
- Installing hashicorp/null v3.3.0...
- Installed hashicorp/null v3.3.0 (signed, key ID �[0m�[1m0C0AF313E5FD9F80�[0m�[0m)
- Installing hashicorp/tls v4.3.0...
- Installed hashicorp/tls v4.3.0 (signed, key ID �[0m�[1m0C0AF313E5FD9F80�[0m�[0m)
- Installing hashicorp/aws v5.100.0...
- Installed hashicorp/aws v5.100.0 (signed, key ID �[0m�[1m0C0AF313E5FD9F80�[0m�[0m)
- Installing hashicorp/kubernetes v2.38.0...
- Installed hashicorp/kubernetes v2.38.0 (signed, key ID �[0m�[1m0C0AF313E5FD9F80�[0m�[0m)
- Installing hashicorp/helm v2.17.0...
- Installed hashicorp/helm v2.17.0 (signed, key ID �[0m�[1m0C0AF313E5FD9F80�[0m�[0m)
- Installing hashicorp/random v3.9.0...
- Installed hashicorp/random v3.9.0 (signed, key ID �[0m�[1m0C0AF313E5FD9F80�[0m�[0m)
- Installing carlpett/sops v1.4.1...
- Installed carlpett/sops v1.4.1 (signed, key ID �[0m�[1m1468AC14E6819667�[0m�[0m)

Providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://opentofu.org/docs/cli/plugins/signing/

OpenTofu has created a lock file �[1m.terraform.lock.hcl�[0m to record the provider
selections it made above. Include this file in your version control repository
so that OpenTofu can guarantee to make the same selections by default when
you run "tofu init" in the future.�[0m

�[0m�[1m�[32mOpenTofu has been successfully initialized!�[0m�[32m�[0m
�[0m�[32m
You may now begin working with OpenTofu. Try running "tofu plan" to see
any changes that are required for your infrastructure. All OpenTofu commands
should now work.

If you ever set or change modules or backend configuration for OpenTofu,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.�[0m
�[0;32mCreating tofu plan for environment: cae-testing�[0m 
/home/runner/work/_temp/48c4770e-a64c-47d0-b79f-4ff79d337de6/tofu plan -var-file=environments/cae-testing/terraform.tfvars -out=tfplan
�[0m�[1mdata.sops_file.secrets: Reading...�[0m�[0m
�[0m�[1mdata.aws_caller_identity.current: Reading...�[0m�[0m
�[0m�[1mmodule.s3[0].data.aws_caller_identity.current: Reading...�[0m�[0m
�[0m�[1mdata.aws_availability_zones.available: Reading...�[0m�[0m
�[0m�[1mmodule.s3[0].data.aws_caller_identity.current: Read complete after 0s [id=992398409787]�[0m
�[0m�[1mdata.aws_caller_identity.current: Read complete after 1s [id=992398409787]�[0m
�[0m�[1mdata.aws_availability_zones.available: Read complete after 1s [id=us-west-2]�[0m

OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  �[32m+�[0m create�[0m
 �[36m<=�[0m read (data resources)�[0m

OpenTofu planned the following actions, but then encountered a problem:

�[1m  # aws_eks_pod_identity_association.cluster_autoscaler�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_pod_identity_association" "cluster_autoscaler" {
      �[32m+�[0m�[0m association_arn = (known after apply)
      �[32m+�[0m�[0m association_id  = (known after apply)
      �[32m+�[0m�[0m cluster_name    = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m id              = (known after apply)
      �[32m+�[0m�[0m namespace       = "kube-system"
      �[32m+�[0m�[0m role_arn        = (known after apply)
      �[32m+�[0m�[0m service_account = "cluster-autoscaler"
      �[32m+�[0m�[0m tags_all        = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
    }

�[1m  # aws_eks_pod_identity_association.user_s3[0]�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_pod_identity_association" "user_s3" {
      �[32m+�[0m�[0m association_arn = (known after apply)
      �[32m+�[0m�[0m association_id  = (known after apply)
      �[32m+�[0m�[0m cluster_name    = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m id              = (known after apply)
      �[32m+�[0m�[0m namespace       = "daskhub"
      �[32m+�[0m�[0m role_arn        = (known after apply)
      �[32m+�[0m�[0m service_account = "user-sa"
      �[32m+�[0m�[0m tags_all        = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
    }

�[1m  # aws_iam_role.cluster_autoscaler�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role" "cluster_autoscaler" {
      �[32m+�[0m�[0m arn                   = (known after apply)
      �[32m+�[0m�[0m assume_role_policy    = jsonencode(
            {
              �[32m+�[0m�[0m Statement = [
                  �[32m+�[0m�[0m {
                      �[32m+�[0m�[0m Action    = [
                          �[32m+�[0m�[0m "sts:AssumeRole",
                          �[32m+�[0m�[0m "sts:TagSession",
                        ]
                      �[32m+�[0m�[0m Effect    = "Allow"
                      �[32m+�[0m�[0m Principal = {
                          �[32m+�[0m�[0m Service = "pods.eks.amazonaws.com"
                        }
                    },
                ]
              �[32m+�[0m�[0m Version   = "2012-10-17"
            }
        )
      �[32m+�[0m�[0m create_date           = (known after apply)
      �[32m+�[0m�[0m force_detach_policies = false
      �[32m+�[0m�[0m id                    = (known after apply)
      �[32m+�[0m�[0m managed_policy_arns   = (known after apply)
      �[32m+�[0m�[0m max_session_duration  = 3600
      �[32m+�[0m�[0m name                  = "jupyterhub-testing-cae-testing-cluster-autoscaler"
      �[32m+�[0m�[0m name_prefix           = (known after apply)
      �[32m+�[0m�[0m path                  = "/"
      �[32m+�[0m�[0m tags                  = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all              = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m unique_id             = (known after apply)
    }

�[1m  # aws_iam_role.user_s3[0]�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role" "user_s3" {
      �[32m+�[0m�[0m arn                   = (known after apply)
      �[32m+�[0m�[0m assume_role_policy    = jsonencode(
            {
              �[32m+�[0m�[0m Statement = [
                  �[32m+�[0m�[0m {
                      �[32m+�[0m�[0m Action    = [
                          �[32m+�[0m�[0m "sts:AssumeRole",
                          �[32m+�[0m�[0m "sts:TagSession",
                        ]
                      �[32m+�[0m�[0m Effect    = "Allow"
                      �[32m+�[0m�[0m Principal = {
                          �[32m+�[0m�[0m Service = "pods.eks.amazonaws.com"
                        }
                    },
                ]
              �[32m+�[0m�[0m Version   = "2012-10-17"
            }
        )
      �[32m+�[0m�[0m create_date           = (known after apply)
      �[32m+�[0m�[0m force_detach_policies = false
      �[32m+�[0m�[0m id                    = (known after apply)
      �[32m+�[0m�[0m managed_policy_arns   = (known after apply)
      �[32m+�[0m�[0m max_session_duration  = 3600
      �[32m+�[0m�[0m name                  = "jupyterhub-testing-cae-testing-user-s3"
      �[32m+�[0m�[0m name_prefix           = (known after apply)
      �[32m+�[0m�[0m path                  = "/"
      �[32m+�[0m�[0m tags                  = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all              = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m unique_id             = (known after apply)
    }

�[1m  # aws_iam_role_policy.cluster_autoscaler�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role_policy" "cluster_autoscaler" {
      �[32m+�[0m�[0m id          = (known after apply)
      �[32m+�[0m�[0m name        = "jupyterhub-testing-cae-testing-cluster-autoscaler-policy"
      �[32m+�[0m�[0m name_prefix = (known after apply)
      �[32m+�[0m�[0m policy      = jsonencode(
            {
              �[32m+�[0m�[0m Statement = [
                  �[32m+�[0m�[0m {
                      �[32m+�[0m�[0m Action   = [
                          �[32m+�[0m�[0m "autoscaling:DescribeAutoScalingGroups",
                          �[32m+�[0m�[0m "autoscaling:DescribeAutoScalingInstances",
                          �[32m+�[0m�[0m "autoscaling:DescribeLaunchConfigurations",
                          �[32m+�[0m�[0m "autoscaling:DescribeScalingActivities",
                          �[32m+�[0m�[0m "autoscaling:DescribeTags",
                          �[32m+�[0m�[0m "ec2:DescribeImages",
                          �[32m+�[0m�[0m "ec2:DescribeInstanceTypes",
                          �[32m+�[0m�[0m "ec2:DescribeLaunchTemplateVersions",
                          �[32m+�[0m�[0m "ec2:GetInstanceTypesFromInstanceRequirements",
                          �[32m+�[0m�[0m "eks:DescribeNodegroup",
                        ]
                      �[32m+�[0m�[0m Effect   = "Allow"
                      �[32m+�[0m�[0m Resource = "*"
                      �[32m+�[0m�[0m Sid      = "DescribeResources"
                    },
                  �[32m+�[0m�[0m {
                      �[32m+�[0m�[0m Action    = [
                          �[32m+�[0m�[0m "autoscaling:SetDesiredCapacity",
                          �[32m+�[0m�[0m "autoscaling:TerminateInstanceInAutoScalingGroup",
                        ]
                      �[32m+�[0m�[0m Condition = {
                          �[32m+�[0m�[0m StringEquals = {
                              �[32m+�[0m�[0m "autoscaling:ResourceTag/kubernetes.io/cluster/jupyterhub-testing-cae-testing" = "owned"
                            }
                        }
                      �[32m+�[0m�[0m Effect    = "Allow"
                      �[32m+�[0m�[0m Resource  = "*"
                      �[32m+�[0m�[0m Sid       = "ScaleNodeGroups"
                    },
                ]
              �[32m+�[0m�[0m Version   = "2012-10-17"
            }
        )
      �[32m+�[0m�[0m role        = (known after apply)
    }

�[1m  # aws_iam_role_policy.user_s3[0]�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role_policy" "user_s3" {
      �[32m+�[0m�[0m id          = (known after apply)
      �[32m+�[0m�[0m name        = "jupyterhub-testing-cae-testing-user-s3-policy"
      �[32m+�[0m�[0m name_prefix = (known after apply)
      �[32m+�[0m�[0m policy      = (known after apply)
      �[32m+�[0m�[0m role        = (known after apply)
    }

�[1m  # module.eks.data.aws_caller_identity.current�[0m will be read during apply
  # (depends on a resource or a module with changes pending)
�[0m �[36m<=�[0m�[0m data "aws_caller_identity" "current" {
      �[32m+�[0m�[0m account_id = (known after apply)
      �[32m+�[0m�[0m arn        = (known after apply)
      �[32m+�[0m�[0m id         = (known after apply)
      �[32m+�[0m�[0m user_id    = (known after apply)
    }

�[1m  # module.eks.data.aws_iam_policy_document.cluster_assume_role�[0m will be read during apply
  # (depends on a resource or a module with changes pending)
�[0m �[36m<=�[0m�[0m data "aws_iam_policy_document" "cluster_assume_role" {
      �[32m+�[0m�[0m id            = (known after apply)
      �[32m+�[0m�[0m json          = (known after apply)
      �[32m+�[0m�[0m minified_json = (known after apply)

      �[32m+�[0m�[0m statement {
          �[32m+�[0m�[0m actions = [
              �[32m+�[0m�[0m "sts:AssumeRole",
            ]
          �[32m+�[0m�[0m effect  = "Allow"

          �[32m+�[0m�[0m principals {
              �[32m+�[0m�[0m identifiers = [
                  �[32m+�[0m�[0m "eks.amazonaws.com",
                ]
              �[32m+�[0m�[0m type        = "Service"
            }
        }
    }

�[1m  # module.eks.data.aws_iam_policy_document.node_assume_role�[0m will be read during apply
  # (depends on a resource or a module with changes pending)
�[0m �[36m<=�[0m�[0m data "aws_iam_policy_document" "node_assume_role" {
      �[32m+�[0m�[0m id            = (known after apply)
      �[32m+�[0m�[0m json          = (known after apply)
      �[32m+�[0m�[0m minified_json = (known after apply)

      �[32m+�[0m�[0m statement {
          �[32m+�[0m�[0m actions = [
              �[32m+�[0m�[0m "sts:AssumeRole",
            ]
          �[32m+�[0m�[0m effect  = "Allow"

          �[32m+�[0m�[0m principals {
              �[32m+�[0m�[0m identifiers = [
                  �[32m+�[0m�[0m "ec2.amazonaws.com",
                ]
              �[32m+�[0m�[0m type        = "Service"
            }
        }
    }

�[1m  # module.eks.data.aws_region.current�[0m will be read during apply
  # (depends on a resource or a module with changes pending)
�[0m �[36m<=�[0m�[0m data "aws_region" "current" {
      �[32m+�[0m�[0m description = (known after apply)
      �[32m+�[0m�[0m endpoint    = (known after apply)
      �[32m+�[0m�[0m id          = (known after apply)
      �[32m+�[0m�[0m name        = (known after apply)
    }

�[1m  # module.eks.data.tls_certificate.cluster�[0m will be read during apply
  # (config refers to values not yet known)
�[0m �[36m<=�[0m�[0m data "tls_certificate" "cluster" {
      �[32m+�[0m�[0m certificates = (known after apply)
      �[32m+�[0m�[0m id           = (known after apply)
      �[32m+�[0m�[0m url          = (known after apply)
    }

�[1m  # module.eks.aws_eks_access_entry.admin_users["arn:aws:iam::992398409787:user/espg"]�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_access_entry" "admin_users" {
      �[32m+�[0m�[0m access_entry_arn  = (known after apply)
      �[32m+�[0m�[0m cluster_name      = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m created_at        = (known after apply)
      �[32m+�[0m�[0m id                = (known after apply)
      �[32m+�[0m�[0m kubernetes_groups = (known after apply)
      �[32m+�[0m�[0m modified_at       = (known after apply)
      �[32m+�[0m�[0m principal_arn     = "arn:aws:iam::992398409787:user/espg"
      �[32m+�[0m�[0m tags              = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all          = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m type              = "STANDARD"
      �[32m+�[0m�[0m user_name         = (known after apply)
    }

�[1m  # module.eks.aws_eks_access_policy_association.admin_users["arn:aws:iam::992398409787:user/espg"]�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_access_policy_association" "admin_users" {
      �[32m+�[0m�[0m associated_at = (known after apply)
      �[32m+�[0m�[0m cluster_name  = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m id            = (known after apply)
      �[32m+�[0m�[0m modified_at   = (known after apply)
      �[32m+�[0m�[0m policy_arn    = "arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy"
      �[32m+�[0m�[0m principal_arn = "arn:aws:iam::992398409787:user/espg"

      �[32m+�[0m�[0m access_scope {
          �[32m+�[0m�[0m type = "cluster"
        }
    }

�[1m  # module.eks.aws_eks_addon.coredns�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_addon" "coredns" {
      �[32m+�[0m�[0m addon_name                  = "coredns"
      �[32m+�[0m�[0m addon_version               = (known after apply)
      �[32m+�[0m�[0m arn                         = (known after apply)
      �[32m+�[0m�[0m cluster_name                = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m configuration_values        = (known after apply)
      �[32m+�[0m�[0m created_at                  = (known after apply)
      �[32m+�[0m�[0m id                          = (known after apply)
      �[32m+�[0m�[0m modified_at                 = (known after apply)
      �[32m+�[0m�[0m resolve_conflicts_on_create = "OVERWRITE"
      �[32m+�[0m�[0m tags                        = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all                    = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
    }

�[1m  # module.eks.aws_eks_addon.ebs_csi_driver�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_addon" "ebs_csi_driver" {
      �[32m+�[0m�[0m addon_name                  = "aws-ebs-csi-driver"
      �[32m+�[0m�[0m addon_version               = (known after apply)
      �[32m+�[0m�[0m arn                         = (known after apply)
      �[32m+�[0m�[0m cluster_name                = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m configuration_values        = (known after apply)
      �[32m+�[0m�[0m created_at                  = (known after apply)
      �[32m+�[0m�[0m id                          = (known after apply)
      �[32m+�[0m�[0m modified_at                 = (known after apply)
      �[32m+�[0m�[0m resolve_conflicts_on_create = "OVERWRITE"
      �[32m+�[0m�[0m tags                        = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all                    = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
    }

�[1m  # module.eks.aws_eks_addon.kube_proxy�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_addon" "kube_proxy" {
      �[32m+�[0m�[0m addon_name                  = "kube-proxy"
      �[32m+�[0m�[0m addon_version               = (known after apply)
      �[32m+�[0m�[0m arn                         = (known after apply)
      �[32m+�[0m�[0m cluster_name                = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m configuration_values        = (known after apply)
      �[32m+�[0m�[0m created_at                  = (known after apply)
      �[32m+�[0m�[0m id                          = (known after apply)
      �[32m+�[0m�[0m modified_at                 = (known after apply)
      �[32m+�[0m�[0m resolve_conflicts_on_create = "OVERWRITE"
      �[32m+�[0m�[0m tags                        = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all                    = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
    }

�[1m  # module.eks.aws_eks_addon.pod_identity�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_addon" "pod_identity" {
      �[32m+�[0m�[0m addon_name                  = "eks-pod-identity-agent"
      �[32m+�[0m�[0m addon_version               = (known after apply)
      �[32m+�[0m�[0m arn                         = (known after apply)
      �[32m+�[0m�[0m cluster_name                = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m configuration_values        = (known after apply)
      �[32m+�[0m�[0m created_at                  = (known after apply)
      �[32m+�[0m�[0m id                          = (known after apply)
      �[32m+�[0m�[0m modified_at                 = (known after apply)
      �[32m+�[0m�[0m resolve_conflicts_on_create = "OVERWRITE"
      �[32m+�[0m�[0m tags                        = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all                    = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
    }

�[1m  # module.eks.aws_eks_addon.vpc_cni�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_addon" "vpc_cni" {
      �[32m+�[0m�[0m addon_name                  = "vpc-cni"
      �[32m+�[0m�[0m addon_version               = (known after apply)
      �[32m+�[0m�[0m arn                         = (known after apply)
      �[32m+�[0m�[0m cluster_name                = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m configuration_values        = (known after apply)
      �[32m+�[0m�[0m created_at                  = (known after apply)
      �[32m+�[0m�[0m id                          = (known after apply)
      �[32m+�[0m�[0m modified_at                 = (known after apply)
      �[32m+�[0m�[0m resolve_conflicts_on_create = "OVERWRITE"
      �[32m+�[0m�[0m tags                        = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all                    = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
    }

�[1m  # module.eks.aws_eks_cluster.main�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_cluster" "main" {
      �[32m+�[0m�[0m arn                           = (known after apply)
      �[32m+�[0m�[0m bootstrap_self_managed_addons = true
      �[32m+�[0m�[0m certificate_authority         = (known after apply)
      �[32m+�[0m�[0m cluster_id                    = (known after apply)
      �[32m+�[0m�[0m created_at                    = (known after apply)
      �[32m+�[0m�[0m enabled_cluster_log_types     = [
          �[32m+�[0m�[0m "api",
          �[32m+�[0m�[0m "audit",
          �[32m+�[0m�[0m "authenticator",
          �[32m+�[0m�[0m "controllerManager",
          �[32m+�[0m�[0m "scheduler",
        ]
      �[32m+�[0m�[0m endpoint                      = (known after apply)
      �[32m+�[0m�[0m id                            = (known after apply)
      �[32m+�[0m�[0m identity                      = (known after apply)
      �[32m+�[0m�[0m name                          = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m platform_version              = (known after apply)
      �[32m+�[0m�[0m role_arn                      = (known after apply)
      �[32m+�[0m�[0m status                        = (known after apply)
      �[32m+�[0m�[0m tags                          = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all                      = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m version                       = "1.34"

      �[32m+�[0m�[0m access_config {
          �[32m+�[0m�[0m authentication_mode                         = "API_AND_CONFIG_MAP"
          �[32m+�[0m�[0m bootstrap_cluster_creator_admin_permissions = true
        }

      �[32m+�[0m�[0m encryption_config {
          �[32m+�[0m�[0m resources = [
              �[32m+�[0m�[0m "secrets",
            ]

          �[32m+�[0m�[0m provider {
              �[32m+�[0m�[0m key_arn = (known after apply)
            }
        }

      �[32m+�[0m�[0m vpc_config {
          �[32m+�[0m�[0m cluster_security_group_id = (known after apply)
          �[32m+�[0m�[0m endpoint_private_access   = true
          �[32m+�[0m�[0m endpoint_public_access    = true
          �[32m+�[0m�[0m public_access_cidrs       = [
              �[32m+�[0m�[0m "0.0.0.0/0",
            ]
          �[32m+�[0m�[0m security_group_ids        = (known after apply)
          �[32m+�[0m�[0m subnet_ids                = (known after apply)
          �[32m+�[0m�[0m vpc_id                    = (known after apply)
        }
    }

�[1m  # module.eks.aws_eks_node_group.dask_workers�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_node_group" "dask_workers" {
      �[32m+�[0m�[0m ami_type               = "AL2023_x86_64_STANDARD"
      �[32m+�[0m�[0m arn                    = (known after apply)
      �[32m+�[0m�[0m capacity_type          = "SPOT"
      �[32m+�[0m�[0m cluster_name           = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m disk_size              = (known after apply)
      �[32m+�[0m�[0m id                     = (known after apply)
      �[32m+�[0m�[0m instance_types         = [
          �[32m+�[0m�[0m "t3.large",
          �[32m+�[0m�[0m "m5.large",
        ]
      �[32m+�[0m�[0m labels                 = {
          �[32m+�[0m�[0m "role"     = "dask-worker"
          �[32m+�[0m�[0m "type"     = "spot"
          �[32m+�[0m�[0m "workload" = "dask"
        }
      �[32m+�[0m�[0m node_group_name        = "jupyterhub-testing-cae-testing-dask-workers"
      �[32m+�[0m�[0m node_group_name_prefix = (known after apply)
      �[32m+�[0m�[0m node_role_arn          = (known after apply)
      �[32m+�[0m�[0m release_version        = (known after apply)
      �[32m+�[0m�[0m resources              = (known after apply)
      �[32m+�[0m�[0m status                 = (known after apply)
      �[32m+�[0m�[0m subnet_ids             = (known after apply)
      �[32m+�[0m�[0m tags                   = {
          �[32m+�[0m�[0m "Application"                                              = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"                                               = "cae-testing"
          �[32m+�[0m�[0m "Environment"                                              = "cae-testing"
          �[32m+�[0m�[0m "Name"                                                     = "jupyterhub-testing-cae-testing-dask-worker-node"
          �[32m+�[0m�[0m "Owner"                                                    = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"                                                = "true"
          �[32m+�[0m�[0m "k8s.io/cluster-autoscaler/enabled"                        = "true"
          �[32m+�[0m�[0m "k8s.io/cluster-autoscaler/jupyterhub-testing-cae-testing" = "owned"
        }
      �[32m+�[0m�[0m tags_all               = {
          �[32m+�[0m�[0m "Application"                                              = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"                                               = "cae-testing"
          �[32m+�[0m�[0m "Environment"                                              = "cae-testing"
          �[32m+�[0m�[0m "Name"                                                     = "jupyterhub-testing-cae-testing-dask-worker-node"
          �[32m+�[0m�[0m "Owner"                                                    = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"                                                = "true"
          �[32m+�[0m�[0m "k8s.io/cluster-autoscaler/enabled"                        = "true"
          �[32m+�[0m�[0m "k8s.io/cluster-autoscaler/jupyterhub-testing-cae-testing" = "owned"
        }
      �[32m+�[0m�[0m version                = (known after apply)

      �[32m+�[0m�[0m launch_template {
          �[32m+�[0m�[0m id      = (known after apply)
          �[32m+�[0m�[0m name    = (known after apply)
          �[32m+�[0m�[0m version = "$Latest"
        }

      �[32m+�[0m�[0m scaling_config {
          �[32m+�[0m�[0m desired_size = 0
          �[32m+�[0m�[0m max_size     = 5
          �[32m+�[0m�[0m min_size     = 0
        }

      �[32m+�[0m�[0m taint {
          �[32m+�[0m�[0m effect = "NO_EXECUTE"
          �[32m+�[0m�[0m key    = "lifecycle"
          �[32m+�[0m�[0m value  = "spot"
        }

      �[32m+�[0m�[0m update_config {
          �[32m+�[0m�[0m max_unavailable_percentage = 33
        }
    }

�[1m  # module.eks.aws_eks_node_group.system[0]�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_node_group" "system" {
      �[32m+�[0m�[0m ami_type               = "AL2023_x86_64_STANDARD"
      �[32m+�[0m�[0m arn                    = (known after apply)
      �[32m+�[0m�[0m capacity_type          = "ON_DEMAND"
      �[32m+�[0m�[0m cluster_name           = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m disk_size              = 50
      �[32m+�[0m�[0m id                     = (known after apply)
      �[32m+�[0m�[0m instance_types         = [
          �[32m+�[0m�[0m "m5.large",
        ]
      �[32m+�[0m�[0m labels                 = {
          �[32m+�[0m�[0m "role" = "system"
          �[32m+�[0m�[0m "type" = "on-demand"
        }
      �[32m+�[0m�[0m node_group_name        = "jupyterhub-testing-cae-testing-system"
      �[32m+�[0m�[0m node_group_name_prefix = (known after apply)
      �[32m+�[0m�[0m node_role_arn          = (known after apply)
      �[32m+�[0m�[0m release_version        = (known after apply)
      �[32m+�[0m�[0m resources              = (known after apply)
      �[32m+�[0m�[0m status                 = (known after apply)
      �[32m+�[0m�[0m subnet_ids             = (known after apply)
      �[32m+�[0m�[0m tags                   = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Name"        = "jupyterhub-testing-cae-testing-system-node"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all               = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Name"        = "jupyterhub-testing-cae-testing-system-node"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m version                = (known after apply)

      �[32m+�[0m�[0m scaling_config {
          �[32m+�[0m�[0m desired_size = 1
          �[32m+�[0m�[0m max_size     = 1
          �[32m+�[0m�[0m min_size     = 1
        }

      �[32m+�[0m�[0m update_config {
          �[32m+�[0m�[0m max_unavailable_percentage = 33
        }
    }

�[1m  # module.eks.aws_eks_node_group.user_medium[0]�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_node_group" "user_medium" {
      �[32m+�[0m�[0m ami_type               = "AL2023_x86_64_STANDARD"
      �[32m+�[0m�[0m arn                    = (known after apply)
      �[32m+�[0m�[0m capacity_type          = "ON_DEMAND"
      �[32m+�[0m�[0m cluster_name           = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m disk_size              = 100
      �[32m+�[0m�[0m id                     = (known after apply)
      �[32m+�[0m�[0m instance_types         = [
          �[32m+�[0m�[0m "r5.xlarge",
        ]
      �[32m+�[0m�[0m labels                 = {
          �[32m+�[0m�[0m "role" = "user"
          �[32m+�[0m�[0m "size" = "medium"
          �[32m+�[0m�[0m "type" = "on-demand"
        }
      �[32m+�[0m�[0m node_group_name        = "jupyterhub-testing-cae-testing-user-medium"
      �[32m+�[0m�[0m node_group_name_prefix = (known after apply)
      �[32m+�[0m�[0m node_role_arn          = (known after apply)
      �[32m+�[0m�[0m release_version        = (known after apply)
      �[32m+�[0m�[0m resources              = (known after apply)
      �[32m+�[0m�[0m status                 = (known after apply)
      �[32m+�[0m�[0m subnet_ids             = (known after apply)
      �[32m+�[0m�[0m tags                   = {
          �[32m+�[0m�[0m "Application"                                              = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"                                               = "cae-testing"
          �[32m+�[0m�[0m "Environment"                                              = "cae-testing"
          �[32m+�[0m�[0m "Name"                                                     = "jupyterhub-testing-cae-testing-user-medium-node"
          �[32m+�[0m�[0m "Owner"                                                    = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"                                                = "true"
          �[32m+�[0m�[0m "k8s.io/cluster-autoscaler/enabled"                        = "true"
          �[32m+�[0m�[0m "k8s.io/cluster-autoscaler/jupyterhub-testing-cae-testing" = "owned"
        }
      �[32m+�[0m�[0m tags_all               = {
          �[32m+�[0m�[0m "Application"                                              = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"                                               = "cae-testing"
          �[32m+�[0m�[0m "Environment"                                              = "cae-testing"
          �[32m+�[0m�[0m "Name"                                                     = "jupyterhub-testing-cae-testing-user-medium-node"
          �[32m+�[0m�[0m "Owner"                                                    = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"                                                = "true"
          �[32m+�[0m�[0m "k8s.io/cluster-autoscaler/enabled"                        = "true"
          �[32m+�[0m�[0m "k8s.io/cluster-autoscaler/jupyterhub-testing-cae-testing" = "owned"
        }
      �[32m+�[0m�[0m version                = (known after apply)

      �[32m+�[0m�[0m scaling_config {
          �[32m+�[0m�[0m desired_size = 0
          �[32m+�[0m�[0m max_size     = 2
          �[32m+�[0m�[0m min_size     = 0
        }

      �[32m+�[0m�[0m update_config {
          �[32m+�[0m�[0m max_unavailable_percentage = 33
        }
    }

�[1m  # module.eks.aws_eks_node_group.user_small[0]�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_node_group" "user_small" {
      �[32m+�[0m�[0m ami_type               = "AL2023_x86_64_STANDARD"
      �[32m+�[0m�[0m arn                    = (known after apply)
      �[32m+�[0m�[0m capacity_type          = "ON_DEMAND"
      �[32m+�[0m�[0m cluster_name           = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m disk_size              = 100
      �[32m+�[0m�[0m id                     = (known after apply)
      �[32m+�[0m�[0m instance_types         = [
          �[32m+�[0m�[0m "r5.large",
        ]
      �[32m+�[0m�[0m labels                 = {
          �[32m+�[0m�[0m "role" = "user"
          �[32m+�[0m�[0m "size" = "small"
          �[32m+�[0m�[0m "type" = "on-demand"
        }
      �[32m+�[0m�[0m node_group_name        = "jupyterhub-testing-cae-testing-user-small"
      �[32m+�[0m�[0m node_group_name_prefix = (known after apply)
      �[32m+�[0m�[0m node_role_arn          = (known after apply)
      �[32m+�[0m�[0m release_version        = (known after apply)
      �[32m+�[0m�[0m resources              = (known after apply)
      �[32m+�[0m�[0m status                 = (known after apply)
      �[32m+�[0m�[0m subnet_ids             = (known after apply)
      �[32m+�[0m�[0m tags                   = {
          �[32m+�[0m�[0m "Application"                                              = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"                                               = "cae-testing"
          �[32m+�[0m�[0m "Environment"                                              = "cae-testing"
          �[32m+�[0m�[0m "Name"                                                     = "jupyterhub-testing-cae-testing-user-small-node"
          �[32m+�[0m�[0m "Owner"                                                    = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"                                                = "true"
          �[32m+�[0m�[0m "k8s.io/cluster-autoscaler/enabled"                        = "true"
          �[32m+�[0m�[0m "k8s.io/cluster-autoscaler/jupyterhub-testing-cae-testing" = "owned"
        }
      �[32m+�[0m�[0m tags_all               = {
          �[32m+�[0m�[0m "Application"                                              = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"                                               = "cae-testing"
          �[32m+�[0m�[0m "Environment"                                              = "cae-testing"
          �[32m+�[0m�[0m "Name"                                                     = "jupyterhub-testing-cae-testing-user-small-node"
          �[32m+�[0m�[0m "Owner"                                                    = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"                                                = "true"
          �[32m+�[0m�[0m "k8s.io/cluster-autoscaler/enabled"                        = "true"
          �[32m+�[0m�[0m "k8s.io/cluster-autoscaler/jupyterhub-testing-cae-testing" = "owned"
        }
      �[32m+�[0m�[0m version                = (known after apply)

      �[32m+�[0m�[0m scaling_config {
          �[32m+�[0m�[0m desired_size = 0
          �[32m+�[0m�[0m max_size     = 2
          �[32m+�[0m�[0m min_size     = 0
        }

      �[32m+�[0m�[0m update_config {
          �[32m+�[0m�[0m max_unavailable_percentage = 33
        }
    }

�[1m  # module.eks.aws_eks_pod_identity_association.ebs_csi_driver�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_eks_pod_identity_association" "ebs_csi_driver" {
      �[32m+�[0m�[0m association_arn = (known after apply)
      �[32m+�[0m�[0m association_id  = (known after apply)
      �[32m+�[0m�[0m cluster_name    = "jupyterhub-testing-cae-testing"
      �[32m+�[0m�[0m id              = (known after apply)
      �[32m+�[0m�[0m namespace       = "kube-system"
      �[32m+�[0m�[0m role_arn        = (known after apply)
      �[32m+�[0m�[0m service_account = "ebs-csi-controller-sa"
      �[32m+�[0m�[0m tags_all        = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
    }

�[1m  # module.eks.aws_iam_openid_connect_provider.cluster�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_openid_connect_provider" "cluster" {
      �[32m+�[0m�[0m arn             = (known after apply)
      �[32m+�[0m�[0m client_id_list  = [
          �[32m+�[0m�[0m "sts.amazonaws.com",
        ]
      �[32m+�[0m�[0m id              = (known after apply)
      �[32m+�[0m�[0m tags            = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all        = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m thumbprint_list = (known after apply)
      �[32m+�[0m�[0m url             = (known after apply)
    }

�[1m  # module.eks.aws_iam_role.cluster�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role" "cluster" {
      �[32m+�[0m�[0m arn                   = (known after apply)
      �[32m+�[0m�[0m assume_role_policy    = (known after apply)
      �[32m+�[0m�[0m create_date           = (known after apply)
      �[32m+�[0m�[0m force_detach_policies = false
      �[32m+�[0m�[0m id                    = (known after apply)
      �[32m+�[0m�[0m managed_policy_arns   = (known after apply)
      �[32m+�[0m�[0m max_session_duration  = 3600
      �[32m+�[0m�[0m name                  = "jupyterhub-testing-cae-testing-cluster-role"
      �[32m+�[0m�[0m name_prefix           = (known after apply)
      �[32m+�[0m�[0m path                  = "/"
      �[32m+�[0m�[0m tags                  = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all              = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m unique_id             = (known after apply)
    }

�[1m  # module.eks.aws_iam_role.ebs_csi_driver�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role" "ebs_csi_driver" {
      �[32m+�[0m�[0m arn                   = (known after apply)
      �[32m+�[0m�[0m assume_role_policy    = jsonencode(
            {
              �[32m+�[0m�[0m Statement = [
                  �[32m+�[0m�[0m {
                      �[32m+�[0m�[0m Action    = [
                          �[32m+�[0m�[0m "sts:AssumeRole",
                          �[32m+�[0m�[0m "sts:TagSession",
                        ]
                      �[32m+�[0m�[0m Effect    = "Allow"
                      �[32m+�[0m�[0m Principal = {
                          �[32m+�[0m�[0m Service = "pods.eks.amazonaws.com"
                        }
                    },
                ]
              �[32m+�[0m�[0m Version   = "2012-10-17"
            }
        )
      �[32m+�[0m�[0m create_date           = (known after apply)
      �[32m+�[0m�[0m force_detach_policies = false
      �[32m+�[0m�[0m id                    = (known after apply)
      �[32m+�[0m�[0m managed_policy_arns   = (known after apply)
      �[32m+�[0m�[0m max_session_duration  = 3600
      �[32m+�[0m�[0m name                  = "jupyterhub-testing-cae-testing-ebs-csi-driver"
      �[32m+�[0m�[0m name_prefix           = (known after apply)
      �[32m+�[0m�[0m path                  = "/"
      �[32m+�[0m�[0m tags                  = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all              = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m unique_id             = (known after apply)
    }

�[1m  # module.eks.aws_iam_role.node�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role" "node" {
      �[32m+�[0m�[0m arn                   = (known after apply)
      �[32m+�[0m�[0m assume_role_policy    = (known after apply)
      �[32m+�[0m�[0m create_date           = (known after apply)
      �[32m+�[0m�[0m force_detach_policies = false
      �[32m+�[0m�[0m id                    = (known after apply)
      �[32m+�[0m�[0m managed_policy_arns   = (known after apply)
      �[32m+�[0m�[0m max_session_duration  = 3600
      �[32m+�[0m�[0m name                  = "jupyterhub-testing-cae-testing-node-role"
      �[32m+�[0m�[0m name_prefix           = (known after apply)
      �[32m+�[0m�[0m path                  = "/"
      �[32m+�[0m�[0m tags                  = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m tags_all              = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m unique_id             = (known after apply)
    }

�[1m  # module.eks.aws_iam_role_policy.node_ebs_policy�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role_policy" "node_ebs_policy" {
      �[32m+�[0m�[0m id          = (known after apply)
      �[32m+�[0m�[0m name        = "jupyterhub-testing-cae-testing-node-ebs-policy"
      �[32m+�[0m�[0m name_prefix = (known after apply)
      �[32m+�[0m�[0m policy      = jsonencode(
            {
              �[32m+�[0m�[0m Statement = [
                  �[32m+�[0m�[0m {
                      �[32m+�[0m�[0m Action   = [
                          �[32m+�[0m�[0m "ec2:CreateSnapshot",
                          �[32m+�[0m�[0m "ec2:AttachVolume",
                          �[32m+�[0m�[0m "ec2:DetachVolume",
                          �[32m+�[0m�[0m "ec2:ModifyVolume",
                          �[32m+�[0m�[0m "ec2:DescribeAvailabilityZones",
                          �[32m+�[0m�[0m "ec2:DescribeInstances",
                          �[32m+�[0m�[0m "ec2:DescribeSnapshots",
                          �[32m+�[0m�[0m "ec2:DescribeTags",
                          �[32m+�[0m�[0m "ec2:DescribeVolumes",
                          �[32m+�[0m�[0m "ec2:DescribeVolumesModifications",
                        ]
                      �[32m+�[0m�[0m Effect   = "Allow"
                      �[32m+�[0m�[0m Resource = "*"
                    },
                  �[32m+�[0m�[0m {
                      �[32m+�[0m�[0m Action    = [
                          �[32m+�[0m�[0m "ec2:CreateTags",
                        ]
                      �[32m+�[0m�[0m Condition = {
                          �[32m+�[0m�[0m StringEquals = {
                              �[32m+�[0m�[0m "ec2:CreateAction" = [
                                  �[32m+�[0m�[0m "CreateVolume",
                                  �[32m+�[0m�[0m "CreateSnapshot",
                                ]
                            }
                        }
                      �[32m+�[0m�[0m Effect    = "Allow"
                      �[32m+�[0m�[0m Resource  = [
                          �[32m+�[0m�[0m "arn:aws:ec2:*:*:volume/*",
                          �[32m+�[0m�[0m "arn:aws:ec2:*:*:snapshot/*",
                        ]
                    },
                  �[32m+�[0m�[0m {
                      �[32m+�[0m�[0m Action   = [
                          �[32m+�[0m�[0m "ec2:DeleteTags",
                        ]
                      �[32m+�[0m�[0m Effect   = "Allow"
                      �[32m+�[0m�[0m Resource = [
                          �[32m+�[0m�[0m "arn:aws:ec2:*:*:volume/*",
                          �[32m+�[0m�[0m "arn:aws:ec2:*:*:snapshot/*",
                        ]
                    },
                  �[32m+�[0m�[0m {
                      �[32m+�[0m�[0m Action    = [
                          �[32m+�[0m�[0m "ec2:CreateVolume",
                        ]
                      �[32m+�[0m�[0m Condition = {
                          �[32m+�[0m�[0m StringLike = {
                              �[32m+�[0m�[0m "aws:RequestTag/kubernetes.io/cluster/jupyterhub-testing-cae-testing" = "owned"
                            }
                        }
                      �[32m+�[0m�[0m Effect    = "Allow"
                      �[32m+�[0m�[0m Resource  = "*"
                    },
                  �[32m+�[0m�[0m {
                      �[32m+�[0m�[0m Action    = [
                          �[32m+�[0m�[0m "ec2:DeleteVolume",
                        ]
                      �[32m+�[0m�[0m Condition = {
                          �[32m+�[0m�[0m StringLike = {
                              �[32m+�[0m�[0m "ec2:ResourceTag/kubernetes.io/cluster/jupyterhub-testing-cae-testing" = "owned"
                            }
                        }
                      �[32m+�[0m�[0m Effect    = "Allow"
                      �[32m+�[0m�[0m Resource  = "*"
                    },
                ]
              �[32m+�[0m�[0m Version   = "2012-10-17"
            }
        )
      �[32m+�[0m�[0m role        = (known after apply)
    }

�[1m  # module.eks.aws_iam_role_policy_attachment.cluster_policy�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role_policy_attachment" "cluster_policy" {
      �[32m+�[0m�[0m id         = (known after apply)
      �[32m+�[0m�[0m policy_arn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy"
      �[32m+�[0m�[0m role       = "jupyterhub-testing-cae-testing-cluster-role"
    }

�[1m  # module.eks.aws_iam_role_policy_attachment.cluster_vpc_policy�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role_policy_attachment" "cluster_vpc_policy" {
      �[32m+�[0m�[0m id         = (known after apply)
      �[32m+�[0m�[0m policy_arn = "arn:aws:iam::aws:policy/AmazonEKSVPCResourceController"
      �[32m+�[0m�[0m role       = "jupyterhub-testing-cae-testing-cluster-role"
    }

�[1m  # module.eks.aws_iam_role_policy_attachment.ebs_csi_driver�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role_policy_attachment" "ebs_csi_driver" {
      �[32m+�[0m�[0m id         = (known after apply)
      �[32m+�[0m�[0m policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy"
      �[32m+�[0m�[0m role       = "jupyterhub-testing-cae-testing-ebs-csi-driver"
    }

�[1m  # module.eks.aws_iam_role_policy_attachment.node_cni_policy�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role_policy_attachment" "node_cni_policy" {
      �[32m+�[0m�[0m id         = (known after apply)
      �[32m+�[0m�[0m policy_arn = "arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy"
      �[32m+�[0m�[0m role       = "jupyterhub-testing-cae-testing-node-role"
    }

�[1m  # module.eks.aws_iam_role_policy_attachment.node_policy�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role_policy_attachment" "node_policy" {
      �[32m+�[0m�[0m id         = (known after apply)
      �[32m+�[0m�[0m policy_arn = "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy"
      �[32m+�[0m�[0m role       = "jupyterhub-testing-cae-testing-node-role"
    }

�[1m  # module.eks.aws_iam_role_policy_attachment.node_registry_policy�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role_policy_attachment" "node_registry_policy" {
      �[32m+�[0m�[0m id         = (known after apply)
      �[32m+�[0m�[0m policy_arn = "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
      �[32m+�[0m�[0m role       = "jupyterhub-testing-cae-testing-node-role"
    }

�[1m  # module.eks.aws_iam_role_policy_attachment.node_ssm_policy�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_iam_role_policy_attachment" "node_ssm_policy" {
      �[32m+�[0m�[0m id         = (known after apply)
      �[32m+�[0m�[0m policy_arn = "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore"
      �[32m+�[0m�[0m role       = "jupyterhub-testing-cae-testing-node-role"
    }

�[1m  # module.eks.aws_launch_template.dask_workers�[0m will be created
�[0m  �[32m+�[0m�[0m resource "aws_launch_template" "dask_workers" {
      �[32m+�[0m�[0m arn             = (known after apply)
      �[32m+�[0m�[0m default_version = (known after apply)
      �[32m+�[0m�[0m id              = (known after apply)
      �[32m+�[0m�[0m latest_version  = (known after apply)
      �[32m+�[0m�[0m name            = (known after apply)
      �[32m+�[0m�[0m name_prefix     = "jupyterhub-testing-cae-testing-dask-"
      �[32m+�[0m�[0m tags_all        = {
          �[32m+�[0m�[0m "Application" = "jupyterhub"
          �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
          �[32m+�[0m�[0m "Environment" = "cae-testing"
          �[32m+�[0m�[0m "Owner"       = "refuge@rocktalus.com"
          �[32m+�[0m�[0m "Terraform"   = "true"
        }
      �[32m+�[0m�[0m user_data       = "TUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PU1ZQk9VTkRBUlk9PSIKCi0tPT1NWUJPVU5EQVJZPT0KQ29udGVudC1UeXBlOiB0ZXh0L3gtc2hlbGxzY3JpcHQ7IGNoYXJzZXQ9InVzLWFzY2lpIgoKIyEvYmluL2Jhc2gKc2V0IC1leAoKIyBETyBOT1QgY2FsbCAvZXRjL2Vrcy9ib290c3RyYXAuc2ggaGVyZSAtIEVLUyBtYW5hZ2VkIG5vZGUgZ3JvdXBzIGhhbmRsZSBpdCBhdXRvbWF0aWNhbGx5CiMgTW91bnQgTlZNZSBzdG9yYWdlIGFuZCBjb25maWd1cmUgY29udGFpbmVyZCB0byB1c2UgaXQKCmVjaG8gIlN0YXJ0aW5nIE5WTWUgbW91bnQgYW5kIGNvbnRhaW5lcmQgY29uZmlndXJhdGlvbiBzY3JpcHQgZm9yIERhc2sgd29ya2VyLi4uIgoKIyBXYWl0IGZvciBOVk1lIGRldmljZXMgdG8gYmUgYXZhaWxhYmxlCnNsZWVwIDUKCiMgRmluZCB0aGUgTlZNZSBkZXZpY2UgKG5vdCB0aGUgcm9vdCBkZXZpY2UpCk5WTUVfREVWSUNFPSQobHNibGsgLWQgLW4gfCBncmVwIG52bWUgfCBncmVwIC12IG52bWUwbjEgfCBoZWFkIC0xIHwgYXdrICd7cHJpbnQgIi9kZXYvIiQxfScpCgppZiBbICEgLXogIiROVk1FX0RFVklDRSIgXTsgdGhlbgogIGVjaG8gIkZvdW5kIE5WTWUgZGV2aWNlOiAkTlZNRV9ERVZJQ0UiCgogICMgQ2hlY2sgaWYgYWxyZWFkeSBmb3JtYXR0ZWQKICBpZiAhIGJsa2lkICROVk1FX0RFVklDRTsgdGhlbgogICAgZWNobyAiRm9ybWF0dGluZyAkTlZNRV9ERVZJQ0Ugd2l0aCBleHQ0Li4uIgogICAgbWtmcyAtdCBleHQ0ICROVk1FX0RFVklDRQogIGZpCgogICMgTW91bnQgdG8gL21udC9udm1lCiAgbWtkaXIgLXAgL21udC9udm1lCiAgbW91bnQgJE5WTUVfREVWSUNFIC9tbnQvbnZtZQogIGNobW9kIDc1NSAvbW50L252bWUKCiAgIyBBZGQgdG8gZnN0YWIgZm9yIHBlcnNpc3RlbmNlCiAgaWYgISBncmVwIC1xICIkTlZNRV9ERVZJQ0UiIC9ldGMvZnN0YWI7IHRoZW4KICAgIGVjaG8gIiROVk1FX0RFVklDRSAvbW50L252bWUgZXh0NCBkZWZhdWx0cyxub2F0aW1lIDAgMCIgPj4gL2V0Yy9mc3RhYgogIGZpCgogICMgQ3JlYXRlIGNvbnRhaW5lcmQgZGlyZWN0b3JpZXMgb24gTlZNZQogIG1rZGlyIC1wIC9tbnQvbnZtZS9jb250YWluZXJkCiAgY2htb2QgNzExIC9tbnQvbnZtZS9jb250YWluZXJkCgogICMgU3RvcCBjb250YWluZXJkIGJlZm9yZSBtb3ZpbmcgZGF0YQogIHN5c3RlbWN0bCBzdG9wIGNvbnRhaW5lcmQgfHwgdHJ1ZQoKICAjIE1vdmUgZXhpc3RpbmcgY29udGFpbmVyZCBkYXRhIGlmIGl0IGV4aXN0cyBhbmQgaGFzbid0IGJlZW4gbW92ZWQgeWV0CiAgaWYgWyAtZCAvdmFyL2xpYi9jb250YWluZXJkIF0gJiYgWyAhIC1MIC92YXIvbGliL2NvbnRhaW5lcmQgXTsgdGhlbgogICAgZWNobyAiTW92aW5nIGV4aXN0aW5nIGNvbnRhaW5lcmQgZGF0YSB0byBOVk1lLi4uIgogICAgY3AgLWEgL3Zhci9saWIvY29udGFpbmVyZC8qIC9tbnQvbnZtZS9jb250YWluZXJkLyAyPi9kZXYvbnVsbCB8fCB0cnVlCiAgICBtdiAvdmFyL2xpYi9jb250YWluZXJkIC92YXIvbGliL2NvbnRhaW5lcmQub2xkCiAgZmkKCiAgIyBDcmVhdGUgc3ltbGluayBmcm9tIC92YXIvbGliL2NvbnRhaW5lcmQgdG8gTlZNZSBsb2NhdGlvbgogIGxuIC1zZiAvbW50L252bWUvY29udGFpbmVyZCAvdmFyL2xpYi9jb250YWluZXJkCgogICMgUmVzdGFydCBjb250YWluZXJkCiAgc3lzdGVtY3RsIHN0YXJ0IGNvbnRhaW5lcmQKCiAgZWNobyAiTlZNZSBzdWNjZXNzZnVsbHkgbW91bnRlZCBhbmQgY29udGFpbmVyZCBjb25maWd1cmVkIHRvIHVzZSBpdCBmb3IgRGFzayB3b3JrZXIiCiAgZGYgLWggL21udC9udm1lCiAgbHMgLWxhIC92YXIvbGliL2NvbnRhaW5lcmQKZWxzZQogIGVjaG8gIk5vIE5WTWUgZGV2aWNlIGZvdW5kIC0gdXNpbmcgZGVmYXVsdCBzdG9yYWdlIG9uIHJvb3Qgdm9sdW1lIgpmaQoKLS09PU1ZQk9VTkRBUlk9PS0tCg=="

      �[32m+�[0m�[0m block_device_mappings {
          �[32m+�[0m�[0m device_name = "/dev/xvda"

          �[32m+�[0m�[0m ebs {
              �[32m+�[0m�[0m encrypted                  = "true"
              �[32m+�[0m�[0m iops                       = (known after apply)
              �[32m+�[0m�[0m throughput                 = (known after apply)
              �[32m+�[0m�[0m volume_initialization_rate = (known after apply)
              �[32m+�[0m�[0m volume_size                = 50
              �[32m+�[0m�[0m volume_type                = "gp3"
            }
        }

      �[32m+�[0m�[0m tag_specifications {
          �[32m+�[0m�[0m resource_type = "instance"
          �[32m+�[0m�[0m tags          = {
              �[32m+�[0m�[0m "Application" = "jupyterhub"
              �[32m+�[0m�[0m "CostCenter"  = "cae-testing"
  
... (truncated)

Pushed by: @espg, Action: pull_request

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

OpenTofu Plan - cae-dev

Show Plan
�[0;32mChecking environment setup...�[0m 
OpenTofu/Terraform: tofu at /home/runner/work/_temp/e86c3531-c263-4886-a1ba-70cedffe70bb/tofu
AWS CLI: /usr/local/bin/aws
kubectl: /usr/bin/kubectl
Environment: cae-dev
Region: us-west-2
�[0;32mEnvironment check passed�[0m 
�[0;32mSOPS config exists for environment: cae-dev�[0m 
�[0;32mInitializing tofu for environment: cae-dev�[0m 
{
    "BucketArn": "arn:aws:s3:::tofu-state-jupyterhub-cae-dev-usw2-992398409787",
    "BucketRegion": "us-west-2",
    "AccessPointAlias": false
}
/home/runner/work/_temp/e86c3531-c263-4886-a1ba-70cedffe70bb/tofu init -backend-config=environments/cae-dev/backend.tfvars -reconfigure

�[0m�[1mInitializing the backend...�[0m
�[0m�[32m
Successfully configured the backend "s3"! OpenTofu will automatically
use this backend unless the backend configuration changes.�[0m
�[0m�[1mInitializing modules...�[0m
- acm in modules/acm
- auto_shutdown in modules/auto_shutdown
- cognito in modules/cognito
- eks in modules/eks
- helm in modules/helm
- kms in modules/kms
- kubecost in modules/kubecost
- kubernetes in modules/kubernetes
- monitoring in modules/monitoring
- networking in modules/networking
- s3 in modules/s3

�[0m�[1mInitializing provider plugins...�[0m
- Finding latest version of hashicorp/null...
- Finding latest version of hashicorp/tls...
- Finding hashicorp/random versions matching "~> 3.6"...
- Finding carlpett/sops versions matching "~> 1.0"...
- Finding hashicorp/aws versions matching "~> 5.0"...
- Finding hashicorp/kubernetes versions matching "~> 2.24"...
- Finding hashicorp/helm versions matching "~> 2.12"...
- Installing hashicorp/kubernetes v2.38.0...
- Installed hashicorp/kubernetes v2.38.0 (signed, key ID �[0m�[1m0C0AF313E5FD9F80�[0m�[0m)
- Installing hashicorp/helm v2.17.0...
- Installed hashicorp/helm v2.17.0 (signed, key ID �[0m�[1m0C0AF313E5FD9F80�[0m�[0m)
- Installing hashicorp/null v3.3.0...
- Installed hashicorp/null v3.3.0 (signed, key ID �[0m�[1m0C0AF313E5FD9F80�[0m�[0m)
- Installing hashicorp/tls v4.3.0...
- Installed hashicorp/tls v4.3.0 (signed, key ID �[0m�[1m0C0AF313E5FD9F80�[0m�[0m)
- Installing hashicorp/random v3.9.0...
- Installed hashicorp/random v3.9.0 (signed, key ID �[0m�[1m0C0AF313E5FD9F80�[0m�[0m)
- Installing carlpett/sops v1.4.1...
- Installed carlpett/sops v1.4.1 (signed, key ID �[0m�[1m1468AC14E6819667�[0m�[0m)
- Installing hashicorp/aws v5.100.0...
- Installed hashicorp/aws v5.100.0 (signed, key ID �[0m�[1m0C0AF313E5FD9F80�[0m�[0m)

Providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://opentofu.org/docs/cli/plugins/signing/

OpenTofu has created a lock file �[1m.terraform.lock.hcl�[0m to record the provider
selections it made above. Include this file in your version control repository
so that OpenTofu can guarantee to make the same selections by default when
you run "tofu init" in the future.�[0m

�[0m�[1m�[32mOpenTofu has been successfully initialized!�[0m�[32m�[0m
�[0m�[32m
You may now begin working with OpenTofu. Try running "tofu plan" to see
any changes that are required for your infrastructure. All OpenTofu commands
should now work.

If you ever set or change modules or backend configuration for OpenTofu,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.�[0m
�[0;32mCreating tofu plan for environment: cae-dev�[0m 
/home/runner/work/_temp/e86c3531-c263-4886-a1ba-70cedffe70bb/tofu plan -var-file=environments/cae-dev/terraform.tfvars -out=tfplan
�[31m╷�[0m�[0m
�[31m│�[0m �[0m�[1m�[31mError: �[0m�[0m�[1mError acquiring the state lock�[0m
�[31m│�[0m �[0m
�[31m│�[0m �[0m�[0mError message: operation error DynamoDB: PutItem, https response error
�[31m│�[0m �[0mStatusCode: 400, RequestID:
�[31m│�[0m �[0m05P66TABQU4BHN3PCCLEAT63PRVV4KQNSO5AEMVJF66Q9ASUAAJG,
�[31m│�[0m �[0mConditionalCheckFailedException: The conditional request failed
�[31m│�[0m �[0mLock Info:
�[31m│�[0m �[0m  ID:        3710b577-3fd1-976b-0ce8-84ccb72a299a
�[31m│�[0m �[0m  Path:      tofu-state-jupyterhub-cae-dev-usw2-992398409787/terraform.tfstate
�[31m│�[0m �[0m  Operation: OperationTypePlan
�[31m│�[0m �[0m  Who:       runner@runnervmkkn4f
�[31m│�[0m �[0m  Version:   1.6.0
�[31m│�[0m �[0m  Created:   2026-07-09 03:04:19.396247035 +0000 UTC
�[31m│�[0m �[0m  Info:      
�[31m│�[0m �[0m
�[31m│�[0m �[0m
�[31m│�[0m �[0mOpenTofu acquires a state lock to protect the state from being written
�[31m│�[0m �[0mby multiple users at the same time. Please resolve the issue above and try
�[31m│�[0m �[0magain. For most commands, you can disable locking with the "-lock=false"
�[31m│�[0m �[0mflag, but this is not recommended.
�[31m╵�[0m�[0m
::error::OpenTofu exited with code 1.
make: *** [Makefile:88: plan] Error 1

Pushed by: @espg, Action: pull_request

@espg
espg deleted the feat/route53-migration branch July 9, 2026 03:06
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