par cœur
· 1 min read
# syntax=docker/dockerfile:1
# what is possible without love?
FROM python:3-slim
RUN pip install flask
EXPOSE 8080
COPY <<EOF app.py
from flask import Flask
from pathlib import Path
from http import HTTPStatus
soul = Flask(__name__)
heart = Path("/tmp/heart")
@soul.route("/health")
def health():
return ("alive", HTTPStatus.OK) if heart.exists() else ("", HTTPStatus.SERVICE_UNAVAILABLE)
@soul.route("/love", methods=["POST"])
def love():
heart.touch()
return "loved", HTTPStatus.OK
@soul.route("/unlove", methods=["POST"])
def unlove():
heart.unlink(missing_ok=True)
import os
os._exit(1) # gone
if __name__ == "__main__":
heart.touch() # we are born loved
soul.run(host="0.0.0.0", port=8080)
EOF
HEALTHCHECK CMD test -f /tmp/heart || exit 1
CMD ["python", "app.py"]