Official Helm charts for deploying the HyperFleet platform.
This repository uses a base + overlay pattern for multi-cloud support:
hyperfleet-chart/
charts/
hyperfleet-base/ # Core platform (API, Sentinel, Landing Zone)
hyperfleet-gcp/ # GCP overlay (validation-gcp, Pub/Sub defaults)
examples/
gcp-rabbitmq/ # GCP + RabbitMQ for development
gcp-pubsub/ # GCP + Pub/Sub for production
Core platform components that work on any cloud:
- hyperfleet-api - Cluster lifecycle management REST API
- sentinel - Resource polling and event publishing
- adapter-landing-zone - Adapter that creates cluster namespaces
- rabbitmq - Optional in-cluster broker for development
GCP-specific overlay that adds:
- validation-gcp - GCP cluster validation adapter
- Google Pub/Sub as default broker
- Workload Identity configuration
- Kubernetes 1.19+
- Helm 3.0+
- helm-git plugin
helm plugin install https://github.com/aslafy-z/helm-gitcd charts/hyperfleet-gcp
helm dependency update
helm install hyperfleet . -f values-rabbitmq.yaml \
-n hyperfleet-system --create-namespacecd charts/hyperfleet-gcp
helm dependency update
helm install hyperfleet . \
-f ../../examples/gcp-pubsub/values.yaml \
--set base.global.broker.googlepubsub.projectId=YOUR_PROJECT \
-n hyperfleet-system --create-namespaceEach component has make image-dev for building custom images:
# Build dev images
cd ../hyperfleet-api && QUAY_USER=myuser make image-dev
cd ../hyperfleet-sentinel && QUAY_USER=myuser make image-dev
cd ../adapter-landing-zone && QUAY_USER=myuser make image-dev
cd ../adapter-validation-gcp && QUAY_USER=myuser make image-devDeploy with custom images:
# Copy and customize example values
cp examples/gcp-rabbitmq/values.yaml my-values.yaml
# Edit with your quay username and image tags
helm install hyperfleet charts/hyperfleet-gcp -f my-values.yaml \
-n hyperfleet-system --create-namespaceThe broker is independent of cloud provider:
| Deployment | Broker | Use Case |
|---|---|---|
| GCP + RabbitMQ | In-cluster RabbitMQ | Development |
| GCP + Pub/Sub | Google Pub/Sub | Production |
Override broker in GCP overlay:
# Use RabbitMQ for development
base:
global:
broker:
type: rabbitmq # Which broker type components should use
rabbitmq:
enabled: true # Deploy in-cluster RabbitMQ instanceNote: There are two separate rabbitmq configurations:
global.broker.type: rabbitmq- Tells components (sentinel, adapters) to use RabbitMQrabbitmq.enabled: true- Deploys an in-cluster RabbitMQ server
For production with external RabbitMQ, set global.broker.type: rabbitmq but keep rabbitmq.enabled: false and configure the URL in each component's broker.rabbitmq.url.
For Pub/Sub access, configure Workload Identity:
base:
sentinel:
serviceAccount:
annotations:
iam.gke.io/gcp-service-account: [email protected]
adapter-landing-zone:
serviceAccount:
annotations:
iam.gke.io/gcp-service-account: [email protected]
validation-gcp:
serviceAccount:
annotations:
iam.gke.io/gcp-service-account: [email protected]Charts pull dependencies from GitHub using helm-git:
# hyperfleet-base
dependencies:
- name: hyperfleet-api
repository: "git+https://github.com/openshift-hyperfleet/hyperfleet-api@charts?ref=main"
- name: sentinel
repository: "git+https://github.com/openshift-hyperfleet/hyperfleet-sentinel@deployments/helm/sentinel?ref=main"
- name: adapter-landing-zone
repository: "git+https://github.com/openshift-hyperfleet/adapter-landing-zone@charts?ref=main"
# hyperfleet-gcp
dependencies:
- name: hyperfleet-base
repository: "file://../hyperfleet-base"
- name: validation-gcp
repository: "git+https://github.com/openshift-hyperfleet/adapter-validation-gcp@charts?ref=main"See examples/ for ready-to-use values files:
- examples/gcp-rabbitmq/values.yaml - GCP with RabbitMQ (development)
- examples/gcp-pubsub/values.yaml - GCP with Pub/Sub (production)
kubectl get pods -n hyperfleet-systemkubectl logs -n hyperfleet-system -l app.kubernetes.io/name=hyperfleet-api
kubectl logs -n hyperfleet-system -l app.kubernetes.io/name=sentinel
kubectl logs -n hyperfleet-system -l app.kubernetes.io/name=adapter-landing-zone
kubectl logs -n hyperfleet-system -l app.kubernetes.io/name=validation-gcpkubectl port-forward -n hyperfleet-system svc/hyperfleet-rabbitmq 15672:15672
# Open http://localhost:15672 (hyperfleet / hyperfleet-dev-password)The root-level Chart.yaml is deprecated. Migrate to cloud-specific overlays:
# Old (deprecated)
helm install hyperfleet . -f values.yaml
# New (recommended)
helm install hyperfleet charts/hyperfleet-gcp -f examples/gcp-pubsub/values.yamlAdditional cloud overlays can be added following the same pattern:
hyperfleet-aws- AWS with SNS/SQS, IRSAhyperfleet-azure- Azure with Service Bus, Workload Identity
Apache License 2.0