Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions plugins/reboot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
apiVersion: krew.googlecontainertools.github.com/v1alpha2
kind: Plugin
metadata:
name: reboot
spec:
version: "v1.1.1"
homepage: https://github.com/ayetkin/kubectl-reboot
shortDescription: Safely restart Kubernetes nodes with automated drain and SSH reboot
description: |
kubectl-reboot is a kubectl plugin that provides safe node restart operations for Kubernetes clusters.

Features:
- 🔄 Safe Node Restart: Automatically cordon, drain, reboot, and uncordon nodes
- 🚀 SSH Integration: Reboot nodes via SSH with customizable commands
- 🔍 Reboot Verification: Verify successful reboots by monitoring Boot ID changes
- 🌐 Cluster-wide Operations: Restart all nodes or specific subsets
- 🧪 Dry-run Mode: Preview operations without making changes
- ⚡ Flexible Configuration: Extensive customization options

Usage examples:
- kubectl reboot node1 # Restart single node
- kubectl reboot --all # Restart all nodes
- kubectl reboot --dry-run node1 # Preview without executing
- kubectl reboot --ssh-user ubuntu node1 # Custom SSH user

caveats: |
This plugin requires:
- SSH access to target nodes (key-based authentication recommended)
- Appropriate RBAC permissions for node operations
- kubectl configured and authenticated to your cluster

IMPORTANT: Always test in non-production environments first.

platforms:
- selector:
matchExpressions:
- key: "os"
operator: "In"
values:
- linux
- key: "arch"
operator: "In"
values:
- amd64
uri: https://github.com/ayetkin/kubectl-reboot/releases/download/v1.1.1/kubectl-reboot-linux-amd64.tar.gz
sha256: "6b3317b65c19402bea50ff3dcd783eeea8be9647867ebb4889165357dded9e41"
bin: kubectl-reboot
files:
- from: "kubectl-reboot-linux-amd64"
to: kubectl-reboot

- selector:
matchExpressions:
- key: "os"
operator: "In"
values:
- linux
- key: "arch"
operator: "In"
values:
- arm64
uri: https://github.com/ayetkin/kubectl-reboot/releases/download/v1.1.1/kubectl-reboot-linux-arm64.tar.gz
sha256: "99400f8fce6095112b3fd22e13428cd8fdea5080f6e271eb694cd66ff91e0790"
bin: kubectl-reboot
files:
- from: "kubectl-reboot-linux-arm64"
to: kubectl-reboot

- selector:
matchExpressions:
- key: "os"
operator: "In"
values:
- darwin
- key: "arch"
operator: "In"
values:
- amd64
uri: https://github.com/ayetkin/kubectl-reboot/releases/download/v1.1.1/kubectl-reboot-darwin-amd64.tar.gz
sha256: "8bb1b6fdf03d44b4c77053b69309674a31c5d60e61b9cc883b2a9fad52685882"
bin: kubectl-reboot
files:
- from: "kubectl-reboot-darwin-amd64"
to: kubectl-reboot

- selector:
matchExpressions:
- key: "os"
operator: "In"
values:
- darwin
- key: "arch"
operator: "In"
values:
- arm64
uri: https://github.com/ayetkin/kubectl-reboot/releases/download/v1.1.1/kubectl-reboot-darwin-arm64.tar.gz
sha256: "24ced929b6a58c035e89ab61dfbed3cc6d25bdd410344eee75e6443d2b300c9e"
bin: kubectl-reboot
files:
- from: "kubectl-reboot-darwin-arm64"
to: kubectl-reboot
Loading