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