Commit Graph

39 Commits

Author SHA1 Message Date
Richard Cox 7a3764675f Fix merge conflicts 2022-08-23 15:12:30 +01:00
Nancy Butler 03c1bb8b0f harvester mutli load 2022-08-19 12:30:47 -07:00
Nancy Butler 244295bf6f import path fixes 2022-08-19 12:30:47 -07:00
Nancy Butler 4c1d0aaee1 custom validators 2022-08-19 12:29:30 -07:00
Nancy Butler 11d6a4b3e5 fix conflict 2022-08-19 12:29:30 -07:00
Nancy Butler 8c6566e396 plugin validators dynamic import - not working 2022-08-19 12:28:35 -07:00
Nancy Butler eb5de29744 generateDynamicTypeImport hyphenated dirs
rename cloud_credential and machine_config back to cloud-credential and machine-config
2022-08-19 12:21:24 -07:00
Nancy Butler ef800a881e fix harvester custom dialogs 2022-08-19 12:21:24 -07:00
Nancy Butler 3c35f40f20 fix loading imported dev cluster 2022-08-19 12:20:53 -07:00
Nancy Butler a88ea801c9 routing maybe 2022-08-19 12:18:48 -07:00
Richard Cox 8444068dce Address PR feedback
- Split calls to `setPromiseResult` into multiple lines
- Ensure label is correctly used (drop duplicate text)
- Improve beforeDestroy comment
- Add JSDoc to setPromiseResult
2022-08-04 16:42:21 +01:00
Richard Cox 168f809798 Improve initial load of Home and Cluster Dashboard pages
Home Page
- Don't block whole page on loading of mgmt and prov clusters
- Use table `loading` indicator when clusters are loading
- Use correct cluster count (with harv cluster filter) - To confirm

Cluster Dashboard
- EventsTable - use standard table loading indicator
- Don't block on fetch at all (or show page loading indicator)
  - Remove fetch for nodeTemplates and rke1NodePools. I went through a lot of code and don't think these are needed
  - Reminaing calls for Node and Metrics can happen at the same time
- Forget additional resource types when leaving page
- Optimise fetch of management nodes

Pre-Page optimisations
- Authentication Mixin
  - if applicable, fetch `principal` 'me' same time as `user` 'me'

Other tweaks
- Don't show AwsComplianceBanner or AzureWarning until management store ready
2022-08-04 16:42:20 +01:00
Sean 75f1e04f83 Fixed issue where willSave() was not detecting if targetPort was number 2022-07-26 17:58:13 -04:00
Sean 21f424814c Resolves issues with ServicePort validation 2022-07-21 14:33:08 -04:00
Sean 41ba49b6c2 Adds in UI-side validation for Ingress Form plus additional fixes.
Fixes #4575 Add in validator injection to form-validation mixin, add in "allTabsExtraContent" slot to "tabbed" for messaging that should span all tabs, Error component optionally displays as banner, InputWithSelect can now show validationMessage on text-box without a label, LabeledSelect can now show tooltip and validationMessage at the same time, Select component can now show validation message, adding and removing rules and rulepaths displays correct content, removing does not reload page (fixes #6319), ingress form shows proper validation messages for the following states: invalid "name" field, invalid request host, invalid rule path, invalid rule target service, invalid rule port, invalid default backend target service, invalid default backend port, either rules or default backend must be present. Ingress form is validated and "Create" button is disabled if payload is not validated as correct.
2022-07-21 13:55:38 -04:00
Sean-McQ 007dfe66cf
Merge pull request #6420 from Sean-McQ/fix/prometheusrule/form-validation/5820
Add in form validation to prometheus rule. Fix model validation error.
2022-07-21 13:42:15 -04:00
Nancy Butler ad48587f7d add subdomain validator to prov cluster metadata.name 2022-07-21 08:42:55 -07:00
Sean 257f0a9de4 Add in form validation to prometheus rule. Fix model validation error. 2022-07-21 08:28:39 -04:00
Sean-McQ 3e07fdee92
Merge pull request #6409 from Sean-McQ/fix/rancher-backup/validation/5903
Fixes #5903
2022-07-20 12:55:24 -04:00
Nancy 339c869d52
Merge pull request #6408 from mantis-toboggan-md/websocket-disconnect-growls
delay showing and removing socket disconnects
2022-07-20 09:32:30 -07:00
Neil MacDougall 8907c6a1d3
Project delete namespaces (#6279)
* custom promptremove component for project and namespace remove

* Fix lin t

* Two tweaks
- Align
  - createnamespace button with ns age column
  - project action button with ns action button column
- Require confirmation to delete a project to match deleting a namespace

* Address PR feedback

Co-authored-by: Neill Somerville <neill.somerville@gmail.com>
Co-authored-by: Richard Cox <richard.cox@suse.com>
2022-07-20 16:16:52 +01:00
Neil MacDougall c614af2173
Plugins fixes and check GitHub action (#6370)
* Plugins fixes and check GitHub action

* Update check-plugins.yaml

* Update check-plugins.yaml

* Debug script

* Debug script

* Make sure verdaccio check does not fail script

* Allow errors when checking

* Fixes for CI

* Fix directory cleanup

* Debug

* Add yarn install for in-tree check

* Fix lint issues
2022-07-20 13:07:38 +01:00
Sean 1996d53fe0 Fixes #5903
Add in form validation on "name" field when creating and editing backups. Checks if name conforms to dnsLabel and noUpperCase validation.
2022-07-20 06:19:24 -04:00
Nancy Butler fa07efe15b delay showing and removing socket disconnects 2022-07-19 15:55:06 -07:00
wujun 15f5065392 HARVESTER: filter labels 2022-07-15 09:16:07 -07:00
Nancy Butler 84dfff0ea8 websocket disconnect growl
websocket reconnect close growl

rm redundant websocket console error
2022-07-15 09:15:52 -07:00
Neil MacDougall ac221da1e3
Fix empty API Group when edit as yaml for role (#6332) 2022-07-15 17:11:55 +01:00
Alexandre Alves f65cee9082
fix for broken namespace selector on fleet (#6369)
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
2022-07-15 09:41:31 +01:00
Sean 1dcb11878e Fix error in dnsChar validation regex. Improve character messaging 2022-07-11 12:09:45 -04:00
yuzeng bb55635df4 Harvester: Image volume can be empty in VM template 2022-07-08 18:34:50 +08:00
Sean ddab180ecc Adds in form validation mixin, error reporting on inputs, a few examples 2022-07-07 13:18:43 -04:00
Neil MacDougall 13e4564eec
Fixes for setting custom favicon (#6185) 2022-06-17 07:40:03 +01:00
Neil MacDougall 7a6c278318 Allow favicon to be customized via setting 2022-06-08 07:34:19 +01:00
Phillip Rak 3c23d90b0d
Port rancher components to TypeScript (#6073)
Summary

This ports the components under pkg/rancher-components to TypeScript. Take note that this change also touches some areas outside of pkg/rancher-components, including

    shell/mixins/labeled-form-element.ts
    shell/mixins/compact-input.ts
    shell/components/form/LabeledSelect.vue
    shell/components/form/Select.vue

Making changes to these components was required to properly work with the mixins used for pkg/rancher-components/src/components/Form/LabeledInput/LabeledInput.vue. Perhaps these would be good candidates to port to Rancher Components next..

Fixes #5932
Areas or cases that should be tested

We'll need to review a good range of usages for the modified components to check for regressions. I'm mostly concerned about type errors or warnings that might be raised during runtime.
2022-06-07 10:36:37 -07:00
Catherine Luse da72a9c4b5
Merge pull request #6068 from catherineluse/helm-values-docs
Add docs and comments on how Rancher handles Helm chart values
2022-05-31 17:38:48 -07:00
Catherine Luse cfc3753c2c Add docs and comments on how Rancher handles Helm chart values 2022-05-31 17:08:41 -07:00
Phillip Rak dbe845bae8 Move get/setWidth functions to utils
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2022-05-31 08:39:54 -07: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