{
  "id": "edge.24-12-19",
  "name": "edge.24-12-19",
  "summary": "Introduces SLA Target Levels for cost-to-availability tradeoffs, adds advanced path rewriting capabilities for ingress and CDN modules, improves support for private ECR repositories, and fixes several Redis and environment variable issues.",
  "skip": false,
  "highlights": [
    "New `sla_target` Terragrunt variable replaces `enhanced_ha_enabled` — controls cost-to-availability tradeoff",
    "Provider version updated: `pf` 0.0.5→0.0.7",
    "New arbitrary path rewriting support in `kube_ingress`, `kube_aws_cdn`, `aws_cdn`, and `aws_s3_public_website`",
    "`wf_dockerfile_build` now supports private ECR base images"
  ],
  "changes": [
    {
      "id": "d660a28c-3925-444e-a3d0-4d2d759878a5",
      "type": "breaking_change",
      "summary": "Introduces [SLA Target Levels](/docs/main/guides/deploying-workloads/high-availability#sla-levels). The `enhanced_ha_enabled` input has been removed from all modules. The previous default behavior (`enhanced_ha_enabled = true`)"
    },
    {
      "id": "8bad5cd6-c8a7-453e-ae0a-06adaab4b942",
      "type": "breaking_change",
      "summary": "`pf` provider version upgraded from 0.0.5 to 0.0.7. Update this in first-party IaC."
    },
    {
      "id": "1c1a2c5b-a3d1-429d-9e07-8dd5e5da4f3a",
      "type": "addition",
      "summary": "Adds support for arbitrary path rewriting in [`kube_ingress`](/docs/edge/reference/infrastructure-modules/submodule/kubernetes/kube_ingress), [`kube_aws_cdn`](/docs/edge/reference/infrastructure-modules/submodule/kubernetes/kube_aws_cdn), [`aws_cdn`](/docs/edge/reference/infrastructure-modules/submodule/aws/aws_cdn), and [`aws_s3_public_website`](/docs/edge/reference/infrastructure-modules/submodule/aws/aws_s3_public_website).",
      "impacts": [
        {
          "type": "iac-module",
          "component": "kube_ingress",
          "summary": "Adds support for arbitrary path rewriting rules"
        },
        {
          "type": "iac-module",
          "component": "kube_aws_cdn",
          "summary": "Adds support for arbitrary path rewriting rules"
        },
        {
          "type": "iac-module",
          "component": "aws_cdn",
          "summary": "Adds support for arbitrary path rewriting rules"
        },
        {
          "type": "iac-module",
          "component": "aws_s3_public_website",
          "summary": "Adds support for arbitrary path rewriting rules"
        }
      ]
    },
    {
      "id": "a93b9550-3587-4c8c-8977-7d923b0ae0d3",
      "type": "addition",
      "summary": "[`wf_dockerfile_build`](/docs/edge/reference/infrastructure-modules/submodule/workflow/wf_dockerfile_build) now supports sourcing base images from private ECR repositories.",
      "impacts": [
        {
          "type": "iac-module",
          "component": "wf_dockerfile_build",
          "summary": "Supports sourcing base images from private ECR repositories"
        }
      ]
    },
    {
      "id": "b7bcf48e-aa6b-4f8b-8fb7-5475418a93ea",
      "type": "addition",
      "summary": "Adds `not_found_path` to [`aws_s3_public_website`](/docs/edge/reference/infrastructure-modules/submodule/aws/aws_s3_public_website) for specifying the asset to load when no object exists at the requested path.",
      "impacts": [
        {
          "type": "iac-module",
          "component": "aws_s3_public_website",
          "summary": "Adds not_found_path input for custom 404 asset handling"
        }
      ]
    },
    {
      "id": "be12e1e1-512f-4b42-9e5d-ec9d2d8d69fc",
      "type": "addition",
      "summary": "Adds `custom_error_responses` to [`aws_cdn`](/docs/edge/reference/infrastructure-modules/submodule/aws/aws_cdn) to overwrite error responses from the upstream origin.",
      "impacts": [
        {
          "type": "iac-module",
          "component": "aws_cdn",
          "summary": "Adds custom_error_responses to override upstream error responses"
        }
      ]
    },
    {
      "id": "18bd6fcc-23b6-41f5-aa4b-5666f72a0495",
      "type": "fix",
      "summary": "Addressed conflicting PDB issue with [`kube_redis_sentinel`](/docs/edge/reference/infrastructure-modules/submodule/kubernetes/kube_redis_sentinel) that prevented vertical autoscaling from working.",
      "impacts": [
        {
          "type": "iac-module",
          "component": "kube_redis_sentinel",
          "summary": "Fixes conflicting PDB that prevented vertical autoscaling"
        }
      ]
    },
    {
      "id": "e71b7257-824b-44b1-a203-365442d6d005",
      "type": "fix",
      "summary": "Standard Panfactum environment variables for Kubernetes workloads are now injected before user-defined environment variables to make them available for use"
    },
    {
      "id": "0a7906f2-9c42-477a-8ef7-44cbab76472d",
      "type": "fix",
      "summary": "Fixed CRD auto-upgrade and incorrect AWS permissions in [`kube_aws_lb_controller`](/docs/edge/reference/infrastructure-modules/direct/kubernetes/kube_aws_lb_controller).",
      "impacts": [
        {
          "type": "iac-module",
          "component": "kube_aws_lb_controller",
          "summary": "Fixes CRD auto-upgrade and incorrect AWS permissions"
        }
      ]
    }
  ],
  "on_upgrade_path": true,
  "list_url": "/docs/changelog/edge.json",
  "llm_txt_url": "/docs/changelog/edge.24-12-19/llm.txt",
  "next": "/docs/changelog/edge.25-01-04.json",
  "prev": "/docs/changelog/edge.24-12-13.json"
}