github bscott/subtrackr v0.4.6
v0.4.6 - Docker Healthcheck & CI/CD Improvements

latest releases: v0.5.7, v0.5.6, v0.5.5...
3 months ago

SubTrackr v0.4.6 Release Notes

🎉 Overview

This release focuses on Docker improvements and CI/CD pipeline optimization. We've added Docker healthcheck support (Issue #47), simplified Docker image tagging, and optimized the build pipeline to only create images on Git tags.

✨ New Features

🐳 Docker Healthcheck (Resolves #47)

  • Container Health Monitoring

    • Added HEALTHCHECK instruction to Dockerfile
    • Monitors application health every 30 seconds
    • 3-second timeout per health check
    • 5-second start period to allow application initialization
    • 3 retries before marking container as unhealthy
    • Uses curl to check /healthz endpoint with database connectivity verification
    • Verifies both HTTP server and database availability
    • Enables better container orchestration and monitoring
  • Health Endpoint

    • New /healthz endpoint (Kubernetes convention)
    • Checks database connectivity in addition to HTTP server availability
    • Returns 200 OK with {"status": "healthy"} when healthy
    • Returns 503 Service Unavailable when database is unavailable
  • Runtime Dependencies

    • Added curl to runtime dependencies for healthcheck support
    • Minimal impact on image size (~180MB total)

🔧 CI/CD Pipeline Improvements

  • Simplified Docker Image Tagging

    • Only creates exact version tag (e.g., v0.4.6) and latest
    • Removed major and minor version tags (v0, v0.4)
    • Cleaner image registry with fewer redundant tags
    • Easier to identify specific versions
  • Optimized Build Triggers

    • Docker images only build on Git tag pushes (v*)
    • Removed automatic builds on main branch pushes
    • Reduces CI/CD resource usage
    • Manual builds still available via workflow_dispatch
    • More efficient and cost-effective pipeline

🔧 Technical Improvements

Docker

  • Healthcheck configuration following Docker best practices
  • Multi-stage build maintained for optimal image size
  • All runtime dependencies properly included

GitHub Actions

  • Streamlined workflow configuration
  • Reduced unnecessary build triggers
  • Better resource utilization

Project Configuration

  • Updated .gitignore with additional entries
  • Improved project organization

🔄 Migration Notes

  • Docker Images: Existing images continue to work
  • CI/CD: Pipeline changes only affect new builds
  • Health Endpoint: If you're using the /health endpoint for monitoring, update to /healthz

📝 Breaking Changes

Health Endpoint Change

  • /health endpoint removed: The previous /health endpoint has been replaced with /healthz
  • Action Required: If you have monitoring systems, health checks, or load balancers configured to use /health, update them to use /healthz instead
  • Reason: The new /healthz endpoint provides better health verification by checking both HTTP server and database connectivity, following Kubernetes conventions
  • Impact: Low - Only affects systems actively monitoring the health endpoint

🙏 Acknowledgments

  • Issue #47 contributor for Docker healthcheck request
  • Community feedback on CI/CD optimization

📚 Documentation

  • Docker healthcheck follows Docker documentation
  • Updated workflow documentation for tag-based builds

Release Date: 11/14/25
Git Tag: v0.4.6
Branch: v0.4.6

Don't miss a new subtrackr release

NewReleases is sending notifications on new releases.