-
Notifications
You must be signed in to change notification settings - Fork 34
Add gunicorn with TLS as web server for mapping app #529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
4e6f12b to
171cf8a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In review.
4b841d8 to
4951751
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds TLS-enabled Gunicorn as the production web server for the mapping application, replacing the Flask development server. The changes introduce certificate management infrastructure and command-line options to switch between development and production modes.
Key Changes
- Added Gunicorn with TLS support as the default production server mode
- Implemented certificate generation and mounting for the mapping service
- Added command-line arguments to toggle between development (Flask) and production (Gunicorn + TLS) modes
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/certificates/Makefile | Added mapping-cert and mapping-csr targets for certificate generation |
| sample_data/docker-compose-dl-streamer-example.yml | Added mapping certificate secrets and mounted them to the mapping service |
| mapping/src/vggt_service.py | Imported app object for Gunicorn access |
| mapping/src/mapanything_service.py | Imported app object for Gunicorn access |
| mapping/src/api_service_base.py | Added Gunicorn server support with TLS, command-line argument parsing, and dual-mode operation |
| mapping/requirements_api.txt | Added gunicorn dependency |
| mapping/Dockerfile | Simplified startup script to support development/production modes via environment variables |
π‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| target: certs/scenescape-mapping.key | ||
| healthcheck: | ||
| test: ["CMD", "curl", "-I", "-s", "http://localhost:8000/health"] | ||
| test: ["CMD", "curl", "-k", "-I", "-s", "https://localhost:8000/health"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you change also port number? 8000 is typically used for HTTP
| parser.add_argument( | ||
| "--dev-mode", | ||
| action="store_true", | ||
| help="Run in development mode with Flask development server (default: production mode with Gunicorn + TLS)" | ||
| ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please consider removing dev-mode, I don't think we need it at all.
4dbaaa9 to
6675050
Compare
π Description
Added gunicorn with TLS as web server for mapping app
β¨ Type of Change
Select the type of change your PR introduces:
π§ͺ Testing Scenarios
Describe how the changes were tested and how reviewers can test them too:
β Checklist
Before submitting the PR, ensure the following: