Skip to content

Commit cb02dad

Browse files
committed
feat: support passing container environment variables
This feature could be useful if the operator want to configure http_proxy for instance.
1 parent 7ccd220 commit cb02dad

File tree

25 files changed

+81
-0
lines changed

25 files changed

+81
-0
lines changed

ansible/group_vars/all.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,12 @@ docker_memory_limit: "{{ ansible_memtotal_mb }}M"
5050
docker_memory_swap_limit: "{{ docker_memory_limit }}"
5151
# How much of the available CPU resources a container can use.
5252
docker_cpus_limit: "{{ ansible_processor_count }}"
53+
# Container global environment variables. It will be applied to all containers.
54+
# docker_container_env:
55+
# http_proxy: http://localhost:8000
56+
# https_proxy: http://localhost:8000
57+
# no_proxy: localhost, 127.0.0.1
58+
docker_container_env: {}
5359

5460
##################
5561
# Service options

ansible/roles/alertmanager/defaults/main.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ alertmanager_route:
121121
# owner: team-Y
122122
# receiver: team-Y-pager
123123

124+
# Alertmanager environment variables
125+
# ----------------------------------
126+
alertmanager_env: "{{ docker_container_env}}"
127+
124128
# Container constructors
125129
# ----------------------
126130
alertmanager_services:
@@ -175,3 +179,4 @@ alertmanager_services:
175179
memory: "{{ alertmanager_docker_memory_limit }}"
176180
memory_swap: "{{ alertmanager_docker_memory_swap_limit }}"
177181
cpus: "{{ alertmanager_docker_cpus_limit }}"
182+
env: "{{ alertmanager_env }}"

ansible/roles/alertmanager/meta/argument_specs.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,7 @@ argument_specs:
7373
alertmanager_route:
7474
description: "Alert routing. More in L(official docs,https://prometheus.io/docs/alerting/configuration/#route)"
7575
type: "dict"
76+
alertmanager_env:
77+
description: "Environment variables for alertmanager container"
78+
type: "dict"
79+
default: "{{ docker_container_env }}"

ansible/roles/alertmanager/tasks/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
memory: "{{ item.value.memory }}"
7474
memory_swap: "{{ item.value.memory_swap }}"
7575
cpus: "{{ item.value.cpus }}"
76+
env: "{{ item.value.env }}"
7677
when:
7778
- inventory_hostname in groups[item.value.group]
7879
- item.value.enabled | bool

ansible/roles/cadvisor/defaults/main.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ cadvisor_docker_only: false
2121
cadvisor_housekeeping_interval: 30s
2222
cadvisor_config_flags_extra: {}
2323

24+
# Cadvisor environment variables
25+
# ----------------------------------
26+
cadvisor_env: "{{ docker_container_env}}"
27+
2428
# Container constructor
2529
# ---------------------
2630
cadvisor_services:
@@ -64,3 +68,4 @@ cadvisor_services:
6468
memory: "{{ cadvisor_docker_memory_limit }}"
6569
memory_swap: "{{ cadvisor_docker_memory_swap_limit }}"
6670
cpus: "{{ cadvisor_docker_cpus_limit }}"
71+
env: "{{ cadvisor_env }}"

ansible/roles/cadvisor/meta/argument_specs.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,7 @@ argument_specs:
6161
description:
6262
- "Additional configuration flags passed to cadvisor binary at startup"
6363
type: "dict"
64+
cadvisor_env:
65+
description: "Environment variables for cadvisor container"
66+
type: "dict"
67+
default: "{{ docker_container_env }}"

ansible/roles/cadvisor/tasks/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
memory: "{{ item.value.memory }}"
1515
memory_swap: "{{ item.value.memory_swap }}"
1616
cpus: "{{ item.value.cpus }}"
17+
env: "{{ item.value.env }}"
1718
when:
1819
- inventory_hostname in groups[item.value.group]
1920
- item.value.enabled | bool

ansible/roles/fluentd/defaults/main.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ fluentd_docker_cpus_limit: "{{ docker_cpus_limit }}"
1212

1313
fluentd_config_dir: "{{ ansitheus_config_dir }}/fluentd"
1414

15+
fluentd_env: "{{ docker_container_env }}"
16+
1517
fluentd_services:
1618
fluentd:
1719
container_name: "{{ fluentd_container_name }}"
@@ -29,3 +31,4 @@ fluentd_services:
2931
memory: "{{ fluentd_docker_memory_limit }}"
3032
memory_swap: "{{ fluentd_docker_memory_swap_limit }}"
3133
cpus: "{{ fluentd_docker_cpus_limit }}"
34+
env: "{{ fluentd_env }}"

ansible/roles/fluentd/meta/argument_specs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,6 @@ argument_specs:
1111
fluentd_version:
1212
description: "Fluentd version"
1313
default: "1.17"
14+
fluentd_env:
15+
description: "Fluentd environment variables"
16+
default: "{{ docker_container_env}}"

ansible/roles/fluentd/tasks/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
memory: "{{ item.value.memory }}"
6363
memory_swap: "{{ item.value.memory_swap }}"
6464
cpus: "{{ item.value.cpus }}"
65+
env: "{{ item.value.env }}"
6566
when:
6667
- inventory_hostname in groups[item.value.group]
6768
- item.value.enabled | bool

0 commit comments

Comments
 (0)