19 lines
988 B
Go
19 lines
988 B
Go
package catalogue
|
|
|
|
// The case novox/hq issue 153 records: an adopted machine keeps its data where the predecessor put
|
|
// it — a library on its own pool that must never move, a configuration on a second disk owned by
|
|
// whoever the predecessor ran as. A definition may name none of that (ADR 0112); the assignment
|
|
// says it, by the ids the definition declared, and the machine receives concrete paths as always.
|
|
func placeable() Manifest {
|
|
m := mod("arr", nil, nil, nil)
|
|
m.Resources = []map[string]any{
|
|
{"id": "state", "type": "directory", "place": ".", "mode": "0700"},
|
|
{"id": "config", "type": "directory", "mode": "0755", "owner": "1000:1000"},
|
|
{"id": "server", "type": "container", "name": "arr", "image": "arr:1",
|
|
"volumes": []any{"${dir:config}:/config", "${access:series}:/series", "${access:spool}:/downloads:ro"},
|
|
"env": map[string]any{"SPOOL": "${access:spool}"}},
|
|
}
|
|
m.Accesses = []Access{{ID: "series", Mode: AccessReadWrite}, {ID: "spool"}}
|
|
return m
|
|
}
|