From 4d0d737f25c18f2224cc073d15a81c9e202316de Mon Sep 17 00:00:00 2001 From: GabrielPalmar Date: Mon, 4 Aug 2025 12:01:09 -0500 Subject: [PATCH] docs(app): Show IP of container --- Dockerfile | 2 +- app/main.py | 6 +++++- app/opensense.py | 6 +----- tests/test_modules.py | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 48ee38d..a488b8a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.13.5-alpine@sha256:9b4929a72599b6c6389ece4ecbf415fd1355129f22bb92bb137eea098f05e975 +FROM python:3.9.23-alpine@sha256:372f3cfc1738ed91b64c7d36a7a02d5c3468ec1f60c906872c3fd346dda8cbbb RUN addgroup -S appgroup && adduser -S -G appgroup appuser diff --git a/app/main.py b/app/main.py index eac6782..b5f5340 100644 --- a/app/main.py +++ b/app/main.py @@ -1,5 +1,6 @@ '''Module containing the main function of the app.''' import os +import socket from flask import Flask, Response from prometheus_client import generate_latest, CONTENT_TYPE_LATEST from app import opensense @@ -7,6 +8,9 @@ app = Flask(__name__) +HOSTNAME = socket.gethostname() +IPADDR = socket.gethostbyname(HOSTNAME) + @app.route('/version') def print_version(): '''Function printing the current version of the app.''' @@ -20,7 +24,7 @@ def print_version(): @app.route('/temperature') def get_temperature(): '''Function to get the current temperature.''' - return opensense.get_temperature() + return opensense.get_temperature() + f"From: {IPADDR}\n" @app.route('/metrics') def metrics(): diff --git a/app/opensense.py b/app/opensense.py index e0728c8..5bb9858 100644 --- a/app/opensense.py +++ b/app/opensense.py @@ -1,13 +1,9 @@ '''Module to get entries from OpenSenseMap API and get the average temperature''' from datetime import datetime, timezone, timedelta import os -import socket import requests import redis -HOSTNAME = socket.gethostname() -IPADDR = socket.gethostbyname(HOSTNAME) - REDIS_HOST = os.getenv('REDIS_HOST', 'localhost') REDIS_PORT = int(os.environ.get('REDIS_PORT', 6379)) REDIS_DB = int(os.environ.get('REDIS_DB', 0)) @@ -85,4 +81,4 @@ def get_temperature(): except redis.RedisError as e: print(f"Redis error while caching data: {e}") - return result + f"From: {IPADDR}\n" + return result diff --git a/tests/test_modules.py b/tests/test_modules.py index 16b7cf8..0573ee9 100644 --- a/tests/test_modules.py +++ b/tests/test_modules.py @@ -183,7 +183,7 @@ def test_store_temperature_data_invalid_response_error(): mock_client.bucket_exists.return_value = True mock_client.put_object.side_effect = InvalidResponseError( "Invalid response", - content_type="application/json", + content_type="application/json", body=b"{}" )