Overall
PASS On-demand full smoke testNo cached check results are used.
HTTPS
PASS httpsPublic production traffic should arrive through the HTTPS ALB listener.
Internal Access
PASS Private /internal checked belowPublic /internal is expected to return 403 from the ALB listener rule.
Loki TCP
PASS TCP connect to Loki host succeeded.Optional check for connectivity from ECS to the configured Loki host on the configured port.
Production Note
WARN Temporary test_appProduction can run this image for infrastructure validation until the real app replaces it.
Local Dependency Checks
Runtime config, Secrets Manager injection, PostgreSQL, Valkey, Typesense, migrate marker, and optional Loki TCP connectivity.
| Check | Status | Kind | Message | ms |
|---|---|---|---|---|
| runtime_configuration | PASS | required | Required runtime configuration is present.{
"config": {
"app_port": 80,
"aws_region": "eu-central-1",
"database": {
"host": "tsearch-test.c5oyiwgikg05.eu-central-1.rds.amazonaws.com",
"name": "tsearch",
"port": 5432,
"user": "tsearch"
},
"environment": "test",
"loki": {
"enabled": true,
"host": "172.31.19.78",
"port": 443
},
"metrics_port": 9090,
"namespace": "tsearch-test.local",
"service_name": "api",
"typesense": {
"host": "typesense.tsearch-test.local",
"port": 8108
},
"valkey": {
"host": "tsearch-test-valkey.5gouny.ng.0001.euc1.cache.amazonaws.com",
"port": 6379
}
},
"present": {
"APP_ENV": true,
"APP_SECRET": true,
"AWS_REGION": true,
"DATABASE_HOST": true,
"DATABASE_NAME": true,
"DATABASE_PASSWORD": true,
"DATABASE_PORT": true,
"DATABASE_USER": true,
"METRICS_PORT": true,
"SERVICE_NAME": true,
"TYPESENSE_API_KEY": true,
"TYPESENSE_HOST": true,
"TYPESENSE_PORT": true,
"VALKEY_HOST": true,
"VALKEY_PORT": true
}
} | 0.02 |
| secrets_manager_injection | PASS | required | Secrets are injected; APP_SECRET length 40, fingerprint a6834e9db377...{
"APP_SECRET": {
"fingerprint_prefix": "a6834e9db377",
"length": 40,
"present": true
},
"DATABASE_PASSWORD": {
"length": 28,
"present": true
},
"TYPESENSE_API_KEY": {
"length": 40,
"present": true
}
} | 0.02 |
| postgresql | PASS | required | PostgreSQL connection, table creation, write, and read succeeded.{
"created_at": "2026-10-15 08:32:15.783552+00:00",
"run_id": "e4e02c23e536469eb9d0fdcf7342d84a"
} | 52.71 |
| valkey | PASS | required | Valkey set/get with TTL succeeded.{
"key": "infra-smoke:api:090002ee486d4dc6b255147cdf6d8d01",
"ttl_seconds": 120
} | 11.31 |
| typesense | PASS | required | Typesense health, collection, document, lookup, and search succeeded.{
"hits": 1,
"run_id": "0a70dae2b9fb4d06be2db35204c4d489"
} | 29.38 |
| migrate_marker | PASS | optional | Latest migrate marker was found in PostgreSQL.{
"created_at": "2026-10-14 07:53:46.236694+00:00",
"service_name": "migrate",
"value": "migrate:d8c4337cd52f4f1496749594aebd6071"
} | 51.64 |
| loki | PASS | optional | TCP connect to Loki host succeeded.{
"host": "172.31.19.78",
"port": 443
} | 0.8 |
Private Service Endpoint Matrix
API, admin, and worker are queried through Cloud Map, including the API service itself.
| Endpoint | Status | Kind | Message | ms |
|---|---|---|---|---|
| api/health | PASS | required | api/health is reachable through private service discovery.{
"http_status": 200,
"response_service": "api",
"url": "http://api.tsearch-test.local:80/health"
} | 25.78 |
| api/status | PASS | required | api local /status checks passed.{
"http_status": 200,
"remote_overall": "pass",
"response_service": "api",
"url": "http://api.tsearch-test.local:80/status"
} | 184.94 |
| api/internal | PASS | required | api/internal is reachable through private service discovery.{
"http_status": 200,
"response_service": "api",
"url": "http://api.tsearch-test.local:80/internal"
} | 25.55 |
| api/docs | PASS | required | api FastAPI docs endpoint is reachable.{
"http_status": 200,
"url": "http://api.tsearch-test.local:80/docs"
} | 24.88 |
| api/metrics | PASS | required | api metrics are reachable on METRICS_PORT.{
"http_status": 200,
"url": "http://api.tsearch-test.local:9090/metrics"
} | 21.67 |
| admin/health | PASS | required | admin/health is reachable through private service discovery.{
"http_status": 200,
"response_service": "admin",
"url": "http://admin.tsearch-test.local:80/health"
} | 24.52 |
| admin/status | PASS | required | admin local /status checks passed.{
"http_status": 200,
"remote_overall": "pass",
"response_service": "admin",
"url": "http://admin.tsearch-test.local:80/status"
} | 202.17 |
| admin/internal | PASS | required | admin/internal is reachable through private service discovery.{
"http_status": 200,
"response_service": "admin",
"url": "http://admin.tsearch-test.local:80/internal"
} | 29.31 |
| admin/docs | PASS | required | admin FastAPI docs endpoint is reachable.{
"http_status": 200,
"url": "http://admin.tsearch-test.local:80/docs"
} | 28.84 |
| admin/metrics | PASS | required | admin metrics are reachable on METRICS_PORT.{
"http_status": 200,
"url": "http://admin.tsearch-test.local:9090/metrics"
} | 27.49 |
| worker/health | PASS | required | worker/health is reachable through private service discovery.{
"http_status": 200,
"response_service": "worker",
"url": "http://worker.tsearch-test.local:80/health"
} | 25.22 |
| worker/status | PASS | required | worker local /status checks passed.{
"http_status": 200,
"remote_overall": "pass",
"response_service": "worker",
"url": "http://worker.tsearch-test.local:80/status"
} | 182.43 |
| worker/internal | PASS | required | worker/internal is reachable through private service discovery.{
"http_status": 200,
"response_service": "worker",
"url": "http://worker.tsearch-test.local:80/internal"
} | 26.03 |
| worker/docs | PASS | required | worker FastAPI docs endpoint is reachable.{
"http_status": 200,
"url": "http://worker.tsearch-test.local:80/docs"
} | 24.98 |
| worker/metrics | PASS | required | worker metrics are reachable on METRICS_PORT.{
"http_status": 200,
"url": "http://worker.tsearch-test.local:9090/metrics"
} | 23.04 |