Skip to content

Demo compose

This compose runs Tapyr against the simulators of the built-in providers, without any vendor account. Its services:

Service What it does Address
sim tapyr sim --all: one simulator per built-in provider, with its auth, pagination and limits (429 with Retry-After and quota headers) inside the compose network only
tapyr collects from the simulators (tapyr/config.yaml) and pushes the samples to VictoriaMetrics by remote write http://127.0.0.1:9790/ui/
victoriametrics stores the samples and scrapes the self-metrics of Tapyr on /metrics/self http://127.0.0.1:8428/vmui/
grafana the Tapyr / Overview dashboard and the dashboard of every provider, anonymous read access http://127.0.0.1:3000
docker compose up -d
docker compose logs -f tapyr     # JSON logs
docker compose down -v           # stop and forget the data

The first samples arrive within a minute (the demo spreads the first runs over 1% of their interval instead of the default 10%). The ports listen on 127.0.0.1 only.

The simulators listen at 8081 plus the portOffset of their package (sim/sim.yaml): aruba-central-classic 8081, example-sim 8082, meraki-dashboard 8083, teltonika-rms 8084, teltonika-rutos 8085. The credentials in compose.yaml are the ones the simulators accept; none of them is a real secret.

Try the fault scenarios

Every provider package has a quota-tight scenario (a quota smaller than the plan expects, or another client consuming it) and a bad-day scenario (errors, latency, an outage). Start the simulators with one of them and watch Tapyr adapt in the Budgets and Plan pages of the UI and in the Quotas row of the overview dashboard:

SIM_SCENARIO=quota-tight docker compose up -d sim
SIM_SCENARIO=bad-day docker compose up -d sim
docker compose up -d sim           # back to the default behavior

With your own build

The compose uses the image of the release. To try a local build:

make docker                                   # from the root of the repository: tapyr:dev
TAPYR_IMAGE=tapyr:dev docker compose up -d