Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/api-operator-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -825,7 +825,7 @@ Choose your database deployment strategy based on your environment:
- [ ] Deploy using Helm:

```bash
helm install hyperfleet-api ./charts/ \
helm install hyperfleet-api oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api-chart:<tag> \
--namespace hyperfleet-system \
--create-namespace \
--values custom-values.yaml
Expand Down
4 changes: 3 additions & 1 deletion docs/authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -233,9 +233,11 @@ config:

Deploy:
```bash
helm install hyperfleet-api ./charts/ --values values.yaml
helm install hyperfleet-api oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api-chart:<tag> --values values.yaml
```

> **Note:** You may also choose to install from the ./charts folder, if you've cloned this repository locally.

## Troubleshooting

### Common Issues
Expand Down
4 changes: 3 additions & 1 deletion docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,13 @@ hyperfleet-api serve --config=config.yaml

**Production (Kubernetes):**
```bash
helm install hyperfleet-api ./charts/ \
helm install hyperfleet-api oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api-chart:<tag> \
--set 'config.adapters.required.cluster={validation,dns}' \
--set 'config.adapters.required.nodepool={validation}'
```

> **Note:** You may also choose to install from the ./charts folder, if you've cloned this repository locally.

See [Configuration Examples](#configuration-examples) for complete setup.

---
Expand Down
45 changes: 20 additions & 25 deletions docs/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,7 @@ Before deploying, ensure you have:
- **PostgreSQL database** — either:
- An external managed instance (Cloud SQL, RDS, Azure Database) for production, or
- The chart's built-in PostgreSQL pod for evaluation and testing
- **Container image** — a released hyperfleet-api image, a pre-built image from your registry, or build your own:
```bash
make image \
IMAGE_REGISTRY=quay.io/yourorg \
IMAGE_TAG=v1.0.0

podman push quay.io/yourorg/hyperfleet-api:v1.0.0
```
- **Container image** — a released hyperfleet-api image, a pre-built image from your registry, or build your own. See [development.md](./development.md) for more.

---

Expand All @@ -35,20 +28,22 @@ The fastest path to a running deployment. This uses the chart's built-in Postgre
| Value | What to set | Example |
|-------|-------------|---------|
| `image.registry` | Container registry domain | `quay.io` |
| `image.repository` | Organization and image name | `openshift-hyperfleet/hyperfleet-api` |
| `image.repository` | Organization and image name | `redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api` |
| `image.tag` | Image version | `v1.0.0` |

**Deploy:**

```bash
helm install hyperfleet-api ./charts/ \
helm install hyperfleet-api oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api-chart:<tag> \
--namespace hyperfleet-system \
--create-namespace \
--set image.registry=quay.io \
--set image.repository=openshift-hyperfleet/hyperfleet-api \
--set image.tag=v1.0.0
--set image.repository=redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api \
--set image.tag=<tag>
```

> **Note:** You may also choose to install from the ./charts folder, if you've cloned this repository locally.

**Verify:**

```bash
Expand Down Expand Up @@ -80,12 +75,12 @@ kubectl create secret generic hyperfleet-db-external \
### Step 2: Deploy with external database

```bash
helm install hyperfleet-api ./charts/ \
helm install hyperfleet-api oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api-chart:<tag> \
--namespace hyperfleet-system \
--create-namespace \
--set image.registry=quay.io \
--set image.repository=openshift-hyperfleet/hyperfleet-api \
--set image.tag=v1.0.0 \
--set image.repository=redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api \
--set image.tag=<tag> \
--set database.postgresql.enabled=false \
--set database.external.enabled=true \
--set database.external.secretName=hyperfleet-db-external
Expand Down Expand Up @@ -158,10 +153,10 @@ The chart injects database credentials as environment variables using `secretKey
JWT authentication is **disabled by default** in the Helm chart. To enable it, set the `config.server.jwt.*` properties, like so:

```bash
helm install hyperfleet-api ./charts/ \
helm install hyperfleet-api oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api-chart:<tag> \
--namespace hyperfleet-system \
--set image.registry=quay.io \
--set image.repository=openshift-hyperfleet/hyperfleet-api \
--set image.repository=redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api \
--set image.tag=v1.0.0 \
--set config.server.jwt.enabled=true \
--set config.server.jwt.issuer_url=https://your-idp.example.com/auth/realms/your-realm \
Expand Down Expand Up @@ -261,7 +256,7 @@ When enabled, the chart creates (or references) a ConfigMap with the schema, mou
### Upgrade

```bash
helm upgrade hyperfleet-api ./charts/ \
helm upgrade hyperfleet-api oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api-chart:<tag> \
--namespace hyperfleet-system \
--set image.tag=v1.1.0
```
Expand All @@ -281,8 +276,8 @@ For repeatable deployments, create a `values.yaml` file:
```yaml
image:
registry: quay.io
repository: openshift-hyperfleet/hyperfleet-api
tag: v1.0.0
repository: redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api
tag: <version>

config:
server:
Expand Down Expand Up @@ -322,7 +317,7 @@ resources:
```

```bash
helm install hyperfleet-api ./charts/ \
helm install hyperfleet-api oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api-chart:<tag> \
--namespace hyperfleet-system \
--values values.yaml
```
Expand Down Expand Up @@ -404,7 +399,7 @@ The deployment includes:
kubectl scale deployment hyperfleet-api --replicas=3 --namespace hyperfleet-system

# Via Helm
helm upgrade hyperfleet-api ./charts/ \
helm upgrade hyperfleet-api oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api-chart:<tag> \
--namespace hyperfleet-system \
--set replicaCount=3
```
Expand All @@ -419,11 +414,11 @@ Prometheus metrics are available at `http://<service>:9090/metrics`.

```bash
# Enable ServiceMonitor
helm install hyperfleet-api ./charts/ \
helm install hyperfleet-api oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api-chart:<tag> \
--namespace hyperfleet-system \
--set image.registry=quay.io \
--set image.repository=openshift-hyperfleet/hyperfleet-api \
--set image.tag=v1.0.0 \
--set image.repository=redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api \
--set image.tag=<tag> \
--set serviceMonitor.enabled=true

# With custom Prometheus selector labels
Expand Down
4 changes: 2 additions & 2 deletions docs/runbook.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,10 @@ To manually run migrations (rarely needed):
```bash
# Run a one-off migration job
kubectl run hyperfleet-migrate --rm -it \
--image=quay.io/openshift-hyperfleet/hyperfleet-api:latest \
--image=quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api:<tag> \
--restart=Never \
-n hyperfleet-system \
--overrides='{"spec":{"containers":[{"name":"hyperfleet-migrate","image":"quay.io/openshift-hyperfleet/hyperfleet-api:latest","command":["/app/hyperfleet-api","migrate"],"volumeMounts":[{"name":"secrets","mountPath":"/build/secrets","readOnly":true}]}],"volumes":[{"name":"secrets","secret":{"secretName":"hyperfleet-db-external"}}]}}' \
--overrides='{"spec":{"containers":[{"name":"hyperfleet-migrate","image":"quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api:<tag>","command":["/app/hyperfleet-api","migrate"],"volumeMounts":[{"name":"secrets","mountPath":"/build/secrets","readOnly":true}]}],"volumes":[{"name":"secrets","secret":{"secretName":"hyperfleet-db-external"}}]}}' \
-- /app/hyperfleet-api migrate
```

Expand Down