[Feature Request] Add support for custom volume in pipelines chart #55

Closed
opened 2026-02-15 19:15:50 -05:00 by yindo · 1 comment
Owner

Originally created by @juan-abia on GitHub (Jan 30, 2025).

In my use case, I need to store an SSH deploy key (unable to use tokens) to access a private repository that hosts my Argo CD pipelines. I attempted to add a volume to the pipelines deployment to mount the SSH key, similar to how it's implemented in the openwebui chart, but found this functionality isn't currently available in the pipelines chart.

Feature request:

  • Add support for mounting SSH deploy keys as volumes in the pipelines deployment
  • Similar implementation to the existing openwebui chart functionality

Thank you for considering this feature request!

Originally created by @juan-abia on GitHub (Jan 30, 2025). In my use case, I need to store an SSH deploy key (unable to use tokens) to access a private repository that hosts my Argo CD pipelines. I attempted to add a volume to the pipelines deployment to mount the SSH key, similar to how it's implemented in the openwebui chart, but found this functionality isn't currently available in the pipelines chart. Feature request: - Add support for mounting SSH deploy keys as volumes in the pipelines deployment - Similar implementation to the existing openwebui chart functionality Thank you for considering this feature request!
yindo added the enhancement label 2026-02-15 19:15:50 -05:00
yindo closed this issue 2026-02-15 19:15:50 -05:00
Author
Owner

@jyje commented on GitHub (Feb 17, 2025):

Hello @juan-abia

I think the SSH key can be mounted from k8s secret and secret volume (please check k8s docs: use-case-dotfiles-in-a-secret-volume)

here is my example

apiVersion: apps/v1
kind: Deployment
metadata:
  name: pipelines
  namespace: test-namespace
  labels:
    helm.sh/chart: pipelines-0.1.0
    app.kubernetes.io/version: "alpha"
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/instance: pipelines
    app.kubernetes.io/component: pipelines
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/instance: pipelines
      app.kubernetes.io/component: pipelines
  template:
    metadata:
      labels:
        helm.sh/chart: pipelines-0.1.0
        app.kubernetes.io/version: "alpha"
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: pipelines
        app.kubernetes.io/component: pipelines
    spec:
      enableServiceLinks: false
      automountServiceAccountToken: false
      serviceAccountName: pipelines
      containers:
      - name: pipelines
        image: ghcr.io/open-webui/pipelines:main
        imagePullPolicy: Always
        ports:
        - name: http
          containerPort: 9099
        volumeMounts:
        - name: data
          mountPath: /app/pipelines
        - name: ssh-key
          mountPath: /root/.ssh        
        env:
        - name: PIPELINES_URLS
          value: https://github.com/open-webui/pipelines/blob/main/examples/filters/detoxify_filter_pipeline.py
        tty: true
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: pipelines
      - name: ssh-key
        secret:
          secretName: ssh-key
---
apiVersion: v1
# USE SealedSecret or reflected Secret, DO NOT USE RAW SECRET FOR YOUR SAFETY
kind: Secret
metadata:
  name: ssh-key
data:
  id_rsa: # ....
  id_rsa.pub: # ....
  other_key: # ....

Then we should check two things:

  1. secret: If you want add the secret, I recommend you to add an encrypted one (like SealedSecret or reflected Secret not Raw). Then you can use extraResources (in values.yaml)
  2. Custom volume, volumeMount: We don't have these values in deployment yet. I will make PR for this

Any opinions and suggestions are welcome 🤗

@jyje commented on GitHub (Feb 17, 2025): Hello @juan-abia I think the SSH key can be mounted from k8s `secret` and `secret volume` (please check [k8s docs: use-case-dotfiles-in-a-secret-volume](https://kubernetes.io/docs/concepts/configuration/secret/#use-case-dotfiles-in-a-secret-volume)) here is my example ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: pipelines namespace: test-namespace labels: helm.sh/chart: pipelines-0.1.0 app.kubernetes.io/version: "alpha" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: pipelines app.kubernetes.io/component: pipelines spec: replicas: 1 selector: matchLabels: app.kubernetes.io/instance: pipelines app.kubernetes.io/component: pipelines template: metadata: labels: helm.sh/chart: pipelines-0.1.0 app.kubernetes.io/version: "alpha" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: pipelines app.kubernetes.io/component: pipelines spec: enableServiceLinks: false automountServiceAccountToken: false serviceAccountName: pipelines containers: - name: pipelines image: ghcr.io/open-webui/pipelines:main imagePullPolicy: Always ports: - name: http containerPort: 9099 volumeMounts: - name: data mountPath: /app/pipelines - name: ssh-key mountPath: /root/.ssh env: - name: PIPELINES_URLS value: https://github.com/open-webui/pipelines/blob/main/examples/filters/detoxify_filter_pipeline.py tty: true volumes: - name: data persistentVolumeClaim: claimName: pipelines - name: ssh-key secret: secretName: ssh-key --- apiVersion: v1 # USE SealedSecret or reflected Secret, DO NOT USE RAW SECRET FOR YOUR SAFETY kind: Secret metadata: name: ssh-key data: id_rsa: # .... id_rsa.pub: # .... other_key: # .... ``` Then we should check two things: 1. `secret`: If you want add the secret, I recommend you to add an encrypted one (like SealedSecret or reflected Secret not Raw). Then you can use `extraResources` (in [values.yaml](https://github.com/open-webui/helm-charts/blob/main/charts/pipelines/values.yaml#L91-L99)) 1. Custom `volume`, `volumeMount`: We don't have these values in [deployment](https://github.com/open-webui/helm-charts/blob/main/charts/pipelines/templates/deployment.yaml) yet. I will make PR for this Any opinions and suggestions are welcome 🤗
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: open-webui/helm-charts#55