Strassengezwitscher / deployment

MIT License
0 stars 0 forks source link

Django Production Settings #1

Open piepmatz opened 8 years ago

piepmatz commented 8 years ago

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.

piepmatz commented 8 years ago

Doku dazu: https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/

piepmatz commented 8 years ago

Die Production-Settings sind inzwischen im Repo, sollten aber anhand obiger Checklist noch gehärtet werden.

piepmatz commented 8 years ago

Im Repo setzen wir folgende Werte:

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.

piepmatz commented 8 years ago

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.

piepmatz commented 8 years ago

Sowohl sensitive_settings.py und die Config für Angular werden nun durch Ansible bereitgestellt.