Skip to content

Commit 6ce1767

Browse files
committed
docs: add operational notes to AGENTS.md
1 parent c3a1c15 commit 6ce1767

1 file changed

Lines changed: 25 additions & 2 deletions

File tree

AGENTS.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,32 @@ make test
2121

2222
This automatically fetches the canonical config if not present.
2323

24-
## Special Configuration
24+
## CI/CD
2525

26-
This repo uses `arc-dind` runner with an internal OpenShift registry image (`tfroot-runner`) because it requires SSH access to libvirt hosts.
26+
This repo uses the shared `opentofu.yml` workflow from `shared-workflows`, but with **custom configuration**:
27+
28+
- **Runner:** `arc-dind` (self-hosted, not `ubuntu-latest`)
29+
- **Container:** `image-registry.openshift-image-registry.svc:5000/public-registry/tfroot-runner:latest` (internal OpenShift registry, not GHCR)
30+
31+
This is required because the workflow needs SSH access to libvirt hosts, which is only available from the self-hosted runner network.
32+
33+
### Failure Modes
34+
35+
**"name unknown" or image pull failures:** The `tfroot-runner` image doesn't exist in the OpenShift internal registry. This happens when:
36+
37+
1. The `images` repo Build workflow failed (check for transient network errors, re-run if needed)
38+
2. The `images` repo Pull workflow failed to import (the `|| true` masks failures - check logs for "Unable to connect" errors)
39+
40+
**To fix:** Re-run the Pull workflow in the `images` repo, or manually import:
41+
```bash
42+
oc import-image tfroot-runner:latest \
43+
--from=ghcr.io/makeitworkcloud/tfroot-runner:latest \
44+
-n public-registry \
45+
--confirm \
46+
--reference-policy=local
47+
```
48+
49+
**Pre-commit failures:** If hooks fail unexpectedly, the canonical config may have changed. Delete `.pre-commit-config.yaml` locally and re-run `make test` to fetch the latest.
2750

2851
## Related Repositories
2952

0 commit comments

Comments
 (0)