9090:9000 and 9443:9443 were the predecessor's machine numbers written into the definition. The manifest now says 9000 and 9443 and the mesh assigns the machine ports on each node (the portainer slice of #173, which is stale).
115 lines
2.5 KiB
JSON
115 lines
2.5 KiB
JSON
{
|
|
"module": "portainer",
|
|
"version": "1",
|
|
"slug": "portain",
|
|
"capabilities": [
|
|
"container-runtime"
|
|
],
|
|
"listens": [
|
|
{
|
|
"name": "web",
|
|
"port": 9000,
|
|
"protocol": "tcp",
|
|
"from": "mesh",
|
|
"why": "the dashboard over http; its public name is a route grant and the proxy reaches it here"
|
|
},
|
|
{
|
|
"name": "web-tls",
|
|
"port": 9443,
|
|
"protocol": "tcp",
|
|
"from": "mesh",
|
|
"why": "the same dashboard over its own tls; the runtime sidecar talks to it here"
|
|
}
|
|
],
|
|
"resources": [
|
|
{
|
|
"id": "mesh-state",
|
|
"type": "directory",
|
|
"path": "/var/lib/mesh/portainer",
|
|
"mode": "0700"
|
|
},
|
|
{
|
|
"id": "data",
|
|
"type": "directory",
|
|
"mode": "0700"
|
|
},
|
|
{
|
|
"id": "server",
|
|
"type": "container",
|
|
"name": "portainer",
|
|
"image": "portainer/portainer-ce@sha256:4d616db18cfeb5dd41a69c0958bc825c84483ea9cde1106eb82a5d26f3bd8b0e",
|
|
"ports": [
|
|
"9000",
|
|
"9443"
|
|
],
|
|
"volumes": [
|
|
"${dir:data}:/data",
|
|
"/var/run/docker.sock:/var/run/docker.sock"
|
|
]
|
|
},
|
|
{
|
|
"id": "runtime-config",
|
|
"type": "file",
|
|
"path": "/var/lib/mesh/portainer/config.json",
|
|
"mode": "0600",
|
|
"content": "{}\n",
|
|
"merge": "json"
|
|
},
|
|
{
|
|
"id": "runtime",
|
|
"type": "container",
|
|
"name": "mesh-portainer",
|
|
"network": "host",
|
|
"volumes": [
|
|
"/var/lib/mesh/portainer/broker:/run/secrets/broker:ro",
|
|
"/var/lib/mesh/portainer/config.json:/run/config/config.json:ro"
|
|
],
|
|
"env": {
|
|
"MESH_BROKER_FILE": "/run/secrets/broker",
|
|
"MESH_PORTAINER_URL": "https://127.0.0.1:9443",
|
|
"MESH_PORTAINER_CONFIG_FILE": "/run/config/config.json"
|
|
},
|
|
"restart-on": [
|
|
"runtime-config"
|
|
],
|
|
"artifact": "runtime"
|
|
}
|
|
],
|
|
"own-secrets": {
|
|
"broker": "/var/lib/mesh/portainer/broker"
|
|
},
|
|
"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"
|
|
}
|
|
]
|
|
},
|
|
"requires": [
|
|
"route"
|
|
],
|
|
"contributes": {
|
|
"route": {
|
|
"label": "portainer",
|
|
"endpoint": "web"
|
|
}
|
|
},
|
|
"binds": {
|
|
"route": "/var/lib/mesh/portainer/route.json"
|
|
}
|
|
}
|