RedHatInsights / yggdrasil

GNU General Public License v3.0
21 stars 37 forks source link

Add 'noop' transport #145

Closed subpop closed 1 year ago

subpop commented 1 year ago

Add a noop transport option. Setting the config flag 'protocol' to "noop" or "" will configure yggd with a no-op transport. All the rest of the dispatch and routing flows are unaffected, but no data is transported to or from the client.

jirihnidek commented 1 year ago

What is purpose of such functionality? It seems that yggd will be little bit useless in such situation. It looks like that yggd would be intended only as dispatcher of messages received over D-Bus, right? Isn't yggd overkill in such situation? We can easily send D-Bus methods and signal on localhost without anything like yggdrasil?

I can call echo worker, when yggd is not running like this:

busctl --user call com.redhat.Yggdrasil1.Worker1.echo /com/redhat/Yggdrasil1/Worker1/echo \
    com.redhat.Yggdrasil1.Worker1 Dispatch sssa{ss}ay "echo" "baa129a7-e4d6-453d-9380-f89a69c5f192" \
    "34176e48-11c4-422d-bfc7-5a07cbb0b798" "0" "3" 0x01 0x02 0x03
subpop commented 1 year ago

Yes, it does convert yggd into little more than a wrapper around D-Bus. I don't have an intended use for this change aside from making my life a little easier as a developer. Being able to turn off the MQTT transport requirements make my ability to develop the other parts of yggd a little faster. And who knows? Maybe a customer would find some bizarre use for this. Temporarily stopping transport during maintenance windows, perhaps?

jirihnidek commented 1 year ago

Yes, it does convert yggd into little more than a wrapper around D-Bus. I don't have an intended use for this change aside from making my life a little easier as a developer. Being able to turn off the MQTT transport requirements make my ability to develop the other parts of yggd a little faster. And who knows? Maybe a customer would find some bizarre use for this. Temporarily stopping transport during maintenance windows, perhaps?

OK. It makes sense.