Make InfluxDB connection options configurable
This commit is contained in:
		| @@ -16,6 +16,9 @@ services: | ||||
|     - "DATABASE_NAME=postgres" | ||||
|     - "DATABASE_HOST=db" | ||||
|     - "DATABASE_PORT=5432" | ||||
|     - "INFLUX_HOST=influx" | ||||
|     - "INFLUX_PORT=8086" | ||||
|     - "INFLUX_DB=pluralkit" | ||||
|     restart: always | ||||
|   api: | ||||
|     build: src/ | ||||
|   | ||||
| @@ -126,8 +126,13 @@ class PluralKitBot: | ||||
|             async with self.pool.acquire() as conn: | ||||
|                 await db.create_tables(conn) | ||||
|  | ||||
|             if "INFLUX_HOST" in os.environ: | ||||
|                 self.logger.info("Connecting to InfluxDB...") | ||||
|             self.stats = await InfluxStatCollector.connect() | ||||
|                 self.stats = await InfluxStatCollector.connect( | ||||
|                     os.environ["INFLUX_HOST"], | ||||
|                     os.environ["INFLUX_PORT"], | ||||
|                     os.environ["INFLUX_DB"] | ||||
|                 ) | ||||
|  | ||||
|                 self.logger.info("Starting periodical stat reporting...") | ||||
|                 asyncio.get_event_loop().create_task(self.periodical_stat_timer(self.pool)) | ||||
|   | ||||
| @@ -21,9 +21,9 @@ class NullStatCollector(StatCollector): | ||||
|  | ||||
| class InfluxStatCollector(StatCollector): | ||||
|     @staticmethod | ||||
|     async def connect(): | ||||
|         client = InfluxDBClient(host="influx", db="pluralkit") | ||||
|         await client.create_database(db="pluralkit") | ||||
|     async def connect(host: str, port: int, db: str): | ||||
|         client = InfluxDBClient(host=host, port=port, db=db) | ||||
|         await client.create_database(db=db) | ||||
|  | ||||
|         return InfluxStatCollector(client) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user