feat: complete gRPC streaming channel — site host, docker config, docs, integration tests
Switch site host to WebApplicationBuilder with Kestrel HTTP/2 gRPC server, add GrpcPort/keepalive config, wire SiteStreamManager as ISiteStreamSubscriber, expose gRPC ports in docker-compose, add site seed script, update all 10 requirement docs + CLAUDE.md + README.md for the new dual-transport architecture.
This commit is contained in:
62
docker/seed-sites.sh
Executable file
62
docker/seed-sites.sh
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# Seed the three test sites with Akka and gRPC addresses.
|
||||
# Run after deploy.sh once the central cluster is healthy.
|
||||
#
|
||||
# Prerequisites:
|
||||
# - Infrastructure services running (infra/docker-compose up -d)
|
||||
# - Application containers running (docker/deploy.sh)
|
||||
# - Central cluster healthy (curl http://localhost:9000/health/ready)
|
||||
#
|
||||
# Usage:
|
||||
# docker/seed-sites.sh
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
CLI="dotnet run --project $PROJECT_ROOT/src/ScadaLink.CLI --"
|
||||
AUTH="--username multi-role --password password"
|
||||
URL="--url http://localhost:9000"
|
||||
|
||||
echo "=== Seeding ScadaLink Sites ==="
|
||||
|
||||
echo ""
|
||||
echo "Creating Site-A (Test Plant A)..."
|
||||
$CLI $URL $AUTH site create \
|
||||
--name "Test Plant A" \
|
||||
--identifier "site-a" \
|
||||
--description "Test site A - two-node cluster" \
|
||||
--node-a-address "akka.tcp://scadalink@scadalink-site-a-a:8082" \
|
||||
--node-b-address "akka.tcp://scadalink@scadalink-site-a-b:8082" \
|
||||
--grpc-node-a-address "http://scadalink-site-a-a:8083" \
|
||||
--grpc-node-b-address "http://scadalink-site-a-b:8083" \
|
||||
|| echo " (Site-A may already exist)"
|
||||
|
||||
echo ""
|
||||
echo "Creating Site-B (Test Plant B)..."
|
||||
$CLI $URL $AUTH site create \
|
||||
--name "Test Plant B" \
|
||||
--identifier "site-b" \
|
||||
--description "Test site B - two-node cluster" \
|
||||
--node-a-address "akka.tcp://scadalink@scadalink-site-b-a:8082" \
|
||||
--node-b-address "akka.tcp://scadalink@scadalink-site-b-b:8082" \
|
||||
--grpc-node-a-address "http://scadalink-site-b-a:8083" \
|
||||
--grpc-node-b-address "http://scadalink-site-b-b:8083" \
|
||||
|| echo " (Site-B may already exist)"
|
||||
|
||||
echo ""
|
||||
echo "Creating Site-C (Test Plant C)..."
|
||||
$CLI $URL $AUTH site create \
|
||||
--name "Test Plant C" \
|
||||
--identifier "site-c" \
|
||||
--description "Test site C - two-node cluster" \
|
||||
--node-a-address "akka.tcp://scadalink@scadalink-site-c-a:8082" \
|
||||
--node-b-address "akka.tcp://scadalink@scadalink-site-c-b:8082" \
|
||||
--grpc-node-a-address "http://scadalink-site-c-a:8083" \
|
||||
--grpc-node-b-address "http://scadalink-site-c-b:8083" \
|
||||
|| echo " (Site-C may already exist)"
|
||||
|
||||
echo ""
|
||||
echo "=== Site seeding complete ==="
|
||||
echo ""
|
||||
echo "Verify with: $CLI $URL $AUTH site list"
|
||||
Reference in New Issue
Block a user