33set -o xtrace
44
55PROXY_CFG=/etc/proxysql/proxysql.cnf
6- PROXY_ADMIN_CFG=/etc/proxysql-admin.cnf
6+ PROXY_SCHEDULER_CFG=/etc/config.toml
7+ temp_proxy_scheduler_cfg=$( mktemp)
78
89if [ -n ${PROXYSQL_SERVICE} ]; then
910 MYSQL_INTERFACES=' 0.0.0.0:3306;0.0.0.0:33062'
1011 CLUSTER_PORT=' 33062'
11- sed " s/#export WRITERS_ARE_READERS=.*$/export WRITERS_ARE_READERS='yes'/g" ${PROXY_ADMIN_CFG} 1<> ${PROXY_ADMIN_CFG}
12+ sed " s/^writerIsAlsoReader.*=.*$/writerIsAlsoReader = 1/" ${PROXY_SCHEDULER_CFG} | \
13+ sed " s/^clustered.*=.*false$/clustered = true/" > ${temp_proxy_scheduler_cfg}
14+ cp ${temp_proxy_scheduler_cfg} ${PROXY_SCHEDULER_CFG}
1215fi
1316
1417sed " s/interfaces=\" 0.0.0.0:3306\" /interfaces=\" ${MYSQL_INTERFACES:- 0.0.0.0: 3306} \" /g" ${PROXY_CFG} 1<> ${PROXY_CFG}
@@ -24,13 +27,16 @@ sed "s/\"admin:admin\"/\"${PROXY_ADMIN_USER:-admin}:${PROXY_ADMIN_PASSWORD:-admi
2427sed " s/cluster_username=\" admin\" /cluster_username=\" ${PROXY_ADMIN_USER:- admin} \" /g" ${PROXY_CFG} 1<> ${PROXY_CFG}
2528sed " s/cluster_password=\" admin\" /cluster_password=\" ${PROXY_ADMIN_PASSWORD:- admin} \" /g" ${PROXY_CFG} 1<> ${PROXY_CFG}
2629sed " s/monitor_password=\" monitor\" /monitor_password=\" ${MONITOR_PASSWORD:- monitor} \" /g" ${PROXY_CFG} 1<> ${PROXY_CFG}
27- sed " s/PROXYSQL_USERNAME='admin'/PROXYSQL_USERNAME='${PROXY_ADMIN_USER:- admin} '/g" ${PROXY_ADMIN_CFG} 1<> ${PROXY_ADMIN_CFG}
28- sed " s/PROXYSQL_PASSWORD='admin'/PROXYSQL_PASSWORD='${PROXY_ADMIN_PASSWORD_ESCAPED:- admin} '/g" ${PROXY_ADMIN_CFG} 1<> ${PROXY_ADMIN_CFG}
29- sed " s/CLUSTER_USERNAME='admin'/CLUSTER_USERNAME='operator'/g" ${PROXY_ADMIN_CFG} 1<> ${PROXY_ADMIN_CFG}
30- sed " s/CLUSTER_PASSWORD='admin'/CLUSTER_PASSWORD='${OPERATOR_PASSWORD_ESCAPED:- operator} '/g" ${PROXY_ADMIN_CFG} 1<> ${PROXY_ADMIN_CFG}
31- sed " s/CLUSTER_PORT='3306'/CLUSTER_PORT='${CLUSTER_PORT:- 3306} '/g" ${PROXY_ADMIN_CFG} 1<> ${PROXY_ADMIN_CFG}
32- sed " s/MONITOR_USERNAME='monitor'/MONITOR_USERNAME='monitor'/g" ${PROXY_ADMIN_CFG} 1<> ${PROXY_ADMIN_CFG}
33- sed " s/MONITOR_PASSWORD='monitor'/MONITOR_PASSWORD='${MONITOR_PASSWORD_ESCAPED:- monitor} '/g" ${PROXY_ADMIN_CFG} 1<> ${PROXY_ADMIN_CFG}
30+
31+ sed " s/^user.*=.*\" $/user = '${PROXY_ADMIN_USER:- admin} '/" ${PROXY_SCHEDULER_CFG} | \
32+ sed " s/^password.*=.*\" $/password = '${PROXY_ADMIN_PASSWORD_ESCAPED:- admin} '/" | \
33+ sed " s/^clusterUserPassword.*=.*\" $/clusterUserPassword='${OPERATOR_PASSWORD_ESCAPED:- operator} '/" | \
34+ sed " s/^clusterUser.*=.*\" $/clusterUser = 'operator'/" | \
35+ sed " s/^clusterPort.*=.*\" $/clusterPort='${CLUSTER_PORT:- 3306} '/" | \
36+ sed " s/^monitorUserPassword.*=.*\" $/monitorUserPassword='${MONITOR_PASSWORD_ESCAPED:- monitor} '/" | \
37+ sed " s/^monitorUser.*=.*\" $/monitorUser='monitor'/" > ${temp_proxy_scheduler_cfg}
38+ cp ${temp_proxy_scheduler_cfg} ${PROXY_SCHEDULER_CFG}
39+
3440set -o xtrace
3541
3642# # SSL/TLS support
4147SSL_DIR=${SSL_DIR:-/ etc/ proxysql/ ssl}
4248if [ -f " ${SSL_DIR} /ca.crt" ]; then
4349 CA=${SSL_DIR} /ca.crt
50+ sed " s:^sslCertificatePath.*= .*\" $:sslCertificatePath = \" ${SSL_DIR} \" :" ${PROXY_SCHEDULER_CFG} > ${temp_proxy_scheduler_cfg}
51+ cp ${temp_proxy_scheduler_cfg} ${PROXY_SCHEDULER_CFG}
4452fi
4553SSL_INTERNAL_DIR=${SSL_INTERNAL_DIR:-/ etc/ proxysql/ ssl-internal}
4654if [ -f " ${SSL_INTERNAL_DIR} /ca.crt" ]; then
4755 CA=${SSL_INTERNAL_DIR} /ca.crt
56+ sed " s:^sslCertificatePath.*= .*\" $:sslCertificatePath = \" ${SSL_INTERNAL_DIR} \" :" ${PROXY_SCHEDULER_CFG} > ${temp_proxy_scheduler_cfg}
57+ cp ${temp_proxy_scheduler_cfg} ${PROXY_SCHEDULER_CFG}
4858fi
4959
5060KEY=${SSL_DIR} /tls.key
@@ -60,7 +70,12 @@ if [ -f "$CA" ] && [ -f "$KEY" ] && [ -f "$CERT" ] && [ -n "$PXC_SERVICE" ]; the
6070 sed " s^ssl_p2s_ca=\"\" ^ssl_p2s_ca=\" $CA \" ^" ${PROXY_CFG} 1<> ${PROXY_CFG}
6171 sed " s^ssl_p2s_key=\"\" ^ssl_p2s_key=\" $KEY \" ^" ${PROXY_CFG} 1<> ${PROXY_CFG}
6272 sed " s^ssl_p2s_cert=\"\" ^ssl_p2s_cert=\" $CERT \" ^" ${PROXY_CFG} 1<> ${PROXY_CFG}
73+ sed " s:^sslCa.*=.*\" $:sslCa = \" ${CA##*/ } \" :" ${PROXY_SCHEDULER_CFG} | \
74+ sed " s:^sslKey.*=.*\" $:sslKey = \" ${KEY##*/ } \" :" | \
75+ sed " s:^sslClient.*=.*\" $:sslClient = \" ${CERT##*/ } \" :" > ${temp_proxy_scheduler_cfg}
76+ cp ${temp_proxy_scheduler_cfg} ${PROXY_SCHEDULER_CFG}
6377fi
78+ rm ${temp_proxy_scheduler_cfg}
6479
6580if [ -f " ${SSL_DIR} /tls.key" ] && [ -f " ${SSL_DIR} /tls.crt" ]; then
6681 cp " ${SSL_DIR} /tls.key" /var/lib/proxysql/proxysql-key.pem
0 commit comments