docs: Installationsanleitung bsn-secrets für Alicia-Rechner
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 5s
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 5s
This commit is contained in:
@@ -0,0 +1,101 @@
|
|||||||
|
# BSN Secrets Manager — Installation für Alicia-Rechner
|
||||||
|
|
||||||
|
> **Ziel:** `bsn-secrets` auf dem Alicia-Rechner installieren, sodass Alicia Gitea-API-Token, Joomla-Token etc. per `bsn-secrets get` abrufen kann.
|
||||||
|
|
||||||
|
## Voraussetzungen
|
||||||
|
|
||||||
|
- Python 3.8+
|
||||||
|
- GPG (`gpg`) — installiert via `sudo apt install gnupg`
|
||||||
|
- `gpg` ist auf dem aktuellen Server bereits installiert, auf dem Zielrechner prüfen mit `which gpg`
|
||||||
|
|
||||||
|
## 1. Tool installieren
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Tool von Gitea laden (oder manuell kopieren)
|
||||||
|
wget -O ~/bin/bsn-secrets https://git.datenhimmel.work/danielkrause/BSN-Chatsystem/raw/branch/main/tools/bsn-secrets
|
||||||
|
chmod +x ~/bin/bsn-secrets
|
||||||
|
mkdir -p ~/bin # falls nicht vorhanden
|
||||||
|
```
|
||||||
|
|
||||||
|
**Alternativ (wenn wget nicht geht):** Tool von diesem Rechner kopieren:
|
||||||
|
```bash
|
||||||
|
scp hermes@185.162.249.159:/home/hermes/bin/bsn-secrets ~/bin/
|
||||||
|
chmod +x ~/bin/bsn-secrets
|
||||||
|
```
|
||||||
|
|
||||||
|
## 2. Passphrase setzen
|
||||||
|
|
||||||
|
Die Passphrase muss in **Alicias `.env`** eingetragen werden. Sie ist auf dem Haupt-Server in `~/.hermes/profiles/cody/.env` und `~/.hermes/profiles/alicia/.env` hinterlegt.
|
||||||
|
|
||||||
|
**Auf dem Zielrechner (Alicia):**
|
||||||
|
```bash
|
||||||
|
# Passphrase in Alicias .env eintragen
|
||||||
|
echo "BSN_SECRETS_PASSPHRASE=<PASSPHRASE_VON_DANIEL>" >> ~/.hermes/profiles/alicia/.env
|
||||||
|
```
|
||||||
|
|
||||||
|
> ⚠️ Daniel hat die Passphrase. Auf dem Haupt-Server abrufbar via:
|
||||||
|
> ```bash
|
||||||
|
> grep BSN_SECRETS_PASSPHRASE ~/.hermes/profiles/cody/.env | cut -d= -f2-
|
||||||
|
> ```
|
||||||
|
|
||||||
|
## 3. Verifizieren
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Tool testen (sollte Hilfe ausgeben)
|
||||||
|
~/bin/bsn-secrets
|
||||||
|
|
||||||
|
# Passphrase-Prüfung
|
||||||
|
grep BSN_SECRETS_PASSPHRASE ~/.hermes/profiles/alicia/.env | wc -l
|
||||||
|
# Sollte 1 ausgeben (eine Zeile)
|
||||||
|
|
||||||
|
# Liste der Secrets abrufen (falls schon welche da sind)
|
||||||
|
~/bin/bsn-secrets list
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4. Secrets synchronisieren
|
||||||
|
|
||||||
|
Die Secrets selbst (`.gpg`-Dateien) liegen unter `~/.password-store/bsn/`. Von Haupt-Server kopieren:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Auf dem Haupt-Server:
|
||||||
|
scp -r ~/.password-store/bsn/ alicia@<ALICIA_IP>:~/.password-store/bsn/
|
||||||
|
```
|
||||||
|
|
||||||
|
Oder per rsync:
|
||||||
|
```bash
|
||||||
|
rsync -avz ~/.password-store/bsn/ alicia@<ALICIA_IP>:~/.password-store/bsn/
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5. Gitea-Token testen
|
||||||
|
|
||||||
|
```bash
|
||||||
|
TOKEN=*** get bsn/gitea-token)
|
||||||
|
echo "Token-Länge: ${#TOKEN} Zeichen (sollte 40 sein)"
|
||||||
|
```
|
||||||
|
|
||||||
|
## 6. Neue Secrets anlegen (bei Bedarf)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
echo "joomla-api-token-hier" | ~/bin/bsn-secrets set bsn/joomla-token
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Übersicht aller Secrets
|
||||||
|
|
||||||
|
| Secret-Name | Beschreibung |
|
||||||
|
|---|---|
|
||||||
|
| `bsn/gitea-token` | Gitea API-Token (read:repo + write:issue) |
|
||||||
|
| `bsn/joomla-token` | Joomla API-Token (für Article-Server) |
|
||||||
|
| `bsn/meta-token` | Meta WhatsApp Business API Token |
|
||||||
|
| `bsn/whatsapp-verify-token` | WhatsApp Webhook Verify Token |
|
||||||
|
| `bsn/artikel-server-key` | Article Server Access Key |
|
||||||
|
| `bsn/telegram-token` | Telegram Bot Token |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Wichtig
|
||||||
|
|
||||||
|
- ❌ **NIE Tokens in `/tmp` ablegen!** `/tmp` ist ein tmpfs und wird bei Reboots gelöscht.
|
||||||
|
- ✅ **Immer `bsn-secrets get <name>`** verwenden — GPG-verschlüsselt, persistent.
|
||||||
|
- 🔑 Passphrase in `~/.hermes/profiles/<profil>/.env` unter `BSN_SECRETS_PASSPHRASE`.
|
||||||
Reference in New Issue
Block a user