Commit Graph

83 Commits

Author SHA1 Message Date
Richard Cox a90029638a
Re-enable vai support for side nav and home page cluster lists (#15262)
* generic changes from https://github.com/rancher/dashboard/pull/14492/files

* VERY WIP
- move out watch event stuff into own file
- improve typing
- start resolving core unwatch & unwatchIncompatible of side nav cluster watches (not going to store) being seen as incompatible with find cluster action that does go into store

* very wip, vaguely working

* starting to tidy up

* more tidying

* wip - pre-pivot

* maybe...

instead of upfront unwatch with lots of complicated logic... only do it if we hit the issue (i.e. no page entry into page )

* tidying up

* asd

* Remove now uneeded sideNavCache

* big refactor, untested

* tidying up

* tidying

* more tidying

* more tidying

* add some super basic unit tests, fix another

* remove debug logger and last todos

* more unit test fixes

* Fix two bugs, and fix e2e tests
- we don't always have the mgmt cluster, so take this into account
  - i've checked all usages of `['management/byId'](MANAGEMENT.CLUSTER`

* more e2e fixes

* Tidying up following review
- more comments
- rename of method to something more sensisble

* Disable support for ssp in side bar and clusters
2025-10-06 09:47:58 +01:00
Neil MacDougall 08041921a7
Remove icon-fw class in action menus (models) (#15131) 2025-08-14 14:09:53 +01:00
Cody Jackson 0462944a9e Adds support for for an additional actions slot in our titlebar/masthead
Fixes #14977
2025-08-12 18:13:57 -07:00
Evgeniya Vashkevich 6db6ce7f1f
Fixed Harvester detail page through Cluster Management (#14982) 2025-08-05 09:19:37 -07:00
Richard Cox 0d21048c6b Reverts features that revolve and work around expiring harvester credentials
- Given harvester tokens will now not expire revert features around expiring tokens
  - https://github.com/SUSE/rancher-architecture/pull/4
- Warn users when creating harvester tokens that they expires
  - https://github.com/rancher/dashboard/pull/11313
- Warn users that an existing harvester token is about to/has expired and let them renew it
  - https://github.com/rancher/dashboard/pull/12157
2025-07-25 10:20:30 +01:00
Evgeniya Vashkevich 2e25bc83ae
Added back RKE1 removal, removed etcdbackup (#14786) 2025-07-14 08:29:27 -07:00
Jordon Leach c51eb70e61
Add ability to configure commentFieldsOptions on resource model for createYaml (#10396)
* Add ability to configure commentFieldsOptions on resource model for createYaml

* Add commentFieldsOptions to createYamlWithOptions method

* Fix and extend commentFieldsOptions to cover array and object types

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>

* Fix typo

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>

* Clean up addCommentSubFieldsOptions fn

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>

---------

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
Co-authored-by: Francesco Torchia <francesco.torchia@suse.com>
2025-07-11 09:19:49 -07:00
Evgeniya Vashkevich 24f6c0bb12
Disabled editing Harvester cluster from Cluster management (#14526) 2025-07-09 21:24:40 -07:00
Neil MacDougall a0d725938c
Add Notification Center (#14419)
* Initial version

* Improve growl integration

* Fix lint issues

* Tidy ups and lint fixes

* Add a maxiumum number of notifications

* Add some notes

* Localisations

* Avoid using general 'actions' class name

* Remove clear all button

* Further fixes

* Remove test code

* Always show a read notification indicator

* Address feedback from walk through

* Add test ids and updated e2e tests, fix lint

* Bump version number to match backend

* Work around version issues

* Fix lint issue

* Fix e2e test

* Fix release notes seen issue breading login landing page

* Update .gitignore

* Remove dev readme file

* Remove todo and tweak comments

* Add simple developer docs, update type comments, bump icon package version number

* Update lock file

* Address PR feedback

* Address PR feedback 2nd round

* Fix lint

* Fix broken import

* PR feedback

* Used partial

* PR review feedback

* Use user id hash in the local storage key

* Encrypt the notifications in local storage

* Remove persist stuff from store

* Fix bug with initialization of the store and release notes

* Bug fix - store encryption key

* Debounce setting of notifications to avoid loop
- tab 1 can fight tab 2 if tab 2 progresses whilst tab 1 processes stale content

---------

Co-authored-by: Richard Cox <ricox@suse.com>
2025-06-19 19:47:50 +01:00
Neil MacDougall c0ea22f63b
RKE1 Clusters unsupported (#14226)
* Make RKE1 Unsupported

* Fix for unit tests

* Update a11y test for removed RKE1 toggle switch

* Fix missing import

* Remove RKE templates and related tests

* Fix lint and tidy up

* Removed unused code

* Updates e2e tests

* Tidy up e2e tests

* Fix lint

* Prevent edit of RKE1 cluster

* Remove RKE1 settings

* Fix lint with removed settings

* Remove e2e test for removed setting

* Remove unused e2e po

* Remove toggle switch from a11y test
2025-05-29 13:07:00 +01:00
Neil MacDougall 844fd3fcca
Disable editing and detail view for kev1 clusters. Add back in labels with unsupported info. (#13535) 2025-02-28 07:41:05 +00:00
Nancy adcedf55af
bump shell version to 3.0.2-rc.4 (#13388)
* bump shell version to 3.0.2-rc.4

* fix translation string typo
2025-02-12 13:42:57 -08:00
Nancy 49664eaf01
Fix issue loading cluster provisioning ui from extensions on edit; fix provisioning cluster table grouping label (#13347)
* wip refactor emberLink

* wip edit non-rke2 clusters with ui from extension

* refactor emberLink to account for isImported isCustom and provider annoation

* clean up

* lint
2025-02-11 12:34:04 -08: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 b614082ce1
Add server-side pagination to home page cluster list (#11663)
* 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 ???

* Iteration

Note - prov clusters is broken (only fetches local) due to blocking pr. breals
- notPinned list

* Fix dupe inStore
- remove from resource list, put in resource-fetch (used also by pag res table)

* Two fixes
- changes namespaces kicked of side nav cluster requests (thought pinnedIds changed)
- fix generic lists re-fetching given ns filter changes (they don't have namespaced arg)

* remove comment, backport fix

* test fixes

* E2E: Ensure we wait for cluster entries to exist before clicking on them

* backport fix for local/api filtering

* Remove debug code

* Changes after review

* e2e fixes / debugging

* More e2e fixes

* More e2e fixes

* More e2e fixes

* Fix generic pages that filter on pagination

* Attempt to fix flaky vai test

* Fix after merge from master

* Updates following new indexed files

* Fix lint and test

* 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....

* Fix issues with diplaying rke1 data in home page
- includes https://github.com/rancher/dashboard/pull/12881

* Fix unit tests
2025-01-03 15:34:28 +00:00
Evgeniya Vashkevich 93a0b4750f
Fixed cluster page throwing error if imported cluster is broken (#12798) 2024-12-05 11:13:36 -08:00
Nancy e64e3da1f8
Fix editing rke2/k3s clusters in 'pending' state (#12694)
* fix cluster isImported check to account for clusters in the process of provisioning

* remove tests
2024-12-02 08:31:02 -08:00
Nancy 6f52e59b07
Fix editing local rke1 and eks clusters (#12583)
* rework isImported and provisionerDisplay cluster properties

* refactor cluster unti tests to account for isImport property refactor

* update CLI e2e test to expect successful download
2024-11-12 14:11:00 -08:00
Francesco Torchia 96668a0ca9
Merge pull request #12252 from torchiaf/12221-architecture-labels
Lowercase architecture labels
2024-10-23 12:32:00 +02:00
Richard Cox 69e1b2608e
Merge pull request #12157 from richard-cox/harv-creds-2.10
[2.10] Show Cloud Credential Expiration information for Harvester Creds, add actions to renew
2024-10-18 18:15:00 +02:00
Phillip Rak 8685e05f47 Use optional chaining on `machineSelectorConfig`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-10-17 09:29:35 -07:00
Francesco Torchia 8c248f59aa
Lowercase architecture labels
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-10-16 10:55:37 +02:00
Richard Cox 96172607b3 Show Cloud Credential Expiration information for Harvester Creds, add actions to renew 2024-10-07 10:40:09 +01:00
Phillip Rak d4c84f4592 Default to empty object for missing `machineSelectorConfig`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-09-27 13:38:17 -07: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
Francesco Torchia 61ad3fec72
Show empty architecture during cluster provisioning
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-06-13 11:50:47 +02:00
Francesco Torchia acea0125fb
Fix provisioning label
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-04-18 15:49:11 +02:00
Francesco Torchia 17677f3499
Add Unknown to architecture possible values; Add translations
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-04-16 17:51:44 +02:00
Francesco Torchia 12f0c2feee
Add tooltip for mixed architecture
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-04-15 13:05:20 +02:00
Francesco Torchia e438f5cb99
Capitalize Architecture column/label
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-04-15 13:05:20 +02:00
Francesco Torchia e83eeb8812
Add architecture info in home page - clusters table
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-04-15 13:05:19 +02:00
Alexandre Alves 74e543c524
show registration tab only on hosted providers with private endpoint/network (#10319)
* change condition to show registration tab only on hosted providers with private endpoint/network + adds unit tests

* address pr comments

---------

Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
2024-02-05 10:08:40 +00:00
Alexandre Alves 21327c54c0
Update logic of 'hasError' in 'provisioning.cattle.io.cluster' model (#10366)
* update logic of hasError in prov cluster model

* working on unit tests

* fix code logic and finish unit tests

* fix lint issue

* address pr comments

---------

Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
2024-02-02 09:27:06 +00:00
Francesco Torchia 27dc8cba94
Add null checks for Clusters agentConfig property
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-01-18 17:48:33 +01:00
Nancy 4cca5faf81
AKS provisioning extension (#9669)
Adds a built-in AKS provisioning extension to replace the embedded ember pages, as well as modifications to the provisioning UI to support other non-rke2 provisioning extensions
2024-01-11 07:52:45 -08:00
Evgeniya Vashkevich 4aba0acfec
Fixed comments on PR #9735 (#10160)
* Fixed comments on PR #9735
2023-12-21 09:57:57 -08:00
Neil MacDougall 83550bd0ca
Yaml Editor: Auto-fold section in RKE2 cluster config (#10108) 2023-12-14 13:22:44 +00:00
Francesco Torchia 108e86b6e5
Set namespaceLocation to null if local cluster is not visible
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2023-11-03 10:38:54 +01:00
Francesco Torchia b03736d617
Add namespaceLocation to provisioning cluster model
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2023-11-02 15:25:25 +01:00
Francesco Torchia e80e807940
Link namespaces in mgmt cluster to local cluster
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2023-11-02 15:25:24 +01:00
Evgeniya Vashkevich 6d4f75afaf
Fixed RKE cluster being shown as Imported (#9868) 2023-11-01 13:02:37 -07:00
Neil MacDougall c9e1a19396
Extension support for custom provisioning (#9246)
* Extension support for custom provisioning

* FIx lint issues

* Discovery / Tweaks
- fix issue where namespacesOverride was lost
- tidy up PROVIDER
- try to handle missing provider=type url param (could be missing extension-params)
- added a few comments to comments to come back to

* Names and typings
- change param --> customParam to make it clearer it's not url params
- add labels-annotations to shell types

* Wire in provider detailTabs
- as per original readme this should be made generic (extension point working directly with ResourceTabs)

* Update IClusterProvisioner & docs

* Improvements / Changes to support proving out DO extension
- cluster hooks optional
- buff up save hook (and pass in cluster when calling apply fn)
- move normalizeName into generic place
- bring back async create machine config
- hack for do extension (map example provider to do provider)

* updates, add optional saveCluster, add missing kube file
- saveCluster complements hooks, doesn't skip handling of addons, etc
- ensure register hooks take the `this` context in all worlds

* Adding docs

* Updates
- location config based changes
  - change customParams to context
  - add query param
- add new extention point to add tabs to cluster create cluster config section
- fixed some typing
- fixed issue where cluster was not passed to before / after hooks (only important if 'this' changes

* Changes following review, fix `t` in plugins

* Fix linting

* Docs updates, pass through more edit/view things

* Conditionally show the namespace grouping in the cluster list
- means users can differentiate between clusters with same name in different namespaces
- useful when clusters created via extension provisioner where ns can be selected

* docs tweaks, actually include the provisioning page in docs

---------

Co-authored-by: Richard Cox <richard.cox@suse.com>
2023-07-11 22:17:57 +01: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
wujun 717a2b2c14
HARVESTER: add bare-metal container and mcm support (#8754)
* HARVESTER: add bare-metal container and mcm support

* Harvester: Fix re-render old route component

* HARVESTER: fix services and hide repositories

* HARVESTER: add svg icon

* HARVESTER: add harvester version in explorer page

* HARVESTER: change openRancherManagerSupport => isRancherInHarvester

* HARVESTER: move method to models type

* HARVESTER: enhancement TopLevelMenu when use embedded rancher

* HARVESTER: polish harvester mode judgment

* HARVESTER: Add namespace resource quota help text

* HARVESTER: remove service filter

* HARVESTER: set harvester-baremetal-container-workload to false

* HARVESTER: fix svg & namespace component

---------

Co-authored-by: n313893254 <n313893254@126.com>
2023-06-15 13:28:08 -07:00
Neil MacDougall 68f3ffbcaa
Hostname truncation: Update to sync with backend (#8790)
* Update tio sync with backend

* Added getter

* Fix lint
2023-05-05 10:05:16 +01:00
Alexandre Alves 9b23c52674
add check to resourceMethods prop so that UI doesnt fail when clusterTemplatesSchema is empty (#8414)
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
2023-03-14 09:01:28 +00:00
Giuseppe Leo f081940a41
Add a warning alert when migrating to 1.25 if they have PSPs. (#8246)
* Prevent to display PSP related banners if no PSP active

* Add custom API request for PSP

* Prevent PSP check on cluster creation

* Add PSPS type

* Correc PSP deprecation message on upgrade, to mention automatic removal

* Correct banner loading and exclude generic message

* Prevent check of PSP if the cluster is reconciling

* Remove deprecated logic about PSP templates check

* Restrict invalid PSP check only on k8s upgrade
2023-02-28 17:55:48 +01:00
Richard Cox 95fdf80dcb
Merge pull request #8224 from richard-cox/stale-management-resources
Fix stale management cluster resources
2023-02-23 11:58:24 +00:00
Shavindra d7e5dc50c4
[2.7.2] Handle nodeGroups undefined for imported EKS cluster (#8196)
* Handle nodeGroups undefined for manually imported RKE cluster.

* Forward part changes from #8222

---------

Co-authored-by: Neil MacDougall <nmacdougall@suse.com>
2023-02-22 15:41:12 +00:00
Richard Cox 90ccf3f7e1 Fix issue where editing number of machine pools can cause dev white page errors 2023-02-21 16:59:58 +00:00