Skip to content

v3.1.1 GHCR "status code 405: unsupported: The operation is unsupported" #1731

@SeanKilleen

Description

@SeanKilleen

Terraform, Provider, Kubernetes and Helm Versions

Terraform version: v1.14.1
Provider version: v3.1.1
Kubernetes version: v1.33.5

Affected Resource(s)

  • helm_release

Terraform Configuration Files

We rebuild some of Bitnami's charts in our own repository, so host them in our own GHCR. Don't mind the locals here; was just removing variables. 😄

This is an example; it happens for multiple of these charts.

resource "helm_release" "postgres_billing" {
  name       = "postgres-billing"
  repository = "oci://ghcr.io/sct-software/bitnami-chart"
  namespace  = kubernetes_namespace_v1.products.metadata[0].name
  chart      = "postgresql"
  version    = "17.0.1"

  repository_username = local.github_repo_username
  repository_password = local.github_repo_password

  values = [
    templatefile("helm_chart_values/postgres.tftpl", {
      databaseName                = "postgres_billing"
      username                    = "billingapiuser"
      existingSecretName          = kubernetes_secret_v1.postgres_billing_creds.metadata[0].name
      image_pull_secret_name      = kubernetes_secret_v1.ghcr_access_token.metadata[0].name
      use_upgradepostgres_sidecar = true
      enableMetrics               = true
    })
  ]
}

Debug Output

NOTE: In addition to Terraform debugging, please set HELM_DEBUG=1 to enable debugging info from helm.

Panic Output

Steps to Reproduce

  • Update provider 3.0.2 -> 3.1.1
  • terraform apply

Expected Behavior

Expect to see "no changes" since no changes have been made.

Actual Behavior

│ Error: Error locating chart
│
│   with module.product_environment.module.product_environment_kyma.helm_release.postgres_billing,
│   on modules\product_environment_kyma\main.tf line 52, in resource "helm_release" "postgres_billing":52: resource "helm_release" "postgres_billing" {
│
│ Unable to locate chart oci://ghcr.io/sct-software/bitnami-chart/postgresql: failed to perform "Fetch" on source: GET"https://ghcr.io/v2/sct-software/bitnami-chart/postgresql/blobs/sha256:b8034cc3216dfdcf228dcb771e7009a17cb047eb393d099a2a0e5bd42bc8a6f4": POST
│ "https://ghcr.io/token": response status code 405: unsupported: The operation is unsupported.

Important Factoids

  • Hosting these charts in our own GHCR
  • Credentials haven't changed
  • Downgrading back to provider v3.0.2 resolves the symptoms

References

None that I'm aware of

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions