anomaly / anomaly/lab-python-server

Migrate to Kubernetes for development

Ouverte
#78 0 commentaires 0 réactions 1 personne assignée Réclamée par @devraj Voir sur GitHub
Langage dominant
Python
Étoiles
16
Forks
4
Métriques de merge des PR
Aucune PR mergée en 30 j

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 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](https://kubernetes.io/docs/tasks/configure-pod-container/translate-compose-kubernetes/) can do the trick as described in the documentation

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.