Table of Contents
fedmsg
fedmsg (Fedora-Messaging) is a Python package and API used around Fedora Infrastructure to send and receive messages to and from applications.
Relay
Quick setup from here:
- install yourself
fedmsg-relay
package - add to endpoint:
- /etc/fedmsg.d/endpoints.py
endpoints={ "__main__.HOSTNAME": [ "tcp://127.0.0.1:4320", ]
the HOSTNAME is your local host name, see
hostname(1)
- start
fedmsg-relay
service. - tail the relay messages:
fedmsg-tail --really-pretty &
- issue a message:
echo "Hello, world" | fedmsg-logger
Gateway
To have endpoint where to listen all messages, need fedmsg-gateway
daemon.
Install fedmsg-gateway
package, no configuration needed.
Now you can define in your endpoints.py
to listen for pld messages:
- endpoints.py
endpoints={ "pld-relay": [ "tcp://ep09.pld-linux.org:9940", ],
Incoming requests
To configure accepting incoming messages on tcp/2003
, install fedmsg-relay
package and configure relay.py
:
- relay.py
relay_inbound=[ "tcp://ep09.pld-linux.org:2003", ],
Outgoing requests
To configure sending local fedmsg-logger
events to central hub, install fedmsg-relay
package and configure relay.py
:
- relay.py
relay_inbound=[ "tcp://ep09.pld-linux.org:2003", ],
No need to start relay daemon.
anitya
anitya is a cross-distribution upstream release monitoring project, under https://release-monitoring.org address.
To monitor their events via fedmsg:
- install fedmsg package:
$ poldek -u fedmsg
- configure anitya bus:
- ~/.fedmsg.d/anitya.py
# anitya endpoint definition: https://release-monitoring.org/fedmsg config = dict( # This is a dict of possible addresses from which fedmsg can send # messages. fedmsg.init(...) requires that a 'name' argument be passed # to it which corresponds with one of the keys in this dict. endpoints={ "anitya-public-relay": [ "tcp://release-monitoring.org:9940", ], }, )
- tail the changes!
$ fedmsg-tail --really-pretty