mesh/delivery merged: source.main moved to novox/mesh-host@9a8b3870bad0
mesh/check pass 24c23a1d066f on a548a61e86d7 | unit 2667 run, 590 kept, 36 skipped | integration 2676 run, 633 kept, 29 skipped | over bound: unit (sl…
mesh/delivery-group group fix/1126-apply-culprit merged: every member is merged
frombus.Compose now holds a module refused alone (mesh-sdk 0de3006, the rule its answer follows too): composed as what runs of it, with what depends on how it is held held too. The composer hands every other module, keeps what it handed of a held one, and tells the agent which modules it holds and why; agent.NotComposedEach marks those alone and clears the rest. Only a refusal of no single module still marks every module (NotComposed). heldOut also holds out, of the node's own composition as it runs, the resources of each module held alone, until a composition of its own is handed: the node's own apply never removes a module leaving the fold with its names unset (review of the apply, round 1; issue 1945 by a new path). Pins mesh-sdk fix/1126-apply-culprit at 0de3006 (a group).
130 lines
3.4 KiB
JSON
130 lines
3.4 KiB
JSON
{
|
|
"module": "de-spiegel",
|
|
"version": "1",
|
|
"slug": "spiegel",
|
|
"capabilities": [
|
|
"container-runtime"
|
|
],
|
|
"requires": [
|
|
"route",
|
|
"smtp"
|
|
],
|
|
"contributes": {
|
|
"route": {
|
|
"site": {
|
|
"label": "de-spiegel",
|
|
"port": 35621
|
|
},
|
|
"praktijk": {
|
|
"name": "${config:praktijk-name}",
|
|
"port": 35621
|
|
},
|
|
"praktijk-www": {
|
|
"name": "${config:praktijk-www-name}",
|
|
"redirect": "https://${config:praktijk-name}"
|
|
},
|
|
"psychologie": {
|
|
"name": "${config:psychologie-name}",
|
|
"port": 35621
|
|
},
|
|
"psychologie-www": {
|
|
"name": "${config:psychologie-www-name}",
|
|
"redirect": "https://${config:psychologie-name}"
|
|
}
|
|
},
|
|
"smtp": {
|
|
"account": "de-spiegel"
|
|
}
|
|
},
|
|
"binds": {
|
|
"route": "/var/lib/de-spiegel/route.json",
|
|
"smtp": "/var/lib/de-spiegel/smtp.json"
|
|
},
|
|
"config": {
|
|
"praktijk-name": {
|
|
"type": "string",
|
|
"description": "The public name the practice's site is served on; the operator's, with no default (novox/hq ADR 0112).",
|
|
"trusted": true,
|
|
"required": true
|
|
},
|
|
"praktijk-www-name": {
|
|
"type": "string",
|
|
"description": "The public name that redirects to the practice's site (its www form); the operator's, with no default (novox/hq ADR 0112).",
|
|
"trusted": true,
|
|
"required": true
|
|
},
|
|
"psychologie-name": {
|
|
"type": "string",
|
|
"description": "The public name the psychology practice's site is served on; the operator's, with no default (novox/hq ADR 0112).",
|
|
"trusted": true,
|
|
"required": true
|
|
},
|
|
"psychologie-www-name": {
|
|
"type": "string",
|
|
"description": "The public name that redirects to the psychology practice's site (its www form); the operator's, with no default (novox/hq ADR 0112).",
|
|
"trusted": true,
|
|
"required": true
|
|
}
|
|
},
|
|
"listens": [
|
|
{
|
|
"port": 35621,
|
|
"protocol": "tcp",
|
|
"from": "mesh",
|
|
"why": "the de-spiegel site and its /contact endpoint over http; the practice's three public names are route grants, and the proxy reaches every one of them here"
|
|
}
|
|
],
|
|
"resources": [
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"path": "/var/lib/de-spiegel",
|
|
"mode": "0700"
|
|
},
|
|
{
|
|
"id": "server-env",
|
|
"type": "file",
|
|
"path": "/var/lib/de-spiegel/server.env",
|
|
"mode": "0600",
|
|
"content": "SMTP_HOST=${bound:smtp:at}\nSMTP_PORT=${bound:smtp:port}\nSMTP_AUTH_USER=de-spiegel@${bound:smtp:domain}\nSMTP_AUTH_PASS=${secret:smtp}\n"
|
|
},
|
|
{
|
|
"id": "net",
|
|
"type": "network",
|
|
"name": "de-spiegel"
|
|
},
|
|
{
|
|
"id": "server",
|
|
"type": "container",
|
|
"name": "de-spiegel",
|
|
"artifact": "site",
|
|
"network": "de-spiegel",
|
|
"env-file": [
|
|
"/var/lib/de-spiegel/server.env"
|
|
],
|
|
"ports": [
|
|
"35621"
|
|
],
|
|
"secrets-in-environment": "the application's own code reads SMTP_AUTH_USER/PASS from the environment (server/index.js); converting is this repository's change"
|
|
}
|
|
],
|
|
"build": {
|
|
"on": [
|
|
{
|
|
"arg": "NODE_BASE",
|
|
"image": "node@sha256:48e4b67d85f87bd551df43704e24d252f56cc5f8e9718841aace50f19948f0f9"
|
|
}
|
|
],
|
|
"artifacts": [
|
|
{
|
|
"name": "site",
|
|
"kind": "image",
|
|
"from": "Dockerfile"
|
|
}
|
|
]
|
|
},
|
|
"secrets": {
|
|
"smtp": "/var/lib/de-spiegel/smtp.secret"
|
|
}
|
|
}
|