You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+60-5Lines changed: 60 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,13 +25,68 @@ See [`AGENTS.md`](AGENTS.md) for the full setup guide. The short version:
25
25
# Prerequisites: Go 1.25+, Docker, Kind, kubectl
26
26
kind create cluster --name kind
27
27
make install # Install CRDs
28
-
make docker-build TAG=v0.0.32# Build all images
28
+
make docker-build TAG=v0.1.0 # Build all images
29
29
# Load images into Kind (see AGENTS.md for the full loop)
30
30
kubectl apply -k config/ # Deploy control plane
31
31
```
32
32
33
33
---
34
34
35
+
## Local Development (no Docker build/push cycle)
36
+
37
+
For day-to-day development you can run the controller and API server as local processes against a remote (or local) cluster. This skips the Docker build → image load → rollout cycle entirely, which is especially helpful on low-bandwidth connections or when iterating quickly on controller logic.
38
+
39
+
All you need is a running cluster with CRDs installed and a valid kubeconfig.
| Vite dev server |`:5173`| Frontend with hot-reload |
54
+
| NATS port-forward |`:4222`| Forwards cluster NATS to localhost |
55
+
56
+
The in-cluster controller deployment is automatically scaled to zero so there's no conflict. When you Ctrl+C, the in-cluster controller is restored to 1 replica.
57
+
58
+
Open `http://localhost:5173` in your browser. The API token is `dev-token` (override with `SYMPOZIUM_TOKEN`).
59
+
60
+
### Run just the controller locally
61
+
62
+
If you're only working on controller logic and already have `make dev` running for the UI:
63
+
64
+
```bash
65
+
make run-controller
66
+
```
67
+
68
+
This builds and runs the controller manager locally, scaling down the in-cluster one. On exit it restores the in-cluster deployment.
69
+
70
+
### Run just the API server + UI
71
+
72
+
If you're only working on the API or frontend and want the in-cluster controller to keep running:
73
+
74
+
```bash
75
+
make dev
76
+
```
77
+
78
+
### Undeploy cluster workloads (keep CRDs)
79
+
80
+
To stop all in-cluster Sympozium deployments while keeping CRDs and their instances intact:
0 commit comments