Hey team, I'm trying to deploy Ory Keto using Helm...
# ory-selfhosting
w
Hey team, I'm trying to deploy Ory Keto using Helm + Terraform. I'm passing namespaces as a base64 string to location, Ory Keto deploys successfully but getting errors from migration job:
c
locations should be a key, so
keto.config.namespaces.location
also not sure if name is valid key if orl is being used
w
@curved-cat-28117 but this is what i see in values.yaml:
Copy code
namespaces:
      - id: 0
        name: sample
c
yes, but when using a OPL its a map, not really intuitive i know
w
ah gotcha, let me try now
Copy code
Planning failed. Terraform encountered an error while generating this plan.

│ Error: failed parsing key "keto.config.namespaces.location" with value base64://..., unable to parse key: interface conversion: interface {} is []interface {}, not map[string]interface {}
c
bah, ye, ketto will load it like that, but i guess helm validation wont allow it
w
that makes sense šŸ˜„ any workaround?
I changed values.yaml
c
looking at the helm template it seems not, maybe add
customArgs
w
namespaces: location: ""
and it works now
c
ah nice, where was that part?
w
Can you tell me more details about customArgs? how can i pass base64 namespace?
c
ah so you changed values manually
ye that will work, but pain to manage
w
yeh, did not want to touch helm but šŸ§‘ā€šŸ”§
c
Copy code
command: {{- toYaml .Values.keto.command | nindent 12 }}
           {{- if .Values.keto.customArgs }}
           args: {{- toYaml .Values.keto.customArgs | nindent 12 }}
           {{- else }}
           args:
             - serve
             - --config
             - /etc/config/keto.yaml
           {{- end }}
šŸ™Œ 1
w
Thank you @curved-cat-28117 it seems it works now! Very quick question - how can I clarify that my namespaces has been deployed and it is used by Keto (without checking it manually by sending REST requests?)
c
you could add your whole conf to secret, then attach it as a volume with extraVolumeMounts in helm, then use custom args and add those default ones i pasted above, then change yaml path, its a bit of work, but it will work
šŸ™Œ 1
w
Thank you, your workaround is better than touching helm haha
šŸ‘ 1
c
as far as checking, locally i just send get tuples request, and then i see if there are errors in log
āœ… 1