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