Skip to content

[RFC] Helm Chart vs Operator for Trustee Deployment #904

@zvonkok

Description

@zvonkok

Describe the bug

Background

Trustee can already be installed in Kubernetes via the dedicated trustee-operator CRD.

Yet many users run GitOps pipelines (ArgoCD, Flux, etc.) that treat “a Helm chart in an OCI repo” as the lingua franca for deploying third-party components. For these users, an operator is an extra controller to secure, upgrade and RBAC.

Problem Statement

We need to decide whether the project:

  • Officially ships a Helm chart (in-tree or in a sibling repo);
  • Continues to recommend only the operator;
  • Maintains both, with clear guidance on when to pick which.

Without a clear stance we risk:

  • Diverging install paths → fractured bug reports & docs;
  • Duplicate effort keeping two deployment artifacts in sync;
  • Confusion about versioning (chart vs operator bundle vs Trustee image tag

Helm Chart – Pros / Cons

Aspect Helm Chart Operator
Installation UX 1-line helm install, fits GitOps Requires OLM/OperatorHub or kustomize build && kubectl apply
Lifecycle Stateless; upgrades are “replace” semantics Reconciliation & drift-correction built-in
Custom Resources None (simpler RBAC) Introduces KbsConfig CRD
Configurability values.yaml is familiar; can gate features behind --set CR fields + configmaps; richer validation
Complex orchestrations (micro-services split) Template logic gets hairy Operator handles multi-deployment wiring
Security surface No additional controller to trust Extra controller, watch permissions

Proposed Next Steps

Gather feedback on questions from maintainers & users.

If consensus emerges to add a chart:

  • Draft a minimal POC chart aligning with current operator defaults.
  • Automate linting (Chart Testing CI) and OCI artifact publishing.
  • Document the new Helm chart flow

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions