From 035d872269a5d7c2eb902514b4ada60ec57fb2df Mon Sep 17 00:00:00 2001 From: rcourtman Date: Thu, 6 Nov 2025 16:01:40 +0000 Subject: [PATCH] Add missing install/uninstall scripts to Docker image and release builds (related to #644) The Dockerfile and build-release.sh were missing several installer and uninstaller scripts that the router expects to serve via HTTP endpoints: - install-container-agent.sh - install-host-agent.ps1 - uninstall-host-agent.sh - uninstall-host-agent.ps1 This caused 404 errors when users attempted to add Docker/Podman hosts or use the PowerShell installer, as reported in #644. Changes: - Dockerfile: Added missing scripts to /opt/pulse/scripts/ with proper permissions - build-release.sh: Added missing scripts to both per-platform and universal tarballs to ensure bare-metal deployments serve the same endpoints as Docker deployments --- Dockerfile | 6 +++++- scripts/build-release.sh | 18 ++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index eb9e709..59591ee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -183,10 +183,14 @@ RUN chmod +x /docker-entrypoint.sh # Provide installer scripts for HTTP download endpoints RUN mkdir -p /opt/pulse/scripts COPY scripts/install-docker-agent.sh /opt/pulse/scripts/install-docker-agent.sh +COPY scripts/install-container-agent.sh /opt/pulse/scripts/install-container-agent.sh COPY scripts/install-host-agent.sh /opt/pulse/scripts/install-host-agent.sh +COPY scripts/install-host-agent.ps1 /opt/pulse/scripts/install-host-agent.ps1 +COPY scripts/uninstall-host-agent.sh /opt/pulse/scripts/uninstall-host-agent.sh +COPY scripts/uninstall-host-agent.ps1 /opt/pulse/scripts/uninstall-host-agent.ps1 COPY scripts/install-sensor-proxy.sh /opt/pulse/scripts/install-sensor-proxy.sh COPY scripts/install-docker.sh /opt/pulse/scripts/install-docker.sh -RUN chmod 755 /opt/pulse/scripts/install-docker-agent.sh /opt/pulse/scripts/install-host-agent.sh /opt/pulse/scripts/install-sensor-proxy.sh /opt/pulse/scripts/install-docker.sh +RUN chmod 755 /opt/pulse/scripts/install-docker-agent.sh /opt/pulse/scripts/install-container-agent.sh /opt/pulse/scripts/install-host-agent.sh /opt/pulse/scripts/install-host-agent.ps1 /opt/pulse/scripts/uninstall-host-agent.sh /opt/pulse/scripts/uninstall-host-agent.ps1 /opt/pulse/scripts/install-sensor-proxy.sh /opt/pulse/scripts/install-docker.sh # Copy multi-arch docker-agent binaries for download endpoint RUN mkdir -p /opt/pulse/bin diff --git a/scripts/build-release.sh b/scripts/build-release.sh index 938d0b8..7c53f9a 100755 --- a/scripts/build-release.sh +++ b/scripts/build-release.sh @@ -93,7 +93,14 @@ for build_name in "${!builds[@]}"; do cp "$BUILD_DIR/pulse-host-agent-$build_name" "$staging_dir/bin/pulse-host-agent" cp "$BUILD_DIR/pulse-sensor-proxy-$build_name" "$staging_dir/bin/pulse-sensor-proxy" cp "scripts/install-docker-agent.sh" "$staging_dir/scripts/install-docker-agent.sh" - chmod 755 "$staging_dir/scripts/install-docker-agent.sh" + cp "scripts/install-container-agent.sh" "$staging_dir/scripts/install-container-agent.sh" + cp "scripts/install-host-agent.sh" "$staging_dir/scripts/install-host-agent.sh" + cp "scripts/install-host-agent.ps1" "$staging_dir/scripts/install-host-agent.ps1" + cp "scripts/uninstall-host-agent.sh" "$staging_dir/scripts/uninstall-host-agent.sh" + cp "scripts/uninstall-host-agent.ps1" "$staging_dir/scripts/uninstall-host-agent.ps1" + cp "scripts/install-sensor-proxy.sh" "$staging_dir/scripts/install-sensor-proxy.sh" + cp "scripts/install-docker.sh" "$staging_dir/scripts/install-docker.sh" + chmod 755 "$staging_dir/scripts/"*.sh "$staging_dir/scripts/"*.ps1 echo "$VERSION" > "$staging_dir/VERSION" # Create tarball from staging directory @@ -123,7 +130,14 @@ for build_name in "${!builds[@]}"; do done cp "scripts/install-docker-agent.sh" "$universal_dir/scripts/install-docker-agent.sh" -chmod 755 "$universal_dir/scripts/install-docker-agent.sh" +cp "scripts/install-container-agent.sh" "$universal_dir/scripts/install-container-agent.sh" +cp "scripts/install-host-agent.sh" "$universal_dir/scripts/install-host-agent.sh" +cp "scripts/install-host-agent.ps1" "$universal_dir/scripts/install-host-agent.ps1" +cp "scripts/uninstall-host-agent.sh" "$universal_dir/scripts/uninstall-host-agent.sh" +cp "scripts/uninstall-host-agent.ps1" "$universal_dir/scripts/uninstall-host-agent.ps1" +cp "scripts/install-sensor-proxy.sh" "$universal_dir/scripts/install-sensor-proxy.sh" +cp "scripts/install-docker.sh" "$universal_dir/scripts/install-docker.sh" +chmod 755 "$universal_dir/scripts/"*.sh "$universal_dir/scripts/"*.ps1 # Create a detection script that creates the pulse symlink based on architecture cat > "$universal_dir/bin/pulse" << 'EOF'