Open piepmatz opened 8 years ago
Die Production-Settings sind inzwischen im Repo, sollten aber anhand obiger Checklist noch gehärtet werden.
Im Repo setzen wir folgende Werte:
django_master_secret_key
django_develop_secret_key
Allerdings werden diese während des Deployments niemals benutzt. Stattdessen werden diese Secrets manuell in sensitive_settings.py
gesetzt. Diese Datei befindet sich in keinem Repo, muss also manuell erstellt und auf den Server gepackt werden.
Zu überlegen ist also, wie mit vertraulichen Werten umgegangen wird: Sollen diese auch durch Ansible deployed werden oder soll die Datei manuell verwaltet werden? Zumindest einheitlich sollte die Lösung sein.
Es ist absehbar, dass auch das Frontend einer Konfiguration bedarf. Auslöser ist das Google Recaptcha: Im Backend wird der secret key nicht ins Repo aufgenommen, im Frontend muss der zugehörige Schlüssel aber dazu passen. Es bietet sich also an, sowohl Backend- als auch Frontend-Konfiguration zentral über Ansible zu verwalten, anstatt an beiden Stellen händisch die geheimen Konfigurationsdateien zu pflegen.
Sowohl sensitive_settings.py und die Config für Angular werden nun durch Ansible bereitgestellt.
Djangos Settings sind in Production teils recht verschieden von jenen in einer reinen Dev-Umgebung. Momentan gibts auf dem Server daher eine
localsettings.py
, die alle wichtigen Production-Anpassungen enthält. Sobald wir TLS eingerichtet haben, können die Production Settings gehärtet werden und dann sollten diese auch in geeigneter Form (ohne Secrets usw.) dem Deployment-Repo hinzugefügt werden.