mhutter / ansible-docker-systemd-service

Ansible role for creating Systemd services for docker containers
https://galaxy.ansible.com/mhutter/docker-systemd-service
MIT License
48 stars 30 forks source link

container_cmd: Switch from string to list to support long cmds in a more readable way #39

Closed andygrunwald closed 2 years ago

andygrunwald commented 2 years ago

This PR changes container_cmd from a simple string to a list.

The main purpose is to make long container cmds more readable for humans.

Attention: This is a breaking change!

An example might be the configuration of a traefik container:

- name: Start traefik application proxy
  include_role:
    name: docker-systemd-service
  vars:
    container_name: "loadbalancer"
    container_image: "traefik:v2.5.6"

    container_cmd:
      - "--entrypoints.websecure.address=:443"
      - "--api"
      - "--providers.docker=true"
      - "--providers.docker.exposedByDefault=false"
      - "--certificatesresolvers.letsencrypt.acme.dnschallenge=true"
      - "--certificatesresolvers.letsencrypt.acme.dnschallenge.provider=digitalocean"
      # - "--certificatesResolvers.letsencrypt.acme.tlsChallenge=true"
      - "--certificatesresolvers.letsencrypt.acme.email=e@mail.com"
      - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
      # Lets Encrypt staging server
      # - "--certificatesResolvers.letsencrypt.acme.caServer=https://acme-staging-v02.api.letsencrypt.org/directory",
      #- "--log.level=DEBUG"

[...]

On top of this: this change enables comments for parts of the commands.

andygrunwald commented 2 years ago

I made the change backwards compatible

mhutter commented 2 years ago

Final nitpick then we can ship this baby :shipit:

andygrunwald commented 2 years ago

Thanks!