Files
paste.es/docs/health.md
Malin bc9f96cbd4 feat: rebrand Hemmelig to paste.es for cloudhost.es
- Set Spanish as default language with ephemeral/encrypted privacy focus
- Translate all user-facing strings and legal pages to Spanish
- Replace Norwegian flag with Spanish flag in footer
- Remove Hemmelig/terces.cloud links, add cloudhost.es sponsorship
- Rewrite PrivacyPage: zero data collection, ephemeral design emphasis
- Rewrite TermsPage: Spanish law, RGPD, paste.es/CloudHost.es references
- Update PWA manifest, HTML meta tags, package.json branding
- Rename webhook headers to X-Paste-Event / X-Paste-Signature
- Update API docs title and contact to paste.es / cloudhost.es

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 09:30:19 +01:00

1.9 KiB

Health Check Endpoints

Hemmelig provides health check endpoints for monitoring and container orchestration.

Endpoints

Liveness Probe

GET /api/health/live

Simple check confirming the process is running. Use for Kubernetes liveness probes.

Response: 200 OK

{
    "status": "healthy",
    "timestamp": "2024-01-15T10:30:00.000Z"
}

Readiness Probe

GET /api/health/ready

Comprehensive check verifying all dependencies are operational. Use for Kubernetes readiness probes.

Checks performed:

Check Description
Database Executes SELECT 1, measures latency
Storage Verifies uploads directory is read/write
Memory Checks RSS is below 1GB threshold

Response: 200 OK (all healthy) or 503 Service Unavailable (one or more failed)

{
    "status": "healthy",
    "timestamp": "2024-01-15T10:30:00.000Z",
    "checks": {
        "database": { "status": "healthy", "latency_ms": 2 },
        "storage": { "status": "healthy" },
        "memory": {
            "status": "healthy",
            "heap_used_mb": 128,
            "heap_total_mb": 256,
            "rss_mb": 312,
            "rss_threshold_mb": 1024
        }
    }
}

Legacy Endpoint

GET /api/healthz

Kept for backwards compatibility. Consider using /api/health/live instead.

Kubernetes Configuration

livenessProbe:
    httpGet:
        path: /api/health/live
        port: 3000
    initialDelaySeconds: 5
    periodSeconds: 10

readinessProbe:
    httpGet:
        path: /api/health/ready
        port: 3000
    initialDelaySeconds: 10
    periodSeconds: 30

Docker Compose

healthcheck:
    test: ['CMD', 'curl', '-f', 'http://localhost:3000/api/health/ready']
    interval: 30s
    timeout: 10s
    retries: 3
    start_period: 10s