46 lines
1.2 KiB
Django/Jinja
46 lines
1.2 KiB
Django/Jinja
{{ ansible_managed | comment }}
|
|
|
|
[Unit]
|
|
Description=Grafana Agent
|
|
Documentation=https://grafana.com/docs/agent/latest/
|
|
After=network-online.target
|
|
Requires=local-fs.target
|
|
After=local-fs.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User={{ grafana_agent_user }}
|
|
Group={{ grafana_agent_user_group }}
|
|
WorkingDirectory={{ grafana_agent_data_dir }}
|
|
EnvironmentFile={{ grafana_agent_config_dir }}/{{ grafana_agent_env_file}}
|
|
|
|
ExecStart={{ grafana_agent_install_dir }}/{{ grafana_agent_binary }} \
|
|
{% for flag, flag_value in grafana_agent_flags_extra.items() %}
|
|
{% if not flag_value %}
|
|
--{{ flag }} \
|
|
{% elif flag_value is string %}
|
|
--{{ flag }}={{ flag_value }} \
|
|
{% elif flag_value is sequence %}
|
|
{% for flag_value_item in flag_value %}
|
|
--{{ flag }}={{ flag_value_item }} \
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
--config.file={{ grafana_agent_config_dir }}/{{ grafana_agent_config_filename }}
|
|
|
|
SyslogIdentifier=grafana-agent
|
|
Restart=always
|
|
|
|
{% if grafana_agent_systemd_version | int >= 232 %}
|
|
ProtectSystem=strict
|
|
ProtectControlGroups=true
|
|
ProtectKernelModules=true
|
|
ProtectKernelTunables=yes
|
|
{% else %}
|
|
ProtectSystem=full
|
|
{% endif %}
|
|
ReadWritePaths=/tmp {{ grafana_agent_data_dir }} {{ grafana_agent_positions_dir }} {{ grafana_agent_wal_dir }}
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|