* 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>
* Changes to support custom node driver UI extensions
* Fix bad merge
* Fix merge
* Fix bad merge
* Revert changes that are more impactful for now
* Add mock for $plugin
* Fix lint issue
* Address PR feedback
* Fix bad rebase
* Fix merge issues
* Removed unused import
* Fix merge issue
* Add back in missing validation for roles
* Fix unit test
* porting Neils poc work
* add all namespaces to pod affinity ui + add banners to for windows warning and no defaults for limits area + set namespaces as input as default for agent configuration + add node selector to agent configuration
* update banner copy in affinity section for windows + add visual separator between node and pod affinity
* added weight input for node affinity - preferred + made weight input for pod affinity appear only for preferred + changed MatchExpressions component to cover matchFields and matchExpressions in node affinityupdate banner copy in affinity section for windows + add visual separator between node and pod affinity
* fix lint errors
* working on e2e tests for agent configuration on rke2
* e2e tests work in progress
* working on e2e tests
* fix issue with Tolerations component where data wasnt being propagated because some inputs were missing a connection with the update method
* finish missing bits of e2e tests + fix height of inputs + revert back default affinity fetch
* disable no arbitrary waits in cypress
* fix broken e2e and unit tests
* fix e2e tests again
* fix lint issue
* set timeout for intercepting request to 10 seconds
* update path for default setting in agent configuration
* fix issue in dark mode in group panel + update strings to match rke1 interface + remove label from namespace input on pod affinity + clean up agent config data on save and restore it if it fails + change order of ui blocks in agent config interface
* address low hanging fruit PR comments
* remove console log
* move agent config po to components folder
* remove select.po in favour of labeledselect.po + fix data-testid in arrayList component and also its unit tests + make unit-input po leverage the use of LabeledInputPo + fix title assertion
* address final comments on e2e tests
* fix issues with PodAffinity component + update e2e test payload check
* final PR fixes
* addressing PR comments
* remove log
* reverting changes to ClusterManagerCreateRke2CustomPagePo as it was impacting other tests + add a method to go to custom cluster creation page
* e2e test updates
* updating banners copy
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
* Move hardcoded wording to i18n
* Replace repeated string values for CSS classes used in logic with constants values
* Prevent to create clusters without required node pools
* Prevent view to break if no Machine Pool is present
* Replace computed property with method
* Prevent to require nodes if no machine pool is not set
* 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
* Add dialog for k3s upgrade with PSP enabled
* Allow to pass a callback to get a response of the generic prompt
* Correct addon prompt style to match generic one
* Use confirmation async function to hold logic till confirmation
* Add PSP check for manual added PSPs
* Do not reset PSA template on k8s version change
* Reset PSP and PSA if K3 or restore if RKE2
* Keep PSA value in case of K3S selection
* Remove PSA last default value as it's never reset due latest requirements
* getting elemental changes on cluster provisioning back to rancher dashboard
* code cleanup
* apiversion created from machineCconfig schema attributes
* add machine-config loader to load it from an extension
* fix issue where elemental cluster details could not be displayed + minor changes and fixes
* fix bug where elemental infrastructureRef.name for elemental start with nc- and therefore was generating a fake machine when it shouldnt + cleanup prov cluster model
* prevent code change
* getting k8s file back up to master state to avoid complex merge conflicts
* getting k8s file back up to master state to avoid complex merge conflicts
* applying changes to cluster.x-k8s.io.machinedeployment
* Address PR feedback
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Neil MacDougall <nmacdougall@suse.com>
* Add PSA template dropdown to RKE2 cluster editor
* Add tests for RKE2 custom cluster editor to display options for PSA
* Remove TODO and hardcoded value for k8s PSA 1.25+
* Allow CRU editor to have error maps
* Fix linting on destructured arrays for unused values in Workloads erorr map
* Allow to change PSP and reset values accordingly
* Correct banner HTML for reprovisioning
* Replace default term with none in cluster creation policies
* Replace PSA ID with Name for the template in the cluster creation
* Remove extra condition for PSA options
* Add i18n with separated values for RKE default optins
* Restore default option for no PSP template in RKE2
*update docs links in translation file
*update chinese translation doc links
* fetch latest rancher version tag to determine doc url versioning
* fix hardcoded links to 2.6-only documentation
* update doc base url
* 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
* initialize kubernetes version agent config and machine global config defaults when a different version is selected
* only set default values for rke2/k3s on initial creation
* remove unused defaults in rke2 provisioning
* 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
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
```
* 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
* 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>