* add hash param to locationConfig object in extensions to allow fine-tune of application of an extension + change logic around extension table cols to better reflect col location based on page user is browsing
* remove commented line
* update docs
* improve docs with breaking changes warning
* address pr comments
* bump shell version
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
* Add users and roles tests
* Refactor: split user-and-auth.po into user.po and roles.po and added roles tests
* Refactor users to reflect underlying list, create/edit and detail components
- Make Users PO root page for users list.
- contains list po which extends BaseResourceList
- contains user specific list stuff
- Move create edit stuff to own PO
- Move detail stuff to own PO, extend ResourceDetailPo
* Update roles as per previous changes to users
- different to users given different resource types
* split users and roles tests
* Remove unrequried command.ts, make http 200 check more lenient
---------
Co-authored-by: Yonas Berhe <yberhe@Yonass-MacBook-Pro.local>
Co-authored-by: Richard Cox <richard.cox@suse.com>
* When execing into a container, try linux and windows commands when we can't determine if the node is windows
* Fix lint
* Lint: Remove trailing white space
* Use error message rather than last error
* extra failover, caching last working os against pod, errors, tests
* add __mocks__ folders to eslint ignore patterns
* standard user test fix
* removed unnecessary try/catch logic
* Revert "removed unnecessary try/catch logic"
This reverts commit c263131927.
---------
Co-authored-by: Sean <sean.mchugh@suse.com>
* prefixed the term 'Imported' to the provider name of the imported cluster.
* removed console.log
* handle imported GKE case in ClusterProvider
* added optional chaining
---------
Co-authored-by: Mo Mesgin <mmesgin@Mos-M2-MacBook-Pro.local>
* 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>
* fix issue with Resources Select in globalRoles edit/create interface
* address PR comments
* add missing check
* Minor improvement, add comments
- Did a deep dive on what this should actually be doing, added comments to explain
- We should prioritise methods to find a key via config before falling back on label and random string
- The opt.optionKey has been (previously) applied incorrectly. It should be the actual option key, rather than a key to find the option key
- This is the root of the issue.
- I don't think we should fix this here in case of breaking somewhere else
- The changes in the PR are one's we should be doing anyway
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Richard Cox <richard.cox@suse.com>
* remove error icon when the condition is Ready and Waiting
* fixed importing clean tooltip directive
* change testing component name
* use replace instead of replaceAll to fix node version support issue on GH's unit test action
* added more unit tests
* import replaceAll polyfill and clean tooltip directive to jest setup
---------
Co-authored-by: Mo Mesgin <mmesgin@Mos-M2-MacBook-Pro.local>
- FileDiff component used in the YAML editor
- Seen when Editing by YAML, or Editing by Config and switching to YAML. Then press show diff button at bottom
- Rendering was completely off in the old version of diff2html, so use latest
- Latest version of diff2html requires use of new component to render component same as before
- This has a slightly different implementation
- Bonus point - Fixed a rendering issue when editing yaml --> switch to diff --> resize. the bottom bar action buttons disappeared off screen. Now fixed
* 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>
* add logic to support new table cols via extensions hook on resource table instead of type-map so that we can capture table with locally defined headers like the nodes list
* cleanup
* address PR comments
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
* 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>
* HARVESTER: only change priority by select component
* apply weight input fix to node affinity and add unit tests
* fix node affinity unit test name
---------
Co-authored-by: Nancy Butler <42977925+mantis-toboggan-md@users.noreply.github.com>