This message was deleted.
# extensions
a
This message was deleted.
b
Hello @damp-agent-26487. Can you share with me the output of
index.yaml
that should be on the root of your
gh-pages
branch, please? What you are saying is that after you’ve added the repo (with the correct branch) you cannot see it on the extension cards screen? Also, have you tried refreshing the chart after it was added and it still doesn’t work? (check screenshot)
d
sorry I forgot to share my repo
Copy code
apiVersion: v1
entries:
  kubearmor:
  - annotations:
      <http://catalog.cattle.io/certified|catalog.cattle.io/certified>: rancher
      <http://catalog.cattle.io/kube-version|catalog.cattle.io/kube-version>: '>= 1.16.0-0 < 1.29.0-0'
      catalog.cattle.io/namespace: cattle-ui-plugin-system
      catalog.cattle.io/os: linux
      catalog.cattle.io/permits-os: linux, windows
      catalog.cattle.io/rancher-version: '>= v2.8.4'
      <http://catalog.cattle.io/scope|catalog.cattle.io/scope>: management
      <http://catalog.cattle.io/ui-component|catalog.cattle.io/ui-component>: plugins
    apiVersion: v2
    appVersion: 0.1.0
    created: "2024-06-07T06:41:57.864786096Z"
    description: kubearmor plugin
    digest: ff0fd7c4f5317fa8f70bcbe57637936b28453353addcdc68520a7e2c8681d524
    name: kubearmor
    type: application
    urls:
    - assets/kubearmor/kubearmor-0.1.0.tgz
    version: 0.1.0
generated: "2024-06-07T06:41:57.864104584Z"
I refreshed it during all my attempts but the extension failed to show up
is this happening because of "catalog.cattle.io/rancher-version: '>= v2.8.4'" ? because I am using v2.8.2
b
you are correct. That is the problem. The Rancher backend excludes all the versions that don’t meet the condition of
<http://catalog.cattle.io/rancher-version|catalog.cattle.io/rancher-version>
. That’s why even in the network request you won’t see it. I’ve spent so many hours doing debugging because of that 😅 I’ll never forget it now. On the file
pkg/kubearmor/package.json
you can do this: https://extensions.rancher.io/extensions/extensions-configuration#configurable-annotations That will override the annotation to match whatever you’ll need. I recommend that you clean the
gh-pages
branch and delete the tag you’ve created, then re-do the tagging after you’ve updated the file with the annotation on
pkg/kubearmor/package.json
🙏 1
d
Finally its working😁. Thank you so much @busy-ability-54059 for making the video and helping me out with this issue. I also spent 2 days figuring out what was wrong? Was it the rancher instance or the code😅
🫡 1
I will add a comment in the video so that people dont have to go through what you and I went through
👍 1
🙏 1
Hello @busy-ability-54059, I want to create the installation page for my extension's operator but I am having difficulty finding a guide or documentation for it. Can you give me some resources?
I want to make the extension a cluster level one like kubewarden
b
Hello @damp-agent-26487 👋 Both Elemental and Kubewarden extensions have operator installation step(s). Difference is that Elemental is only 1 step and Kubewarden is multi-step. We don’t have any “boilerplate” for this right now (although it’s on our radar to provide one for the developers so that there’s a unified experience and UX to this). With that in mind I recommend you check these sources: Elemental -> https://github.com/rancher/elemental-ui/blob/main/pkg/elemental/components/InstallView.vue component Kubewarden -> https://github.com/rancher/kubewarden-ui/blob/main/pkg/kubewarden/components/InstallWizard.vue component Also check their usage in their respective projects (just clone the projects locally and browse through them using your IDE) so that you get a better sense on how they are connected through their own flow. Bear in mind that Kubewarden is a cluster-level product (more in line of what you’re looking for) and Elemental is a top-level product. The main difference is the communication to the
cluster
store rather than the
management
store for a top-level product. You may find the Elemental one simpler to understand, despite not communicating with the store you want. Hope this helps 🙏