Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ JWT Middleware -> Auth Context -> Resource Middleware -> Endpoint Handlers
- Build: `make build-server` (creates bin/tmiserver executable)
- Lint: `make lint` (runs golangci-lint)
- Generate API: `make generate-api` (uses oapi-codegen with config from oapi-codegen-config.yml)
- Development: `make dev-up` (starts the full dev environment: the server runs in a local kind cluster, with DB and Redis alongside; server reachable at localhost:8080). Tear down with `make dev-down`, check status with `make dev-status`. For Oracle: `make dev-up DB=oracle`.
- Development: `make dev-up` (starts the full dev environment in a local Docker Desktop Kubernetes cluster: the server, PostgreSQL, Redis, and NATS all run in-cluster in the `tmi-platform` namespace; server reachable at localhost:8080). Tear down with `make dev-down`, check status with `make dev-status`. For Oracle: `make dev-up DB=oracle`. For k3s instead of Docker Desktop: `make dev-up CLUSTER=k3s`.
- Clean all: `make clean-everything` (comprehensive cleanup of processes, containers, and files)
- Health check: Use `curl http://localhost:8080/` (root endpoint) to verify server is running or check running version. **There is no /health endpoint.**
- Validate AsyncAPI: `make validate-asyncapi`
Expand Down Expand Up @@ -498,8 +498,8 @@ When working with JSON files **larger than 100KB**, use streaming approaches wit
## Development Environment

- Local dev config lives in `.env.dev` (env vars) and `config-development.yaml`; `config-example.yml` (generated by `cmd/genconfig`) is the annotated template
- `make dev-up` brings up a local **kind** cluster: the TMI server runs in-cluster (deployed into kind), while the PostgreSQL/Oracle database and Redis run as containers external to the cluster. `make dev-down` tears it down (keeping db data), `make dev-status` shows status, `make dev-reset`/`make dev-nuke` provide soft/hard known-state resets. Use `make dev-up DB=oracle` for the Oracle ADB topology.
- Development scripts and the kind tooling handle cluster/container lifecycle automatically
- `make dev-up` brings up a local Kubernetes cluster (default `CLUSTER=docker-desktop`; `CLUSTER=k3s` is also supported) and deploys the full stack **in-cluster** in the `tmi-platform` namespace: the TMI server and Redis run as Deployments, while PostgreSQL and NATS run as StatefulSets. **PostgreSQL data persists in a Kubernetes PVC (`data-postgres-0`), not in a host Docker volume** — rebuilding/re-provisioning the cluster's PVC starts from an empty database. With `DB=oracle` the database is instead an external managed Oracle ADB (cloud), not in-cluster. `make dev-down` tears the deployment down (keeping db data), `make dev-status` shows status, `make dev-reset`/`make dev-nuke` provide soft/hard known-state resets. Orchestration is driven by `scripts/devenv.py`; the manifests live under `deployments/k8s/dev/<cluster>/`.
- The devenv tooling (`scripts/devenv.py`) handles cluster context and deployment lifecycle automatically
- Server is reachable at port 8080 by default with configurable TLS support
- Logs: In development and test, logs are written to `logs/tmi.log` in the project directory
- **Local dev database credentials**: Postgres connection info is in `config-development.yaml` under `database.postgres.{host,port,user,password,database}` (also mirrored as `POSTGRES_*` in `.env.dev`)
Expand Down
Loading