use alpine
This commit is contained in:
@@ -7,7 +7,20 @@ log-helper level eq trace && set -x
|
||||
# try to delete virtual ips from interface
|
||||
for vip in $(complex-bash-env iterate KEEPALIVED_VIRTUAL_IPS)
|
||||
do
|
||||
ip addr del ${!vip}/32 dev ${KEEPALIVED_INTERFACE} || true
|
||||
IP_INFO=$(ip addr list | grep ${!vip}) || continue
|
||||
IP_V6=$(echo "${IP_INFO}" | grep "inet6")
|
||||
IP_IP=$(echo "${IP_INFO}" | awk '{print $2}')
|
||||
|
||||
# ipv4
|
||||
if [ -z "${IP_V6}" ]; then
|
||||
IP_INTERFACE=$(echo "${IP_INFO}" | awk '{print $5}')
|
||||
# ipv6
|
||||
else
|
||||
echo "skipping address: ${IP_IP} - ipv6 not supported yet :("
|
||||
continue
|
||||
fi
|
||||
|
||||
ip addr del ${IP_IP} dev ${IP_INTERFACE} || true
|
||||
done
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -4,4 +4,4 @@
|
||||
# https://github.com/osixia/docker-light-baseimage/blob/stable/image/tool/log-helper
|
||||
log-helper level eq trace && set -x
|
||||
|
||||
exec /usr/local/sbin/keepalived -f /etc/keepalived/keepalived.conf --dont-fork --log-console ${KEEPALIVED_COMMAND_LINE_ARGUMENTS}
|
||||
exec /usr/local/sbin/keepalived -f /usr/local/etc/keepalived/keepalived.conf --dont-fork --log-console ${KEEPALIVED_COMMAND_LINE_ARGUMENTS}
|
||||
|
||||
@@ -11,30 +11,31 @@ if [ ! -e "$FIRST_START_DONE" ]; then
|
||||
#
|
||||
# bootstrap config
|
||||
#
|
||||
sed -i --follow-symlinks "s|{{ KEEPALIVED_INTERFACE }}|$KEEPALIVED_INTERFACE|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
sed -i --follow-symlinks "s|{{ KEEPALIVED_PRIORITY }}|$KEEPALIVED_PRIORITY|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
sed -i --follow-symlinks "s|{{ KEEPALIVED_PASSWORD }}|$KEEPALIVED_PASSWORD|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
sed -i "s|{{ KEEPALIVED_INTERFACE }}|$KEEPALIVED_INTERFACE|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
sed -i "s|{{ KEEPALIVED_PRIORITY }}|$KEEPALIVED_PRIORITY|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
sed -i "s|{{ KEEPALIVED_PASSWORD }}|$KEEPALIVED_PASSWORD|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
|
||||
if [ -n "$KEEPALIVED_NOTIFY" ]; then
|
||||
sed -i --follow-symlinks "s|{{ KEEPALIVED_NOTIFY }}|notify \"$KEEPALIVED_NOTIFY\"|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
sed -i "s|{{ KEEPALIVED_NOTIFY }}|notify \"$KEEPALIVED_NOTIFY\"|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
chown keepalived_script:keepalived_script $KEEPALIVED_NOTIFY
|
||||
chmod +x $KEEPALIVED_NOTIFY
|
||||
else
|
||||
sed -i --follow-symlinks "/{{ KEEPALIVED_NOTIFY }}/d" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
sed -i "/{{ KEEPALIVED_NOTIFY }}/d" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
fi
|
||||
|
||||
# unicast peers
|
||||
for peer in $(complex-bash-env iterate KEEPALIVED_UNICAST_PEERS)
|
||||
do
|
||||
sed -i --follow-symlinks "s|{{ KEEPALIVED_UNICAST_PEERS }}|${!peer}\n {{ KEEPALIVED_UNICAST_PEERS }}|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
sed -i "s|{{ KEEPALIVED_UNICAST_PEERS }}|${!peer}\n {{ KEEPALIVED_UNICAST_PEERS }}|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
done
|
||||
sed -i --follow-symlinks "/{{ KEEPALIVED_UNICAST_PEERS }}/d" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
sed -i "/{{ KEEPALIVED_UNICAST_PEERS }}/d" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
|
||||
# virtual ips
|
||||
for vip in $(complex-bash-env iterate KEEPALIVED_VIRTUAL_IPS)
|
||||
do
|
||||
sed -i --follow-symlinks "s|{{ KEEPALIVED_VIRTUAL_IPS }}|${!vip}\n {{ KEEPALIVED_VIRTUAL_IPS }}|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
sed -i "s|{{ KEEPALIVED_VIRTUAL_IPS }}|${!vip}\n {{ KEEPALIVED_VIRTUAL_IPS }}|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
done
|
||||
sed -i --follow-symlinks "/{{ KEEPALIVED_VIRTUAL_IPS }}/d" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
sed -i "/{{ KEEPALIVED_VIRTUAL_IPS }}/d" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
|
||||
|
||||
touch $FIRST_START_DONE
|
||||
fi
|
||||
@@ -42,11 +43,24 @@ fi
|
||||
# try to delete virtual ips from interface
|
||||
for vip in $(complex-bash-env iterate KEEPALIVED_VIRTUAL_IPS)
|
||||
do
|
||||
ip addr del ${!vip}/32 dev ${KEEPALIVED_INTERFACE} || true
|
||||
IP_INFO=$(ip addr list | grep ${!vip}) || continue
|
||||
IP_V6=$(echo "${IP_INFO}" | grep "inet6")
|
||||
IP_IP=$(echo "${IP_INFO}" | awk '{print $2}')
|
||||
|
||||
# ipv4
|
||||
if [ -z "${IP_V6}" ]; then
|
||||
IP_INTERFACE=$(echo "${IP_INFO}" | awk '{print $5}')
|
||||
# ipv6
|
||||
else
|
||||
echo "skipping address: ${IP_IP} - ipv6 not supported yet :("
|
||||
continue
|
||||
fi
|
||||
|
||||
ip addr del ${IP_IP} dev ${IP_INTERFACE} || true
|
||||
done
|
||||
|
||||
if [ ! -e "/etc/keepalived/keepalived.conf" ]; then
|
||||
ln -sf ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf /etc/keepalived/keepalived.conf
|
||||
if [ ! -e "/usr/local/etc/keepalived/keepalived.conf" ]; then
|
||||
ln -sf ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf /usr/local/etc/keepalived/keepalived.conf
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user