No description
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| src | ||
| .dockerignore | ||
| .gitignore | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc.json | ||
| commitlint.config.js | ||
| Dockerfile | ||
| eslint.config.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| vitest.config.ts | ||
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 hostnameGET /healthz— liveness/readiness probe target
Local dev
npm ci
npm test
npm run build && npm start # listens on :3000 (PORT to override)