-
Epic
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
Simplify Turnpike's set up
-
Quality / Stability / Reliability
-
False
-
-
False
-
Unset
-
In Progress
-
20% To Do, 40% In Progress, 40% Done
-
-
-
Summary and goal
Turnpike is a bit more complex than it should be when it comes to its setup, and that makes it a daunting project to get your hands on when implementing features or making changes.
With a few refactors we could:
- Remove the boot dependency Nginx has with the Flask application.
- Simplify Nginx's Docker build by just copying what's needed and not having everything shoved into the "/etc/nginx" directory, which requires special permissions to build the configuration.
- Remove another default server that gets launched in port 80 due to a misconfiguration.
- Make Nginx's configuration simpler and easier to reason about.
Fetching the configuration from Flask and feeding it into Nginx is an interesting idea, but the problem is that the logic of which-headers-go-where gets scattered between Nginx and Flask. By manually defining the configuration Nginx needs by reducing the templating the configuration is simplified a lot.
Acceptance Criteria
- The Nginx Dockerfile is clearer to follow and to reason about.
- The Nginx configuration no longer requires parameters that come from Flask.
- Nginx no longer has a default server running in port 80.
Checklist
Checklist Item | Required | Notes or Comments |
---|---|---|
Workstream or external team dependencies? | Y / N | N |
ADR Required?
|
Y / N | N |
Testing plans
|
Y / N | N |
Known dependencies?
|
Y / N | N |