|
2 | 2 |
|
3 | 3 | This directory contains Kubernetes/OpenShift manifests organized using **Kustomize overlays** to eliminate duplication across environments. |
4 | 4 |
|
5 | | -## Directory Structure |
| 5 | +## Layout |
6 | 6 |
|
7 | | -``` |
8 | | -manifests/ |
9 | | -├── base/ # Common resources shared across all environments |
10 | | -│ ├── backend-deployment.yaml |
11 | | -│ ├── frontend-deployment.yaml |
12 | | -│ ├── operator-deployment.yaml |
13 | | -│ ├── workspace-pvc.yaml |
14 | | -│ ├── namespace.yaml |
15 | | -│ ├── crds/ # Custom Resource Definitions |
16 | | -│ └── rbac/ # Role-Based Access Control |
17 | | -│ |
18 | | -├── overlays/ # Environment-specific configurations |
19 | | -│ ├── production/ # OpenShift production environment |
20 | | -│ │ ├── kustomization.yaml |
21 | | -│ │ ├── route.yaml |
22 | | -│ │ ├── backend-route.yaml |
23 | | -│ │ ├── frontend-oauth-*.yaml # OAuth proxy patches |
24 | | -│ │ ├── github-app-secret.yaml |
25 | | -│ │ └── namespace-patch.yaml |
26 | | -│ │ |
27 | | -│ ├── e2e/ # Kind/K8s testing environment |
28 | | -│ │ ├── kustomization.yaml |
29 | | -│ │ ├── *-ingress.yaml # K8s Ingress resources |
30 | | -│ │ ├── test-user.yaml # Test user with cluster-admin |
31 | | -│ │ ├── secrets.yaml |
32 | | -│ │ └── *-patch.yaml # Environment-specific patches |
33 | | -│ │ |
34 | | -│ └── local-dev/ # CRC local development environment |
35 | | -│ ├── kustomization.yaml |
36 | | -│ ├── build-configs.yaml # OpenShift BuildConfigs |
37 | | -│ ├── dev-users.yaml # Local development users |
38 | | -│ ├── frontend-auth.yaml |
39 | | -│ ├── *-route.yaml |
40 | | -│ └── *-patch.yaml # Local dev patches |
41 | | -│ |
42 | | -├── deploy.sh # Production deployment script |
43 | | -├── env.example # Example environment variables |
44 | | -└── README.md # This file |
45 | | -``` |
| 7 | +This directory is organized into the following top-level directories: |
| 8 | + |
| 9 | +- **`base/`** — Common resources (deployments, services, CRDs, RBAC) shared across all environments |
| 10 | +- **`overlays/`** — Environment-specific Kustomize overlays (e.g. `production`, `e2e`, `kind`, `kind-local`, `local-dev`) |
| 11 | +- **`observability/`** — Monitoring and observability resources |
46 | 12 |
|
47 | 13 | ## Environment Differences |
48 | 14 |
|
@@ -197,15 +163,6 @@ NAMESPACE=my-namespace IMAGE_TAG=v1.0 ./deploy.sh |
197 | 163 | ✅ **Clear Differences**: Overlays show exactly what's unique per environment |
198 | 164 | ✅ **Type-Safe**: Kustomize validates patches against base resources |
199 | 165 |
|
200 | | -## Migration Notes |
201 | | - |
202 | | -This structure replaces the previous duplicated manifests: |
203 | | -- ~~`components/manifests/*.yaml`~~ → `base/` + `overlays/production/` |
204 | | -- ~~`e2e/manifests/*.yaml`~~ → `overlays/e2e/` |
205 | | -- ~~`components/scripts/local-dev/manifests/*.yaml`~~ → `overlays/local-dev/` |
206 | | - |
207 | | -Old manifest directories have been preserved for reference but are no longer used by deployment scripts. |
208 | | - |
209 | 166 | ## Troubleshooting |
210 | 167 |
|
211 | 168 | ### Kustomize build fails |
|
0 commit comments