commit 3decb801f2839255a87db20141802b36fadf1551 Author: Shikoro Date: Sun Jun 1 15:36:58 2025 +0200 Initial Release diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a69ff4e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.11-slim + +WORKDIR /app + +# Install Flask +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +# Copy app code +COPY app.py . + +# Expose port +EXPOSE 8000 + +# Run the Flask app +CMD ["python", "app.py"] diff --git a/app.py b/app.py new file mode 100644 index 0000000..7312f6c --- /dev/null +++ b/app.py @@ -0,0 +1,23 @@ +from flask import Flask, Response +import re + +app = Flask(__name__) + +HEALTHY_PATTERN = re.compile(r'\[UU\]') + +@app.route('/') +def check_raid(): + try: + with open('/proc_host/mdstat', 'r') as f: + mdstat = f.read() + + if HEALTHY_PATTERN.search(mdstat): + return Response("RAID OK", status=200) + else: + return Response("RAID DEGRADED", status=500) + + except Exception as e: + return Response(f"Error checking RAID status: {str(e)}", status=500) + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=8000) diff --git a/raidmonitor.tar b/raidmonitor.tar new file mode 100644 index 0000000..f2e3fca Binary files /dev/null and b/raidmonitor.tar differ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..7e10602 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +flask