1
0
Fork 0
mirror of https://github.com/anyproto/any-sync-dockercompose.git synced 2025-06-08 05:47:03 +09:00
any-sync-dockercompose/docker-generateconfig/processing.sh

48 lines
1.9 KiB
Bash
Executable file

#!/bin/bash
source generateconfig/.env
# Set file paths
dest_path="etc"
network_file="${dest_path}/network.yml"
# Create directories for all node
for i in {1..3}; do
mkdir -p "${dest_path}/any-sync-node-${i}"
done
# Create directories for other node types
for node_type in filenode coordinator consensusnode; do
mkdir -p "${dest_path}/any-sync-${node_type}"
done
# Generate network file
sed 's|^| |; 1s|^|network:\n|' "generateconfig/nodes.yml" > "${network_file}"
# Generate config files for 3 nodes
for i in {0..2}; do
node_file="${dest_path}/any-sync-node-$((i+1))/config.yml"
cat "${network_file}" tmp-etc/common.yml generateconfig/account${i}.yml tmp-etc/node-$((i+1)).yml > "${node_file}"
done
# Generate config files for coordinator, filenode, consensusnode
cat "${network_file}" tmp-etc/common.yml generateconfig/account3.yml tmp-etc/coordinator.yml > ${dest_path}/any-sync-coordinator/config.yml
cat "${network_file}" tmp-etc/common.yml generateconfig/account4.yml tmp-etc/filenode.yml > ${dest_path}/any-sync-filenode/config.yml
cat "${network_file}" tmp-etc/common.yml generateconfig/account5.yml tmp-etc/consensusnode.yml > ${dest_path}/any-sync-consensusnode/config.yml
# Copy network file to coordinator directory
cp "generateconfig/nodes.yml" "${dest_path}/any-sync-coordinator/network.yml"
# Replace placeholders in config files
for node_type in node_1 node_2 node_3 coordinator filenode consensusnode; do
addresses="ANY_SYNC_${node_type^^}_ADDRESSES"
quic_addresses="ANY_SYNC_${node_type^^}_QUIC_ADDRESSES"
perl -i -pe "s|%${addresses}%|${!addresses}|g" "${network_file}" "${dest_path}/"/*/*.yml
perl -i -pe "s|%${quic_addresses}%|${!quic_addresses}|g" "${network_file}" "${dest_path}/"/*/*.yml
done
# Replace other placeholders
placeholders=( "MONGO_CONNECT" "REDIS_URL" "AWS_PORT" )
for placeholder in "${placeholders[@]}"; do
perl -i -pe "s|%${placeholder}%|${!placeholder}|g" "${network_file}" "${dest_path}/"/*/*.yml
done