Commit Graph

37 Commits

Author SHA1 Message Date
momesgin cba962d494
update icons lib and use new icon for downgrade (#15501)
Co-authored-by: Mo Mesgin <mmesgin@Mos-M2-MacBook-Pro.local>
2025-09-23 12:20:49 -07:00
Richard Cox 9746f63e05 Fix stateful set pods page
- normally workloads will fetch pods via the workloads podSelector
- however for stateful sets we ignore that and instead get pods that have an owner reference of the statefulset
- in a vai on world this was broken
  - pods are now fetched via workloads model fetchPods
  - pods are returned via `get pods`
  - the model statefulset overrode `get pods` and looked into podsByNamespace, which isn't populate in vai world
- fix is straightforward
  - start off with the pods that match the selector (agnostic of vai state)
  - as before filter down to the ones with the owner
2025-09-09 15:08:45 +01:00
Neil MacDougall 08041921a7
Remove icon-fw class in action menus (models) (#15131) 2025-08-14 14:09:53 +01:00
Richard Cox 0bcb054abe Make `get` replacement super safe 2025-08-05 14:40:37 +01:00
Richard Cox cdcefd1df9 Two improvements
- remove `get` function
- ensure that find action will watch if resource already in store
2025-08-05 14:39:32 +01:00
Richard Cox ce70f83265 Primary change - Fix and improve labelSelectors and vai auto updates
- labelSelector has two primary applicators
  - matching utils function
    - this should normally NOT be cached and not receive updates over sockets
    - this is done by stipulating transient = true
  - findLabelSelector
    - this should normally be cached and receive updates
    - this is done by stipulating transient = false
    - when applicable (workload and services detail page) we want live updates whilst we're on the page
      - we don't when we leave, so unwatch
- fix and align these two and their usages
  - ensure each input (transient) is correct for context
  - ensure response is in the correct format and handled correctly
- improved typing

Additionally
- Improve labelling for network policy ingress/egress label selectors
- Replace empty table with 'no details' in cis report detail page's list's sub row
- On services page handle the very weird use case of no visibility on pods
- Fix issue where extension catalog was not showing when refreshing on extension catalog page list
- Fixed an issue where we would ALWAYS show false positive invalid field warning in console
- Bump up default page size from 10k to 100k
  - this is for requests we make to the new vai cache outside of pages
  - it matches the default they use when proxying requests to target kube cluster
2025-07-03 14:25:37 +01:00
Yiya Chen 449803238f
Add confirmation dialog for workload redeploy actions (#14482)
* feat: add RedeployWorkloadDialog
* feat: enhance a11y
* refactor: fix linting
* refactor: remove unused code
* refactor: rewrite with ts
* refactor: update wordings
---------
Signed-off-by: Yi-Ya Chen <yiya.chen@suse.com>
2025-06-13 14:36:41 +08: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
Neil MacDougall c77e5f1d0a
Remove rollback action from ReplicaSet resource (#13915)
* Fix lint

* Improve test reliability

* Improve e2e test execution time

* Remove trailing spaces
2025-03-28 17:35:15 +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 11eda663bf WIP 2025-01-07 13:34:18 +00:00
Phillip Rak 5223af8d0d Clone `defaultContainer` when applying defaults
`defaultContainer` retains its values even after navigating away from the workload create form. This behavior was not observed in Vue2, and it requires further investigation to fully understand.

To address this issue in the short term, using `structuredClone` to create a deep copy of defaultContainer ensures that modifications to the container do not persist after navigating away from the form.

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-10-22 14:26:30 -07:00
Nancy f28214f9c6
Vue3 fix workload storage (#12070)
* fix workload storage codemirror not rendering

* workload storage default component  yamleditor instead of codemirror

* test editing projected vols

* add container mount test

* fix lint

* refactor deployment tests to improve retry-ability

* add to workoad storage tests and improve retry
2024-10-03 15:00:34 -07:00
Cody Jackson 11a586d568 Fixing a reactivity issue in workload.js model where we were using $set instead of just assigning to an already reactive object. 2024-08-22 16:09:55 -07: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 4cde4b9bda Fix save of Deployments in form view
- Some deployments won't have initContainers
- Ensure we skip the clean if they don't exist
- Also removed if blocks in favour of `?`
2024-01-11 12:00:58 +00:00
Richard Cox 24a44dadaf Minor tweaks
- handle scenarios where cloned pods have no `initContainer` collection (not seen in local tests)
- removeContainerField --> cleanContainerForSave
- Worklaods typo
2024-01-02 17:21:25 +00:00
Richard Cox d1a8b2f33b Refactoring and many fixes 2023-12-20 15:26:23 +00:00
cnotv 47dcfda5d7 Import just one function over the whole lodash utilis 2023-12-15 16:21:28 +01:00
Shavindra d3c6562c42 Fix imports 2023-11-14 17:19:16 +01:00
Shavindra 9ac7eb2360 Removed unwanted properties from pod, secret and workload 2023-11-02 11:05:55 +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
Giuseppe Leo 1e5057460f
Automation: Cronjob Run Now does generate resources in Jobs Detail page (#9026)
* Fix import issues

* Add cron job tests

* Add redirection test
2023-06-05 11:34:34 +02:00
LiuYan f1e16f5e12 fix missing job/pod resources on CronJobs/Jobs detail page 2023-05-11 15:42:56 +08:00
Nancy 002c984e0f
refactor promptModal component props (#7435)
* use modalData.componentProps to pass props to custom modal components

* linting errors
2022-12-06 09:41:17 -07:00
Nancy 6f8ade5765
set default container securityContext (#7539) 2022-11-30 14:15:55 -07:00
Francesco Torchia b3b8057eab
workloads rollback fix
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2022-11-28 18:26:52 +01: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
Richard Cox 8d2d0de292 Ensure HPA cannot be associated with workloads owned by others
- This ensures ReplicaSets with owners are hidden
- Fixes #2372
2022-11-08 16:29:56 +00:00
Shavindra 447fe42cc4
Workload page updates (#7041)
Fixes #6800 - Workload storage mount point for volumes should be on containers
Fixes #7021 - Allow user to change the volume name
Fixes #7027 - Pod details page broken

These all works on 2.6.9 because PRs were merged after the branch separation. So this is applying the same changes to 2.7.0

For Release 2.6.9
#6800 -> release 2.6.9 PR fix #6886
#7021 -> release 2.6.9 PR fix #7022
#7027 -> release 2.6.9 PR fix #6952
2022-09-30 01:43:07 +02:00
Sean b5ab761e61 Metadata.name on workload types should allow "." character now 2022-09-28 23:01:24 -04:00
Bastian Hofmann a9f153cac6 Fix: Open shell from workload pages may pick wrong pod
If a cluster contains two workloads (e.g. deployments) with the same spec.selector, the button to open a container shell from the workload page or list always picks the first pod that matches this selector without taking namespaces into account.

Fixes https://github.com/rancher/rancher/issues/36344 and https://github.com/rancher/rancher/issues/38506

Signed-off-by: Bastian Hofmann <bashofmann@gmail.com>
2022-09-23 16:13:26 +02:00
Shavindra 35c51c7f47
Improve workload screens - #6455 (#6632)
* Make container tabs horizontal.

* Update cronjobs, DaemonSets, Jobs, StatefulSets to use same Workload component.

* Fix 6755 - Wrong sidecar config edit not shown in UI.

* Set Persistent Volume claim capacity as required.
2022-09-02 18:12:31 +02: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
Sean ddab180ecc Adds in form validation mixin, error reporting on inputs, a few examples 2022-07-07 13:18:43 -04: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