mirror of
https://github.com/Lore09/Tesi-Magistrale.git
synced 2025-12-19 04:14:35 +00:00
e900231bf126e09ae97fb33cbb1a1a9b47721104
Infrastuttura
L'infrastuttura simula un flusso IoT ed è composta da:
- ambiente Cloud, deployato su kubernetes e dotato di cluster NATS, WADM e Wasmcloud Host
- ambiente Edge, semplice macchina Linux con docker compose, Wasmcloud e NATS Leaf come docker container
- dispositivi IoT collegati all'ambiente Edge
Pipeline
Il processo si divide in due fasi principali, cioè quello di generazione del componente wasm e quella di deploy.
Generazione del componente WASM
Questa fase si occupa di trasformare una serie di files descrittivi in codice, selezionare il template corretto, buildare il progetto, generare il file di deploy e quindi pushare l'artifact OCI in un registry.
Parsing del codice
Il progetto di partenza è composto da un file workflow.yaml, nel quale vengono descritti tutti i componenti, e da una cartella tasks contenente le porzioni di codice che devono essere eseguite dai vari componenti.
├─ workflow.yaml
└─ tasks
├─ sensor_read.go
├─ aggregate.go
└─ db_sync.go
Workflow
Nel file workflow vengono descritti i vari componenti, un esempio potrebbe essere
tasks:
- name: Data Aggregation # Displayed name
type: processing # Used to select template
code: aggregate.go # Go code file inside tasks/ dir
target: # Where the component will be deployed
- edge
- cloud
source_topic: temp_sensor # Source NATS topic
dest_topic: aggregated_data # Destination NATS topic
component_name: data_aggregation # Component name displayed in the OCI artifact
version: 1.0.0 # Component version
...
Description
Languages
TeX
75.6%
Python
12.6%
Assembly
6.6%
Dockerfile
2.9%
Go
2.3%
