diff --git a/.docker-compose/Dockerfile b/.docker-compose/Dockerfile index 04773a8..81dcdbc 100644 --- a/.docker-compose/Dockerfile +++ b/.docker-compose/Dockerfile @@ -9,5 +9,12 @@ RUN cd Cbc-2.9.8 && \ ./configure && \ make && \ make install +RUN python -m pip install fastapi[all] -CMD tail -f /dev/null +# Bundle app source +COPY . /app + +WORKDIR /app/app + +# CMD tail -f /dev/null +CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"] diff --git a/.gitignore b/.gitignore index e69de29..529b0f1 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,27 @@ + +.DS_Store +.env +.flaskenv +*.pyc +*.pyo +env/ +venv/ +.venv/ +env* +dist/ +build/ +*.egg +*.egg-info/ +_mailinglist +.tox/ +.cache/ +.pytest_cache/ +.idea/ +docs/_build/ +.vscode + +# Coverage reports +htmlcov/ +.coverage +.coverage.* +*,cover diff --git a/.vagrantrc b/.vagrantrc index 5e70c72..ddc7b4d 100644 --- a/.vagrantrc +++ b/.vagrantrc @@ -39,10 +39,8 @@ measure-solver-logs() { compose "logs measure-solver" } -measure-solver-server() { -} - restart-measure-solver() { + compose "restart measure-solver" } rails() { diff --git a/Dockerfile b/Dockerfile index 04773a8..b681afb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,5 +9,13 @@ RUN cd Cbc-2.9.8 && \ ./configure && \ make && \ make install +RUN python -m pip install fastapi[all] -CMD tail -f /dev/null + +# Bundle app source +COPY . /app + +WORKDIR /app/app + +# CMD tail -f /dev/null +CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"] diff --git a/app/main.py b/app/main.py new file mode 100644 index 0000000..18fcd45 --- /dev/null +++ b/app/main.py @@ -0,0 +1,22 @@ +from fastapi import FastAPI, __version__ + +app = FastAPI() + +@app.get("/") +async def root(): + return {"message": "Welcome to Measures LOFT solver service. v0.1"} + +@app.get("/healthcheck") +async def health(): + content = { + "maintainer": "Meazure Horizon Team", + "git_repo": "https://github.com/yardstick/measure-solver", + "server": "OK", + "fastapi version": __version__, + "app version": "0.1.0" + } + return content + +@app.get('/readycheck') +async def ready(): + return 'OK' # just means we're on air diff --git a/docker-compose.override.yml b/docker-compose.override.yml index e69de29..b25559e 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -0,0 +1,2 @@ +override_file_placeholder: + image: busybox