From 3b397ff4b2aaa8a3bf985f84260fb253be6f9729 Mon Sep 17 00:00:00 2001 From: Adrien Waksberg Date: Mon, 4 Apr 2022 16:43:16 +0200 Subject: [PATCH] feat: add proxy url --- README.md | 8 ++++++++ defaults/main.yml | 1 + molecule/default/converge.yml | 1 + molecule/default/tests/test_default.py | 9 +++++++++ tasks/main.yml | 10 ++++++++++ templates/default.j2 | 7 +++++++ 6 files changed, 36 insertions(+) create mode 100644 templates/default.j2 diff --git a/README.md b/README.md index 791eeec..a1fa62a 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,14 @@ Install and configure Telegraf files: ['stdout', '/tmp/metrics.out'] ``` +* `telegraf_proxy_url` - set a proxy url for http and https requests +* `telegraf_proxy_ignore` - array with ignore host or subnet + +``` + - localhost + - 10.0.0.0/8 +``` + ## How to use ``` diff --git a/defaults/main.yml b/defaults/main.yml index 4507089..db05207 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -15,3 +15,4 @@ telegraf_config: {} telegraf_full_config: '{{ telegraf_default_config|combine(telegraf_config) }}' telegraf_inputs: {} telegraf_outputs: {} +telegraf_proxy_ignore: [] diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml index fa89b21..b8f6e57 100644 --- a/molecule/default/converge.yml +++ b/molecule/default/converge.yml @@ -13,6 +13,7 @@ totalcpu: true collect_cpu_time: false report_active: false + telegraf_proxy_url: http://127.0.0.1:3128 pre_tasks: - name: update apt cache diff --git a/molecule/default/tests/test_default.py b/molecule/default/tests/test_default.py index 15666de..1d8eca9 100644 --- a/molecule/default/tests/test_default.py +++ b/molecule/default/tests/test_default.py @@ -14,6 +14,15 @@ def test_config_file(host): assert path.mode == 0o640 assert path.contains('files = \\["stdout", "/tmp/metrics.out"\\]') +def test_config_file(host): + path = host.file('/etc/default/telegraf') + assert path.exists + assert path.is_file + assert path.user == 'root' + assert path.group == 'root' + assert path.mode == 0o644 + assert path.contains('https_proxy=http://127.0.0.1:3128') + def test_service(host): service = host.service('telegraf') assert service.is_running diff --git a/tasks/main.yml b/tasks/main.yml index 6fcc18d..2edbccd 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -23,6 +23,16 @@ - telegraf tags: telegraf +- name: copy default variables file + ansible.builtin.template: + src: default.j2 + dest: /etc/default/telegraf + owner: root + group: root + mode: 0644 + notify: restart telegraf + tags: telegraf + - name: copy config file ansible.builtin.template: src: telegraf.conf.j2 diff --git a/templates/default.j2 b/templates/default.j2 new file mode 100644 index 0000000..13e9cab --- /dev/null +++ b/templates/default.j2 @@ -0,0 +1,7 @@ +# {{ ansible_managed }} + +{% if telegraf_proxy_url is defined %} +https_proxy={{ telegraf_proxy_url }} +http_proxy={{ telegraf_proxy_url }} +no_proxy={{ telegraf_proxy_ignore|join(',') }} +{% endif %}