done fix
This commit is contained in:
@@ -1415,6 +1415,7 @@ PACKAGE_BASE_URL="${baseUrl}"
|
||||
AGENT_URL="${agentUrl}?arch=$ARCH"
|
||||
AGENT_ENV="/etc/local-installer-agent/agent.env"
|
||||
PACKAGE_HOST="$(printf '%s' "$PACKAGE_BASE_URL" | sed -E 's#^[a-zA-Z][a-zA-Z0-9+.-]*://([^/:]+).*$#\\1#')"
|
||||
PACKAGE_REGISTRY="$(printf '%s' "$PACKAGE_BASE_URL" | sed -E 's#^[a-zA-Z][a-zA-Z0-9+.-]*://([^/]+).*$#\\1#')"
|
||||
TMP_DEB="/tmp/local-installer-agent.deb"
|
||||
|
||||
set_agent_env() {
|
||||
@@ -1440,6 +1441,9 @@ touch "$AGENT_ENV"
|
||||
set_agent_env ROBOT_PACKAGE_BASE_URL "$PACKAGE_BASE_URL"
|
||||
set_agent_env ALLOWED_ORIGINS "${escapeShellDoubleQuoted(agentAllowedOrigins)}"
|
||||
set_agent_env ALLOWED_DOWNLOAD_HOSTS "$PACKAGE_HOST,localhost,127.0.0.1"
|
||||
set_agent_env ALLOWED_DOCKER_REGISTRIES "$PACKAGE_REGISTRY,$PACKAGE_HOST,localhost,127.0.0.1,registry.robot.package,docker.io"
|
||||
set_agent_env ALLOW_DOCKER true
|
||||
set_agent_env AUTO_INSTALL_DOCKER true
|
||||
|
||||
echo "Starting Local Installer Agent..."
|
||||
systemctl enable local-installer-agent
|
||||
|
||||
@@ -372,6 +372,21 @@ function toAbsoluteUrl(baseUrl, filePath) {
|
||||
return `${normalizedBaseUrl}${normalizedPath}`;
|
||||
}
|
||||
|
||||
function inferDockerPortsFromOpenUrl(openUrl) {
|
||||
if (!openUrl) return [];
|
||||
|
||||
try {
|
||||
const parsed = new URL(openUrl);
|
||||
if (!isLoopbackHost(parsed.hostname) || !parsed.port) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return [`${parsed.port}:${parsed.port}`];
|
||||
} catch {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
async function getUserById(id) {
|
||||
const pool = await getPool();
|
||||
const result = await pool.request()
|
||||
@@ -966,6 +981,9 @@ async function getApplicationManifest(appCode, version, baseUrl) {
|
||||
ORDER BY ap.AddedAt ASC, p.PackageCode ASC;
|
||||
`);
|
||||
|
||||
const dockerRows = componentResult.recordset.filter((row) => row.PackageType === 'docker');
|
||||
const inferredDockerPorts = dockerRows.length === 1 ? inferDockerPortsFromOpenUrl(appRow.OpenUrl) : [];
|
||||
|
||||
const components = componentResult.recordset.map((row) => {
|
||||
const installOrder = Number(row.InstallOrder || 10);
|
||||
|
||||
@@ -977,7 +995,8 @@ async function getApplicationManifest(appCode, version, baseUrl) {
|
||||
required: true,
|
||||
image: row.DockerImage || '',
|
||||
tag: row.Version || 'latest',
|
||||
containerName: row.PackageCode
|
||||
containerName: row.PackageCode,
|
||||
ports: inferredDockerPorts
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user