We are currently deploying DevTest 10 using Docker on a single host.
As part of this, we spin up 4 containers.
- Dashboard (dradis-base)
-Registry (registry-broker-base)
-VSE (servers-base)
-Portal (portal-base)
We are now running into a situation, where I would like to split the containers across hosts. I need help to identify which properties in the lisa.properties file to update in order to facilitate this. I want to make the containers server agnostic. For example I can deploy these 4 containers to 4 separate servers.
I have my own images based off the official images. I override the entrypoint in the docker image, and provide a script that finds and replaces properties.
The environment variables are injected at deploy time. Ie REGISTRY_URL will have the DNS name where the registry is deployed.
Registry
#!/bin/bash
sed -i "s#lisa.registryName=.*#lisa.registryName=tcp://$REGISTRY_URL:2010/Registry#" \
/opt/devtest/lisa.properties
sed -i "s#lisadb.pool.common.url=.*#lisadb.pool.common.url=$JDBC_STRING#" \
/opt/devtest/lisa.properties
# Start Registry
/opt/devtest/bin/Registry -n tcp://$REGISTRY_URL:2010/Registry
Dashboard
#!/bin/bash
sed -i "s#tcp://.*:2003/EnterpriseDashboard#tcp://$DASHBOARD_URL:2003/EnterpriseDashboard#" /opt/devtest/lisa.properties sed -i "s/devtest.enterprisedashboard.host=localhost/devtest.enterprisedashboard.host=$DASHBOARD_URL/" /opt/devtest/lisa.properties
# start dashboard
/opt/devtest/bin/EnterpriseDashboard
VSE
#!/bin/bash -x
sed -i "s#lisa.vseName=.*#lisa.vseName=tcp://$VSE_URL:2013/VSE#" \
/opt/devtest/lisa.properties
sed -i "s#lisa.registryName=.*#lisa.registryName=tcp://$REGISTRY_URL:2010/Registry#" \
/opt/devtest/lisa.properties
sed -i "s#lisadb.pool.common.url=.*#lisadb.pool.common.url=$JDBC_STRING#" \
/opt/devtest/lisa.properties
/opt/devtest/bin/VirtualServiceEnvironment -n tcp://${VSE_URL}:2013/VSE -m tcp://${REGISTRY_URL}:2010/Registry
Portal
#!/bin/bash
sed -i "s#lisa.registryName=.*#lisa.registryName=tcp://$REGISTRY_URL:2010/Registry#" \ /opt/devtest/lisa.properties sed -i "s#lisa.vseName=.*#lisa.vseName=tcp://$VSE_URL:2013/VSE#" \
/opt/devtest/lisa.properties
sed -i "s#lisadb.pool.common.url=.*#lisadb.pool.common.url=$JDBC_STRING#" \
/opt/devtest/lisa.properties
# Start Portal
/opt/devtest/bin/Portal -J-Dregistry.host="$REGISTRY_URL" -J-DlisaAutoConnect="tcp://$REGISTRY_URL:2010/Registry"
For reference, here is a sample dockerfile. I take the files ca provide and add these scripts as entrypoints.
FROM myregistry/devtest/servers-base:10.0.0.431
ADD ./init.sh /root/init.sh
ENTRYPOINT ["/root/init.sh"]
Please help me to identify all properties to update, in order to allow the ability to deploy these 4 containers on 4 separate servers.
Thanks