Files
vedran 6ce9b82998 Initial Ansible role for Logos Node deployment
Deploys logoscore with waku_module via Docker Compose.
Replaces infra-role-nim-waku for Logos architecture.

- Waku JSON config templating
- Peer info extraction from container logs (no REST API)
- Consul services with ENR for fleets.status.im
- WSS support via certbot
- Container monitor systemd service

https://github.com/status-im/infra-logos/issues/1
2026-03-01 20:27:07 +01:00

1.0 KiB

Container Monitor

Container monitoring script is present as a service to update Consul metadata with current state of a service.

It listens to Docker events for given container and updates the JSON service definition in /etc/consul.

$ systemctl -o cat -n5 status monitor-logos-node
● monitor-logos-node.service - Container state monitor for logos-node
     Loaded: loaded (/etc/systemd/system/monitor-logos-node.service; enabled)
     Active: active (running)

Known Issues

The method of modifying JSON files in /etc/consul using sed is crude but simple. It avoids the need to have to call Consul Catalog API with the whole set of service metadata only to update a single ServiceMeta key.

But there are a few problems with this approach:

  • It only works for metadata fields that are already present in the JSON file.
  • It causes Ansible to overwrite the fields, setting them to unknown.
  • It can fail due to JSON file format changes.