1.8 KiB
1.8 KiB
Signals CI/CD & Local Stack (DEVOPS-SIG-26-001)
Artifacts:
- Compose stack:
devops/compose/docker-compose.stella-ops.yml(Signals API + PostgreSQL + Valkey + artifact volume). - Sample config:
devops/services/signals-ops/signals.yaml(mounted into the container at/app/signals.yamlif desired). - Dockerfile:
devops/services/signals-ops/Dockerfile(multi-stage build on .NET 10 RC). - Build/export helper:
devops/tools/signals-scripts/build.sh(saves image tar toout/signals/signals-image.tar). - Span sink stack:
devops/services/signals-ops/docker-compose.spansink.yml+otel-spansink.yamlto collect OTLP traces (Excititor/v1/vex/observations/**) and write NDJSON tospansink-datavolume. - Grafana dashboard stub:
devops/services/signals-ops/dashboards/excititor-vex-traces.json(import into Tempo-enabled Grafana).
Quick start (offline-friendly):
# build image
devops/tools/signals-scripts/build.sh
# run stack
docker compose -f devops/compose/docker-compose.stella-ops.yml up -d signals
# hit health
curl -s http://localhost:5088/health
Configuration (ENV or YAML):
Signals__Storage__DriverdefaultpostgresSignals__Storage__ConnectionStringdefaultHost=stellaops-postgres;Port=5432;Database=signals;Username=stellaops;Password=stellaopsSignals__Cache__ConnectionStringdefaultstellaops-valkey:6379Signals__Storage__RootPathdefault/data/artifacts- Authority disabled by default for local; enable with
Signals__Authority__Enabled=trueand issuer settings.
CI workflow:
.gitea/workflows/signals-ci.ymlrestores, builds, tests, builds container, and uploadssignals-image.tarartifact.
Dependencies:
- PostgreSQL 18.1 (primary data store)
- Valkey 9.0.1 (cache, BSD-3 licensed Redis fork)
- Artifact volume
signals_artifactsfor callgraph blobs.