-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7f716d8
commit 9b3120d
Showing
5 changed files
with
54 additions
and
239 deletions.
There are no files selected for viewing
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,65 +1,72 @@ | ||
#!/command/with-contenv bash | ||
|
||
# FILENAME=./rootfs/proxysql.conf | ||
# COUNT=($(grep -o "ENV\.[A-Z_]*" $FILENAME )) | ||
# COUNT=($(grep -o "ENV\.[A-Z_]*" /proxysql.conf )) | ||
# cp /proxysql.conf /proxysql.conf.tpl | ||
# NEWFILENAME=/proxysql.conf.tpl | ||
# touch /proxysql.conf.tpl | ||
# for ENV in ${COUNT[@]}; do | ||
# # echo $ENV; | ||
# key=$(echo $ENV | sed "s/ENV.//g") | ||
# val=$(echo ${!key}) | ||
# sed -i "s/$ENV/$val/g" "$NEWFILENAME" | ||
# done | ||
|
||
### ADMIN related thing | ||
env_name=(ADMIN_USERNAME ADMIN_PASSWORD) | ||
|
||
if [ -n "$ADMIN_USERNAME" ] && [ -n "$ADMIN_PASSWORD" ]; then | ||
sed -i "s/cluster_username=/cluster_username=\"$ADMIN_USERNAME\"/g" /proxysql.conf | ||
sed -i "s/cluster_password=/cluster_password=\"$ADMIN_PASSWORD\"/g" /proxysql.conf | ||
sed -i "s/admin_credentials=/admin_credentials=\"$ADMIN_USERNAME:$ADMIN_PASSWORD\"/g" /proxysql.conf | ||
sed -i "s/stats_credentials=/stats_credentials=\"$ADMIN_USERNAME:$ADMIN_PASSWORD\"/g" /proxysql.conf | ||
sed -i "s/cluster_username=/cluster_username=\"$ADMIN_USERNAME\"/g" /etc/proxysql.cnf | ||
sed -i "s/cluster_password=/cluster_password=\"$ADMIN_PASSWORD\"/g" /etc/proxysql.cnf | ||
sed -i "s/admin_credentials=/admin_credentials=\"$ADMIN_USERNAME:$ADMIN_PASSWORD\"/g" /etc/proxysql.cnf | ||
sed -i "s/stats_credentials=/stats_credentials=\"$ADMIN_USERNAME:$ADMIN_PASSWORD\"/g" /etc/proxysql.cnf | ||
else | ||
sed -i "s/cluster_username=/cluster_username=\"admin\"/g" /proxysql.conf | ||
sed -i "s/cluster_password=/cluster_password=\"admin\"/g" /proxysql.conf | ||
sed -i "s/admin_credentials=/admin_credentials=\"admin:admin\"/g" /proxysql.conf | ||
sed -i "s/stats_credentials=/stats_credentials=\"admin:admin\"/g" /proxysql.conf | ||
sed -i "s/cluster_username=/cluster_username=\"admin\"/g" /etc/proxysql.cnf | ||
sed -i "s/cluster_password=/cluster_password=\"admin\"/g" /etc/proxysql.cnf | ||
sed -i "s/admin_credentials=/admin_credentials=\"admin:admin\"/g" /etc/proxysql.cnf | ||
sed -i "s/stats_credentials=/stats_credentials=\"admin:admin\"/g" /etc/proxysql.cnf | ||
fi | ||
|
||
if [ -n "$WEBPORT" ] ; then | ||
sed -i "s/WEBPORT/$WEBPORT/g" /etc/proxysql.cnf | ||
else | ||
sed -i "s/WEBPORT/6080/g" /etc/proxysql.cnf | ||
fi | ||
|
||
if [ -n "$SERVER_VERSION" ]; then | ||
sed -i "s/server_version=/server_version=\"$SERVER_VERSION\"/g" /proxysql.conf | ||
sed -i "s/server_version=/server_version=\"$SERVER_VERSION\"/g" /etc/proxysql.cnf | ||
else | ||
sed -i "s/server_version=/server_version=\"5.0.7\"/g" /etc/proxysql.cnf | ||
fi | ||
|
||
if [ -n "$ADMINPORT" ]; then | ||
sed -i "s/ADMINPORT/$ADMINPORT/g" /proxysql.conf | ||
sed -i "s/ADMINPORT/$ADMINPORT/g" /etc/proxysql.cnf | ||
else | ||
sed -i "s/ADMINPORT/6032/g" /proxysql.conf | ||
sed -i "s/ADMINPORT/6032/g" /etc/proxysql.cnf | ||
fi | ||
if [ -n "$DBPORT" ]; then | ||
sed -i "s/DBPORT/$DBPORT/g" /proxysql.conf | ||
sed -i "s/DBPORT/$DBPORT/g" /etc/proxysql.cnf | ||
else | ||
sed -i "s/DBPORT/3306/g" /proxysql.conf | ||
## remainging proxysql_server | ||
sed -i "s/DBPORT/3306/g" /etc/proxysql.cnf | ||
|
||
fi | ||
|
||
if [ -n "$MONITOR_USERNAME" ] && [ -n "$MONITOR_PASSWORD" ]; then | ||
sed -i "s/monitor_username=/monitor_username=\"$MONITOR_USERNAME\"/g" /proxysql.conf | ||
sed -i "s/monitor_password=/monitor_password=\"$MONITOR_PASSWORD\"/g" /proxysql.conf | ||
sed -i "s/monitor_username=/monitor_username=\"$MONITOR_USERNAME\"/g" /etc/proxysql.cnf | ||
sed -i "s/monitor_password=/monitor_password=\"$MONITOR_PASSWORD\"/g" /etc/proxysql.cnf | ||
else | ||
sed -i "s/monitor_username=/monitor_username=\"monitor\"/g" /proxysql.conf | ||
sed -i "s/monitor_password=/monitor_password=\"monitor\"/g" /proxysql.conf | ||
sed -i "s/monitor_username=/monitor_username=\"monitor\"/g" /etc/proxysql.cnf | ||
sed -i "s/monitor_password=/monitor_password=\"monitor\"/g" /etc/proxysql.cnf | ||
fi | ||
|
||
|
||
# if [ -n "$PROXYSQL_SERVER" ]; then | ||
# PROXYSQL_SERVERS_TEMPLATE="proxysql_servers: | ||
# ( | ||
# { hostname:"PROXYSQL_SERVER", port:$ADMINPORT, weight:0, comment:"Discovery" }, | ||
# ) | ||
# " | ||
# cat $PROXYSQL_SERVERS_TEMPLATE >> /proxysql.conf | ||
# fi | ||
if [ -n "$ADMINPORT" ]; then | ||
PROXYSQL_SERVERS_TEMPLATE='proxysql_servers: | ||
( | ||
{ hostname:"PROXYSQL_SERVER", port:ADMINPORT, weight:0, comment:"Discovery" }, | ||
) | ||
' | ||
else | ||
PROXYSQL_SERVERS_TEMPLATE='proxysql_servers: | ||
( | ||
{ hostname:"PROXYSQL_SERVER", port:6032, weight:0, comment:"Discovery" }, | ||
) | ||
' | ||
fi | ||
if [ -n "$PROXYSQL_SERVER" ]; then | ||
PROXYSQL_SERVERS_TEMPLATE=$(echo $PROXYSQL_SERVERS_TEMPLATE | sed "s/PROXYSQL_SERVER/$PROXYSQL_SERVER/g") | ||
PROXYSQL_SERVERS_TEMPLATE=$(echo $PROXYSQL_SERVERS_TEMPLATE | sed "s/ADMINPORT/$ADMINPORT/g") | ||
echo $PROXYSQL_SERVERS_TEMPLATE >> /etc/proxysql.cnf | ||
else | ||
PROXYSQL_SERVERS_TEMPLATE=$(echo $PROXYSQL_SERVERS_TEMPLATE | sed "s/PROXYSQL_SERVER/0.0.0.0/g") | ||
PROXYSQL_SERVERS_TEMPLATE=$(echo $PROXYSQL_SERVERS_TEMPLATE | sed "s/ADMINPORT/$ADMINPORT/g") | ||
echo $PROXYSQL_SERVERS_TEMPLATE >> /etc/proxysql.cnf | ||
fi | ||
|
||
if [ -n "$MYSQL_SERVERS" ]; then | ||
MYSQL_SERVERS_TEMPLATE="mysql_servers: | ||
|
@@ -83,7 +90,6 @@ IFS=$OIFS | |
count=$(expr $(echo ${#values[@]}) / $(echo ${#key_values[@]}) ) | ||
for ((i = 0 ; i < ${#values[@]} ; i+=$count )); do | ||
block=$MYSQL_SERVERS_TEMPLATE_BLOCK | ||
echo $count | ||
if [ $count == 2 ]; then | ||
block=$(echo $block | sed "s/address:[^,]*/address:\"${values[i]}\"/g") | ||
block=$(echo $block | sed "s/port:[^,]*/port:${values[i+1]}/g") | ||
|
@@ -123,11 +129,9 @@ MYSQL_SERVERS_BLOCK+=$(echo "\n") | |
done | ||
|
||
MYSQL_SERVERS_TEMPLATE=$(echo $MYSQL_SERVERS_TEMPLATE | sed "s/MYSQL_SERVERS_TEMPLATE_BLOCK/$MYSQL_SERVERS_BLOCK /g") | ||
echo $MYSQL_SERVERS_TEMPLATE >> /proxysql.conf | ||
echo $MYSQL_SERVERS_TEMPLATE >> /etc/proxysql.cnf | ||
fi | ||
|
||
# MYSQL_SERVERS="DEMO;8989;1;1;1;1;1,DEMO1;8988;1;1;1;1;1" | ||
|
||
if [ -n "$MYSQL_QUERY_RULES" ]; then | ||
MYSQL_QUERY_RULES_TEMPLATE="mysql_query_rules: | ||
( | ||
|
@@ -147,14 +151,13 @@ IFS=';' | |
values+=($x) | ||
done | ||
IFS=$OIFS | ||
# echo ${#values[@]} ${#key_values[@]} | ||
|
||
count=$(expr $(echo ${#values[@]}) / $(echo ${#key_values[@]}) ) | ||
# echo $count | ||
|
||
j=1 | ||
for ((i = 0 ; i < ${#values[@]} ; i+=$count )); do | ||
block=$MYSQL_QUERY_RULES_TEMPLATE_BLOCK | ||
echo $count | ||
# echo ${values[i]} ${values[i+1]} ${values[i+2]} | ||
|
||
if [ $count == 2 ]; then | ||
block=$(echo $block | sed "s/rule_id:[^,]*/rule_id:$j/g") | ||
block=$(echo $block | sed "s/match_pattern:[^,]*/match_pattern:\"${values[i]}\"/g") | ||
|
@@ -176,51 +179,6 @@ j=$(expr $j + 1) | |
done | ||
|
||
MYSQL_QUERY_RULES_TEMPLATE=$(echo $MYSQL_QUERY_RULES_TEMPLATE | sed "s/MYSQL_QUERY_RULES_TEMPLATE_BLOCK/$MYSQL_QUERY_RULES_BLOCK /g") | ||
echo $MYSQL_QUERY_RULES_TEMPLATE >> /proxysql.conf | ||
echo $MYSQL_QUERY_RULES_TEMPLATE >> /etc/proxysql.cnf | ||
fi | ||
|
||
# if [ -n "$MYSQL_QUERY_RULES" ]; then | ||
# echo $MYSQL_SERVERS_TEMPLATE | ||
# fi | ||
|
||
|
||
# IN="[email protected];[email protected]" | ||
|
||
# OIFS=$IFS | ||
# IFS=';' | ||
# mails2=$IN | ||
# for x in $mails2 | ||
# do | ||
# echo "> [$x]" | ||
# done | ||
|
||
# IFS=$OIFS | ||
|
||
############################################################ | ||
# PROXYSQL_SERVERS_TEMPLATE="proxysql_servers: | ||
# ( | ||
# PROXYSQL_SERVERS_TEMPLATE_MAIN | ||
# ) | ||
# " | ||
|
||
# PROXYSQL_SERVERS_TEMPLATE1="{ hostname:"", port:ADMINPORT, weight:0, comment:"Discovery" }, " | ||
|
||
|
||
# PROXYSQL_SERVERS="DEMO;8989,DEMO1;8988,DEMO2;8987" | ||
# # PROXYSQL_SERVERS="DEMO;8989" | ||
# if [ -n "$PROXYSQL_SERVERS" ]; then | ||
# key_values=() | ||
# values=() | ||
# OIFS=$IFS | ||
# IFS=',' | ||
# key_values+=($PROXYSQL_SERVERS) | ||
# for x in ${key_values[@]}; | ||
# do | ||
# IFS=';' | ||
# values+=($x) | ||
# done | ||
# IFS=$OIFS | ||
# COUNT_PROXYSQL_SERVERS=$(echo ${#key_values[@]}) | ||
|
||
# echo $COUNT_PROXYSQL_SERVERS $COUNT_PROXYSQL_SERVERS_VALUES | ||
# fi |
This file was deleted.
Oops, something went wrong.