<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text">Allan Nava — Projects</title>
  <subtitle type="text">Repositories and side projects</subtitle>
  <link href="https://allan-nava.github.io/projects/feed.xml" rel="self" type="application/atom+xml" />
  <link href="https://allan-nava.github.io/projects/" rel="alternate" type="text/html" />
  <updated>2026-08-21T15:11:00+00:00</updated>
  <id>https://allan-nava.github.io/projects/</id>
  <author>
    <name>Allan Nava</name>
  </author><entry>
    <title type="html">qrspi</title><link href="https://allan-nava.github.io/project/2026/08/21/github-qrspi.html" rel="alternate" type="text/html" title="qrspi" />
    <published>2026-08-21T15:11:00+00:00</published>
    <updated>2026-08-21T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/08/21/github-qrspi.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="javascript" />
    <category term="agents" />
    <category term="claude-code" />
    <category term="claude-code-plugin" />
    <summary type="text">A Claude Code plugin for running coding tasks through phase-gated intentional compaction: every phase writes one self-contained artifact to disk, the next phase</summary>
    <content type="html"><![CDATA[<p>A Claude Code plugin for running coding tasks through phase-gated intentional compaction: every phase writes one self-contained artifact to disk, the next phase starts from a fresh session and reads only that artifact.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: JavaScript</li>
  <li><strong>Ultimo push</strong>: 2026-08-21</li>
</ul>

<p><a href="https://github.com/Allan-Nava/qrspi">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">edgemix</title><link href="https://allan-nava.github.io/project/2026/08/20/github-edgemix.html" rel="alternate" type="text/html" title="edgemix" />
    <published>2026-08-20T09:37:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/08/20/github-edgemix.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="go" />
    <summary type="text">Your edge log already knows what your traffic is made of. edgemix reads it out — and writes the load test.</summary>
    <content type="html"><![CDATA[<p>Your edge log already knows what your traffic is made of. edgemix reads it out — and writes the load test.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: Go</li>
  <li><strong>Ultimo push</strong>: 2026-08-20</li>
</ul>

<p><a href="https://github.com/Allan-Nava/edgemix">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">abrsim</title><link href="https://allan-nava.github.io/project/2026/08/18/github-abrsim.html" rel="alternate" type="text/html" title="abrsim" />
    <published>2026-08-18T22:45:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/08/18/github-abrsim.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="go" />
    <summary type="text">abrsim takes a real manifest and a network trace, simulates what an ABR player would do, and reports what it cost the viewer. Deterministically, offline, with n</summary>
    <content type="html"><![CDATA[<p>abrsim takes a real manifest and a network trace, simulates what an ABR player would do, and reports what it cost the viewer. Deterministically, offline, with no player and no traffic shaper: the same inputs give the same numbers on every machine, which is what makes it something you can put in CI.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: Go</li>
  <li><strong>Ultimo push</strong>: 2026-08-20</li>
</ul>

<p><a href="https://github.com/Allan-Nava/abrsim">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">ladder-bench</title><link href="https://allan-nava.github.io/project/2026/08/17/github-ladder-bench.html" rel="alternate" type="text/html" title="ladder-bench" />
    <published>2026-08-17T22:24:00+00:00</published>
    <updated>2026-08-18T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/08/17/github-ladder-bench.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="go" />
    <category term="abr" />
    <category term="benchmark" />
    <category term="cli" />
    <summary type="text">Measure your ABR encoding ladder instead of inheriting it: VMAF-measured rate-quality grid, efficient frontier, and a recommended ladder.</summary>
    <content type="html"><![CDATA[<p>Measure your ABR encoding ladder instead of inheriting it: VMAF-measured rate-quality grid, efficient frontier, and a recommended ladder.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: Go</li>
  <li><strong>Stars</strong>: 2</li>
  <li><strong>Ultimo push</strong>: 2026-08-18</li>
</ul>

<p><a href="https://github.com/Allan-Nava/ladder-bench">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">hls-lens</title><link href="https://allan-nava.github.io/project/2026/08/17/github-hls-lens.html" rel="alternate" type="text/html" title="hls-lens" />
    <published>2026-08-17T13:51:00+00:00</published>
    <updated>2026-08-18T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/08/17/github-hls-lens.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="typescript" />
    <summary type="text">VS Code extension: read HLS manifests in the editor</summary>
    <content type="html"><![CDATA[<p>VS Code extension: read HLS manifests in the editor</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: TypeScript</li>
  <li><strong>Ultimo push</strong>: 2026-08-18</li>
</ul>

<p><a href="https://github.com/Allan-Nava/hls-lens">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">keycloak-doctor</title><link href="https://allan-nava.github.io/project/2026/08/17/github-keycloak-doctor.html" rel="alternate" type="text/html" title="keycloak-doctor" />
    <published>2026-08-17T11:12:00+00:00</published>
    <updated>2026-08-18T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/08/17/github-keycloak-doctor.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="go" />
    <summary type="text">Audit a Keycloak realm for the mistakes that actually get exploited — from an export file or a live server, in one static Go binary.</summary>
    <content type="html"><![CDATA[<p>Audit a Keycloak realm for the mistakes that actually get exploited — from an export file or a live server, in one static Go binary.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: Go</li>
  <li><strong>Ultimo push</strong>: 2026-08-18</li>
</ul>

<p><a href="https://github.com/Allan-Nava/keycloak-doctor">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">Streamway Plus</title><link href="https://allan-nava.github.io/project/2026/08/17/allan-nava-streamway-plus.html" rel="alternate" type="text/html" title="Streamway Plus" />
    <published>2026-08-17T09:40:00+00:00</published>
    <updated>2026-08-17T09:40:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/08/17/allan-nava-streamway-plus.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="site" />
    <category term="web" />
    <category term="ott" />
    <category term="streaming" />
    <category term="nextjs" />
    <category term="golang" />
    <category term="hiway media" />
    <category term="hiway" />
    <category term="streamway" />
    <summary type="text">Streamway Plus: piattaforma OTT con dirette, on demand e area utenti, distribuita su più datacenter dietro CDN.</summary>
    <content type="html"><![CDATA[<p><strong>Streamway Plus</strong> è la piattaforma OTT del gruppo: dirette, catalogo on demand e area utenti
con registrazione e contenuti riservati, su <code class="language-plaintext highlighter-rouge">streamwayplus.com</code> e <code class="language-plaintext highlighter-rouge">tv.streamwayplus.com</code>.</p>

<h2 id="comè-fatto">Com’è fatto</h2>

<p>Frontend <strong>Next.js</strong> con rendering server-side, backend <strong>Go</strong>, database replicato e
distribuzione <strong>multi-region</strong> su più datacenter, con CDN davanti alla parte statica e
autenticazione centralizzata per l’area utenti.</p>

<p>Nata come prodotto interno e diventata poi un brand a sé, Streamway è il progetto su cui
sperimentiamo per primi le modifiche alla distribuzione: quello che funziona qui viene poi
portato sugli altri tenant.</p>

<h2 id="cosa-faccio-io">Cosa faccio io</h2>

<p>Lato infrastruttura e affidabilità: monitoring dell’ingress, health check periodici,
verifica della catena CDN → origin e analisi del carico quando il traffico cambia forma.</p>

<div class="side-by-side">
    <div class="toleft">
        <figcaption class="caption">Streamway Plus</figcaption>
    </div>

    <div class="toright">
        <p></p>
        <p><a href="https://streamwayplus.com" target="_blank" rel="noopener">https://streamwayplus.com</a></p>
        <p><a href="https://tv.streamwayplus.com" target="_blank" rel="noopener">https://tv.streamwayplus.com</a></p>
    </div>
</div>
]]></content>
  </entry><entry>
    <title type="html">RTVA — Ràdio i Televisió d&apos;Andorra</title><link href="https://allan-nava.github.io/project/2026/08/17/allan-nava-rtva.html" rel="alternate" type="text/html" title="RTVA — Ràdio i Televisió d&apos;Andorra" />
    <published>2026-08-17T09:30:00+00:00</published>
    <updated>2026-08-17T09:30:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/08/17/allan-nava-rtva.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="site" />
    <category term="web" />
    <category term="ott" />
    <category term="streaming" />
    <category term="nextjs" />
    <category term="golang" />
    <category term="hiway media" />
    <category term="hiway" />
    <category term="rtva" />
    <summary type="text">Il portale della TV pubblica andorrana: diretta dei canali, on demand e informazione, per il pubblico di Andorra, Spagna e Francia.</summary>
    <content type="html"><![CDATA[<p>Portale della <strong>televisione pubblica di Andorra</strong> (Ràdio i Televisió d’Andorra): diretta dei
canali, archivio on demand, informazione e servizio pubblico su <code class="language-plaintext highlighter-rouge">rtva.ad</code>, più il casting verso
TV e set-top box su <code class="language-plaintext highlighter-rouge">cast.rtva.media</code>. Il pubblico è quello del Principato e delle zone di
confine — Andorra, Spagna e Francia.</p>

<h2 id="comè-fatto">Com’è fatto</h2>

<p>Stessa piattaforma degli altri progetti video: frontend <strong>Next.js</strong> server-side, backend <strong>Go</strong>,
dati replicati e distribuzione <strong>multi-region</strong> dietro CDN.</p>

<p>Quello che cambia, rispetto a un sito di calcio, è il profilo: qui <strong>non c’è la partita</strong>. Non
esiste il picco da evento su cui puntare tutto — c’è un flusso quotidiano continuo, legato ai
telegiornali e alla programmazione, che va letto come <strong>serie storica</strong> invece che come singolo
scatto. Un dettaglio banale a dirsi che però ribalta il modo di misurare capacità e regressioni.</p>

<h2 id="cosa-faccio-io">Cosa faccio io</h2>

<p>Lato infrastruttura: profilo di traffico giornaliero (quanta parte è pubblico reale e quanta
bot/probe), analisi di capacità, e monitoring continuo dell’ingress e dei layer applicativi.</p>

<div class="side-by-side">
    <div class="toleft">
        <figcaption class="caption">RTVA — Ràdio i Televisió d'Andorra</figcaption>
    </div>

    <div class="toright">
        <p></p>
        <p><a href="https://rtva.ad" target="_blank" rel="noopener">https://rtva.ad</a></p>
        <p><a href="https://cast.rtva.media" target="_blank" rel="noopener">https://cast.rtva.media</a></p>
    </div>
</div>
]]></content>
  </entry><entry>
    <title type="html">Sevilla FC</title><link href="https://allan-nava.github.io/project/2026/08/17/allan-nava-sevillafc.html" rel="alternate" type="text/html" title="Sevilla FC" />
    <published>2026-08-17T09:00:00+00:00</published>
    <updated>2026-08-17T09:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/08/17/allan-nava-sevillafc.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="site" />
    <category term="web" />
    <category term="ott" />
    <category term="streaming" />
    <category term="nextjs" />
    <category term="golang" />
    <category term="hiway media" />
    <category term="hiway" />
    <category term="sevillafc" />
    <summary type="text">Sito ufficiale e TV del Sevilla FC: news, dirette e on demand per i tifosi del club andaluso, su piattaforma multi-region.</summary>
    <content type="html"><![CDATA[<p>Sito ufficiale e piattaforma video del <strong>Sevilla FC</strong>, il club di Siviglia: news e contenuti
editoriali su <code class="language-plaintext highlighter-rouge">sevillafc.es</code>, la TV del club su <code class="language-plaintext highlighter-rouge">tv.sevillafc.es</code> con dirette e on demand, e il
casting verso TV e set-top box su <code class="language-plaintext highlighter-rouge">cast.sevillafc.es</code>.</p>

<h2 id="comè-fatto">Com’è fatto</h2>

<p>Frontend <strong>Next.js</strong> con rendering server-side, backend <strong>Go</strong>, database replicato e ricerca
dedicata: il tutto girando in <strong>multi-region attiva</strong> su tre datacenter, con una <strong>CDN davanti</strong>
che assorbe la parte statica e serve i tifosi vicino a casa loro.</p>

<p>La differenza rispetto a un sito editoriale normale è la <strong>forma del carico</strong>: fra una partita e
l’altra il traffico è piatto, poi nel giorno del match si concentra tutto in una manciata di ore
attorno al fischio d’inizio. È lì che il sito va dimensionato, non sulla media.</p>

<h2 id="cosa-faccio-io">Cosa faccio io</h2>

<p>Sto sul lato <strong>infrastruttura e affidabilità</strong>: profilo di traffico giornaliero, analisi per
singolo evento live (quanti utenti reali, quali chiamate, dove si accumula la latenza), capacity
planning sui picchi da partita e health check continui sull’ingress.</p>

<div class="side-by-side">
    <div class="toleft">
        <figcaption class="caption">Sevilla FC — sito ufficiale e TV del club</figcaption>
    </div>

    <div class="toright">
        <p></p>
        <p><a href="https://sevillafc.es" target="_blank" rel="noopener">https://sevillafc.es</a></p>
        <p><a href="https://tv.sevillafc.es" target="_blank" rel="noopener">https://tv.sevillafc.es</a></p>
    </div>
</div>
]]></content>
  </entry><entry>
    <title type="html">segcheck</title><link href="https://allan-nava.github.io/project/2026/08/10/github-segcheck.html" rel="alternate" type="text/html" title="segcheck" />
    <published>2026-08-10T08:06:00+00:00</published>
    <updated>2026-08-21T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/08/10/github-segcheck.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="go" />
    <category term="abr" />
    <category term="cli" />
    <category term="cmaf" />
    <summary type="text">Check what your HLS/DASH segments actually contain — not just what the manifest claims. Undeclared gaps, mislabelled ladder rungs, duration drift, ABR misalignm</summary>
    <content type="html"><![CDATA[<p>Check what your HLS/DASH segments actually contain — not just what the manifest claims. Undeclared gaps, mislabelled ladder rungs, duration drift, ABR misalignment. One static Go binary, zero dependencies, no ffmpeg.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: Go</li>
  <li><strong>Stars</strong>: 1</li>
  <li><strong>Ultimo push</strong>: 2026-08-21</li>
</ul>

<p><a href="https://github.com/Allan-Nava/segcheck">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">crowdsim</title><link href="https://allan-nava.github.io/project/2026/08/05/github-crowdsim.html" rel="alternate" type="text/html" title="crowdsim" />
    <published>2026-08-05T07:35:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/08/05/github-crowdsim.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="javascript" />
    <category term="load-testing" />
    <category term="stress" />
    <category term="stress-test" />
    <summary type="text">Replay a live-event traffic mix against a web frontend, find the knee, and measure what caching would actually buy you — instead of estimating it from logs afte</summary>
    <content type="html"><![CDATA[<p>Replay a live-event traffic mix against a web frontend, find the knee, and measure what caching would actually buy you — instead of estimating it from logs after the outage.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/HiWay-Media">HiWay-Media</a></li>
  <li><strong>Linguaggio</strong>: JavaScript</li>
  <li><strong>Stars</strong>: 1</li>
  <li><strong>Ultimo push</strong>: 2026-08-20</li>
</ul>

<p><a href="https://github.com/HiWay-Media/crowdsim">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">homebrew-tap</title><link href="https://allan-nava.github.io/project/2026/07/24/github-homebrew-tap.html" rel="alternate" type="text/html" title="homebrew-tap" />
    <published>2026-07-24T15:13:00+00:00</published>
    <updated>2026-08-21T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/07/24/github-homebrew-tap.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="shell" />
    <summary type="text">Homebrew tap for Allan-Nava projects.</summary>
    <content type="html"><![CDATA[<p>Homebrew tap for Allan-Nava projects.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: Shell</li>
  <li><strong>Ultimo push</strong>: 2026-08-21</li>
</ul>

<p><a href="https://github.com/Allan-Nava/homebrew-tap">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">checkfleet</title><link href="https://allan-nava.github.io/project/2026/07/23/github-checkfleet.html" rel="alternate" type="text/html" title="checkfleet" />
    <published>2026-07-23T12:48:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/07/23/github-checkfleet.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="go" />
    <category term="ansible" />
    <category term="certificate-monitoring" />
    <category term="cli" />
    <summary type="text">Domain-aware infrastructure health checks in one Go binary — TLS expiry, HTTP, DNS, NATS, Kafka, PostgreSQL, Consul, HAProxy and 20+ more. No agents, no server.</summary>
    <content type="html"><![CDATA[<p>Domain-aware infrastructure health checks in one Go binary — TLS expiry, HTTP, DNS, NATS, Kafka, PostgreSQL, Consul, HAProxy and 20+ more. No agents, no server.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: Go</li>
  <li><strong>Stars</strong>: 6</li>
  <li><strong>Ultimo push</strong>: 2026-08-20</li>
</ul>

<p><a href="https://github.com/Allan-Nava/checkfleet">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">nomad-lens</title><link href="https://allan-nava.github.io/project/2026/07/23/github-nomad-lens.html" rel="alternate" type="text/html" title="nomad-lens" />
    <published>2026-07-23T10:58:00+00:00</published>
    <updated>2026-08-19T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/07/23/github-nomad-lens.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="typescript" />
    <category term="nomad" />
    <category term="vscode-extension" />
    <summary type="text">HashiCorp Nomad operations inside VS Code — the place where you already edit your job specs.</summary>
    <content type="html"><![CDATA[<p>HashiCorp Nomad operations inside VS Code — the place where you already edit your job specs.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: TypeScript</li>
  <li><strong>Stars</strong>: 1</li>
  <li><strong>Ultimo push</strong>: 2026-08-19</li>
</ul>

<p><a href="https://github.com/Allan-Nava/nomad-lens">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">nats-lens</title><link href="https://allan-nava.github.io/project/2026/07/23/github-nats-lens.html" rel="alternate" type="text/html" title="nats-lens" />
    <published>2026-07-23T09:03:00+00:00</published>
    <updated>2026-08-19T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/07/23/github-nats-lens.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="typescript" />
    <summary type="text">A NATS client inside VS Code — connect with the contexts you already have from the nats CLI, publish/subscribe/request on subjects, and browse JetStream streams</summary>
    <content type="html"><![CDATA[<p>A NATS client inside VS Code — connect with the contexts you already have from the nats CLI, publish/subscribe/request on subjects, and browse JetStream streams and consumers without leaving the editor.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: TypeScript</li>
  <li><strong>Ultimo push</strong>: 2026-08-19</li>
</ul>

<p><a href="https://github.com/Allan-Nava/nats-lens">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">ansible-vars-lens</title><link href="https://allan-nava.github.io/project/2026/07/23/github-ansible-vars-lens.html" rel="alternate" type="text/html" title="ansible-vars-lens" />
    <published>2026-07-23T08:55:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/07/23/github-ansible-vars-lens.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="typescript" />
    <summary type="text">See the effective value of every Ansible variable, per host.</summary>
    <content type="html"><![CDATA[<p>See the effective value of every Ansible variable, per host.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: TypeScript</li>
  <li><strong>Ultimo push</strong>: 2026-08-20</li>
</ul>

<p><a href="https://github.com/Allan-Nava/ansible-vars-lens">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">ai-guidelines</title><link href="https://allan-nava.github.io/project/2026/07/08/github-ai-guidelines.html" rel="alternate" type="text/html" title="ai-guidelines" />
    <published>2026-07-08T09:41:00+00:00</published>
    <updated>2026-07-09T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/07/08/github-ai-guidelines.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="github" />
    <summary type="text">Reference repository for operational, technical, and organizational guidelines to manage software projects and DevOps platforms.</summary>
    <content type="html"><![CDATA[<p>Reference repository for operational, technical, and organizational guidelines to manage software projects and DevOps platforms.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Ultimo push</strong>: 2026-07-09</li>
</ul>

<p><a href="https://github.com/Allan-Nava/ai-guidelines">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">keycloak-apple-identity-provider-fitp-enricher</title><link href="https://allan-nava.github.io/project/2026/05/05/github-keycloak-apple-identity-provider-fitp-enricher.html" rel="alternate" type="text/html" title="keycloak-apple-identity-provider-fitp-enricher" />
    <published>2026-05-05T09:40:00+00:00</published>
    <updated>2026-07-03T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/05/05/github-keycloak-apple-identity-provider-fitp-enricher.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="shell" />
    <summary type="text">About Docker for Keycloak, that enables web-based sign in with Apple &amp; FITP Enricher</summary>
    <content type="html"><![CDATA[<p>About Docker for Keycloak, that enables web-based sign in with Apple &amp; FITP Enricher</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/HiWay-Media">HiWay-Media</a></li>
  <li><strong>Linguaggio</strong>: Shell</li>
  <li><strong>Ultimo push</strong>: 2026-07-03</li>
</ul>

<p><a href="https://github.com/HiWay-Media/keycloak-apple-identity-provider-fitp-enricher">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">keycloak-fitp-enricher</title><link href="https://allan-nava.github.io/project/2026/05/04/github-keycloak-fitp-enricher.html" rel="alternate" type="text/html" title="keycloak-fitp-enricher" />
    <published>2026-05-04T10:52:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2026/05/04/github-keycloak-fitp-enricher.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="java" />
    <category term="keycloak" />
    <summary type="text">Plugin Keycloak che, su login via FITP/B2C, chiama Microsoft Graph per recuperare email, firstName, lastName dell&apos;utente e li popola sull&apos;utente Keycloak.</summary>
    <content type="html"><![CDATA[<p>Plugin Keycloak che, su login via FITP/B2C, chiama Microsoft Graph per recuperare email, firstName, lastName dell’utente e li popola sull’utente Keycloak.</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/HiWay-Media">HiWay-Media</a></li>
  <li><strong>Linguaggio</strong>: Java</li>
  <li><strong>Stars</strong>: 1</li>
  <li><strong>Ultimo push</strong>: 2026-07-16</li>
</ul>

<p><a href="https://github.com/HiWay-Media/keycloak-fitp-enricher">Repo su GitHub →</a></p>
]]></content>
  </entry><entry>
    <title type="html">docker-ansible-dind</title><link href="https://allan-nava.github.io/project/2025/03/25/github-docker-ansible-dind.html" rel="alternate" type="text/html" title="docker-ansible-dind" />
    <published>2025-03-25T16:12:00+00:00</published>
    <updated>2026-06-20T00:00:00+00:00</updated>
    <id>https://allan-nava.github.io/project/2025/03/25/github-docker-ansible-dind.html</id>
    <author>
      <name>Allan Nava</name>
    </author>
    <category term="dockerfile" />
    <summary type="text">Docker in docker with ansible</summary>
    <content type="html"><![CDATA[<p>Docker in docker with ansible</p>

<ul>
  <li><strong>Owner</strong>: <a href="https://github.com/Allan-Nava">Allan-Nava</a></li>
  <li><strong>Linguaggio</strong>: Dockerfile</li>
  <li><strong>Ultimo push</strong>: 2026-06-20</li>
</ul>

<p><a href="https://github.com/Allan-Nava/docker-ansible-dind">Repo su GitHub →</a></p>
]]></content>
  </entry>
</feed>
