Collection of operational skills for VaultMesh infrastructure including: - backup-sovereign: Backup and recovery operations - btc-anchor: Bitcoin anchoring - cloudflare-tunnel-manager: Cloudflare tunnel management - container-registry: Container registry operations - disaster-recovery: Disaster recovery procedures - dns-sovereign: DNS management - eth-anchor: Ethereum anchoring - gitea-bootstrap: Gitea setup and configuration - hetzner-bootstrap: Hetzner server provisioning - merkle-forest: Merkle tree operations - node-hardening: Node security hardening - operator-bootstrap: Operator initialization - proof-verifier: Cryptographic proof verification - rfc3161-anchor: RFC3161 timestamping - secrets-vault: Secrets management 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
61 lines
1.6 KiB
JSON
61 lines
1.6 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Backup Manifest",
|
|
"description": "Schema for backup-sovereign manifest.json files",
|
|
"type": "object",
|
|
"required": ["version", "node", "label", "run_id", "created_at", "sources", "archive"],
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer",
|
|
"description": "Manifest schema version",
|
|
"const": 1
|
|
},
|
|
"node": {
|
|
"type": "string",
|
|
"description": "Node identifier"
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "Backup label (e.g., daily, weekly, manual)"
|
|
},
|
|
"run_id": {
|
|
"type": "string",
|
|
"description": "Unique run identifier (node_label_timestamp)"
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "ISO 8601 timestamp of backup creation"
|
|
},
|
|
"sources": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "List of source paths included in backup"
|
|
},
|
|
"excludes": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "List of exclude patterns"
|
|
},
|
|
"archive": {
|
|
"type": "object",
|
|
"required": ["path", "bytes", "blake3"],
|
|
"properties": {
|
|
"path": {
|
|
"type": "string",
|
|
"description": "Relative path to archive file"
|
|
},
|
|
"bytes": {
|
|
"type": "integer",
|
|
"description": "Archive size in bytes"
|
|
},
|
|
"blake3": {
|
|
"type": "string",
|
|
"pattern": "^[a-f0-9]{64}$",
|
|
"description": "BLAKE3 hash of archive"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|