From d085d6b043c8679a0f5f03e2314a0aae56da1d01 Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Thu, 6 Jul 2023 08:52:37 +0200 Subject: [PATCH] feat: move image pull to tasks from service and create network --- README.md | 11 +++++++++++ defaults/main.yml | 3 +++ tasks/main.yml | 19 +++++++++++++++++++ templates/service.j2 | 1 - 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 055cae0..5bd40b6 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,7 @@ Building and improving this Ansible role have been sponsored by my current and p - [grafana_organizations](#grafana_organizations) - [grafana_password](#grafana_password) - [grafana_providers](#grafana_providers) + - [grafana_pull_image](#grafana_pull_image) - [grafana_repo_release](#grafana_repo_release) - [grafana_secret](#grafana_secret) - [grafana_smtp_address](#grafana_smtp_address) @@ -757,6 +758,16 @@ grafana_providers: path: /var/lib/grafana/dashboards ``` +### grafana_pull_image + +Pull image as part of the tasks + +#### Default value + +```YAML +grafana_pull_image: true +``` + ### grafana_repo_release Enforce another release for the repo diff --git a/defaults/main.yml b/defaults/main.yml index 21abfc6..02bb043 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -13,6 +13,9 @@ grafana_version: 10.0.1 # @var grafana_image:description: Docker image to use for deployment grafana_image: "grafana/grafana:{{ grafana_version }}" +# @var grafana_pull_image:description: Pull image as part of the tasks +grafana_pull_image: True + # @var grafana_network:description: Optional docker network to attach grafana_network: diff --git a/tasks/main.yml b/tasks/main.yml index e436bed..8268cf1 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -171,6 +171,25 @@ tags: - grafana +- name: Pull docker image + when: + - grafana_installation == 'docker' + - grafana_pull_image + docker_image: + name: "{{ grafana_image }}" + source: pull + tags: + - grafana + +- name: Create docker network + when: + - grafana_installation == 'docker' + - grafana_network | default(False) + docker_network: + name: '{{ grafana_network }}' + tags: + - grafana + - name: Start grafana service systemd: name: "{{ 'grafana-server' if grafana_installation == 'native' else 'grafana' }}" diff --git a/templates/service.j2 b/templates/service.j2 index 769092c..0570cc5 100644 --- a/templates/service.j2 +++ b/templates/service.j2 @@ -13,7 +13,6 @@ EnvironmentFile=/etc/environment ExecStop=/bin/sh -c '/usr/bin/docker ps | /bin/grep %p 1> /dev/null && /usr/bin/docker stop %p || true' ExecStartPre=/bin/sh -c '/usr/bin/docker ps | /bin/grep %p 1> /dev/null && /usr/bin/docker kill %p || true' ExecStartPre=/bin/sh -c '/usr/bin/docker ps -a | /bin/grep %p 1> /dev/null && /usr/bin/docker rm %p || true' -ExecStartPre=/usr/bin/docker pull {{ grafana_image }} ExecStart=/usr/bin/docker run --rm \ --name %p \ --hostname %p \