Skip to content

Upgrade runtime and add containerized local development #2

Description

@mkarson1997

Goal

Modernize the backend case study and make it reproducible on a clean machine.

Completed

PR #4 was merged as commit 3b924463060b8959e9c170e7f8247919d1664a53.

  • Upgrade all projects from .NET 6 to .NET 10 LTS.
  • Upgrade EF Core packages to 10.0.11.
  • Pin the repository to the .NET 10 SDK toolchain with global.json.
  • Add a multi-stage Dockerfile for the API.
  • Add Docker Compose for API + SQL Server.
  • Require SQL Server password through ignored .env; commit only .env.example.
  • Pass the database connection through environment configuration in Compose.
  • Add explicit opt-in migration-on-start configuration for the local Compose environment.
  • Add /health/live.
  • Add DB-backed /health/ready returning 503 when SQL Server is unavailable.
  • Restrict the Hangfire dashboard to Development.
  • Rewrite README Quick Start around docker compose up --build.
  • Update GitHub Actions to .NET 10 restore/build/tests.
  • Validate Docker Compose configuration in CI.
  • Build the production-style API container image in CI.
  • PR CI passed with 0 build warnings and 0 build errors.

Remaining runtime smoke

  • Run the complete SQL Server + API Compose stack on a Docker-capable machine and verify both /health/live and /health/ready end-to-end.

Acceptance criteria

  • docker compose up --build starts the complete development stack end-to-end.
  • Database initialization/migrations are documented.
  • CI builds the upgraded target and container image.
  • README quick-start uses the reproducible container path.

The engineering migration is merged. This issue stays open only for the full two-container runtime smoke so the repository does not claim an end-to-end result that CI has not executed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions