diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9d39ab9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM python:3.12-slim + +WORKDIR /app + +COPY requirements.txt . + +RUN pip install --no-cache-dir -r requirements.txt + +COPY app/ ./app/ + +EXPOSE 8000 + +CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file diff --git a/app/main.py b/app/main.py new file mode 100644 index 0000000..badbe1e --- /dev/null +++ b/app/main.py @@ -0,0 +1,27 @@ +import os, signal +from fastapi import FastAPI + +app = FastAPI() +_healthy = True + +@app.get("/") +def root (): + return {"poruka": "Hello iz mog Docker containera v2!"} + +@app.get("/info") +def info(): + return { + "python": platform.python_version(), + "verzija": "2.0" + } + +@app.get("/health") +def health(): + return {"status": "ok"} + +@app.post("/break") +def break_health(): + """Simulira pad servisa za testiranje liveness probe-a""" + global _healthy + _healthy = False + return {"message": "Servis je sada nezdrav — ocekuj restart"} diff --git a/manifesti b/manifesti new file mode 160000 index 0000000..2d93d71 --- /dev/null +++ b/manifesti @@ -0,0 +1 @@ +Subproject commit 2d93d7175faf6e40b4d83311b2438560436fbf01 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..d50dc68 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +fastapi==0.111.0 +uvicorn[standard]==0.29.0 \ No newline at end of file