CRI-Tools v1.34
Find a file
2025-10-10 10:58:25 -05:00
template Comment out unneeded autopatch 2024-12-10 14:45:11 -08:00
.gitignore Initialze v1.34.0 release 2025-08-23 16:39:29 -07:00
changelog Initialize versioned cri-tools base 2024-08-10 14:10:33 -07:00
cri-tools1.34.spec Initialze v1.34.0 release 2025-08-23 16:39:29 -07:00
go-vendor-tools.toml Initialze v1.34.0 release 2025-08-23 16:39:29 -07:00
newrelease Merge remote-tracking branch 'versioned-base/main' into init 2024-12-10 14:29:47 -08:00
README.md Initialze v1.34.0 release 2025-08-23 16:39:29 -07:00
sources Initialze v1.34.0 release 2025-08-23 16:39:29 -07:00

cri-tools1.34

CRI-Tools v1.34 rpms for Fedora

Introduction

CRI-Tools contains crictl, a command line interface tool for the Kubelet Container Runtime Interface (CRI).

This package is part of a set of versioned packages that encompass all released versions of CRI-Tools. CRI-Tools versions are matched with Kubernetes versions at the minor version level (e.g. v1.34).

CRI-Tools Package Notes

Spec file creation

go2rpm with a vendor profile is used to generate the initial spec file which has then been modified manually to adapt to using the spec file template and newrelease workflow. An example go2rpm command to create an initial, draft spec file:

go2rpm --profile vendor -d --no-clean github.com/kubernetes-sigs/cri-tools --name cri-tools1.34

The vendor profile extracts the ./vendor subdirectory for the source archive, and creates a stand-alone vendor source archive (s1 in the spec file). In addition, a list of license information for each module in the ./vendor subdirectory is accumulated and incorporated into this supplemental archive. All modules in the ./vendor subdirectory are also identified as bundled provides in the binary rpm.

Use go2rpm to completely regenerate the spec file. Modify as needed to use as a template. This step is only needed if/when go2rpm has improved features and capabilities. In most cases, use the Package Workflow below to generate a new spec from the existing template.

For more information see:

  1. https://fedora.gitlab.io/sigs/go/go-vendor-tools/, and

  2. https://fedora.gitlab.io/sigs/go/go-vendor-tools/scenarios/

Spec file template

The cri-tools1.34 package borrows the spec file generation model used in the versioned Kubernetes and CRI-O packages. A spec file template and newrelease script are used to generate a new spec file with each new release. This template model facilitates sharing spec file modifications (excluding new releases) between all dist-git repositories for CRI-Tools. Version metadata are injected via the newrelease.conf file into the spec file, therefore keep version specific changes within this repository. At any one time there will be three (3) supported releases and possibly one alpha/beta/rc release available in Fedora.

CRI-Tools Package Workflow

The workflow to revise the spec file uses the newrelease script. This script uses a configuration file (newrelease.conf) and a template spec file to generate a revised spec file for use in the standard Fedora build processes. Edits made directly to the spec file will be over-written during the next update cycle.

Generate a configuration file, if not present

  1. Run

    newrelease -c
    
  2. Edit newrelease.conf with the template name and path, the name of the spec file, git tag for the release, and set a value for golang (check go.mod for the release online in the upstream repository).

  3. Follow directions in the next section below.

  4. The newrelease.conf file is not stored in git.

Upstream has a new minor or patch release

Assuming that the maintainer has an existing local copy of the dist-git repository:

  1. Edit newrelease.conf with the git tag for the release and validate that the golang value is suitable.

  2. Run both newrelease and go_vendor_archive:

    newrelease -y
    
    go_vendor_archive create --config go-vendor-tools.toml cri-tools1.34.spec
    
  3. Follow normal Fedora build and release processes.

Other modifications to the spec file to fix errors or add features

Assuming the maintainer has an existing local copy of the dist-git repository:

  1. Edit the template (initially ./template/cri-tools-template.spec but can be set in configuration file).

  2. To generate an updated spec file, run both newrelease to update the spec file and go_vendor_archive, if needed, to update the vendor archive:v

    newrelease -y
    
    go_vendor_archive create --config go-vendor-tools.toml cri-tools1.34.spec
    
  3. Follow normal Fedora build and release processes.