SaltStack

Salt on Alpine | saltext-nebula | saltext-s3fs

Packaging

I maintain both Salt and Salt LTS for Alpine Linux. There's ongoing work to ensure compatibility, and being the person who both packages it and uses it in production means I catch things that might otherwise slip through. I also contribute upstream to ensure Salt works well on musl, because the packaging is only as good as the underlying compatibility allows.

SaltStack is in the middle of a significant architectural shift, moving internal extension modules out to community-maintained packages under the salt-extensions organization. This is the same pattern Ansible, Puppet, and Chef have all followed: keep the core stable and let the ecosystem grow independently. I've been packaging these saltext modules for Alpine as they come out, and most of the APKBUILDs I currently have in the MR queue are saltext packages. If I'm responsible for the core package, it makes sense to also make the extensions available to Alpine users.

saltext-nebula

saltext-nebula is a Salt extension I wrote to fully manage the lifecycle of Nebula mesh networking certificates. It started as a personal infrastructure need. I use Nebula for my mesh network, and managing certificate creation, signing, renewal, and revocation through Salt states is how I want to manage infrastructure. Declaratively, with the same tool that handles everything else. It's part of a larger on going effort that I hope to speak more candidly about in the near future.

saltext-s3fs

saltext-s3fs is a different kind of contribution. When SaltStack began migrating internal modules to community ownership, I stepped up to take over the S3 filesystem backend. I got it published to PyPI under the official project and have been maintaining it since. I depend on it in some capacity, so it makes sense to raise my hand, apply a skillset I'm confident in, and hopefully others while helping myself.