1Password / connect-helm-charts

Official 1Password Helm Charts
https://developer.1password.com
MIT License
93 stars 74 forks source link

Ability to mount `1password-credentials.json` via PVC #199

Open yalattas opened 4 months ago

yalattas commented 4 months ago

Summary

All examples refers to credentials: variable to provide content of 1password-credentials.json file. Yet, some are using GitOps to render the template and the then apply without using helm release.

Another people, will use helm CICD, will be a bit difficult to pass extra argument other than what's expected (values.yaml and secrets.yaml )

Another case where people are using helmfile instead,

Therefore, its better to allow volume mounting into operator container so I can put the content of the file in secrets then mount the secret into a specific path in operator container and point the application to use this JSON file

dataVolume:
    # The name of the shared volume used between 1Password Connect Containers
    name: shared-data
    # The type of the shared volume used between
    # 1Password Connect Containers
    type: emptyDir
    # Desribes the fields and values for configuration of
    # shared volume for 1Password Connect
    values: {}

Above snippet isn't clear and haven't found sufficient example of its usage. Values expects dictionary, key=value how can I provide JSON content to be shared across pods

Use cases

1- fetch JSON from external secret within k8s cluster 2- fetch JSON from external ConfigMap within k8s cluster

Proposed solution

Allow mounting to operator pod via helm chart

Is there a workaround to accomplish this today?

Currently base64, yet initially failed for some reason, when I followed the example, encoding values was different. I am using GitOps so CD solution will do the apply and will be responsible to generate the secret in advance for 1password operator to use it