I am trying to get keycloak up and running on my minikube.
I am installing keycloak with
helm upgrade -i -f kubernetes/keycloak/values.yaml keycloak stable/keycloak --set keycloak.persistence.dbHost=rolling-newt-postgresql
I see an error in dashboard that says:
MountVolume.SetUp failed for volume "realm-secret" : secrets "realm-secret" not found
In my values.yaml I have this configuration:
extraVolumes: |
- name: realm-secret
secret:
secretName: realm-secret
- name: theme
emptyDir: {}
- name: spi
emptyDir: {}
extraVolumeMounts: |
- name: realm-secret
mountPath: "/realm/"
readOnly: true
- name: theme
mountPath: /opt/jboss/keycloak/themes/mytheme
- name: spi
mountPath: /opt/jboss/keycloak/standalone/deploymentsI also have a realm.json file.
Question
What do I need to do with this real.json file prior to installing keycloak? How do I do that ?
The reason is you are referencing a secret named realm-secret in extraVolumes, but that secret with name realm-secret is created neither by the helm chart (named stable/keycloak) nor by you manually.
You can easily find that chart in https://github.com/helm/charts/tree/master/stable/keycloak.
In values.yaml, the field extraVolume and extraVolumeMount is kept to provide an extra volume and extra volumeMount by user if they need. They will be used in the keycloak pod.
So if you need to provide extraVolumes that will mount a secret, then you have to create that secret all by yourself, so you'll need to create secret realm-secret in the same namespace in which you install/upgrade your chart. And only then install/upgrade the chart.
$ kubectl create secret generic realm-secret --namespace=<chart_namespace> --from-file=path/to/realm.json