#!/bin/bash

if [ -z "$1" ] || [ ! -f "/root/rpc/$1.yml" ]; then
    echo "Error: Either no argument provided or /root/rpc/$1.yml does not exist."
    exit 1
fi

services=$(cat "/root/rpc/$1.yml" | yaml2json - | jq '.services' | jq -r 'keys[]' | tr '\n' ' ')
if [ -z "$services" ]; then
    echo "FATAL: no services found in /root/rpc/$1.yml" >&2
    exit 1
fi

docker compose -f /root/rpc/base.yml -f "/root/rpc/$1.yml" up -d $services
rc=$?
if [ $rc -ne 0 ]; then
    echo "FATAL: docker compose up failed for $1 (exit $rc)" >&2
    exit $rc
fi
