Skip to content

kubectl plugin compatibility (kubectl kf) #52

@syedazeez337

Description

@syedazeez337

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

  • kubectl kf launches KubeRift
  • Krew manifest created and tested
  • CI produces kubectl-kf binary alongside kf
  • Installation docs updated
  • PR submitted to krew-index (or ready to submit)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2-mediumImportant ecosystem featureenhancementNew feature or requestphase-3-ecosystemExtensibility and integrations

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions