Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warning when setting a namespaces location in keto #620

Open
3 of 6 tasks
rubenv opened this issue Jun 23, 2023 · 3 comments
Open
3 of 6 tasks

Warning when setting a namespaces location in keto #620

rubenv opened this issue Jun 23, 2023 · 3 comments
Labels
pending reply Awaiting reply of author or contributor. Issue will be closed on inactivity.

Comments

@rubenv
Copy link

rubenv commented Jun 23, 2023

Preflight checklist

Describe the bug

When setting the location of an OPL file through values, I get:

coalesce.go:223: warning: destination for keto.keto.config.namespaces is a table. Ignoring non-table value  ([map[id:0 name:sample]])

Reproducing the bug

Set the following in values.yaml:

  keto:
    config:
      namespaces:
        location: file:///etc/keto/namespaces.keto.ts

Relevant log output

No response

Relevant configuration

No response

Version

Chart 0.33.4

On which operating system are you observing this issue?

Linux

In which environment are you deploying?

Kubernetes with Helm

Additional Context

No response

@rubenv rubenv added the bug Something is not working. label Jun 23, 2023
@Demonsthere
Copy link
Collaborator

Hello there,
Namespaces are an array in the format:

namespaces:
  - name: videos
  - name: file:///etc/keto/namespaces.keto.ts

@Demonsthere Demonsthere added pending reply Awaiting reply of author or contributor. Issue will be closed on inactivity. and removed bug Something is not working. labels Jul 5, 2023
@rubenv
Copy link
Author

rubenv commented Jul 5, 2023

@Demonsthere That does not work sadly, if I do that, rather than loading the file I end up with a namespace named like that.

With:

 keto:
    config:
      namespaces:
        location: file:///etc/keto/namespaces.keto.ts

I get:

curl localhost:8082/namespaces
{"namespaces":[{"name":"User"},{"name":"Group"}]}

With

 keto:
    config:
      namespaces:
        - name: file:///etc/keto/namespaces.keto.ts

I get:

curl localhost:8082/namespaces
{"namespaces":[{"name":"file:///etc/keto/namespaces.keto.ts"}]}

As you can see here, it can be an array or an object: https://github.com/ory/keto/blob/e7b107cb57ab2f8f3f2800ff06bab198e433c7f4/embedx/config.schema.json#L320-L362

@Demonsthere
Copy link
Collaborator

Demonsthere commented Jul 5, 2023

Oh i see, the validation is on the chart level when you are applying overrides. 🤔 The warning is a bit misleading, as the value is passed down to the cm and the application

$ kubectl get cm keto-1688548613-migrate -o yaml                                                                                                                                  
apiVersion: v1
data:
  keto.yaml: |
    namespaces:
      location: file:///etc/keto/namespaces.keto.ts
    serve:
      metrics:
        port: 4468
      read:
        port: 4466
      write:
        port: 4467
kind: ConfigMap
metadata:
  annotations:
    helm.sh/hook: pre-install, pre-upgrade
    helm.sh/hook-delete-policy: before-hook-creation
    helm.sh/hook-weight: "0"
  creationTimestamp: "2023-07-05T09:16:54Z"
  labels:
    app.kubernetes.io/instance: keto-1688548613
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: keto
    app.kubernetes.io/version: v0.11.0
    helm.sh/chart: keto-0.33.4
    ory.sh/watcher: keto
  name: keto-1688548613-migrate
  namespace: default
  resourceVersion: "1038"
  uid: 9fd173d4-b2ed-4850-839e-fba9b2e1f8f6

But I don't think we can remove it 😞, as helm does not support values of oneOf type. We would need to add type specific fields and functions to parse it and then merge with the rest of the config, which seems a bit of a overkill in order to remove one warning msg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pending reply Awaiting reply of author or contributor. Issue will be closed on inactivity.
Projects
None yet
Development

No branches or pull requests

2 participants