{item.title}
++ {item.description} +
+diff --git a/app/kubernetes-operator/page.tsx b/app/kubernetes-operator/page.tsx new file mode 100644 index 0000000..22d2436 --- /dev/null +++ b/app/kubernetes-operator/page.tsx @@ -0,0 +1,408 @@ +import { getMetadata } from "../services/metadataService"; +import { + documentdbKubernetesOperatorDocsUrl, + documentdbKubernetesOperatorGitHubUrl, +} from "../services/externalLinks"; + +type OperatorBenefitIcon = "cluster" | "globe" | "replication" | "shield" | "terminal"; + +const operatorBenefits = [ + { + title: "Local first", + description: "Start on kind or minikube, then scale out.", + icon: "cluster" as const, + }, + { + title: "Hybrid and multi-cloud", + description: "Keep one operator model across cloud and on-prem clusters.", + icon: "globe" as const, + }, + { + title: "Cross-cluster replication", + description: "Replicate across clusters and promote when needed.", + icon: "replication" as const, + }, + { + title: "HA, backup, and TLS", + description: "Add failover, backups, and secure connectivity.", + icon: "shield" as const, + }, + { + title: "Day-2 tooling", + description: "Use the kubectl plugin for status and promotion tasks.", + icon: "terminal" as const, + }, +] as const; + +function OperatorBenefitGlyph({ icon }: { icon: OperatorBenefitIcon }) { + switch (icon) { + case "cluster": + return ( + + ); + case "globe": + return ( + + ); + case "replication": + return ( + + ); + case "shield": + return ( + + ); + case "terminal": + return ( + + ); + } +} + +const setupSteps = [ + { + step: "01", + title: "Prepare the cluster", + description: + "Use kind or minikube locally, or a Kubernetes 1.35+ cluster such as AKS, EKS, or GKE.", + }, + { + step: "02", + title: "Install the operator", + description: + "Deploy the operator so it can reconcile DocumentDB resources and manage cluster lifecycle operations.", + }, + { + step: "03", + title: "Create a DocumentDB resource", + description: + "Apply a DocumentDB custom resource to start locally or grow into replicated topologies as your environment expands.", + }, +] as const; + +const operatorHighlights = [ + "kind + minikube quickstart", + "AKS / EKS / GKE", + "Hybrid / on-prem guide", + "Cross-cluster replication", + "Backup + ScheduledBackup resources", + "kubectl plugin for operator workflows", + "TLS-aware deployment model", +] as const; + +const bestFitScenarios = [ + "Teams starting on local clusters and growing toward managed Kubernetes.", + "Platform teams spanning cloud and on-prem Kubernetes environments.", + "Operators that need cross-cluster replication and promotion workflows.", +] as const; + +export const metadata = getMetadata({ + title: "DocumentDB Kubernetes Operator", + description: + "Learn how the DocumentDB Kubernetes Operator takes DocumentDB from local Kubernetes clusters to hybrid and multi-cloud topologies with replication, HA, backups, and TLS.", + extraKeywords: [ + "Kubernetes", + "operator", + "Helm", + "multi-cloud", + "hybrid", + "on-prem", + "cross-cluster replication", + "high availability", + "backup", + "TLS", + ], +}); + +export default function KubernetesOperatorPage() { + return ( +
+ Operator preview +
++ Start on kind or minikube. Expand to{" "} + hybrid and multi-cloud Kubernetes. +
++ Install with Helm, manage with custom resources, and extend to + documented cross-cluster replication, failover, backups, and + TLS. +
+ ++ Use the operator when one cluster is not enough and you want a + consistent Kubernetes operating model. +
+{item}
++ Operator highlights +
++ Preview status +
++ The operator is still in preview. Use this page to assess the + fit, then follow the quick start or multi-cluster guides. +
++ What the operator adds +
++ Choose the operator when one cluster is not enough and you want + the same operating model across local, hybrid, and multi-cloud + environments. +
++ {item.description} +
++ Setup at a glance +
++ Use this page to understand the path. Use the docs for commands, + topology setup, and current support details. +
++ {item.description} +
++ What to expect before you start +
++ The operator currently targets Kubernetes 1.35+ and depends on + cert-manager and CloudNativePG. Cross-cluster topologies also + require network connectivity between clusters. +
++ Next step +
++ Use the quick start for a local cluster. Then continue with the + hybrid and multi-cloud guides. +
+ ++ Operator preview +
++ Run DocumentDB on Kubernetes—from kind and minikube to{" "} + hybrid and multi-cloud deployments. +
++ {item.title} +
++ {item.description} +
++ Preview with local, hybrid, and multi-cluster paths +
++ The operator is still in preview. Start with the overview, then + follow the quick start or multi-cluster guides. +
+