Commit Graph

42 Commits

Author SHA1 Message Date
Richard Cox ffcc08147e Ensure we back-off resyncWatch on socket resource.error
- if resource.error bad revision is recieved we http to get a new one
- in HA world this can still result in a watch with resource.error bad revision (given a stale replica handles watch)
- to avoid a tight loop, back-off the http request
2025-08-14 09:57:16 +01:00
Richard Cox 138ab7783b Fix harvester machine config options
- machine config reaches out to specific downstream cluster with hardcoded urls
- vai on world needs to construct url with vai filters though
- previously these required cluster schemas (missing for cluster management pages)
- now they're schema missing safe
2025-05-29 15:55:19 +01:00
Richard Cox c446b7aff6 Merge remote-tracking branch 'upstream/master' into pagination-depaginate 2025-05-28 12:10:49 +01:00
Richard Cox 7bc66ab90d fix tests, more lint fixes 2025-05-28 12:05:48 +01:00
Richard Cox 980d4b06d9
Integrate new label select filtering (#12919)
* Test / Wire in new label filtering to limited places

- Wired in to
  - Workload detail page - pods and services (broken due to reverse selector)
  - Service Detail - Pods List
  - Service create/edit - Pod selector tab
- Also
  - Fix showPodRestarts in random location
- TODOs
  - Lots of testing / validation required
  - reverse deployment --> service selector (not services given deployment, but for each service contains pods from deployment)
  - workload model usages of pods getter
  - services model usages of pods getter
  - many many more....

* wired in, NOT tested

* improvement

* sdfdsf

* ryrty

* werer

* The great test off begins

* testing and tidying

* testing and tidying

* First good run

* tests, fixes and improvements

* updates

* Tidying up

* Fixes (namespace orientated), tweaks, updates

* Fix unit test

* Fixes for vai off

* Re-write `matching`
- handle namespaces better (given if the resource is namespaced
- better align with legacy matching fn (given specific scenarios that should return none or all)

* Lots of fixes, but mainly vai off --> pods list --> deployment detail --> pods list updates correctly

* fix lint, unit test

* e2e fix

* Fix weird plugins build validation failure (TS error on expected param for JS method with a default)

* Fix workload services

* changes following mini code review

* Only show pods tab if workload type supports it, always show pod resource table if tab is shown
2025-05-28 11:17:25 +01:00
Richard Cox 20e7af3e59 Merge remote-tracking branch 'upstream/master' into pagination-depaginate 2025-05-28 11:09:25 +01:00
Richard Cox 2e76c82e52 lint 2025-05-28 10:50:19 +01:00
Richard Cox d5b521d83b unit test fixes 2025-05-14 16:47:24 +01:00
Richard Cox c11db5c4a4 Updates following PR review
- gate incremental page by page number on is steve url + is steve cache enabled
- update incremental object property names, document
- remove fix for event lister errors
- add generic getters to help determine if steve behaviour should be used (getters will also be used in future PR)
2025-05-12 16:35:04 +01:00
Richard Cox 573a6f630c Handle de-pagination, plus mimic non-vai default `limit` and avoid unlimited response count
- steve depaginate is used by cluster and project bindings, snapshots
2025-05-08 17:33:47 +01:00
Richard Cox 0a3e214670 Ensure vai-on requests use the correct equality filter
- Syntax
  - vai off - `filter=x=y`
  - vai on - `filter=x~y`
- Used in code paths
  - indirectly via findAll action
    - urlOptions incorrectly used `=` in vai on world
    - fix - update getter to use correct equality given env
  - directly via `request` action's url arg
    - fix - updated to use urlOptions getter
- Actually used in
  - shell/chart/monitoring/index.vue to fetch workloadTypes
  - shell/components/Certificates.vue to fetch specific type of secret
  - shell/utils/v-sphere.ts to fetch to fetch secret created with a generateName
2025-05-08 15:21:54 +01:00
Evgeniya Vashkevich 0146701b0e
[FIX] Changed JWT Authentication page to disable ClusterProxyConfigs (#11450)
* [FIX] Changed JWT Authentication page to disable ClusterProxyConfigs instead of removing
2024-07-26 14:19:12 +05:00
Richard Cox 0dfe5d5ccd Beef up validation 2024-04-30 11:04:06 +01:00
Richard Cox f0c397c001 Update Node list to support server-side pagination
- Setup pagination headers for the node type
- Define a pattern for fetching custom list secondary resources
- Major improvements to the way pagination settings are defined and created
- Lots of docs improvements
- Handle calling fetch again once fetch is in progress (nuxt caches running request)
- Validate filter fields (not all are supported by the vai cache
- General pagination fixes
2024-04-30 11:04:06 +01:00
Richard Cox 0862b80433 Changes following review
- General changes following review comments
- Fix issue where in local cluster the systen classed namespace associated with a project would get muddled with selecting user resources in mathing project
  - Part of this is a big refacture, most of the code to create pag filter params is now in a helper filer
  - Added much improved typing
- Fixed issue where the dynamic namespaces (c-, p-, etc) weren't correctly hidden
- Move user to previous page if last entry on last page deleted (and there is a previous page)
- Fix confusing preference to hide dynamic namespaces (c-, p-, etc)
2024-04-02 14:22:24 +01:00
Richard Cox 487263f4e8 fix tests, getter name change haveAllPaginated --> havePaginatedPage 2024-04-02 13:34:36 +01:00
Richard Cox de131f8a26 Remove paginationEquals from store, and move steve compare to generic utils file 2024-04-02 13:34:36 +01:00
Richard Cox 1929122124 Split out findPage concept form findAll 2024-04-02 13:34:36 +01:00
Richard Cox cce0808559 Fix lint 2024-04-02 13:34:36 +01:00
Richard Cox 09614b0136 Server-side pagination
Polish and fixes from alpha
2024-04-02 13:34:36 +01:00
Richard Cox ae7eb102ad Pagination Alpha 2024-04-02 13:34:36 +01:00
Richard Cox 5ba075f891 Changes following review
- better comments
- improved tests
- handle trailing url `/`
2024-03-08 11:25:32 +00:00
Richard Cox 01683ae8f4 Ensure `too old` messages for watches in individual resources are handled correctly
- also fix issue where `find` on `resyncWatch` didn't work with namespaced resources
2024-03-07 11:18:54 +00:00
Richard Cox b464d15ee0
Integrate new schemaDefinitions endpoint (#10141)
* resource edit AS yaml

* fix cruresource (yaml from form)
- lazy load the schemaDefinitions when needed, avoids sync all to createYaml before we have an async chance to fetch schemaDefinitions

* Fix questions
- there are only four places we use questions, none of which use schema, this is just to be safe

* cluster scan, plugins/fieldsForDriver, defaultFor, validationErrors

* pathExistsInSchema
- used to optionally show conditions tab/list in resource detail view
- logs of things in ingress list/edit

* createPopulated / defaultFor
defaultFor requires resourceFields, it's only used by createPopulated in one place to support machine configs without components

* wip

* WIP MONITORING.SPOOFED
- these aren't spoofed types, but secondary schemas
- testing fix blocked, primary schema's have resourceFields

* Move steve specific (resourceField) code to steve models
- create models for steve schemas and apply to cluster and management stores
- move resoureField based validationto steve model
- move pathExistsInSchema to steve store getter
- don't fetch schemaDefinitions on start up when saving prefs (not needed and blocking)

* comments / improvements

* (untested) refactoring

* Fix alertmanager definitions, add retry definition fetch

* Fix pathExistsInSchema for path length > 2

* Fix questions that accept schemas
- tested by adding Questions to random page and the node schema

* Fix to saving configmap part 1
- the save works but doesn't show data. the yaml is the same as before. debug info added

* Validation by resourceFields is a norman specific thing, so make it such

* small refactor

* Tidying up

* Remove rebase junk

* fix linting and unit tests

* fix unit tests

* fix linting from fix for test....

* Tidying up, fix alertmanagerconfig

* Remove unit test todos

* add unit tests for resource fields

* sdssdf

* Add unit tests for pathExistsInSchema

* JS --> TS

* Store schemas in local singleton cache to avoid hitting store

* fix minor changes from review

* cruresource changes following review
- improvement - remove spurious canDiff
- createResourceYaml - pass in resource to use instead of calc in code

* WIP changes to parseType

* Fix generic cloud credential and node driver forms

* handle missing reactivity given schema definitions not in store

* fix and add unit tests for `parseType`

* Fix create-yaml test

* Changes following review
- improved comments
- SchemaDefinitionCache is now per store (and is reset as such)
- typeRef now uses parseType

* Fix dep loop by moving route based helps in auth out to utils file

* fix unit tests

* Changes following review
2024-02-28 17:08:35 +00:00
Richard Cox d69fefc867 Fix issue where labelSelector param was incorrectly applied to filter param
- the two fixes are small
- add unit tests to ensure
  - findMatching action calls urlFor with correct args
  - urlOptions getter create correct url given labelSelector
2024-02-06 17:17:16 +00:00
Richard Cox a92e2ef5a1 Fix failing storybook (broken import) 2023-11-09 09:13:46 +00:00
Richard Cox 4e3a282b79 Add certificates view to cluster dashboard
- Add a new tab, next to events, in the cluster dashboard
- Tab shows a list of all secrets of cert type
- List allows users to see which certs are expiring soon, how long they've lived etc
- Tab also shows a notification if certs are expiring or have expired
- Related fixes
  - plumb in option list paging params (so we can show X of Y Certificates in pagination controls)
  - fix usages of from = from || now
  - Count requests to kube steve as steve requests (alongside local steve requests)
2023-11-08 11:52:23 +00:00
Sean-McQ 718ffd6201
checks to see if membership editor is project and adds a project filter (#9761) 2023-09-27 13:37:54 -04:00
Sean-McQ 2c81742693
add "exludeFields" option on findAll, unit tests. (#9300)
* add "exludeFields" option on findAll, unit tests.

* fix e2e

* lint fix and e2e test

* updated action unit test and fixed cy.intercepts

* deleted urloptions and test, converted unit tests to ts, removed lodash

* deleted unused urloptions and test
* converted unit tests to ts
* removed lodash

* lint fix

* Added comment with issue for updating query parameters for steve

* Updated based on feedback

* added partial flag to mutations

* pulled out partial flag, excludeOptions logic now entirely within getter

* fixed tests after ripping out partial flag

* Fixed e2e test as 'find' action behavior changed but is still valid
2023-07-18 09:23:26 -04:00
Giuseppe Leo 01eeb0548f
Add recommended lint rules globally (#8997)
* Update configuration

* Create default config for eslint

* Restore plugin:vue/recommended

* Add exceptions and overrides

* Correct manually remaining issues

* Adding further picked exceptions groupped up

* Fix or disable specific cases manually and singularly

* Add naming linting exception

* Remove unused variable in component

* Move rules to default

* Autocorrect rancher/components linting issues

* Configure VSCode to use multiple files, to display linting for rancher components

* Disable jest lint hook restriction for string list component

* Autofix
2023-06-23 17:02:55 +02:00
Richard Cox 6fffc0d36a Fix linting 2023-05-18 14:28:28 +01:00
Richard Cox 281fb6672c Simplify forced filtering setting
- Given forced filtering is now not resource dependent have a high level utils function to determine if enabled
- This should have opened up the door to setting a nicer default then ALL_USER, however it's actually initially applied somewhere other than ns filter
- Fixed a bug where the all option [] was valid
2023-05-18 14:28:28 +01:00
Richard Cox 1708b4d5c3 Update after BE changes
- Filtering is now no longer done via `resources.project.cattle.io.`
- No need to update the URL anywhere or massage resources fetched via endpoint
- Also no need to make the planned change to remove `resources.project.cattle.io.` from side nav
2023-05-18 14:28:28 +01:00
Richard Cox 7e5ad5de34 Expand enforced namespace filtering to multiple namespaces and projects
> This uses a new endpoint that has yet to merge. See https://github.com/rancher/rancher/issues/40140

WIP
- Contains console.warns (via custom logger, can be disabled)
- Waiting for final BE endpoint changes to merge
- Contains TODOs to resolve on final enpoint changes delivered

Pertinent Points
- Incompatible with incremental loading / manual refresh
  - Harder to get counts (need to sum up from different namespaces)
  - Requires use of new steve pagination
- Enforced NS threshold has been removed
  - The threshold only applies to the primary resource. This has issues when loading a low count primary (daemon sets) which depends on a very high count secondary (pods)
  - Fixing this would involve knowing all secondary resources a list uses, which isn't currently possible (each resource is requested individually, need to know them all first)
- There is no way to subscribe to multiple namespaces (one or all)
  - We mock this in subscribe by only persisting changes to resources from within target namespaces
- Everything should work with Advanced Worker enabled
2023-05-18 14:28:28 +01:00
Sean-McQ ca1b810c7b
Moves sockets into the advanced worker (#7760)
* Moves sockets into the advanced worker

* worker can die peacefully now, making switching between cluster work.

* Make waitFor generic, wire in to waitForTestFn

* General Changes
- Fixes for switching cluster
  - includes using common getPerformanceSetting
  - avoid new code to unsub before socket disconnect
- handle `watch` `stop` requests
- lots of TODO's (questions, work, checks, test, etc)
- use common

* Switch socket fixes
- isAdvancedWorker should only be true for cluster store
- advancedWorker to be wired in

* Fix socket id for cluster workers
- sockets use an incremented local var for id
- when we nuke the socket file within the worker this resets, so they all ahve id of 1
- work around this by applying the unix time

* Fix handling of new partical counts response
- seen in dex cluster explorer dashboard
- count cards would be removed when partial counts response received

* Make resourceWatcher the sole location for watch state
- getters canWatch, watchStarted now are worked around (they look at state in the UI thread)
  - we now don't call resource.stop or restart.start in subscription
- tidied up `forgetType`
- moved clearFromQueue from steve mutations into subscription mutations (better location)
- added and removed some TODOs
- fixed watch (stop handler should be higher up, include force watch handling)

* pushes the csrf value into worker and adds it to fetch request headers.

* refactors batchChanges to address ref concerns and be more performant

* Maintain schema reference whilst updating
- This change mutates input in a function, which is bad...
- but ensures the reference isn't broken, which is needed to maintain similar functionality as before

* Fix waitForTestFn
- Seen when creating or viewing clusters

* On unwatch ensure any pending watch requests are removed from the queue
- the probably would have been a problem if the worker wasn't nuked
- however as the codes there lets make it safe

Also added `trace` feature in advanced worker, will probably bring out to other places as well

* Fix navigation from cluster manager world to any cluster
- Ensure that we handle the case where the advanced worker was created but the resource watcher wasn't
- ... but fix case where this was happening (aka ensure that a blank cluster context is ignored)

* Tidy some TODOs

* Add perf settings page
- This will help test normal flow (when advanced worker is disabled)
- Note - setting is now in a bag. This may help us better support further settings (enable client side pagination, etc)
  ```
  advancedWorker: { enabled: false },
  ```

* FIX - Nav from cluster dashboard --> specific event --> cluster dashboard and events not re-subbed
- Ensure we block default handling of resource.start (keep state in resource watcher)

* Tidying up some TODOs

* Adds in a cache and uses it to validate SCHEMA messages before batching.

* Forgot to actually save CSRF to the resourceWatcher when instantiated.

* an empty resource in a batchChange to signal remove

* Move addSchemaIndexFields to and created removeSchemaIndexFields in new file
- this avoids bringing class files into the worker

* Fix disconnect/reconnect
- Remove `syncWatch` (do the watch/unwatch straight away)
- Test/Fix re-sub on reconnect
- Test/Fix growls on disconnect

* Tidying up some TODO's
- including clean of workerQueue on resource.stop (this is SUPER defensive)

* batchChanges will now handle aliases

* Fix pods list - WIP
- ensure podsByNamespace is updated on batchChange

TODO
- the final update to the pod is ignored
- removing a namespace cleans the cache correctly
- disabling advanced worker still works

* Fix pods list - fixes
- ensure podsByNamespace is updated on batchChange

Tested / Fixed
- the final update to the pod is ignored
- removing a namespace cleans the cache correctly
- disabling advanced worker still works

* Tidying TODOs

* Remove default same-origin header
- https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials

* Fixed TODO description

* Refactor subscribe, make it clear which vuex feature relates to what

* Lots of Fixes
- batchChanges fixes
  - fix index is 0 issues (!/!!index)
  - only `set` if we have to
  - ensure we set the correct index after pushing to list
  - ensure map is updated after reducing list size with limit
- podsByNamespace fixes
  - ensure when ew replace... we don't use the same referenced object
- general service resource fixes
  - ensure service's pods list stays up to date with store

* Multiple improvements/fixes
- resourceCache - store the hash instead of the whole object. This means longer load time be reduces memory footprint
- resourceWatcher
  - don't re-sub on socket reconnect if watcher is in error
  - don't sub if watcher is in error
  - don't unwatch for 'failed to find schema' and 'too old' errors
    - this clears the error, we won't to keep it to ensure we don't watch
- Remove #5997 comments, follow on work #7917

* toggle debug, remap alias types, cleaned up comments and console

* Unit tests for batchChanges
Much more scope for some crazy content

* Logging tweaks
- disable logging by default
- initWorker comes in too late to affect initial trace, so just rely on the `debug` to toggle at runtime

Co-authored-by: Richard Cox <richard.cox@suse.com>
2023-01-13 16:03:00 -05:00
Neil MacDougall 4ccb724b53
Fix description not working for user resources (#7885) 2023-01-13 13:09:33 +00:00
Nancy 1e2b3291d9
Allow for partial count updates via websocket (#7647)
* account for partial count updates through ws; do not debounce

* move count resource update logic to steve store
2022-12-14 09:14:49 -07:00
Richard Cox 75aa51fab9 Enforce Namespace Filter
- When there are over a configurable amount of resources to display in a list force the user to select a single namespace and use it to fetch resources related to the list
- Disabled by default, this can be enabled via the usual Global Settings --> Performance setting as usual

Functional Comments
- Gates for forcing the filter (count, resource type is namespaced, etc) apply only to the resources shown in the list.
  - For example PV's aren't namespaced, so no enforced filtering. However they fetch PVC's which are namespaced
  - For example we could have 10 resources to show in the list, but the resource types list component fetches 10000 other resources. The secondary resources are not taken in to account
- If we're under the threshold and have fetched all resources, if in that session we go over the threshold we won't fetch NS specific resources (because we have them all already)
- If we're over the threshold and have fetched namespaced resources, if in that session we go under the threshold we will fetch all resources
- If we're over the threshold and have fetched namespaced resources, going to a page that needs them all will result in us fetching them all (for instance from `events` to `cluster dashboard`)
- Deselecting a namespace and selecting it again should not kick off another http request

General Commit Comments
- The threshold to enforce the filter is set at 1500 as per manual fresh and incremental loading
- Optimised some code in ResourceList, resource-fetch and $loadingResources
2022-12-02 12:30:13 +00:00
Richard Cox 694310352b Garbage Collect Stale Resources
Remove resources from the store if they meet certain criteria. This will reduce the memory footprint of the dashboard and load on the backend (less watchers for large collections)

- GC is disabled by default and can be enabled via the Global Settings --> Performance tab
  - User can configure
    - The age in milliseconds in which a resource has to exceed in order to be gc'd
    - The count which a resource has to exceed in order to be gc'd
- GC occures in stores that have it enabled
  - ATM this is just the `cluster` store... but could be enabled for dashboard-store's such as the harvester one (one liner plus optional `gcIgnoreTypes` override for ignoring types)
- GC will be kicked off in two cases
  - Route Change for a logged in state
  - At a given interval

- Resource type _not_ GC'd if
  - The store is ignoring the type
    - For example the `cluster` store doesn't want to gc things like `schema` and `count`
  - We're going to a page for that resource (list, detail, etc)
    - For example don't GC pods if we're going to a pods page
  - The last time the resource was accessed was recently
    - We store the resource accessed time via hooking into actions and getters
    - Setting the last accessed time will cause watchers of that type to trigger (only an issue for duplicate watchers)... but importantly not watchers of other types
  - The resource is being used in the current page/context
    - We store the route changed time and compare it to the resource accessed time
  - There's too few resources
    - We might as well keep them to avoid a network request to re-populate

// TODO:
- Should additional features be added to preferences
  - if GC on route change is enabled
  - if GC on interval is enabled, and how often it runs
- Sensible default preferences
- Remove some logging
2022-10-10 17:08:43 +01:00
Neil MacDougall dc1ccc3c6d
Performance: Cache pods by namespace (#6388)
* Performance: Cache pods by namespace

* Fix lint issues

* Address PR feedback
2022-07-22 22:53:28 +01:00
Richard Cox 50aed3eb9e New Epinio pkg, and updates to dashboard (core, pkg process) (#5637)
* Doc

* v0.7.0

* v0.7.1

* v0.7.2

* Add creators

* v0.1.14

* v0.1.17

* Add Yarn link

* Tidy ups and typos

* Allow models to be loaded from plugins

* v0.1.15

* v0.1.18

* v0.6.6

* Improve readme, fix cyperss log msg

* v0.1.17

* v0.1.19

* v0.6.7

* v0.6.8

* Fix logo ref when in shell

* Fix lint issues

* Fix error in example

* Fix script to work on linux

* Add ability to revert moves without losing changes

* Fix bug with custom models in a plugin

* Fix build of UI packages

* Add dist-pkg to .eslintignore

* Pull out util from extend-router to prevent router being pulled in UI packages

* Update PLUGINS.md

* Remove duplicate dependency

* Reduce size of built UI packages

* Share codemirror. Other tidy ups

* Further improvements

* Tidy ups to support i18n in plugins

* Clen up add comments

* More clean-ups and comments added

* Rename from extension to plugin

* Missed file in rename

* v0.6.9

* TIdy ups following rename

* v0.1.20

* v0.1.21

* More refactor and tidy up

* v0.1.22

* v0.1.18

* v0.1.19

* v0.1.23

* v0.6.10

* Version Packages. Improve naming. Unload.

* v0.6.11

* v0.1.20

* v0.1.21

* v0.1.24

* v0.6.12

* v0.1.25

* v0.1.22

* v0.6.13

* Fix issues when plugin is builtin

* Add missing files

* Fix lint issues and watcher ignores

* Fixes following review

* v0.1.28

* v0.1.31

* v0.6.20

* Fix coer.js version

* Fix bug where plugins included via npm don't work

* Changes post merge

* Move plugins doc to dev guide, add note at top of README

* Update cypress version

* Add note about the reset --hard in rejig -d

* Fixes post merge

* Rename @ranch to @rancher and ad plugins

* Improve routes support, add package assets support

* Add uninstall hooks and pass interal opts

* Fix rejig script

* Minor fixes

* disable consent banner text overflow wrap

* add additional metadata to workload detail view

* minor css tweak

* Routing tweaks
- attempted to improve `addRoutes` typing, failed a lot
- improved typings in plugins.ts
- added "@pkg/*" entry and vue-shim (for importing components) to the pkg creator
- fixed some linting
- safely fail when Verdaccio isn't running
- fixed some typos

* Remove frontmatter-markdown-loader reference from nuxt-config

* Add annotation to stop upgrades for managed charts

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Use correct name for Network Attachment Definition Resource (#5579)

* Fix heading levels in Account and API keys page (#5563)

* SortableTable Performance: Optimise row mouse over/leave handlers (#5550)

Co-authored-by: Richard Cox <richard.cox@suse.com>

* Keep the check for fleet bundle ID

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Revert "Remove frontmatter-markdown-loader reference from nuxt-config"

This reverts commit 29ef6f2f7b.

* Exclude creators from dashboard build

* Revert "Exclude creators from dashboard build"

This reverts commit 8ede93ee7c.

* Ingore creators via tsconfig
- We're still susceptible with vue shims in multiple packages
- Need to determine why packages can't use shim from route
- Probably need to move `./vue-shim.d.ts` in to `./shell`. Needs testing with a pkg that imports a component

* warn on adding windows node to cutom cluster

* Display custom error message when login fails. (#5582)

* change rke2 upgradeStrategy to 1 concurrent controlplane and worker (#5580)

Co-authored-by: Alexandre Alves <aalves@AlexandresMBP2.lan>

* update endpoint display, fix ready status for daemonset type

* Fix Sortable Tble SSR (#5599)

* Sortable Table: Fix broken props to slot (#5600)

* expanded error check to include simple type

* fixed error check logic

* Fix async buton wobble with spinner (#5586)

* Add Pod restart count to workload detail page

* Can scale workload from workload detail page

* Enable source map in Nuxt/Webpack configuration for debugging (#5590)

* Move hardcoded values for roles in his own config file

* Allow to set default values also for Clusters and Namespaces

* Allow local cluster to be hidden

* Initialize always auth errors as empty list

* Add translation for snapshot group

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Enable s3 storage in rke2 cluster config

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Group by snapshot location

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* After rejig

* Prevent injection of malformed errors in the generic resource form component

* New Epinio pkg, and updates to dashboard (core, pkg process)

* Remove epinio-select

* correct @shell// reference

* Fix filtering issue
- store/index suffered a bad merge

* Add hide-local-cluster to the settings page

* Fix node table column sorting (#5611)

* Fix issue where private registry auth can be changed in view mode (#5617)

* Change title of support block on home page when custom link set (#5547)

* Tidying up

* Add feedback to the copy kubeconfig header button (#5628)

* Add feedback to the copy kubeconfig header button

* Minor improvement

* Get rke3 and k3s latest versions from settings (#5608)

* Revert previous change and avoid watching spoofed types

* Move the group-by string to computed prop

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Use computed instead of method, use Array.isArray instead of lodash isArray

* Ensure auth provider note appears consistently within form instead of new floating button section
- some auth providers already had this
- possibly better ux to add to top, but that area is already busy

* Fix bug where delay loading only worked on scroll with live columns (#5635)

* Inconsistencies with Cluster metrics across the UI (#5542)

* fix num pods being displayed on the homepage cluster list + set mem to gib for ram on homepage cluster list

* show total number of nodes rather that useful nodes in cluster dashboard view + remove reserved info for CPU and MEM in cluster table in homepage + fix pods usage in nodes list view + clear console logs

* cleanup

* correctly wire PodsUsage as a formatter + display N/A when usage is zero in nodes list values for CPU, MEM, PODS

* add loader icon to PodsUsage formatter

* add string translation to n/a in percentageBar formatter

* add delayedLoading to PodsUsage formatter

Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro-2.local>
Co-authored-by: Alexandre Alves <aalves@AlexandresMBP2.lan>

* Enable filtering by project name on project/namespaces paeg (#5636)

* Fixes post merge

* Rename core-store to dashboard-store
- contains TODO: RCs to resolve

* Tidy up/imporve nav hooks

* Fix some todo's, epinio routing product

* refactor detailtop

* Hide NeuVector product if `cattle-neuvector-system` does not exist
- As per request at https://github.com/rancher/dashboard/issues/5556#issuecomment-1098270110
- fixes #5556
- alternative to #5604

* Fix a number of areas where the sticky footer consumes large amounts of space
- Fixes #5643
- Mostly caused by non-standard ways the CruResource was being used

Effected Areas / Places to test
Note - Only need to visit pages, shouldn't need to make any changes to resources
- Cluster create/import screens (types, credentials (create new / existing), import, rke2)
- Auth providers (shortest form is keycloak saml)
- Create/Edit resource types - project, namespace, some random others
- Create/Edit resource types that have sub-types (secrets, workloads, OPA Gateway / Constraints)

Also Addressed
- Only show top border of the footer if CruResource is in edit view
- Fixed hide of errors

* Fix conditional showing of Group `Assign To` and `Refresh` buttons

Buttons should only show if
- There is a non-local auth provider enabled
- The user has the correct permissions for the relevent action

Fixes #4897

* Fix live expiry badge used on api keys table

* Hide local cluster in LandingPagePreference and api key (token) list

* HARVESTER: Fix Grafana metrics reload failure

* Address some TODOs

* minor fixes

* Rename i18n to l10n, make use of default folders

* Improve adding multiple routes

* Config map view inconsistent for binary data (#5602)

* Fix Config map view inconsistent for binary data

Co-authored-by: Alexandre Alves <aalves@AlexandresMBP2.lan>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro-2.local>

* check for existance of limit prop so that deleting a project doesnt silently fail (#5661)

Co-authored-by: Alexandre Alves <aalves@AlexandresMBP2.lan>

* Changes following review

* Fix CruResource `Edit as Yaml` feature
- ensure sticky buttons are stuck at bottom
- doesn't apply sticky buttons to direct `Edit as Yaml` feature outside of CruResource

* Fix navigation & ns filter bugs
- nav from explorer to epinio cluster (errors in console)
- nav from epinio cluster to explorer (ns filter broken)

* Remove epinio ns and config validation
- this was the process that will be replaced with Sean's work
- it's suffered bit rot and was broken after the merge
  - not running in places
  - it visually broke the labelled select (in multiple places)

* remaining todos

* fixes following validation change

* fix bad yarn lock file

Co-authored-by: Neil MacDougall <nmacdougall@suse.com>
Co-authored-by: Neil MacDougall <nwmac@users.noreply.github.com>
Co-authored-by: Neill Somerville <neill.somerville@gmail.com>
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
Co-authored-by: Nancy Butler <42977925+mantis-toboggan-md@users.noreply.github.com>
Co-authored-by: Shavin Fonseka <Shavindra@users.noreply.github.com>
Co-authored-by: Alexandre Alves <97888974+aalves08@users.noreply.github.com>
Co-authored-by: Alexandre Alves <aalves@AlexandresMBP2.lan>
Co-authored-by: Catherine Luse <catherine.luse@gmail.com>
Co-authored-by: Giuseppe Leo <giuseppe.leo@suse.com>
Co-authored-by: cnotv <giuseppe.leo@suse.de>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro-2.local>
Co-authored-by: n313893254 <n313893254@126.com>
# Conflicts:
#	shell/assets/translations/en-us.yaml
#	shell/components/CruResource.vue
#	shell/components/ResourceDetail/Masthead.vue
#	shell/components/ResourceList/Masthead.vue
#	shell/components/SortableTable/index.vue
#	shell/components/form/KeyValue.vue
#	shell/components/form/LabeledInput.vue
#	shell/components/form/NameNsDescription.vue
#	shell/components/form/NotificationSettings.vue
#	shell/components/formatter/PodsUsage.vue
#	shell/components/nav/Header.vue
#	shell/config/product/neuvector.js
#	shell/detail/workload/index.vue
#	shell/edit/provisioning.cattle.io.cluster/CustomCommand.vue
#	shell/models/cluster.x-k8s.io.machinedeployment.js
#	shell/models/harvester/kubevirt.io.virtualmachineinstance.js
#	shell/models/workload.js
#	shell/pages/c/_cluster/settings/banners.vue
#	shell/plugins/steve/actions.js
#	shell/store/type-map.js
2022-05-10 10:04:04 +01:00
Richard Cox 25acc1f8eb Plugins: Rejig files to new shell locations (#5623)
* Doc

* v0.7.0

* v0.7.1

* v0.7.2

* Add creators

* v0.1.14

* v0.1.17

* Add Yarn link

* Tidy ups and typos

* Allow models to be loaded from plugins

* v0.1.15

* v0.1.18

* v0.6.6

* Improve readme, fix cyperss log msg

* v0.1.17

* v0.1.19

* v0.6.7

* v0.6.8

* Fix logo ref when in shell

* Fix lint issues

* Fix error in example

* Fix script to work on linux

* Add ability to revert moves without losing changes

* Fix bug with custom models in a plugin

* Fix build of UI packages

* Add dist-pkg to .eslintignore

* Pull out util from extend-router to prevent router being pulled in UI packages

* Update PLUGINS.md

* Remove duplicate dependency

* Reduce size of built UI packages

* Share codemirror. Other tidy ups

* Further improvements

* Tidy ups to support i18n in plugins

* Clen up add comments

* More clean-ups and comments added

* Rename from extension to plugin

* Missed file in rename

* v0.6.9

* TIdy ups following rename

* v0.1.20

* v0.1.21

* More refactor and tidy up

* v0.1.22

* v0.1.18

* v0.1.19

* v0.1.23

* v0.6.10

* Version Packages. Improve naming. Unload.

* v0.6.11

* v0.1.20

* v0.1.21

* v0.1.24

* v0.6.12

* v0.1.25

* v0.1.22

* v0.6.13

* Fix issues when plugin is builtin

* Add missing files

* Fix lint issues and watcher ignores

* Fixes following review

* v0.1.28

* v0.1.31

* v0.6.20

* Fix coer.js version

* Fix bug where plugins included via npm don't work

* Changes post merge

* Move plugins doc to dev guide, add note at top of README

* Update cypress version

* Add note about the reset --hard in rejig -d

* Fixes post merge

* Rename @ranch to @rancher and ad plugins

* Improve routes support, add package assets support

* Add uninstall hooks and pass interal opts

* Fix rejig script

* Minor fixes

* Routing tweaks
- attempted to improve `addRoutes` typing, failed a lot
- improved typings in plugins.ts
- added "@pkg/*" entry and vue-shim (for importing components) to the pkg creator
- fixed some linting
- safely fail when Verdaccio isn't running
- fixed some typos

* Remove frontmatter-markdown-loader reference from nuxt-config

* Revert "Remove frontmatter-markdown-loader reference from nuxt-config"

This reverts commit 29ef6f2f7b.

* Exclude creators from dashboard build

* Revert "Exclude creators from dashboard build"

This reverts commit 8ede93ee7c.

* Ingore creators via tsconfig
- We're still susceptible with vue shims in multiple packages
- Need to determine why packages can't use shim from route
- Probably need to move `./vue-shim.d.ts` in to `./shell`. Needs testing with a pkg that imports a component

* After rejig

Co-authored-by: Neil MacDougall <nmacdougall@suse.com>
Co-authored-by: Neil MacDougall <nwmac@users.noreply.github.com>
2022-05-10 10:04:02 +01:00