Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions MiscClients/spring_reactjs/src/main/resources/fixclient.cfg
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[DEFAULT]
ConnectionType=initiator
TargetCompID=FIX_GWY_1
#SocketConnectHost=distributed_ats
SocketConnectHost=127.0.0.1
SocketConnectHost=distributed_ats
#SocketConnectHost=127.0.0.1
#SocketConnectHost=165.22.179.176
StartTime=00:00:00
EndTime=24:00:00
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
FROM ubuntu:latest

RUN apt-get update
RUN apt install -y vim cmake curl build-essential libapr1-dev libaprutil1-dev git libboost-all-dev sqlite3 libsqlite3-dev libtool libasio-dev libtinyxml2-dev

ADD build_deps.sh /
RUN /build_deps.sh
RUN apt install -y vim cmake curl build-essential libapr1-dev libaprutil1-dev git libboost-all-dev sqlite3 libsqlite3-dev libtool libasio-dev libtinyxml2-dev zip python3-pip
RUN pip install psutil --break-system-packages

ADD build_distributed_ats.sh /
RUN /build_distributed_ats.sh
Expand Down
12 changes: 12 additions & 0 deletions docker/Docker.Crypto_CLOB
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM ghcr.io/mkipnis/distributed_ats:latest

EXPOSE 15001
EXPOSE 16001
EXPOSE 17001

WORKDIR /opt/DistributedATS

COPY crypto_clob_env.sh dats_env.sh
COPY start_crypto_clob.sh /opt/DistributedATS/MiscATS/CryptoCLOB/scripts/

RUN chmod +x dats_env.sh
12 changes: 12 additions & 0 deletions docker/Docker.UST_CLOB
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM ghcr.io/mkipnis/distributed_ats:latest

EXPOSE 15001
EXPOSE 16001
EXPOSE 17001

WORKDIR /opt/DistributedATS

COPY ust_clob_env.sh dats_env.sh
COPY start_ust_clob.sh /opt/DistributedATS/MiscATS/USTreasuryCLOB/scripts/

RUN chmod +x dats_env.sh
5 changes: 3 additions & 2 deletions docker/Docker.WebTrader
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
FROM tomcat:9.0

ENV CATALINA_OUT /dev/stdout

ADD WebTraderRest-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps/ROOT.war

COPY logging.properties /usr/local/tomcat/conf/logging.properties

EXPOSE 8080
16 changes: 2 additions & 14 deletions docker/build_distributed_ats.sh
Original file line number Diff line number Diff line change
@@ -1,18 +1,6 @@
#!/bin/bash

[[ ! -f /opt/distributed_ats_src ]] && git clone -b FastDDS https://github.com/mkipnis/DistributedATS /opt/distributed_ats_src
[[ ! -f /opt/distributed_ats_src ]] && git clone -b master https://github.com/mkipnis/DistributedATS /opt/distributed_ats_src

cd /opt/distributed_ats_src
rm -rf build
mkdir build
cd build

export DEPS_INSTALL_DIR=/opt/distributed_ats_deps_build/
cmake .. -Dfastcdr_DIR=$DEPS_INSTALL_DIR/lib/cmake/fastcdr/ -Dfastrtps_DIR=$DEPS_INSTALL_DIR/share/fastrtps/cmake/ -Dfoonathan_memory_DIR=$DEPS_INSTALL_DIR/lib/foonathan_memory/cmake/ -Dlog4cxx_DIR=$DEPS_INSTALL_DIR/lib/cmake/log4cxx -DCMAKE_INSTALL_PREFIX=/opt/DistributedATS -DLIQUIBOOK_HOME=$DEPS_INSTALL_DIR/liquibook/src -DQUICKFIX_INSTALL_PREFIX=$DEPS_INSTALL_DIR

cmake --build . --target install --config Debug

chmod +x /opt/DistributedATS/scripts/*.sh
chmod +x /opt/DistributedATS/MiscATS/MultiMatchingEngineATS/scripts/*.sh
chmod +x /opt/DistributedATS/MiscATS/USTreasuryCLOB/scripts/*.sh
chmod +x /opt/DistributedATS/MiscATS/CryptoCLOB/scripts/*.sh
HOME=/opt ./download_deps_and_build_all.sh
22 changes: 22 additions & 0 deletions docker/crypto_clob_env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
export DATS_HOME=/opt/DistributedATS
export DEPS_HOME=/opt/distributed_ats_deps_build
export LD_LIBRARY_PATH=$DEPS_HOME/lib:$DATS_HOME/lib:$LD_LIBRARY_PATH
export LOG4CXX_CONFIGURATION=/opt/DistributedATS/config/log4cxx.xml

#echo Specific Specific

#echo Crypto ATS
export BASEDIR_ATS=$DATS_HOME/MiscATS/CryptoCLOB
export DATS_LOG_HOME=$BASEDIR_ATS/logs
mkdir -p $BASEDIR_ATS/logs

#echo US Treasuries
#export BASEDIR_ATS=$DATS_HOME/MiscATS/USTreasuryCLOB
#export DATS_LOG_HOME=$BASEDIR_ATS/logs
#mkdir -p $BASEDIR_ATS/logs

#echo US Treasuries
#export BASEDIR_ATS=$DATS_HOME/MiscATS/MultiMatchingEngineATS
#export DATS_LOG_HOME=$BASEDIR_ATS/logs
#mkdir -p $BASEDIR_ATS/logs

31 changes: 31 additions & 0 deletions docker/docker-compose-crypto.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
version: '2'

services:
# Core Services: Matching Engines, FIX Gateways
distributed_ats:
container_name: distributed_ats
image: ghcr.io/mkipnis/dats_crypto_clob:latest
command: >
bash -c "cd /opt/DistributedATS/ &&
. ./dats_env.sh &&
cd /opt/DistributedATS/MiscATS/CryptoCLOB/scripts && ./start_crypto_clob.sh"
volumes:
- ./data_ats:/opt/DistributedATS/DataService/sql/sqlite
- ./logs_ats:/opt/DistributedATS/MiscATS/CryptoCLOB/logs
ports:
- "15001:15001"
- "16001:16001"
- "17001:17001"
restart: unless-stopped

# WebTrader Front-End
distributed_ats_webtrader:
container_name: distributed_ats_webtrader
image: ghcr.io/mkipnis/distributed_ats_webtrader:latest
depends_on:
- distributed_ats
volumes:
- ./webtrader_logs:/usr/local/tomcat/logs
ports:
- "8080:8080"
restart: unless-stopped
31 changes: 31 additions & 0 deletions docker/docker-compose-ust.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
version: '2'

services:
# Core Services: Matching Engines, FIX Gateways
distributed_ats:
container_name: distributed_ats
image: ghcr.io/mkipnis/dats_ust_clob:latest
command: >
bash -c "cd /opt/DistributedATS/ &&
. ./dats_env.sh &&
cd /opt/DistributedATS/MiscATS/USTreasuryCLOB/scripts && ./start_ust_clob.sh"
volumes:
- ./data_ats:/opt/DistributedATS/DataService/sql/sqlite
- ./logs_ats:/opt/DistributedATS/MiscATS/USTreasuryCLOB/logs
ports:
- "15001:15001"
- "16001:16001"
- "17001:17001"
restart: unless-stopped

# WebTrader Front-End
distributed_ats_webtrader:
container_name: distributed_ats_webtrader
image: ghcr.io/mkipnis/distributed_ats_webtrader:latest
depends_on:
- distributed_ats
volumes:
- ./webtrader_logs:/usr/local/tomcat/logs
ports:
- "8080:8080"
restart: unless-stopped
26 changes: 0 additions & 26 deletions docker/docker-compose.yml

This file was deleted.

12 changes: 12 additions & 0 deletions docker/dockerize_dats.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/sh

set -x

# Core
docker build -t ghcr.io/mkipnis/distributed_ats:latest -f Docker.Build_Distributed_ATS .
docker build --no-cache -t ghcr.io/mkipnis/dats_crypto_clob:latest -f Docker.Crypto_CLOB .
docker build --no-cache -t ghcr.io/mkipnis/dats_ust_clob:latest -f Docker.UST_CLOB .

docker push ghcr.io/mkipnis/distributed_ats:latest
docker push ghcr.io/mkipnis/dats_crypto_clob:latest
docker push ghcr.io/mkipnis/dats_ust_clob:latest
6 changes: 0 additions & 6 deletions docker/dockerize_it.sh → docker/dockerize_webtrader.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,6 @@

set -x

# Core
#docker build -t distributed_ats_fast_dds -f Docker.build_distributed_ats .
docker build -t ghcr.io/mkipnis/distributed_ats_fast_dds:latest -f Docker.build_distributed_ats .
docker push ghcr.io/mkipnis/distributed_ats_fast_dds:latest

# Front-end
DOCKER_DIR=`pwd`
ln -sf ../MiscClients/spring_reactjs/ WebTrader
Expand All @@ -17,6 +12,5 @@ mvn install
cp target/WebTraderRest-0.0.1-SNAPSHOT.war $DOCKER_DIR
cd $DOCKER_DIR

#docker build -t distributed_ats_webtrader -f Docker.WebTrader .
docker build -t ghcr.io/mkipnis/distributed_ats_webtrader:latest -f Docker.WebTrader .
docker push ghcr.io/mkipnis/distributed_ats_webtrader:latest
17 changes: 17 additions & 0 deletions docker/logging.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Default global logging level.
.level = INFO

# Console handler configuration
handlers = java.util.logging.ConsoleHandler

# Console handler level and formatter
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

# Set logging levels for different components
org.apache.catalina.level = INFO
org.apache.coyote.level = INFO
org.apache.tomcat.util.net.level = INFO

# Optional: increase granularity
org.apache.level = FINE
35 changes: 35 additions & 0 deletions docker/start_ust_clob.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/bash

trap cleanup 1 2 3 6

cleanup()
{
echo "Caught Signal ... cleaning up..."

$BASEDIR_ATS/scripts/stop_ats.sh

echo "Done."

exit 1;
}

sleep 1
$DATS_HOME/scripts/matchingengine.sh start matching_engine_MARKET_UST.ini

sleep 1
$DATS_HOME/scripts/dataservice.sh start data_service_a.ini
$DATS_HOME/scripts/dataservice.sh start data_service_b.ini

sleep 1
$DATS_HOME/scripts/fixgateway.sh start fix_gwy_1.cfg
$DATS_HOME/scripts/fixgateway.sh start fix_gwy_2.cfg

while true; do
$DATS_HOME/scripts/dataservice.sh check data_service_a.ini
$DATS_HOME/scripts/dataservice.sh check data_service_b.ini
$DATS_HOME/scripts/matchingengine.sh check matching_engine_MARKET_UST.ini
$DATS_HOME/scripts/fixgateway.sh check fix_gwy_1.cfg
$DATS_HOME/scripts/fixgateway.sh check fix_gwy_2.cfg

sleep 10;
done
21 changes: 21 additions & 0 deletions docker/ust_clob_env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
export DATS_HOME=/opt/DistributedATS
export DEPS_HOME=/opt/distributed_ats_deps_build
export LD_LIBRARY_PATH=$DEPS_HOME/lib:$DATS_HOME/lib:$LD_LIBRARY_PATH
export LOG4CXX_CONFIGURATION=/opt/DistributedATS/config/log4cxx.xml

#echo Specific Specific

#echo Crypto ATS
#export BASEDIR_ATS=$DATS_HOME/MiscATS/CryptoCLOB
#export DATS_LOG_HOME=$BASEDIR_ATS/logs
#mkdir -p $BASEDIR_ATS/logs

#echo US Treasuries
export BASEDIR_ATS=$DATS_HOME/MiscATS/USTreasuryCLOB
export DATS_LOG_HOME=$BASEDIR_ATS/logs
mkdir -p $BASEDIR_ATS/logs

#echo US Treasuries
#export BASEDIR_ATS=$DATS_HOME/MiscATS/MultiMatchingEngineATS
#export DATS_LOG_HOME=$BASEDIR_ATS/logs
#mkdir -p $BASEDIR_ATS/logs