Commit Graph

95 Commits

Author SHA1 Message Date
Richard Cox 40b899635a
Ensure extension repo build and release feature works when using PRs (#15655)
* Ensure build-extension-charts runs that create PRs have GH_TOKEN set

* add optional override to github.token

* Revert "add optional override to github.token"

This reverts commit c6668395be.

* move env to correct step....

* add permisions to step

* add to other file, fix typo
2025-10-20 12:24:51 +01:00
Alexandre Alves 49f6fb62b5
re-enable extension build check for observability extension (#15634) 2025-10-15 16:38:36 +01:00
Alexandre Alves c6a66fdcaf
disable test extension build for stackstate due to issue with node version bump (#15629) 2025-10-15 11:52:06 +01:00
Richard Cox 9fe21d8143 Fix disabled extension test involving PaginatedResourceTable
- this previously failed, re-enabled and resolved issues
2025-09-25 12:24:36 +01:00
Alexandre Alves 95c85a4471
comment out capi extension from test-plugins-build since it's still WIP (#15485)
* comment out capi extension from test-plugins-build since it's still WIP

* fix pr
2025-09-23 09:26:02 +01:00
Alexandre Alves f8bb2d4bd7
revert pipefail change + bump shell (#14346) 2025-05-14 16:04:48 +01:00
Jordon Leach a7ae765080
Incorporate compressedEndpoint property into extension charts (#13236)
* Incorporate compressedEndpoint property into extension charts - refactor publishing script to use values.yaml for endpoints

* Include compressed extension in ECI build plugin contents
2025-04-23 09:12:47 -04:00
Jordon Leach 562c32df73
Add internal api scaffolding and documentation (#13839)
* 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
2025-04-14 13:11:47 -04:00
Alexandre Alves 45a1c7b271
add pipefail to publish script + bump shell version (#13967) 2025-04-11 09:51:31 +01:00
Alexandre Alves 2b51d4af8d
re-enable extension checks (#13795)
* re-enable extension checks

* re-enable extension checks
2025-03-19 09:26:49 +00:00
Jiri Tomasek 348c70097f
Sanitize the version when setting it in UIPlugin label (#13585)
This change enhances the extension-server.labels directive in _helpers.tpl
to avoid error when setting the app.kubernetes.io/version label with version
which includes + character. This is valid for semver but not for label version.

The solution adopts the convention used in Helm which replaces + with _ when
storing the version in places which don't allow + usage, e.g. OCI repository.

The same approach is already used in the `extension-server.chart` directive,
which is also used as a label value.

Fixes Issue 13584
2025-03-18 08:42:00 +00:00
Richard Cox de82273de8 Address failing plugin builds TS failure
error  in ../../shell/plugins/steve/steve-pagination-utils.ts:37:50

TS2339: Property 'name' does not exist on type 'Namespace'.
    35 |       if (hideObscure || hideSystem) {
    36 |         res.push(PaginationParamFilter.createSingleField({
  > 37 |           field: 'metadata.namespace', value: ns.name, equals: false
       |                                                  ^^^^
    38 |         }));
    39 |       }
2025-02-27 09:00:38 +00:00
Neil MacDougall 1e18d03f4c
Add support for modifying doc links and add support for different links for Rancher Prime (#13020)
* Add support for different doc links

* Adding missing e2e test tags

* Auth page not accessible to standard user (admin tests seem sufficient)

* Ensure types are generated for version file

* Update doc links

* Update to remove plugin remove for builtin extensions

* Change the plugin load status back to how it was

* Fix i18n issue

* Fix translation load for built-in extensions
2025-02-07 10:38:41 +00:00
Neil MacDougall 8001967416
Extensions: Add hooks to support virtual clusters (#11064)
* Add hooks to support virtual clusters

* Fix lint issues

* Refinements

* Update for Vue 3 changes

* Fix import

* Minor tweaks

* Fix bug causing e2e tests to fail

* Fix lint issue

* Rename internal properties and ensure they don't break clone/save

* Ensure we generate types for the plugins package to give us access to mapDriver

* Simpler approach

* Fix lint issues and add type

* Remove unused code

* Revery unnecessary changes

* Bug fix for finding model extension

* Factor out string constant and add provider display method

* Add experimental to API

* Update typegen.sh to use SHELL_DIR var

* Move type def

* Fix lint issue

* Address PR feedback

* Update steve-class.js so we always get an array

* Fix type definition
2025-01-31 08:51:58 +00:00
Alexandre Alves 13496483fe
keyboard navigation for cluster badge appearance modal (#13021)
* working on key nav for cluster badge appearance

* color input is now key nav friendly + tooltip works on focus + trying to get focus trap to work properly

* remove console logs + add focus trap to card component with prop control + fix element for config badge button

* fix lint problem

* fix TS errors on pkg build

* remove step of building the skeleton app in the check-plugins-build step, which imo doesnt serve any purpose whatsoever

* add focus-trap as a shell dependency + revert publish script change

* remove focus-trap directive + improve chaining event handler modifiers

* pin focus-trap to 7.6.2 + replace link for button on cluster explorer main page + remove unused ev

* address pr comments
2025-01-24 09:33:00 +00:00
Phillip Rak 8171b5fbab Disable capi, stackstate, and harvester extension tests
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-01-21 14:03:38 -07:00
Phillip Rak 2bb17c8923 Remove neuvector from `test-plugins-build.sh`
Neuvector builds currently fail with the error

```
  ERROR  Failed to compile with 1 error5:49:49 PM

 error  in utils/common.ts:85:23

TS2694: Namespace 'dayjs' has no exported member 'ManipulateType'.
    83 |   base: string,
    84 |   interval: number,
  > 85 |   intervalUnit: dayjs.ManipulateType,
       |                       ^^^^^^^^^^^^^^
    86 |   pattern = "YYYYMMDDHHmmss"
    87 | ) {
    88 |   // base format: "YYYYMMDDHHmmss"
```

It appears that neuvector might require some updates that are unrelated to bumping Vue to 3.5.x. We will disable this test until neuvector can be patched.

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2025-01-16 14:28:43 -07:00
Jordon Leach 05462046a3
Update extension gitlab workflow node version (#13032)
* Update node and yq versions for extension gitlab workflow

* Add warning for gitlab workflow target branch
2025-01-10 08:42:45 -05:00
Richard Cox f980283813
Add server-side pagination to cluster explorer lists (#11672)
* cluster list now uses resource table

* New PaginatedResourceTable

* WIP

* add context to pag setting

* tidying up

* Add server-side pagination to cluster explorer events and general events list

* Servier-side pagination for catalog apps, cluster repo and operation

* Servier-side pagination for Service --> HPA, inmgress, services

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

* fixes after merge. apply PagResTable to node list, vue3 fixes

* - Fix issue where list components containing PaginatedResourceTables would incorrectly fetch all resources anyway
- convert reminaing storage lists

* policy section

* fix async button in manual refresh mode

* fgh

* aaaaa

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

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

* fixes / updates

* testing/tidying

* WIP - Rest of workload lists

* finish off workloads

* tidying up

* fix non-generic list filtering by namespace

* 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

* remove invalid sort/filter type

* Running through new indexed fields

* fix unit tests

* lint fixes

* Fixes after small review

* lint

* Test for check-plugin-gates pkg build from shell

* e2e fixes

* Testing new indexed fields with dev image

* tidyuing up imports in hope to fix ts error in check-plugins gate

* Fix failing check-plugin-gates
- caused by shell/scripts/test-plugins-build.sh importing list/catalog.cattle.io.clusterrepo.vue
- the component had been updated to a TS component
- check-plugin build outputs TS errors for a component file imports
- vs code shows no errors for imported file

* tidying up a smidge

* Many tweaks
- Remove final todo's
  - includes fix for service type clusterip/headless overlap
- Removed ununused ENDPOINT column (note ENDPOINT formatter used in other columns)
- Testing freshly added index fields

* Improve location of new place where componentWillFetch is set

* fix lint, comment updated

* Fix failing e2e tests
- fix cluster dashboard events test
- fix and greatly improve flaky events test
- fix hpa test
- functional fixes
  - fix sorting/filtering events by object type
  - fix hpa columns
2025-01-07 15:13:42 -07:00
Alexandre Alves 0dbb8bdc36
add harvester extension to our extensions to check with the test-plugin-build step (#12842) 2024-12-10 12:01:07 +00:00
Alexandre Alves d4e88d4e1a
fix parse-tag-name to prevent workflow from running when a tag check is not met + bump shell version (#12841) 2024-12-10 12:00:58 +00:00
Alexandre Alves c36fe42591
add missing checks for extensions that have now been migrated to vue3 (#12731)
* add missing checks for extensions that have now been migrated to vue3

* add -W flag to ignore workspace root check
2024-12-09 13:45:30 +00:00
Jordon Leach 5fe50041fc
Clean up extension creator - add rancher annotations to pkg.package.json (#12741)
Remove annotations from helm chart
2024-12-03 05:13:53 -05:00
Alexandre Alves df7e954baa
small fixes to workflow test runs (#12676)
* small fixes to workflow test runs

* move retrieve-versions script to better location

* update paths for retrieve-versions script

* fix slack messages

* fix slack messages

* fix parse-tag-name to allow for release of both catalog and charts for extensions

* add mising type definitions
2024-11-26 17:19:55 +00:00
Alexandre Alves c0e4d97dca
Create nightly tests for extension workflows in branch 'master' (#12595)
* create nightly tests for extension workflows in branch 'master' + adjustments needed for the workflows in test to be testable

* add missing script changes + add workflow to run tests against release-2.9

* add workflow to run tests against release-2.8

* adjust workflows to not use release-status output since it will never be populated as that job doesnt run in these workflow tests
2024-11-25 18:23:05 +00:00
Alexandre Alves 783ba1f9e5
re-enable extension checks for elemental and kubewarden in test-plugins-build (#12597)
* re-enable extension checks for elemental and kubewarden in test-plugins-build

* remove @rancher/shell package instead of removing the whole yarn.lock

* comment out wfs for faster pipeline runs + tweak test-plugins-build code

* comment out wfs for faster pipeline runs + tweak test-plugins-build code

* revert wfs runs that were disabled
2024-11-14 18:06:38 +00:00
Jordon Leach 72eea24b3e
Fix typegen script shell directory paths (#12211)
* Determine BASE_DIR with git rev-parse
Ensure relative shell directory is accessible
Log declaration files before combining

* Bump @rancher/shell 3.0.0-rc.6
2024-10-11 11:29:39 +01:00
Jordon Leach 8c18250f37
Fix reference to tsc binary when publishing shell (#12176)
* Fix BASE_DIR path

* Add pipefail for proper error handling
2024-10-09 09:18:43 -04:00
blackwood821 adef9c30a0
Make Extension Catalog Image Build compatible with Mac (#12122)
* Allow extensions to override node provider icons for cloud credentials

* Fixed issue where "-printf" argument of "find" command doesn't work on Mac with BSD version of find.
2024-10-07 14:44:54 +01:00
Neil MacDougall dc4390ab52
Update publish script to update existing charts (#12079) 2024-10-02 09:35:58 +01:00
Jordon Leach c171255899
Ensure @rancher/shell version using tags (#11758)
* Ensure @rancher/shell version using tags

Enable corepack for extension builds

Migrate creators outside of shell dir

Update creators path - switch to npm publish

* Add NPM_REGISTRY to publish args

* Fix creators_dir path - Bump ext package

* Add update package version function in test script

* Fix gitignore file name

* Add .yarnrc.yml for skeleton - revert node versions
2024-08-30 19:10:19 -04:00
Alexandre Alves 53a9580ccb
remove upper limit on kube version for default annotations (#11768) 2024-08-30 15:26:42 +01:00
Alexandre Alves 138601c6a6
Update publish shell workflow to allow for independent release of either shell or creators packages (#11697)
* add step for checking tag version matching + remove unused tmp_dir var + update creators version to match what was published on npm

* add missing env var + script cleanup

* updated publish-shell script to allow for independent publish of shell or creators pkgs via tag + minor changes to have it work on a PR just for testing

* update string

* update string

* update string check with sed

* revert wf and publish-shell to correct form

* address pr comments

* fix TAG export

* stringify case strings + fix publish-shell script with path for creators pkg publish

* re-trigger gates

* add check if npm tag should be pre-release
2024-08-30 14:28:53 +01:00
Alexandre Alves 91b4a3dfb3
bump upper limit of kube version annotation in default chart.yaml (#11715)
* bump upper limit of kube version annotation in default chart.yaml

* update version
2024-08-27 18:00:51 +01:00
cnotv ec73efb9f4 Check-plugin: Removing extension integration due lack of update 2024-08-22 16:09:54 -07:00
Cody Jackson e60e2e33db Updating the vue3 migration script to change how we handle modelValue. 2024-08-22 16:04:52 -07:00
Jordon Leach 21120630f7
Consolidate extension creators into one package (#11605)
* Consolidate extension creators into one package

* PR updates

* Fix test-plugins-build script to match new creator - remove dependency install step
2024-08-22 11:18:49 -04:00
Evgeniya Vashkevich 24e2718577
[INT] Added CAPI ui to the list of extensions to test (#11398) 2024-08-08 07:03:54 -07:00
Giuseppe Leo a2304f462e
Remove or replace all the @nuxt libraries (#11302)
* Update checkout to v4 and bump Node to 16

* Update GHA workflow migration paths

* Removed named exports from Vue files

* Move code outside of the Vue app element

* Remove @nuxtjs/eslint-config-typescript

* Remove @nuxt/types and @nuxt/typescript-build

* Fix import issue with http-proxy-middleware

* Replace @nuxtjs/axios with axios and axios-retry

* Remove @nuxtjs/webpack-profile

* Fix linting issues after Nuxt webpack removal

* Pin resolution for glob after rebase

* Update yarn.lock after rebase

* Fix issue with rancher-components

* Bump rancher-component GHA config to match rebase changes

* Generate yarn file

* Add dependency

* Remove nuxt global var in app template

* Pin version for babel/plugin-proposal-private-methods
2024-08-08 15:31:44 +02:00
Phillip Rak 5ac0d9da78 Use `process.cwd()` for locating eslint files
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-07-22 13:38:22 -07:00
Alexandre Alves 5e8fcc2ff9
remove rancher-components folder to prevent releasing outdated version of shell pkg on a manual release (#11331) 2024-07-03 13:57:40 +01:00
Alexandre Alves 0092617300
improve shell api gating (#11164)
* improve shell api gating

* update logic

* minor update

* populate extensions API version as latest shell version

* remove semver dependency on creators/pkg

* update script

* change

* change

* add default shell API version if there is no annotation in the metadata for gating it

* remove default for shell API in uiplugins + fix creators/pkg init script to read shell version from node_modules

* add mechanism to prevent shell pkg folder check for creators/pkg in our pipelines

* cleanup comment

* bump shell version on master
2024-07-01 13:58:08 +01:00
Nancy 374a839720
refactor extension uninstall tests (#11286)
* split extension uninstall tests by extension so retries work

* disable failing fleet test

* comment out test instead of using .skip

* stop running kubewarden-ui tests in dashboard ci
2024-06-21 14:05:45 -07:00
Giuseppe Leo c36b071e40
Remove every reference to .nuxt global option (#11265)
* Remove unused rehydratation plugin

* Remove any reference to the .nuxt folders

* Remove globalApp nuxt and any reference or use case to nuxt.error

* Replace errors handling with existing fail-whale logic
2024-06-21 11:15:05 +02:00
Jordon Leach 3b725e6200
Update gitlab pipeline with node setup (#11243) 2024-06-17 08:29:44 -04:00
Neil MacDougall 71712d84b9
Extensions: Add support for noAuth in publish script (#11220) 2024-06-13 11:15:36 +01:00
Alexandre Alves 30d9b43351
make workflows from creator pkg trigger only on tagged release + make developer load set UIPlugin as noAuth: true + remove serve catalog console log from serve-pkgs (#11216) 2024-06-13 10:26:20 +01:00
Alexandre Alves 289bef8e0f
update patch script to copy pkg annotations to uiplugin resource (#11170)
* update patch script to copy pkg annotations to uiplugin resource

* add indent notation to metadata field
2024-06-13 09:32:09 +01:00
Nancy ae24b74218
update migration script to handle .sync modifier (#11177) 2024-06-05 12:39:24 -07:00
Giuseppe Leo 696e511984
Create Vue3 migration script: upgrade libraries, configuration, syntax and tools (extension ready) (#10998)
* Add migration script and documentation

* Correct linting issue due new location of script

* Remove v-model migration due lack of emitter implementation
2024-05-11 10:05:38 +02:00