Skip to content

Provide Kubernetes-native manifests for container deployment #673

@anthieni

Description

@anthieni

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions