If you've ever wanted to hear the story of how Batect got to where it is today, and some of the lessons learnt along the way,
here's your chance: I'm presenting a talk titled Applying lessons from open source to your own platform
on Tuesday, June 1 at 6pm (Melbourne time).
For those of you in Melbourne, you can attend in person, and it will also be live-streamed on Zoom for anyone to watch anywhere.
If you're using Batect on your team at the moment, I would be super grateful if you could also share this within your team - the more responses I get, the better feedback I get,
and the better I can make Batect.
tl;dr: Renovate now supports Batect, which means it can automatically send you PRs to update Batect itself as well
as any images or bundles you reference in your configuration files.
Keeping dependencies and tools up-to-date is a necessary but tedious task for any codebase. Tools like Dependabot
and Renovate help to automate this process by scanning your repository for dependencies, identifying which ones are out of date
and then sending you PRs to update them.
I'm pleased to announce that Renovate has accepted a series of PRs that add support for Batect to Renovate. These cover all three scenarios required
to keep Batect and your configuration up-to-date:
updating Batect itself (equivalent to running ./batect --upgrade)
If you use Dockerfiles to build images for use with Batect, Renovate already has you covered as well - updating base image references in Dockerfiles has been
supported by Renovate for a while.
No configuration is required to activate this. If you're already using Renovate's hosted service, you'll start receiving update PRs automatically.
If you host Renovate yourself, update to 24.2.0 or later.
By default, Renovate will only update image or bundle references in files named batect.yml or batect-bundle.yml. If you use
file includes to split your configuration over multiple files, you'll need to configure which files
to search with fileMatch in your renovate.json.Update 22/12: if your configuration is split over multiple files with file includes, no further configuration is required - Renovate will
now automatically detect image and bundle references in files included in your main configuration file.
Much like Batect itself, I've tried to keep it simple. (You'll be pleased to hear I discarded ideas including a dolphin juggling containers
on a unicycle and a rocket with a bunch of containers strapped to the side.)
Oh, and you'll notice that I've embraced the capital letter: the 'official' spelling is now Batect, not batect. The lowercase letter
always felt awkward, and others writing about Batect seemed to use the lowercase spelling only around 50% of the time. So, rather than try to fight
it, I've embraced it. Batect's all grown up now.
The new logo and capitalisation should be updated in most places now. If you notice any lowercase instances of 'Batect', please
open an issue.
Given that documentation is largely words, getting the display of words right has been a priority for me. This entire site is now built with
Docusaurus, which uses Infima for its default styling. Infima is
designed for content-heavy sites such as documentation, and provides a set of sensible defaults that offer good readability.
On top of Infima, I've selected some great open source fonts that help differentiate between body and heading text, making it easier to scan through
The old documentation site had very basic search that didn't always find the most relevant results. For example, it struggled with synonyms.
The new site uses Algolia DocSearch to provide relevant results, quickly. And it's keyboard friendly as well:
just press Command+K (macOS) or Control+K (Windows and Linux) to open the search dialog.
(The search index may take 24 hours to pick up the new site - if search seems a bit wacky on December 7 or 8, this will be why.)
The documentation is now hosted on Netlify, which brings a bunch of cool features. The most exciting one is
support for server-side redirects. Previously, I was hesitant to change URLs for fear of breaking links, but this meant that the
documentation wasn't always organised in the most logical way. I'll now be able to more easily shift content around as Batect continues to evolve.
The old bundles page was shoehorned into the old documentation because there wasn't really any other place to put it, but this hid them. They're
now highlighted in the top-level navigation at the top of the page, and the layout of the page has been much improved as well.
While documentation is great for more formal communication of information, there wasn't a great way to highlight new features, publish less formal
tutorials or ideas and make announcements. I'm looking forward to being able to use this blog for all of those things and more.
Batect is no longer just a small project used by a single team - it now has hundreds of users all around the globe. These users (you!) recommend Batect
to their friends and colleagues, but the old home page that greeted them was a huge wall of text that didn't do a great job of highlighting Batect's
best features to those who haven't used it. The new home page is much simpler and gets to the point.
I'm always working to make Batect easier to use and great documentation is a key part of that. If you run into any issues with the new site
or have any recommendations on how to improve it, please don't hesitate to let me know.