Skip to content

[FEAT] Implement Basic Service#1

Merged
bbengfort merged 2 commits intomainfrom
basic-service
Mar 21, 2026
Merged

[FEAT] Implement Basic Service#1
bbengfort merged 2 commits intomainfrom
basic-service

Conversation

@bbengfort
Copy link
Copy Markdown
Contributor

@bbengfort bbengfort commented Mar 21, 2026

Scope of changes

Implements the basic service architecture in Golang.

Estimated PR Size:

  • Tiny
  • Small
  • Medium
  • Large
  • Huge

Acceptance criteria

This PR will be merged without review.

Author checklist

  • I have manually tested the change and/or added automation in the form of unit tests or integration tests
  • I have updated the dependencies list
  • I have added new test fixtures as needed to support added tests
  • I have added or updated the documentation
  • I have run go generate to update generated code

Note

Medium Risk
Introduces a new Gin-based HTTP server with health/status endpoints, maintenance gating, and content negotiation, plus new dependencies and startup/shutdown behavior. Risk is moderate because it establishes core runtime/service behavior but doesn’t touch auth or persistent data.

Overview
Implements the initial runnable uptime service: a CLI (serve, config) that loads env via godotenv, prints config usage, and starts the server.

Adds a Gin-based HTTP server with graceful shutdown, Kubernetes probe endpoints (/healthz, /livez, /readyz), a public GET /v1/status heartbeat returning status/uptime/version, and optional global maintenance mode that returns 503 with JSON/HTML negotiation.

Introduces config loading via confire, standard JSON API reply/error helpers, HTML scene context for error pages, and an .air.toml dev hot-reload build setup; updates go.mod/go.sum with required server/telemetry dependencies.

Written by Cursor Bugbot for commit f1b33a7. Configure here.

@bbengfort bbengfort merged commit 23dfe9d into main Mar 21, 2026
3 checks passed
@bbengfort bbengfort deleted the basic-service branch March 21, 2026 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant