- k3s: custom configs incluidas en directorio k3s-configs (work in progress)
-
Basado en: Discourse Docker
-
Por el momento está estructurado como un proyecto de docker-compose, al tener un stable release se migrará a Kubernetes, testeado en k3s. -
Migrado a Kubernetes Deployments y Stateful Sets, testeado en k3s, single node.
-
Para los proximos pasos, necesitamos el container de postgres antes de ejecutar todo el stack, por lo que se debe crear primero el statefulset de postgres para luego crear el deployment de data y web_only.
-
La imagen inicial debe crearse con las instrucciones de Discourse Docker Multiple Containers, con el "parche" adjunto en este repositorio: patch-discourse_docker
- ToDo: Implementar script original de libresh como Github Workflow (Actions)
-
Se utiliza un directorio local para persistir los datos de la base de datos, y otro para persistir los datos de la aplicación.
ToDo: Volúmenes persistentes en Kubernetes via NFSFalla la iomplemkentación dirercta dada la lógica NFS de "overlay de permisos", derbe implementarse otro volume storage class.- Detalle en cada deployment/statefulset, revisar los puntos de montaje, ejemplo:
# deploy/postgres13.yaml
volumes:
- name: data
hostPath:
path: /root/data-postgres
- Crea tus configmap usando el template respectivo con tus valores, ejemplo:
cp deploy/postgres.env.template deploy/postgres.env
# edita deploy/postgres.env
nano deploy/postgres.env
# crea el configmap
kubectl create configmap postgres-config --from-file=deploy/postgres.env