|
1 | 1 | {%- import_yaml "exporter/defaults.yaml" as defaults %} |
2 | 2 |
|
| 3 | +{#- Normalize osarch: x86_64 -> amd64, aarch64 -> arm64 for GitHub release URLs #} |
| 4 | +{%- set _osarch_map = {"x86_64": "amd64", "aarch64": "arm64"} %} |
| 5 | +{%- set _osarch = _osarch_map.get(grains["osarch"], grains["osarch"]) %} |
| 6 | + |
3 | 7 |
|
4 | 8 | {%- macro install_dir(settings, prefix=[]) %} |
5 | 9 | {{ "_".join(prefix) }}_install_dir: |
|
31 | 35 | - shell: /bin/bash |
32 | 36 | - cwd: {{ settings["install_dir"] }} |
33 | 37 | - watch_in: |
34 | | - - service: {{ "_".join(prefix) }}_systemd |
| 38 | + - cmd: {{ "_".join(prefix) }}_systemd |
35 | 39 | {%- if extractor.get("clean", True) %} |
36 | 40 | file.absent: |
37 | 41 | - name: {{ output }} |
|
49 | 53 | - group: root |
50 | 54 | - shell: /bin/bash |
51 | 55 | - watch_in: |
52 | | - - service: {{ "_".join(prefix) }}_systemd |
| 56 | + - cmd: {{ "_".join(prefix) }}_systemd |
53 | 57 | {%- if settings.get("version", "") %} |
54 | 58 | - unless: |
55 | 59 | - "[[ $(cat {{ settings["install_dir"] }}/.salt_version_info) =~ {{ settings["version"] }} ]]" |
|
105 | 109 | - "[[ ! $({{ dir }}/venv/bin/pip freeze -r {{ requirements_txt }} 2>&1) =~ WARNING ]]" |
106 | 110 | {%- endif %} |
107 | 111 | - watch_in: |
108 | | - - service: {{ "_".join(prefix) }}_systemd |
| 112 | + - cmd: {{ "_".join(prefix) }}_systemd |
109 | 113 | {%- endmacro %} |
110 | 114 |
|
111 | 115 |
|
|
130 | 134 | type: {{ type }} |
131 | 135 | settings: {{ settings }} |
132 | 136 | defaults: {{ defaults["systemd"] }} |
133 | | - service.running: |
134 | | - - name: exporter_{{ name }}.service |
135 | | - - enable: True |
136 | | - - watch: |
| 137 | + cmd.run: |
| 138 | + - name: systemctl daemon-reload && systemctl enable exporter_{{ name }}.service && systemctl restart exporter_{{ name }}.service |
| 139 | + - onchanges: |
137 | 140 | - file: {{ "_".join(prefix) }}_systemd |
| 141 | +{{ "_".join(prefix) }}_systemd_running: |
| 142 | + cmd.run: |
| 143 | + - name: systemctl is-active exporter_{{ name }}.service || systemctl start exporter_{{ name }}.service |
138 | 144 | {%- endmacro %} |
139 | 145 |
|
140 | 146 |
|
|
160 | 166 | {# define format_source #} |
161 | 167 | {%- set format_source = {"tag": settings.get("version",""), |
162 | 168 | "tag_vstrip": settings.get("version","").lstrip("v"), |
163 | | - "osarch": grains["osarch"], |
| 169 | + "osarch": _osarch, |
164 | 170 | "cpuarch": grains["cpuarch"], |
165 | 171 | "kernel": grains["kernel"], |
166 | 172 | "kernel_lower": grains["kernel"].lower() } %} |
|
177 | 183 | {%- set file = defaults["salt_cache_dir"] ~ "/" ~ type ~ "/" ~ file_src.split("/")[-1] %} |
178 | 184 |
|
179 | 185 | {# define format_base #} |
180 | | - {%- set format_base = {"name": name, "type": type, "file": file, "install_dir": settings["install_dir"]} %} |
| 186 | + {%- set format_base = {"name": name, "type": type, "file": file, "install_dir": settings["install_dir"], |
| 187 | + "osarch": _osarch, "kernel_lower": grains["kernel"].lower()} %} |
181 | 188 |
|
182 | 189 | {# format args #} |
183 | 190 | {%- do settings.update({"args": settings["args"].format(**format_base) }) %} |
|
240 | 247 | {{ service(name, type, settings, prefix) }} |
241 | 248 |
|
242 | 249 | {%- endmacro %} |
| 250 | + |
0 commit comments