diff --git a/cmd/validate-krew-manifest/main.go b/cmd/validate-krew-manifest/main.go index 85085111..aa146f7b 100644 --- a/cmd/validate-krew-manifest/main.go +++ b/cmd/validate-krew-manifest/main.go @@ -241,6 +241,7 @@ func allPlatforms() []installation.OSArchPair { {OS: "linux", Arch: "amd64"}, {OS: "linux", Arch: "arm"}, {OS: "linux", Arch: "arm64"}, + {OS: "linux", Arch: "ppc64le"}, {OS: "darwin", Arch: "386"}, {OS: "darwin", Arch: "amd64"}, {OS: "darwin", Arch: "arm64"}, diff --git a/docs/RELEASING_KREW.md b/docs/RELEASING_KREW.md index aae47afa..be097088 100644 --- a/docs/RELEASING_KREW.md +++ b/docs/RELEASING_KREW.md @@ -13,7 +13,7 @@ ```sh krew=out/bin/krew-darwin_amd64 # assuming macOS amd64 - for osarch in darwin_amd64 darwin_arm64 linux_amd64 linux_arm linux_arm64 windows_amd64; do + for osarch in darwin_amd64 darwin_arm64 linux_amd64 linux_arm linux_arm64 linux_ppc64le windows_amd64; do KREW_ROOT="$(mktemp -d --tmpdir krew-XXXXXXXXXX)" KREW_OS="${osarch%_*}" KREW_ARCH="${osarch#*_}" \ $krew install --manifest=out/krew.yaml --archive="out/krew-${osarch}.tar.gz" done diff --git a/hack/krew.yaml b/hack/krew.yaml index 38646f7f..8d7e8ab2 100644 --- a/hack/krew.yaml +++ b/hack/krew.yaml @@ -86,6 +86,18 @@ spec: matchLabels: os: linux arch: arm64 + - uri: https://github.com/kubernetes-sigs/krew/releases/download/KREW_TAG/krew-linux_ppc64le.tar.gz + sha256: KREW_LINUX_PPC64LE_CHECKSUM + bin: krew + files: + - from: ./krew-linux_ppc64le + to: krew + - from: ./LICENSE + to: . + selector: + matchLabels: + os: linux + arch: ppc64le - uri: https://github.com/kubernetes-sigs/krew/releases/download/KREW_TAG/krew-windows_amd64.tar.gz sha256: KREW_WINDOWS_AMD64_CHECKSUM bin: krew.exe diff --git a/hack/make-binaries.sh b/hack/make-binaries.sh index 6dbd1fa5..70a1558f 100755 --- a/hack/make-binaries.sh +++ b/hack/make-binaries.sh @@ -26,7 +26,7 @@ if ! command -v "gox" &>/dev/null; then fi supported_platforms="darwin/amd64 darwin/arm64 windows/amd64\ - linux/amd64 linux/arm linux/arm64" + linux/amd64 linux/arm linux/arm64 linux/ppc64le" version_pkg="sigs.k8s.io/krew/internal/version" cd "${SCRIPTDIR}/.." diff --git a/site/content/docs/developer-guide/plugin-manifest.md b/site/content/docs/developer-guide/plugin-manifest.md index eaf3b65f..468d0122 100644 --- a/site/content/docs/developer-guide/plugin-manifest.md +++ b/site/content/docs/developer-guide/plugin-manifest.md @@ -97,7 +97,7 @@ accessible to download from a user’s machine. The relevant fields are: Krew makes it possible to install the same plugin on different operating systems (e.g., `windows`, `darwin` (macOS), and `linux`) and different architectures -(e.g., `amd64`, `386`, `arm`, and `arm64`). +(e.g., `amd64`, `386`, `arm`, `arm64` and `ppc64le`). To support multiple platforms, you may need to define multiple `platforms` in the plugin manifest. The `selector` field matches to operating systems and