浏览代码

Adding SSL handling to MariaDB connection

Penta 5 年之前
父节点
当前提交
01ec1409eb
共有 2 个文件被更改,包括 23 次插入10 次删除
  1. 11 5
      myanimebot.example.conf
  2. 12 5
      myanimebot/globals.py

+ 11 - 5
myanimebot.example.conf

@@ -8,10 +8,16 @@ logLevel = INFO
 logPath = myanimebot.log
 
 # Database configuration
-dbHost = $DB_HOST
-dbUser = $DB_USER
-dbPassword = $DB_PASSWORD
-dbName = $DB_NAME
+mariadb.host = $DB_HOST
+mariadb.user = $DB_USER
+mariadb.password = $DB_PASSWORD
+mariadb.name = $DB_NAME
+
+# SSL configuration for MariaDB
+mariadb.ssl = false
+mariadb.ssl.ca =
+mariadb.ssl.cert =
+mariadb.ssl.key =
 
 # timezone (should be the same as the DB and your Linux system)
 timezone = Europe/Paris
@@ -39,4 +45,4 @@ iconBot = http://myanimebot.pentou.eu/rsc/bot_avatar.jpg
 # Healthcheck web page configuration
 healthcheck_enabled = false
 healthcheck_port = 15200
-healthcheck_ip = 127.0.0.1
+healthcheck_ip = 127.0.0.1

+ 12 - 5
myanimebot/globals.py

@@ -45,10 +45,14 @@ except Exception as e:
 
 CONFIG=config["MYANIMEBOT"]
 logLevel=CONFIG.get("logLevel", "INFO")
-dbHost=CONFIG.get("dbHost", "127.0.0.1")
-dbUser=CONFIG.get("dbUser", "myanimebot")
-dbPassword=CONFIG.get("dbPassword")
-dbName=CONFIG.get("dbName", "myanimebot")
+dbHost=CONFIG.get("mariadb.host", "127.0.0.1")
+dbUser=CONFIG.get("mariadb.user", "myanimebot")
+dbPassword=CONFIG.get("mariadb.password")
+dbName=CONFIG.get("mariadb.name", "myanimebot")
+dbSSLenabled=CONFIG.getboolean("mariadb.ssl", False)
+dbSSLca=CONFIG.get("mariadb.ssl.ca")
+dbSSLcert=CONFIG.get("mariadb.ssl.cert")
+dbSSLkey=CONFIG.get("mariadb.ssl.key")
 logPath=CONFIG.get("logPath", "myanimebot.log")
 timezone=pytz.timezone(CONFIG.get("timezone", "utc"))
 secondMax=CONFIG.getint("secondMax", 7200)
@@ -95,7 +99,10 @@ logger.debug("DEBUG log: OK")
 # Initialization of the database
 try:
 	# Main database connection
-	conn = mariadb.connect(host=dbHost, user=dbUser, password=dbPassword, database=dbName)
+	if (dbSSLenabled) :
+		conn = mariadb.connect(host=dbHost, user=dbUser, password=dbPassword, database=dbName, ssl_ca=dbSSLca, ssl_cert=dbSSLcert, ssl_key=dbSSLkey)
+	else :
+		conn = mariadb.connect(host=dbHost, user=dbUser, password=dbPassword, database=dbName)
 except Exception as e:
 	logger.critical("Can't connect to the database: " + str(e))
 	quit()