Filter out duplicates

This commit is contained in:
Owen
2025-09-15 21:50:21 -07:00
parent 426d8684bf
commit e97642a790

View File

@@ -148,10 +148,7 @@ export async function getTraefikConfig(
and(
eq(targets.enabled, true),
eq(resources.enabled, true),
or(
eq(sites.exitNodeId, exitNodeId),
isNull(sites.exitNodeId)
),
or(eq(sites.exitNodeId, exitNodeId), isNull(sites.exitNodeId)),
inArray(sites.type, siteTypes),
config.getRawConfig().traefik.allow_raw_resources
? isNotNull(resources.http) // ignore the http check if allow_raw_resources is true
@@ -212,10 +209,11 @@ export async function getTraefikConfig(
});
});
// convert the map to an object for printing
logger.debug(`Resources: ${JSON.stringify(Object.fromEntries(resourcesMap), null, 2)}`);
logger.debug(
`Resources: ${JSON.stringify(Object.fromEntries(resourcesMap), null, 2)}`
);
// make sure we have at least one resource
if (resourcesMap.size === 0) {
@@ -399,7 +397,8 @@ export async function getTraefikConfig(
targets as TargetWithSite[]
).some((target: TargetWithSite) => target.site.online);
return (targets as TargetWithSite[])
return (
(targets as TargetWithSite[])
.filter((target: TargetWithSite) => {
if (!target.enabled) {
return false;
@@ -447,7 +446,15 @@ export async function getTraefikConfig(
url: `${target.method}://${ip}:${target.internalPort}`
};
}
});
})
// filter out duplicates
.filter(
(v, i, a) =>
a.findIndex(
(t) => t && v && t.url === v.url
) === i
)
);
})(),
...(resource.stickySession
? {