anomaly / anomaly/lab-python-server
Revise `Dockerfile` for use in Kubernetes or provide additional configuration documentation
- Ngôn ngữ chính
- Python
- Star
- 16
- Fork
- 4
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
**Is your feature request related to a problem? Please describe.**
When trying to use the template for a project that would run in Kubernetes, there were many things that didn't work.
- The `Dockerfile` for production does not provide a `CMD` which is expected for the container to run, either provide this or provide documentation for creating the `helm` chart to provide the `command` to run. Ideally we could do both, where if a `command` is not provided it runs the `fastapi` app and otherwise runs `taskiq` workers etc.
- To make the template generic we have used the variable `PROJ_NAME` wherever possible, this has worked while we have used `docker compose` to run production workloads where it can find the environment variable but not much when it's running in a Kubernetes managed environment. This is particularly an issue with the `Dockerfile` itself where it references `PROJ_NAME` in the `uvicorn` command
- Should we use `gunicorn` at all? Follow [this discussion](https://github.com/tiangolo/fastapi/discussions/7439#discussioncomment-5140961) on FastAPI discussion.
The `Dockerfile` has a section where we run as the project `User` this results in:
```
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
ERROR: [Errno 13] error while attempting to bind on address ('0.0.0.0', 80): permission denied
INFO: Waiting for application shutdown.
INFO: Application shutdown complete.
```
See [bind() to 0.0.0.0:80 failed(13: Permission denied](https://github.com/kubernetes/ingress-nginx/issues/3858) where they [suggest to run the command as root](https://github.com/kubernetes/ingress-nginx/issues/3858#issuecomment-470099783)
**Describe the solution you'd like**
Either provide a programmatic solution to the above or extended documentation that allows developers to quickly use this template in production in Kubernetes.
**Describe alternatives you've considered**
NA
**Additional context**
All relevant to the Kubernetes deployment
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.