Go Live Checklist + Version Endpoint

- Go Live Checklist for LandveX Internal Pilot deployment
- Version endpoint: /version returns environment, version, commit, build
- Ready for Internal Pilot deployment

Next: Deploy with Docker Compose
This commit is contained in:
Bernt
2026-07-02 17:10:09 +00:00
parent 740da921fe
commit ddfe99f9f2
3 changed files with 118 additions and 0 deletions
+93
View File
@@ -0,0 +1,93 @@
# Go Live Checklist — LandveX Internal Pilot
> **Mål:** Deploya LandveX Internal Pilot. Inte "Pilot Environment" — detta är vår dagliga arbetsmiljö och ska behandlas nästan som produktion.
---
## Git & Versionshantering
- [ ] All kod ligger i Git
- [ ] Alla ändringar går via PR
- [ ] Commit SHA visas i UI (`/version` eller footer)
- [ ] Versionsnummer visas tydligt
## Kubernetes
- [ ] GitOps styr deployment
- [ ] Helm/Kustomize (eller motsvarande) är versionshanterade
- [ ] Inga manuella ändringar i klustret
- [ ] Secrets hanteras via valda secret manager, inte i Git
## Observability
- [ ] OpenTelemetry aktiverat
- [ ] Strukturerad JSON-loggning
- [ ] Korrelations-ID genom hela kedjan
- [ ] `/health`, `/ready`, `/live`, `/metrics` fungerar för alla tjänster
## Storage
- [ ] Artifact Registry fungerar
- [ ] Objektlagring fungerar
- [ ] Checksummor verifieras
- [ ] Metadata extraheras
## Säkerhet
- [ ] RBAC fungerar
- [ ] Feature Flags fungerar
- [ ] Developer Mode endast för behöriga
- [ ] Audit-loggning för administrativa åtgärder
---
## Platform Readiness
| Modul | Status |
|-------|--------|
| Mission Import | ☐ |
| Artifact Registry | ☐ |
| Storage | ☐ |
| Metadata | ☐ |
| Operations | ☐ |
| Developer Mode | ☐ |
| Replay | — (senare) |
| Decision Pipeline | — (senare) |
| Learning | — (senare) |
---
## Pilot 001 Uppdrag
> **Bryt systemet.**
Testa:
- [ ] Dålig täckning
- [ ] Stora videofiler
- [ ] Avbruten upload
- [ ] Flera telefonmodeller
- [ ] Dålig GPS
- [ ] Mörker
- [ ] Regn
- [ ] Dålig belysning
Ju tidigare ni hittar gränserna, desto bättre blir plattformen.
---
## Efter Varje Pilotdag (30 min)
1. Vad fungerade bäst?
2. Vad blockerade oss?
3. Vad lärde vi oss om användarna?
4. Vad ska in i nästa sprint?
Inga längre diskussioner — bara konkreta observationer och prioriteringar.
---
## Status
- **Version:** 1.0
- **Date:** 2026-07-02
- **Next:** Deploy Internal Pilot
+2
View File
@@ -12,6 +12,7 @@ import cors from 'cors';
import helmet from 'helmet';
import missionImportRoutes from './routes/mission-import';
import versionRoutes from './routes/version';
const app = express();
const PORT = process.env.PORT || 3000;
@@ -23,6 +24,7 @@ app.use(express.json());
// Routes
app.use('/api/v1/missions', missionImportRoutes);
app.use('/version', versionRoutes);
// Health check
app.get('/health', (_req, res) => {
+23
View File
@@ -0,0 +1,23 @@
/**
* Version endpoint
*
* Returns current version, commit SHA, and build info.
* Used by Readiness Dashboard and debugging.
*/
import { Router } from 'express';
const router = Router();
const VERSION = {
environment: process.env.NODE_ENV || 'development',
version: process.env.npm_package_version || '0.1.0',
commit: process.env.GIT_COMMIT || 'unknown',
build: new Date().toISOString(),
};
router.get('/', (_req, res) => {
res.json(VERSION);
});
export default router;