[taskboard] tighten truenas audit candidate filtering
This commit is contained in:
@@ -193,6 +193,8 @@ const TRUENAS_SIGNAL_PATTERNS: Array<{
|
|||||||
const ACTIVE_TRUENAS_SCAN_PATHS = [
|
const ACTIVE_TRUENAS_SCAN_PATHS = [
|
||||||
"homelab/ubuntu",
|
"homelab/ubuntu",
|
||||||
"homelab/grizzley",
|
"homelab/grizzley",
|
||||||
|
"homelab/inventory/ubuntu.json",
|
||||||
|
"homelab/inventory/grizzley.json",
|
||||||
"homelab/truenas/AGENTS.md",
|
"homelab/truenas/AGENTS.md",
|
||||||
"homelab/AGENTS.md",
|
"homelab/AGENTS.md",
|
||||||
"homelab/catalog",
|
"homelab/catalog",
|
||||||
@@ -346,6 +348,8 @@ async function runTrueNasDatasetAudit(taskId: number, host: string, user: string
|
|||||||
}))
|
}))
|
||||||
.filter(({ activeRefs }) => activeRefs.length > 0);
|
.filter(({ activeRefs }) => activeRefs.length > 0);
|
||||||
|
|
||||||
|
const activeDatasetNames = new Set(activeDatasets.map(({ dataset }) => dataset.name));
|
||||||
|
|
||||||
const reviewCandidates = datasets
|
const reviewCandidates = datasets
|
||||||
.map((dataset) => ({
|
.map((dataset) => ({
|
||||||
dataset,
|
dataset,
|
||||||
@@ -358,12 +362,22 @@ async function runTrueNasDatasetAudit(taskId: number, host: string, user: string
|
|||||||
datasetHierarchyName(candidate.name).startsWith(`${datasetHierarchyName(dataset.name)}/`) &&
|
datasetHierarchyName(candidate.name).startsWith(`${datasetHierarchyName(dataset.name)}/`) &&
|
||||||
summarizeSignals(activeSignals, candidate.name).length > 0,
|
summarizeSignals(activeSignals, candidate.name).length > 0,
|
||||||
),
|
),
|
||||||
|
hasActiveAncestor: [...activeDatasetNames].some(
|
||||||
|
(activeDatasetName) =>
|
||||||
|
dataset.name !== activeDatasetName &&
|
||||||
|
datasetHierarchyName(dataset.name).startsWith(`${datasetHierarchyName(activeDatasetName)}/`),
|
||||||
|
),
|
||||||
}))
|
}))
|
||||||
.filter(({ dataset, activeRefs, hasActiveChild }) => {
|
.filter(({ dataset, activeRefs, hasActiveChild, hasActiveAncestor }) => {
|
||||||
if (dataset.name === "TrueNAS" || dataset.name === "RPiPool" || dataset.name.includes("/.system")) {
|
if (
|
||||||
|
dataset.name === "TrueNAS" ||
|
||||||
|
dataset.name === "RPiPool" ||
|
||||||
|
dataset.name.startsWith("boot-pool") ||
|
||||||
|
dataset.name.includes("/.system")
|
||||||
|
) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return activeRefs.length === 0 && !hasActiveChild;
|
return activeRefs.length === 0 && !hasActiveChild && !hasActiveAncestor;
|
||||||
});
|
});
|
||||||
|
|
||||||
const detailSections = [
|
const detailSections = [
|
||||||
|
|||||||
Reference in New Issue
Block a user