From 4a52dbeed111bc68c066ab3d7da1c78c6102f29b Mon Sep 17 00:00:00 2001 From: saul365 Date: Fri, 18 Jul 2025 11:50:57 -0600 Subject: [PATCH] Add haproxy util to manage haproxy easier --- haproxy-util | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100755 haproxy-util diff --git a/haproxy-util b/haproxy-util new file mode 100755 index 0000000..57907af --- /dev/null +++ b/haproxy-util @@ -0,0 +1,89 @@ +#! /bin/bash + +SUBDOMAIN="" +DOMAIN="" +PORT="" +FILENAME="/etc/haproxy/haproxy.cfg" + +usage(){ +cat << EOF +usage: update-ipv6 [OPTIONS] -s subdomain [-d domain_name] -p port + +Description + +haproxy-util allows to add and modify redirection rules on haproxy +Options: + TBD +EOF +exit 1 + +} + +if [[ $# -lt 4 ]] ; +then + usage +fi + +while [[ ! -z "$1" ]]; do + case $1 in + -s) + SUBDOMAIN=$2 + shift 2;; + -d) + DOMAIN=$2 + shift 2;; + -p) + PORT=$2 + shift 2;; + *) + echo $option + usage;; + esac +done + +if [[ -z "$SUBDOMAIN" ]] ; +then + usage +fi + +#if [[ -z "$DOMAIN" ]] ; +#then + #usage +#fi + +if [[ -z "$PORT" ]] ; +then + usage +fi + +if [[ -n $(grep " $SUBDOMAIN" $FILENAME) ]] ; +then + echo "ERROR: Subdomain already on use" + exit 1 +fi + +if [[ -n $(grep "$PORT" $FILENAME) ]] ; +then + echo "Error: Port already on use" + exit 1 +fi + + +servername=$SUBDOMAIN"_server" + sudo sed -i "s/#ACL Definition/#ACL Definition\n\tacl host_$SUBDOMAIN hdr_beg(host) -i $SUBDOMAIN/" $FILENAME + sudo sed -i "s/#USE_BACKEND Definition/#USE_BACKEND Definition\n\tuse_backend $SUBDOMAIN if host_$SUBDOMAIN/" $FILENAME + sudo sed -i "s/#BACKEND Definition/#BACKEND Definition\nbackend $SUBDOMAIN\n\toption forwardfor\n\tserver $servername localhost:$PORT/" $FILENAME + sudo systemctl restart haproxy + + + + + + + #ACL Definition + #USE_BACKEND Definition + + + + +#BACKED Definition