Command Reference
This page provides a complete reference for all KubeNidra CLI commands, their syntax, options, and examples.
Global Flags
All commands support these global flags:
| Flag | Short | Description |
|---|---|---|
--kubeconfig | -k | Path to kubeconfig file |
--namespace | -n | Kubernetes namespace |
Core Commands
Enable
Enables KubeNidra for a workload.
kubenidra enable <workload-type> <workload-name> -n <namespace> [flags]Arguments:
workload-type: Type of workload (deployment, statefulset, daemonset, replicaset)workload-name: Name of the workload
Flags:
--schedule, -s: Wake schedule (e.g., '9:00-17:00,mon-fri')
Examples:
# Enable with default settings
kubenidra enable deployment my-app -n test
# Enable with wake schedule
kubenidra enable deployment my-app -n test --schedule "09:00-17:00,mon-fri"
# Enable in statefulset
kubenidra enable statefulset database -n production --schedule "08:00-18:00,mon-fri;22:00-03:00,sun"What it does:
- Adds
kubenidra/enabled: "true"annotation - Optionally sets
kubenidra/wake-scheduleannotation - Validates schedule format if provided
Disable
Disables KubeNidra for a workload.
kubenidra disable <workload-type> <workload-name> -n <namespace>Arguments:
workload-type: Type of workload (deployment, statefulset, daemonset, replicaset)workload-name: Name of the workload
Examples:
# Disable KubeNidra
kubenidra disable deployment my-app -n test
# Disable KubeNidra
kubenidra disable statefulset database -n productionWhat it does:
- Removes all KubeNidra annotations
- Restores workload to normal Kubernetes behavior
Snooze
Manually snoozes a workload.
kubenidra snooze <workload-type> <workload-name> -n <namespace>Arguments:
workload-type: Type of workload (deployment, statefulset, daemonset, replicaset)workload-name: Name of the workload
Examples:
# Manually snooze
kubenidra snooze deployment my-app -n test
# Snooze statefulset
kubenidra snooze statefulset database -n productionWhat it does:
- Adds
kubenidra/snooze-now: "true"annotation - Triggers immediate snooze operation by the agent
- Checks if workload is already snoozed
Wake
Wakes up a snoozed workload.
kubenidra wake <workload-type> <workload-name> -n <namespace>Arguments:
workload-type: Type of workload (deployment, statefulset, daemonset, replicaset)workload-name: Name of the workload
Examples:
# Wake up workload
kubenidra wake deployment my-app -n test
# Wake statefulset
kubenidra wake statefulset database -n productionWhat it does:
- Adds
kubenidra/wake-now: "true"annotation - Triggers immediate wake operation by the agent
- Checks if KubeNidra is enabled
Advanced Control Commands
Override
Sets manual override to disable automatic behavior.
kubenidra override <workload-type> <workload-name> -n <namespace> [flags]Arguments:
workload-type: Type of workload (deployment, statefulset, daemonset, replicaset)workload-name: Name of the workload
Flags:
--duration, -d: Override duration (e.g., '2h', '30m'). Permanent if not specified.
Examples:
# Permanent override
kubenidra override deployment my-app -n test
# Temporary override (2 hours)
kubenidra override deployment my-app -n test --duration 2h
# Temporary override (30 minutes)
kubenidra override deployment my-app -n test -d 30mWhat it does:
- Sets
kubenidra/manual-override: "true"for permanent override - Sets
kubenidra/manual-override-untilfor time-based override - Prevents automatic snooze/wake operations
Clear Override
Clears manual override and restores automatic behavior.
kubenidra clear-override <workload-type> <workload-name> -n <namespace>Arguments:
workload-type: Type of workload (deployment, statefulset, daemonset, replicaset)workload-name: Name of the workload
Examples:
# Clear override
kubenidra clear-override deployment my-app -n test
# Clear override for statefulset
kubenidra clear-override statefulset database -n productionWhat it does:
- Removes
kubenidra/manual-overrideandkubenidra/manual-override-untilannotations - Restores automatic KubeNidra behavior
Pin
Pins workload in its current state (active or snoozed).
kubenidra pin <workload-type> <workload-name> -n <namespace>Arguments:
workload-type: Type of workload (deployment, statefulset, daemonset, replicaset)workload-name: Name of the workload
Examples:
# Pin in current state
kubenidra pin deployment my-app -n test
# Pin statefulset
kubenidra pin statefulset database -n productionWhat it does:
- Sets
kubenidra/pin-stateto "active" or "snoozed" based on current state - Prevents state changes until unpinned
- Checks if already pinned
Unpin
Removes pin and restores normal KubeNidra behavior.
kubenidra unpin <workload-type> <workload-name> -n <namespace>Arguments:
workload-type: Type of workload (deployment, statefulset, daemonset, replicaset)workload-name: Name of the workload
Examples:
# Remove pin
kubenidra unpin deployment my-app -n test
# Unpin statefulset
kubenidra unpin statefulset database -n productionWhat it does:
- Removes
kubenidra/pin-stateannotation - Restores normal KubeNidra behavior
- Checks if workload is pinned
Configuration Commands
Schedule
Updates wake schedule for a workload.
kubenidra schedule <workload-type> <workload-name> -n <namespace> [flags]Arguments:
workload-type: Type of workload (deployment, statefulset, daemonset, replicaset)workload-name: Name of the workload
Flags:
--schedule, -s: Wake schedule (e.g., '9:00-17:00,mon-fri') (required)
Examples:
# Update schedule
kubenidra schedule deployment my-app -n test --schedule "09:00-17:00,mon-fri"
# Update schedule
kubenidra schedule statefulset database -n production -s "08:00-18:00,mon-sun"
# Multiple time ranges
kubenidra schedule deployment my-app -n test -s "09:00-17:00,mon-wed,fri;08:00-18:00,thu"What it does:
- Updates
kubenidra/wake-scheduleannotation - Validates schedule format
- Requires KubeNidra to be enabled
Monitoring Commands
Status
Shows detailed status report for a workload.
kubenidra status <workload-type> -n <namespace> [workload-name]Arguments:
workload-type: Type of workload (deployment, statefulset, daemonset, replicaset)workload-name: (Optional) Specific workload name
Examples:
# Status of specific workload
kubenidra status deployment my-app -n test
# Status of statefulset
kubenidra status statefulset database -n productionOutput includes:
- Current state (Active/Snoozed)
- Replica count
- Wake schedule
- Manual override status
- Pin state
- Operation history
- Backoff status
List Status
Lists all KubeNidra-enabled workloads in a namespace with detailed status report.
kubenidra list-status <workload-type> -n <namespace>Arguments:
workload-type: Type of workload (deployment, statefulset, daemonset, replicaset)
Examples:
# List status of all enabled deployments
kubenidra list-status deployment -n test
# List statefulset
kubenidra list-status statefulset -n productionOutput includes:
- Current state (Active/Snoozed)
- Replica count
- Wake schedule
- Manual override status
- Pin state
- Operation history
- Backoff status
List Enabled
Lists all KubeNidra-enabled workloads.
kubenidra list-enabled <workload-type> [-n <namespace>]Arguments:
workload-type: Type of workload (deployment, statefulset, daemonset, replicaset)
Examples:
# List all enabled deployments in all namespaces
kubenidra list-enabled deployment
# List all enabled statefulsets in a specific namespace
kubenidra list-status statefulset -n productionOutput includes:
- Workload status (Active/Snoozed)
- Namespace and name
- Wake schedule (if set)
Schedule Format Reference
Basic Format
time-range,days[;time-range,days]Examples:
"09:00-17:00,mon-fri" # Weekdays 9 AM to 5 PM
"08:00-18:00,mon-sun" # Every day 8 AM to 6 PM
"22:00-03:00,fri-mon" # Weekend nightsMultiple Ranges
range1;range2;range3Examples:
"09:00-17:00,mon-wed,fri;08:00-18:00,thu" # Different hours for Thursday
"09:00-17:00,mon-fri;10:00-16:00,sat-sun" # Weekend hoursTime Format
- 24-hour format:
HH:MM-HH:MM - Hours: 00-23
- Minutes: 00-59
Day Format
- Single day:
mon,tue,wed,thu,fri,sat,sun - Day ranges:
mon-fri,sat-sun - Multiple days:
mon,wed,fri - All week:
mon-sun