26 lines
716 B
Markdown
26 lines
716 B
Markdown
# demo-app
|
|
|
|
Minimal TypeScript microservice proving out the homelab CI/CD pipeline:
|
|
|
|
```
|
|
push to main
|
|
-> Forgejo Actions (nholtware/workflows composite actions)
|
|
checks: npm ci + lint + test (docker label)
|
|
build: docker build + push -> 192.168.1.230:3000/nholtware/demo-app:<sha>
|
|
deploy: kustomize edit set image -> commit to nholtware/gitops
|
|
-> ArgoCD syncs gitops -> k3s
|
|
-> served by Traefik at Host: demo-app.k3s.local
|
|
```
|
|
|
|
## Endpoints
|
|
|
|
- `GET /` — JSON with service name, git sha, pod hostname
|
|
- `GET /healthz` — liveness/readiness probe target
|
|
|
|
## Local dev
|
|
|
|
```sh
|
|
npm ci
|
|
npm test
|
|
npm run build && npm start # listens on :3000 (PORT to override)
|
|
```
|