Skip to content

Migrate to Kubernetes for development #78

@devraj

Description

@devraj

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 a postgres, rabbitmq, redis, workers for taskiq
  • 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 or psql 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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions