Converted from the arrangement being replaced. The search engine brings its own valkey on its own network — a sidecar is just a second container resource. The time-series database initialises itself from two generated secrets, and its data and config directories are declared with the owner the image runs as. The package registry's configuration is a declared file rather than a merged one, which is the position 16-module-coverage takes on config merging: the module knows its own format because it wrote the rest of the file. Two were read and deliberately not converted, which is worth recording where the next person will look: n8n builds a custom image, so it is a module with a repository rather than a manifest in this catalogue — where a module's own code lives is ADR 0037's question, and pretending otherwise here would prejudge it. mosquitto authenticates from a hashed password file that only mosquitto_passwd can write, and the mesh delivers plaintext sealed files — so an honest conversion needs a small provisioner, the same shape as the cache's. Without one, the manifest would compose a broker nobody can log in to, which is exactly the kind of module that parses, resolves, and stops on the machine. All images pinned by real digests, resolved on this workstation today.
51 lines
1.5 KiB
JSON
51 lines
1.5 KiB
JSON
{
|
|
"module": "verdaccio",
|
|
"version": "1",
|
|
"capabilities": [
|
|
"container-runtime"
|
|
],
|
|
"listens": [
|
|
{
|
|
"port": 4873,
|
|
"protocol": "tcp",
|
|
"from": "mesh",
|
|
"why": "the package registry, for installs and publishes"
|
|
}
|
|
],
|
|
"resources": [
|
|
{
|
|
"id": "conf",
|
|
"type": "directory",
|
|
"path": "/services/verdaccio/conf",
|
|
"mode": "0755"
|
|
},
|
|
{
|
|
"id": "storage",
|
|
"type": "directory",
|
|
"path": "/services/verdaccio/storage",
|
|
"mode": "0700",
|
|
"owner": "10001:10001"
|
|
},
|
|
{
|
|
"id": "config",
|
|
"type": "file",
|
|
"path": "/services/verdaccio/conf/config.yaml",
|
|
"mode": "0644",
|
|
"content": "storage: /verdaccio/storage\nauth:\n htpasswd:\n file: /verdaccio/conf/htpasswd\n max_users: 10\nuplinks:\n npmjs:\n url: https://registry.npmjs.org/\npackages:\n \"**\":\n access: $all\n publish: $authenticated\n proxy: npmjs\nserver:\n keepAliveTimeout: 60\n maxBodySize: 10mb\nmiddlewares:\n audit:\n enabled: true\nlog:\n type: stdout\n format: pretty\n level: http\n"
|
|
},
|
|
{
|
|
"id": "server",
|
|
"type": "container",
|
|
"name": "verdaccio",
|
|
"image": "verdaccio/verdaccio@sha256:fcb86134563534e2f634752e6c6c3edcdb78242ec16578c73ce39d1dadbaa801",
|
|
"ports": [
|
|
"4873"
|
|
],
|
|
"volumes": [
|
|
"/services/verdaccio/storage:/verdaccio/storage",
|
|
"/services/verdaccio/conf:/verdaccio/conf"
|
|
]
|
|
}
|
|
]
|
|
}
|