Aeronaut / kosmos-local-startup

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Start der KOSMoS-local Umgebung

Mit diesem Skript kann die komplette KOSMoS-local Umgebung gestartet werden. Die KOSMoS-local Umgebung läuft auf der EDGE bei einem Maschinenbetreiber, der an KOSMoS-Prozessen teilnimmt.

Die KOSMoS-local Umgebung besteht aus den Komponenten

Changelog
Todo Liste

Voraussetzungen zur Installation/Nutzung

Konfiguration

Alle Komponenten werden über Umgebungsvariablen beim Start konfiguriert.

Zur besseren Übersicht sind Umgebungsvariablen und JSON-Objekte in separaten Dateien.

Zur Beschreibung der BCC_CONFIG.json Zur Beschreibung der BCC_PAYLOAD.json

Installation und Start der Services

Der Start der Komponenten erfolgt über ein Shell-Script.

git clone https://github.com/kosmos-industrie40/kosmos-local-startup.git
cd kosmos-local-startup
# TODO - Alle Images bauen und Taggen, sonst geht nichts ohne private Zugangsdaten!
#./build_all.sh
./start_all.sh

Das Netzwerk in der EDGE

Um das Netzwerk der EDGE zu simulieren initialisiert das start_all.sh Script einen virtuellen Docker Switch (docker network create kosmos-local). Alle Komponenten in der Testumgebung müssen Teil dieses Netzes sein um sich:

  • mit dem MQTT Broker zu verbinden
  • mit der Vault interagieren zu können

Der MQTT-Broker ist ein zentrales Element in der EDGE.

Hier die Eckdaten des aufgespannten virtuellen Netzwerks:

  • Der MQTT-Broker ist erreichbar unter mqtt.brokers.mqtt.local.kosmos
  • Alle MQTT-Subscriber und -Publisher müssen das DNS-Prefix bekommen: *.clients.mqtt.local.kosmos
    • Dies wurde in der Vault als Rollenname für MQTT-Clients festgelegt
  • Die Vault ist unter ca.mqtt.local.kosmos, ca.local.kosmos und ca.global.kosmos erreichbar
    • Die DNS bezeichnungen local und global sollen dazu dienen, die Rollen der Vault als CA im jeweiligen KOSMoS Umfeld zu Simulieren

Alle Komponenten, welche mit dem MQTT-Broker komunizieren sollen, müssen sich in diesen virtuellen Switch "einstecken".

docker run
[...]
    --net kosmos-local \
[...]

Alle Komponenten, welche für andere Komponenten per SSL/TLS erreichbar sein müssen, brauchen (mindestens) einen DNS Namen.

# Der Vault Placeholder ist zu anschaungszecken unter 3 DNS-Namen erreichbar:
docker run 
[...]
    --net-alias ca.mqtt.local.kosmos \
    --net-alias ca.local.kosmos \
    --net-alias ca.global.kosmos \
[...]

Dem start_all.sh Script können Beispiel-Services entnommen werden.

Credits

Dieses Repo wurde erstellt im Rahmen des BMBF Forschungsprojektes KOSMoS. Danke, BMBF!

Im Forschungsprojekt KOSMoS werden neue Geschäftsmodelle für den Maschinenbau auf Basis von sicheren infrastrukturen (z.B. Blockchain) entwickelt. Das Projekt (2019-2022) wird vom BMBF gefördert. Weitere Informationen unter https://www.kosmos-bmbf.de

Verwendete Software und Technologien:

Author

(C) 2020, Ondics GmbH

About


Languages

Language:Shell 100.0%