Brace yourselves! A brand new version of Bacalhau is here: 1.5.0 - and it’s a beauty.
The question we ask ourselves every day is “How can we make Bacalhau better?” To that end we’ve decided to become maniacally focused on one thing in this release: the experience of using Bacalhau.
This summer, we’ve focused on building new features, improving documentation, and setting Bacalhau up to really soar.
What’s New?
What do we have for you in this release?
An enhanced embedded user interface
Improved configuration management
Usage statistics
And more!
Enhanced Embedded UI
One of the features we’re excited to get into people’s hands is the new embedded web UI that comes shipped with Bacalhau.
The embedded web UI has been a part of Bacalhau for a long time now, but we decided it was time for an upgrade. While we love working with APIs and CLI tools, we know that people like visual tools too - especially when trying to get to grips with new features.
With this new embedded web UI, you’ll be able to get a quick overview of your entire Bacalhau network. You’ll also be able to dive deeper into the nodes, jobs, and executions that are running across your network - and as a bonus, we’re introducing streaming logs to the UI so you can see what’s happening with your jobs in real time!
To try out the new web UI, you can run Bacalhau you can add the --web-ui
flag to the end of your bacalhau serve command, like so:
bacalhau serve --orchestrator --compute -c WebUI.Enable
# The web UI is now available on http://localhost:8438/
The UI will now be available on port 8438
, which you can access in any modern browser.
Improved Configuration Management
We know that there’s no “one size fits all” solution for everyone that Bacalhau can fit. Whenever people spin up a node, there’s usually something that they’ll want to tweak in how Bacalhau is set-up and run.
To date, Bacalhau configuration has largely been achieved through setting values with bacalhau config set,
environment variables or CLI flags. With 1.5.0, we’re attempting to simply this process with a couple of changes:
The introduction of a
--config
flag for passing through single config file pathsAutocompletion of configuration values
Setting of configuration values with
key:value
pairs on the CLI:-c key=value
Enhanced file-based configuration with improvements to configuration file structure.
Ability to utilize and merge multiple configuration files simultaneously.
If you have Bacalhau already configured and running the way you want, nothing should change for you except in very specific circumstances. With this update, we’re hoping to provide a clearer, more explicit way to configure Bacalhau so it’s obvious what’s being set where and by what.
We’ll be posting more about the new configuration options later this week, so watch this space for a deep dive and examples!
If you’re itching to get under the hood and see what’s new, check out our updated docs.
Usage Metrics
Data drives decisions, and to help us make the best decisions about building Bacalhau, with 1.5.0, we’re introducing limited telemetry to Bacalhau.
The key points are:
We don’t collect personal information.
Everyone can opt-out of providing these metrics.
We will only use this information to help us build a better Bacalhau
But what does that mean exactly? Well, we’ve been working on integrating OTel into Bacalhau since 1.5.0, and while it’s not ready for prime time quite yet, this is the first step we’re taking to enable people to get detailed metrics on what’s going on in their Bacalhau networks.
What kind of data will we be collecting?
We’ll be collecting data on job types, feature usage, and performance metrics. If you’re interested in the specifics, we’ll be publishing a complete blog on every bit of information we’ll be collecting later this week. Additionally, one of the benefits of Bacalhau being an open-source project is that the specific data we’re collecting can be reviewed in our codebase. None of the information we’ll be collecting will be personally identifiable information (PII).
If you’d prefer for your Bacalhau installations to not share metrics with us, that’s absolutely fine! We’ve included a way to opt-out of all data collection that you can use today.
If you’d like to opt-out, you can set the config for each of your Bacalhau nodes with:
bacalhau config set DisableAnalytics true
This is the first step in giving our users the ability to get advanced, real-time metrics from their Bacalhau nodes. We’re looking forward to further integrating OTel into the Bacalhau stack in future releases, and we can’t wait to use this data to continue doing what we love: Building the best version of Bacalhau that serves the community’s needs.
Improved Error Reporting
If there’s one thing every developer could do without, it’s debugging. We aim to make Bacalhau work smoothly right out of the box, but the reality is that sometimes errors will happen.
Debugging can feel never-ending, but as we tackle it, we've also focused on improving the quality of Bacalhau's error messages. Now, when something goes wrong, Bacalhau will try to give you a ‘hint’ on how to fix it.
We've also structured new errors to give you clearer insight into what's going wrong with your Bacalhau installation. Behind the scenes, we've standardized error reporting so that we can spot common issues in future versions, and you'll see more human-readable errors instead of cryptic machine messages.
5 Days of Bacalhau
With every major Bacalhau release, we follow up with daily posts breaking down key features we think are important, and this time's no different! For the next five days, we’ll cover each topic in our "5 Days of Bacalhau" blog series.
Here’s what’s coming up:
2024-10-07: Announcing Bacalhau 1.5.0 (this post)
2024-10-08: Usage Telemetry Tracking
2024-10-09: Enhanced Embedded UI
2024-10-10: Improved Configuration Management
2024-10-11: Bacalhau 1.5.0 Demo
Join us as we continue to push the boundaries of distributed computing with Bacalhau!