Skip to main content

Shameless plug: 'Applying lessons from open source to your own platform' talk

· One min read
Charles Korn
Maintainer

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.

Registration is required at https://www.thoughtworks.com/by-thoughtworks/events.

2021 user survey - win an AU$50 voucher!

· One min read
Charles Korn
Maintainer

I'm once again running a survey to collect feedback on Batect, and this year I'm offering an AU$50 voucher (or equivalent in your local currency) as a prize to encourage responses.

The survey is available at: https://forms.gle/1S7a7C7zfPzi39vN6

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.

Upcoming Bintray shutdown and how it affects you

· 2 min read
Charles Korn
Maintainer
tip

tl;dr: run ./batect --upgrade to upgrade to Batect v0.69.0 or later to ensure Batect continues to work after May 1

Bintray announced on February 3 that it will be shutting down on May 1, 2021.

Batect's wrapper script (batect on macOS and Linux, and batect.cmd on Windows) downloads Batect from Bintray if it has not already been cached on your machine.

After Bintray's shutdown on May 1, downloading Batect from Bintray will no longer work. Batect v0.69.0 introduces a new download server (updates.batect.dev) which does not rely on Bintray.

In order to continue using Batect without any issues after May 1, you must do one of the following:

Option 1: upgrade to v0.69.0 or later#

To switch to the new server, the easiest thing to do is to upgrade with ./batect --upgrade. This will automatically update your wrapper script to the new version that uses the new download server.

Option 2: remain on an old version and switch to new server#

The new download server also supports old versions. If you need to remain on an older version, make the following changes in your project's copy of the wrapper script:

batect
-DOWNLOAD_URL_ROOT=${BATECT_DOWNLOAD_URL_ROOT:-"https://dl.bintray.com/batect/batect"}-DOWNLOAD_URL=${BATECT_DOWNLOAD_URL:-"$DOWNLOAD_URL_ROOT/$VERSION/bin/batect-$VERSION.jar"}+DOWNLOAD_URL_ROOT=${BATECT_DOWNLOAD_URL_ROOT:-"https://updates.batect.dev/v1/files"}+DOWNLOAD_URL=${BATECT_DOWNLOAD_URL:-"$DOWNLOAD_URL_ROOT/$VERSION/batect-$VERSION.jar"}
batect.cmd
-$DownloadUrlRoot = getValueOrDefault $env:BATECT_DOWNLOAD_URL_ROOT "https://dl.bintray.com/batect/batect"^+$DownloadUrlRoot = getValueOrDefault $env:BATECT_DOWNLOAD_URL_ROOT "https://updates.batect.dev/v1/files"^
 $UrlEncodedVersion = [Uri]::EscapeDataString($Version)^
-$DownloadUrl = getValueOrDefault $env:BATECT_DOWNLOAD_URL "$DownloadUrlRoot/$UrlEncodedVersion/bin/batect-$UrlEncodedVersion.jar"^+$DownloadUrl = getValueOrDefault $env:BATECT_DOWNLOAD_URL "$DownloadUrlRoot/$UrlEncodedVersion/batect-$UrlEncodedVersion.jar"^

Keep Batect and your configuration up-to-date automatically with Renovate

· 2 min read
Charles Korn
Maintainer

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)
  • updating any Docker image references in your configuration files
  • updating any bundle references in your configuration files

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.

Take a look at the documentation for more information.

New site, new docs, new logo and a capital letter

· 5 min read
Charles Korn
Maintainer

Welcome to the (long-overdue) refreshed batect.dev. This site has been reimagined from the ground up to better serve you. Some of the most exciting changes include:

As always, I'm keen to hear your feedback on these changes. Please open an issue or post on Spectrum if you have any suggestions or encounter any problems.

A logo for Batect (and a capital letter)#

Batect now has a shiny new logo:

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.

Improved readability#

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 longer pages.

Reorganised documentation structure#

The documentation has been reorganised to better address the needs of different groups of users:

On top of this reorganisation, each page has been reviewed, updated and clarified, and diagrams have been added in places to aid explanations.

Improved search#

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.)

Improved hosting#

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.

Elevation of bundles to the top-level navigation#

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.

A blog#

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.

A proper home page#

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.

In closing#

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.