Added deploy sh
This commit is contained in:
114
deploy.sh
Executable file
114
deploy.sh
Executable file
@@ -0,0 +1,114 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
toUpperCase() {
|
||||||
|
echo "$*" | tr '[:lower:]' '[:upper:]';
|
||||||
|
}
|
||||||
|
GIT_REPO=$GIT_REPO
|
||||||
|
ORGANIZTAION=$ORGANIZATION
|
||||||
|
|
||||||
|
PUBLIC_PROXY=$(toUpperCase $PUBLIC_PROXY)
|
||||||
|
SMARTHOST_PROXY=$(toUpperCase $SMARTHOST_PROXY)
|
||||||
|
WIREGUARD=$(toUpperCase $WIREGUARD)
|
||||||
|
OPENVPN=$(toUpperCase $OPENVPN)
|
||||||
|
|
||||||
|
DEPLOY_KEY=$DEPLOY_KEY
|
||||||
|
SERVICE_DIR=$SERVICE_DIR
|
||||||
|
PROXY_DIR=$PROXY_DIR
|
||||||
|
PROXY_LOG_DIR=$PROXY_LOG_DIR
|
||||||
|
DNS_DIR=$DNS_DIR
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "$PUBLIC_PROXY" == "YES" || "$PUBLIC_PROXY" == "TRUE" ]]; then
|
||||||
|
PROXY_TYPE=public-proxy;
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$SMARTHOST_PROXY" == "YES" || "$SMARTHOST_PROXY" == "TRUE" ]]; then
|
||||||
|
PROXY_TYPE=smarthost-proxy" "$PROXY_TYPE;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# INSTALL PROXY SERVICES
|
||||||
|
|
||||||
|
for i in $(echo $PROXY_TYPE); do
|
||||||
|
|
||||||
|
# Clone source files from git repository
|
||||||
|
git clone $GIT_REPO/$ORGANIZATION/$i.git
|
||||||
|
|
||||||
|
#if [ "$i" == "public-proxy" ] ; then
|
||||||
|
|
||||||
|
# Check VPN accessible
|
||||||
|
#if [[ "$WIREGUARD" == "YES" || "$WIREGUARD" == "TRUE" ]]; then
|
||||||
|
|
||||||
|
# COPY SERVICE FILES INTO SRVICE DIR
|
||||||
|
|
||||||
|
if [ "$SERVICE_DIR" == "" ] ; then
|
||||||
|
SERVICE_DIR="/etc/user/config/services";
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp -av /tmp/$REPOSITORY/$i/service_files/ $SERVICE_DIR/
|
||||||
|
|
||||||
|
# CREATE FILESYSTEM ACCESS FOR SERVICES
|
||||||
|
|
||||||
|
if [ "$PROXY_DIR" == "" ] ; then
|
||||||
|
$PUBLIC_PROXY_DIR="/etc/system/config/$i";
|
||||||
|
else
|
||||||
|
$PUBLIC_PROXY_DIR="$PROXY_DIR/$i"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $PUBLIC_PROXY_DIR/loadbalancer;
|
||||||
|
mkdir -p $PUBLIC_PROXY_DIR/backend;
|
||||||
|
|
||||||
|
if [ "$PROXY_LOG_DIR" == "" ] ; then
|
||||||
|
$PROXY_LOG_DIR="/etc/system/log/$i" ;
|
||||||
|
else
|
||||||
|
$PROXY_LOG_DIR="$PROXY_LOG_DIR/$i" ;
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $PROXY_LOG_DIR/loadbalancer;
|
||||||
|
mkdir -p $PROXY_LOG_DIR/backend;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# CREATE PROXY SCHEDULER SERVICE
|
||||||
|
|
||||||
|
# CHECK proxy.json exists
|
||||||
|
SOURCE=$(cat /tmp/$REPOSITORY/$i/proxy.json);
|
||||||
|
TARGET=$(cat $PUBLIC_PROXY_DIR/proxy.json | tail -n+2);
|
||||||
|
TMP_FILE=/tmp/proxy.json
|
||||||
|
{
|
||||||
|
echo "{"
|
||||||
|
cat $SOURCE
|
||||||
|
} > "$TMP_FILE";
|
||||||
|
|
||||||
|
if [ -f $PUBLIC_PROXY_DIR/proxy.json ]; then
|
||||||
|
{
|
||||||
|
echo "},"
|
||||||
|
echo $TARGET
|
||||||
|
} >> "$TMP_FILE";
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo "}"
|
||||||
|
echo "}"
|
||||||
|
} >> "$TMP_FILE";
|
||||||
|
fi
|
||||||
|
|
||||||
|
jq -r . $TMP_FILE > $PUBLIC_PROXY_DIR/proxy.json
|
||||||
|
|
||||||
|
if [ "$i" == "public-proxy" ]; then
|
||||||
|
|
||||||
|
# COPY LOADBALANCER STATIC CONFIG
|
||||||
|
|
||||||
|
cp -av /tmp/$REPOSITORY/$i/haproxy.cfg $PUBLIC_PROXY_DIR/loadbalancer/ ;
|
||||||
|
|
||||||
|
# COPY PROXY DNS FILES
|
||||||
|
|
||||||
|
git clone $GIT_REPO/$ORGANIZATION/proxy-dns.git
|
||||||
|
|
||||||
|
if [ "$DNS_DIR" == "" ] ; then
|
||||||
|
$DNS_DIR="/etc/system/data/proxy-dns";
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $DNS_DIR;
|
||||||
|
cp -arv /tmp/$REPOSITORY/proxy-dns/ $DNS_DIR/ ;
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
Reference in New Issue
Block a user