{ "module": "restic", "version": "1", "claims": [ { "name": "node-backup", "scope": "node", "serves": [ "backed-up", "now", "restore" ] } ], "own-secrets": { "repository": "${dir:state}/repository.secret" }, "data": { "own": [ { "id": "repository", "path": "${dir:repository}", "class": "rebuildable", "backup": "none", "why": "the restore points themselves: a copy of data kept elsewhere on this machine, never the only copy of anything; lost, the history goes and nothing live does" }, { "id": "state", "path": "${dir:state}", "class": "cache", "why": "what the last nights and measurements were; the next night writes it again" } ] }, "resources": [ { "id": "state", "type": "directory", "mode": "0700", "place": "." }, { "id": "repository", "type": "directory", "mode": "0700" }, { "id": "declared", "type": "file", "path": "${dir:state}/backups.conf", "mode": "0600", "content": "# What the modules on this machine back up, composed by the mesh (novox/hq to-be 43). Do not edit.\n${contribution:node-backup:backup}" }, { "id": "data-declared", "type": "file", "path": "${dir:state}/data.conf", "mode": "0600", "content": "# The data the modules on this machine declare, composed by the mesh (novox/hq ADR 0233). Do not edit.\n${contribution:node-backup:data}" }, { "id": "tool", "type": "package", "package": "restic" }, { "id": "sqlite", "type": "package", "package": "sqlite" } ], "build": { "artifacts": [ { "name": "tools", "kind": "bundle", "language": "go", "system": "arch", "from": "cmd/restic-backups", "binary": "restic-backups", "loads": [ "restic-backups" ], "env": { "MESH_BACKUP_DECLARED": "${dir:state}/backups.conf", "MESH_BACKUP_REPOSITORY": "${dir:repository}", "MESH_BACKUP_PASSWORD_FILE": "${dir:state}/repository.secret", "MESH_BACKUP_STATE": "${dir:state}", "MESH_BACKUP_DATA": "${dir:state}/data.conf" } } ] } }