Skip to content

josh-proxy: allow listening on unix sockets + systemd socket activation #1288

Open
@flokli

Description

@flokli

I'd like to bind josh-proxy to a unix socket, or even use systemd socket activation, so I can lazily start josh-proxy on the first connection.

This seems to be well supported in the tokio-listener crate, which provides clap integration too:

  <LISTEN_ADDRESS>
          Socket address to listen for incoming connections.
          
          Various types of addresses are supported:
          
          * TCP socket address and port, like 127.0.0.1:8080 or [::]:80
          
          * UNIX socket path like /tmp/mysock or Linux abstract address like @abstract
          
          * Special keyword "inetd" for serving one connection from stdin/stdout
          
          * Special keyword "sd-listen" or "sd-listen-unix" to accept connections from file descriptor 3 (e.g. systemd socket activation)

This is a more general fix to a followup of #1285 I wanted to work on - rather than just adding support for IP to bind on, we'd gain support for all the other things you can bind on.

This would however mean we'd need to introduce another "listen address" cli arg (and deprecate the port one).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions