1.8 KiB
Broadcast
Per controllare l'esecuzione di un programma via web.
Descrizione
broadcast
è una semplice applicazione web per controllare un altro programma in
esecuzione. Ci sono 3 modi in cui questo può avvenire:
- direttamente, specificando percorso assoluto del binario e tutte le opzioni
- attraverso una unit systemd, specificando l'opzione
-systemd
(e opzionalmente-systemd-as-user
per indicare che la unit è di tipo user) - controllando un docker container già in esecuzione (n.b.: il container deve avere
un nome, specificato con
--name
e deve già esistere (può essere in pausa))
Il programma espone un'interfaccia web, di default su 0.0.0.0:8080
, controllabile con
il parametro -addr
a riga di comando.
Esempi
Per scopi di test, questa repository include un programma go che stampa una stringa ogni secondo: echo. Lo useremo negli esempi successivi.
1. direttamente
broadcast /path/to/echo
2. unit systemd
Assumendo che esista una unit echo.service
broadcast -systemd -systemd-as-user echo.service
3. container docker
Assumendo che già esista un container docker, lanciato ad esempio con
docker run --name echo --rm -ti echo
broadcast -docker echo
Sviluppo
Il progetto include un Makefile
per facilitare alcuni compiti. Si può
iniziare una sessione di sviluppo, innanzitutto facendo il build delle immagini
necessarie
make dev-build
Si può quindi lanciare uno stack docker compose così
make dev
Per fare la build degli artefatti (verranno creati in bin/) (libsystemd-dev
è un prerequisito)
make build
Licenza
GPL-v3 o successive.