diff --git a/modules/ROOT/pages/kubernetes/aks.adoc b/modules/ROOT/pages/kubernetes/aks.adoc index 377a6c99d..95f6c4489 100644 --- a/modules/ROOT/pages/kubernetes/aks.adoc +++ b/modules/ROOT/pages/kubernetes/aks.adoc @@ -1,4 +1,5 @@ = Azure Kubernetes Service (AKS) +:description: Notes on running the Stackable Data Platform on Azure Kubernetes Service (AKS), covering cluster creation, networking and inbound traffic. 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..f00117a0b 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: Notes on running the Stackable Data Platform on Amazon Elastic Kubernetes Service (EKS), covering StorageClass requirements. 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..b1bad498a 100644 --- a/modules/ROOT/pages/kubernetes/gke.adoc +++ b/modules/ROOT/pages/kubernetes/gke.adoc @@ -1,4 +1,5 @@ = Google Kubernetes Engine (GKE) +:description: Notes on running the Stackable Data Platform on Google Kubernetes Engine (GKE). Autopilot clusters are not supported. 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..256e8e897 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: Notes on running the Stackable Data Platform on Huawei Cloud Container Engine (CCE), covering the non-standard Kubelet state directory. 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..e1cbaa707 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: Notes on running the Stackable Data Platform on IBM Cloud Kubernetes Service, covering the non-standard Kubelet state directory. 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..e1f37902c 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: Notes on running the Stackable Data Platform on IONOS managed Kubernetes. 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..1e1961859 100644 --- a/modules/ROOT/pages/kubernetes/k0s.adoc +++ b/modules/ROOT/pages/kubernetes/k0s.adoc @@ -1,4 +1,5 @@ = k0s +:description: Notes on running the Stackable Data Platform on k0s, covering the non-standard Kubelet state directory. 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..8149b0777 100644 --- a/modules/ROOT/pages/kubernetes/microk8s.adoc +++ b/modules/ROOT/pages/kubernetes/microk8s.adoc @@ -1,4 +1,5 @@ = Microk8s +:description: Notes on running the Stackable Data Platform on Microk8s, covering the non-standard Kubelet state directory. 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..c4ec84711 100644 --- a/modules/ROOT/pages/kubernetes/openshift.adoc +++ b/modules/ROOT/pages/kubernetes/openshift.adoc @@ -1,4 +1,5 @@ = Red Hat OpenShift +:description: Notes on running the Stackable Data Platform on Red Hat OpenShift, covering certified operators, 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..c8f569c6f 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: Notes on running the Stackable Data Platform on OVH Managed Kubernetes Service, covering the recommended ListenerClass preset. 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..f524bdeb6 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's 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..e880bd229 100644 --- a/modules/ROOT/pages/kubernetes/ske.adoc +++ b/modules/ROOT/pages/kubernetes/ske.adoc @@ -1,4 +1,5 @@ = STACKIT Kubernetes Engine (SKE) +:description: Notes on running the Stackable Data Platform on the STACKIT Kubernetes Engine (SKE), covering public IP assignment for nodes. 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..8e58fa87a 100644 --- a/modules/ROOT/pages/kubernetes/vmware_tanzu.adoc +++ b/modules/ROOT/pages/kubernetes/vmware_tanzu.adoc @@ -1,4 +1,5 @@ = VMware Tanzu +:description: Notes on running the Stackable Data Platform on VMware Tanzu, covering the Kubelet path on BOSH-deployed clusters. 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/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 997395424..000000000 --- a/modules/internal/pages/personas.adoc +++ /dev/null @@ -1,161 +0,0 @@ -= Customer Personas -: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 diff --git a/netlify.toml b/netlify.toml index 05d325692..01691bb5f 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" + status = 404 + force = true + [[redirects]] from = "/home/stable/release_notes.html" to = "/home/stable/release-notes"