@stigg/sidecar v2.414.3
Stigg Sidecar Service
What does Stigg Sidecar do?
Stigg Sidecar is a tiny service that runs alongside the main application, acting as a proxy between the host and the Stigg API, while ensuring low latency entitlement checks, handles caching and provides simplified access to real-time data.
The benefits of deploying the Sidecar:
- Less CPU consumption and memory footprint for the host application when compared to embedding the SDK directly
- Language neutral API via Protocol Buffers and gRPC
- Support for in-memory cache or external cache (Redis) for entitlements and usage data
- Scaled together with the main application, or independently if deployed as a standalone service
- Synergy with persistent-cache-service if external cache is in use
- Easy generation of SDK clients in multiple languages, backed by well-known RPC frameworks and tools
Architecture

Prerequisites:
- Docker
- Redis instance, if redis cache is used
Usage:
Login to AWS ECR:
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/stiggRun the service:
docker run --rm --name stigg-sidecar --memory=1gb --cpus="1" \
--publish=8443:8443 --publish=8080:8080 \
-e SERVER_API_KEY="<SERVER_API_KEY>" \
public.ecr.aws/stigg/sidecar:latestConfiguration:
| Environment Variable | Type | Default | Description |
|---|---|---|---|
SERVER_API_KEY | String* | Environment server API key | |
API_URL | String | https://api.stigg.io | Stigg API address URL |
EDGE_ENABLED | Boolean | 1 | Edge API enabled |
EDGE_API_URL | String | https://edge.api.stigg.io | Edge API URL |
WS_ENABLED | Boolean | 1 | Websocket enabled |
WS_URL | String | wss://api.stigg.io | Websocket API URL |
REDIS_ENVIRONMENT_PREFIX | String | Identifier of the environment. If provided, Redis cache will be used. | |
REDIS_HOST | String | localhost | Redis host address |
REDIS_PORT | Number | 6379 | Port of your redis |
REDIS_DB | Number | 0 | DB identifier to use when writing to Redis |
REDIS_USERNAME | String | Redis username | |
REDIS_PASSWORD | String | Redis password | |
REDIS_KEYS_TTL_IN_SECS | Number | 7 * 24 * 60 * 60 | Time for entitlements to be cached,in milliseconds |
PORT | Number | 8443 | gRPC/Connect server port (HTTPS) |
METRICS_PORT | Number | 8080 | Metrics and health endpoints port (HTTP) |
ENTITLEMENTS_FALLBACK | String | | Fallback entitlements in a JSON string format. | |
HEALTH_ENDPOINT_URL | String | livez | Health endpoint URL |
READY_ENDPOINT_URL | String | readyz | Ready endpoint URL |
OFFLINE | Boolean | Enable offline mode for local development |
*Required fields
Health and Metrics:
The service exposes health and metrics endpoints on HTTP server (default port 8080).
GET /livez
Returns 200 if the service is alive.
Healthy response: {"status":"UP"}
GET /readyz
Returns 200 if the service is ready.
Healthy response: { "status": "UP" }
GET /metrics
Returns Prometheus metrics in text format.
10 months ago
10 months ago
12 months ago
12 months ago
12 months ago
10 months ago
10 months ago
12 months ago
10 months ago
10 months ago
10 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago