saltstack-formulas / docker-formula

Install and set up Docker
http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html
Other
136 stars 330 forks source link

[BUG] Environ settings ignored by upstream docker service #317

Open benfiedler opened 2 years ago

benfiedler commented 2 years ago

My setup

Formula version: latest master

Versions reports (master & minion)

Salt Version: Salt: 3004.1

Pillar / config used

docker:
  pkg: 
    docker:
      daemon_config:
        insecure-registries:
          - my.repo.local:5000
      environ:
        - HTTP_PROXY=http://my.proxy.local:3128/
        - HTTPS_PROXY=http://my.proxy.local:3128/
        - NO_PROXY="localhost,127.0.0.1,.local"
      use_upstream:
        repo
  wanted:
    - docker

Bug details

Describe the bug

Hi,

I have recently switched over to using this formula, and it seems to work great except for one thing:

In my testing across recent *nixes (Debian-11 / Ubuntu-20.04 / CentOS Stream-8), the environ_file is unutilized by upstream packages and ignored by the docker systemd service.

Steps to reproduce the bug

salt 'mydockerminion01' state.apply docker.software
salt 'mydockerminion01' cmd.run "docker pull nginx:latest"

mydockerminion01:
    Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 52.200.78.26:443: connect: connection refused

Expected behaviour

Docker should be pulling images using the proxy

Attempts to fix the bug

I have come up with a simple fix to the formula which if an environ is defined on *nix, opts to create a drop-in docker.service.d/override.conf using states.ini_manage which is simply:

[Service]
EnvironmentFile = {{ environ_file }}

Detected changes to the dropin file will do a systemctl daemon-reload and also restart the service. I also fixed service.running to enforce changes to the environ file by restarting the docker service.

My fork with fixes: https://github.com/benfiedler/docker-formula/commit/b131392460a8f0ff4013e07691c87e283ab71dca

Additional context

voileux commented 1 year ago

could you make a PR with your modification ?

Thank's in advance

benfiedler commented 1 year ago

it's created - my apologies, this is my first PR

benfiedler commented 1 week ago

In my previous PR the commit message did not meet standards. This one does - https://github.com/saltstack-formulas/docker-formula/pull/330