Files
2026-05-17 21:01:07 +02:00

77 lines
2.4 KiB
YAML

# zerops.yaml — runtime build/run config for the chaos test services.
#
# Two setups, both built from the same Go source under valkey/.
#
# chaosworker 10 replicas, ships events to chaoscollector (no exposed port).
# Reads $ZEROPS_Number → maps to Redis DB N and pub/sub
# channel suffix ":N" so the 10 containers don't collide
# in the keyspace or on the same channel.
#
# chaoscollector 1 replica, exposes :8080 with subdomain access enabled,
# ingests events from the workers and serves the dashboard.
#
# NB: validate the exact schema (field names, autoscaling block, prepare
# commands) against the current Zerops docs before pushing. Field names
# below follow the typical zerops.yaml conventions but vary by runtime
# version.
zerops:
- setup: chaosworker
build:
base: ubuntu/go@1
buildCommands:
- go build -o app .
deployFiles:
- app
- config.yaml
cache: true
run:
base: ubuntu@latest
start: ./app --worker --config config.yaml
envVariables:
COLLECTOR_URL: http://chaoscollector.zerops:8080
VALKEY_PASSWORD: ${valkeyha_password}
- setup: chaoscollector
build:
base: ubuntu/go@1
buildCommands:
- go build -o app .
deployFiles:
- app
cache: true
run:
base: ubuntu@latest
ports:
- port: 8080
httpSupport: true
start: ./app --collector --collector-port 8080
- setup: chaosbasic
build:
base: ubuntu/go@1
buildCommands:
- go build -o app .
deployFiles:
- app
- config-basic.yaml
cache: true
run:
base: ubuntu@latest
ports:
- port: 8080
httpSupport: true
startCommands:
- name: collector
command: ./app --collector --collector-port 8080
- name: worker
command: ./app --worker --config config-basic.yaml
envVariables:
COLLECTOR_URL: http://localhost:8080
VALKEY_VALKEYSINGLE1_PASSWORD: ${valkeysingle1_password}
VALKEY_VALKEYSINGLE2_PASSWORD: ${valkeysingle2_password}
VALKEY_VALKEYSINGLE3_PASSWORD: ${valkeysingle3_password}
VALKEY_VALKEYHA1_PASSWORD: ${valkeyha1_password}
VALKEY_VALKEYHA2_PASSWORD: ${valkeyha2_password}
VALKEY_VALKEYHA3_PASSWORD: ${valkeyha3_password}