fix: make server discovery and audits read-only

This commit is contained in:
NuklearRabbit
2026-07-29 16:09:39 +02:00
parent 56efd1a00c
commit 430d40354b
13 changed files with 352 additions and 52 deletions
+12 -3
View File
@@ -114,7 +114,7 @@ test("server workload inventory links running containers to exact Gitea checkout
);
});
test("automatic server discovery adopts and verifies a running Gitea deployment", async () => {
test("server discovery is read-only and explicit reconciliation adopts a verified deployment", async () => {
const b64 = (value) => Buffer.from(value).toString("base64");
const sha = "b".repeat(40);
const container = {
@@ -155,7 +155,7 @@ test("automatic server discovery adopts and verifies a running Gitea deployment"
},
gitea: { getBranch: async () => ({ commit: { id: sha } }) },
});
const result = await service.discoverServerWorkloads("unraid", [
const repositories = [
{
fullName: "Jens/Portfolio",
name: "Portfolio",
@@ -163,7 +163,16 @@ test("automatic server discovery adopts and verifies a running Gitea deployment"
cloneUrl: "https://gitea.itworx.tech/Jens/Portfolio.git",
sshUrl: "git@gitea.itworx.tech:Jens/Portfolio.git",
},
]);
];
const discovery = await service.discoverServerWorkloads("unraid", repositories);
assert.equal(discovery.adopted, 0);
assert.equal(discovery.verified, 0);
assert.equal(profiles.length, 0);
assert.equal(states.size, 0);
const preview = await service.planServerInventoryReconciliation("unraid", repositories, { autoLink: true });
assert.equal(preview.plan.summary.additions, 1);
const result = await service.reconcileServerInventory("unraid", repositories, { autoLink: true, expectedPlanId: preview.plan.id });
assert.equal(result.adopted, 1);
assert.equal(result.verified, 1);
assert.equal(profiles[0].containerName, "Portfolio");