adamant-kite-43734
05/27/2025, 10:28 PMbusy-ability-54059
05/28/2025, 3:11 PMlocal cluster - deployments - rancher (click to see the details page).
On this details page, there are 3 pods, for which you can check the logs (table action on 3 dotted menu, right hand side). One of those should contains some logs from the backend part.
Also, check the resource UIPlugins (go to the header, resource search icon, search for UIPlugins ). Extension assets should be cached. If they are not, then there might be a problemgifted-breakfast-73755
05/28/2025, 5:08 PMtriton extension I deployed to our rancher instance via the Rancher UI but I still see stuff on the backend:
ubuntu@rancher:~$ sudo docker exec -it rancher bash
bash-4.4# kubectl -n cattle-ui-plugin-system get all
NAME READY STATUS RESTARTS AGE
pod/rancher-extension-triton-545dbc59fb-7h6q9 1/1 Running 251 (9h ago) 237d
pod/ui-plugin-operator-7d6f75cc-tjhgk 1/1 Running 470 (9h ago) 237d
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/rancher-extension-triton-svc ClusterIP 10.43.45.146 <none> 8080/TCP 237d
service/ui-plugin-operator ClusterIP 10.43.191.192 <none> 80/TCP 279d
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/rancher-extension-triton 1/1 1 1 237d
deployment.apps/ui-plugin-operator 1/1 1 1 279d
NAME DESIRED CURRENT READY AGE
replicaset.apps/rancher-extension-triton-545dbc59fb 1 1 1 237d
replicaset.apps/rancher-extension-triton-7dfbc4bb6d 0 0 0 237d
replicaset.apps/rancher-extension-triton-9b6bf5b4 0 0 0 237d
replicaset.apps/ui-plugin-operator-7d6f75cc 1 1 1 279d
Could that be causing problems with doing a developer load on a new version of the same extension? Do we need to manually delete the triton resources above?gifted-breakfast-73755
05/28/2025, 5:09 PMkubectl -n cattle-ui-plugin-system logs deploy/ui-plugin-operator , kubectl -n cattle-ui-plugin-system logs pod/ui-plugin-operator-7d6f75cc-tjhgk, etc.gifted-breakfast-73755
05/28/2025, 5:15 PMbash-4.4# kubectl -n cattle-ui-plugin-system logs pod/ui-plugin-operator-7d6f75cc-tjhgk
time="2025-05-28T07:09:48Z" level=info msg="No access to list CRDs, assuming CRDs are pre-created."
I0528 07:09:48.753592 1 leaderelection.go:248] attempting to acquire leader lease cattle-ui-plugin-system/plugin-operator-lock...
I0528 07:09:48.887147 1 leaderelection.go:258] successfully acquired lease cattle-ui-plugin-system/plugin-operator-lock
E0528 07:09:49.308883 1 memcache.go:206] couldn't get resource list for <http://ext.cattle.io/v1|ext.cattle.io/v1>: the server is currently unable to handle the request
E0528 07:09:49.326903 1 memcache.go:104] couldn't get resource list for <http://ext.cattle.io/v1|ext.cattle.io/v1>: the server is currently unable to handle the request
time="2025-05-28T07:09:49Z" level=info msg="All controllers have been started"
time="2025-05-28T07:09:49Z" level=info msg="Starting <http://catalog.cattle.io/v1|catalog.cattle.io/v1>, Kind=UIPlugin controller"
bash-4.4#gifted-breakfast-73755
05/28/2025, 5:20 PMbash-4.4# kubectl get apiservices | grep <http://ext.cattle.io|ext.cattle.io>
<http://v1.ext.cattle.io|v1.ext.cattle.io> cattle-system/imperative-api-extension False (MissingEndpoints) 7d20hbusy-ability-54059
05/28/2025, 5:21 PMbusy-ability-54059
05/28/2025, 5:21 PMgifted-breakfast-73755
05/28/2025, 5:21 PMbusy-ability-54059
05/28/2025, 5:22 PMgifted-breakfast-73755
05/28/2025, 5:22 PMgifted-breakfast-73755
05/28/2025, 5:23 PMcattle-system/imperative-api-extension error above is relatedbusy-ability-54059
05/28/2025, 5:23 PMbusy-ability-54059
05/28/2025, 5:24 PMgifted-breakfast-73755
05/28/2025, 5:24 PMcattle-ui-plugin-system namespace since the uninstall through the UI didn't remove thembusy-ability-54059
05/28/2025, 5:24 PMbusy-ability-54059
05/28/2025, 5:25 PMgifted-breakfast-73755
05/28/2025, 5:25 PMbusy-ability-54059
05/28/2025, 5:25 PMgifted-breakfast-73755
05/28/2025, 5:25 PMkubectl get apiservices | grep <http://ext.cattle.io|ext.cattle.io> on your rancher instance?busy-ability-54059
05/28/2025, 5:25 PMgifted-breakfast-73755
05/28/2025, 5:25 PMbusy-ability-54059
05/28/2025, 5:27 PMbusy-ability-54059
05/28/2025, 5:32 PM<https://github.com/rancher/elemental-ui> branch gh-pages add this repo to Rancher
as an example of a working, triple checked extension (Elemental), version 3.x.x needs to install fine.busy-ability-54059
05/28/2025, 6:32 PMcool-jewelry-75805
05/28/2025, 6:34 PMgifted-breakfast-73755
05/28/2025, 6:37 PMkubectl -n cattle-ui-plugin-system get all didn't show any resources for that extension like it does for our triton extension. I'm wondering if that's because of a change in the backend extension handling or if it's because the extensions are published differently. We use the Manually Publishing an Extension Catalog Image method.busy-ability-54059
05/28/2025, 7:00 PMgh-pages . You should enable thatgifted-breakfast-73755
05/28/2025, 7:07 PMbusy-ability-54059
05/28/2025, 7:21 PMbusy-ability-54059
05/29/2025, 11:02 AM{
"name": "rancher-extension-triton",
"version": "0.1.0",
"private": false,
"engines": {
"node": ">=20"
},
"dependencies": {
"<@UEZURRJ3B>/shell": "^3.0.1-rc.4"
},
"resolutions": {
"@types/node": "~20.10.0",
"@types/lodash": "4.17.5"
},
"scripts": {
"dev": "NODE_ENV=dev ./node_modules/.bin/vue-cli-service serve",
"build": "./node_modules/.bin/vue-cli-service build",
"clean": "./node_modules/<@UEZURRJ3B>/shell/scripts/clean",
"build-pkg": "./node_modules/<@UEZURRJ3B>/shell/scripts/build-pkg.sh",
"serve-pkgs": "./node_modules/<@UEZURRJ3B>/shell/scripts/serve-pkgs",
"publish-pkgs": "./node_modules/<@UEZURRJ3B>/shell/scripts/extension/publish",
"parse-tag-name": "./node_modules/<@UEZURRJ3B>/shell/scripts/extension/parse-tag-name"
}
}
pkg/triton/package.json
{
"name": "triton",
"label": "Triton",
"description": "Triton plugin",
"icon": "./triton.svg",
"version": "0.1.0",
"private": false,
"rancher": {
"annotations": {
"<http://catalog.cattle.io/kube-version|catalog.cattle.io/kube-version>": ">= 1.16.0-0",
"<http://catalog.cattle.io/rancher-version|catalog.cattle.io/rancher-version>": ">= 2.10.0-0",
"<http://catalog.cattle.io/ui-extensions-version|catalog.cattle.io/ui-extensions-version>": ">= 3.0.0 < 4.0.0",
"catalog.cattle.io/ui-version": ">= 2.7.2"
}
},
"scripts": {
"dev": "./node_modules/.bin/nuxt dev",
"nuxt": "./node_modules/.bin/nuxt"
},
"engines": {
"node": ">=12"
},
"devDependencies": {
"@vue/cli-plugin-babel": "5.0.8",
"@vue/cli-service": "5.0.8",
"@vue/cli-plugin-typescript": "5.0.8"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}
cleared the node_modules (make sure you’re running node v20 - mine is v20.17.0) and do yarn install .
then build it, yarn build-pkg triton and serve it yarn serve-pkgs .
Once I added the node driver with the correct download url <https://github.com/vrcis/docker-machine-driver-triton/releases/download/v1.0.5-rke2/docker-machine-driver-triton> , I could see the card to provision and see the cloud creds screen
Once you’ve migrated your extension, might I tempt you guys to add to our community catalog on this page? You can open a PR like https://github.com/rancher/dashboard/pull/13973/filesbusy-ability-54059
05/29/2025, 1:35 PMgh-pages , you can just do a tag and target the correct branch you want to build. Ofc each branch has a slightly modified version of the workflow https://github.com/rancher/elemental-ui - branches release-2.8.x , release-2.9.x and main )cool-jewelry-75805
05/29/2025, 5:08 PMnode_modules and making the changes you had suggested above. At first it didn’t work, and I had thought maybe there was more to do to get it working on Rancher v2.11.1. However, it turns out having yarn.lock with it’s previous changes had caused some issues - after git checkout HEAD yarn.lock, cleaning up node_modules again, I was able to rebuild, serve and successfully Developer Load the extension and see it working.gifted-breakfast-73755
05/29/2025, 5:12 PMgifted-breakfast-73755
05/29/2025, 5:14 PMbusy-ability-54059
05/29/2025, 5:22 PMcommunity part https://extensions.rancher.io/extensions/next/cataloggifted-breakfast-73755
05/29/2025, 5:30 PMvCloud Director UI is the only contributed community extension so far?busy-ability-54059
05/29/2025, 5:48 PMbusy-ability-54059
05/29/2025, 5:48 PMgifted-breakfast-73755
05/29/2025, 7:39 PMbusy-ability-54059
05/29/2025, 8:29 PMcool-jewelry-75805
05/29/2025, 8:42 PMbusy-ability-54059
05/30/2025, 1:22 PMgh-pages branch (totally empty) and tag the release again? Let’s see how that goesgifted-breakfast-73755
05/30/2025, 1:29 PMgh-pages branch has all the same content as the main branch so maybe @cool-jewelry-75805 created it from the main branch but it's supposed to be empty, right?busy-ability-54059
05/30/2025, 2:19 PMgh-pages which I think it shouldn’t 😛 maybe starting empty will clear themgifted-breakfast-73755
05/30/2025, 6:26 PMcool-jewelry-75805
05/30/2025, 6:26 PMcool-jewelry-75805
05/30/2025, 6:37 PMgh-pages as an empty branch.cool-jewelry-75805
05/30/2025, 7:03 PMmain (I may have been able to change it to use the tag but had missed that). After deleting and recreating the release it built successfully.gifted-breakfast-73755
05/30/2025, 7:06 PMcool-jewelry-75805
05/30/2025, 7:48 PMgh-pages branch as a repository, and our extension shows up as one to install, but after installing and reloading the page it shows An error occurred loading the code for this Extension for the extension.
Edit: After some time, the error message has now gone away and the extension is working as intended. Weird.
Edit 2: now that it’s working, I’ve discovered that the UI icon is showing on the Create Cluster page but not on the extensions page. Did I miss something to have the icon showing in both places?busy-ability-54059
06/02/2025, 9:04 AMgifted-breakfast-73755
06/03/2025, 12:31 PM