Skip to content

chronyreceiver: add local_endpoint for cross-container Unix socket deployments #46833

@sheurich

Description

@sheurich

Component(s)

receiver/chrony

Is your feature request related to a problem? Please describe.

When the collector and chronyd run in separate containers sharing a Unix
datagram socket via a volume mount, Go's abstract socket autobind fails because
abstract sockets are scoped to the network namespace. The chronyreceiver has no
way to specify a filesystem-based local bind address for the reply socket.

Describe the solution you'd like

A local_endpoint configuration field (e.g., unix:///run/chrony/otel-reply.sock)
that binds the client reply socket to a filesystem path on the shared volume,
allowing chronyd to reply across namespace boundaries.

Describe alternatives you've considered

  • Host networking: eliminates the namespace boundary but weakens isolation.
  • Socat proxy: adds operational complexity and a failure point.
  • Custom init container to pre-create the socket: fragile and chronyd
    expects a fresh datagram socket per request.

Additional context

Implementation ready at sheurich/opentelemetry-collector-contrib branch
chronyreceiver-local-endpoint.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions