Skip to content
This repository was archived by the owner on Jun 2, 2025. It is now read-only.
This repository was archived by the owner on Jun 2, 2025. It is now read-only.

Pass Values from a relative Path in a Git Repo to a HelmRelease created by Subscription #335

@abdennour

Description

@abdennour

I have helm chart in a Git repo, and alongside the file "values.yaml" there is other Values files within same directory ( same helm chart directory).

-- my-git-repo
 |___myapp/
           |__ templates/
           |__ Chart.yaml
           |__ values.yaml
           |__ values.cluster1.yaml

With helm command, it's about :

cd my-git-repo
helm install xxx ./myapp/ -f values.cluster1.yaml

How to reach the same with Subscription/Channel resources?

So far, this is the resources that i configured:

apiVersion: app.k8s.io/v1beta1
kind: Application
metadata:
  name: test-myapp
  namespace: services
spec:
  componentKinds:
  - group: apps.open-cluster-management.io
    kind: Subscription
  descriptor: {}
  selector:
    matchExpressions:
      - key: app
        operator: In
        values: 
          - test-myapp
---
apiVersion: v1
kind: Namespace
metadata:
  name: gbitbucketcompanycom-scl-boilerplate-helm-releases-ns
---
apiVersion: apps.open-cluster-management.io/v1
kind: Channel
metadata:
  annotations:
    apps.open-cluster-management.io/reconcile-rate: medium
  name: gbitbucketcompanycom-scl-boilerplate-helm-releases
  namespace: gbitbucketcompanycom-scl-boilerplate-helm-releases-ns
spec:
  type: Git
  pathname: 'https://bitbucket.company.com/scl/boilerplate-helm-releases.git'
  secretRef:
    name: gbitbucketcompanycom-scl-boilerplate-helm-releases-auth
---
apiVersion: v1
kind: Secret
metadata:
  name: gbitbucketcompanycom-scl-boilerplate-helm-releases-auth
  namespace: gbitbucketcompanycom-scl-boilerplate-helm-releases-ns
data:
  user: # injected on create
  accessToken: # injected on create
---
apiVersion: apps.open-cluster-management.io/v1
kind: Subscription
metadata:
  annotations:
    apps.open-cluster-management.io/git-branch: master
    apps.open-cluster-management.io/git-path: myapp
    apps.open-cluster-management.io/reconcile-option: merge
  labels:
    app: test-myapp
  name: test-myapp-subscription-1
  namespace: services
spec:
  channel: gbitbucketcompanycom-scl-boilerplate-helm-releases-ns/gbitbucketcompanycom-scl-boilerplate-helm-releases
  placement:
    placementRef:
      kind: PlacementRule
      name: test-myapp-placement-1
---
apiVersion: apps.open-cluster-management.io/v1
kind: PlacementRule
metadata:
  labels:
    app: test-myapp
  name: test-myapp-placement-1
  namespace: services
spec:
  clusterSelector:
    matchLabels:
       cluster-env: lab

After creating those resources, a resource HelmRelease has been auto-generated in the target cluster, and it looks like :

apiVersion: apps.open-cluster-management.io/v1
kind: HelmRelease
metadata:
  annotations:
    apps.open-cluster-management.io/hosting-subscription: services/test-myapp-subscription-1
  finalizers:
    - uninstall-helm-release
  generation: 1
  labels:
    app: test-myapp
    app.kubernetes.io/part-of: test-myapp
    apps.open-cluster-management.io/reconcile-rate: medium
  name: myapp-e7b58
  namespace: services
  ownerReferences:
    - apiVersion: apps.open-cluster-management.io/v1
      kind: Subscription
      name: test-myapp-subscription-1
      uid: xxxxxx-tttt-dddd-eeee-xxxxxx

repo:
  chartName: myapp
  digest: generated-by-multicloud-operators-subscription
  secretRef:
    name: gbitbucketcompanycom-scl-boilerplate-helm-releases-auth
    namespace: gbitbucketcompanycom-scl-boilerplate-helm-releases-ns
  source:
    git:
      branch: master
      chartPath: myapp
      urls:
        - https://bitbucket.company.com/scl/boilerplate-helm-releases.git
    type: git
  version: 0.1.0
spec:
  '': ''
status:
  conditions:
    - lastTransitionTime: 'xxx'
      reason: InstallSuccessful
      status: 'True'
      type: Deployed
  deployedRelease:
    name: myapp-e7b58

Is there a way to pass values file path (relative to the chart directory) to the HelmRelease CR thru its Subscription CR ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions