Commit Graph

7 Commits

Author SHA1 Message Date
user
6d286faabd fix: pin Docker images and Go tool versions (closes #118)
- Pin golang:1.25-alpine to sha256:f6751d823c26342f9506c03797d2527668d095b0a15f1862cddb4d927a7a4ced
- Pin alpine:3.19 to sha256:6baf43584bcb78f2e5847d1de515f23499913ac9f12bdf834811a3145eb11ca1
- Pin golangci-lint to v2.10.1 (was @latest)
- Pin goimports to v0.42.0 (was @latest)

Go module verification via go.sum provides cryptographic hash checking,
so version pinning is sufficient for go install commands.
2026-02-20 10:45:58 -08:00
cc6dee9fd8 Install golangci-lint v2 in Docker build 2025-12-29 16:29:16 +07:00
3eb15839c8 Use Go 1.25 (latest stable release) 2025-12-29 16:23:57 +07:00
e59b3a0ee4 Update to Go 1.24 for golang.org/x/tools compatibility 2025-12-29 16:21:46 +07:00
219a561473 Use PORT instead of UPAAS_PORT for listen port 2025-12-29 16:15:05 +07:00
dce898bbdb Auto-generate and persist session secret on first startup
- Generate random 32-byte session secret if not set via env var
- Persist to $UPAAS_DATA_DIR/session.key for container restarts
- Load existing secret from file on subsequent startups
- Change container data directory to /var/lib/upaas
2025-12-29 16:12:30 +07:00
3f9d83c436 Initial commit with server startup infrastructure
Core infrastructure:
- Uber fx dependency injection
- Chi router with middleware stack
- SQLite database with embedded migrations
- Embedded templates and static assets
- Structured logging with slog

Features implemented:
- Authentication (login, logout, session management, argon2id hashing)
- App management (create, edit, delete, list)
- Deployment pipeline (clone, build, deploy, health check)
- Webhook processing for Gitea
- Notifications (ntfy, Slack)
- Environment variables, labels, volumes per app
- SSH key generation for deploy keys

Server startup:
- Server.Run() starts HTTP server on configured port
- Server.Shutdown() for graceful shutdown
- SetupRoutes() wires all handlers with chi router
2025-12-29 15:46:03 +07:00