[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FFVG4QDHFZ7PTXCJD83029":3,"skill-same:01M6FFVG4QDHFZ7PTXCJD83029":48},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":21,"linkOnly":22,"markdownContent":23,"markdownBody":23,"frontMatter":24,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":30,"ownerHtmlUrl":31,"ownerBlogUrl":6,"ownerDescription":32,"updatedAt":33,"install":34,"resources":47},"01M6FFVG4QDHFZ7PTXCJD83029","k8s-backup",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Frohitg00\u002Fkubectl-mcp-server\u002Fk8s-backup\u002FSKILL.md",[],[18,19,20],"backup","k8s","k8s backup","2026-11-10 10:12:30",false,"# Kubernetes Backup with Velero\n\nManage backups and restores using kubectl-mcp-server's Velero tools.\n\n## When to Apply\n\nUse this skill when:\n- User mentions: \"backup\", \"restore\", \"Velero\", \"disaster recovery\", \"DR\"\n- Operations: creating backups, restoring namespaces, migration\n- Keywords: \"protect\", \"recover\", \"migrate\", \"snapshot\"\n\n## Priority Rules\n\n| Priority | Rule | Impact | Tools |\n|----------|------|--------|-------|\n| 1 | Verify Velero installation first | CRITICAL | `velero_detect_tool` |\n| 2 | Check backup location before create | HIGH | `velero_backup_locations_list_tool` |\n| 3 | Wait for backup completion | HIGH | `velero_backup_get_tool` |\n| 4 | Test restores to non-prod first | MEDIUM | `velero_restore_create_tool` |\n\n## Quick Reference\n\n| Task | Tool | Example |\n|------|------|---------|\n| Detect Velero | `velero_detect_tool` | `velero_detect_tool()` |\n| List backups | `velero_backups_list_tool` | `velero_backups_list_tool()` |\n| Create backup | `velero_backup_create_tool` | `velero_backup_create_tool(name, namespaces)` |\n| Restore | `velero_restore_create_tool` | `velero_restore_create_tool(name, backup_name)` |\n\n## Check Velero Installation\n\n```python\nvelero_detect_tool()\n\nvelero_backup_locations_list_tool()\n```\n\n## Create Backups\n\n```python\nvelero_backup_create_tool(\n    name=\"my-backup\",\n    namespaces=[\"default\", \"app-namespace\"]\n)\n\nvelero_backup_create_tool(\n    name=\"app-backup\",\n    namespaces=[\"default\"],\n    label_selector=\"app=my-app\"\n)\n\nvelero_backup_create_tool(\n    name=\"config-backup\",\n    namespaces=[\"default\"],\n    exclude_resources=[\"pods\", \"replicasets\"]\n)\n\nvelero_backup_create_tool(\n    name=\"daily-backup\",\n    namespaces=[\"production\"],\n    ttl=\"720h\"\n)\n```\n\n## List and Describe Backups\n\n```python\nvelero_backups_list_tool()\n\nvelero_backup_get_tool(name=\"my-backup\")\n```\n\n## Restore from Backup\n\n```python\nvelero_restore_create_tool(\n    name=\"my-restore\",\n    backup_name=\"my-backup\"\n)\n\nvelero_restore_create_tool(\n    name=\"my-restore\",\n    backup_name=\"my-backup\",\n    namespace_mappings={\"old-ns\": \"new-ns\"}\n)\n\nvelero_restore_create_tool(\n    name=\"config-restore\",\n    backup_name=\"my-backup\",\n    include_resources=[\"configmaps\", \"secrets\"]\n)\n\nvelero_restore_create_tool(\n    name=\"partial-restore\",\n    backup_name=\"my-backup\",\n    exclude_resources=[\"persistentvolumeclaims\"]\n)\n```\n\n## List and Monitor Restores\n\n```python\nvelero_restores_list_tool()\n\nvelero_restore_get_tool(name=\"my-restore\")\n```\n\n## Scheduled Backups\n\n```python\nvelero_schedules_list_tool()\n\nvelero_schedule_get_tool(name=\"daily-backup\")\n\nkubectl_apply(manifest=\"\"\"\napiVersion: velero.io\u002Fv1\nkind: Schedule\nmetadata:\n  name: daily-backup\n  namespace: velero\nspec:\n  schedule: \"0 2 * * *\"\n  template:\n    includedNamespaces:\n    - production\n    ttl: 720h\n\"\"\")\n```\n\n## Disaster Recovery Workflow\n\n### Create DR Backup\n\n```python\nfrom datetime import datetime\n\nvelero_backup_create_tool(\n    name=f\"dr-backup-{datetime.now().strftime('%Y%m%d-%H%M%S')}\",\n    namespaces=[\"production\"]\n)\nvelero_backup_get_tool(name=\"dr-backup-20260130-120000\")\n```\n\n### Restore to New Cluster\n\n```python\nvelero_detect_tool()\nvelero_backups_list_tool()\nvelero_restore_create_tool(\n    name=\"dr-restore\",\n    backup_name=\"dr-backup-...\"\n)\nvelero_restore_get_tool(name=\"dr-restore\")\n```\n\n## Prerequisites\n\n- **Velero**: Required for all backup tools\n  ```bash\n  velero install --provider aws --bucket my-bucket --secret-file .\u002Fcredentials\n  ```\n\n## Related Skills\n\n- [k8s-multicluster](..\u002Fk8s-multicluster\u002FSKILL.md) - Multi-cluster operations\n- [k8s-incident](..\u002Fk8s-incident\u002FSKILL.md) - Incident response\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Frohitg00\u002Fkubectl-mcp-server\u002Fk8s-backup",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":7,"skillName":5,"commands":35,"prompt":45,"zipAvailable":46},[36,39,42],{"tool":37,"command":38},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill k8s-backup",{"tool":40,"command":41},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill k8s-backup",{"tool":43,"command":44},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill k8s-backup","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Frohitg00\u002Fkubectl-mcp-server\u002Fk8s-backup\u002FSKILL.md",true,[],[49,63,73,82,88,95],{"skillNo":50,"name":51,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":59,"publishedAt":21},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[54],{"categoryNo":55,"categoryName":56,"taxonomyType":57,"taxonomyTypeDesc":58},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[60,61,62],"model","model hierarchy","model hierarchy skill",{"skillNo":64,"name":65,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":69,"publishedAt":21},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[68],{"categoryNo":55,"categoryName":56,"taxonomyType":57,"taxonomyTypeDesc":58},[70,71,72],"MCP","zoom","zoom mcp",{"skillNo":74,"name":75,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":21},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[79,80,81,71],"sdk","zoom apps sdk","apps",{"skillNo":83,"name":84,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":21},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[84],{"skillNo":89,"name":90,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":94,"publishedAt":21},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[93],{"categoryNo":55,"categoryName":56,"taxonomyType":57,"taxonomyTypeDesc":58},[90],{"skillNo":96,"name":97,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":21},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[97]]