Upgraded modules, added commit id to build process

This commit is contained in:
florian committed 2026-10-19 11:39:43 +02:00
1 parent 8606c8c587
commit 7a16ea8f44
6 files changed
+24 -15

No files matched your search

+3 -1
View File
@@ -35,7 +35,9 @@ jobs:
- name: Build and Push Docker Image - name: Build and Push Docker Image
run: | run: |
docker build -t ghcr.io/gansejunge/${{ env.IMAGE_NAME }}:${{ steps.get_tag.outputs.next }} . docker build \
--build-arg COMMIT_ID=$(echo "${{ github.sha }}" | cut -c1-7) \
-t ghcr.io/gansejunge/${{ env.IMAGE_NAME }}:${{ steps.get_tag.outputs.next }} .
docker push ghcr.io/gansejunge/${{ env.IMAGE_NAME }}:${{ steps.get_tag.outputs.next }} docker push ghcr.io/gansejunge/${{ env.IMAGE_NAME }}:${{ steps.get_tag.outputs.next }}
- name: Clone ops-deployment repo - name: Clone ops-deployment repo
+3 -1
View File
@@ -35,7 +35,9 @@ jobs:
- name: Build and Push Docker Image - name: Build and Push Docker Image
run: | run: |
docker build -t ghcr.io/gansejunge/${{ env.IMAGE_NAME }}:${{ steps.get_tag.outputs.next }} . docker build \
--build-arg COMMIT_ID=$(echo "${{ github.sha }}" | cut -c1-7) \
-t ghcr.io/gansejunge/${{ env.IMAGE_NAME }}:${{ steps.get_tag.outputs.next }} .
docker push ghcr.io/gansejunge/${{ env.IMAGE_NAME }}:${{ steps.get_tag.outputs.next }} docker push ghcr.io/gansejunge/${{ env.IMAGE_NAME }}:${{ steps.get_tag.outputs.next }}
- name: Clone ops-deployment repo - name: Clone ops-deployment repo
+4
View File
@@ -11,4 +11,8 @@ FROM nvcr.io/nvidia/distroless/python:3.12-v4.1.6
COPY --from=builder /install /usr/local COPY --from=builder /install /usr/local
COPY --from=builder /app /app COPY --from=builder /app /app
WORKDIR /app WORKDIR /app
ARG COMMIT_ID=unknown
ENV COMMIT_ID=$COMMIT_ID
ENTRYPOINT ["python", "main.py"] ENTRYPOINT ["python", "main.py"]
+6 -7
View File
@@ -5,21 +5,20 @@ annotated-doc==0.0.5
annotated-types==0.8.0 annotated-types==0.8.0
anyio==4.15.1 anyio==4.15.1
click==8.5.0 click==8.5.0
fastapi==0.143.0 fastapi==0.146.0
h11==0.16.0 h11==0.16.0
idna==3.20 idna==3.20
lib-secret-manager==0.2.0 lib-secret-manager==0.3.1
lib-uvicorn-config==0.2.0
multidict==7.1.0 multidict==7.1.0
opentelemetry-api==1.45.1 opentelemetry-api==1.45.1
pamqp==4.0.1 pamqp==4.0.1
prometheus_client==0.26.0 prometheus_client==0.26.0
propcache==0.5.4 propcache==0.5.4
pydantic==2.14.0 pydantic==2.14.1
pydantic_core==2.50.0 pydantic_core==2.50.1
python-json-logger==4.2.0 python-json-logger==4.2.0
simple-logger-handler==0.1.0 simple-logger-handler==0.2.1
starlette==1.7.0 starlette==1.9.0
typing-inspection==0.4.4 typing-inspection==0.4.4
typing_extensions==4.16.0 typing_extensions==4.16.0
uvicorn==0.54.0 uvicorn==0.54.0
+5 -3
View File
@@ -1,4 +1,5 @@
import asyncio import asyncio
import os
import signal import signal
from contextlib import asynccontextmanager from contextlib import asynccontextmanager
@@ -13,7 +14,6 @@ from metrics_server import REQUEST_COUNTER
from rabbitmq_handler import RabbitMQConsumer from rabbitmq_handler import RabbitMQConsumer
from secret_manager import cleanup_secret_files from secret_manager import cleanup_secret_files
from simple_logger_handler import LOG_LEVEL, setup_logger from simple_logger_handler import LOG_LEVEL, setup_logger
from uvicorn_logger_config import LOGGING_CONFIG
logger = setup_logger(__name__) logger = setup_logger(__name__)
MAX_MESSAGES = 100 MAX_MESSAGES = 100
@@ -120,8 +120,10 @@ class QuietServer(uvicorn.Server):
pass pass
async def start_servers(): async def start_servers():
config_main = uvicorn.Config(api, host="0.0.0.0", port=8101, log_level=LOG_LEVEL.lower(), log_config=LOGGING_CONFIG) logger.info("[Server] Starting main API (port 8101) and metrics server (port 9000)...")
config_metrics = uvicorn.Config("metrics_server:metrics_api", host="0.0.0.0", port=9000, log_level=LOG_LEVEL.lower(), log_config=LOGGING_CONFIG) logger.info(f"[Server] Build commit id={os.getenv("COMMIT_ID","unknown")}")
config_main = uvicorn.Config(api, host="0.0.0.0", port=8101, log_level=LOG_LEVEL.lower(), log_config=None)
config_metrics = uvicorn.Config("metrics_server:metrics_api", host="0.0.0.0", port=9000, log_level=LOG_LEVEL.lower(), log_config=None)
servers = [QuietServer(config_main), QuietServer(config_metrics)] servers = [QuietServer(config_main), QuietServer(config_metrics)]
def stop(): def stop():
+3 -3
View File
@@ -7,7 +7,7 @@ from urllib.parse import quote
import aio_pika import aio_pika
from aio_pika.exceptions import AMQPException from aio_pika.exceptions import AMQPException
from secret_manager import return_credentials from secret_manager import get_secret
from simple_logger_handler import setup_logger from simple_logger_handler import setup_logger
logger = setup_logger(__name__) logger = setup_logger(__name__)
@@ -40,8 +40,8 @@ class RabbitMQConsumer:
return lock return lock
async def connect(self): async def connect(self):
username = return_credentials("/etc/secrets/rmq_username") username = get_secret(os.getenv("RMQ_USERNAME",""),"/etc/secrets/rmq_username")
password = return_credentials("/etc/secrets/rmq_password") password = get_secret(os.getenv("RMQ_PASSWORD",""),"/etc/secrets/rmq_password")
url = ( url = (
f"amqp://{quote(username, safe='')}:{quote(password, safe='')}" f"amqp://{quote(username, safe='')}:{quote(password, safe='')}"
f"@{self.rmq_host}/{quote(self.rmq_vhost, safe='')}" f"@{self.rmq_host}/{quote(self.rmq_vhost, safe='')}"