<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ansible-role-prometheus-target, branch 1.4.0</title>
<subtitle>Ansible role for pushing targets to prometheus instance</subtitle>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-prometheus-target.git/'/>
<entry>
<title>Release 1.4.0</title>
<updated>2026-08-11T00:09:37+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-08-11T00:09:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-prometheus-target.git/commit/?id=b3de192460334f2239ef81cabbd4715f86b76b07'/>
<id>b3de192460334f2239ef81cabbd4715f86b76b07</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable markdownlints duplicate heading rule</title>
<updated>2026-08-11T00:07:56+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-08-11T00:07:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-prometheus-target.git/commit/?id=4087c5fb94f653eaa79c57798cd05335bc936106'/>
<id>4087c5fb94f653eaa79c57798cd05335bc936106</id>
<content type='text'>
This often flags CHANGELOG since it uses the same headers sometimes
under multiple releases, which classifies as duplicate heading.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This often flags CHANGELOG since it uses the same headers sometimes
under multiple releases, which classifies as duplicate heading.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix pre-commit lint violations</title>
<updated>2026-08-10T23:45:24+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-08-10T23:39:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-prometheus-target.git/commit/?id=ac3c94b3159acf91674fdd61396e5811a6a55fb3'/>
<id>ac3c94b3159acf91674fdd61396e5811a6a55fb3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add documentation for large deployments to README</title>
<updated>2026-08-10T23:30:28+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-08-10T23:30:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-prometheus-target.git/commit/?id=f31bda03a2922d2b7d09be6772a5cf28f0981c8b'/>
<id>f31bda03a2922d2b7d09be6772a5cf28f0981c8b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix some typos in the README</title>
<updated>2026-08-10T23:08:57+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-08-10T23:08:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-prometheus-target.git/commit/?id=3ab5c520e0481f052493beabb1ef2671891e9fde'/>
<id>3ab5c520e0481f052493beabb1ef2671891e9fde</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve README with quickstart example</title>
<updated>2026-08-10T23:07:48+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-08-10T23:07:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-prometheus-target.git/commit/?id=a200923371d215a478b1c4d645480540bd369dc7'/>
<id>a200923371d215a478b1c4d645480540bd369dc7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add `state` option for removing exporters</title>
<updated>2026-08-10T22:54:41+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-08-10T22:54:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-prometheus-target.git/commit/?id=c267536ecfbcf37e68226ade2ed29c3b1f356a98'/>
<id>c267536ecfbcf37e68226ade2ed29c3b1f356a98</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>test: expand Molecule coverage for exporter behavior</title>
<updated>2026-07-21T17:58:10+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-07-21T17:58:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-prometheus-target.git/commit/?id=c33948c219032977779a7ef6d82c16e84f37b81a'/>
<id>c33948c219032977779a7ef6d82c16e84f37b81a</id>
<content type='text'>
Cover lineinfile and YAML behavior for default exporters, skipped
defaults, exporters without IDs, duplicate definitions, path and host
overrides, path-prefix precedence, and inherited label overrides.

Verify YAML handling of null documents, multiple files, labeled and
unlabeled groups, and duplicate targets.

Add test coverage for command and shell handlers using run-once,
per-host, disabled, and non-become configurations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cover lineinfile and YAML behavior for default exporters, skipped
defaults, exporters without IDs, duplicate definitions, path and host
overrides, path-prefix precedence, and inherited label overrides.

Verify YAML handling of null documents, multiple files, labeled and
unlabeled groups, and duplicate targets.

Add test coverage for command and shell handlers using run-once,
per-host, disabled, and non-become configurations.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: prevent lost YAML targets during parallel writes</title>
<updated>2026-07-21T17:11:08+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-07-21T17:10:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-prometheus-target.git/commit/?id=0055971afd5524f0df00fc8d2203a80f828885f7'/>
<id>0055971afd5524f0df00fc8d2203a80f828885f7</id>
<content type='text'>
The YAML strategy performed a separate read-modify-write operation for
every managed host. Because these tasks were delegated to the same
Prometheus host, parallel Ansible forks could read the same original
file before any fork wrote its update.

Each fork then generated YAML containing only its own target. Although
the copy module atomically replaced the file, it did not make the full
read-modify-write sequence atomic. The last fork to write therefore
overwrote targets added by earlier forks.

Collect exporter updates from all hosts through hostvars, process them
in one run_once operation, and write each distinct target file once.
This preserves every target without requiring users to set serial.

Add parallel coverage for multiple target files and label groups, and
reset the fixtures on every convergence so stale files cannot hide the
race.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The YAML strategy performed a separate read-modify-write operation for
every managed host. Because these tasks were delegated to the same
Prometheus host, parallel Ansible forks could read the same original
file before any fork wrote its update.

Each fork then generated YAML containing only its own target. Although
the copy module atomically replaced the file, it did not make the full
read-modify-write sequence atomic. The last fork to write therefore
overwrote targets added by earlier forks.

Collect exporter updates from all hosts through hostvars, process them
in one run_once operation, and write each distinct target file once.
This preserves every target without requiring users to set serial.

Add parallel coverage for multiple target files and label groups, and
reset the fixtures on every convergence so stale files cannot hide the
race.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: remove markdownlint.rb</title>
<updated>2026-07-21T17:00:23+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-07-21T17:00:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-prometheus-target.git/commit/?id=d9b5c59a50ac9967dc365f2c8586869d6ef5d9bd'/>
<id>d9b5c59a50ac9967dc365f2c8586869d6ef5d9bd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
