Files
ocdp-workload-manifests/AGENTS.md
2026-06-16 01:11:46 +00:00

47 lines
2.2 KiB
Markdown

# AGENTS.md
This file is the execution guide for `ocdp-workload-manifests`.
## Working Boundary
- Treat this project as a plain app manifests repository.
- Do not store OCDP WorkloadTemplate records here; they belong in `ocdp-server`
PostgreSQL.
- Do not store user Workload instances here; they belong in target-cluster
CRs created through `ocdp-server`.
- Keep reusable Kubernetes resources under `apps/*/base`.
- Keep optional Kustomize components under `apps/*/components`.
- Keep Helm post-renders under `packages/*/post-renders/*`.
- Keep per-deployment runtime values out of this repository. They belong in
temporary source files or runtime specs generated by `ocdp-server`.
- Use `tests/kustomize/*` only for generic validation overlays, never for real
user instances.
- Do not commit real passwords, tokens, customer hostnames, private NFS paths, or
private registry credentials.
## Runtime Rules
- Do not add a global catalog index unless the server explicitly needs one later.
- `ocdp-server` WorkloadTemplate records may reference Helm charts plus
`source.postRender.repositoryUrl/ref/path`.
- Runtime source generation may render Helm, create Secret, ConfigMap, and patch
files, then run Kustomize.
- Bases should stay template-free YAML.
- App bases should keep Services internally reachable; expose apps from
Workload top-level intent such as `exposure=internal` or
`exposure=external`, rendered by the agent/template path.
Components such as `service-nodeport`, `service-loadbalancer`, or `ingress`
are implementation building blocks, not the user-facing contract.
- Environment overlays are platform/admin choices for cluster- or site-level
differences such as StorageClass, IngressClass, GPU runtime, registry prefix,
pull secrets, node selectors, tolerations, and site labels.
- NodePort numbers should be assigned per workload by Kubernetes, not hard-coded in
reusable app bases or components.
## Validation
- Run `make validate` after changing workload bases, components, or test
overlays.
- If a change intentionally affects generated resource names, check references
such as Secret refs, PVC claim names, Service backends, and ConfigMap mounts.