Capture mesh-catalog at feat/r4g (2246ccc4) with the templates its manifests name and its predefined.json, and lay the copy out as a repository's root

The catalogue's manifests moved their content into template files and fall back to predefined keys, so a copy of
module.json alone no longer passes the catalogue's own check; the bus's Dockerfile is gone from the catalogue.
This commit is contained in:
2026-10-23 16:24:14 +02:00
parent 68c1220e87
commit 5ccc87f4d0
455 changed files with 12335 additions and 1333 deletions
@@ -2,6 +2,22 @@
"module": "only-office",
"version": "1",
"slug": "office",
"provides": [
{
"name": "document-server",
"scope": "mesh",
"credential": {
"own": "jwt"
}
}
],
"serves": {
"document-server": {
"scheme": "http",
"port": 9070,
"public-root": "https://${bound:route:name}/"
}
},
"capabilities": [
"container-runtime"
],
@@ -14,11 +30,60 @@
"endpoint": "web"
}
},
"seats": [
{
"name": "document-converter",
"scope": "mesh",
"serves": [
"convert"
]
}
],
"claims": [
{
"name": "document-converter",
"scope": "mesh",
"serves": [
"convert"
]
}
],
"streams": [
{
"name": "convert-asks",
"events": [
"convert.asked"
],
"max-age-days": 1,
"max-mib": 8,
"retention": "work-queue",
"max-deliveries": 3,
"duplicates": 24
}
],
"state": [
{
"name": "convert-answers",
"ttl-seconds": 600
}
],
"binds": {
"route": "${dir:state}/route.json"
},
"own-secrets": {
"jwt": "${dir:state}/jwt.secret"
"jwt": {
"path": "${dir:state}/jwt.secret",
"owner": "only-office-converter",
"taken": "at-start"
},
"secure-link": {
"path": "${dir:state}/secure-link.secret",
"taken": "at-start"
},
"broker-converter": {
"path": "${dir:state}/broker-converter.secret",
"owner": "only-office-converter"
}
},
"listens": [
{
@@ -39,7 +104,7 @@
},
{
"id": "lib",
"path": "${dir:lib}",
"path": "${dir:server-lib}",
"class": "rebuildable",
"why": "the document server's working files"
},
@@ -79,50 +144,77 @@
{
"id": "state",
"type": "directory",
"mode": "0700",
"place": "."
"mode": "0711",
"place": ".",
"unknown": "program"
},
{
"id": "converter-account",
"type": "user",
"name": "only-office-converter",
"shell": "/usr/bin/nologin"
},
{
"id": "server-env",
"type": "file",
"path": "${dir:state}/server.env",
"mode": "0600",
"content": "JWT_ENABLED=true\nJWT_SECRET=${secret:jwt}\nJWT_HEADER=Authorization\nJWT_IN_BODY=true\nALLOW_PRIVATE_IP_ADDRESS=true\n"
"template": "files/server.env"
},
{
"id": "box",
"type": "directory",
"mode": "0700",
"unknown": "program"
},
{
"id": "logs",
"type": "directory",
"mode": "0700"
"path": "${dir:box}/logs",
"mode": "0700",
"unknown": "program"
},
{
"id": "data",
"type": "directory",
"mode": "0700"
"path": "${dir:box}/data",
"mode": "0700",
"unknown": "program"
},
{
"id": "lib",
"id": "server-lib",
"type": "directory",
"mode": "0700"
"path": "${dir:box}/lib",
"mode": "0711",
"unknown": "program"
},
{
"id": "db",
"type": "directory",
"mode": "0700"
"path": "${dir:box}/db",
"mode": "0700",
"unknown": "program"
},
{
"id": "rabbitmq",
"type": "directory",
"mode": "0700"
"path": "${dir:box}/rabbitmq",
"mode": "0700",
"unknown": "program"
},
{
"id": "redis",
"type": "directory",
"mode": "0700"
"path": "${dir:box}/redis",
"mode": "0700",
"unknown": "program"
},
{
"id": "fonts",
"type": "directory",
"mode": "0700"
"path": "${dir:box}/fonts",
"mode": "0700",
"unknown": "program"
},
{
"id": "net",
@@ -144,13 +236,60 @@
"volumes": [
"${dir:logs}:/var/log/onlyoffice",
"${dir:data}:/var/www/onlyoffice/Data",
"${dir:lib}:/var/lib/onlyoffice",
"${dir:server-lib}:/var/lib/onlyoffice",
"${dir:db}:/var/lib/postgresql",
"${dir:rabbitmq}:/var/lib/rabbitmq",
"${dir:redis}:/var/lib/redis",
"${dir:fonts}:/usr/share/fonts/truetype/custom"
],
"secrets-in-environment": "run-document-server.sh regenerates JWT_SECRET from the environment on every start and overwrites local.json; not convertible"
"secrets-in-environment": "run-document-server.sh regenerates JWT_SECRET and SECURE_LINK_SECRET from the environment on every start and overwrites local.json and nginx's ds.conf; not convertible"
},
{
"id": "converter",
"type": "process",
"name": "only-office-converter",
"artifact": "tools",
"run": [
"./only-office",
"converter"
],
"user": "only-office-converter",
"env": {
"ONLY_OFFICE_BROKER": "${dir:state}/broker-converter.secret",
"ONLY_OFFICE_JWT": "${dir:state}/jwt.secret",
"ONLY_OFFICE_SERVER": "http://127.0.0.1:9070"
},
"bus": {
"queues": [
"convert-asks"
],
"state": [
"convert-answers"
]
},
"health": {
"kind": "unit"
}
}
]
],
"build": {
"artifacts": [
{
"name": "tools",
"kind": "bundle",
"language": "go",
"system": "arch",
"from": "cmd/only-office",
"binary": "only-office",
"loads": [
"only-office"
]
},
{
"name": "files",
"kind": "archive",
"from": "files"
}
]
}
}