Summary
Make KubeRift installable as a kubectl plugin via kubectl kf, and publish to the Krew plugin index.
Motivation
kubectl plugins are the standard extension mechanism. Being available via kubectl kf expands discoverability massively — users can find KubeRift via kubectl krew search alongside 200+ other plugins.
Requirements
kubectl Plugin Convention
- kubectl discovers plugins by finding executables named
kubectl-<name> in PATH
- Rename/symlink:
kf binary also available as kubectl-kf
kubectl kf pods should work identically to kf pods
Implementation
- In
release.yml CI: create kubectl-kf symlink/copy alongside kf binary
- Add install instructions:
cp kf /usr/local/bin/kubectl-kf
- OR: add a
--install-kubectl-plugin flag that creates the symlink
Krew Manifest
Create .krew.yaml manifest:
apiVersion: krew.googlecontainertools.github.io/v1alpha2
kind: Plugin
metadata:
name: kf
spec:
version: v0.2.0
shortDescription: Fuzzy-first interactive Kubernetes resource navigator
homepage: https://github.com/syedazeez337/kuberift
platforms:
- selector:
matchLabels:
os: linux
arch: amd64
uri: https://github.com/syedazeez337/kuberift/releases/download/v0.2.0/kf-x86_64-unknown-linux-musl.tar.gz
sha256: "..."
bin: kf
# ... other platforms
Submission
Acceptance Criteria
Summary
Make KubeRift installable as a kubectl plugin via
kubectl kf, and publish to the Krew plugin index.Motivation
kubectl plugins are the standard extension mechanism. Being available via
kubectl kfexpands discoverability massively — users can find KubeRift viakubectl krew searchalongside 200+ other plugins.Requirements
kubectl Plugin Convention
kubectl-<name>in PATHkfbinary also available askubectl-kfkubectl kf podsshould work identically tokf podsImplementation
release.ymlCI: createkubectl-kfsymlink/copy alongsidekfbinarycp kf /usr/local/bin/kubectl-kf--install-kubectl-pluginflag that creates the symlinkKrew Manifest
Create
.krew.yamlmanifest:Submission
Acceptance Criteria
kubectl kflaunches KubeRiftkubectl-kfbinary alongsidekf