/k-release

Release infrastructure for Kubernetes and related components

Primary LanguageGoApache License 2.0Apache-2.0

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

Kubernetes release Toolbox: tooling for releasing Kubernetes

Status: Feature Complete

Audience: Release Managers

Details: Documentation

Generate a Markdown schedule for Kubernetes releases.

Status: In Progress

Audience: Release Managers

Details: Documentation

Artifact Management

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

Create Kubernetes deb/rpm packages.

Status: In Progress

Audience: Release Managers

Details: Documentation

End User

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

Details: Documentation

Scrape GitHub pull requests for release notes.

Status: Feature Complete

Details: Documentation

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

Status: Unused

Details: Documentation

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 a CI build of Kubernetes to Google Cloud Storage (GCS).

Status: Deprecated (but still in use)

Audience: Release Managers, Prowjobs

Experimental

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.