k8s-backup

SKILL.md

Kubernetes Backup with Velero

Manage backups and restores using kubectl-mcp-server's Velero tools.

When to Apply

Use this skill when:

  • User mentions: "backup", "restore", "Velero", "disaster recovery", "DR"
  • Operations: creating backups, restoring namespaces, migration
  • Keywords: "protect", "recover", "migrate", "snapshot"

Priority Rules

Priority Rule Impact Tools
1 Verify Velero installation first CRITICAL velero_detect_tool
2 Check backup location before create HIGH velero_backup_locations_list_tool
3 Wait for backup completion HIGH velero_backup_get_tool
4 Test restores to non-prod first MEDIUM velero_restore_create_tool

Quick Reference

Task Tool Example
Detect Velero velero_detect_tool velero_detect_tool()
List backups velero_backups_list_tool velero_backups_list_tool()
Create backup velero_backup_create_tool velero_backup_create_tool(name, namespaces)
Restore velero_restore_create_tool velero_restore_create_tool(name, backup_name)

Check Velero Installation

velero_detect_tool()

velero_backup_locations_list_tool()

Create Backups

velero_backup_create_tool(
    name="my-backup",
    namespaces=["default", "app-namespace"]
)

velero_backup_create_tool(
    name="app-backup",
    namespaces=["default"],
    label_selector="app=my-app"
)

velero_backup_create_tool(
    name="config-backup",
    namespaces=["default"],
    exclude_resources=["pods", "replicasets"]
)

velero_backup_create_tool(
    name="daily-backup",
    namespaces=["production"],
    ttl="720h"
)

List and Describe Backups

velero_backups_list_tool()

velero_backup_get_tool(name="my-backup")

Restore from Backup

velero_restore_create_tool(
    name="my-restore",
    backup_name="my-backup"
)

velero_restore_create_tool(
    name="my-restore",
    backup_name="my-backup",
    namespace_mappings={"old-ns": "new-ns"}
)

velero_restore_create_tool(
    name="config-restore",
    backup_name="my-backup",
    include_resources=["configmaps", "secrets"]
)

velero_restore_create_tool(
    name="partial-restore",
    backup_name="my-backup",
    exclude_resources=["persistentvolumeclaims"]
)

List and Monitor Restores

velero_restores_list_tool()

velero_restore_get_tool(name="my-restore")

Scheduled Backups

velero_schedules_list_tool()

velero_schedule_get_tool(name="daily-backup")

kubectl_apply(manifest="""
apiVersion: velero.io/v1
kind: Schedule
metadata:
  name: daily-backup
  namespace: velero
spec:
  schedule: "0 2 * * *"
  template:
    includedNamespaces:
    - production
    ttl: 720h
""")

Disaster Recovery Workflow

Create DR Backup

from datetime import datetime

velero_backup_create_tool(
    name=f"dr-backup-{datetime.now().strftime('%Y%m%d-%H%M%S')}",
    namespaces=["production"]
)
velero_backup_get_tool(name="dr-backup-20260130-120000")

Restore to New Cluster

velero_detect_tool()
velero_backups_list_tool()
velero_restore_create_tool(
    name="dr-restore",
    backup_name="dr-backup-..."
)
velero_restore_get_tool(name="dr-restore")

Prerequisites

  • Velero: Required for all backup tools
    velero install --provider aws --bucket my-bucket --secret-file ./credentials
    

Related Skills

Weekly Installs
5
GitHub Stars
849
First Seen
Feb 7, 2026
Installed on
amp5
gemini-cli5
github-copilot5
codex5
kimi-cli5
opencode5