From af978cc559730ce72e6b6866fdeddecf47ff6c91 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 11 Nov 2026 22:44:29 +0100 Subject: [PATCH] =?UTF-8?q?JUDGE=20(=C2=A7584):=20gitea,=20a=20foundation?= =?UTF-8?q?=20part,=20keeps=20its=20bus=20state=20in=20its=20old=20section?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit transfers, idle (key-ttl), failed-steps (history 1) go from requires entries to the old state section and incoming to the old objects section, as §584 has the forge module keep every state in its old sections. Builds: design 47 G §584, ADR 0619 §1 Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- modules/gitea/module.json | 63 +++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 35 deletions(-) diff --git a/modules/gitea/module.json b/modules/gitea/module.json index 83406734a..e149a5518 100644 --- a/modules/gitea/module.json +++ b/modules/gitea/module.json @@ -5,36 +5,7 @@ "requires": [ "postgres-database", "route", - "secret", - { - "name": "incoming", - "storage": "object-store", - "template": "objects", - "options": { - "max-mib": 2048 - } - }, - { - "name": "transfers", - "storage": "key-value", - "template": "state" - }, - { - "name": "idle", - "storage": "key-value", - "template": "state", - "options": { - "key-ttl": true - } - }, - { - "name": "failed-steps", - "storage": "key-value", - "template": "state", - "options": { - "history": 1 - } - } + "secret" ], "contributes": { "postgres-database": { @@ -122,7 +93,7 @@ "port": 22, "protocol": "tcp", "from": "mesh", - "why": "git over ssh, gitea's own unmodified sshd. Published on the machine's own side at 222, the mesh's fixed public convention \u2014 not 22, which the machine's own daemon holds and a module does not take" + "why": "git over ssh, gitea's own unmodified sshd. Published on the machine's own side at 222, the mesh's fixed public convention — not 22, which the machine's own daemon holds and a module does not take" }, { "name": "forge-events", @@ -236,7 +207,7 @@ }, "keep-main-rules": { "type": "boolean", - "description": "Whether the module keeps main's branch protection as the mesh wants it. True: every ten minutes, and at the start, main's rule in every repository of the organisation novox is put to no push and the tools' account alone merging, and each apply of the `repositories` value narrows the main rule of the repositories it lists, requiring no status. False (the default): the module changes no existing repository's branch protection, whoever set it at the forge, but takes away a required status it finds on a rule covering main, once (ADR 0534 \u00a71); a repository listed in `repositories` that does not exist is still made, with its first protection.", + "description": "Whether the module keeps main's branch protection as the mesh wants it. True: every ten minutes, and at the start, main's rule in every repository of the organisation novox is put to no push and the tools' account alone merging, and each apply of the `repositories` value narrows the main rule of the repositories it lists, requiring no status. False (the default): the module changes no existing repository's branch protection, whoever set it at the forge, but takes away a required status it finds on a rule covering main, once (ADR 0534 §1); a repository listed in `repositories` that does not exist is still made, with its first protection.", "trusted": true, "default": false }, @@ -248,7 +219,7 @@ }, "main-mergers": { "type": "list", - "description": "The forge logins that may merge into main beside the tools' account, on every repository of the organisation (ADR 0534 \u00a72): the operator's own, so the operator can always merge by hand at the forge. The tools' account is always on main's merge whitelist; no agent's account belongs here.", + "description": "The forge logins that may merge into main beside the tools' account, on every repository of the organisation (ADR 0534 §2): the operator's own, so the operator can always merge by hand at the forge. The tools' account is always on main's merge whitelist; no agent's account belongs here.", "trusted": true, "default": [ "jschoubben" @@ -634,7 +605,19 @@ "bound", "announced", "findings", - { "name": "first-views", "history": 1 } + { + "name": "first-views", + "history": 1 + }, + "transfers", + { + "name": "idle", + "key-ttl": true + }, + { + "name": "failed-steps", + "history": 1 + } ], "reads": [ "mesh-provisioner.plans", @@ -663,9 +646,19 @@ "streams": [ { "name": "gitea-findings", - "events": ["finding-written.*", "finding-cleared.*", "findings-stated.*"], + "events": [ + "finding-written.*", + "finding-cleared.*", + "findings-stated.*" + ], "max-age-days": 7, "max-mib": 16 } + ], + "objects": [ + { + "name": "incoming", + "max-mib": 2048 + } ] }