ADR 0086. mesh-controller mounts its six own secrets and names them with _FILE twins, so no credential of its own reaches its environment. The 35 containers that still read a secret through an env-file carry secrets-in-environment with the reason; converting each where its software accepts a path is the per-module work of issue 041.
89 lines
1.9 KiB
JSON
89 lines
1.9 KiB
JSON
{
|
|
"module": "amqp-ping",
|
|
"slug": "ping",
|
|
"version": "1",
|
|
"capabilities": [
|
|
"container-runtime"
|
|
],
|
|
"requires": [
|
|
"amqp"
|
|
],
|
|
"contributes": {},
|
|
"binds": {
|
|
"amqp": "/var/lib/amqp-ping/amqp.json"
|
|
},
|
|
"secrets": {
|
|
"amqp": "/var/lib/amqp-ping/amqp.secret"
|
|
},
|
|
"own-secrets": {
|
|
"broker": "/var/lib/mesh/amqp-ping/broker"
|
|
},
|
|
"resources": [
|
|
{
|
|
"id": "mesh-state",
|
|
"type": "directory",
|
|
"path": "/var/lib/mesh/amqp-ping",
|
|
"mode": "0700"
|
|
},
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"path": "/var/lib/amqp-ping",
|
|
"mode": "0700"
|
|
},
|
|
{
|
|
"id": "amqp-env",
|
|
"type": "file",
|
|
"path": "/var/lib/amqp-ping/amqp.env",
|
|
"mode": "0600",
|
|
"content": "MESH_AMQP_HOST=${bound:amqp:at}\nMESH_AMQP_PORT=${bound:amqp:port}\nMESH_AMQP_USER=${bound:amqp:as}\nMESH_AMQP_VHOST=${bound:amqp:as}\nMESH_AMQP_PASSWORD=${secret:amqp}\n"
|
|
},
|
|
{
|
|
"id": "net",
|
|
"type": "network",
|
|
"name": "amqp-ping"
|
|
},
|
|
{
|
|
"id": "runtime",
|
|
"type": "container",
|
|
"name": "amqp-ping",
|
|
"network": "amqp-ping",
|
|
"volumes": [
|
|
"/var/lib/mesh/amqp-ping/broker:/run/secrets/broker:ro"
|
|
],
|
|
"env": {
|
|
"MESH_BROKER_FILE": "/run/secrets/broker"
|
|
},
|
|
"env-file": [
|
|
"/var/lib/amqp-ping/amqp.env"
|
|
],
|
|
"restart-on": [
|
|
"amqp-env"
|
|
],
|
|
"artifact": "runtime",
|
|
"secrets-in-environment": "the runtime reads MESH_AMQP_* from the environment; a file twin in the SDK is the per-module work of issue 041"
|
|
}
|
|
],
|
|
"build": {
|
|
"on": [
|
|
{
|
|
"arg": "BUILD_BASE",
|
|
"module": "mesh-tools",
|
|
"artifact": "build"
|
|
},
|
|
{
|
|
"arg": "RUNTIME_BASE",
|
|
"module": "mesh-tools",
|
|
"artifact": "runtime"
|
|
}
|
|
],
|
|
"artifacts": [
|
|
{
|
|
"name": "runtime",
|
|
"kind": "image",
|
|
"from": "Dockerfile"
|
|
}
|
|
]
|
|
}
|
|
}
|