keda-docs
keda-docs copied to clipboard
Improve scaler catalog to be more user-friendly
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?
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.
Do you consider this done or work-in-progress @tomkerkhove? Should it be assigned to @thisisobate?
/cc @nate-double-u
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.
And https://github.com/kedacore/keda-docs/issues/845 & https://github.com/kedacore/keda-docs/issues/857 are also related to this one
Do we consider this as done? @tomkerkhove We've fixed all related issues so I think we should close this one
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, ...)
I originally thought the search bar already solves the filtering capabilities but it seems I'm wrong
No, the idea is to have something similar to this:

@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.
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?
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.
Would these need to be pre-defined for the filtering to work or not?
@kedacore/keda-maintainers I'm fine with this, any objections?
LGTM
What about you @JorTurFer?
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
I see it as a good improvement!
I have created https://github.com/kedacore/keda-docs/issues/1401 to annotate things
https://github.com/kedacore/keda-docs/pull/1405 was created to add the categories
https://github.com/kedacore/keda-docs/pull/1405 is merged so you should be unblocked @thisisobate
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
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 .........
Shall we go ahead and close this since it's now completed by #1400? @tomkerkhove
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?
ok...that makes sense. sure, happy to do it
Thank you!