diff --git a/README.md b/README.md index de9191f..33db347 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,8 @@ These properties set in how and what package will be installed. ### Docker specific role variables: * `telegraf_agent_docker`: Install Telegraf as a docker container. Default: `False` +* `telegraf_uid_docker`: Override user id. Default: `995` +* `telegraf_gid_docker`: Override group id. Default: `998` * `telegraf_agent_docker_name`: Name of the docker container. Default: `telegraf` * `telegraf_agent_docker_network_mode`: Networking mode of the docker container. Default: `bridge` * `telegraf_agent_docker_restart_policy`: Docker container restart policy. Default: `unless-stopped` diff --git a/defaults/main.yml b/defaults/main.yml index dbb76c9..6ec1f6a 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -2,6 +2,9 @@ telegraf_enabled: True # defaults file for ansible-telegraf +telegraf_agent_user: telegraf-metricstack +telegraf_agent_group: telegraf-metricstack + telegraf_agent_version: 1.26.0 telegraf_agent_version_patch: 1 telegraf_agent_package: telegraf @@ -24,6 +27,8 @@ telegraf_win_logfile_rotation_max_archives: 3 # Docker specific settings telegraf_agent_docker: False telegraf_agent_docker_name: telegraf +telegraf_uid_docker: 998 +telegraf_gid_docker: 995 telegraf_agent_docker_network_mode: bridge telegraf_agent_docker_restart_policy: unless-stopped telegraf_agent_docker_image_version: "{{ telegraf_agent_version }}" diff --git a/tasks/configure_linux.yml b/tasks/configure_linux.yml index 81fbe29..0d59a28 100644 --- a/tasks/configure_linux.yml +++ b/tasks/configure_linux.yml @@ -25,8 +25,8 @@ template: src: etc-opt-telegraf-telegraf.conf.j2 dest: /etc/opt/telegraf/telegraf.conf - owner: telegraf - group: telegraf + owner: "{{ telegraf_agent_user }}" + group: "{{ telegraf_agent_group }}" mode: 0640 become: yes when: @@ -39,8 +39,8 @@ template: src: telegraf.conf.j2 dest: "{{ telegraf_agent_config_path }}/telegraf.conf" - owner: telegraf - group: telegraf + owner: "{{ telegraf_agent_user }}" + group: "{{ telegraf_agent_group }}" mode: 0640 become: yes when: @@ -72,8 +72,8 @@ file: state: directory path: "{{ telegraf_agent_config_path }}/telegraf.d/" - owner: telegraf - group: telegraf + owner: "{{ telegraf_agent_user }}" + group: "{{ telegraf_agent_group }}" mode: 0755 when: - telegraf_plugins_extra_exclusive @@ -87,8 +87,8 @@ template: src: "telegraf-extra-plugin.conf.j2" dest: "{{ telegraf_agent_config_path }}/telegraf.d/{{ item.key }}.conf" - owner: telegraf - group: telegraf + owner: "{{ telegraf_agent_user }}" + group: "{{ telegraf_agent_group }}" mode: 0640 with_dict: "{{ telegraf_plugins_extra }}" loop_control: @@ -133,7 +133,7 @@ block: - name: Add telegraf user to docker group user: - name: telegraf + name: "{{ telegraf_agent_user }}" groups: docker append: true become: true diff --git a/tasks/docker.yml b/tasks/docker.yml index fce4544..66bd5e6 100644 --- a/tasks/docker.yml +++ b/tasks/docker.yml @@ -2,14 +2,16 @@ - name: Adding Telegraf group group: - name: telegraf + name: "{{ telegraf_agent_group }}" + gid: "{{ telegraf_gid_docker }}" state: present - name: Adding Telegraf user user: - name: telegraf - group: telegraf + name: "{{ telegraf_agent_user }}" + group: "{{ telegraf_agent_group }}" state: present + uid: "{{ telegraf_uid_docker }}" create_home: False system: True become: yes @@ -17,8 +19,8 @@ - name: Create Telegraf agent (home) directory file: path: "{{ telegraf_agent_config_path }}" - owner: telegraf - group: telegraf + owner: "{{ telegraf_agent_user }}" + group: "{{ telegraf_agent_group }}" mode: 0750 state: directory become: yes @@ -26,15 +28,15 @@ - name: Create telegraf.d directory file: path: "{{ telegraf_agent_config_path }}/telegraf.d" - owner: telegraf - group: telegraf + owner: "{{ telegraf_agent_user }}" + group: "{{ telegraf_agent_group }}" mode: 0750 state: directory become: yes - name: Ensure Telegraf Docker container is running docker_container: - user: "telegraf:telegraf" + user: "{{ telegraf_uid_docker }}:{{ telegraf_gid_docker }}" name: "{{ telegraf_agent_docker_name }}" image: "{{ telegraf_agent_docker_registry }}telegraf:{{ telegraf_agent_docker_image_version }}" state: started