kubectl-plugins

module
v0.0.0-...-cb69bc0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 1, 2024 License: Apache-2.0

README

kubectl plugins

The kubectl plugins repository aims to collect a series of useful kubectl plugins for enhancing and extending the capabilities of kubectl. More plugins are planned to be added in the future.

kubectl-watchdiff

kubectl-watchdiff is the first plugin in this repository. Its primary function is to monitor changes in Kubernetes resources through watch events and display them in YAML diff format. This plugin is designed to enable users to focus more on the specific changes in resources rather than the entire object event.

Features
  • Field Ignoration: Automatically ignores the resourceVersion, managedFields in ObjectMetadata, and the kubectl.kubernetes.io/last-applied-configuration in annotations.
  • Custom Ignoration: Allows users to configure specific keys in metadata labels and annotations to be ignored.
  • Field Focus: Supports using JSONPath expressions to specify fields that users want to focus on, helping to concentrate on specific changes within resources.
Installation

Install kubectl-watchdiff directly from GitHub using the following go install command:

go install github.com/zoumo/kubectl-plugins/cmd/kubectl-watchdiff@latest

Make sure your $GOPATH/bin directory is in the system's PATH so that kubectl can find and execute the kubectl-watchdiff plugin.

Usage

Here are some basic usage examples of kubectl-watchdiff:

# Monitor changes in all pods within a specified namespace:
kubectl watchdiff pods

# Monitor changes in a single pod:
kubectl watchdiff pod pod1

# Filter pods through label selection:
kubectl watchdiff pods -l app=foo

# Monitor all pods across all namespaces:
kubectl watchdiff pods --all-namespaces

# Ignore certain labels or annotations while comparing:
kubectl watchdiff pods --ignore-annotation-keys=kubectl.kubernetes.io/last-applied-configuration

# Only focus on the status changes of pods:
kubectl watchdiff pods --jsonpaths="$.status"

# Focus on specific annotation changes within pods:
kubectl watchdiff pods --jsonpaths="$.metadata.annotations['github.com/zoumo/kubectl-plugins']"

Feedback and Contributions

Feedback, issues, or feature suggestions are welcome by submitting issues or contributing code to the GitHub repository.

Directories

Path Synopsis
cmd
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL