railitd – Stellwerksdienst
Kerne, Feld und Betriebsführung im festen Zyklus; REST/JSON, gRPC, Ereignisstrom und Bedienplatz.
Erzeugt
Diese Seite entsteht beim Bauen der Dokumentation aus railitd --help (railitd 1.0.1).
Aufruf
text
Stellwerksdienst von rail-it (simulierte Feldebene)
Usage: railitd [OPTIONS] --network <NETWORK> --plan <PLAN>
Options:
--network <NETWORK>
Netzbeschreibung (rail-it-TOML) für Simulator und Abgleich mit dem Plan
--plan <PLAN>
Plan-Image (`railit plan compile`); bei Netzen mit Stellbereichen ein Verzeichnis mit `<Bereich>.rplan` je Stellbereich
--trusted-key <TRUSTED_KEY>
Öffentlicher Schlüssel; der Plan muss damit signiert sein
--allow-unsigned
Unsignierte Pläne zulassen (nur Simulation und Test)
--approver-key <DATEI>
Öffentlicher Schlüssel eines Prüfers (mehrfach angebbar, REQ-PLN-022)
--approvals <APPROVALS>
Vier-Augen-Prinzip: Jeder Plan braucht so viele Freigaben verschiedener Prüfer (`<plan>.approvals`, `railit plan approve`)
[default: 0]
--listen <LISTEN>
Adresse der API
[default: 127.0.0.1:7878]
--cycle-ms <CYCLE_MS>
Zykluszeit des Kerns in Millisekunden (Simulationszeit)
[default: 100]
--speed <SPEED>
Zeitraffer: Die Simulation läuft so viel schneller als Echtzeit
[default: 1]
--journal <JOURNAL>
Betriebsjournal: Eingaben jedes Zyklus mit Hashkette (neue Datei; eine vorhandene wird nicht überschrieben). Bei mehreren Stellbereichen ein Verzeichnis mit `<Bereich>.journal` je Bereich. Prüfen und abspielen mit `railit journal`
--standby <URL>
Bereitschaftsrechner: liest die Journale des Hauptrechners unter dieser Adresse mit (`http://host:port`), rechnet nach, quittiert und zeigt dessen Zustand an – ohne Feld, ohne Kern im Betrieb, ohne Bedienung. `--journal` gilt erst nach einer Übernahme
--standby-token <TOKEN>
Zugangstoken beim Hauptrechner (mit `--standby`; Rolle `bereitschaft`)
--takeover-after-ms <MS>
Übernahme: Schweigt der Hauptrechner so lange (ms), führt der Bereitschaftsrechner am Feldrechner, sobald der Umschalter ihn lässt (mit `--standby` und `--field remote`)
--standby-gate-ms <MS>
Ausgabesperre für einen Bereitschaftsrechner: Ausgaben gehen erst nach seiner Quittung hinaus und warten darauf höchstens so lange (ms). Muss die Umschaltzeit des Feldrechners, `t_max` von RaSTA und `--takeover-after-ms` deutlich übersteigen
--checkpoint-every <CHECKPOINT_EVERY>
Abstand der Zustands-Prüfpunkte im Journal (Zyklen)
[default: 600]
--seal-key <SEAL_KEY>
Geheimer Schlüssel des Stellwerks (`railit plan keygen`): Journal und Auditprotokoll werden damit gesiegelt (Prüfung mit `railit journal verify --key`)
--seal-every <SEAL_EVERY>
Abstand der Siegel im Journal (Zyklen)
[default: 600]
--field <FIELD>
Anbindung der (simulierten) Feldebene: direkt, über EULYNX SCI und RaSTA oder an einen Feldrechner (`railit-field`) über RaSTA/UDP
Possible values:
- direct: Simulator direkt am Kern
- eulynx: Objektsteuerungen über EULYNX SCI und RaSTA vor dem Simulator
- remote: Feldrechner (`railit-field`) über RaSTA/UDP; die Simulation läuft dort
[default: direct]
--field-addr <ADRESSE>
Adresse des Feldrechners (UDP, mit `--field remote`). Mehrfach angegeben: je Adresse ein Kanal der RaSTA-Redundanzschicht (in derselben Reihenfolge wie `--listen` des Feldrechners)
--field-id <ID>
RaSTA-Kennung dieses Stellwerks beim Feldrechner (hexadezimal); Vorgabe: Hauptrechner 0A000001, mit `--standby` Bereitschaftsrechner 0A000002
--field-control <URL>
Steuerung des Feldrechners (HTTP) für Simulationsbefehle, z. B. `http://127.0.0.1:7901`
--field-token <FIELD_TOKEN>
Zugangstoken der Steuerung des Feldrechners (auch über `RAILIT_FIELD_TOKEN`)
[env: RAILIT_FIELD_TOKEN]
--borders <BORDERS>
Übertragung der Grenzmeldungen zwischen den Stellbereichen: direkt im Prozess oder über EULYNX SCI-ILS und RaSTA mit störbarer Strecke (`/v1/ils`)
Possible values:
- direct: Ideal im Prozess
- ils: Über EULYNX SCI-ILS und RaSTA, je Paar benachbarter Stellbereiche eine Verbindung
[default: direct]
--areas <AREAS>
Nur diese Stellbereiche rechnen (kommagetrennt); die übrigen rechnen in anderen Prozessen und sind über SCI-ILS auf UDP angebunden (`--ils-listen`, `--ils-peer`)
--ils-listen <ADRESSE>
UDP-Adresse für SCI-ILS zu den Stellbereichen anderer Prozesse
--ils-peer <BEREICH=ADRESSE>
Adresse eines Nachbarbereichs in einem anderen Prozess: `BEREICH=ADRESSE` (je Bereich und Rechner; hat der Nachbar einen Bereitschaftsrechner, beide Adressen)
--channels <CHANNELS>
Kanäle je Stellbereich: 1 (ohne Vergleich), 2 (2-von-2) oder 3 (2-von-3)
[default: 1]
--watchdog-ms <WATCHDOG_MS>
Watchdog: Frist für die Rechenzeit eines Stellbereichs je Zyklus in Millisekunden (Wanduhr). Überschreitung oder ausbleibende Zyklen führen in den sicheren Zustand
--timetable <TIMETABLE>
Fahrplan (TOML, siehe `railit_ops`); setzt Züge nach Plan ein
--ars
Zuglenkung einschalten (Fahrstraßen für Züge mit Fahrplan selbsttätig anfordern)
--token <TOKEN>
Gemeinsames Zugangstoken mit allen Rechten (auch über `RAILIT_TOKEN`)
[env: RAILIT_TOKEN]
--users <USERS>
Benutzerdatei mit Rollen, Token-Hashes und Zertifikatsnamen
--audit <AUDIT>
Auditprotokoll (wird fortgesetzt; eine manipulierte Datei verhindert den Start)
--tls-cert <TLS_CERT>
Serverzertifikat (PEM, mit Kette) für TLS
--tls-key <TLS_KEY>
Privater Schlüssel des Servers (PEM)
--tls-client-ca <TLS_CLIENT_CA>
CA für Client-Zertifikate: verlangt mTLS; der CN identifiziert den Benutzer
--tls-crl <DATEI>
Sperrliste (CRL, PEM) der Client-CA (mehrfach angebbar). Wird bei Änderung neu gelesen; abgelaufene oder unlesbare Sperrlisten weisen jede Anmeldung ab
--node <[BEREICH=]ADRESSE|lockstep>
Stellbereich auf einem Knoten des sicheren Rechners (`railit-node`): `ADRESSE` bei einem Stellbereich, sonst `BEREICH=ADRESSE` je Bereich; `lockstep` lässt alle Bereiche auf Knoten im Dienst rechnen (Gleichschritt, für Prüfung und Ausbildung)
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version