33set -o xtrace
44
55PROXY_CFG=/etc/proxysql/proxysql.cnf
6- if [ " ${SCHEDULER} " == " percona" ]; then
7- PROXY_SCHEDULER_CFG=/etc/config.toml
8- temp_proxy_scheduler_cfg=$( mktemp)
9- else
10- PROXY_SCHEDULER_CFG=/etc/proxysql-admin.cnf
11- fi
6+ # Percona scheduler
7+ PERCONA_SCHEDULER_CFG=/etc/config.toml
8+ temp_proxy_scheduler_cfg=$( mktemp)
9+ # proxysql-admin scheduler
10+ PROXY_SCHEDULER_CFG=/etc/proxysql-admin.cnf
1211
1312if [ -n ${PROXYSQL_SERVICE} ]; then
1413 MYSQL_INTERFACES=' 0.0.0.0:3306;0.0.0.0:33062'
1514 CLUSTER_PORT=' 33062'
16- if [ " ${SCHEDULER} " == " percona" ]; then
17- sed " s/^writerIsAlsoReader.*=.*$/writerIsAlsoReader = 1/" ${PROXY_SCHEDULER_CFG} | \
18- sed " s/^hgW.*=.*$/hgW = 11/" | \
19- sed " s/^hgR.*=.*$/hgR = 10/" | \
20- sed " s/^clustered.*=.*false$/clustered = true/" > ${temp_proxy_scheduler_cfg}
21- cp ${temp_proxy_scheduler_cfg} ${PROXY_SCHEDULER_CFG}
22- else
23- sed " s/#export WRITERS_ARE_READERS=.*$/export WRITERS_ARE_READERS='yes'/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
24- fi
15+ # Percona scheduler
16+ sed " s/^writerIsAlsoReader.*=.*$/writerIsAlsoReader = 1/" ${PERCONA_SCHEDULER_CFG} | \
17+ sed " s/^hgW.*=.*$/hgW = 11/" | \
18+ sed " s/^hgR.*=.*$/hgR = 10/" | \
19+ sed " s/^clustered.*=.*false$/clustered = true/" > ${temp_proxy_scheduler_cfg}
20+ cp ${temp_proxy_scheduler_cfg} ${PERCONA_SCHEDULER_CFG}
21+ # proxysql-admin scheduler
22+ sed " s/#export WRITERS_ARE_READERS=.*$/export WRITERS_ARE_READERS='yes'/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
2523fi
2624
2725sed " s/interfaces=\" 0.0.0.0:3306\" /interfaces=\" ${MYSQL_INTERFACES:- 0.0.0.0: 3306} \" /g" ${PROXY_CFG} 1<> ${PROXY_CFG}
@@ -38,24 +36,23 @@ sed "s/cluster_username=\"admin\"/cluster_username=\"${PROXY_ADMIN_USER:-admin}\
3836sed " s/cluster_password=\" admin\" /cluster_password=\" ${PROXY_ADMIN_PASSWORD:- admin} \" /g" ${PROXY_CFG} 1<> ${PROXY_CFG}
3937sed " s/monitor_password=\" monitor\" /monitor_password=\" ${MONITOR_PASSWORD:- monitor} \" /g" ${PROXY_CFG} 1<> ${PROXY_CFG}
4038
41- if [ " ${SCHEDULER} " == " percona" ]; then
42- sed " s/^user.*=.*\" $/user = '${PROXY_ADMIN_USER:- admin} '/" ${PROXY_SCHEDULER_CFG} | \
43- sed " s/^password.*=.*\" $/password = '${PROXY_ADMIN_PASSWORD_ESCAPED:- admin} '/" | \
44- sed " s/^clusterUserPassword.*=.*\" $/clusterUserPassword='${OPERATOR_PASSWORD_ESCAPED:- operator} '/" | \
45- sed " s/^clusterUser.*=.*\" $/clusterUser = 'operator'/" | \
46- sed " s/^clusterPort.*=.*\" $/clusterPort='${CLUSTER_PORT:- 3306} '/" | \
47- sed " s/^monitorUserPassword.*=.*\" $/monitorUserPassword='${MONITOR_PASSWORD_ESCAPED:- monitor} '/" | \
48- sed " s/^monitorUser.*=.*\" $/monitorUser='monitor'/" > ${temp_proxy_scheduler_cfg}
49- cp ${temp_proxy_scheduler_cfg} ${PROXY_SCHEDULER_CFG}
50- else
51- sed " s/PROXYSQL_USERNAME='admin'/PROXYSQL_USERNAME='${PROXY_ADMIN_USER:- admin} '/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
52- sed " s/PROXYSQL_PASSWORD='admin'/PROXYSQL_PASSWORD='${PROXY_ADMIN_PASSWORD_ESCAPED:- admin} '/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
53- sed " s/CLUSTER_USERNAME='admin'/CLUSTER_USERNAME='operator'/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
54- sed " s/CLUSTER_PASSWORD='admin'/CLUSTER_PASSWORD='${OPERATOR_PASSWORD_ESCAPED:- operator} '/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
55- sed " s/CLUSTER_PORT='3306'/CLUSTER_PORT='${CLUSTER_PORT:- 3306} '/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
56- sed " s/MONITOR_USERNAME='monitor'/MONITOR_USERNAME='monitor'/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
57- sed " s/MONITOR_PASSWORD='monitor'/MONITOR_PASSWORD='${MONITOR_PASSWORD_ESCAPED:- monitor} '/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
58- fi
39+ # Percona scheduler
40+ sed " s/^user.*=.*\" $/user = '${PROXY_ADMIN_USER:- admin} '/" ${PERCONA_SCHEDULER_CFG} | \
41+ sed " s/^password.*=.*\" $/password = '${PROXY_ADMIN_PASSWORD_ESCAPED:- admin} '/" | \
42+ sed " s/^clusterUserPassword.*=.*\" $/clusterUserPassword='${OPERATOR_PASSWORD_ESCAPED:- operator} '/" | \
43+ sed " s/^clusterUser.*=.*\" $/clusterUser = 'operator'/" | \
44+ sed " s/^clusterPort.*=.*\" $/clusterPort='${CLUSTER_PORT:- 3306} '/" | \
45+ sed " s/^monitorUserPassword.*=.*\" $/monitorUserPassword='${MONITOR_PASSWORD_ESCAPED:- monitor} '/" | \
46+ sed " s/^monitorUser.*=.*\" $/monitorUser='monitor'/" > ${temp_proxy_scheduler_cfg}
47+ cp ${temp_proxy_scheduler_cfg} ${PERCONA_SCHEDULER_CFG}
48+ # proxysql-admin scheduler
49+ sed " s/PROXYSQL_USERNAME='admin'/PROXYSQL_USERNAME='${PROXY_ADMIN_USER:- admin} '/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
50+ sed " s/PROXYSQL_PASSWORD='admin'/PROXYSQL_PASSWORD='${PROXY_ADMIN_PASSWORD_ESCAPED:- admin} '/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
51+ sed " s/CLUSTER_USERNAME='admin'/CLUSTER_USERNAME='operator'/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
52+ sed " s/CLUSTER_PASSWORD='admin'/CLUSTER_PASSWORD='${OPERATOR_PASSWORD_ESCAPED:- operator} '/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
53+ sed " s/CLUSTER_PORT='3306'/CLUSTER_PORT='${CLUSTER_PORT:- 3306} '/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
54+ sed " s/MONITOR_USERNAME='monitor'/MONITOR_USERNAME='monitor'/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
55+ sed " s/MONITOR_PASSWORD='monitor'/MONITOR_PASSWORD='${MONITOR_PASSWORD_ESCAPED:- monitor} '/g" ${PROXY_SCHEDULER_CFG} 1<> ${PROXY_SCHEDULER_CFG}
5956
6057set -o xtrace
6158
6764SSL_DIR=${SSL_DIR:-/ etc/ proxysql/ ssl}
6865if [ -f " ${SSL_DIR} /ca.crt" ]; then
6966 CA=${SSL_DIR} /ca.crt
70- if [ " ${SCHEDULER} " == " percona" ]; then
71- sed " s:^sslCertificatePath.*= .*\" $:sslCertificatePath = \" ${SSL_DIR} \" :" ${PROXY_SCHEDULER_CFG} > ${temp_proxy_scheduler_cfg}
72- cp ${temp_proxy_scheduler_cfg} ${PROXY_SCHEDULER_CFG}
73- fi
67+ sed " s:^sslCertificatePath.*= .*\" $:sslCertificatePath = \" ${SSL_DIR} \" :" ${PERCONA_SCHEDULER_CFG} > ${temp_proxy_scheduler_cfg}
68+ cp ${temp_proxy_scheduler_cfg} ${PERCONA_SCHEDULER_CFG}
7469fi
7570SSL_INTERNAL_DIR=${SSL_INTERNAL_DIR:-/ etc/ proxysql/ ssl-internal}
7671if [ -f " ${SSL_INTERNAL_DIR} /ca.crt" ]; then
7772 CA=${SSL_INTERNAL_DIR} /ca.crt
78- if [ " ${SCHEDULER} " == " percona" ]; then
79- sed " s:^sslCertificatePath.*= .*\" $:sslCertificatePath = \" ${SSL_INTERNAL_DIR} \" :" ${PROXY_SCHEDULER_CFG} > ${temp_proxy_scheduler_cfg}
80- cp ${temp_proxy_scheduler_cfg} ${PROXY_SCHEDULER_CFG}
81- fi
73+ sed " s:^sslCertificatePath.*= .*\" $:sslCertificatePath = \" ${SSL_INTERNAL_DIR} \" :" ${PERCONA_SCHEDULER_CFG} > ${temp_proxy_scheduler_cfg}
74+ cp ${temp_proxy_scheduler_cfg} ${PERCONA_SCHEDULER_CFG}
8275fi
8376
8477KEY=${SSL_DIR} /tls.key
@@ -94,13 +87,12 @@ if [ -f "$CA" ] && [ -f "$KEY" ] && [ -f "$CERT" ] && [ -n "$PXC_SERVICE" ]; the
9487 sed " s^ssl_p2s_ca=\"\" ^ssl_p2s_ca=\" $CA \" ^" ${PROXY_CFG} 1<> ${PROXY_CFG}
9588 sed " s^ssl_p2s_key=\"\" ^ssl_p2s_key=\" $KEY \" ^" ${PROXY_CFG} 1<> ${PROXY_CFG}
9689 sed " s^ssl_p2s_cert=\"\" ^ssl_p2s_cert=\" $CERT \" ^" ${PROXY_CFG} 1<> ${PROXY_CFG}
97- if [ " ${SCHEDULER} " == " percona" ]; then
98- sed " s:^sslCa.*=.*\" $:sslCa = \" ${CA##*/ } \" :" ${PROXY_SCHEDULER_CFG} | \
99- sed " s:^sslKey.*=.*\" $:sslKey = \" ${KEY##*/ } \" :" | \
100- sed " s:^sslClient.*=.*\" $:sslClient = \" ${CERT##*/ } \" :" > ${temp_proxy_scheduler_cfg}
101- cp ${temp_proxy_scheduler_cfg} ${PROXY_SCHEDULER_CFG}
102- rm ${temp_proxy_scheduler_cfg}
103- fi
90+ # Percona scheduler
91+ sed " s:^sslCa.*=.*\" $:sslCa = \" ${CA##*/ } \" :" ${PERCONA_SCHEDULER_CFG} | \
92+ sed " s:^sslKey.*=.*\" $:sslKey = \" ${KEY##*/ } \" :" | \
93+ sed " s:^sslClient.*=.*\" $:sslClient = \" ${CERT##*/ } \" :" > ${temp_proxy_scheduler_cfg}
94+ cp ${temp_proxy_scheduler_cfg} ${PERCONA_SCHEDULER_CFG}
95+ rm ${temp_proxy_scheduler_cfg}
10496fi
10597
10698if [ -f " ${SSL_DIR} /tls.key" ] && [ -f " ${SSL_DIR} /tls.crt" ]; then
0 commit comments