-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Is your feature request related to a problem? Please describe.
At present we use docker compose
for our development experience. While this is completely fine, this is far removed from any of our deployment scenarios (which all use Kubernetes), further more integration of tools like parseable
pose different issues where volumes are mounted differently in compose
than what it would have been in K8s
.
Given the major aim of containerised environments is consistency, the change suggestion here is to move away from using docker compose
in development to align the stack closer to being in production.
Describe the solution you'd like
Initially propose and develop what a Kubernetes stack looks like? Points to consider here are:
- We have moved away from Docker Hub to GHCR and is Docker Desktop still the optimal tool for running containers on macOS?
- Provide a parallel solution that provides a one for one replacement for the
docker compose
based stack, this includes running apostgres
,rabbitmq
,redis
, workers fortaskiq
- Ensure that ports can be exposed so all our development tools work the same
- Ensure that volumes can be mounted for hot reload of python code
- Provide a transition pathway (including documentation)
- Maintain
docker compose
files for legacy / alternative approach - Ability to run tools like
alembic
orpsql
in the container itself
Describe alternatives you've considered
This is a migration process and at some point we did consider docker swarm
but eventually settled for Kubernetes.
Additional context
Post the development of this, we will cease to use compose
for any future projects.
See if kompose can do the trick as described in the documentation