Kubernetes service that polls the HyperFleet API for cluster and nodepool updates, makes orchestration decisions via CEL-based decision logic, and publishes CloudEvents to message brokers. Stateless, horizontally scalable via label-based sharding, delegates all state persistence to the API.
Sentinel requires a running message broker and HyperFleet API as well as adapters. The hyperfleet-infra repository provides a one-command setup that deploys the complete HyperFleet stack including pre-configured adapters:
| Command | What it deploys |
|---|---|
make local-up-gcp |
GKE cluster + images + API + adapters + Maestro |
make install-hyperfleet |
Everything on an existing K8s cluster using RabbitMQ (no GCP needed) |
make install-adapters |
Install sample HyperFleet Adapters only |
make install-api |
Install sample HyperFleet API only |
helm install rabbitmq ./helm/rabbitmq |
Install a simple RabbitMQ instance |
make status |
Verify the deployment |
Make sure you define the following environment variables:
HELMFILE_ENV: accepted values:kind,gcpNAMESPACE: namespace where HyperFleet components will be deployedREGISTRY: The registry namespace from which to pull the images.quay.io/openshift-hyperfleetfor released imagesAPI_IMAGE_TAG: image tag forhyperfleet-apicontainer imageSENTINEL_IMAGE_TAG: image tag forhyperfleet-sentinelcontainer imageADAPTER_IMAGE_TAG: image tag forhyperfleet-adaptercontainer image
See hyperfleet-infra for required environment variables and full instructions.
make generate && make build
export BROKER_RABBITMQ_URL="amqp://guest:guest@localhost:5672/"
export HYPERFLEET_BROKER_TOPIC=hyperfleet-dev-clusters
./bin/sentinel serve --config=configs/dev-example.yamlSee the Development Guide for full setup instructions.
| Guide | Description |
|---|---|
| Deployment Guide | Helm deployment, broker setup, examples |
| Helm Values Reference | Complete chart values |
| Configuration Reference | YAML schema, CLI flags, env vars |
| Operator Guide | Decision engine, CEL expressions, concepts |
| Scaling | Horizontal sharding patterns |
| Resource Sizing | CPU/memory at scale |
| Guide | Description |
|---|---|
| Metrics | Metric catalog, PromQL examples, Grafana |
| Alerts | Alert rules, severity, response |
| Runbook | Reliability features, health checks, failure recovery |
| Guide | Description |
|---|---|
| Development Guide | Setup, build, test, run locally |
| CONTRIBUTING.md | Commit standards, PR workflow |
| Integration Tests | Testcontainer setup |
| Resource | Description |
|---|---|
| HyperFleet Architecture | System design |
| HyperFleet API Spec | API contract |
| Broker Library | Messaging abstraction |
| Infrastructure | Deployment automation |
| Command | Description |
|---|---|
sentinel serve --config config.yaml |
Run the service |
sentinel config-dump --config config.yaml |
Print merged configuration |
sentinel version |
Print version, commit, build date |
Run sentinel serve --help for the full flag list.
See CONTRIBUTING.md and Development Guide.
All members of the hyperfleet team have write access to this repository.
- Verify you're a member of the
openshift-hyperfleetorganization - Confirm you're added to the hyperfleet team
- Code reviews and approvals are managed through the OWNERS file
For access issues, contact a repository administrator or organization owner.