mirror of
https://codeberg.org/Toasterson/solstice-ci.git
synced 2026-04-10 13:20:41 +00:00
32 lines
1.2 KiB
Text
32 lines
1.2 KiB
Text
|
|
#!/usr/bin/env bash
|
||
|
|
set -euo pipefail
|
||
|
|
# Run the Solstice Forge Integration (webhook listener) with local defaults.
|
||
|
|
# Intended for local development with Hookdeck CLI forwarding.
|
||
|
|
# Example (in another terminal):
|
||
|
|
# hookdeck listen http://localhost:8080/webhooks/forgejo
|
||
|
|
|
||
|
|
command -v cargo >/dev/null 2>&1 || { echo "cargo is required" >&2; exit 127; }
|
||
|
|
|
||
|
|
export RUST_LOG=${RUST_LOG:-info}
|
||
|
|
|
||
|
|
# HTTP listener configuration
|
||
|
|
export HTTP_ADDR=${HTTP_ADDR:-0.0.0.0:8080}
|
||
|
|
export WEBHOOK_PATH=${WEBHOOK_PATH:-/webhooks/forgejo}
|
||
|
|
# Optional shared secret used to verify webhook signatures. Leave empty for dev.
|
||
|
|
export WEBHOOK_SECRET=${WEBHOOK_SECRET:-}
|
||
|
|
|
||
|
|
# AMQP defaults for local dev (RabbitMQ)
|
||
|
|
export AMQP_URL=${AMQP_URL:-amqp://127.0.0.1:5672/%2f}
|
||
|
|
export AMQP_EXCHANGE=${AMQP_EXCHANGE:-solstice.jobs}
|
||
|
|
export AMQP_QUEUE=${AMQP_QUEUE:-solstice.jobs.v1}
|
||
|
|
export AMQP_ROUTING_KEY=${AMQP_ROUTING_KEY:-jobrequest.v1}
|
||
|
|
export SOL_RUNS_ON=ubuntu-22.04
|
||
|
|
|
||
|
|
# Note: Other optional envs are respected by the binary if set:
|
||
|
|
# FORGEJO_BASE_URL, FORGEJO_TOKEN, FORGE_CONTEXT
|
||
|
|
# ORCH_HTTP_BASE, S3_ENDPOINT, S3_BUCKET, RUNS_ON_DEFAULT, RUNS_ON_MAP
|
||
|
|
|
||
|
|
exec cargo run -p forge-integration -- \
|
||
|
|
--http-addr "$HTTP_ADDR" \
|
||
|
|
--webhook-path "$WEBHOOK_PATH"
|