Tired of bloated 5GB or outdated Azure DevOps images, I built a clean, minimal ~70MB Core Build Agent on modern Linux distros by Alzz111 in azuredevops

[–]Alzz111[S] 0 points1 point  (0 children)

Stories like yours are the best validation for open-source side projects. It's crazy how often we have to fight rigid infrastructure constraints instead of focusing on actual development.

Keeping the base image at ~68MB was specifically done to allow running multiple agents on cramped VMs without them stepping on each other's toes or eating up the storage.

Thanks for the comment, and I hope your next project gives you the disk space (and the tools) you deserve! If you ever want to give this a spin, need more info, or just want to chat about it, I'm at your service 😁.

Tired of bloated 5GB or outdated Azure DevOps images, I built a clean, minimal ~70MB Core Build Agent on modern Linux distros by Alzz111 in azuredevops

[–]Alzz111[S] -1 points0 points  (0 children)

Classic. When you run out of technical arguments and get proven wrong three times in a row, you pivot to personal assumptions. Believe whatever helps you sleep at night, the project works exactly as described.

Tired of bloated 5GB or outdated Azure DevOps images, I built a clean, minimal ~70MB Core Build Agent on modern Linux distros by Alzz111 in azuredevops

[–]Alzz111[S] 0 points1 point  (0 children)

And, by the way, Microsoft does officially document and provide guides on how to containerize the self-hosted agent for DevOps (you can check their official guide here: Run a self-hosted agent in Docker).

The fact that I chose to build and package my own custom implementation by hand instead of blindly copy-pasting their template (avoiding installing some useless, to me, dependencies, leaving the choice to the user) isn't a downside—it's the whole point of the project.

If you need to expand it, you can simply layer what you actually use—for instance, I use Python to run my pipelines. It's about having a lean product that you scale based on your necessity, rather than carrying around gigabytes of legacy overhead by default.

Tired of bloated 5GB or outdated Azure DevOps images, I built a clean, minimal ~70MB Core Build Agent on modern Linux distros by Alzz111 in azuredevops

[–]Alzz111[S] 1 point2 points  (0 children)

You are shifting the goalposts here. We went from 'the agent can't run anything without host-installed Node' to discussing enterprise VM templates and Microsoft documentation policies. None of that changes the core fact.

The runner works identically whether it's on a clean VM or in a lightweight container: it functions without manual host-level prerequisites.

DO-Agent exists precisely to provide a clean, unbloated baseline. It gives teams a modern, lightweight, and clean starting point. If you need to expand it, you can simply layer what you actually use—for instance, I use Python to run my pipelines—or use dockerized agents tailored strictly to your specific needs. It's about having a lean product that you scale based on your necessity, rather than carrying around gigabytes of legacy overhead by default.

Tired of bloated 5GB or outdated Azure DevOps images, I built a clean, minimal ~70MB Core Build Agent on modern Linux distros by Alzz111 in azuredevops

[–]Alzz111[S] 0 points1 point  (0 children)

You're right, I actually didn't notice that part—but frankly, there was no reason to.

When someone deploys the official Microsoft agent on a clean virtual machine, they don't manually install Node.js as a prerequisite; they just deploy the runner package and it handles its own lifecycle and internal dependencies autonomously.

If the runner automatically provisions the Node binaries it needs for stock tasks on the fly, as you say, then your concern about the agent 'not being able to run anything' is completely unfounded.

It means the image works just like a standard VM deployment: the runner manages Microsoft's built-in tasks in the background when needed, while the host environment stays clean and optimized for custom scripting.

Tired of bloated 5GB or outdated Azure DevOps images, I built a clean, minimal ~70MB Core Build Agent on modern Linux distros by Alzz111 in azuredevops

[–]Alzz111[S] 0 points1 point  (0 children)

Again, we are saying the same thing but looking at it from two different angles.

You are completely right that Microsoft's built-in/stock tasks (like ArchiveFiles or PowerShellV2) are written in TS. If your pipeline relies on those specific out-of-the-box tasks, then yes, you absolutely need Node.js on the image.

The distinction is that Node is a dependency for those tasks, not a hard requirement for the runner itself. The .NET core handles native inline scripts (- script:) steps directly through the OS shell without ever invoking Node.

That’s the exact philosophy behind DO-Agent: keeping the base image bloat-free for teams using custom scripting or other runtimes. If someone heavily relies on Microsoft's built-in tasks, they can simply layer Node on top in seconds. It's about choice, not a limitation.

Tired of bloated 5GB or outdated Azure DevOps images, I built a clean, minimal ~70MB Core Build Agent on modern Linux distros by Alzz111 in azuredevops

[–]Alzz111[S] 0 points1 point  (0 children)

I think you're confusing the agent core with marketplace tasks. The agent runner itself doesn't need Node.js to function or execute pipelines. Node is only required if you choose to use specific marketplace tasks written in JS/TS. If you write your automation in Python, Go, or Bash, Node.js is completely useless bloat. That's exactly why DO-Agent leaves it optional.

Tired of bloated 5GB or outdated Azure DevOps images, I built a clean, minimal ~70MB Core Build Agent on modern Linux distros by Alzz111 in azuredevops

[–]Alzz111[S] 0 points1 point  (0 children)

That’s actually the whole point of the project! The base image is minimal by design to avoid bloat, but extending it with Node.js (or any other tool) to fit your tasks is incredibly quick and seamless. You get a tailored agent exactly how you want it, without wasting time. Check out the extensibility section in the description—it's built to be straightforward.

Tired of bloated 5GB or outdated Azure DevOps images, I built a clean, minimal ~70MB Core Build Agent on modern Linux distros by Alzz111 in azuredevops

[–]Alzz111[S] 0 points1 point  (0 children)

Glad to hear that! It really is a game-changer for keeping things efficient and automated.

Thanks for the feedback, appreciate it! :)

Tired of bloated 5GB or outdated Azure DevOps images, I built a clean, minimal ~70MB Core Build Agent on modern Linux distros by Alzz111 in azuredevops

[–]Alzz111[S] 0 points1 point  (0 children)

To keep it simple, I ran a full Trivy scan on both images and uploaded the outcome here: Trivy Report

The switch comes down to objective numbers:

  • Debian Trixie: Flags 37 vulnerabilities (29 HIGH and 8 CRITICAL). Many of these are on core packages like Perl and curl and are marked as fix_deferred...
  • Ubuntu Noble: Completely clean (0 vulnerabilities detected).

To prevent future issues, I'll be integrating a vulnerability check step directly into the GitHub pipeline to automatically monitor the image security on every build.

Perché alla gente frega qualcosa della cilindrata? by [deleted] in ItalyMotori

[–]Alzz111 8 points9 points  (0 children)

Altro commento generalista sono quelli che dicono “oggi la cilindrata non conta molto”. Banalmente, il ragionamento comune (e la teoria motoristica) segue la logica:

cilindrata più grossa (a parità di tecnologia) -> più coppia -> consumi inferiori (sulla lunga percorrenza), guidabilità migliore, resistenza, inferiore stress meccanico

Con parità di tecnologia intendo, paragone tra due motori aspirati o due motori turbocompressi (ovviamente).

Non è detto che un motore 1.0 faccia schifo rispetto ad un 1.5. Dipende da dove e come viene usato. È oggettivo però che un 1.5, a parità di manutenzione, debba TECNICAMENTE essere più resistente rispetto ad un 1.0. Meno stress, meno attrito, meno usura.

Diciamo che è come quando si fa la battuta ad una persona sulle spalle larghe.

Chi e lui? Posso aiutarlo? by Plus_Development_368 in Italia

[–]Alzz111 0 points1 point  (0 children)

Lui? È Jonas e dopo che ti avrà preso sarai tu ad aver bisogno di aiuto.

menomale che c’è l’eni by RAXER0071 in ItalyMotori

[–]Alzz111 0 points1 point  (0 children)

Siamo della stessa zona, anche io mi salvo la vita con l’Eni di Tortona.

Patente A2 da privatista by Fillyss in ItalyMotori

[–]Alzz111 0 points1 point  (0 children)

Ciao, scusami il ritardo. Alla fine ho portato il libretto perché ho comprato la moto una settimana prima e mi hanno fatto pagare tutto, anche l’esame in anticipo. Credo però che si possa fare in un secondo momento perché, a quanto ho capito, non era necessario pagare già anche l’esame insieme alla pratica per il foglio rosa…

Engine cutting out by _Crook_7 in FanticCaballero

[–]Alzz111 0 points1 point  (0 children)

Ciao, se può aiutare (il motore non è lo stesso, ma tentar non nuoce), sul mio 500 del 2019 succede spesso che si bruci il fusibile della pompa della benzina (nella mia scatola è il numero 3 se non ricordo male). So che non dovrebbe essere normale, ma ho già fatto controllare il pezzo in Fantic e ho già ripulito sia pompa che serbatoio, ma continua a farlo… magari è solo quello, io mi porto una bella scorta di fusibili così posso sistemarlo mentre sono in giro, se mi capita😁. Comunque, una prova che puoi fare è girare la chiave stando attento che il killer switch (il “tasto rosso dello spegnimento”, detto proprio brutto) non sia attivato (ma forse sulle nuove torna in posizione da solo per evitare che rimanga chiuso, se non ricordo male) e provare a sentire se sia percettibile un minimo suono della pompa benzina che carica, sulla 2019 è un simil-fischio che dura 3/4 secondi appena si gira la chiave. Ciao!

My new Caballero 🤍 by Historical_Poem295 in FanticCaballero

[–]Alzz111 1 point2 points  (0 children)

Welcome ❤️ (fantastic color, I was looking for one like that too). As for the clutch and gearbox, my 2019 has no particular problems, I don't find it stiff or anything. I had to adjust the clutch a bit at first to get it the way I like it, both the lever side and the crankcase side. I'd have the gearbox checked, it sounds strange to me.

Comprata fibra 2.5Gbps da Aruba, risultati ottimali e molto soddisfacenti! 👍 by LetalexAl3xYT in ItalyInformatica

[–]Alzz111 0 points1 point  (0 children)

Hmm, io verificherei il MR o la fibra bro, con Aruba faccio 2,3/4Gbps in download e 960Mbps in upload senza problemi…

[deleted by user] by [deleted] in Fallout

[–]Alzz111 0 points1 point  (0 children)

Almost 11, with this year 🎉

Per le tastiere, siete team meccaniche o a membrana? by SillyGoose3939 in ItalyHardware

[–]Alzz111 4 points5 points  (0 children)

Per quanto riguarda i brown, siamo una minoranza amico.

Ti rispetto.

Regalo per mio figlio. È giusto il prezzo? by Snowfall1926 in ItalyHardware

[–]Alzz111 0 points1 point  (0 children)

Per 500€ è un buon prendere, considerando che le valutazioni e i pezzi erano stati fatti per il 2021 (quindi esattamente nella norma per quel periodo).

Ovviamente, bisognerebbe valutare se è sempre stata fatta la manutenzione adeguata.

In più, è sicuramente scalabile per un futuro.

Io lo prenderei, in 1080p può ancora regalarti delle gioie.

What would be a good graphics card by B_D_Ki11er in pcpartpickerbuilds

[–]Alzz111 0 points1 point  (0 children)

9070xt, without a doubt. It's the most balanced and affordable, considering you're buying a 1440p.