Skip to content

hops-ops/helm-linkerd

Repository files navigation

helm-linkerd

A Crossplane Configuration package that installs the linkerd-control-plane Helm chart with a minimal, stable interface.

Overview

helm-linkerd renders a single Helm release for Linkerd. It exposes only the inputs needed for chart values, namespace, and release name, keeping the interface stable while allowing full Helm overrides.

Features

  • Minimal Helm interface: values and overrideAllValues with stable defaults
  • Predictable naming: defaults to <clusterName>-linkerd in the linkerd namespace
  • GitOps friendly: ships a .gitops/ deploy chart

Prerequisites

  • Crossplane installed in the cluster
  • Crossplane providers:
    • provider-helm (>=v1.0.2)
  • Crossplane function:
    • function-auto-ready (>=v0.6.0)
  • Linkerd CRDs must be installed separately (use linkerd-crds chart or linkerd install --crds-only)

Quick Start

apiVersion: pkg.crossplane.io/v1
kind: Configuration
metadata:
  name: helm-linkerd
spec:
  package: ghcr.io/hops-ops/helm-linkerd:latest
apiVersion: helm.hops.ops.com.ai/v1alpha1
kind: Linkerd
metadata:
  name: linkerd
  namespace: example-env
spec:
  clusterName: example-cluster
  values:
    controllerReplicas: 2

Identity and Certificates

Linkerd requires TLS certificates for its identity system. The default configuration uses identity.issuer.scheme: kubernetes.io/tls. You must provide valid certificates either by:

  1. Using cert-manager with a Linkerd Trust Anchor
  2. Manually creating the required secrets
  3. Using overrideAllValues to configure a different identity scheme

See Linkerd Identity documentation for details.

Development

make render
make validate
make test

License

Apache-2.0