Lorenzo Venerandi e900231bf1 Readme start
2025-01-25 18:30:08 +01:00
2025-01-25 18:30:08 +01:00
2025-01-25 18:30:08 +01:00
2024-12-13 00:44:23 +01:00
2024-11-12 18:56:22 +01:00
2024-08-26 10:51:29 +02:00
2024-08-26 11:19:32 +02:00
2025-01-25 18:30:08 +01:00

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

infra

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
No description provided
Readme 26 MiB
Languages
TeX 75.6%
Python 12.6%
Assembly 6.6%
Dockerfile 2.9%
Go 2.3%