* 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>
- 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
* Add support for vue route and extension init
* Fix lint
* Minor doc fix, fix issue with buttons when scrolled
* Ensure onReady is only called once
* Address PD feedback
* Address more PR feedback - simplify close on action
* Add support for vue route and extension init
* Fix lint
* Ensure onReady is only called once
* Address PD feedback
* Tidy ups
* Add one missing tidy up
* Initial version
* Improve growl integration
* Fix lint issues
* Tidy ups and lint fixes
* Add a maxiumum number of notifications
* Add some notes
* Localisations
* Avoid using general 'actions' class name
* Remove clear all button
* Further fixes
* Remove test code
* Always show a read notification indicator
* Address feedback from walk through
* Add test ids and updated e2e tests, fix lint
* Bump version number to match backend
* Work around version issues
* Fix lint issue
* Fix e2e test
* Fix release notes seen issue breading login landing page
* Update .gitignore
* Remove dev readme file
* Remove todo and tweak comments
* Add simple developer docs, update type comments, bump icon package version number
* Update lock file
* Address PR feedback
* Address PR feedback 2nd round
* Fix lint
* Fix broken import
* PR feedback
* Used partial
* PR review feedback
* Use user id hash in the local storage key
* Encrypt the notifications in local storage
* Remove persist stuff from store
* Fix bug with initialization of the store and release notes
* Bug fix - store encryption key
* Debounce setting of notifications to avoid loop
- tab 1 can fight tab 2 if tab 2 progresses whilst tab 1 processes stale content
---------
Co-authored-by: Richard Cox <ricox@suse.com>
* port of wip
* asdassad
* Update vai / sql cache based api filtering to match latest changes
* Revert "Pin Rancher version to v2.11-2053ce644a31cd8053d1f58e2487154b0b8513b6-head for e2e tests"
This reverts commit 60f62107e7.
* sdfdsf
* dsfdsf
* asdsad
* fix dynamic hide local cluster changes
* improvements
* aaaa
* Working through todo's/tidys
* Remove debug / tidy up
* resolving todos
* remove some debug
* Tidying up #1
* Make manual refresh and auto-refresh visible on perf setting, disabled by default
* Remove dev stuff
* Fix some e2e tests
* Updated comment
* Wire in resource.changes debounce, clearer label for feature `listAutoRefreshToggle`
* Temporarily disable all watches when vai enable
- remove once rancher/rancher#40773 is resolved, which will then finally fix#12734
* Revert "Temporarily disable all watches when vai enable"
This reverts commit c708f468e4.
* Fix nextResourceVersion
- Ensure it handles resource revisions (in both LIST or individual resources) that are strings
- add unit tests
* Update after review
- machine config reaches out to specific downstream cluster with hardcoded urls
- vai on world needs to construct url with vai filters though
- previously these required cluster schemas (missing for cluster management pages)
- now they're schema missing safe
* 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
- gate incremental page by page number on is steve url + is steve cache enabled
- update incremental object property names, document
- remove fix for event lister errors
- add generic getters to help determine if steve behaviour should be used (getters will also be used in future PR)
* Initial $shell internal-api - Add ModalManager and SlideInPanelManager components
* Use Teleport for Modal and SlideIn managers - Add unit tests
Unit test fix
* Add focus trap and tabindex to Modal and SlideIn managers
* Add internal api scaffolding and documentation
* Fix docs build
* Refactor `apiName` to a static method for proper enforcement
* Restructure idea around ts augmentation for internal apis
- 'almost' applies to enabling SSP by default
- Previously the ui-performance object contained a required set of resources to apply SSP to
- This isn't workable going forward where the available resources will be updated between versions
- Now the default is to use a set of default resources which can change between versions
- Users can override if they wish
- Reduce the flicker of cluster icons when the top level menu component is recreated given a change to the page's layout
- Add finer changes and comments to reduce churn from user / system changes to resources
* Server-side pagination for home page clusters list and side bar clusters
- Functional Changes
- SSP now works after vue3 bump
- Home Page Clusters list now uses server-side pagination
- Side Bar clusters list now uses server-side pagination
- Wire in now supported sorting / filtering by id and name used for table columns
- Allow pagination to be enabled given a specific context
- Call findPage without persisting to store
- New Pagination Tools
- PaginatedResourceTable - Convenience Component, wraps ResourceTable with pagination specific props
- PaginationWrapper - Convenience class to handle requests for resources and updates to them (avoiding store)
- Regressions
- Side Nav menu ready state was `mgmtCluster.isReady && !pCluster?.hasError`, now ???
* Iteration
Note - prov clusters is broken (only fetches local) due to blocking pr. breals
- notPinned list
* Fix dupe inStore
- remove from resource list, put in resource-fetch (used also by pag res table)
* Two fixes
- changes namespaces kicked of side nav cluster requests (thought pinnedIds changed)
- fix generic lists re-fetching given ns filter changes (they don't have namespaced arg)
* remove comment, backport fix
* test fixes
* E2E: Ensure we wait for cluster entries to exist before clicking on them
* backport fix for local/api filtering
* Remove debug code
* Changes after review
* e2e fixes / debugging
* More e2e fixes
* More e2e fixes
* More e2e fixes
* Fix generic pages that filter on pagination
* Attempt to fix flaky vai test
* Fix after merge from master
* Updates following new indexed files
* Fix lint and test
* Changes given real cluster tests
- general fixes
- correct issue were sorting prov clusters on mgmt cluster props (issue in master as well...)
- bit the bullet, we now don't fetch all mgmt clusters on dashboard visit.
- there could be knock on affects, but we'd need to remove it sometime in 2.11....
* Fix issues with diplaying rke1 data in home page
- includes https://github.com/rancher/dashboard/pull/12881
* Fix unit tests
### No Options Shown
- Ensure all ResourceLabeledSelect attributes reach LabelSelect component
- This worked at some point, but $attrs now does not contain values that are defined as component props
### Cannot `Load More` options
- `Pages` param Missing in API response
- This has been removed, work around added
### Search term isn't matching partial results
- ensure exact filter matching is off
We could just set depaginate to true, however this would break management of members both explorer and cluster management side at scale.
Hopefully in 2.10.0 there'll be a permanent fix for this (server-side pagination)
Main change
- change depaginate type setting from boolean to boolean || function
- depaginate function will conditionally be true
- currently condition only supports limited depagination by a pre-defined count
In addition / supporint changes
- fix lookup of norman types settings (case sensative)
- fix currentProduct(resource) lookups for norman cluster and project roles
* 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
* Updates after working with vai cache image
* test fixes
* Create a convienence wrapper called ResourceLabelSelector that hides most of the complexity
* fix unit test
* Updates following review
* Remove workload health until #10417 is resolved
* 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
* Fix linting
* type fixing
* - improve filtering without pagination
- update allowed fields given latest backend changes
- enable on by default exact filter string matches (disable for lists
* remove temp code
* fix linting
* Changes following review
* Fixes for vai cache feature flag
- name was changed from on-disk-steve-cache to ui-sql-cache
- fix timing issue - don't watch resources until we know the vai cache feature flag
* Changes following review
* Fix two sketchy tests
- new exception in docs page
- don't nav to page via button click and then goto same page
* More test improvement
- force user to go to tab which is source of route guard issue
- move setup stuff to a test for cypress to re-retry
* 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
* TODOs and TEST
* 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
* changes after self review... 3
* Link new paginated label select with pagination setting
* Work around failing kubewarden unit tests in check-plugins gate
* Fix backup.spec e2e test
* Create a convienence wrapper called ResourceLabelSelector that hides most of the complexity
* fix unit test
- 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
* Correct file naming and small TS issues
Correct TS related issues
* Manual replacement of :is on standard HTML tags
* Add missing required in the code dependencies
* Correct SCSS import
* Correct test file naming
* Correct typo in markup
* Use alias for types import
- General changes following review comments
- Fix issue where in local cluster the systen classed namespace associated with a project would get muddled with selecting user resources in mathing project
- Part of this is a big refacture, most of the code to create pag filter params is now in a helper filer
- Added much improved typing
- Fixed issue where the dynamic namespaces (c-, p-, etc) weren't correctly hidden
- Move user to previous page if last entry on last page deleted (and there is a previous page)
- Fix confusing preference to hide dynamic namespaces (c-, p-, etc)
Update paths in `shell/tsconfig.paths.json` to include "@components/*" alias that maps to "../pkg/rancher-components/src/components/*". Typescript was unable to properly locate components using the `@components` alias because this path was not defined.
Add declarations to support our i18n plugin to `shell/types/vue-shim.d.ts` so that `this.t()` and the `t` component can be recognized in components utilizing `defineComponent`.
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
* Heavy code cleanup: move function to utils, config and types to their own file
* Add fallback and tests for version comparison not retrieving values
* Fix refactoring
* Add partial case of array filterBy
* Replace multiple functions handling the same case with single getter; add covering tests
* Add no parameter case to be correctly handled
* Add case with different chart values, e.g. Epinio issue case
* Prevent issues if retrieved version is undefined; Add unit tests for upgrade cases
* Filter out charts if lack parameters
- Add standard user to local cluster, give pods visibility,
- new commands to add cluster and project roles. also to find a project
- Run not found tests as both admin and non-admin