Running Docker-in-Docker inside Kubernetes can be tricky … especially when you
need to access private registries. Learn how to securely authenticate DinD
containers.
Ever wondered why you can’t just export your environment variables in GitHub Actions? I mean, it’s a Bash script, right? Well, it turns out that the way GitHub Actions works makes exporting them across steps impossible. Let’s dive into the details and learn how to properly set environment variables in your workflows.
Need to authenticate with different Git repositories using various credentials? This post explores how to dynamically authenticate with Git using credential helpers, environment variables, and secret management systems.
Ever wondered how Git actually authenticates with remote repositories? Ever needed to configure different credentials to access different repositories? This article dives into the inner workings of Git authentication, exploring the role of credential helpers, how they are implemented, and how to customize them for your needs.
Ever wondered if applications really have to be written to target servers or containers? Can they be more flexible so that they run anywhere? I recently had to create a Probot application that worked on VMs, containers, and serverless platforms. And I needed to do that without writing multiple versions of the code.
In this post, we’ll continue the exploration of Gitsign by extracting some of the attestation data from a signed commit and using it to check how the code was built. This will help you understand how you can use the attestation data in your workflows.
Worried about securing your source code supply chain for GitOps and other processes? Learn how to implement automated signing in CI/CD pipelines, verify commit authenticity using transparency logs, and leverage GitHub OIDC tokens with Gitsign for keyless commit signing.
Published:March 31, 2025Updated:
April 21, 2025
Reading Time:
5 min
Over the last three months, the GitHub team behind Actions Runner Controller (ARC) has released three updates. These included bug fixes, performance improvements, improved configurability, and a new approach to metrics. In this post, I’ll cover some of the highlights of these releases and what they mean for you.
So many times, teams use “it should work” as the reason why their software or processes don’t require
testing. For example, the code is so simple, it should work. Or, the code was tested on Linux, so it should work on Windows. In reality, this can be dangerous at best … and fatal at worst.
For most people, Git Large File Storage (LFS) is a black box. You install it and somehow Git handles large files differently. But how does it manage the files? How does it know how and when to upload the files? And how was this implemented using only native Git extensibility points? This post will uncover its secrets and how it uses Git hooks and filters to manage large files.