* rename variables
* change button names + fix import
* apply pagination to secrets
* Major Changes
- secrets and project scoped secrets are now two pages
- this fixes the issue where resource-fetch and associated mixins just fail with two of the same type on page
- incremental loading would have been broken for both
- project scoped secrets
- now correct lists upstream secrets that a project scoped based and on the target cluster
- lots of work to get CRUD for management secrets in explore/cluster world
- also includes a specific page to override the store for create/edit/view
- these are now correctly grouped by project
- updated to work with SSP enabled
- secrets list
- shows if the secrets comes from a project
- shows if the secret is a project scoped secret (only used on upstream cluster)
- updated to work with SSP enabled
- disabled update/delete of secrets created from project scoped (these just reset when sync runs again)
- disabled new detail view
- this is broken, it ignores both storeOverride and currentStore, always going to `cluster` store
TODO:
- mostly testing
- blocked on some BE issues (bugs, additional indexed field)
* ... progress. will update commit message
* Revert "Merge pull request #14748 from richard-cox/revert-project-secrets"
This reverts commit be3962261d, reversing
changes made to 62d80084d9.
* tidy, and remove e2e
* test fixes
* fix vai group by
* Fix for grouping (secrets --> group by namespace --> pss --> table is incorrectly grouped but toggle is correct
* fix warning
* fix clone/yaml, fix default/system pss
* don't fetch projects, it wipes out header. this means in upstream we won't show project names for pss downstream
* fix lint
* fix ts complain
* Tweak column tooltips
* Add cypress logs for failing tests
* pipe in `inStore`
* tweaks to cypress logs process
- better name
- log http requests
- only create logs if run failed
* Secret selector improvements and test fixes
- don't cache or watch secrets if we're showing multiple selectors on a page
- ensure we classify secrets (make it into an instance of a model)
---------
Co-authored-by: Mo Mesgin <mmesgin@Mos-M2-MacBook-Pro.local>
Co-authored-by: momesgin <mo.mesgin@suse.com>
- Fix issue with undefined routes
- Fix issue with the ResourceDetailDrawer closing when opened in harvester.
- Fixed an issue where the link back to the list page was wrong.
By doing the flagging we can check the pages in slowly without causing disruption, it will also allow us to roll things back if a bug is found last minute. By default we're still showing legacy pages but we will flip that once pages are added.
* Enter edit mode if updating roles fails during user creation
This emits an `update:mode` event that sets to mode to "edit" and refreshes all resource-related variables when the `updateRoles()` method fails during user creation. This provides an opportunity for users to correct mistakes while still staying in the "Create User" context.
An alternate approach that explored navigating to an edit route was explored, but this required re-rendering the entire form and would eliminate the error message; additional state to persist the error messages would be required and I found that requirement to be more complex than the approach taken here.
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
* Display a user readable error an escalation error is raised
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
* e2e test: attempt to create an admin user with standard user
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
* Prevent watcher from overriding values when user id changes
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
* Generate new timestamp for admin user
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
---------
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
* resource edit AS yaml
* fix cruresource (yaml from form)
- lazy load the schemaDefinitions when needed, avoids sync all to createYaml before we have an async chance to fetch schemaDefinitions
* Fix questions
- there are only four places we use questions, none of which use schema, this is just to be safe
* cluster scan, plugins/fieldsForDriver, defaultFor, validationErrors
* pathExistsInSchema
- used to optionally show conditions tab/list in resource detail view
- logs of things in ingress list/edit
* createPopulated / defaultFor
defaultFor requires resourceFields, it's only used by createPopulated in one place to support machine configs without components
* wip
* WIP MONITORING.SPOOFED
- these aren't spoofed types, but secondary schemas
- testing fix blocked, primary schema's have resourceFields
* Move steve specific (resourceField) code to steve models
- create models for steve schemas and apply to cluster and management stores
- move resoureField based validationto steve model
- move pathExistsInSchema to steve store getter
- don't fetch schemaDefinitions on start up when saving prefs (not needed and blocking)
* comments / improvements
* (untested) refactoring
* Fix alertmanager definitions, add retry definition fetch
* Fix pathExistsInSchema for path length > 2
* Fix questions that accept schemas
- tested by adding Questions to random page and the node schema
* Fix to saving configmap part 1
- the save works but doesn't show data. the yaml is the same as before. debug info added
* Validation by resourceFields is a norman specific thing, so make it such
* small refactor
* Tidying up
* Remove rebase junk
* fix linting and unit tests
* fix unit tests
* fix linting from fix for test....
* Tidying up, fix alertmanagerconfig
* Remove unit test todos
* add unit tests for resource fields
* sdssdf
* Add unit tests for pathExistsInSchema
* JS --> TS
* Store schemas in local singleton cache to avoid hitting store
* fix minor changes from review
* cruresource changes following review
- improvement - remove spurious canDiff
- createResourceYaml - pass in resource to use instead of calc in code
* WIP changes to parseType
* Fix generic cloud credential and node driver forms
* handle missing reactivity given schema definitions not in store
* fix and add unit tests for `parseType`
* Fix create-yaml test
* Changes following review
- improved comments
- SchemaDefinitionCache is now per store (and is reset as such)
- typeRef now uses parseType
* Fix dep loop by moving route based helps in auth out to utils file
* fix unit tests
* Changes following review
- base resource model has cleanForX style functions which specific resources override with their own custom neads
- wire in the cleanForDownload into this pattern
- add cleanForDownload override for secrets
* check mgmt store and norman store before throwing resource not found
* Final attempt at fixing resource check in authentication middleware
- Some resource pages don't use the product's store. This happens when..
- the product changes the store type of a resource via product config `typeStoreMap`
- explorer project, cluster binding and project binding pages
- the resource detail / list overrides the store directly with store-override
- create api key (this isn't in the product / type / id world though)
- cloud credential create / edit / view
- To fix this
- ensure we use the correct getter to fetch the store a resource might be in
- covers typeStoreMap case
- avoid using `store-override` param for resouces in product/ type / id world
- covers cloud cred world (use correct typeStoreMap) instead
- also maake sure we use resourceoverride to get the correct store for a resource
- I'm trying to make sure we support the generic case to avoid breaking extensions which would use the generic inStore toolset
- If this fix doesn't work, we should remove all checks for resources from authentication and instead return to checking for the resource type in resource list & detail components
Tested user with project role in downstream cluster
- cluster instance create / view
- cluster project list & view (saves will fail due to permissions, but screens are ok)
- cluster membership tab (and add page), project membership tab
- cloud creds list, create (and cancel), edit
- places that use resource-override
- create api key, auth config, monitoring resources
- refresh on all of above
---------
Co-authored-by: Richard Cox <richard.cox@suse.com>
* working on making sure we show a 404 page with a proper error
* code cleanup + add logic to capture 404s for resource instance details
* add e2e tests
* address PR comments + adjust e2e tests
* cover 404 on cluster for dynamic plugins
* address PR comments
* catching bogus resources on authenticated middleware with redirect to 404 page
* fix lint issue
* address PR comments + fix issue with e2e tests
* Fix l10n
- Ensure error messages doesn't reference 'list' when not on a list page
- The new way the feature works means going to a list with an unknown resource results in the generic message, but this is preferably over the above
* fix e2e tests
---------
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>
* Create models, config and utils for PSA
* Create PSA tab form view
* Create custom labels for Namespace
* Add icon option for Namespace detail view
* Add icon for Namespace list
* Add PSA tab for Namespace edit view
* Add i18n for all the PSA parts
* Separate PSA labels between mode and versions
* Filter DetailTop Namespace labels from PSA versions
* Correct unit test
* Correct Namespace tooltips for details, to be created after fetching the resources
* Remove unnecessary model
* Add todo for PSA implementation
* Add TODO for tests with checkbox and select
* Correct namespace list link with model method
* Add TODO
* Move i18n key for PSA
* Align Namespace detail view chips icon to the top
* Restore labels and annotation to the Namespace view
* Merge LabelsPSA features to existing Labels component
* Move all the PSA logic from the view to the model
* Tweaks following review
DetailTop
- Remove PSA specific code from generic component
ResourceDetail
- Remove PSA specific code from generic component
- Remove plumbing for descriptions and icons from parent component to DetailTop
Labels&Annotations component
- Default `show system labels` to off
- Ensure size of `Labels` and `Annotations` titles are the same
- Improve padding
- Remove PSA specific code from generic component
- Removed un-needed margin-bottom
Project/Namespace List
- Improve padlock icon alignment
- Improve spacing around PSA list in tooltip (this will pop up often)
PodSecurtyAdmission settings component
- Improved alignment on PSA checkbox
General Improvements
- Always show Labels&Annotations on Namespace config (view) page
* Changes following testing
- Fix display of show/hide system labels when there are no system labels
- Ensure PSA order shown in project/namespaces list PSA tooltip matches PSA controls in Namespace edit/config page
- Remove two usages of lodash
- pickBy --> new common pickBy
- values --> Object.values
* Fix unit tests
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
* 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>