|
2 | 2 | <feed xmlns="http://www.w3.org/2005/Atom"> |
3 | 3 | <id>https://blog.ferki.it/</id> |
4 | 4 | <title>agile sysadmin</title> |
5 | | - <updated>2025-03-21T00:00:00Z</updated> |
| 5 | + <updated>2025-04-02T00:00:00Z</updated> |
6 | 6 | <link href="https://blog.ferki.it/index.atom" rel="self" /> |
7 | 7 | <link href="https://blog.ferki.it/" rel="alternate" /> |
8 | 8 | <author> |
9 | 9 | <name>Ferenc Erki</name> |
10 | 10 | </author> |
11 | 11 | <generator version="0.098">Statocles</generator> |
12 | 12 |
|
| 13 | + <entry> |
| 14 | + <id>https://blog.ferki.it/2025/04/02/rexfile-foundations/</id> |
| 15 | + <title>Rexfile foundations</title> |
| 16 | + <author><name>Ferenc Erki</name></author> |
| 17 | + <link href="https://blog.ferki.it/2025/04/02/rexfile-foundations/" rel="alternate" /> |
| 18 | + <content type="html"><![CDATA[ |
| 19 | + <p>Running ad-hoc commands as shown in <a href="https://blog.ferki.it/2025/03/21/minimum-viable-rex/">Minimum Viable |
| 20 | +Rex</a> provides a good way to start benefiting |
| 21 | +from Rex. Then sometimes we have to repeat our typical procedures. Other times |
| 22 | +it would work best if we could enable others to follow the same steps.</p> |
| 23 | +
|
| 24 | +<p>Just like GNU Make uses a Makefile to describe actions, Rex uses a Rexfile to |
| 25 | +describe our common procedures as code through the following foundational |
| 26 | +elements:</p> |
| 27 | +
|
| 28 | +<ul> |
| 29 | +<li>dependencies</li> |
| 30 | +<li>configuration</li> |
| 31 | +<li>inventory</li> |
| 32 | +<li>authentication</li> |
| 33 | +<li>tasks</li> |
| 34 | +<li>arbitrary Perl code</li> |
| 35 | +</ul> |
| 36 | +
|
| 37 | +<p>While we may treat most elements optional depending on the use case, let’s take |
| 38 | +an initial look at each.</p> |
| 39 | +
|
| 40 | + <p><a href="https://blog.ferki.it/2025/04/02/rexfile-foundations/#section-2">Continue reading...</a></p> |
| 41 | +
|
| 42 | + <p>Tags: |
| 43 | + <a href="https://blog.ferki.it/tag/rex/">rex</a> |
| 44 | + </p> |
| 45 | +
|
| 46 | + ]]></content> |
| 47 | + <updated>2025-04-02T00:00:00Z</updated> |
| 48 | + <category term="rex" /> |
| 49 | + </entry> |
13 | 50 | <entry> |
14 | 51 | <id>https://blog.ferki.it/2025/03/21/minimum-viable-rex/</id> |
15 | 52 | <title>Minimum Viable Rex</title> |
@@ -135,37 +172,5 @@ underlying details.</p> |
135 | 172 | <updated>2025-02-26T00:00:00Z</updated> |
136 | 173 | <category term="rex" /> |
137 | 174 | </entry> |
138 | | - <entry> |
139 | | - <id>https://blog.ferki.it/2025/02/03/lint-early-lint-often/</id> |
140 | | - <title>Lint early, lint often</title> |
141 | | - <author><name>Ferenc Erki</name></author> |
142 | | - <link href="https://blog.ferki.it/2025/02/03/lint-early-lint-often/" rel="alternate" /> |
143 | | - <content type="html"><![CDATA[ |
144 | | - <p>Wikipedia defines <a href="https://en.wikipedia.org/wiki/Lint_(software)">linting |
145 | | -software</a> as:</p> |
146 | | -
|
147 | | -<blockquote> |
148 | | - <p>a static code analysis tool used to flag programming errors, bugs, stylistic |
149 | | - errors and suspicious constructs.</p> |
150 | | -</blockquote> |
151 | | -
|
152 | | -<p>Linters play an important role to detect common mistakes fast. I often find |
153 | | -that running them first in the build pipelines happens already too late, |
154 | | -reducing their usefulness.</p> |
155 | | -
|
156 | | -<p>When to lint to maximize their value?</p> |
157 | | -
|
158 | | - <p><a href="https://blog.ferki.it/2025/02/03/lint-early-lint-often/#section-2">Continue reading...</a></p> |
159 | | -
|
160 | | - <p>Tags: |
161 | | - <a href="https://blog.ferki.it/tag/linting/">linting</a> |
162 | | - <a href="https://blog.ferki.it/tag/static-analysis/">static analysis</a> |
163 | | - </p> |
164 | | -
|
165 | | - ]]></content> |
166 | | - <updated>2025-02-03T00:00:00Z</updated> |
167 | | - <category term="linting" /> |
168 | | - <category term="static analysis" /> |
169 | | - </entry> |
170 | 175 | </feed> |
171 | 176 |
|
0 commit comments