Skip to content

Support repository charts with unconventional .tgz filename#337

Open
jonasz-lasut wants to merge 1 commit into
crossplane-contrib:mainfrom
jonasz-lasut:tgz-name-resolution
Open

Support repository charts with unconventional .tgz filename#337
jonasz-lasut wants to merge 1 commit into
crossplane-contrib:mainfrom
jonasz-lasut:tgz-name-resolution

Conversation

@jonasz-lasut

@jonasz-lasut jonasz-lasut commented Jun 13, 2026

Copy link
Copy Markdown

Description of your changes

Fixes #336

I have:

  • Read and followed Crossplane's contribution process.
  • Run make reviewable to ensure this PR is ready for review.

How has this code been tested

Added new E2E test target and tested E2E "classic release" and the new release with unconventional tgz path
UPTEST_EXAMPLE_LIST="examples/namespaced/sample/release-nonconventional-tgz.yaml" make e2e
(/test-examples="examples/namespaced/sample/release-nonconventional-tgz.yaml" for the pipeline :))

Before (running provider-helm from main):

apiVersion: helm.m.crossplane.io/v1beta1
kind: Release
metadata:
  annotations:
    crossplane.io/external-create-failed: "2026-06-13T14:23:04Z"
    crossplane.io/external-create-pending: "2026-06-13T14:23:04Z"
    crossplane.io/external-name: node-feature-discovery
    upjet.upbound.io/test: "true"
  creationTimestamp: "2026-06-13T14:22:58Z"
  finalizers:
  - finalizer.managedresource.crossplane.io
  generation: 2
  name: node-feature-discovery
  namespace: crossplane-system
  resourceVersion: "1049"
  uid: 5aa194de-33ad-4a12-b74c-59d04c3e8fae
spec:
  forProvider:
    chart:
      name: node-feature-discovery
      pullSecretRef:
        name: ""
      repository: https://kubernetes-sigs.github.io/node-feature-discovery/charts
      version: 0.18.3
    namespace: nfd
  managementPolicies:
  - '*'
  providerConfigRef:
    kind: ClusterProviderConfig
    name: helm-provider-cluster
status:
  atProvider: {}
  conditions:
  - lastTransitionTime: "2026-06-13T14:22:58Z"
    observedGeneration: 2
    reason: Creating
    status: "False"
    type: Ready
  - lastTransitionTime: "2026-06-13T14:22:58Z"
    message: 'create failed: failed to install release: failed to load chart: stat
      /tmp/charts/node-feature-discovery-0.18.3.tgz: no such file or directory'
    observedGeneration: 2
    reason: ReconcileError
    status: "False"
    type: Synced

After changes:

apiVersion: helm.m.crossplane.io/v1beta1
kind: Release
metadata:
  annotations:
    crossplane.io/external-create-pending: "2026-06-13T14:27:57Z"
    crossplane.io/external-create-succeeded: "2026-06-13T14:27:59Z"
    crossplane.io/external-name: node-feature-discovery
  creationTimestamp: "2026-06-13T14:27:57Z"
  finalizers:
  - finalizer.managedresource.crossplane.io
  generation: 2
  name: node-feature-discovery
  namespace: crossplane-system
  resourceVersion: "962"
  uid: f5e68e30-cf23-4a57-b51b-a9a2461800ec
spec:
  forProvider:
    chart:
      name: node-feature-discovery
      pullSecretRef:
        name: ""
      repository: https://kubernetes-sigs.github.io/node-feature-discovery/charts
      version: 0.18.3
    namespace: nfd
  managementPolicies:
  - '*'
  providerConfigRef:
    kind: ClusterProviderConfig
    name: helm-provider-cluster
status:
  atProvider:
    releaseDescription: Install complete
    revision: 1
    state: deployed
  conditions:
  - lastTransitionTime: "2026-06-13T14:27:59Z"
    reason: Available
    status: "True"
    type: Ready
  - lastTransitionTime: "2026-06-13T14:27:59Z"
    observedGeneration: 2
    reason: ReconcileSuccess
    status: "True"
    type: Synced
  synced: true

Signed-off-by: Jonasz Łasut-Balcerzak <jonasz@upbound.io>
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.

Provider-helm classic repository pull *incorrectly* assumes the pulled *tgz path

1 participant