Commit Graph

166 Commits

Author SHA1 Message Date
Richard Cox 91486e17d4 Updates 2025-03-10 15:19:36 +00:00
Richard Cox 3afaaccaff Wire in sorting/filtering clusters on on new human name label 2025-03-10 15:19:10 +00:00
Richard Cox e1ce7750ab Ensure new filtering syntax is used and enable vai tests again 2025-03-04 13:54:07 +00:00
Richard Cox de82273de8 Address failing plugin builds TS failure
error  in ../../shell/plugins/steve/steve-pagination-utils.ts:37:50

TS2339: Property 'name' does not exist on type 'Namespace'.
    35 |       if (hideObscure || hideSystem) {
    36 |         res.push(PaginationParamFilter.createSingleField({
  > 37 |           field: 'metadata.namespace', value: ns.name, equals: false
       |                                                  ^^^^
    38 |         }));
    39 |       }
2025-02-27 09:00:38 +00:00
Richard Cox ef05aab4f4 Update pagination settings (almost) ready for production
- 'almost' applies to enabling SSP by default
- Previously the ui-performance object contained a required set of resources to apply SSP to
- This isn't workable going forward where the available resources will be updated between versions
- Now the default is to use a set of default resources which can change between versions
- Users can override if they wish
2025-02-27 09:00:38 +00:00
Richard Cox 6913c70097 Fix to track backend changes for exact/partial matches 2025-02-26 14:54:31 +00:00
Richard Cox 7f2c00143e Wire in newly supported mgmt cluster status.connected property 2025-02-26 14:54:31 +00:00
Neil MacDougall 8001967416
Extensions: Add hooks to support virtual clusters (#11064)
* Add hooks to support virtual clusters

* Fix lint issues

* Refinements

* Update for Vue 3 changes

* Fix import

* Minor tweaks

* Fix bug causing e2e tests to fail

* Fix lint issue

* Rename internal properties and ensure they don't break clone/save

* Ensure we generate types for the plugins package to give us access to mapDriver

* Simpler approach

* Fix lint issues and add type

* Remove unused code

* Revery unnecessary changes

* Bug fix for finding model extension

* Factor out string constant and add provider display method

* Add experimental to API

* Update typegen.sh to use SHELL_DIR var

* Move type def

* Fix lint issue

* Address PR feedback

* Update steve-class.js so we always get an array

* Fix type definition
2025-01-31 08:51:58 +00:00
Richard Cox c7b2aa7fbe Encode the filter param that SSP uses
- covers cases like filtering for a kube version (v1.31.1+k3s1)
2025-01-24 16:55:06 +00:00
Richard Cox 09194418bf finish off functional stuff 2025-01-09 16:50:41 +00:00
Richard Cox fb203f945f tidying up ready for review 2025-01-09 11:26:18 +00:00
Richard Cox cb87aa3b6e Remove ununused component, tweaks, update ResourceTabs events to be super ok 2025-01-07 15:31:15 +00:00
Richard Cox 11eda663bf WIP 2025-01-07 13:34:18 +00:00
Richard Cox e227f3ebd7 Many tweaks
- Remove final todo's
  - includes fix for service type clusterip/headless overlap
- Removed ununused ENDPOINT column (note ENDPOINT formatter used in other columns)
- Testing freshly added index fields
2025-01-06 15:06:35 +00:00
Richard Cox 096d290627 Testing new indexed fields with dev image 2024-12-18 14:38:50 +00:00
Richard Cox 958e9d00d8 Fixes after small review 2024-12-17 11:45:35 +00:00
Richard Cox 8f02e8ab30 lint fixes 2024-12-16 16:58:33 +00:00
Richard Cox f837f889b7 Running through new indexed fields 2024-12-16 16:34:43 +00:00
Richard Cox 710c3a535e remove invalid sort/filter type 2024-12-16 15:48:10 +00:00
Richard Cox 95c693f850 Merge branch 'pagination-home-page' into pagination-cluster-explorer 2024-12-16 15:44:18 +00:00
Richard Cox 6b445fd71d Fix unit tests 2024-12-16 14:17:43 +00:00
Richard Cox 9b5d420b77 Changes given real cluster tests
- general fixes
- correct issue were sorting prov clusters on mgmt cluster props (issue in master as well...)
- bit the bullet, we now don't fetch all mgmt clusters on dashboard visit.
  - there could be knock on affects, but we'd need to remove it sometime in 2.11....
2024-12-11 17:27:56 +00:00
Richard Cox 9d01007320 Updates following new indexed files 2024-12-10 16:12:36 +00:00
Richard Cox 6f5657363b WIP - Rest of workload lists 2024-12-04 19:04:48 +00:00
Richard Cox 66f73dab5b fixes / updates 2024-12-04 11:54:28 +00:00
Richard Cox 475aaef2eb Merge branch 'pagination-home-page' into pagination-cluster-explorer 2024-12-02 17:45:16 +00:00
Richard Cox f1858b6f02 Iteration
Note - prov clusters is broken (only fetches local) due to blocking pr. breals
- notPinned list
2024-12-02 17:32:41 +00:00
Richard Cox 419cc30fd1 Server-side pagination for home page clusters list and side bar clusters
- Functional Changes
  - SSP now works after vue3 bump
  - Home Page Clusters list now uses server-side pagination
  - Side Bar clusters list now uses server-side pagination
  - Wire in now supported sorting / filtering by id and name used for table columns
  - Allow pagination to be enabled given a specific context
  - Call findPage without persisting to store

- New Pagination Tools
  - PaginatedResourceTable - Convenience Component, wraps ResourceTable with pagination specific props
  - PaginationWrapper - Convenience class to handle requests for resources and updates to them (avoiding store)

- Regressions
  - Side Nav menu ready state was `mgmtCluster.isReady && !pCluster?.hasError`, now ???
2024-12-02 15:48:23 +00:00
Richard Cox 006debbda7 fix async button in manual refresh mode 2024-11-15 16:38:02 +00:00
Richard Cox 1f61ce53cf - Fix issue where list components containing PaginatedResourceTables would incorrectly fetch all resources anyway
- convert reminaing storage lists
2024-11-15 15:40:00 +00:00
Richard Cox bbf4bcd929 Merge branch 'pagination-home-page' into pagination-cluster-explorer 2024-11-14 16:16:17 +00:00
Richard Cox 8e0fabc8ed Server-side pagination for home page clusters list and side bar clusters
- Functional Changes
  - SSP now works after vue3 bump
  - Home Page Clusters list now uses server-side pagination
  - Side Bar clusters list now uses server-side pagination
  - Wire in now supported sorting / filtering by id and name used for table columns
  - Allow pagination to be enabled given a specific context
  - Call findPage without persisting to store

- New Pagination Tools
  - PaginatedResourceTable - Convenience Component, wraps ResourceTable with pagination specific props
  - PaginationWrapper - Convenience class to handle requests for resources and updates to them (avoiding store)

- Regressions
  - Side Nav menu ready state was `mgmtCluster.isReady && !pCluster?.hasError`, now ???
2024-11-14 16:01:32 +00:00
Francesco Torchia eac3deaa4b
Add harvester features
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-11-13 15:38:36 +01:00
Jordon Leach 8edfa0f154
Remove lodash import 2024-10-31 13:08:56 -04:00
Jordon Leach 75f26c4d7c
Replace cloneDeep with deepToRaw method - add nested reactive object case 2024-10-31 13:04:23 -04:00
Jordon Leach 2b55944791
Add deepToRaw method for recursively converting proxy objects to raw 2024-10-31 10:55:00 -04:00
Richard Cox dcd69ed7f1 Servier-side pagination for catalog apps, cluster repo and operation 2024-08-23 13:51:01 +01:00
cnotv ff08d80e0e Lint: Manually fixed issues related to vueApp variable added by the script 2024-08-22 16:07:03 -07:00
Phillip Rak 03e33c7c29 Resolve issue with messages that contain proxy objects
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-08-22 16:05:37 -07:00
Cody Jackson 9b829c55ea Ran `yarn lint --fix` 2024-08-22 16:05:36 -07:00
Cody Jackson d5ce4fff2e Run the vue3 migration script
Commands run:

➤ yarn migrate
➤ git clean -fdx
➤ nvm use 20
➤ yarn
2024-08-22 16:05:36 -07:00
Richard Cox 8b03d567f0 Add server-side pagination to cluster explorer events and general events list 2024-08-20 14:38:10 +01:00
Richard Cox 8e120d0d32 WIP 2024-08-19 16:23:35 +01:00
Richard Cox a94f435dac Fix lint 2024-08-06 16:07:22 +01:00
Richard Cox cef4876c26 Fix prv/mgmt cluster description issues
See #11588 for details

- mgmt cluster is a steve resource, so can inherit the steve model
  - this resolve the issue of mgmt cluster not having a description
- prv cluster uses it's own description, falls back on mgmt description
  - custom stuff on home screen not needed
  - fixes description on detail page of legacy clusters
- remove description from hybrid model
  - this contains steve references and isn't needed
2024-08-06 16:07:22 +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 071dda8590 Ensure only unique filters are sent
- done at a rather base level to avoid having to compare objects
- can occurr if user pref to filter out system resources (c-, p- namespaces) which dupes some of system/user namespace filter
2024-06-14 17:50:51 +01:00
Richard Cox aaf2d69130
Pagination changes given new vai cache backed steve api (#11110)
* Changes for new design
- New visuals
- Pagination controls --> load more
- finished testing of label select with pagination off

# Conflicts:
#	shell/edit/provisioning.cattle.io.cluster/__tests__/Basics.tests.ts

* Changes following review

* 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

* Lint / test / fixes

* Improvements to configmap e2e test & Improve pagination disabled

* Beef up validation

* Fix missing name column in non-server-side paginated node list

* Fix PR automation actions
- fix syntax
- catch scenario where a pr has no fixed issue

> There's duplication between files, see https://github.com/rancher/dashboard/pull/10534

* CI bump

* Fixes post merge

* Wire in 2.9.0 settings for server-side pagination
- Everything is gated on `on-disk-steve-cache` feature flag
  - There's a backend in progress item to resolve a `revision` issue, until then disable watching a resource given it
- Global Settings - Performance
  - Added new setting to enable server side pagination
  - this is incompatible with two other performance settings

* Integrate pagination with configmaps in cis clusterscanbenchmark edit form
Also
- improved labeled select pagination
- gate label select pagination functinality on steve cache being enabled

* - harvester machine-config
- project monitoring (and bug fixes)

* Disable workload screen if vai cache is on
- temp step until we get new overview

* TODOs and TEST

* Conditionally remove fetch of all secrets from SelectOrCreateAuthSecret

* TODOs and TEST

* Update SimpleSecretSelector
- only used in monitoring.coreos.com.alertmanagerconfig context

* View and Edit ingress - secrets

* node detail page - pods list

* Backup/Restore: Secrets (WIP)

* Backup/Restore: Secrets, and other usages of SimpleSecretSelector / SelectOrCreateAuthSecret

* Edit: Service account

* Add comments for remaining items

* Paginate Secret selection for logging providers
- Allow `None` option in Paginationed LabelSelect
- Optionally classify pagination response

* WIP

* fixes arfter merge

* Don't suggest container names, not practical
- previously all pods were fetched... and we scrapped all container names from them
- this is a scaling nightmare, user now must just enter the name/s to match

* Avoid findAll secrets in SimpleSecretSelector

* tidying up

* Move LabeledSelect/index.vue back to LabeledSelect.vue to not break extensions

* changes after self review... 1

* changes after self review... 2

* ooof

* changes after self review... 3

* fix formatting

* Link new paginated label select with pagination setting

* Work around failing kubewarden unit tests in check-plugins gate

* Fix backup.spec e2e test

* fix formatting, paginationUtils.isSteveCacheEnabled --> paginationUtils.isEnabled

* Don't fetch all secrets on cloud creds page

* Fix backup.spec e2e test

* TODO tidying / tracking

* don't getch ALL workloads for hacky way to get a link to a service's workload

* Fix bad merge

* Updates after working with vai cache image

* test fixes

* Create a convienence wrapper called ResourceLabelSelector that hides most of the complexity

* fix unit test

* Updates following review

* Remove workload health until #10417 is resolved

* Updates following review

* changes following self review

* Fix bottom bar of edit backup, edit restore pages

* revert temp change

* changes following self review

* Workaround for kubewarden unit tests in check plugin gate

* bump

* Fix e2e

* Fix linting

* type fixing

* - improve filtering without pagination
- update allowed fields given latest backend changes
- enable on by default exact filter string matches (disable for lists

* remove temp code

* fix linting

* Changes following review

* Fixes for vai cache feature flag
- name was changed from on-disk-steve-cache to ui-sql-cache
- fix timing issue - don't watch resources until we know the vai cache feature flag

* Changes following review

* Fix two sketchy tests
- new exception in docs page
- don't nav to page via button click and then goto same page

* More test improvement
- force user to go to tab which is source of route guard issue
- move setup stuff to a test for cypress to re-retry
2024-06-11 17:44:04 +01:00
Richard Cox a5661c575f
Remove usages of findAll for types supported by server-side pagination (#10795)
* Changes for new design
- New visuals
- Pagination controls --> load more
- finished testing of label select with pagination off

# Conflicts:
#	shell/edit/provisioning.cattle.io.cluster/__tests__/Basics.tests.ts

* Changes following review

* 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

* Lint / test / fixes

* Improvements to configmap e2e test & Improve pagination disabled

* Beef up validation

* Fix missing name column in non-server-side paginated node list

* Fix PR automation actions
- fix syntax
- catch scenario where a pr has no fixed issue

> There's duplication between files, see https://github.com/rancher/dashboard/pull/10534

* CI bump

* Fixes post merge

* Wire in 2.9.0 settings for server-side pagination
- Everything is gated on `on-disk-steve-cache` feature flag
  - There's a backend in progress item to resolve a `revision` issue, until then disable watching a resource given it
- Global Settings - Performance
  - Added new setting to enable server side pagination
  - this is incompatible with two other performance settings

* Integrate pagination with configmaps in cis clusterscanbenchmark edit form
Also
- improved labeled select pagination
- gate label select pagination functinality on steve cache being enabled

* - harvester machine-config
- project monitoring (and bug fixes)

* Disable workload screen if vai cache is on
- temp step until we get new overview

* TODOs and TEST

* Conditionally remove fetch of all secrets from SelectOrCreateAuthSecret

* TODOs and TEST

* Update SimpleSecretSelector
- only used in monitoring.coreos.com.alertmanagerconfig context

* View and Edit ingress - secrets

* node detail page - pods list

* Backup/Restore: Secrets (WIP)

* Backup/Restore: Secrets, and other usages of SimpleSecretSelector / SelectOrCreateAuthSecret

* Edit: Service account

* Add comments for remaining items

* Paginate Secret selection for logging providers
- Allow `None` option in Paginationed LabelSelect
- Optionally classify pagination response

* WIP

* fixes arfter merge

* Don't suggest container names, not practical
- previously all pods were fetched... and we scrapped all container names from them
- this is a scaling nightmare, user now must just enter the name/s to match

* Avoid findAll secrets in SimpleSecretSelector

* tidying up

* Move LabeledSelect/index.vue back to LabeledSelect.vue to not break extensions

* changes after self review... 1

* changes after self review... 2

* ooof

* changes after self review... 3

* fix formatting

* Link new paginated label select with pagination setting

* Work around failing kubewarden unit tests in check-plugins gate

* Fix backup.spec e2e test

* fix formatting, paginationUtils.isSteveCacheEnabled --> paginationUtils.isEnabled

* Don't fetch all secrets on cloud creds page

* Fix backup.spec e2e test

* TODO tidying / tracking

* don't getch ALL workloads for hacky way to get a link to a service's workload

* Fix bad merge

* Create a convienence wrapper called ResourceLabelSelector that hides most of the complexity

* fix unit test

* Updates following review

* changes following self review

* Fix bottom bar of edit backup, edit restore pages

* revert temp change

* changes following self review

* Workaround for kubewarden unit tests in check plugin gate

* bump

* Fix e2e
2024-06-05 09:15:43 +01:00
Richard Cox a796b16f90 Fix for subscribing
- only fetch resource version from resources if we need to AND steve cache is disabled
2024-05-09 16:14:41 +01:00