2.9 KiB
2.9 KiB
BSN Secrets Manager — Installation für Alicia-Rechner
Ziel:
bsn-secretsauf dem Alicia-Rechner installieren, sodass Alicia Gitea-API-Token, Joomla-Token etc. perbsn-secrets getabrufen kann.
Voraussetzungen
- Python 3.8+
- GPG (
gpg) — installiert viasudo apt install gnupg gpgist auf dem aktuellen Server bereits installiert, auf dem Zielrechner prüfen mitwhich gpg
1. Tool installieren
# 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:
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):
# 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:
grep BSN_SECRETS_PASSPHRASE ~/.hermes/profiles/cody/.env | cut -d= -f2-
3. Verifizieren
# 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:
# Auf dem Haupt-Server:
scp -r ~/.password-store/bsn/ alicia@<ALICIA_IP>:~/.password-store/bsn/
Oder per rsync:
rsync -avz ~/.password-store/bsn/ alicia@<ALICIA_IP>:~/.password-store/bsn/
5. Gitea-Token testen
TOKEN=*** get bsn/gitea-token)
echo "Token-Länge: ${#TOKEN} Zeichen (sollte 40 sein)"
6. Neue Secrets anlegen (bei Bedarf)
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
/tmpablegen!/tmpist ein tmpfs und wird bei Reboots gelöscht. - ✅ Immer
bsn-secrets get <name>verwenden — GPG-verschlüsselt, persistent. - 🔑 Passphrase in
~/.hermes/profiles/<profil>/.envunterBSN_SECRETS_PASSPHRASE.