Skip to content

Commit 757ecc7

Browse files
mjabascal10JocLRojasylladaKbayeroosmontero
authored
Release/v11.2.4 (#1888)
* feat(assets-view): refactor asset detail handling and improve status display Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(RequestDsl): enhance search request handling for LIST_CHART visualization * feat(RequestDsl): enhance search request handling for LIST_CHART visualization * feat: add updates for Windows visualizations and default time range adjustments * feat(netflow-filter): add IANA protocol mapping and improve field processing * feat(assets-view): refactor asset detail handling and improve status display Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(netflow-filter): add update for Netflow filter version 3.1.1 and enhance field processing * refactor(azure-plugin): extracts event processing logic into separate functions to handle JSON format detection (array vs object) * feat(windows-visualizations): update outdated fields in Windows visualizations and normalize field names * feat(windows-visualizations): update field names in Windows visualizations for consistency * feat(open-alerts): optimize open alerts handling and improve local storage updates Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(visualization-list): integrate UtmToastService for error handling in visualization fetching Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(windows-visualizations): update field names in Windows visualizations for consistency * feat(windows-visualizations): update field names in Windows visualizations for consistency * feat(bitdefender-gz): add renaming for log.deviceIps, log.dvchost, and log.act fields * feat(bitdefender-visualizations): normalize field names in Bitdefender GZ visualizations * feat(vmware-visualizations): normalize field names in VMware visualizations * feat(bitdefender-filter): add Bitdefender GravityZone filter update with field renaming and cleanup * feat(dashboard-render): improve dashboard loading logic and enhance error handling for filters Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * update vmware-esxi filter * update version vmware-esxi filter * feat(vmware-esxi-filter): add update for VMware ESXi filter with enhanced parsing and cleanup * feat[shared]: create shared dependencies * feat[installer]: remove mfa in dev environments * refactor[agent]: restructure collector, commands, and dependency management * chore[go-deps]: update golang dependencies * feat[agent]: add macOS build pipeline and standardize binary naming * refactor[agent]: sync updater with release/v11.2.3, remove legacy files * fix[plugins]: add missing skipTlsVerification param to DoReq calls * fix[ci]: correct macOS artifact paths in agent-manager build * fix[frontend](guides): update agent guides * fix(agent-manager): correct FilterScope to properly chain WHERE clauses and fix LIKE syntax * feat(agent): add shell selection for command execution and fix agent registration * fix(agent): download version.json during install before agent registration * fix(updater,frontend): add legacy binary migration and fix agent search filter * fix(agent): return errors from low-level packages instead of calling Fatal/Exit * refactor[agent](collector): use fsnotify for config changes instead of polling * feat(agent): add shell field to UtmCommand for enhanced command execution context * feat(fortinet): update fortinet filter * chore(cleanup): remove unused integrations (Redis, Nginx, PostgreSQL, Apache, MySQL, MongoDB, Elastic, Logstash, Kibana, Kafka, NATS, Traefik, Audit, HAP, IIS, OSQuery) * chore(cleanup): remove integrations (Redis, Nginx, PostgreSQL, Apache, MySQL, MongoDB, Elastic, Logstash, Kibana, Kafka, NATS, Traefik, Audit, HAP, IIS, OSQuery) * feat(logstash): enhance logstash stats retrieval with improved error handling and pipeline status management * fix(system_linux): update filter with enhanced JSON parsing and field normalization * feat(filter): add Linux filter update with enhanced JSON parsing and field normalization * feat(visualization): add update for Linux visualizations to normalize field names and improve dataset consistency * feat(windows): update windows filter * feat(saml): enhance SAML registration with improved error handling and environment variable validation * feat(saml): improve SAML provider loading with enhanced error handling and logging * feat(saml): enhance SAML provider loading with improved error handling and logging * feat(correlation): add updates for winevent correlation rules * feat(winevent): add updates for winevent correlation rules and filter * feat(winevent): update filter version and rename log fields for improved clarity * feat(visualizations): update Windows visualizations to align with logstash filter v3.1.0 field transformations * feat(import): disable back button during loading and fix spacing in upload error message Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(idp): enhance metadata URL validation with improved error handling and encryption key checks * feat(idp): refactor encryption key handling with dedicated validation method * feat(saml): implement SAML metadata fetching and provider loading with timeout handling * feat(saml): enhance SAML2 login success handling with improved user not found logging and provider reloading * feat(saml): update host retrieval in SAML2 login success handler to use X-Forwarded-Host header * feat(saml): refactor SAML metadata fetching to improve error handling and registration building * feat(platforms): enhance platform creation with additional Linux ARM64 support and update Windows service paths Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * fix(config): detect filter and rule deletions by tracking active row counts hasChanges only checked MAX(timestamp) increases, missing deletions where the timestamp didn't advance. Now also compares COUNT of active rows so deactivations and hard deletes trigger config file regeneration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Update go-sdk dependency across multiple plugins * feat(logstash): integrate Monaco Editor for YAML filter definition and enhance form styling Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: update filter card interaction to improve usability Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(rule-view): integrate Monaco Editor for YAML editing and enhance styling Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: update Windows service paths for UTMStack agent Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(db): add unique constraint on asset_name in utm_tenant_config table * feat(tenant-config): add findByAssetName method to retrieve UtmTenantConfig by asset name * feat(data-input-status): add methods to retrieve data input status by source and build sources list from tenant config * feat(data-input-status): add methods to retrieve data input status by source and build sources list from tenant config * feat(data-input-status): add methods to retrieve data input status by source and build sources list from tenant config * feat(data-input-status): add methods to retrieve data input status by source and build sources list from tenant config * feat(data-input-status): add alias column and update logic for data input status * feat: remove alert from addTag function in fields-selector component Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * fix: deprecate enable parameter in TFA section Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat(.gitignore): add .env file to ignore list * fix: update winevent correlation rules * fix: update winevent correlation rules * fix: update bit-defender correlation rules * fix: update deceptive-bytes correlation rules * fix: update eset correlation rules * fix: update kaspersky correlation rules * fix: update cisco-asa correlation rules * fix: update cisco-switch correlation rules * fix: update cisco-firepower correlation rules * fix: update cisco-meraki correlation rules * fix: update cisco-meraki correlation rules * fix: update aws correlation rules * fix: update azure correlation rules * fix: update google correlation rules * feat: add crowdstrike correlation rules * feat: add crowdstrike correlation rules * refactor(rule-view): move and rename rule-view component files Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: add crowdstrike correlation rules * feat: implement asset synchronization service and source activity provider * feat: add data source validation service for critical data sources * refactor(asset-sync): rename sync method and improve logging messages * fix(filters): correct IP and hostname field mapping in Windows events * feat(filters): enhance Fortinet field mapping and cleanup * fix(agent): use net.ListenPacket for UDP port binding check net.Listen only supports TCP, causing all UDP integrations to fail with "port already in use by another process" error. Now using net.ListenPacket for UDP protocol validation. * feat(macos): update filter to version 3.0.1 and rename fields for consistency * feat: enhance asset synchronization by resolving asset names from tenant configuration * fix: update fortigate and windows filter * feat: enhance configuration saving logic with support for multiple groups Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * fix(asset-sync): adjust scheduling parameters for data synchronization * feat: add logging to ElasticsearchService for better error tracking and index existence checks * feat: improve source activity fetching and error handling in SourceActivityProvider * feat: refactor asset synchronization logic and enhance data source aggregation * feat: refactor asset synchronization logic and enhance data source aggregation * feat(filters): enhance fortinet field mapping * fix: adjust infinite scroll throttle for improved performance Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> * feat: enhance asset processing by separating network asset name and IP mapping * feat: enhance asset processing by separating network asset name and IP mapping * feat: enhance asset processing by separating network asset name and IP mapping --------- Signed-off-by: Manuel Abascal <mjabascal10@gmail.com> Co-authored-by: JocLRojas <joc.l.rojas02@gmail.com> Co-authored-by: Yadian Llada Lopez <yadian.llada@gmail.com> Co-authored-by: Yorjander Hernandez Vergara <yorjaKbayero@gmail.com> Co-authored-by: Osmany Montero <osmontero@icloud.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 1d23339 commit 757ecc7

File tree

340 files changed

+31328
-7006
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

340 files changed

+31328
-7006
lines changed

.github/workflows/v11-deployment-pipeline.yml

Lines changed: 168 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -130,62 +130,177 @@ jobs:
130130
- name: Check out code into the right branch
131131
uses: actions/checkout@v4
132132

133-
- name: Build Linux Binaries
133+
- name: Build Linux Binaries (amd64)
134134
env:
135135
GOOS: linux
136136
GOARCH: amd64
137137
run: |
138138
cd ${{ github.workspace }}/agent
139-
go build -o utmstack_agent_service -v -ldflags "-X 'github.com/utmstack/UTMStack/agent/config.REPLACE_KEY=${{ secrets.AGENT_SECRET_PREFIX }}'" .
139+
go build -o utmstack_agent_service_linux_amd64 -v -ldflags "-X 'github.com/utmstack/UTMStack/agent/config.REPLACE_KEY=${{ secrets.AGENT_SECRET_PREFIX }}'" .
140140
141141
cd ${{ github.workspace }}/agent/updater
142-
go build -o utmstack_updater_service .
142+
go build -o utmstack_updater_service_linux_amd64 .
143+
144+
- name: Build Linux Binaries (arm64)
145+
env:
146+
GOOS: linux
147+
GOARCH: arm64
148+
run: |
149+
cd ${{ github.workspace }}/agent
150+
go build -o utmstack_agent_service_linux_arm64 -v -ldflags "-X 'github.com/utmstack/UTMStack/agent/config.REPLACE_KEY=${{ secrets.AGENT_SECRET_PREFIX }}'" .
151+
152+
cd ${{ github.workspace }}/agent/updater
153+
go build -o utmstack_updater_service_linux_arm64 .
143154
144155
- name: Build Windows Binaries (amd64)
145156
env:
146157
GOOS: windows
147158
GOARCH: amd64
148159
run: |
149160
cd ${{ github.workspace }}/agent
150-
go build -o utmstack_agent_service.exe -v -ldflags "-X 'github.com/utmstack/UTMStack/agent/config.REPLACE_KEY=${{ secrets.AGENT_SECRET_PREFIX }}'" .
161+
go build -o utmstack_agent_service_windows_amd64.exe -v -ldflags "-X 'github.com/utmstack/UTMStack/agent/config.REPLACE_KEY=${{ secrets.AGENT_SECRET_PREFIX }}'" .
151162
152163
cd ${{ github.workspace }}/agent/updater
153-
go build -o utmstack_updater_service.exe .
164+
go build -o utmstack_updater_service_windows_amd64.exe .
154165
155166
- name: Build Windows Binaries (arm64)
156167
env:
157168
GOOS: windows
158169
GOARCH: arm64
159170
run: |
160171
cd ${{ github.workspace }}/agent
161-
go build -o utmstack_agent_service_arm64.exe -v -ldflags "-X 'github.com/utmstack/UTMStack/agent/config.REPLACE_KEY=${{ secrets.AGENT_SECRET_PREFIX }}'" .
172+
go build -o utmstack_agent_service_windows_arm64.exe -v -ldflags "-X 'github.com/utmstack/UTMStack/agent/config.REPLACE_KEY=${{ secrets.AGENT_SECRET_PREFIX }}'" .
162173
163174
cd ${{ github.workspace }}/agent/updater
164-
go build -o utmstack_updater_service_arm64.exe .
175+
go build -o utmstack_updater_service_windows_arm64.exe .
165176
166177
- name: Sign Windows Agents
167178
run: |
168179
cd ${{ github.workspace }}/agent
169-
signtool sign /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /f "${{ vars.SIGN_CERT }}" /csp "eToken Base Cryptographic Provider" /k "[{{${{ secrets.SIGN_KEY }}}}]=${{ secrets.SIGN_CONTAINER }}" "utmstack_agent_service.exe"
170-
signtool sign /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /f "${{ vars.SIGN_CERT }}" /csp "eToken Base Cryptographic Provider" /k "[{{${{ secrets.SIGN_KEY }}}}]=${{ secrets.SIGN_CONTAINER }}" "utmstack_agent_service_arm64.exe"
180+
signtool sign /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /f "${{ vars.SIGN_CERT }}" /csp "eToken Base Cryptographic Provider" /k "[{{${{ secrets.SIGN_KEY }}}}]=${{ secrets.SIGN_CONTAINER }}" "utmstack_agent_service_windows_amd64.exe"
181+
signtool sign /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /f "${{ vars.SIGN_CERT }}" /csp "eToken Base Cryptographic Provider" /k "[{{${{ secrets.SIGN_KEY }}}}]=${{ secrets.SIGN_CONTAINER }}" "utmstack_agent_service_windows_arm64.exe"
171182
172183
cd ${{ github.workspace }}/agent/updater
173-
signtool sign /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /f "${{ vars.SIGN_CERT }}" /csp "eToken Base Cryptographic Provider" /k "[{{${{ secrets.SIGN_KEY }}}}]=${{ secrets.SIGN_CONTAINER }}" "utmstack_updater_service.exe"
174-
signtool sign /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /f "${{ vars.SIGN_CERT }}" /csp "eToken Base Cryptographic Provider" /k "[{{${{ secrets.SIGN_KEY }}}}]=${{ secrets.SIGN_CONTAINER }}" "utmstack_updater_service_arm64.exe"
184+
signtool sign /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /f "${{ vars.SIGN_CERT }}" /csp "eToken Base Cryptographic Provider" /k "[{{${{ secrets.SIGN_KEY }}}}]=${{ secrets.SIGN_CONTAINER }}" "utmstack_updater_service_windows_amd64.exe"
185+
signtool sign /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /f "${{ vars.SIGN_CERT }}" /csp "eToken Base Cryptographic Provider" /k "[{{${{ secrets.SIGN_KEY }}}}]=${{ secrets.SIGN_CONTAINER }}" "utmstack_updater_service_windows_arm64.exe"
175186
176187
- name: Upload signed binaries as artifacts
177188
uses: actions/upload-artifact@v4
178189
with:
179190
name: signed-agents
180191
path: |
181-
${{ github.workspace }}/agent/utmstack_agent_service
182-
${{ github.workspace }}/agent/utmstack_agent_service.exe
183-
${{ github.workspace }}/agent/utmstack_agent_service_arm64.exe
184-
${{ github.workspace }}/agent/updater/utmstack_updater_service
185-
${{ github.workspace }}/agent/updater/utmstack_updater_service.exe
186-
${{ github.workspace }}/agent/updater/utmstack_updater_service_arm64.exe
192+
${{ github.workspace }}/agent/utmstack_agent_service_linux_amd64
193+
${{ github.workspace }}/agent/utmstack_agent_service_linux_arm64
194+
${{ github.workspace }}/agent/utmstack_agent_service_windows_amd64.exe
195+
${{ github.workspace }}/agent/utmstack_agent_service_windows_arm64.exe
196+
${{ github.workspace }}/agent/updater/utmstack_updater_service_linux_amd64
197+
${{ github.workspace }}/agent/updater/utmstack_updater_service_linux_arm64
198+
${{ github.workspace }}/agent/updater/utmstack_updater_service_windows_amd64.exe
199+
${{ github.workspace }}/agent/updater/utmstack_updater_service_windows_arm64.exe
187200
retention-days: 1
188-
201+
202+
build_agent_darwin:
203+
name: Build and Sign Agent (macOS)
204+
needs: [setup_deployment]
205+
if: ${{ needs.setup_deployment.outputs.tag != '' }}
206+
runs-on: macos-latest
207+
steps:
208+
- name: Check out code
209+
uses: actions/checkout@v4
210+
211+
- name: Set up Go
212+
uses: actions/setup-go@v5
213+
with:
214+
go-version: '1.23'
215+
216+
- name: Install Apple Certificate
217+
env:
218+
CERTIFICATE_BASE64: ${{ secrets.APPLE_CERTIFICATE_BASE64 }}
219+
CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
220+
run: |
221+
# Create temporary keychain
222+
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
223+
KEYCHAIN_PASSWORD=$(openssl rand -base64 32)
224+
225+
security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
226+
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
227+
security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
228+
229+
# Import certificate
230+
echo "$CERTIFICATE_BASE64" | base64 --decode > $RUNNER_TEMP/certificate.p12
231+
security import $RUNNER_TEMP/certificate.p12 -P "$CERTIFICATE_PASSWORD" \
232+
-A -t cert -f pkcs12 -k $KEYCHAIN_PATH
233+
security list-keychain -d user -s $KEYCHAIN_PATH
234+
235+
# Allow codesign without prompt
236+
security set-key-partition-list -S apple-tool:,apple:,codesign: \
237+
-s -k "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
238+
239+
- name: Build macOS Agent (arm64)
240+
env:
241+
GOOS: darwin
242+
GOARCH: arm64
243+
CGO_ENABLED: 0
244+
run: |
245+
cd ${{ github.workspace }}/agent
246+
go build -o utmstack_agent_service_darwin_arm64 -v \
247+
-ldflags "-X 'github.com/utmstack/UTMStack/agent/config.REPLACE_KEY=${{ secrets.AGENT_SECRET_PREFIX }}'" .
248+
249+
cd ${{ github.workspace }}/agent/updater
250+
go build -o utmstack_updater_service_darwin_arm64 .
251+
252+
- name: Sign macOS Binaries
253+
env:
254+
SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
255+
run: |
256+
# Sign agent
257+
codesign --force --options runtime \
258+
--sign "$SIGNING_IDENTITY" \
259+
--timestamp \
260+
${{ github.workspace }}/agent/utmstack_agent_service_darwin_arm64
261+
262+
# Sign updater
263+
codesign --force --options runtime \
264+
--sign "$SIGNING_IDENTITY" \
265+
--timestamp \
266+
${{ github.workspace }}/agent/updater/utmstack_updater_service_darwin_arm64
267+
268+
- name: Notarize macOS Binaries
269+
env:
270+
APPLE_ID: ${{ secrets.APPLE_ID }}
271+
APPLE_APP_PASSWORD: ${{ secrets.APPLE_APP_PASSWORD }}
272+
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
273+
run: |
274+
# Create zip for notarization (notarytool requires zip/pkg/dmg)
275+
cd ${{ github.workspace }}/agent
276+
zip utmstack_agent_darwin_arm64.zip utmstack_agent_service_darwin_arm64
277+
278+
cd ${{ github.workspace }}/agent/updater
279+
zip utmstack_updater_darwin_arm64.zip utmstack_updater_service_darwin_arm64
280+
281+
# Notarize agent
282+
xcrun notarytool submit ${{ github.workspace }}/agent/utmstack_agent_darwin_arm64.zip \
283+
--apple-id "$APPLE_ID" \
284+
--password "$APPLE_APP_PASSWORD" \
285+
--team-id "$APPLE_TEAM_ID" \
286+
--wait
287+
288+
# Notarize updater
289+
xcrun notarytool submit ${{ github.workspace }}/agent/updater/utmstack_updater_darwin_arm64.zip \
290+
--apple-id "$APPLE_ID" \
291+
--password "$APPLE_APP_PASSWORD" \
292+
--team-id "$APPLE_TEAM_ID" \
293+
--wait
294+
295+
- name: Upload macOS binaries as artifacts
296+
uses: actions/upload-artifact@v4
297+
with:
298+
name: signed-agents-darwin
299+
path: |
300+
${{ github.workspace }}/agent/utmstack_agent_service_darwin_arm64
301+
${{ github.workspace }}/agent/updater/utmstack_updater_service_darwin_arm64
302+
retention-days: 1
303+
189304
build_utmstack_collector:
190305
name: Build UTMStack Collector
191306
needs: [setup_deployment]
@@ -211,8 +326,8 @@ jobs:
211326

212327
build_agent_manager:
213328
name: Build Agent Manager Microservice
214-
needs: [build_agent, build_utmstack_collector, setup_deployment]
215-
if: ${{ always() && needs.build_agent.result == 'success' && needs.build_utmstack_collector.result == 'success' && needs.setup_deployment.outputs.tag != '' }}
329+
needs: [build_agent, build_agent_darwin, build_utmstack_collector, setup_deployment]
330+
if: ${{ always() && needs.build_agent.result == 'success' && needs.build_agent_darwin.result == 'success' && needs.build_utmstack_collector.result == 'success' && needs.setup_deployment.outputs.tag != '' }}
216331
runs-on: ubuntu-24.04
217332
steps:
218333
- name: Check out code into the right branch
@@ -230,6 +345,12 @@ jobs:
230345
name: utmstack-collector
231346
path: ${{ github.workspace }}/utmstack-collector
232347

348+
- name: Download signed macOS agents from artifacts
349+
uses: actions/download-artifact@v4
350+
with:
351+
name: signed-agents-darwin
352+
path: ${{ github.workspace }}/agent-darwin
353+
233354
- name: Prepare dependencies for Agent Manager Image
234355
run: |
235356
cd ${{ github.workspace }}/agent-manager
@@ -243,17 +364,33 @@ jobs:
243364
cp "${{ github.workspace }}/utmstack-collector/version.json" ./dependencies/collector/
244365
245366
mkdir -p ./dependencies/agent/
246-
curl -sSL "https://storage.googleapis.com/utmstack-updates/dependencies/agent/utmstack_agent_dependencies_linux.zip" -o ./dependencies/agent/utmstack_agent_dependencies_linux.zip
247-
curl -sSL "https://storage.googleapis.com/utmstack-updates/dependencies/agent/utmstack_agent_dependencies_windows.zip" -o ./dependencies/agent/utmstack_agent_dependencies_windows.zip
248-
curl -sSL "https://storage.googleapis.com/utmstack-updates/dependencies/agent/utmstack_agent_dependencies_windows_arm64.zip" -o ./dependencies/agent/utmstack_agent_dependencies_windows_arm64.zip
249-
curl -sSL "https://storage.googleapis.com/utmstack-updates/dependencies/agent/utmstack-macos-agent-v10.pkg" -o ./dependencies/agent/utmstack-macos-agent.pkg
250-
251-
cp "${{ github.workspace }}/agent/utmstack_agent_service" ./dependencies/agent/
252-
cp "${{ github.workspace }}/agent/utmstack_agent_service.exe" ./dependencies/agent/
253-
cp "${{ github.workspace }}/agent/utmstack_agent_service_arm64.exe" ./dependencies/agent/
254-
cp "${{ github.workspace }}/agent/updater/utmstack_updater_service" ./dependencies/agent/
255-
cp "${{ github.workspace }}/agent/updater/utmstack_updater_service.exe" ./dependencies/agent/
256-
cp "${{ github.workspace }}/agent/updater/utmstack_updater_service_arm64.exe" ./dependencies/agent/
367+
368+
# Linux agents
369+
cp "${{ github.workspace }}/agent/utmstack_agent_service_linux_amd64" ./dependencies/agent/
370+
cp "${{ github.workspace }}/agent/utmstack_agent_service_linux_arm64" ./dependencies/agent/
371+
cp "${{ github.workspace }}/agent/updater/utmstack_updater_service_linux_amd64" ./dependencies/agent/
372+
cp "${{ github.workspace }}/agent/updater/utmstack_updater_service_linux_arm64" ./dependencies/agent/
373+
374+
# Windows agents
375+
cp "${{ github.workspace }}/agent/utmstack_agent_service_windows_amd64.exe" ./dependencies/agent/
376+
cp "${{ github.workspace }}/agent/utmstack_agent_service_windows_arm64.exe" ./dependencies/agent/
377+
cp "${{ github.workspace }}/agent/updater/utmstack_updater_service_windows_amd64.exe" ./dependencies/agent/
378+
cp "${{ github.workspace }}/agent/updater/utmstack_updater_service_windows_arm64.exe" ./dependencies/agent/
379+
380+
# macOS agents (signed and notarized)
381+
cp "${{ github.workspace }}/agent-darwin/utmstack_agent_service_darwin_arm64" ./dependencies/agent/
382+
cp "${{ github.workspace }}/agent-darwin/updater/utmstack_updater_service_darwin_arm64" ./dependencies/agent/
383+
curl -sSL "https://storage.googleapis.com/utmstack-updates/agent_updates/release/macos-agent/latest/utmstack-collector-mac" -o ./dependencies/agent/utmstack-collector-mac
384+
385+
# TODO: Remove legacy binary names after all agents have migrated to new naming convention
386+
# Legacy names for backwards compatibility with existing agents
387+
cp "${{ github.workspace }}/agent/utmstack_agent_service_linux_amd64" ./dependencies/agent/utmstack_agent_service
388+
cp "${{ github.workspace }}/agent/updater/utmstack_updater_service_linux_amd64" ./dependencies/agent/utmstack_updater_service
389+
cp "${{ github.workspace }}/agent/utmstack_agent_service_windows_amd64.exe" ./dependencies/agent/utmstack_agent_service.exe
390+
cp "${{ github.workspace }}/agent/updater/utmstack_updater_service_windows_amd64.exe" ./dependencies/agent/utmstack_updater_service.exe
391+
cp "${{ github.workspace }}/agent/utmstack_agent_service_windows_arm64.exe" ./dependencies/agent/utmstack_agent_service_arm64.exe
392+
cp "${{ github.workspace }}/agent/updater/utmstack_updater_service_windows_arm64.exe" ./dependencies/agent/utmstack_updater_service_arm64.exe
393+
257394
cp "${{ github.workspace }}/agent/version.json" ./dependencies/agent/
258395
259396
- name: Login to GitHub Container Registry

0 commit comments

Comments
 (0)