Commit Graph

45 Commits

Author SHA1 Message Date
Richard Cox 1cbede0d72 Remove stray findAll
- came in with 96172607b3 (diff-26f14096ae23f4f5713e449de3ce2a3525f48dcb64b307ba07e8ff0ede46f829)
- shouldn't be needed now
2025-07-25 10:22:33 +01: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
Neil MacDougall 5822b9e63c
Allow cluster create and import locations to be overridden (#14041)
* Allow cluster create and import locations to be overridden

* Wire into home page

* Bug fix on home page

* Update type declaration
2025-04-08 08:49:10 +01:00
Mo Mesgin 32f17e66a4 lint 2025-02-12 10:52:53 -08:00
Mo Mesgin 8c0be5bcd6 Merge branch 'master' of github.com:rancher/dashboard into 13284-rke1-deprecation-banner 2025-02-12 10:49:14 -08:00
Mo Mesgin 2f03409d5d minor refactor 2025-02-12 10:49:06 -08:00
Mo Mesgin b319b4fe55 rke1 deprecation banner on cluster management page 2025-02-11 15:04:24 -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
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
Nancy 73bff036c5
remove references to window.c (#12281) 2024-10-17 11:03:15 -07:00
Richard Cox 3e64826022 Ensure spacing is correct when there is only a cloud cred or description, update label name 2024-10-07 12:55:03 +01:00
Richard Cox 94c86f4a0c Split out banner text, fix cluster banner text 2024-10-07 10:40:27 +01: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 7874da578f Fix slot syntax
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-08-22 16:09:54 -07: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 ef572d2af3
Add architecture in Cluster managements table
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-04-15 13:05:19 +02:00
Phillip Rak 7e703b4c74 Replace `nuxt-link` & `n-link` with `router-link`
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-03-27 14:04:17 -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
Richard Cox 7f4ae7e48d Fix linting 2023-02-28 12:12:45 +00:00
Richard Cox 139fa29d7b Ensure the correct input is given the the Cluster list BasgeState component
- RKE2 clusters were using the mgmt cluster instead of provisioning cluster for status
- Only RKE1 clusters should use the mgmt cluster
- Bug was introduced in https://github.com/rancher/dashboard/pull/8249
- Fix is to use the generic state getters that handles the mgmt/prov state split in models
2023-02-28 11:56:28 +00:00
Richard Cox f93ee861fc Fix stale RKE1 cluser information in clusters list
- For RKE1 clusters we use the mgmt cluster state instead of row's prov cluster
- This should all work generically by using the prov clusters stateObj
- However this does not work, updates sometimes bubble to the prov cluster level and when they do sometimes they even make it to the list
- Workaround is to conver the state column and sub row into custom cell and sub row slots
- These update correctly given changes to the mgmt object

Note - I haven't touched the machine summary column, a similar fix might be needed there
2023-02-24 16:04:01 +00:00
Alexandre Alves 84e260d95e
Manual Refresh Performance Option (#7904)
* update resource fetching on list views so that secondary resources follow the logic of manual refres
h and/or incremental loading if the main resource defines it

* Update resource-fetch logic to take into consideration the storeType for each individual request + fix logic regarding namespace for fetching resources + update missing resources logic (nodes and prov clusters)

* fix tipo

* reinstate hash system to handle requests for nodes and prov cluster lists

* revert mutation code + add check to register type if it doesnt exist on loadDataPage action

* fix issue with timeout that wasnt working properly for the update of live and delayed cols after manual refresh

* Take in to account the per resource count when calculating `limit`
- This means primary resources with a smaller amount don't restrict secondary resources with larger amounts

Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Richard Cox <richard.cox@suse.com>
2023-01-27 14:32:42 +00:00
Nancy d4261a6e7f
re-add lost cluster.explore translation; rm redundant exploreHarvester translation (#7764) 2022-12-19 14:30:10 -07:00
Richard Cox 762b3e4163 Updates following review
- Tweak settings text
- Use new filter icon
- Tweak "too many" text
- Allow only selecting a single namespace when in 'too many' mode
2022-12-02 12:37:35 +00: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
Neil MacDougall de1c8739d8
Add manage button to home page (#7546)
* Add manage button to home page

* Fix button spacing

* Make buttons smaller - looks better with extra button
2022-11-30 21:45:19 +00:00
Neil MacDougall f0df19764f
Add node inactive warning indicator (#7548) 2022-11-28 09:15:15 +00:00
Phillip Rak 3d410d0974 Apply linter auto-fixes
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2022-11-16 18:38:20 -07:00
Alexandre Alves 649d300e83
add query param to url for simple table filtering on SortableTable (#7368)
* add query param to url for simple table filtering on SortableTable

* enable query param for simple filtering for only default and custom single tabled list pages

* enable query param for simple filtering for workloads list + other minor updates

Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
2022-11-14 09:31:38 +00:00
Giuseppe Leo d2d4122bc0
Review HTML formatting rules (#6805)
* Prevent ESLint to format generated paths

* Add HTML ESLint Rules

* Format all the Vue HTML templates except Harvester

* Exclude Harvester package from linting HTML, keeping old formatting rules
2022-11-11 17:04:22 +01:00
Richard Cox 9b0100c7dd
Create range of Page Objects to support cluster management and other e2e tests (#6675)
* Set data test id and allow complex component to have default and inherited values for all the actions

* Create cluster tests with steps; Create cluster E2E test

* Extend command to use selector matchers

* Create test for cluster navigation and deletion

* Extend commands to find by id as in get method

* Extend documentation with guidelines and info about E2E

* Correct cluster delete and details tests to get menu within speciftc cluster row

* Add remaining E2E tests for the cluster

* Add baseUrl to the paths

* Add RKE2 selection on cluster creation for CI

* Add E2E debugging information

* Rename clluster manager E2E for consistency

* Correct data test ID after rebase

* Prevent cluster provider errors if no management parameter is provided

* Prevent accessing objects in mutation if none is provided

* Remove imported cluster sample due discarded logic

* Reset RKE2 switch on cluster creation

* Adjust test naming for cluster manager

* Replace static data test ID with a variable

* Groupped tests under different common types

* Add POs for pages and componets used in the cluster tests
- fixes #6627
- provides common POs and page POs
- covers a lot of the basic list features

* Remove testid from generic create page
- this is a page at the top level of vue
- any custom test id would need to come from params (cluster, product and/or resource)

Co-authored-by: cnotv <giuseppe.leo@suse.com>
2022-11-09 13:05:34 +00:00
Alexandre Alves 866f4d8032
Add manual refresh + incremental loading to all list views (#6908)
* removing check for restriction of types on incremental+manual + update masthead to incorportate directly the ResourceLoadingIndicator so that it can used by list views with custom mastheads + move catalog.clusterrepo typedescription to its rightful component and delete custom list view + updating custom list views to use resource-fetch mixin

* continue updating custom list views to use resource-fetch mixin

* finish updating custom list views to use resource-fetch mixin + prevent error on loadAdd mutation where type is not set in store yet + code cleanup

* address PR comments

* update all custom list views to use loading prop on ResourceTable rather than Loading component + use getter to get incremental updates propagated from the store into the table itself + other minor fixes

* revert changes to mutation loadAdd as check is not needed

* revert all changes to shell/list/harvesterhci.io.management.cluster.vue

* revert deletion of clusterrepo due to CI/CD validation of plugin

* add manual + refresh to namespaces list + fix issue where switching between workspaces results in the manual refresh button continually spinning

* move rows and loading flag to resource-fetch and do necessary changes to custom lists to minimize code changes for the future

* Minor fixes
- Match existing loading check in projectnamespace list (had a check for currentCluster, probably not needed but added just in case)
- Fixed masthead loading indicator for management users and features

Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Richard Cox <richard.cox@suse.com>
2022-10-09 10:37:38 +01:00
Cody Jackson 06b6f358fb Disabling explorer links if the cluster is in an error state
rancher/dashboard#7036
2022-10-04 08:51:30 -07:00
Neil MacDougall 42a98b0adc
Show if there is an updated RKE Template available for a cluster (#6671)
* Add notification if update to an RKE template is available

* Add template name and upgrade info to cluster detail page
2022-08-22 15:58:09 +01:00
Giuseppe Leo 698194fea3
Create E2E tests for cluster CRUD operations (#6284)
* Set data test id and allow complex component to have default and inherited values for all the actions

* Create cluster tests with steps; Create cluster E2E test

* Extend command to use selector matchers

* Create test for cluster navigation and deletion

* Extend commands to find by id as in get method

* Extend documentation with guidelines and info about E2E

* Correct cluster delete and details tests to get menu within speciftc cluster row

* Add remaining E2E tests for the cluster

* Add baseUrl to the paths

* Add RKE2 selection on cluster creation for CI

* Add E2E debugging information

* Rename clluster manager E2E for consistency

* Correct data test ID after rebase

* Prevent cluster provider errors if no management parameter is provided

* Prevent accessing objects in mutation if none is provided

* Remove imported cluster sample due discarded logic

* Reset RKE2 switch on cluster creation

* Adjust test naming for cluster manager

* Group tests under scoped cases
2022-08-17 20:48:20 +02:00
Richard Cox 2f165ef23c Updates to cluster list and failed condition indicators
- Make `Explore` button role-secondary
- Better vertical alignment of cluster list conditions fail icon
- Align spacing and icon type of cluster list and detail condition icons
2022-07-15 10:30:22 +01:00
Richard Cox 540581436b Revert "Display node IPs in cluster management list view. (#6320)"
This reverts commit aec4949b4f.
2022-07-15 10:15:38 +01:00
Shavindra aec4949b4f
Display node IPs in cluster management list view. (#6320) 2022-07-14 10:40:01 +01:00
Neil MacDougall e8456f9eea
Add loading indicator to clusters list page (#6187) 2022-06-18 19:32:43 +01:00
Phillip Rak 72b36cb360
Create Rancher Component Library (#5504)
This adds a new project for Rancher Components under `pkg/rancher-components` and replaces components used throughout dashboard with the versions used here. All imports for the following components have been updated:

```
  |- BadgeState.vue
  |- Banner.vue
  |- Card.vue
  |- Form
    |- Checkbox.vue
    |- LabeledInput.vue
    |- LabeledTooltip.vue
    |- RadioButton.vue
    |- RadioGroup.vue
    |- TextAreaAutoGrow.vue
```
2022-05-24 15:09:53 -07:00
Alexandre Alves 4027d90a90
`Save RKE Template` option is seen for a Std user who is cluster owner (#5973)
* update permissions check for action 'save RKE template' on cluster provisioning list view

* add check for action 'saveAsTemplate' on norman cluster counterpart

Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
2022-05-24 11:36:36 +01:00
Neil MacDougall 59b97e09c3
Improve presentation of cluster provider on Cluster Management list (#5824)
* Improve presentation of cluster provide on Cluster Management list

* Fix lint issue
2022-05-20 14:50: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