api smoke test

environment: test namespace: tsearch-test.local scheme: https metrics port: 9090

Overall

PASS On-demand full smoke test

No cached check results are used.

HTTPS

PASS https

Public production traffic should arrive through the HTTPS ALB listener.

Internal Access

PASS Private /internal checked below

Public /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_app

Production 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.

CheckStatusKindMessagems
runtime_configurationPASSrequiredRequired 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_injectionPASSrequiredSecrets 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
postgresqlPASSrequiredPostgreSQL connection, table creation, write, and read succeeded.
{
  "created_at": "2026-10-15 08:32:15.783552+00:00",
  "run_id": "e4e02c23e536469eb9d0fdcf7342d84a"
}
52.71
valkeyPASSrequiredValkey set/get with TTL succeeded.
{
  "key": "infra-smoke:api:090002ee486d4dc6b255147cdf6d8d01",
  "ttl_seconds": 120
}
11.31
typesensePASSrequiredTypesense health, collection, document, lookup, and search succeeded.
{
  "hits": 1,
  "run_id": "0a70dae2b9fb4d06be2db35204c4d489"
}
29.38
migrate_markerPASSoptionalLatest 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
lokiPASSoptionalTCP 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.

EndpointStatusKindMessagems
api/healthPASSrequiredapi/health is reachable through private service discovery.
{
  "http_status": 200,
  "response_service": "api",
  "url": "http://api.tsearch-test.local:80/health"
}
25.78
api/statusPASSrequiredapi local /status checks passed.
{
  "http_status": 200,
  "remote_overall": "pass",
  "response_service": "api",
  "url": "http://api.tsearch-test.local:80/status"
}
184.94
api/internalPASSrequiredapi/internal is reachable through private service discovery.
{
  "http_status": 200,
  "response_service": "api",
  "url": "http://api.tsearch-test.local:80/internal"
}
25.55
api/docsPASSrequiredapi FastAPI docs endpoint is reachable.
{
  "http_status": 200,
  "url": "http://api.tsearch-test.local:80/docs"
}
24.88
api/metricsPASSrequiredapi metrics are reachable on METRICS_PORT.
{
  "http_status": 200,
  "url": "http://api.tsearch-test.local:9090/metrics"
}
21.67
admin/healthPASSrequiredadmin/health is reachable through private service discovery.
{
  "http_status": 200,
  "response_service": "admin",
  "url": "http://admin.tsearch-test.local:80/health"
}
24.52
admin/statusPASSrequiredadmin local /status checks passed.
{
  "http_status": 200,
  "remote_overall": "pass",
  "response_service": "admin",
  "url": "http://admin.tsearch-test.local:80/status"
}
202.17
admin/internalPASSrequiredadmin/internal is reachable through private service discovery.
{
  "http_status": 200,
  "response_service": "admin",
  "url": "http://admin.tsearch-test.local:80/internal"
}
29.31
admin/docsPASSrequiredadmin FastAPI docs endpoint is reachable.
{
  "http_status": 200,
  "url": "http://admin.tsearch-test.local:80/docs"
}
28.84
admin/metricsPASSrequiredadmin metrics are reachable on METRICS_PORT.
{
  "http_status": 200,
  "url": "http://admin.tsearch-test.local:9090/metrics"
}
27.49
worker/healthPASSrequiredworker/health is reachable through private service discovery.
{
  "http_status": 200,
  "response_service": "worker",
  "url": "http://worker.tsearch-test.local:80/health"
}
25.22
worker/statusPASSrequiredworker local /status checks passed.
{
  "http_status": 200,
  "remote_overall": "pass",
  "response_service": "worker",
  "url": "http://worker.tsearch-test.local:80/status"
}
182.43
worker/internalPASSrequiredworker/internal is reachable through private service discovery.
{
  "http_status": 200,
  "response_service": "worker",
  "url": "http://worker.tsearch-test.local:80/internal"
}
26.03
worker/docsPASSrequiredworker FastAPI docs endpoint is reachable.
{
  "http_status": 200,
  "url": "http://worker.tsearch-test.local:80/docs"
}
24.98
worker/metricsPASSrequiredworker metrics are reachable on METRICS_PORT.
{
  "http_status": 200,
  "url": "http://worker.tsearch-test.local:9090/metrics"
}
23.04