Skip to content

v1.13.1 - Structured Health Check Configuration

Choose a tag to compare

@infigo-denis infigo-denis released this 11 Dec 14:02
· 60 commits to main since this release
ac0da30

What's New

Structured Health Check Configuration

Enhanced health check configuration with support for multiple check types while maintaining backward compatibility.

New Features

  • Structured healthCheck object: New configuration format with url, enabled, and type properties
  • HttpGet check type: Performs actual HTTP GET request and validates response status (2xx/401 = healthy)
  • TcpConnect check type: Verifies host:port is reachable via TCP socket connection without making HTTP request - ideal for non-HTTP services like gRPC
  • Backward compatible: Existing healthCheckUrl string format continues to work unchanged

Configuration Examples

New Format (HttpGet)

"healthCheck": {
  "url": "https://api.example.com/health",
  "enabled": true,
  "type": "HttpGet"
}

TCP Connect (for non-HTTP services)

"healthCheck": {
  "url": "https://grpc.example.com",
  "enabled": true,
  "type": "TcpConnect"
}

Legacy Format (still supported)

"healthCheckUrl": "https://api.example.com/health"

Files Changed

  • Models/ProxyConfig.cs - Added HealthCheckConfig class and HealthCheckType enum
  • HealthChecks/ConnectivityHealthCheck.cs - Support for both check types
  • Models/ApiResponses.cs - Exposed health check config in API responses
  • Controllers/SystemController.cs - Updated status endpoint
  • Example configuration files updated

Testing

  • 45 new tests added (unit + integration)
  • All 91 tests passing
  • Integration tests verify real TCP connections

🤖 Generated with Claude Code