|
2 | 2 |
|
3 | 3 | **Generated:** 2026-05-04 |
4 | 4 |
|
| 5 | +## TABLE OF CONTENTS |
| 6 | + |
| 7 | +| File | Focus | |
| 8 | +|------|-------| |
| 9 | +| [`AGENTS.md`](AGENTS.md) | Root: architecture, conventions, commands | |
| 10 | +| [`src/api/AGENTS.md`](src/api/AGENTS.md) | Versioned route handlers (v1/v2/alpha), handler signatures | |
| 11 | +| [`src/middleware/AGENTS.md`](src/middleware/AGENTS.md) | Auth chain: JWT → groups → CASL → session → errors | |
| 12 | +| [`src/openapi/AGENTS.md`](src/openapi/AGENTS.md) | OpenAPI YAML specs, ACL definitions, schema conventions | |
| 13 | +| [`src/ai/AGENTS.md`](src/ai/AGENTS.md) | AI CRD handlers (models, agents, knowledge bases) | |
| 14 | +| [`src/utils/AGENTS.md`](src/utils/AGENTS.md) | Domain utilities: workloads, secrets, repos, YAML | |
| 15 | + |
5 | 16 | ## OVERVIEW |
6 | 17 |
|
7 | | -Akamai App Platform API — Express/TypeScript REST API managing Kubernetes teams, workloads, and services. Uses **Git as database** (YAML files in a values repo). OpenAPI-first: specs define endpoints, authorization, and generate types. |
| 18 | +App Platform API — Express/TypeScript REST API managing Kubernetes teams, workloads, and services. Uses **Git as database** (YAML files in a values repo). OpenAPI-first: specs define endpoints, authorization, and generate types. |
8 | 19 |
|
9 | 20 | ## STRUCTURE |
10 | 21 |
|
@@ -42,20 +53,20 @@ apl-api/ |
42 | 53 |
|
43 | 54 | ## WHERE TO LOOK |
44 | 55 |
|
45 | | -| Task | Location | Notes | |
46 | | -|------|----------|-------| |
47 | | -| Add new endpoint | `src/openapi/*.yaml` → `src/api/{version}/` | Define spec FIRST, then handler | |
48 | | -| Add authorization | OpenAPI spec `x-acl` + `x-aclSchema` | ACLs live in YAML, not code | |
49 | | -| Understand CRUD flow | `src/otomi-stack.ts` | All resource operations route here | |
50 | | -| Add middleware | `src/middleware/` → register in `src/app.ts` | Export from `middleware/index.ts` | |
51 | | -| Modify data models | `src/openapi/*.yaml` → `npm run build:models` | Generates `generated-schema.ts` | |
52 | | -| Secret handling | `src/fileStore/` + `ARCHITECTURE.md` | Two-pass loading: YAML first, then secrets merged | |
53 | | -| K8s operations | `src/k8s-operations.ts` | Pod status, logs, builds, sealed secrets | |
54 | | -| Auth flow | `src/middleware/jwt.ts` → `src/middleware/authz.ts` | JWT → group extraction → CASL check | |
55 | | -| AI features | `src/ai/` | Kubernetes CRD CRUD — bypasses OtomiStack | |
56 | | -| Environment config | `src/validators.ts` + `.env.sample` | All env vars validated via envalid | |
57 | | -| Workload/chart utils | `src/utils/workloadUtils.ts` | Git URL validation, Helm chart fetching | |
58 | | -| Sealed secrets | `src/utils/sealedSecretUtils.ts` | Encryption, manifest creation | |
| 56 | +| Task | Location | Notes | |
| 57 | +| -------------------- | --------------------------------------------------- | ------------------------------------------------- | |
| 58 | +| Add new endpoint | `src/openapi/*.yaml` → `src/api/{version}/` | Define spec FIRST, then handler | |
| 59 | +| Add authorization | OpenAPI spec `x-acl` + `x-aclSchema` | ACLs live in YAML, not code | |
| 60 | +| Understand CRUD flow | `src/otomi-stack.ts` | All resource operations route here | |
| 61 | +| Add middleware | `src/middleware/` → register in `src/app.ts` | Export from `middleware/index.ts` | |
| 62 | +| Modify data models | `src/openapi/*.yaml` → `npm run build:models` | Generates `generated-schema.ts` | |
| 63 | +| Secret handling | `src/fileStore/` + `ARCHITECTURE.md` | Two-pass loading: YAML first, then secrets merged | |
| 64 | +| K8s operations | `src/k8s-operations.ts` | Pod status, logs, builds, sealed secrets | |
| 65 | +| Auth flow | `src/middleware/jwt.ts` → `src/middleware/authz.ts` | JWT → group extraction → CASL check | |
| 66 | +| AI features | `src/ai/` | Kubernetes CRD CRUD — bypasses OtomiStack | |
| 67 | +| Environment config | `src/validators.ts` + `.env.sample` | All env vars validated via envalid | |
| 68 | +| Workload/chart utils | `src/utils/workloadUtils.ts` | Git URL validation, Helm chart fetching | |
| 69 | +| Sealed secrets | `src/utils/sealedSecretUtils.ts` | Encryption, manifest creation | |
59 | 70 |
|
60 | 71 | ## CONVENTIONS |
61 | 72 |
|
|
0 commit comments