package
0.43.0
Repository: https://github.com/rancher/ecm-distro-tools.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

release

Utility to do K3s and RKE2 releases.

Examples

release -h

K3s Release

Requirements

  • OS: Linux, macOS
  • Docker
  • Git
  • Go (At least the version used upstream for kubernetes)
  • Sed (GNU for Linux or BSD for macOS)
  • All commands require a Github token (classic) with the following permissions:
    • Be generated on behalf of an account with access to the k3s-io/k3s repo
    • repo
    • write:packages
  • An SSH key, follow the Github Documentation to generate one.
  • A valid config file at ~/.ecm-distro-tools/config.json

Commands

release generate k3s tags v1.29.2
release push k3s tags v1.29.2
release update k3s references v1.29.2
release tag k3s rc v1.29.2
release tag system-agent-installer-k3s rc v1.29.2
release tag k3s ga v1.29.2
release tag system-agent-installer-k3s ga v1.29.2

Cache Permissions and Docker:

$ release generate k3s tags v1.26.12
> failed to rebase and create tags: chown: changing ownership of '/home/go/.cache': Operation not permitted
failed to initialize build cache at /home/go/.cache: mkdir /home/go/.cache/00: permission denied

Verify if the $GOPATH/.cache directory is owned by the same user that is running the command. If not, change the ownership of the directory:

$ ls -la $GOPATH/
> drwxr-xr-x  2 root root 4096 Dec 20 15:50 .cache
$ sudo chown $USER $GOPATH/.cache

Rancher Release

Examples

List all RC and dev components in a git ref

Git ref can be a tag, branch, or commit hash.

release list rancher rc-deps release/v2.7
release list rancher rc-deps 8c7bbcaabcfabb00b1c89e55ed4f68117f938262
release list rancher rc-deps v2.7.12-rc1

Charts Release

Examples

Default workflow
release list charts 2.9
release update charts 2.9 rancher-vsphere-csi 104.0.1+up3.3.0-rancher2
release push charts 2.9

# to inspect before pushing
release push charts 2.9 debug

Configure your autocompletion on zsh or bash for release chart commands.

zsh configuration example:

./release completion zsh > completion.zsh
mv completion.zsh ~/.zsh/completion/completion.zsh
chmod +x ~/.zsh/completion/completion.zsh

Your .zshrc file must have something like the following:

# ECM-DISTRO-TOOLS
export PATH=$PATH:/<home_path>/.local/bin/ecm-distro-tools
source ~/.zsh/completion/completion.zsh
fpath=(~/.zsh/completion $fpath)
autoload -Uz compinit && compinit

Contributions

  • File Issue with details of the problem, feature request, etc.
  • Submit a pull request and include details of what problem or feature the code is solving or implementing.