SaaShup / SaaShup/netbox-docker-agent

:lock: Add support for TCP socket instead of Unix Socket

Open
#184 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
43
Forks
2
Avg merge
40m
Merged PRs (30d)
2

Description

Version
1.11.0

Context

At the moment, the agent requires read-write access to the Docker socket. Because we bind-mount the socket in the agent's container, we need the uid/gid of the Docker socket to match the user the container is running as (which is node-red, a non-root user, for obvious security reasons).

This means we need to give read-write permissions to all users on the Docker socket:

chmod a+rw /var/run/docker.sock

This is obviously a security risk if other users have access to the host.

Feature Request

Docker can expose the socket in TCP (with or without TLS), see this page for more information.

We could configure the Docker daemon to expose the socket on 127.0.0.1:2376, with (or without) TLS.
Then, we setup the Agent's container to run on the host Docker network, and access 127.0.0.1:2376 (with client certificate authentication eventually) instead of /var/run/docker.sock.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Docker security documentation linked in the issue, then inspect the agent container's Docker socket configuration and network setup. Define the supported TCP endpoint and TLS expectations, and consider how the agent will connect to 127.0.0.1:2376 instead of /var/run/docker.sock; done should include a documented, working connection path.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, javascript
Domain
infrastructure, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.