keda-docs icon indicating copy to clipboard operation
keda-docs copied to clipboard

Improve scaler catalog to be more user-friendly

Open tomkerkhove opened this issue 4 years ago • 16 comments

Over time, our scaler catalog has grown a lot over the last couple of releases where we have more than 30 of them today.

As a user, it's not that easy anymore to find the scalers you need and the navigation is not able to coop with it.

It would be good if we can:

  • Make the navigation be more user-friendly in this case
  • Integrate external scalers from the community to create a central place for all scalers (built-in or 3rd party)
  • Provide filtering on the current overview, examples are:
    • Categories (ie messaging, databases, CI/CD)
    • Cloud (Alibaba, AWS, Azure, etc.)
    • Built-in / External
    • Maintainer (ie KEDA, community, ...)
    • Support for (cluster) trigger authentication?

tomkerkhove avatar Mar 31 '21 18:03 tomkerkhove

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Oct 13 '21 18:10 stale[bot]

Do you consider this done or work-in-progress @tomkerkhove? Should it be assigned to @thisisobate?

/cc @nate-double-u

chalin avatar Aug 04 '22 12:08 chalin

No because the filtering capabilities are not there yet.

I'm OK with assigning it to @thisisobate but I'm leaving it up to your team as I don't want to push work on your team so feel free to assign how you want to.

tomkerkhove avatar Aug 04 '22 12:08 tomkerkhove

And https://github.com/kedacore/keda-docs/issues/845 & https://github.com/kedacore/keda-docs/issues/857 are also related to this one

tomkerkhove avatar Aug 04 '22 12:08 tomkerkhove

Do we consider this as done? @tomkerkhove We've fixed all related issues so I think we should close this one

thisisobate avatar Sep 13 '22 17:09 thisisobate

Not really, we are still missing this

  • Provide filtering on the current overview, examples are:

    • Categories (ie messaging, databases, CI/CD)
    • Cloud (Alibaba, AWS, Azure, etc.)
    • ~Built-in / External~
    • Maintainer (ie KEDA, community, ...)

tomkerkhove avatar Sep 13 '22 17:09 tomkerkhove

I originally thought the search bar already solves the filtering capabilities but it seems I'm wrong

thisisobate avatar Sep 13 '22 19:09 thisisobate

No, the idea is to have something similar to this: image

tomkerkhove avatar Sep 14 '22 05:09 tomkerkhove

@tomkerkhove I noticed that there are no "category" nor "cloud" label/tag in the scaler's metadata. This affects all the scaler docs for every version.

If you want to list these labels in the filter, then I would advise you open a PR that updates the docs metadata accordingly. For now, I will focus on listing just the "maintainer" label.

thisisobate avatar May 13 '24 09:05 thisisobate

We did not do this yet, because we were not sure about required format/approach.

What would be the best way to annotate scalers and can you provide a sample?

tomkerkhove avatar May 16 '24 12:05 tomkerkhove

so ideally, what is needed is to add your desired category in the front matter. For example, see how I added category = "database" to cassandra.md:

+++
title = "Cassandra"
availability = "v2.5+"
maintainer = "Community"
description = "Scale applications based on Cassandra query results."
category = "database"
go_file = "cassandra_scaler"
+++

### Trigger Specification

This specification describes the `cassandra` trigger that scales based on the outputs of a Cassandra query.

thisisobate avatar May 16 '24 21:05 thisisobate

Would these need to be pre-defined for the filtering to work or not?

@kedacore/keda-maintainers I'm fine with this, any objections?

tomkerkhove avatar May 21 '24 07:05 tomkerkhove

LGTM

zroubalik avatar May 21 '24 07:05 zroubalik

What about you @JorTurFer?

tomkerkhove avatar May 23 '24 12:05 tomkerkhove

Would these need to be pre-defined for the filtering to work or not?

Yes, it needs to be pre-defined for the filter to work properly. Like I mentioned, all that needs to be added are the "category" and "cloud" labels respectively. If there are other labels you might want to include in the filter, feel free to add it to the front matter.

I am already working on a PR that will make filtering work; all that is left is for the appropriate labels be included in the front matter

thisisobate avatar May 23 '24 13:05 thisisobate

I see it as a good improvement!

JorTurFer avatar May 26 '24 10:05 JorTurFer

I have created https://github.com/kedacore/keda-docs/issues/1401 to annotate things

tomkerkhove avatar May 30 '24 08:05 tomkerkhove

https://github.com/kedacore/keda-docs/pull/1405 was created to add the categories

tomkerkhove avatar Jun 07 '24 17:06 tomkerkhove

https://github.com/kedacore/keda-docs/pull/1405 is merged so you should be unblocked @thisisobate

tomkerkhove avatar Jun 11 '24 07:06 tomkerkhove

Would you mind documenting in https://github.com/kedacore/keda-docs/blob/main/README.md what it takes to introduce a new category? We'd prefer not to have to bother you for future ones

tomkerkhove avatar Jun 14 '24 07:06 tomkerkhove

What are you referring to as a category? If you mean the category filter option, then introducing a new category is fairly automatic; all you need to do is add the new option to the frontmatter and it's shown on the UI by default. So for example, adding "runtime" as a new category like this:

+++
title = "Keda Runtime"
availability = "v2.5+"
maintainer = "Community"
description = "Scale applications based on Cassandra query results."
category = "runtime"
go_file = "keda_runtime"
+++

### Specification

This specification describes the .........

thisisobate avatar Jun 14 '24 14:06 thisisobate

Shall we go ahead and close this since it's now completed by #1400? @tomkerkhove

thisisobate avatar Jun 14 '24 14:06 thisisobate

No, let's clarify this first.

I should not have used "category" as a word but let's say filter. As of now, we don't have one to indicate "experimental" vs "stable". If we were to add this, what are the steps to take? Can you please document that in the README?

tomkerkhove avatar Jun 14 '24 14:06 tomkerkhove

ok...that makes sense. sure, happy to do it

thisisobate avatar Jun 14 '24 14:06 thisisobate

Thank you!

tomkerkhove avatar Jun 17 '24 09:06 tomkerkhove