From dedaeeebbed4cf0a6a369ca975737a032101f820 Mon Sep 17 00:00:00 2001 From: Zbynek Roubalik Date: Fri, 13 Dec 2024 16:02:17 +0100 Subject: [PATCH] support/enterprise page refactor Signed-off-by: Zbynek Roubalik --- CONTRIBUTING.md | 12 +++- config.toml | 68 +++++++++++------- content/enterprise.md | 6 ++ content/support.md | 3 +- layouts/shortcodes/enterprise.html | 36 ++++++++++ layouts/shortcodes/support.html | 17 ----- .../logos/vendors/azure-container-apps.png | Bin 6469 -> 0 bytes .../vendors/azure-kubernetes-service.png | Bin 4627 -> 0 bytes static/img/logos/vendors/microsoft-azure.png | Bin 0 -> 17911 bytes 9 files changed, 94 insertions(+), 48 deletions(-) create mode 100644 content/enterprise.md create mode 100644 layouts/shortcodes/enterprise.html delete mode 100644 layouts/shortcodes/support.html delete mode 100644 static/img/logos/vendors/azure-container-apps.png delete mode 100644 static/img/logos/vendors/azure-kubernetes-service.png create mode 100644 static/img/logos/vendors/microsoft-azure.png diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8068d73d1..1c4e3f436 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -56,7 +56,7 @@ Here's a good example of [Coralogix becoming a listed user](https://github.com/k ### Become a listed KEDA commercial offering! -Do you offer commercial support for KEDA and want to become a [listed commercial offering](https://keda.sh/support/#commercial-support)? Say no more! +Do you offer commercial support for KEDA and want to become a [listed commercial offering](https://keda.sh/enterprise)? Say no more! You can easily get listed by following these steps: @@ -65,8 +65,14 @@ You can easily get listed by following these steps: ```toml [[params.vendors]] -url = "https://cloud.redhat.com/blog/custom-metrics-autoscaler-on-openshift" -logo = "red-hat.png" +name = "Red Hat" +logo = "vendors/red-hat.png" +description = """ +Red Hat integrates KEDA with OpenShift through the **Custom Metrics Autoscaler** (CMA) available through the OpenShift Marketplace. +""" +urls = [ + { text = "Learn more about the CMA", url = "https://cloud.redhat.com/blog/custom-metrics-autoscaler-on-openshift" } +] ``` ### Adding blog post diff --git a/config.toml b/config.toml index 1a6799df1..e3e5e247e 100644 --- a/config.toml +++ b/config.toml @@ -274,34 +274,34 @@ name = "Project" identifier = "project" weight = 4 +[[menu.main]] +url = "/support/" +name = "Support" +parent = "project" +weight = 1 + [[menu.main]] url = "https://github.com/cncf/foundation/blob/master/code-of-conduct.md" name = "Code of Conduct" parent = "project" -weight = 1 +weight = 2 [[menu.main]] url = "https://github.com/kedacore/keda/blob/main/CHANGELOG.md" name = "Changelog" parent = "project" -weight = 2 +weight = 3 [[menu.main]] url = "https://github.com/kedacore/governance/blob/main/GOVERNANCE.md" name = "Governance" parent = "project" -weight = 3 +weight = 4 [[menu.main]] url = "https://github.com/kedacore/keda/blob/main/ROADMAP.md" name = "Roadmap" parent = "project" -weight = 4 - -[[menu.main]] -url = "/support/" -name = "Support" -parent = "project" weight = 5 [[menu.main]] @@ -347,8 +347,8 @@ parent = "project" weight = 12 [[menu.main]] -url = "/support/" -name = "Support" +url = "/enterprise/" +name = "Enterprise" weight = 5 # "Features" section on the main page @@ -648,23 +648,39 @@ logo = "snyk.png" url = "https://vexxhost.com" logo = "vexxhost.png" -# "Commercial support" section on the support page +# Enterprise page, sorted alphabetically by name of the vendor [[params.vendors]] -name = "Azure Container Apps" -url = "https://docs.microsoft.com/en-us/azure/container-apps/scale-app" -logo = "vendors/azure-container-apps.png" - -[[params.vendors]] -name = "Custom Metrics Autoscaler on Red Hat OpenShift" -url = "https://cloud.redhat.com/blog/custom-metrics-autoscaler-on-openshift" -logo = "vendors/red-hat.png" +name = "Kedify" +logo = "vendors/kedify.png" +description = """ +Kedify offers an enteprise autoscaling solution on Kubernetes based on KEDA, providing: +- Additional scalers and features including a **production grade HTTP Scaler** +- Secure KEDA builds with upates and patches with enterprise support +- Dashboard to support management and monitoring across multiple clusters +""" +urls = [ + { text = "Visit Kedify website for more details", url = "https://kedify.io/?utm_source=keda_oss_site" } +] [[params.vendors]] -name = "KEDA Add-On for Azure Kubernetes Service" -url = "https://docs.microsoft.com/en-us/azure/aks/keda-about" -logo = "vendors/azure-kubernetes-service.png" +name = "Microsoft" +logo = "vendors/microsoft-azure.png" +description = """ +Microsoft provides multiple solutions integrated with KEDA: +- **Azure Container Apps**: Allows you to deploy microservices that automatically scale based on KEDA. +- **KEDA Add-On for Azure Kubernetes Service**: Plugin for straightforward installation on Azure Kubernetes Service. +""" +urls = [ + { text = "Azure Container Apps", url = "https://docs.microsoft.com/en-us/azure/container-apps/scale-app" }, + { text = "AKS KEDA Add-On", url = "https://docs.microsoft.com/en-us/azure/aks/keda-about" } +] [[params.vendors]] -name = "Kedify" -url = "https://kedify.io/?utm_source=keda_oss_site" -logo = "vendors/kedify.png" +name = "Red Hat" +logo = "vendors/red-hat.png" +description = """ +Red Hat integrates KEDA with OpenShift through the **Custom Metrics Autoscaler** (CMA) available through the OpenShift Marketplace. +""" +urls = [ + { text = "Learn more about the CMA", url = "https://cloud.redhat.com/blog/custom-metrics-autoscaler-on-openshift" } +] diff --git a/content/enterprise.md b/content/enterprise.md new file mode 100644 index 000000000..5f006b0fa --- /dev/null +++ b/content/enterprise.md @@ -0,0 +1,6 @@ ++++ +title = "Enterprise" +description = "Enterprise and commercially supported solutions based on KEDA" ++++ + +{{< enterprise >}} diff --git a/content/support.md b/content/support.md index f6996a9d9..c47f73341 100644 --- a/content/support.md +++ b/content/support.md @@ -13,6 +13,5 @@ Learn more in our [support policy](https://github.com/kedacore/governance/blob/m Kubernetes compatibility is described in the [documentation](https://keda.sh/docs/latest/operate/cluster/#kubernetes-compatibility). ## Commercial support -Here's an overview of all vendors that provide KEDA as part of their offering/product and provide support for it: -{{< support >}} +Please refer to [Enterprise page](enterprise) for details on commercial supported solutions based on KEDA. diff --git a/layouts/shortcodes/enterprise.html b/layouts/shortcodes/enterprise.html new file mode 100644 index 000000000..803919400 --- /dev/null +++ b/layouts/shortcodes/enterprise.html @@ -0,0 +1,36 @@ +{{ $vendors := site.Params.vendors }} +
+ {{ range $vendors }} +
+
+
+ +
+ {{ .name }} +
+ +
+ {{ .description | markdownify }} +
+
+ +
+ {{ range .urls }} + {{ .text }} + {{ end }} +
+
+
+
+ {{ end }} +
+ + +
+ \ No newline at end of file diff --git a/layouts/shortcodes/support.html b/layouts/shortcodes/support.html deleted file mode 100644 index a198cb232..000000000 --- a/layouts/shortcodes/support.html +++ /dev/null @@ -1,17 +0,0 @@ -{{ $companies := site.Params.vendors }} -
- {{ range $companies }} - {{ $logo := printf "img/logos/%s" .logo | relURL }} -
- - - -

{{ .name }}

-
- {{ end }} -
- diff --git a/static/img/logos/vendors/azure-container-apps.png b/static/img/logos/vendors/azure-container-apps.png deleted file mode 100644 index feeb906a67d791f125e1162e95bb78148b1c4d6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6469 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 diff --git a/static/img/logos/vendors/microsoft-azure.png b/static/img/logos/vendors/microsoft-azure.png new file mode 100644 index 0000000000000000000000000000000000000000..2c537677958a25e1a9917f0e2f273af4c4a890e5 GIT binary patch literal 17911 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 kD5#YG|65=3T