kflansburg.com
Discussions on Rust, Kubernetes, architecture, and more.

Merge Queues with Bors

-- 1777 Words
Rust, Developer Productivity, GitHub,

Many engineering teams and open source projects are introducing merge queues as part of their workflows. This post explores several reasons for using a merge queue and describes how to set up Bors, the merge queue implementation used by the Rust language project.

Read more...

Speed up Rust Builds with Cachepot

-- 1195 Words
Rust, CICD,

One of the most effective ways for speeding up Rust builds is to cache the compiled artifacts of crate dependencies. Cargo does this automatically for local builds, but this quickly breaks down for distributed scenarios.

In this post, I will share my experiences with configuring and using Cachepot, a tool which wraps the Rust compiler and automatically caches build artifacts using a variety of cloud storage options. This creates a cache which can be shared amongst teams, used in ephemeral CI/CD environments, and even used for distributed builds.

Read more...

Krator: My God, it's Full of States!

-- 56 Words
Rust, Kubernetes, Krustlet,
At the beginning of February, I published my second guest post on Deis Labs’ blog, which introduced Krator. Pronounced “crater”, this crate allows you to build Kubernetes Operators in Rust, using the state machine API that we designed for Krustlet last year. Check out the post for an example of writing an Operator with this crate!

Rust Continuous Delivery

-- 2297 Words
AWS, Terraform, Rust, CICD, Kubernetes,

Over the last few years I have iterated several times on continuous delivery pipelines for Rust applications. Designing these pipelines involves balancing a number of factors including cost, complexity, ergonomics, and rigor. In this post I will describe several of these iterations, lessons learned, and share my most recent solution in detail.

Read more...

A Fistful of States: More State Machine Patterns in Rust

-- 37 Words
Rust, Kubernetes, Krustlet,
My recent guest post on Deis Labs’ blog offers a deep dive into my work on Krustlet, including the design and implementation of a flexible state machine API for specifying custom Kubelet behavior in a type-safe framework.
1 of 1