From dbe33a2624338fe74540886eb9de2c3f40a44bd9 Mon Sep 17 00:00:00 2001 From: Lars Francke Date: Tue, 21 Jul 2026 13:43:06 +0200 Subject: [PATCH 1/3] docs: Add page descriptions to the Kubernetes, concepts and guides pages 27 pages had no :description: attribute, so search engines and the generated llms.txt fall back to nothing or the raw title. Skipped on purpose: modules/concepts/pages/stackable_resource_requests.adoc is an include target published as a page; a :description: entry there would leak into every including page and override their descriptions. --- modules/ROOT/pages/kubernetes/aks.adoc | 1 + modules/ROOT/pages/kubernetes/eks.adoc | 1 + modules/ROOT/pages/kubernetes/gke.adoc | 1 + modules/ROOT/pages/kubernetes/huawei-cloud.adoc | 1 + modules/ROOT/pages/kubernetes/ibm-cloud.adoc | 1 + .../ROOT/pages/kubernetes/ionos-managed-k8s.adoc | 1 + .../pages/kubernetes/ionos-managed-stackable.adoc | 1 + modules/ROOT/pages/kubernetes/k0s.adoc | 1 + modules/ROOT/pages/kubernetes/kind.adoc | 1 + modules/ROOT/pages/kubernetes/microk8s.adoc | 1 + modules/ROOT/pages/kubernetes/oke.adoc | 1 + modules/ROOT/pages/kubernetes/openshift.adoc | 1 + modules/ROOT/pages/kubernetes/ovh-mks.adoc | 1 + modules/ROOT/pages/kubernetes/plusserver.adoc | 1 + modules/ROOT/pages/kubernetes/ske.adoc | 1 + modules/ROOT/pages/kubernetes/suse-k3s.adoc | 1 + modules/ROOT/pages/kubernetes/suse-rancher.adoc | 1 + modules/ROOT/pages/kubernetes/vmware_tanzu.adoc | 1 + modules/ROOT/pages/release-guide.adoc | 2 +- modules/compliance/pages/cra.adoc | 1 + modules/concepts/pages/maintenance/crds.adoc | 1 + modules/concepts/pages/maintenance/eos.adoc | 1 + .../pages/observability/containerdebug.adoc | 1 + .../concepts/pages/observability/telemetry.adoc | 1 + ...ploy-operators-and-csi-drivers-separately.adoc | 1 + modules/guides/pages/index.adoc | 1 + modules/internal/pages/personas.adoc | 15 ++++++++------- 27 files changed, 34 insertions(+), 8 deletions(-) diff --git a/modules/ROOT/pages/kubernetes/aks.adoc b/modules/ROOT/pages/kubernetes/aks.adoc index 377a6c99d..d082b97bb 100644 --- a/modules/ROOT/pages/kubernetes/aks.adoc +++ b/modules/ROOT/pages/kubernetes/aks.adoc @@ -1,4 +1,5 @@ = Azure Kubernetes Service (AKS) +:description: Steps to create an Azure Kubernetes Service (AKS) cluster for the Stackable Data Platform, including node pool, network and inbound traffic settings. https://azure.microsoft.com/en-us/products/kubernetes-service[https://azure.microsoft.com/en-us/products/kubernetes-service{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/eks.adoc b/modules/ROOT/pages/kubernetes/eks.adoc index 9dbd6935f..875ecdf8d 100644 --- a/modules/ROOT/pages/kubernetes/eks.adoc +++ b/modules/ROOT/pages/kubernetes/eks.adoc @@ -1,4 +1,5 @@ = Amazon Elastic Kubernetes Service (EKS) +:description: Run the Stackable Data Platform on Amazon Elastic Kubernetes Service (EKS). Make sure a default StorageClass is set so PVCs are provisioned. https://aws.amazon.com/eks/[https://aws.amazon.com/eks/{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/gke.adoc b/modules/ROOT/pages/kubernetes/gke.adoc index 841f5196b..7870156c0 100644 --- a/modules/ROOT/pages/kubernetes/gke.adoc +++ b/modules/ROOT/pages/kubernetes/gke.adoc @@ -1,4 +1,5 @@ = Google Kubernetes Engine (GKE) +:description: Run the Stackable Data Platform on Google Kubernetes Engine (GKE). Autopilot clusters are not supported because the secret-operator needs special privileges. https://cloud.google.com/kubernetes-engine[https://cloud.google.com/kubernetes-engine{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/huawei-cloud.adoc b/modules/ROOT/pages/kubernetes/huawei-cloud.adoc index ba529b9b4..47ff9ca5b 100644 --- a/modules/ROOT/pages/kubernetes/huawei-cloud.adoc +++ b/modules/ROOT/pages/kubernetes/huawei-cloud.adoc @@ -1,4 +1,5 @@ = Huawei Cloud Container Engine (CCE) +:description: Run the Stackable Data Platform on Huawei Cloud Container Engine (CCE). The non-standard Kubelet state directory requires special operator setup. https://www.huaweicloud.com/intl/en-us/product/cce.html[https://www.huaweicloud.com/intl/en-us/product/cce.html{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/ibm-cloud.adoc b/modules/ROOT/pages/kubernetes/ibm-cloud.adoc index 9685cee0e..b11d835d0 100644 --- a/modules/ROOT/pages/kubernetes/ibm-cloud.adoc +++ b/modules/ROOT/pages/kubernetes/ibm-cloud.adoc @@ -1,4 +1,5 @@ = IBM Cloud Kubernetes Service +:description: Run the Stackable Data Platform on IBM Cloud Kubernetes Service. The non-standard Kubelet state directory requires special operator setup. https://www.ibm.com/products/kubernetes-service[https://www.ibm.com/products/kubernetes-service{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/ionos-managed-k8s.adoc b/modules/ROOT/pages/kubernetes/ionos-managed-k8s.adoc index 76026d515..631e7f3da 100644 --- a/modules/ROOT/pages/kubernetes/ionos-managed-k8s.adoc +++ b/modules/ROOT/pages/kubernetes/ionos-managed-k8s.adoc @@ -1,4 +1,5 @@ = IONOS managed Kubernetes +:description: Set up IONOS managed Kubernetes for the Stackable Data Platform. Create a cluster and node pool and download the kubeconfig; no special steps are needed. https://cloud.ionos.com/managed/kubernetes[https://cloud.ionos.com/managed/kubernetes{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/ionos-managed-stackable.adoc b/modules/ROOT/pages/kubernetes/ionos-managed-stackable.adoc index 45b0a8f7f..bffc7cbd2 100644 --- a/modules/ROOT/pages/kubernetes/ionos-managed-stackable.adoc +++ b/modules/ROOT/pages/kubernetes/ionos-managed-stackable.adoc @@ -1,4 +1,5 @@ = IONOS managed Stackable +:description: Overview of Managed Stackable, the managed Stackable Data Platform offering from IONOS Cloud. https://cloud.ionos.com/managed/managed-stackable[https://cloud.ionos.com/managed/managed-stackable{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/k0s.adoc b/modules/ROOT/pages/kubernetes/k0s.adoc index 79b315603..374444f86 100644 --- a/modules/ROOT/pages/kubernetes/k0s.adoc +++ b/modules/ROOT/pages/kubernetes/k0s.adoc @@ -1,4 +1,5 @@ = k0s +:description: Run the Stackable Data Platform on k0s. The non-standard Kubelet state directory requires special secret-operator and listener-operator setup. https://k0sproject.io/[https://k0sproject.io/{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/kind.adoc b/modules/ROOT/pages/kubernetes/kind.adoc index 6b00adc46..b05a7f70b 100644 --- a/modules/ROOT/pages/kubernetes/kind.adoc +++ b/modules/ROOT/pages/kubernetes/kind.adoc @@ -1,3 +1,4 @@ = kind +:description: Notes on running the Stackable Data Platform on kind. https://kind.sigs.k8s.io/[https://kind.sigs.k8s.io/{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/microk8s.adoc b/modules/ROOT/pages/kubernetes/microk8s.adoc index 2e143cc25..5a7b71cbf 100644 --- a/modules/ROOT/pages/kubernetes/microk8s.adoc +++ b/modules/ROOT/pages/kubernetes/microk8s.adoc @@ -1,4 +1,5 @@ = Microk8s +:description: Run the Stackable Data Platform on Microk8s. The non-standard Kubelet state directory requires special secret-operator and listener-operator setup. https://microk8s.io/[https://microk8s.io/{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/oke.adoc b/modules/ROOT/pages/kubernetes/oke.adoc index 2053a33f1..b361a230f 100644 --- a/modules/ROOT/pages/kubernetes/oke.adoc +++ b/modules/ROOT/pages/kubernetes/oke.adoc @@ -1,3 +1,4 @@ = Oracle Kubernetes Engine (OKE) +:description: Notes on running the Stackable Data Platform on Oracle Kubernetes Engine (OKE). https://www.oracle.com/cloud/cloud-native/kubernetes-engine/[https://www.oracle.com/cloud/cloud-native/kubernetes-engine/{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/openshift.adoc b/modules/ROOT/pages/kubernetes/openshift.adoc index f5a726751..b367946c6 100644 --- a/modules/ROOT/pages/kubernetes/openshift.adoc +++ b/modules/ROOT/pages/kubernetes/openshift.adoc @@ -1,4 +1,5 @@ = Red Hat OpenShift +:description: Run the Stackable Data Platform on Red Hat OpenShift. Covers certified operators from the OperatorHub, Subscription customization and security context constraints. https://www.redhat.com/en/technologies/cloud-computing/openshift[https://www.redhat.com/en/technologies/cloud-computing/openshift{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/ovh-mks.adoc b/modules/ROOT/pages/kubernetes/ovh-mks.adoc index 226cdb383..3084b8a06 100644 --- a/modules/ROOT/pages/kubernetes/ovh-mks.adoc +++ b/modules/ROOT/pages/kubernetes/ovh-mks.adoc @@ -1,4 +1,5 @@ = OVH Managed Kubernetes Service (MKS) +:description: The Stackable Data Platform installs on OVH Managed Kubernetes Service out of the box; the ephemeral-nodes ListenerClass preset is recommended. https://www.ovhcloud.com/en/public-cloud/kubernetes/[https://www.ovhcloud.com/en/public-cloud/kubernetes/{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/plusserver.adoc b/modules/ROOT/pages/kubernetes/plusserver.adoc index 0174c3473..a31cfd368 100644 --- a/modules/ROOT/pages/kubernetes/plusserver.adoc +++ b/modules/ROOT/pages/kubernetes/plusserver.adoc @@ -1,3 +1,4 @@ = plusserver Kubernetes as a Service +:description: Notes on running the Stackable Data Platform on plusserver Kubernetes as a Service. https://www.plusserver.com/en/product/managed-kubernetes/[https://www.plusserver.com/en/product/managed-kubernetes/{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/ske.adoc b/modules/ROOT/pages/kubernetes/ske.adoc index f88f72bbb..3e5df183e 100644 --- a/modules/ROOT/pages/kubernetes/ske.adoc +++ b/modules/ROOT/pages/kubernetes/ske.adoc @@ -1,4 +1,5 @@ = STACKIT Kubernetes Engine (SKE) +:description: Set up the STACKIT Kubernetes Engine (SKE) for the Stackable Data Platform, including assigning public IPs to nodes since SKE does not do so by default. https://www.stackit.de/de/produkt/stackit-kubernetes-engine/[https://www.stackit.de/de/produkt/stackit-kubernetes-engine/{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/suse-k3s.adoc b/modules/ROOT/pages/kubernetes/suse-k3s.adoc index ea1098c01..d5541e2c7 100644 --- a/modules/ROOT/pages/kubernetes/suse-k3s.adoc +++ b/modules/ROOT/pages/kubernetes/suse-k3s.adoc @@ -1,3 +1,4 @@ = SUSE K3S +:description: Notes on running the Stackable Data Platform on SUSE K3S. https://www.suse.com/products/k3s/[https://www.suse.com/products/k3s/{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/suse-rancher.adoc b/modules/ROOT/pages/kubernetes/suse-rancher.adoc index b3daa11f7..c1eed50f9 100644 --- a/modules/ROOT/pages/kubernetes/suse-rancher.adoc +++ b/modules/ROOT/pages/kubernetes/suse-rancher.adoc @@ -1,3 +1,4 @@ = SUSE Rancher +:description: Notes on running the Stackable Data Platform on SUSE Rancher. https://www.rancher.com/products/rancher[https://www.rancher.com/products/rancher{external-link-icon}^] diff --git a/modules/ROOT/pages/kubernetes/vmware_tanzu.adoc b/modules/ROOT/pages/kubernetes/vmware_tanzu.adoc index a84a8cb54..b613d7d7c 100644 --- a/modules/ROOT/pages/kubernetes/vmware_tanzu.adoc +++ b/modules/ROOT/pages/kubernetes/vmware_tanzu.adoc @@ -1,4 +1,5 @@ = VMware Tanzu +:description: Run the Stackable Data Platform on VMware Tanzu. BOSH-deployed clusters need special secret-operator and listener-operator setup due to the Kubelet path. https://www.vmware.com/products/app-platform/tanzu[https://www.vmware.com/products/app-platform/tanzu{external-link-icon}^] diff --git a/modules/ROOT/pages/release-guide.adoc b/modules/ROOT/pages/release-guide.adoc index 678790570..12baf3696 100644 --- a/modules/ROOT/pages/release-guide.adoc +++ b/modules/ROOT/pages/release-guide.adoc @@ -1,3 +1,4 @@ +:description: Work-in-progress internal guide with the git and cargo steps to cut a release and bump the next development version. (this is work in progress that is why it's not explicitely linked in nav.doc) @@ -33,4 +34,3 @@ Bump dev version: git commit -am 'Bump next development version' git push -u origin bump-version - diff --git a/modules/compliance/pages/cra.adoc b/modules/compliance/pages/cra.adoc index 94264173e..eaf7fd582 100644 --- a/modules/compliance/pages/cra.adoc +++ b/modules/compliance/pages/cra.adoc @@ -1,4 +1,5 @@ = Cyber Resilience Act (CRA) +:description: Central hub for Cyber Resilience Act (CRA) information on the Stackable Data Platform, covering its classification and the Annex II user information. NOTE: The https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32024R2847[Cyber Resilience Act (CRA)] is a European regulation that establishes cybersecurity requirements for products with digital elements placed on the EU market. It aims to ensure that hardware and software products are designed, developed, and maintained with adequate cybersecurity throughout their lifecycle. diff --git a/modules/concepts/pages/maintenance/crds.adoc b/modules/concepts/pages/maintenance/crds.adoc index d04d60d04..57da3a080 100644 --- a/modules/concepts/pages/maintenance/crds.adoc +++ b/modules/concepts/pages/maintenance/crds.adoc @@ -1,4 +1,5 @@ = CustomResourceDefinition (CRD) maintenance +:description: How Stackable operators manage their own CRD lifecycle, including conversion webhook certificates and how to disable CRD maintenance. :k8s-webhook-config: https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#configure-customresourcedefinition-to-use-conversion-webhooks Starting with SDP 25.11.0, specific operators now manage their own CRD lifecycle independently of Helm or other deployment tools. diff --git a/modules/concepts/pages/maintenance/eos.adoc b/modules/concepts/pages/maintenance/eos.adoc index 3a5d84753..6eeae5701 100644 --- a/modules/concepts/pages/maintenance/eos.adoc +++ b/modules/concepts/pages/maintenance/eos.adoc @@ -1,4 +1,5 @@ = End-of-Support (EoS) check +:description: Operators warn on startup and at regular intervals when reaching end-of-support, with Helm values to adjust the interval or disable the check. Starting with SDP 25.11.0, operators emit a warning message on startup and in a regular interval when it may have reached end-of-support. Most of the operators reach end-of-support one year after they have been released, which roughly translates to three SDP releases. diff --git a/modules/concepts/pages/observability/containerdebug.adoc b/modules/concepts/pages/observability/containerdebug.adoc index 540522507..e9aec72f7 100644 --- a/modules/concepts/pages/observability/containerdebug.adoc +++ b/modules/concepts/pages/observability/containerdebug.adoc @@ -1,4 +1,5 @@ = Container environment +:description: How the containerdebug tool regularly logs the container environment of Stackable-managed products, including interval and output locations. All Stackable-managed products regularly log information about their operating environment, such as available disk interfaces and network interfaces. diff --git a/modules/concepts/pages/observability/telemetry.adoc b/modules/concepts/pages/observability/telemetry.adoc index 1b37fb5e3..3fa708fd8 100644 --- a/modules/concepts/pages/observability/telemetry.adoc +++ b/modules/concepts/pages/observability/telemetry.adoc @@ -1,4 +1,5 @@ = Telemetry signals in operators +:description: Helm values for operator telemetry: console logs, file logs and OpenTelemetry logs and traces via OTLP. Also covers collecting operator signals with Vector. :page-aliases: ../telemetry.adoc :env-filter-syntax: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#example-syntax :vector-helm-chart: https://github.com/vectordotdev/helm-charts/tree/develop/charts/vector diff --git a/modules/guides/pages/deploy-operators-and-csi-drivers-separately.adoc b/modules/guides/pages/deploy-operators-and-csi-drivers-separately.adoc index 9373aa2fc..16f8b10b4 100644 --- a/modules/guides/pages/deploy-operators-and-csi-drivers-separately.adoc +++ b/modules/guides/pages/deploy-operators-and-csi-drivers-separately.adoc @@ -1,4 +1,5 @@ = Deploying operators and CSI drivers on separate nodes +:description: Guide to scheduling Stackable operators on dedicated nodes while running the Secret and Listener Operator CSI node drivers alongside workloads. :related-issue: https://github.com/stackabletech/issues/issues/763 :secret-operator-values: https://github.com/stackabletech/secret-operator/blob/{stackable-operator-branch}/deploy/helm/secret-operator/values.yaml :listener-operator-values: https://github.com/stackabletech/listener-operator/blob/{stackable-operator-branch}/deploy/helm/listener-operator/values.yaml diff --git a/modules/guides/pages/index.adoc b/modules/guides/pages/index.adoc index 8e8914c55..a2d0c57b0 100644 --- a/modules/guides/pages/index.adoc +++ b/modules/guides/pages/index.adoc @@ -1,3 +1,4 @@ = Guides +:description: Overview of the guides section, which collects instructions for completing particular tasks with the Stackable Data Platform. The guides in this section are useful to complete particular tasks. diff --git a/modules/internal/pages/personas.adoc b/modules/internal/pages/personas.adoc index 997395424..e341559f1 100644 --- a/modules/internal/pages/personas.adoc +++ b/modules/internal/pages/personas.adoc @@ -1,4 +1,5 @@ = Customer Personas +:description: Example customer environments the Stackable platform should accommodate, covering authentication, networking, Kubernetes setup and storage. :noindex: This document is an attempt to formalize different example customer environments that we want the Stackable Platform @@ -17,7 +18,7 @@ Network control:: TLS;; Does the customer want us to integrate into their existing TLS PKI? If so, is it automated? What are their issuing policies? Kerberos;; - Does the customer want us to integrate into their existing Kerberos realm, if so is it an option to run our own kdc and integrate via trusts? + Does the customer want us to integrate into their existing Kerberos realm, if so is it an option to run our own kdc and integrate via trusts? Overlay peering/BGP;; Is the Kubernetes overlay network peered into their regular network environment? NIC bonding & multihoming;; @@ -64,7 +65,7 @@ Network control:: NIC bonding & multihoming;; Yes Network-level firewalls;; - Port-based, manually configured + Port-based, manually configured Linux Security Modules? (SELinux/AppArmor);; No Kubernetess cluster:: @@ -82,7 +83,7 @@ Storage:: Pickiness;; Wants to map storage pools to specific services Hybrid usage:: - ??? + ??? == Hybrid Corp @@ -102,9 +103,9 @@ Network control:: NIC bonding & multihoming;; No Network-level firewalls;; - Port-based, manually configured + Port-based, manually configured Linux Security Modules? (SELinux/AppArmor);; - No + No Kubernetess cluster:: Dedicated cluster;; Shared @@ -120,7 +121,7 @@ Storage:: Pickiness;; Storage classes managed by SAN Hybrid usage:: - Yes + Yes == Web 3.0 - Full Cloud Managed Everything @@ -142,7 +143,7 @@ Network control:: Network-level firewalls;; May be managed by cloud provider Linux Security Modules? (SELinux/AppArmor);; - No + No Kubernetess cluster:: Dedicated cluster;; Dedicated From 3153f0d6dd0ef8ff01d7775d58903df4bcb75f0f Mon Sep 17 00:00:00 2001 From: Lars Francke Date: Tue, 21 Jul 2026 13:57:00 +0200 Subject: [PATCH 2/3] docs: Delete the customer personas page The internal module was never registered in the antora.yml nav and nothing links to it, but Antora still published it at /internal/personas/. Internal working material does not belong on the public docs site. --- modules/internal/nav.adoc | 2 - modules/internal/pages/personas.adoc | 162 --------------------------- 2 files changed, 164 deletions(-) delete mode 100644 modules/internal/nav.adoc delete mode 100644 modules/internal/pages/personas.adoc diff --git a/modules/internal/nav.adoc b/modules/internal/nav.adoc deleted file mode 100644 index 9e0d91777..000000000 --- a/modules/internal/nav.adoc +++ /dev/null @@ -1,2 +0,0 @@ -* Internal Docs -** xref:personas.adoc[] diff --git a/modules/internal/pages/personas.adoc b/modules/internal/pages/personas.adoc deleted file mode 100644 index e341559f1..000000000 --- a/modules/internal/pages/personas.adoc +++ /dev/null @@ -1,162 +0,0 @@ -= Customer Personas -:description: Example customer environments the Stackable platform should accommodate, covering authentication, networking, Kubernetes setup and storage. -:noindex: - -This document is an attempt to formalize different example customer environments that we want the Stackable Platform -to be able to accomodate. - -== Template - -Human authentication:: - Does the customer have an opinion on how human clients authenticate to services running inside the cluster? -Robot authentication:: - Does the customer have an opinion on how servers authenticate each other? + - (For example: Kafka servers need to connect to ZooKeeper to maintain quorum, even if there are no Kafka clients at the time.) -Network control:: - DNS;; - Is the customer willing to delegate us a DNS zone, or are we "stuck" adapting to whatever they provision for us? - TLS;; - Does the customer want us to integrate into their existing TLS PKI? If so, is it automated? What are their issuing policies? - Kerberos;; - Does the customer want us to integrate into their existing Kerberos realm, if so is it an option to run our own kdc and integrate via trusts? - Overlay peering/BGP;; - Is the Kubernetes overlay network peered into their regular network environment? - NIC bonding & multihoming;; - Do they use bonded NICs that we need to take into account? - Network-level firewalls;; - Do they use network-level firewalls that our traffic needs to be allowed through? - Linux Security Modules?;; - Do they require all machines to use SELinux, AppArmor, or something similar? -Kubernetes cluster:: - Dedicated cluster;; - Can we expect to get a dedicated Stackable Kubernetes cluster, or will be be colocated with internal stuff? - Premises;; - Is it hosted in the cloud or on-premise? - Managed;; - Is it managed by an external service provider (IONOS, GKE, EKS, AKS, etc), by us, or is it managed by the customer themselves? - Node lifetime;; - How long can a single node identity be expected to last for? (Years, weeks, days, hours) - A "node identity" in this context refers to a node having the same hostname, IP address, - OS installation, local disks (allowing for some failure of individual disks), and so on. -Storage:: - Stickiness;; - Can we move disks between nodes dynamically? + - (For example: Physical drives are sticky, EBS is generally not sticky, SAN depends on customer policies) - Pickiness;; - How much control does the customer expect to have over which drives get used by which services? -Hybrid usage:: - (For example: Stackable ZooKeeper with manually managed Kafka, or vice versa) - -== Conservative on Prem Corp - -Human authentication:: - Kerberos (backed by on-prem AD) -Robot authentication:: - Kerberos (backed by on-prem AD) -Network control:: - DNS;; - Issued manually by customer - TLS;; - Issued manually by customer - Kerberos usage;; - Issued manually by customer - Overlay peering/BGP;; - None - NIC bonding & multihoming;; - Yes - Network-level firewalls;; - Port-based, manually configured - Linux Security Modules? (SELinux/AppArmor);; - No -Kubernetess cluster:: - Dedicated cluster;; - Yes - Premises;; - On-prem - Managed;; - Managed by customer - Node lifetime;; - Years -Storage:: - Stickiness;; - Sticky, local - Pickiness;; - Wants to map storage pools to specific services -Hybrid usage:: - ??? - -== Hybrid Corp - -Human authentication:: - OpenID Connect (backed by alternative local directory) -Robot authentication:: - No strong opinion or standard -Network control:: - DNS;; - Delegated zone - TLS;; - Issued manually by customer - Kerberos usage;; - Issued manually by customer - Overlay peering/BGP;; - None - NIC bonding & multihoming;; - No - Network-level firewalls;; - Port-based, manually configured - Linux Security Modules? (SELinux/AppArmor);; - No -Kubernetess cluster:: - Dedicated cluster;; - Shared - Premises;; - Cloud - Managed;; - Managed by customer - Node lifetime;; - Years -Storage:: - Stickiness;; - Not sticky, uses SAN - Pickiness;; - Storage classes managed by SAN -Hybrid usage:: - Yes - -== Web 3.0 - Full Cloud Managed Everything - -Human authentication:: - OpenID Connect (cloud provider) -Robot authentication:: - No strong opinion or standard -Network control:: - DNS;; - Delegated zone - TLS;; - Managed by us - Kerberos usage;; - Managed by us - Overlay peering/BGP;; - Yes, but they don't know about it - NIC bonding & multihoming;; - Not that they're aware of - Network-level firewalls;; - May be managed by cloud provider - Linux Security Modules? (SELinux/AppArmor);; - No -Kubernetess cluster:: - Dedicated cluster;; - Dedicated - Premises;; - Cloud - Managed;; - Managed by cloud provider - Node lifetime;; - Hours or days -Storage:: - Stickiness;; - Not sticky, uses cloud service (EBS or similar) - Pickiness;; - Storage classes managed by cloud provider -Hybrid usage:: - Yes From c300bbf5dfc782e431614801bd5f5b44b21b4bbb Mon Sep 17 00:00:00 2001 From: Lars Francke Date: Tue, 21 Jul 2026 13:57:51 +0200 Subject: [PATCH 3/3] docs: Block /internal/ on every published docs version The internal module is deleted on main, but the release branches still contain it and Antora publishes their content too. A forced netlify 404 covers all versions at the serving layer without backporting the deletion. --- netlify.toml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/netlify.toml b/netlify.toml index 05d325692..78d690d7e 100644 --- a/netlify.toml +++ b/netlify.toml @@ -7,6 +7,14 @@ to = "https://hub.stackable.tech/crds" status = 301 +# The internal module is deleted on main but still exists on the release +# branches; this blocks it for every published version without backports. +[[redirects]] + from = "/home/:version/internal/*" + to = "/404.html" + status = 404 + force = true + [[redirects]] from = "/home/stable/release_notes.html" to = "/home/stable/release-notes"