Tags: diegoclearmetal/dashboard
Tags
Split websocket connections by kind Instead of connecting to a single websocket endpoint to receive events for all potentially interesting resources on the cluster, switch to a model where the page connects to a separate websocket endpoint per kind it wants to watch for updates. This means that any given page only has to process events for resources it's actually displaying. It also has the added benefit of allowing us to provide real-time updates for resources displayed by extensions which was not supported under the previous model. The Kubernetes API server supports a `watch` query parameter on 'list' requests to make a websocket connection instead of the default HTTP GET request. This is not supported on 'get' requests for a single resource. To support watching updates for a single resource we use the `fieldSelector` query param to limit the list request to the single resource we're interested in via its `metadata.name` field.
Fix UI bug for TaskRuns in read-only mode Batch actions should not be enabled in read-only mode. A bug introduced during recent refactoring meant that the read-only flag wasn't being read correctly in this case causing the checkboxes to appear on the TaskRuns table. This gave the impression that TaskRuns could be deleted, however the action is still blocked in environments where RBAC is enforced as the Dashboard ServiceAccount does not have permissions to delete these resources when deployed in read-only mode. Update the test to prevent a similar regression in future, as well as updating the equivalent test for PipelineRuns in the same manner.
Use string flag as X-Frame-Options indicator The xframe-options flag indicates how users would like to restrict the X-Frame-Options header on response. Its default value is DENY if not set. Users can set its value in [DENY, SAMEORIGIN]. For other values X-Frame-Options header will be set to DENY by default. If xframe-options flag is set '' explicitly, X-Frame-Options header won't be set.
Fix for SideNav not collapsing when toggling the menu button The `expanded` prop of the `SideNav` component was incorrectly set as an object instead of a boolean, preventing the nav from being collapsed. Fix the state update so it's providing a boolean as expected.
Support specifying git revision on import resources Add an optional input for git revision on the import resources page. If blank the PipelineResource will automatically detect the default branch. Remove helper text below inputs and move content to TooltipIcon on the label instead for a cleaner UI.
Remove Secrets and ServiceAccounts pages Remove the Secrets and ServiceAccounts pages from the Dashboard UI, along with the associated Create Secret / Patch ServiceAccount functionality. These pages provide incomplete functionality, have little to no benefit versus using `kubectl` or other tools to manage `Secrets`, and incur a significant overhead in terms of code maintenance since they have to be handled differently (e.g. sanitisation of secrets in backend). Also remove the RBAC rules giving the Dashboard access to get/list/... Secrets in all namespaces. This should make the Dashboard's default permissions a lot more palatable for many users who were reluctant to give it access to this sensitive information.
PreviousNext