Ausgabe fuer Sub-Lizenzserver: kein Weg zur Rolle master
This commit is contained in:
1 parent
fd333f60ff
commit
157a244900
9 files changed
+548
-124
No files matched your search
@@ -4,6 +4,13 @@ Ausgabe und Verwaltung der Lizenzen für TESM: Kunde -> Ticket -> Lizenz,
|
||||
Aktivierung online und offline, Kundenportal, Selbstbedienung, Versand über
|
||||
MS Graph und eine Hierarchie aus Unter-Lizenzservern.
|
||||
|
||||
> **Diese Ausgabe ist für Sub-Lizenzserver.** Ein Sub-Lizenzserver bekommt
|
||||
> seine eigene Lizenz von der Wurzelinstanz und stellt danach selbst
|
||||
> Kundenlizenzen aus. Was er nicht kann: sich selbst die Rolle `master` geben --
|
||||
> der Code dafür liegt nicht in diesem Paket, sondern nur in der Master-Ausgabe
|
||||
> (privates Repository `tesm-license-master`). Das ist keine Einstellung, die
|
||||
> sich umlegen lässt, sondern ein fehlendes Verzeichnis.
|
||||
|
||||
**Dieses Repository enthält genau das, was zum Installieren und Betreiben des
|
||||
Lizenzservers gebraucht wird** -- nichts darüber hinaus:
|
||||
|
||||
@@ -21,6 +28,7 @@ Die verwaltete Anwendung liegt hier **nicht** mit drin.
|
||||
| Wo sonst noch | |
|
||||
|---|---|
|
||||
| [alientim/tesm](https://gitea.int.eertmoed.net/alientim/tesm) | TESM selbst |
|
||||
| [alientim/tesm-license-master](https://gitea.int.eertmoed.net/alientim/tesm-license-master) | Master-Ausgabe (privat): die Wurzelinstanz |
|
||||
| [alientim/TESM-DEV](https://gitea.int.eertmoed.net/alientim/TESM-DEV) | Entwicklung: beide Anwendungen, Tests, Architekturdoku |
|
||||
|
||||
## Zweige
|
||||
@@ -34,16 +42,24 @@ Die verwaltete Anwendung liegt hier **nicht** mit drin.
|
||||
|
||||
## Installation
|
||||
|
||||
Eine einzelne Datei genügt -- sie lädt das Release selbst:
|
||||
|
||||
```bash
|
||||
sudo bash deploy/install.sh --app tesm-license --https --domain lizenz.firma.de
|
||||
sudo -u tesm-license tesm-license-admin init-key
|
||||
sudo -u tesm-license tesm-license-admin bootstrap
|
||||
curl -fsSLO https://gitea.int.eertmoed.net/alientim/tesm-license/raw/branch/main/install.sh
|
||||
sudo bash install.sh --app tesm-license --https --domain lizenz.firma.de
|
||||
sudo -u tesm-license tesm-license-admin create-admin
|
||||
```
|
||||
|
||||
**`init-key` erzeugt den Signaturschlüssel dieses Servers. Sichern Sie ihn
|
||||
sofort.** Ohne ihn lässt sich keine ausgestellte Lizenz mehr erneuern, und
|
||||
Kunden müssten einen Ausstellerwechsel bestätigen.
|
||||
Aus einem entpackten Paket ist es derselbe Aufruf ohne `curl`.
|
||||
|
||||
Den **Signaturschlüssel** legt der Installer selbst an -- mit ihm signiert
|
||||
dieser Server seine Kundenlizenzen. **Sichern Sie ihn sofort**
|
||||
(`data/master_signing_key.json`): ohne ihn ist keine ausgestellte Lizenz mehr
|
||||
prüfbar, und Kunden müssten einen Ausstellerwechsel bestätigen. Eine
|
||||
Aktualisierung fasst ihn nie an.
|
||||
|
||||
Die **eigene Lizenz** dieses Servers kommt von der Wurzelinstanz: dort eine
|
||||
Lizenz für diesen Server anfordern und unter "Eigene Lizenz" einspielen.
|
||||
|
||||
Zielzustand: **Port 443 mit TLS, Port 80 leitet dorthin um** -- ausser dem
|
||||
ACME-Pfad, der erreichbar bleiben muss, sonst kann Let's Encrypt nie erneuern.
|
||||
@@ -57,7 +73,7 @@ für nginx-Site, logrotate, Zertifikate und Sitzungscookie.
|
||||
### Aktualisieren
|
||||
|
||||
```bash
|
||||
sudo bash deploy/update.sh --app tesm-license
|
||||
sudo bash /srv/tesm-license/deploy/update.sh tesm-license
|
||||
```
|
||||
|
||||
Vor jedem Update entsteht ein vollständiges Backup, danach läuft ein
|
||||
@@ -70,7 +86,6 @@ Health-Check mit automatischem Rollback.
|
||||
```bash
|
||||
sudo -u tesm-license tesm-license-admin status
|
||||
sudo -u tesm-license tesm-license-admin init-key # Signaturschlüssel
|
||||
sudo -u tesm-license tesm-license-admin bootstrap # Grunddaten
|
||||
sudo -u tesm-license tesm-license-admin create-admin
|
||||
sudo -u tesm-license tesm-license-admin migrate-legacy # Altbestand übernehmen
|
||||
```
|
||||
|
||||
Reference in new issue
Block a user