From c97b8adc6f43aeb8c0641159f571c5e75c7ee915 Mon Sep 17 00:00:00 2001 From: Linktur Date: Wed, 28 Jan 2026 22:40:14 +0300 Subject: [PATCH 1/2] Complete lab1 --- Lab-1/app_python/.gitignore | 13 ++ Lab-1/app_python/README.md | 57 +++++ Lab-1/app_python/app.py | 203 ++++++++++++++++++ Lab-1/app_python/docs/LAB01.md | 111 ++++++++++ .../docs/screenshots/01-main-endpoint.png | Bin 0 -> 73693 bytes .../docs/screenshots/02-health-check.png | Bin 0 -> 40617 bytes .../docs/screenshots/03-formatted-output.png | Bin 0 -> 41070 bytes Lab-1/app_python/requirements.txt | 6 + Lab-1/app_python/tests/__init__.py | 0 9 files changed, 390 insertions(+) create mode 100644 Lab-1/app_python/.gitignore create mode 100644 Lab-1/app_python/README.md create mode 100644 Lab-1/app_python/app.py create mode 100644 Lab-1/app_python/docs/LAB01.md create mode 100644 Lab-1/app_python/docs/screenshots/01-main-endpoint.png create mode 100644 Lab-1/app_python/docs/screenshots/02-health-check.png create mode 100644 Lab-1/app_python/docs/screenshots/03-formatted-output.png create mode 100644 Lab-1/app_python/requirements.txt create mode 100644 Lab-1/app_python/tests/__init__.py diff --git a/Lab-1/app_python/.gitignore b/Lab-1/app_python/.gitignore new file mode 100644 index 0000000000..4928ef8572 --- /dev/null +++ b/Lab-1/app_python/.gitignore @@ -0,0 +1,13 @@ +# Python +__pycache__/ +*.py[cod] +venv/ +*.log +.env + +# IDE +.vscode/ +.idea/ + +# OS +.DS_Store diff --git a/Lab-1/app_python/README.md b/Lab-1/app_python/README.md new file mode 100644 index 0000000000..ac80f1a04c --- /dev/null +++ b/Lab-1/app_python/README.md @@ -0,0 +1,57 @@ +# DevOps Info Service (Flask) + +## Overview +A small Flask web service that reports service metadata, system information, runtime details, and request context. It also exposes a health check endpoint and Swagger UI. + +## Prerequisites +- Python 3.11+ +- pip + +## Installation +```bash +python -m venv venv +# Linux/macOS +source venv/bin/activate +# Windows PowerShell +.\venv\Scripts\Activate.ps1 + +pip install -r requirements.txt +``` + +## Configuration via .env (optional) +Create a `.env` file in `app_python/`: +```env +HOST=0.0.0.0 +PORT=5000 +DEBUG=false +``` + +## Running the Application +```bash +python app.py +``` + +With custom configuration: +```bash +PORT=8080 python app.py +HOST=127.0.0.1 PORT=3000 DEBUG=true python app.py +``` + +Windows PowerShell: +```powershell +$env:PORT=8080; python app.py +$env:HOST='127.0.0.1'; $env:PORT=3000; $env:DEBUG='true'; python app.py +``` + +## API Endpoints +- `GET /` - Service and system information +- `GET /health` - Health check +- `GET /swagger.json` - OpenAPI spec +- `GET /docs` - Swagger UI + +## Configuration +| Variable | Default | Description | +|---|---|---| +| `HOST` | `0.0.0.0` | Bind address | +| `PORT` | `5000` | HTTP port | +| `DEBUG` | `False` | Flask debug mode (`true`/`false`) | diff --git a/Lab-1/app_python/app.py b/Lab-1/app_python/app.py new file mode 100644 index 0000000000..4a6bdfb9a2 --- /dev/null +++ b/Lab-1/app_python/app.py @@ -0,0 +1,203 @@ +from __future__ import annotations + +import logging +import os +import platform +import socket +from datetime import datetime, timezone + +from dotenv import load_dotenv +from flask import Flask, jsonify, request +from flask_swagger_ui import get_swaggerui_blueprint + +app = Flask(__name__) + +# conf +load_dotenv() +HOST = os.getenv('HOST', '0.0.0.0') +PORT = int(os.getenv('PORT', '5000')) +DEBUG = os.getenv('DEBUG', 'False').lower() == 'true' + +# start time +START_TIME = datetime.now(timezone.utc) + +# Logging +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' +) +logger = logging.getLogger(__name__) +logger.info('Application starting...') + +# swagger info +SWAGGER_URL = '/docs' +SWAGGER_API_URL = '/swagger.json' + +swaggerui_blueprint = get_swaggerui_blueprint( + SWAGGER_URL, + SWAGGER_API_URL, + config={'app_name': 'DevOps Info Service'} +) +app.register_blueprint(swaggerui_blueprint, url_prefix=SWAGGER_URL) + + +def _iso_utc_now() -> str: + return datetime.now(timezone.utc).isoformat(timespec='milliseconds').replace('+00:00', 'Z') + + +def get_uptime() -> dict: + delta = datetime.now(timezone.utc) - START_TIME + seconds = int(delta.total_seconds()) + hours = seconds // 3600 + minutes = (seconds % 3600) // 60 + return { + 'seconds': seconds, + 'human': f"{hours} hours, {minutes} minutes" + } + + +def get_platform_version() -> str: + system = platform.system() + if system == 'Linux': + try: + os_release = platform.freedesktop_os_release() + return os_release.get('PRETTY_NAME') or os_release.get('NAME') or platform.release() + except (OSError, AttributeError): + return platform.release() + if system == 'Windows': + return platform.version() + return platform.release() + + +def get_system_info() -> dict: + return { + 'hostname': socket.gethostname(), + 'platform': platform.system(), + 'platform_version': get_platform_version(), + 'architecture': platform.machine(), + 'cpu_count': os.cpu_count() or 0, + 'python_version': platform.python_version() + } + + +def get_request_info() -> dict: + client_ip = request.headers.get('X-Forwarded-For', request.remote_addr or '') + if ',' in client_ip: + client_ip = client_ip.split(',')[0].strip() + + return { + 'client_ip': client_ip, + 'user_agent': request.headers.get('User-Agent', ''), + 'method': request.method, + 'path': request.path + } + + +def get_service_info() -> dict: + """return metadata""" + return { + 'name': 'devops-info-service', + 'version': '1.0.0', + 'description': 'DevOps course info service', + 'framework': 'Flask' + } + + +def get_endpoints() -> list[dict]: + """return a list of available endpoints""" + return [ + {'path': '/', 'method': 'GET', 'description': 'Service information'}, + {'path': '/health', 'method': 'GET', 'description': 'Health check'} + ] + +#API +OPENAPI_SPEC = { + 'openapi': '3.0.3', + 'info': { + 'title': 'DevOps Info Service', + 'version': '1.0.0', + 'description': 'Service and system information API' + }, + 'paths': { + '/': { + 'get': { + 'summary': 'Service information', + 'responses': { + '200': { + 'description': 'Service and system information' + } + } + } + }, + '/health': { + 'get': { + 'summary': 'Health check', + 'responses': { + '200': { + 'description': 'Health status' + } + } + } + } + } +} + + +@app.before_request +def log_request() -> None: + logger.debug('Request: %s %s', request.method, request.path) + + +@app.route('/') +def index(): + """main endpoint""" + uptime = get_uptime() + payload = { + 'service': get_service_info(), + 'system': get_system_info(), + 'runtime': { + 'uptime_seconds': uptime['seconds'], + 'uptime_human': uptime['human'], + 'current_time': _iso_utc_now(), + 'timezone': 'UTC' + }, + 'request': get_request_info(), + 'endpoints': get_endpoints() + } + return jsonify(payload) + + +@app.route('/health') +def health(): + """health check endpoint""" + uptime = get_uptime() + return jsonify({ + 'status': 'healthy', + 'timestamp': _iso_utc_now(), + 'uptime_seconds': uptime['seconds'] + }) + + +@app.route('/swagger.json') +def swagger_json(): + return jsonify(OPENAPI_SPEC) + + +@app.errorhandler(404) +def not_found(error): + return jsonify({ + 'error': 'Not Found', + 'message': 'Endpoint does not exist' + }), 404 + + +@app.errorhandler(500) +def internal_error(error): + return jsonify({ + 'error': 'Internal Server Error', + 'message': 'An unexpected error occurred' + }), 500 + + +if __name__ == '__main__': + app.run(host=HOST, port=PORT, debug=DEBUG) diff --git a/Lab-1/app_python/docs/LAB01.md b/Lab-1/app_python/docs/LAB01.md new file mode 100644 index 0000000000..067f8366d2 --- /dev/null +++ b/Lab-1/app_python/docs/LAB01.md @@ -0,0 +1,111 @@ +# LAB01 - DevOps Info Service (Python / Flask) + +## 1. Framework Selection +**Chosen framework:** Flask + +**Why Flask:** +- Minimal setup and easy to understand for a first lab +- Clear request/response handling without extra abstractions) +- I tried Django, regretted it + +**Comparison Table** +| Framework | Pros | Cons | Why Not Chosen | +|---|---|---|---| +| Flask | Lightweight, simple, widely used | Fewer built-in features | Selected due to simplicity | +| FastAPI | Async, auto-docs, type hints | Slightly more setup | Didn't try it, because of luck of time | +| Django | Full-featured, includes ORM | Heavy for small API | Too much for the first time| + +## 2. Best Practices Applied +1. **Clean code organization** - helper functions for system, runtime, and request info +2. **Error handling** - custom 404 and 500 responses +3. **Logging** - structured logging with timestamp and level +4. **Configuration via environment variables** - HOST, PORT, DEBUG +5. **Pinned dependencies** - exact versions in `requirements.txt` + +**Code examples (from `app.py`):** +```python +HOST = os.getenv('HOST', '0.0.0.0') +PORT = int(os.getenv('PORT', '5000')) +DEBUG = os.getenv('DEBUG', 'False').lower() == 'true' +``` + +```python +@app.errorhandler(404) +def not_found(error): + return jsonify({ + 'error': 'Not Found', + 'message': 'Endpoint does not exist' + }), 404 +``` + +```python +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' +) +``` + +## 3. API Documentation +### 3.1 `GET /` +**Description:** Returns service, system, runtime, request info, and endpoints. + +**Example request:** +```bash +curl http://127.0.0.1:5000/ +``` + +**Example response (truncated):** +```json +{ + "service": { + "name": "devops-info-service", + "version": "1.0.0", + "description": "DevOps course info service", + "framework": "Flask" + } +} +``` + +### 3.2 `GET /health` +**Description:** Health check endpoint for monitoring. + +**Example request:** +```bash +curl http://127.0.0.1:5000/health +``` + +**Example response:** +```json +{ + "status": "healthy", + "timestamp": "2026-01-28T17:31:00.456Z", + "uptime_seconds": 180 +} +``` + +### 3.3 Swagger UI +**OpenAPI spec:** +``` +GET /swagger.json +``` + +**Swagger UI:** +``` +GET /docs +``` +*it was easier to check app with swagger + +## 4. Testing Evidence +Add screenshots to `docs/screenshots/` and embed them here. + +- **Main endpoint:** `screenshots/01-main-endpoint.png` +- **Health check:** `screenshots/02-health-check.png` +- **Pretty-printed output:** `screenshots/03-formatted-output.png` +- **Swagger UI:** `screenshots/04-swagger-ui.png` + +## 5. Challenges & Solutions +- **Timezone formatting:** Used UTC with ISO 8601 and `Z` suffix for consistency. +- **Client IP handling:** Added `X-Forwarded-For` fallback for proxy setups. + +## 6. GitHub Community +Starring repositories helps to find useful tools and bookmaer them. Following developers improves collaboration by keeping you aware of classmates' and instructors' work, which supports learning and teamwork. diff --git a/Lab-1/app_python/docs/screenshots/01-main-endpoint.png b/Lab-1/app_python/docs/screenshots/01-main-endpoint.png new file mode 100644 index 0000000000000000000000000000000000000000..7a1686749a036c3d7c3a64f3a1dc12fbf6e76764 GIT binary patch literal 73693 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 a`9NShaqt_CEeHbq5*L;hD*dSA^M3$vfe8u# literal 0 HcmV?d00001 diff --git a/Lab-1/app_python/docs/screenshots/02-health-check.png b/Lab-1/app_python/docs/screenshots/02-health-check.png new file mode 100644 index 0000000000000000000000000000000000000000..0f778c34e520bcd99f528e6267700ad4a1fb71ca GIT binary patch literal 40617 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 literal 0 HcmV?d00001 diff --git a/Lab-1/app_python/docs/screenshots/03-formatted-output.png b/Lab-1/app_python/docs/screenshots/03-formatted-output.png new file mode 100644 index 0000000000000000000000000000000000000000..8ee9e2626dd159f61c44735c4ab03044c8832b7c GIT binary patch literal 41070 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 literal 0 HcmV?d00001 diff --git a/Lab-1/app_python/requirements.txt b/Lab-1/app_python/requirements.txt new file mode 100644 index 0000000000..7d97f97331 --- /dev/null +++ b/Lab-1/app_python/requirements.txt @@ -0,0 +1,6 @@ +# Web Framework +Flask==3.1.0 +# Swagger UI +flask-swagger-ui==4.11.1 +# Env support +python-dotenv==1.0.1 diff --git a/Lab-1/app_python/tests/__init__.py b/Lab-1/app_python/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 From 50d979045b8030b4c3db35bd857956bdaf9c6620 Mon Sep 17 00:00:00 2001 From: Linktur Date: Wed, 28 Jan 2026 22:43:59 +0300 Subject: [PATCH 2/2] Update LAB01.md --- Lab-1/app_python/docs/LAB01.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Lab-1/app_python/docs/LAB01.md b/Lab-1/app_python/docs/LAB01.md index 067f8366d2..f8887f20f8 100644 --- a/Lab-1/app_python/docs/LAB01.md +++ b/Lab-1/app_python/docs/LAB01.md @@ -101,7 +101,6 @@ Add screenshots to `docs/screenshots/` and embed them here. - **Main endpoint:** `screenshots/01-main-endpoint.png` - **Health check:** `screenshots/02-health-check.png` - **Pretty-printed output:** `screenshots/03-formatted-output.png` -- **Swagger UI:** `screenshots/04-swagger-ui.png` ## 5. Challenges & Solutions - **Timezone formatting:** Used UTC with ISO 8601 and `Z` suffix for consistency.