-
Notifications
You must be signed in to change notification settings - Fork 92
Description
Context and Need
Currently, GeoServer Cloud relies heavily on Helm Charts as the main method for service deployment and orchestration. While Helm offers convenience for homogeneous environments and quick setup, it presents limitations in enterprise or cloud-native scenarios where more granular and infrastructure-specific integrations are required.
In real-world implementations, each Kubernetes environment has its own specific demands:
• Vanilla Kubernetes (K8s): used by self-managed organizations or cloud-agnostic platforms.
• Amazon EKS (Elastic Kubernetes Service): requires integration with IAM roles, ALB, autoscaling, and other AWS ecosystem extensions.
• Red Hat OpenShift: enforces strict security models (SCC, Projects), certified operators, and custom RBAC/toleration handling.
Using Kubernetes-native manifests (YAML) for deployment would enable much more flexibility and control over:
• Volume and secret management, affinity/anti-affinity rules.
• Security policies tailored to each infrastructure.
• Integration with DevOps/GitOps pipelines without Helm templating.
• Clear versioning and declarative management of components.
• Simplified deployment in environments where Helm is restricted or undesired.
Proposal
Provide a set of clean, maintainable, and adaptable Kubernetes manifests in the official GeoServer Cloud repository.
This set should:
• Phase 1: Ensure a simple and portable vanilla Kubernetes deployment.
• Phase 2: Introduce overlays or Kustomize options for environments like EKS.
• Phase 3: Include adaptations for OpenShift (security context, SCC, routes).
Justification
This approach would:
• Expand GeoServer Cloud’s adoption across enterprise and government environments where Helm is not preferred.
• Reduce friction in organizations that rely on declarative manifest-driven CI/CD pipelines.
• Align the project with Kubernetes and CNCF cloud-native best practices.
• Increase transparency and configurability of deployments.
Expected Impact
• Improved adoption in advanced infrastructure environments.
• Easier testing, customization, and deployment without additional tools.
• More inclusive contribution opportunities from a broader community of Kubernetes users.