The controller ended by its unassignment, so its lease key is absent for good and the healers stayed in shadow while nobody swept the artifact store (issue 1126, A4). Drop both gates and each manifest's read of mesh-controller.lease; the would bucket stays readable until its keys expire. Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
100 lines
2.4 KiB
JSON
100 lines
2.4 KiB
JSON
{
|
|
"module": "artifact-store-tools",
|
|
"version": "1",
|
|
"claims": [
|
|
{
|
|
"name": "mesh-artifact-sweep",
|
|
"scope": "mesh",
|
|
"serves": [
|
|
"artifacts",
|
|
"held",
|
|
"collect",
|
|
"mirrors",
|
|
"images"
|
|
]
|
|
}
|
|
],
|
|
"requires": [
|
|
"artifact-store"
|
|
],
|
|
"invokes": [
|
|
"seat:mesh-hand-acts.hand-act",
|
|
"mesh-catalog.catalog_modules",
|
|
"mesh-catalog.catalog_module"
|
|
],
|
|
"reads": [
|
|
"mesh-delivery-assigner.wants",
|
|
"mesh-delivery-builder.builds",
|
|
"mesh-delivery-builder.build-log",
|
|
"mesh-delivery-indexer.manifests",
|
|
"node-engine.have"
|
|
],
|
|
"state": [
|
|
"findings"
|
|
],
|
|
"tools": [
|
|
"artifact_store_repositories",
|
|
"artifact_store_usage",
|
|
"artifact_store_references",
|
|
"artifact_store_collect"
|
|
],
|
|
"config": {
|
|
"older-store-names": {
|
|
"type": "string",
|
|
"description": "The names the artifact store had before, as host names or host:port separated by spaces, or none when it had no other. artifact_store_references reads every definition under these as well as under the store's current name, so an image a definition pins under one is said to be named by a definition (novox/hq issue 323).",
|
|
"pattern": "none|[A-Za-z0-9.:-]+( [A-Za-z0-9.:-]+)*",
|
|
"default": "none"
|
|
}
|
|
},
|
|
"resources": [
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"mode": "0700",
|
|
"place": ".",
|
|
"unknown": "program"
|
|
},
|
|
{
|
|
"id": "store-names",
|
|
"type": "file",
|
|
"path": "${dir:state}/store-names",
|
|
"mode": "0600",
|
|
"trusted": false,
|
|
"template": "files/store-names"
|
|
},
|
|
{
|
|
"id": "store-address",
|
|
"type": "file",
|
|
"path": "${dir:state}/store-address",
|
|
"mode": "0600",
|
|
"trusted": false,
|
|
"template": "files/store-address"
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "tools-go",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/artifact-store-tools",
|
|
"binary": "artifact-store-tools",
|
|
"loads": [
|
|
"artifact-store-tools"
|
|
],
|
|
"env": {
|
|
"MESH_ARTIFACT_STORE_CONTAINER": "mesh-registry",
|
|
"MESH_ARTIFACT_STORE_NAMES_FILE": "${dir:state}/store-names",
|
|
"MESH_ARTIFACT_STORE_ADDRESS_FILE": "${dir:state}/store-address"
|
|
}
|
|
},
|
|
{
|
|
"name": "files",
|
|
"kind": "archive",
|
|
"from": "files"
|
|
}
|
|
]
|
|
}
|
|
}
|