Skip to content

Commit

Permalink
Update README content
Browse files Browse the repository at this point in the history
  • Loading branch information
marians committed Feb 22, 2024
1 parent 42bc89f commit 0f3c2cc
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 52 deletions.
31 changes: 18 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -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

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.
## Green Spider verbessern

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

Expand Down Expand Up @@ -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
```
47 changes: 8 additions & 39 deletions devops/README.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,33 @@
# 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
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

```nohighlight
devops/run-job.sh spider
```

## Screenshots erstellen

```nohighlight
devops/run-job.sh screenshotter
```

## Webapp deployen

```nohighlight
Expand All @@ -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 [email protected] --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]
```

0 comments on commit 0f3c2cc

Please sign in to comment.