Request for interface auto-connection for `husarion-shutdown`

Dear Review Team,

We’ve just published our first release of the husarion-shutdown snap to Snap Store and it requires access to the shutdown and the network-observe interfaces. Here are the details:

  • name: husarion-shutdown
  • description: The safe shutdown service for the User Computer on Husarion Panther and Lynx UGVs. It runs a HTTP server on a User Computer which is available only within the internal subnet of the robot. After the system shutdown procedure is initiated by the Embedded Computer (eg. power button press), the Embedded Computer sends a shutdown request to the husarion-shutdown snap running on the User Computer (inside the robot there are two computers).
  • snapcraft: PRIVATE (repository is not publicly available)
  • upstream: PRIVATE (repository is closed-source)
  • upstream-relation: We are the upstream developers and maintainers of this snap.
  • interfaces:
    • shutdown:
      • request-type: installation & auto-connection
      • reasoning: this interface is needed for a safe system shutdown on the User Computer withing the UGV platform.
    • network-observe:
      • request-type: auto-connection
      • reasoning: this interface is needed to allow sending the HTTP request only the certain remote hosts (by default the Embedded Computer)

Thank you!

Dominik from Husarion

Hey @Husarion

+1 from me for auto-connecting shutdown interface as it seems to be the whole point of the snap.

Regarding network-observe, I think that network interface should be enough to send requests or network-bind if you also needs to run the http server. Both auto-connect by default.

Thanks

1 Like

Hi @jslarraz ,

Thanks for your feedback. I have tested both network and network-bind interfaces but they are not enough. network-observe is needed for this fragment of the HTTP server in bash script:

##############################################################################
# Helper: get the remote IP from the just-established connection.
##############################################################################
get_remote_ip() {
  ss -tanp | grep -m1 "ESTAB.*:${SERVER_PORT} " \
    | awk '{print $5}' | cut -d':' -f1
}

As mentioned, this interface is needed to allow sending the HTTP request only the certain remote hosts (by default the Embedded Computer).

I would be grateful for +1 also for this interface. Thanks!

Then I guess it should be ok but I would like to hear @alexmurray opinion

+1 from me too for auto-connect of shutdown as well as network-observe for husarion-shutdown

+2 for, 0 against granting auto-connection to shutdown and network-observe. The publisher is vetted. This is now live.