Files
mesh-catalog/modules/ssh-client/module.json
T
jschoubben 83732dcd53
mesh/delivery merged: source.main moved to novox/mesh-catalog@9a3356bd38b1
mesh/delivery-group group fix/1966-bootstrap-no-packages merged: every member is merged
mesh/check checking 83732dcd53d8 on 9a3356bd38b1 | novox/mesh-catalog#627 in group fix/1966-bootstrap-no-packages
Take the Go package artifacts out of the delivery parts for now, so the running builder builds them (issue 1966)
The running builder predates Go package artifacts ("refused kind: package of language go ... no build module
builds it"), so it can build neither the new builder, the grants module, the Go build module nor the checker:
each new part is needed before the others can be built or delivered. For the bootstrap of the registry
delivery, at the operator's word (19:4x, "do the temporary change"), the package artifacts leave the manifests of
the parts that run; the contracts and SDK modules, which run on no node, keep theirs. They come back in one change
once the new builder runs. Quick vs thorough: quick; the thorough fix is 47/G's tier order (issue 1921 note 80).

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-07 19:48:57 +01:00

113 lines
2.8 KiB
JSON

{
"module": "ssh-client",
"version": "1",
"moved": true,
"tools": [
"ssh_client_hosts",
"ssh_client_resolve",
"ssh_client_check",
"ssh_client_keys",
"ssh_client_authorized",
"ssh_client_revoke",
"ssh_client_known_host",
"ssh_client_test"
],
"requires": [
"forge-account"
],
"state": [
"keys"
],
"data": {
"own": [
{
"id": "ssh",
"path": "${dir:ssh-dir}",
"class": "valuable",
"why": "the operator's keys and known hosts"
}
]
},
"resources": [
{
"id": "ssh-dir",
"type": "directory",
"path": "${machine:account-home}/.ssh",
"owner": "${machine:account}",
"mode": "0700",
"unknown": "module"
},
{
"id": "config-d",
"type": "directory",
"path": "${machine:account-home}/.ssh/config.d",
"owner": "${machine:account}",
"mode": "0700",
"unknown": "module"
},
{
"id": "config",
"type": "file",
"path": "${machine:account-home}/.ssh/config",
"owner": "${machine:account}",
"mode": "0600",
"into": "block",
"at": "start",
"template": "files/config"
},
{
"id": "known-hosts",
"type": "file",
"path": "${machine:account-home}/.ssh/known_hosts",
"owner": "${machine:account}",
"mode": "0644",
"into": "block",
"template": "files/known_hosts"
},
{
"id": "forge-host",
"type": "file",
"path": "${machine:account-home}/.ssh/config.d/10-forge",
"owner": "${machine:account}",
"mode": "0600",
"template": "files/forge"
},
{
"id": "git-config",
"type": "file",
"path": "${machine:account-home}/.config/git/config",
"owner": "${machine:account}",
"mode": "0644",
"into": "block",
"template": "files/gitconfig"
}
],
"facts": {
"mesh-hosts": {
"path": ".ssh/config.d/00-mesh",
"home": true,
"template": "# Generated by the mesh. Do not edit — module ssh-client writes this file whenever a machine\n# joins, leaves or is renamed. ~/.ssh/config includes it first, so these hosts win over every\n# later line; a host of your own goes below the mesh's region in ~/.ssh/config.\n{{range .Machines}}{{if ne .Name $.Node}}\nHost {{.Name}} {{.FQDN}}\n HostName {{.FQDN}}\n{{if .Account}} User {{.Account}}\n{{end}}{{end}}{{end}}"
}
},
"build": {
"artifacts": [
{
"name": "tools",
"kind": "bundle",
"language": "go",
"system": "arch",
"from": "cmd/ssh-client-tools",
"binary": "ssh-client-tools",
"loads": [
"ssh-client-tools"
]
},
{
"name": "files",
"kind": "archive",
"from": "files"
}
]
}
}