artifacthub / hub

Find, install and publish Cloud Native packages
https://artifacthub.io
Apache License 2.0
1.69k stars 231 forks source link

New resource type Knative Client Plugin #2714

Closed dsimansk closed 1 year ago

dsimansk commented 1 year ago

Hi folks,

I'm Client WG lead in Knative project. Currently I'm looking at adding Knative Client CLI kn plugins to the Artifact Hub. In a nutshell they're similar to kubectl plugins, executable binary added to $PATH with a specific name to be recognized by kn. We don't leverage krew a delivery/download mechanism, only Homebrew and GH releases for now.

We have a set of curated plugins under Knative Sandbox org with kn-plugin-* name pattern. I went through KEDA scalers issues, it seems quiet similar to our needs. My assumption is that adding generic type with install instructions for homebrew and pointer to Github release page should be sufficient for our needs.

Knative Client: https://github.com/knative/client Plugin example: https://github.com/knative-sandbox/kn-plugin-source-kafka Homebrew tap: https://github.com/knative-sandbox/homebrew-kn-plugins

  1. Would it be possible to have "Knative Client Plugin" as a type? Should it be rather specific name? Or more generic e.g. only "Knative"?

    • In the future there might be ask for additional type of resources, e.g. "Knative Eventing Source"
  2. There's a plan to capture different Knative metadata in a specific repository e.g. knative-sandbox/catalog (doesn't exist yet)? Is it a good place to start with artifacthub-pkg.yml for our curated plugins for auto indexing? Hence external plugins can be listed

tegioz commented 1 year ago

Hi @dsimansk 👋

Adding Knative plugins to Artifact Hub sounds great! 🙂

  1. If you have plans to eventually add more Knative types, I think it'd be better to use a specific name like "Knative Client Plugin" for this kind.

  2. Yes, you can start preparing the artifacthub-pkg.yml files. If you'd like us to collect some specific data for this new kind please let us know (like we did recently for Kyverno policies). We can also display some of that information in the right column of the package view. For more details about the metadata structure, you can see the Kyverno policies repositories document as it'd be mostly the same. You can also check how other projects are organizing the Artifact Hub metadata for inspiration:

We'll probably have this ready by next week, we'll keep you posted!

dsimansk commented 1 year ago

@tegioz thanks sounds great to me! :) I'll go through the links to get familiar with the metadata. :)

tegioz commented 1 year ago

This is ready @dsimansk! You can see a sample package in action at staging 🙂

knative