Home

Awesome

Kubernetes Release Tooling

PkgGoDev Go Report Card Slack

This repo contains the tooling and infrastructure configurations for creating Kubernetes releases from the kubernetes/kubernetes main repository.

There are several scripts and helpers in this repository a Release Manager will find useful when managing all kinds of releases (alpha, beta, official, rc) across branches.

Golang-based tools can be built via the compile-release-tools script. Individual tools can be installed via go install k8s.io/release/cmd/$TOOL@latest.

Each of the headings below links to a tool's location.

Release Management

krel

Kubernetes release Toolbox: tooling for releasing Kubernetes

Status: Feature Complete

Audience: Release Managers

Details: Documentation

schedule-builder

Generate a Markdown schedule for Kubernetes releases.

Status: In Progress

Audience: Release Managers

Details: Documentation

Artifact Management

kpromo

Kubernetes artifact promotion tooling: tooling for promoting artifacts

Status: In Progress

Audience: Release Managers and subproject maintainers responsible for promoting file or container artifacts

Details: Documentation

kubepkg

Create Kubernetes deb/rpm packages.

Status: In Progress

Audience: Release Managers

Details: Documentation

End User

bom

Generate SPDX-compliant Bills of Materials for a software project. Supports reading directories, images, files and more.

Details: Documentation

release-notes

Scrape GitHub pull requests for release notes.

Status: Feature Complete

Details: Documentation

gcbuilder

General purpose tool for triggering Google Cloud Build (GCB) runs with substitutions.

Status: Unused

Details: Documentation

publish-release

A tool to announce software releases. Currently supports updating the release page on GitHub based on templates and updating release artifacts.

Details: Documentation

Legacy

push-build.sh

Push a CI build of Kubernetes to Google Cloud Storage (GCS).

Status: Deprecated (but still in use)

Audience: Release Managers, Prowjobs

Experimental

rapture

Build operating system packages (.deb and RPM)

Status: Experimental (but already in use)

Audience: Release Managers, Googlers participating in releases

Contributing

Please see CONTRIBUTING.md for instructions on how to contribute.