{
  "id": "edge.24-07-01",
  "name": "edge.24-07-01",
  "summary": "Graduates BuildKit to beta status, updates ECR repository configuration for better customization, adds Argo Events components, introduces several helpful CLI tools, and improves ARM support across core components.",
  "skip": false,
  "highlights": [
    "[`kube_buildkit`](/docs/edge/reference/infrastructure-modules/direct/kubernetes/kube_buildkit) graduates to Beta status",
    "ECR repository input format changed to support per-repository configuration",
    "New [`kube_argo_sensor`](/docs/edge/reference/infrastructure-modules/submodule/kubernetes/kube_argo_sensor) and [`kube_argo_event_source`](/docs/edge/reference/infrastructure-modules/submodule/kubernetes/kube_argo_event_source) submodules (Alpha)",
    "All core cluster components now support both amd64 and arm64 nodes"
  ],
  "changes": [
    {
      "id": "ea0e1190-cce3-47ae-83f0-93e5b523f572",
      "type": "breaking_change",
      "summary": "The input format to [`aws_ecr_repos`](/docs/edge/reference/infrastructure-modules/direct/aws/aws_ecr_repos) has been reformatted to support better per-repository configuration. Terragrunt inputs will need to be updated",
      "impacts": [
        {
          "type": "iac-module",
          "component": "aws_ecr_repos",
          "summary": "Input format changed for per-repository config"
        }
      ]
    },
    {
      "id": "8cbea9a4-45fa-451f-b7e9-a6176ca0c08b",
      "type": "breaking_change",
      "summary": "EC2 instances in EKS node groups, NAT hosts in [`aws_vpc`](/docs/edge/reference/infrastructure-modules/direct/aws/aws_vpc), KMS replica keys in [`aws_kms_encrypt_key`](/docs/edge/reference/infrastructure-modules/submodule/aws/aws_kms_encrypt_key), and pods in [`kube_bastion`](/docs/edge/reference/infrastructure-modules/direct/kubernetes/kube_bastion) will",
      "impacts": [
        {
          "type": "iac-module",
          "component": "aws_vpc",
          "summary": "NAT hosts no longer tagged with version/commit hash"
        },
        {
          "type": "iac-module",
          "component": "aws_kms_encrypt_key",
          "summary": "Replica keys no longer tagged with version/commit hash"
        },
        {
          "type": "iac-module",
          "component": "kube_bastion",
          "summary": "Pods no longer tagged with version/commit hash"
        }
      ]
    },
    {
      "id": "ea78cae6-3f08-47e6-8882-e5fabac4df94",
      "type": "addition",
      "summary": "[`kube_buildkit`](/docs/edge/reference/infrastructure-modules/direct/kubernetes/kube_buildkit) has graduated to Beta status and is ready for general consumption. Installation and usage instructions are [here](/docs/edge/guides/addons/buildkit/installing).",
      "impacts": [
        {
          "type": "iac-module",
          "component": "kube_buildkit",
          "summary": "Graduated to Beta status"
        }
      ]
    },
    {
      "id": "126c942b-6c30-4990-9c59-f7b04d7ffa39",
      "type": "addition",
      "summary": "[`aws_ecr_repos`](/docs/edge/reference/infrastructure-modules/direct/aws/aws_ecr_repos) now supports custom image expiration rules and both pull and push permissions.",
      "impacts": [
        {
          "type": "iac-module",
          "component": "aws_ecr_repos",
          "summary": "New custom expiration rules and permission options"
        }
      ]
    },
    {
      "id": "caca6e2f-92df-4c5f-924b-e74bb522f8dc",
      "type": "addition",
      "summary": "[`aws_ecr_public_repos`](/docs/edge/reference/infrastructure-modules/direct/aws/aws_ecr_public_repos) added to support creating public ECR repositories.",
      "impacts": [
        {
          "type": "iac-module",
          "component": "aws_ecr_public_repos",
          "summary": "New module for public ECR repositories"
        }
      ]
    },
    {
      "id": "75b2c7ab-0357-444b-8bcf-f25e2f30e1d9",
      "type": "addition",
      "summary": "Adds ARM support in [`kube_bastion`](/docs/edge/reference/infrastructure-modules/direct/kubernetes/kube_bastion) and `kube_pvc_autoresizer`. All core cluster components can now run on both amd64 and arm64 nodes.",
      "impacts": [
        {
          "type": "iac-module",
          "component": "kube_bastion",
          "summary": "Added arm64 node support"
        },
        {
          "type": "iac-module",
          "component": "kube_pvc_autoresizer",
          "summary": "Added arm64 node support"
        }
      ]
    },
    {
      "id": "73beb975-0078-4aa7-bb17-71f0b0a744f1",
      "type": "addition",
      "summary": "`pf-providers-enable` now ensures `.terraform.lock.hcl` files have all common platform checksums."
    },
    {
      "id": "24d918b4-cd20-4d85-a8be-d348ee063cdc",
      "type": "addition",
      "summary": "Adds `pf-get-terragrunt-variables` to derive Terragrunt variables for a given directory."
    },
    {
      "id": "143e0f35-df55-4c37-9929-fc3cf60b9327",
      "type": "addition",
      "summary": "Adds `pf-tf-delete-locks` for bulk-releasing Tofu state locks.",
      "impacts": [
        {
          "type": "cli",
          "component": "iac delete-locks",
          "summary": "New command for bulk-releasing Tofu state locks"
        }
      ]
    },
    {
      "id": "ca1e7f6c-7ea4-411c-b590-64290a8ea389",
      "type": "addition",
      "summary": "Adds `pf-sops-set-profile` to update all sops-encrypted files in a directory to use the indicated AWS profile for KMS operations.",
      "impacts": [
        {
          "type": "cli",
          "component": "wf sops-set-profile",
          "summary": "New command to update sops AWS profile for KMS"
        }
      ]
    },
    {
      "id": "8f281ecc-8385-4551-8d15-15d534a31e7e",
      "type": "addition",
      "summary": "(Alpha) Adds [`kube_argo_sensor`](/docs/edge/reference/infrastructure-modules/submodule/kubernetes/kube_argo_sensor) and [`kube_argo_event_source`](/docs/edge/reference/infrastructure-modules/submodule/kubernetes/kube_argo_event_source) submodules for deploying core Argo Events components.",
      "impacts": [
        {
          "type": "iac-module",
          "component": "kube_argo_sensor",
          "summary": "New Alpha submodule for Argo Events sensors"
        },
        {
          "type": "iac-module",
          "component": "kube_argo_event_source",
          "summary": "New Alpha submodule for Argo Events sources"
        }
      ]
    },
    {
      "id": "cc0debb6-2cd8-49c1-bfca-d42143d4d78c",
      "type": "addition",
      "summary": "(Alpha) Adds the [`kube_workflow_spec`](/docs/edge/reference/infrastructure-modules/submodule/kubernetes/kube_workflow_spec) submodule to help define production-ready Argo Workflows.",
      "impacts": [
        {
          "type": "iac-module",
          "component": "wf_spec",
          "summary": "New Alpha submodule for Argo Workflow definitions"
        }
      ]
    },
    {
      "id": "43bfa0d6-0134-437d-b77d-f7ce02c4f57e",
      "type": "fix",
      "summary": "[`kube_aws_ebs_csi`](/docs/edge/reference/infrastructure-modules/direct/kubernetes/kube_aws_ebs_csi) adjusted to ensure PVCs are detached from nodes during node shutdown, preventing delays when moving PVCs between nodes.",
      "references": [
        {
          "type": "issue-report",
          "summary": "PVC not detached during node shutdown causing delays",
          "link": "https://github.com/Panfactum/stack/issues/50"
        }
      ],
      "impacts": [
        {
          "type": "iac-module",
          "component": "kube_aws_ebs_csi",
          "summary": "Fix for PVC detachment during node shutdown"
        }
      ]
    },
    {
      "id": "070cdb82-d4d4-436e-bc5e-bfa9c80daab9",
      "type": "fix",
      "summary": "[`kube_core_dns`](/docs/edge/reference/infrastructure-modules/direct/kubernetes/kube_core_dns) no longer accidentally includes the Vault provider.",
      "references": [
        {
          "type": "issue-report",
          "summary": "kube_core_dns accidentally includes Vault provider",
          "link": "https://github.com/Panfactum/stack/issues/61"
        }
      ],
      "impacts": [
        {
          "type": "iac-module",
          "component": "kube_core_dns",
          "summary": "Removed accidental Vault provider inclusion"
        }
      ]
    }
  ],
  "on_upgrade_path": false,
  "list_url": "/docs/changelog/edge.json",
  "llm_txt_url": "/docs/changelog/edge.24-07-01/llm.txt",
  "next": "/docs/changelog/edge.24-07-08.json",
  "prev": "/docs/changelog/edge.24-06-20.json"
}