<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ansible on Project Wintermute</title><link>https://wintermutecore.com/tags/ansible/</link><description>Recent content in Ansible on Project Wintermute</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 08 Sep 2026 16:50:09 +0000</lastBuildDate><atom:link href="https://wintermutecore.com/tags/ansible/index.xml" rel="self" type="application/rss+xml"/><item><title>Ansible 2.20.9 - URL Masking And Tempfile Name Checks</title><link>https://wintermutecore.com/posts/ansible-2-20-9-url-masking-tempfile-guard/</link><pubDate>Tue, 08 Sep 2026 16:50:09 +0000</pubDate><guid>https://wintermutecore.com/posts/ansible-2-20-9-url-masking-tempfile-guard/</guid><description>&lt;p&gt;Ansible published &lt;code&gt;ansible-core&lt;/code&gt; v2.20.9 on 8 September 2026 at 16:50:09 UTC. The change that reaches controller logs is &lt;code&gt;mask_url&lt;/code&gt;: a URL with a password and no username, such as &lt;code&gt;redis://:password@host&lt;/code&gt;, is rewritten so the password is no longer intact. The same tag rejects &lt;code&gt;prefix&lt;/code&gt; and &lt;code&gt;suffix&lt;/code&gt; on &lt;code&gt;ansible.builtin.tempfile&lt;/code&gt; when those values contain a path separator.&lt;/p&gt;</description></item><item><title>Ansible 2.19.13 - URL Credential Masking</title><link>https://wintermutecore.com/posts/ansible-2-19-13-url-credential-masking/</link><pubDate>Tue, 08 Sep 2026 16:48:31 +0000</pubDate><guid>https://wintermutecore.com/posts/ansible-2-19-13-url-credential-masking/</guid><description>&lt;p&gt;The Ansible project published &lt;code&gt;ansible-core&lt;/code&gt; &lt;code&gt;v2.19.13&lt;/code&gt; on 8 September 2026 at 16:48 UTC. &lt;code&gt;mask_url&lt;/code&gt; in &lt;code&gt;lib/ansible/module_utils/urls.py&lt;/code&gt; now masks a URL that carries a password and no username, such as &lt;code&gt;redis://:password@host&lt;/code&gt;. The same tag rejects &lt;code&gt;tempfile&lt;/code&gt; &lt;code&gt;prefix&lt;/code&gt; and &lt;code&gt;suffix&lt;/code&gt; values whose basename differs from the raw string, which is how path separators were reaching &lt;code&gt;mkstemp&lt;/code&gt; and &lt;code&gt;mkdtemp&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Ansible Fixes SSH Become Detection When Extra Args Contain ssh</title><link>https://wintermutecore.com/posts/ansible-ssh-become-detection-and-test-pins/</link><pubDate>Tue, 08 Sep 2026 14:00:00 +0000</pubDate><guid>https://wintermutecore.com/posts/ansible-ssh-become-detection-and-test-pins/</guid><description>&lt;p&gt;Ansible core on the &lt;a href="https://github.com/ansible/ansible"&gt;ansible/ansible&lt;/a&gt; devel branch took five commits this week, 22 files, 131 insertions, 70 deletions. The change operators will feel is a become bug in the SSH connection plugin. Extra args that happen to contain the ssh executable name were treated as if the process itself was ssh, which sent sftp and scp transfers down the privilege escalation prompt path.&lt;/p&gt;</description></item><item><title>Ansible v2.21.3 - Galaxy Retry And rpm_key Parse Fix</title><link>https://wintermutecore.com/posts/ansible-v2-21-3-galaxy-retry-rpm-key/</link><pubDate>Mon, 10 Aug 2026 16:46:28 +0000</pubDate><guid>https://wintermutecore.com/posts/ansible-v2-21-3-galaxy-retry-rpm-key/</guid><description>&lt;p&gt;Ansible published &lt;code&gt;v2.21.3&lt;/code&gt; on 10 August 2026 as a stable patch on the 2.21 controller line. The change most operators will feel is in &lt;code&gt;ansible-galaxy&lt;/code&gt;: a truncated Galaxy response no longer fails collection install on the first hash mismatch. The CLI retries the download when the body is shorter than expected.&lt;/p&gt;</description></item><item><title>Ansible v2.20.8 - rpm_key And Fact Gather Hang</title><link>https://wintermutecore.com/posts/ansible-v2-20-8-rpm-key-fact-gathering/</link><pubDate>Mon, 10 Aug 2026 16:45:07 +0000</pubDate><guid>https://wintermutecore.com/posts/ansible-v2-20-8-rpm-key-fact-gathering/</guid><description>&lt;p&gt;Ansible published &lt;code&gt;ansible-core&lt;/code&gt; &lt;code&gt;v2.20.8&lt;/code&gt; on 10 August 2026. The patch closes a hang in parallel fact gathering when async job files are corrupt, and it makes the async wrapper consult remaining timeout before it kills a module process. Operators who gather facts at inventory scale, and hosts that import RPM keys through &lt;code&gt;rpm_key&lt;/code&gt;, are the audience for this tag.&lt;/p&gt;</description></item><item><title>Ansible v2.19.12 - Async Timeout And Test Filtering</title><link>https://wintermutecore.com/posts/ansible-v2-19-12-async-timeout-test-filtering/</link><pubDate>Mon, 10 Aug 2026 16:43:51 +0000</pubDate><guid>https://wintermutecore.com/posts/ansible-v2-19-12-async-timeout-test-filtering/</guid><description>&lt;p&gt;Ansible published &lt;code&gt;v2.19.12&lt;/code&gt; on 10 August 2026 as a stable patch on the 2.19 line of &lt;code&gt;ansible-core&lt;/code&gt;. The change that shows up first on a controller that gathers facts in parallel is the async wrapper: it now consults the module timeout before it kills the process that is still running a fact module. This is not a prerelease.&lt;/p&gt;</description></item><item><title>Ansible v2.18.19 - Parallel Fact Gathering Fixes</title><link>https://wintermutecore.com/posts/ansible-v2-18-19-parallel-fact-gathering-fixes/</link><pubDate>Mon, 10 Aug 2026 16:42:12 +0000</pubDate><guid>https://wintermutecore.com/posts/ansible-v2-18-19-parallel-fact-gathering-fixes/</guid><description>&lt;p&gt;Ansible v2.18.19 was published on August 10, 2026. Its main operator visible change fixes parallel fact gathering that could hang when async job files were corrupt, while a related timeout correction makes the async wrapper account for remaining job time.&lt;/p&gt;</description></item><item><title>Ansible Facts And Input Validation Notes</title><link>https://wintermutecore.com/posts/ansible-facts-and-input-validation-notes/</link><pubDate>Sat, 25 Jul 2026 14:00:06 +0000</pubDate><guid>https://wintermutecore.com/posts/ansible-facts-and-input-validation-notes/</guid><description>&lt;p&gt;&lt;a href="https://github.com/ansible/ansible"&gt;Ansible&lt;/a&gt; is a configuration automation engine that also moves a large amount of host and inventory data. Its nine recent commits are worth reading because they improve fact identity, reject bad inputs earlier, and close one path that could expose credentials in output. Across 48 files, the patch set adds 171 lines and removes 66.&lt;/p&gt;</description></item><item><title>Services</title><link>https://wintermutecore.com/services/</link><pubDate>Sun, 13 Feb 2022 11:11:11 -0100</pubDate><guid>https://wintermutecore.com/services/</guid><description>&lt;p&gt;&lt;p style="text-align:center;"&gt;
 &lt;img src="https://wintermutecore.com/services.jpg" alt="Services" /&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Below is what we actually do day to day. We try to keep the list short and the descriptions honest. If something here matches what you need, get in touch.&lt;/p&gt;

&lt;h2 id="software-engineering" class="anchor-link"&gt;&lt;a href="#software-engineering"&gt;Software engineering&lt;span class="pilcrow"&gt;&amp;nbsp;¶&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We write backend services in Java, Kotlin, Go, and Groovy. Most of the work falls into a few buckets: REST and gRPC APIs, distributed systems handling high request volumes, and the occasional batch job that has to be reliable more than fast.&lt;/p&gt;</description></item></channel></rss>