Update README content

This commit is contained in:
Marian Steinbach 2024-02-22 08:33:49 +01:00
parent 42bc89f251
commit 0f3c2cc243
2 changed files with 26 additions and 52 deletions

View file

@ -1,28 +1,23 @@
# Green Spider
Initiative und Tools zur Förderung eines benutzer*innenfreundlichen Auftritts von Bündnis 90/Die Grünen im Web.
Green Spider prüft Websites von Bündnis 90/Die Grünen Gliederungen auf Einhaltung ausgewählter Standards. Die Ergebnisse sind unter [green-spider.netzbegruenung.de](https://green-spider.netzbegruenung.de/) einsehbar.
Zur Auswertung: [https://green-spider.netzbegruenung.de/](https://green-spider.netzbegruenung.de/)
Dieses Repository beinhaltet Code für den _Spider_, der Websites besucht und prüft.
## Tools
Green Spider ist ein Projekt von [netzbegrünung e. V.](https://blog.netzbegruenung.de/).
- **Spider:** Sammelt Informationen über Websites von B90/GRÜNE Gliederungen
- **Screenshotter:** Erstellt Seiten-Screenshots. Siehe [netzbegruenung/green-spider-screenshotter](https://github.com/netzbegruenung/green-spider-screenshotter/)
## Übersicht aller Green Spider Repositories
- **Spider:** Dieses Repository
- **Webapp:** Darstellung der Spider-Ergebnisse. Siehe [netzbegruenung/green-spider-webapp](https://github.com/netzbegruenung/green-spider-webapp/). Dazu gehören
- **API**: [netzbegruenung/green-spider-api](https://github.com/netzbegruenung/green-spider-api)
- **Elasticsearch**
- **Indexer:** Lädt Ergebnisdaten in Elasticsearch. Siehe [netzbegruenung/green-spider-indexer](https://github.com/netzbegruenung/green-spider-indexer)
- **Auswertung**: R Projekt zur Auswertung der Ergebnisse. Siehe [netzbegruenung/green-spider-analysis](https://github.com/netzbegruenung/green-spider-analysis)
## Aktivitäten
## Green Spider verbessern
Es ist geplant, auf Basis der gesammelten Informationen (siehe Spider) Informationen an die Betreiber*innen der Websites zu versenden. Hierzu müssen Prozesse erarbeitet und vermutlich weitere Tools geschaffen werden.
## Community
Green Spider ist ein Projekt des [netzbegrünung](https://blog.netzbegruenung.de/) e. V. -- Mitwirkung ist herzlich willkommen.
Zur Kommunikation dient der Chatbegrünung-Kanal [#green-spider](https://chatbegruenung.de/channel/green-spider) sowie die [Issues](https://github.com/netzbegruenung/green-spider/issues) hier in diesem Repository.
Du kannst über den Chatbegrünung-Kanal [#green-spider](https://chatbegruenung.de/channel/green-spider) Probleme melden, Fragen stellen und Verbesserungsvorschläge machen. Wenn Du möchtest, kannst Du auch die [Issues](https://github.com/netzbegruenung/green-spider/issues) hier in diesem Repository einsehen ud kommentieren oder selbst ein Issue anlegen.
## Betrieb
@ -73,3 +68,13 @@ docker run --rm -ti \
--loglevel debug \
spider --job '{"url": "https://gruene-porta-westfalica.de/home/", "city": "Porta Westfalica", "country": "DE", "district": "Minden-Lübbecke", "level": "DE:ORTSVERBAND", "state":" Nordrhein-Westfalen", "type": "REGIONAL_CHAPTER"}'
```
### Spider auf Kubernetes ausführen
```nohighlight
o login gollum 5jka7
cd cache/green-directory && git fetch && git pull && cd ../..
dc up manager
. /venv/bin/activate.fish
python k8s-job-manager.py
```

View file

@ -1,8 +1,7 @@
# 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.
Provisionieren eines Hetzner Cloud Servers, Ausführen von Spider Jobs und Entfernen des Servers nach Fertigstellung.
**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
@ -10,17 +9,18 @@ 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=<token>'
- Service account JSON Datei mit Schreibrechten in 'secrets/datastore-writer.json'
- 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=<token>`
- Service Account mit Schreibrechten für Google Cloud Datenbank als JSON-Datei in `secrets/datastore-writer.json`
- curl
- jq (https://stedolan.github.io/jq/)
- [jq](https://jqlang.github.io/jq/)
- ssh
## Generelles
- Die Skripte müssen aus dem root-Verzeichnis des git repositories ausgeführt werden
- Die Skripte müssen aus dem root-Verzeichnis des lokalen clone dieses git Repositories ausgeführt werden.
- Der Terminal muss bis zum Ende der Ausführung geöffnet bleiben.
- Es sollte immer das Container Image verwendet werden, welches das letzte Release abbildet. TODO: Erklären, wie man das am einfachsten findet, und wo die Version angepasst werden muss.
## Spider starten
@ -28,12 +28,6 @@ Server unbedingt manuell entfernt werden, um unnötige Kosten zu vermeiden.
devops/run-job.sh spider
```
## Screenshots erstellen
```nohighlight
devops/run-job.sh screenshotter
```
## Webapp deployen
```nohighlight
@ -42,31 +36,6 @@ devops/deploy-webapp.sh
## Einloggen per SSH
```
```nohighlight
devops/ssh.sh
```
## LetsEncrypt Zertifikat erneuern
Hostname: `green-spider.netzbegruenung.de`
```shell
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]
```