c4k-taiga/README.md

133 lines
4 KiB
Markdown
Raw Normal View History

2023-07-19 11:44:04 +00:00
# convention 4 kubernetes: c4k-taiga
2023-07-19 12:01:15 +00:00
[![Clojars Project](https://img.shields.io/clojars/v/org.domaindrivenarchitecture/c4k-taiga.svg)](https://clojars.org/org.domaindrivenarchitecture/c4k-taiga) [![pipeline status](https://gitlab.com/domaindrivenarchitecture/c4k-taiga/badges/master/pipeline.svg)](https://gitlab.com/domaindrivenarchitecture/c4k-taiga/-/commits/main)
2023-07-19 11:44:04 +00:00
2023-07-19 12:01:15 +00:00
[<img src="https://domaindrivenarchitecture.org/img/delta-chat.svg" width=20 alt="DeltaChat"> chat over e-mail](mailto:buero@meissa-gmbh.de?subject=community-chat) | [<img src="https://meissa-gmbh.de/img/community/Mastodon_Logotype.svg" width=20 alt="team@social.meissa-gmbh.de"> team@social.meissa-gmbh.de](https://social.meissa-gmbh.de/@team) | [taiga & Blog](https://domaindrivenarchitecture.org)
2023-07-19 11:44:04 +00:00
2023-07-19 12:01:15 +00:00
## Requirements
2023-07-19 11:44:04 +00:00
2023-07-19 12:01:15 +00:00
https://github.com/kaleidos-ventures/taiga-docker
https://community.taiga.io/t/taiga-30min-setup/170
2023-07-19 11:44:04 +00:00
2023-08-01 07:27:43 +00:00
Note: taiga-manage,-back und -async verwenden die gleichen docker images
2023-08-01 08:25:56 +00:00
mit unterschiedlichen entry-points.
2023-07-20 12:19:03 +00:00
### HTTPS
Terminiert am ingress. Wie interagiert das mit taiga?
Eventuell wird dies hier relevant:
https://github.com/kaleidos-ventures/taiga-docker#session-cookies-in-django-admin
### **Docker Compose -> Kubernetes**
2023-07-20 12:33:28 +00:00
Wir müssen die compose-yamls nach kubernetes resources übersetzen.
Überlegung: yaml anchors funktionieren auch für kubernetes. Das könnten wir evtl zu unserem Vorteil nutzen.
2023-07-20 12:19:03 +00:00
### Für das init deployment
Reicht ein init-container im deployment?
* taiga-manage
Einen admin-user anlegen:
https://github.com/kaleidos-ventures/taiga-docker#configure-an-admin-user
folglich:
https://docs.djangoproject.com/en/4.2/ref/django-admin/#django-admin-createsuperuser
Also DJANGO_SUPERUSER_TAIGAADMIN und DJANGO_SUPERUSER_PASSWORD
2023-08-01 08:25:56 +00:00
sollten für den Container gesetzt sein.
2023-07-20 12:19:03 +00:00
2023-07-20 12:33:28 +00:00
Dann noch ein run befehl mit: python manage.py createsuperuser im init container unterbringen.
2023-07-20 12:19:03 +00:00
2023-08-09 10:11:37 +00:00
### deployment
2023-07-20 12:19:03 +00:00
2023-08-09 10:11:37 +00:00
Taiga reads many values in config.py from env vars as can be seen in the taiga-back [config.py](
https://github.com/kaleidos-ventures/taiga-back/blob/main/docker/config.py).
2023-07-26 13:32:33 +00:00
Mounting a configmap with a config.py as described here: https://docs.taiga.io/setup-production.html could be interesting. A mix of both env-vars and config.py in one container is not possible.
An example for a config.py is given here:
https://github.com/kaleidos-ventures/taiga-back/blob/main/settings/config.py.prod.example
2023-07-20 12:19:03 +00:00
* taiga-db
2023-07-19 12:01:15 +00:00
* Postgres
2023-07-20 12:19:03 +00:00
* taiga-back
* taiga-async
* taiga-async-rabbitmq
* taiga-front
* taiga-events
* taiga-events-rabbitmq
* taiga-protected
* taiga-gateway
* Nginx???
* ersetzen durch metallb und ingresse
### **Volume Mounts**
* taiga-static-data:
* taiga-media-data:
* taiga-db-data:
* taiga-async-rabbitmq-data:
* taiga-events-rabbitmq-data:
### **Secrets**
* admin user?
* secret-key
* db
* email
* rabbit-mq
2023-07-19 11:44:04 +00:00
2023-08-09 10:11:37 +00:00
### Networking
We need to know what the "hostname" KW does in docker compose.
Then need to find a translation for this functionality to kubernetes.
How do we direct traffic towards the frontend pod?
Do we need to touch the frontend config regarding the address of the API?
2023-07-19 12:01:15 +00:00
## Purpose
2023-07-19 11:44:04 +00:00
## Status
## Try out
## Usage
You need:
2023-07-19 12:01:15 +00:00
...
2023-07-19 11:44:04 +00:00
* and a kubernetes cluster provisioned by [provs]
2023-07-19 12:01:15 +00:00
...
Let c4k-taiga generate your .yaml file.
2023-07-19 11:44:04 +00:00
Apply this file on your cluster with `kubectl apply -f yourApp.yaml`.
Done.
### resource requests and limits
You may want to adjust the resource requests and limits of the build and init containers to your specific scenario.
## Development & mirrors
2023-07-19 12:01:15 +00:00
Development happens at: https://repo.prod.meissa.de/meissa/c4k-taiga
2023-07-19 11:44:04 +00:00
Mirrors are:
2023-07-20 12:33:28 +00:00
* https://gitlab.com/domaindrivenarchitecture/c4k-taiga (issues and PR, CI)
* https://github.com/DomainDrivenArchitecture/c4k-taiga
2023-07-19 11:44:04 +00:00
For more details about our repository model see: https://repo.prod.meissa.de/meissa/federate-your-repos
## License
Copyright © 2022 meissa GmbH
Licensed under the [Apache License, Version 2.0](LICENSE) (the "License")
Pls. find licenses of our subcomponents [here](doc/SUBCOMPONENT_LICENSE)
[provs]: https://gitlab.com/domaindrivenarchitecture/provs/