green-spider/devops/README.md

1.8 KiB

DevOps

Die Skripte in diesem Verzeichnis erlauben das weitgehend automatisierte Provisionieren eines Servers, Ausführen von Jobs wie Spider und Screenshotter und Entfernen des Servers.

Warnung: Die Scripte sind aktuell so einfach, dass die erzeugten Server nur nach erfolgreicher Ausführung des Jobs entfernt werden. Im Fall eines Fehlers muss der provisionierte Server unbedingt manuell entfernt werden, um unnötige Kosten zu vermeiden.

Voraussetzungen

  • SSH Public Key ist bei Hetzner hinterlegt und in den scripten eingetragen (siehe 'ssh_keys')
  • API Token für Hetzner in Datei 'secrets/hetzner-api-token.sh' im Format 'export API_TOKEN='
  • Service account JSON Datei mit Schreibrechten in 'secrets/datastore-writer.json'
  • curl
  • jq (https://stedolan.github.io/jq/)
  • ssh

Generelles

  • Die Skripte müssen aus dem root-Verzeichnis des git repositories ausgeführt werden
  • Der Terminal muss bis zum Ende der Ausführung geöffnet bleiben.

Spider starten

devops/run-job.sh spider

Screenshots erstellen

devops/run-job.sh screenshotter

Webapp deployen

devops/deploy-webapp.sh

Einloggen per SSH

devops/ssh.sh

LetsEncrypt Zertifikat erneuern

Hostname: green-spider.netzbegruenung.de

docker-compose stop webapp
docker run -it --rm -p 443:443 -p 80:80 --name certbot \
  -v /etc/letsencrypt:/etc/letsencrypt \
  -v /var/lib/letsencrypt:/var/lib/letsencrypt \
  certbot/certbot certonly --standalone -n --email marian@sendung.de --agree-tos -d green-spider.netzbegruenung.de
docker-compose up -d webapp

IPv6 "Floating IP" temporär an Device binden

sudo ip addr add 2a01:4f8:1c0c:811f::1 dev eth0

curl-Zugriff mittels IPv6

curl https://[2a01:4f8:1c0c:811f::1]