- Much of the grunt work is generic OIDC
Also fixed
- store's principalId was not updated after user enables any auth provider
- Colour of InfoBox title in dark mode
- Issue where some kind of errors when enabling provider were shown as an empty box (exceptionToErrorsArray is now used, which also uses a better catch all stringify)
- An issue where enabling and disabling a provider in the same visit meant lost defaults
- An issue where Auth / Groups would not display (async part had been removed)
- Resource instance validation would show all fields as invalid once one field had failed
- /v3 doesn't exist if multi-cluster-management is disabled
- Use /v1/management.cattle.io.settings everywhere instead of /v3
- It now returns the public set of settings if retrieve with no auth, so
the store needs to remember that even though we loaded "all" of them
that wasn't really ALL of them so that the full list gets loaded after
auth.
- Use new x-api-cattle-auth header to determine authentication state if present
- Use SETTINGS.* constants consistently
- `brand` -> `ui-brand` for consistency
- `eula-accepted=true` -> `eula-agreed=<timestamp>` to match Ember
- Add groups page with table to the auth product
- Allow user to assign roles to groups previously without roles or edit
groups with existing roles
Comments
- I haven't added any special ux for the case where there's no auth
provider and therefore no groups
- ./components/GlobalRoleBindings.vue will be updated when the same
component is used for assign global roles to a user principal
- ./components/GlobalRoleBindings.vue ln 139 Couldn't create a binding
without the generateName metadata property. Have given this a
`ui-` prefix. Is this correct?
- In order to determine which global roles are bound to each principal
(so we can filter by principals that have them).. we go out and fetch
ALL role bindings. Is this too costly?
- On the groups page the 'refresh' button is quite big, we should
consider reducing this
To support receiver types I made it so that we can spoof types which
have any form we specify here in the UI. It will be useful for alertmanager
Routes and I think it could also be useful for things like OPA constraints
and workloads if we wish to update those.
rancher/dashboard#1238
There were two issues that were causing the 409s.
1. When using cluster/find the resource wasn't being watched
so the resource was out of date.
2. Cloned resources don't get the updates either.
This change provides and option to to allow cluster/find to
watch the resource and when in VIEW mode the resource isn't
cloned so it can receive updates.
rancher/dashboard#679
- Edit project on namespace
- Certificate fields need to be multiline
- Create-edit-view creates metadata.(annotations, labels) automatically and cleans up on save if empty so you don't have to check if they're there.
- Form components should have a focus() instead of reaching into each other's $refs
- LabeledSelect takes and emits the value, not the `{label: x, value: y}` object.
- Resource names are almost never editable after create
- NameNsDescription takes a resource and manages setting name/ns/description on it itself.
- TextAreaAutoGrow should resize on file input