09-22, 17:15–18:00 (Europe/Dublin), Foyer A
Setting up Continuous Integration & Delivery tools always seems to be very painful. And yet with the powerful tools like ZFS, lua in base, pf.conf and jails on FreeBSD, this could be a whole lot easier. Maybe, even, fun?
This talk covers the following areas, with specific implementation details on FreeBSD.
Interfaces both community and technical
- what might an "open" CI look like?
- how could we foster that?
- the agent-server protocol
- the per-job configuration
- server workflow that allows distributing and processing multiple concurrent tasks to many agents
Implementation
- using jails from C for great good
- libUCL for validating incoming data
- Lua and specifically the C-Lua interface, how to use it to build a user-facing plugin system, and how to add a pub-sub system
I hope that, eventually, these tools will be able to be used on more than just FreeBSD, so this should be of interest for all BSD-powered people and organisations.
My wounds from over a decade of Jenkins and many other CI tools have still not healed. They probably never will. Instead, let's talk about building a native CI from scratch, and paper over the scars with something beautiful, and new, and with different bugs and flaws.
Dave has spent the last 2 decades trying to stay at least 1 step ahead of The Bad Actors on the internet, starting off with OpenBSD 2.8, and the last 9 years with FreeBSD since 9.3, where he has a ports commit bit, and a prediliction for obscure functional programming languages that align with his enjoyment of distributed systems, & power tools with very sharp edges.
- Professional Yak Herder, shaving BSD-coloured yaks since ~ 2000
- FreeBSD ports@ committer
- Ansible DevOops & Elixir developer
- enjoys telemark skiing, and playing celtic folk music on a variety of instruments