Summary
This PR updates the GC log-fetcher (gc-logs) dependency retrieval to stop pinning to the dev branch. The installer and documentation currently clone gc-logs from -b dev, which can lead to installing an outdated CLI (e.g., 0.0.2) even though newer versions (e.g., 0.0.7) are available on main. This mismatch can cause authentication failures (403 “Request does not contain an access token”) when ULS runs the underlying CLI.
Background / Problem
- ULS integrates external CLIs via
git clone + pip install -r ....
- For Guardicore logs (gc-logs), we currently use:
git clone ... -b dev ...
- In practice,
dev can lag behind the repository’s latest changes and tags, resulting in older gc-agent versions being installed and breaking authentication flows.
Changes
- Update
get-uls.sh (or any equivalent bootstrap script) to clone gc-logs from main (or repo default branch) instead of dev.
- Update documentation to reflect the same change:
- docs/COMMAND_LINE_USAGE.md
Files/Locations to update
Proposed patch (example)
Guardicore Log-fetcher (beta)
Replace:
git clone -q --depth 1 -b dev --single-branch https://github.com/MikeSchiessl/gc-logs.git ext/cli-gc && \
With either of the following:
Option A (explicit main):
git clone -q --depth 1 -b main --single-branch https://github.com/MikeSchiessl/gc-logs.git ext/cli-gc && \
Option B (repo default branch):
git clone -q --depth 1 --single-branch https://github.com/MikeSchiessl/gc-logs.git ext/cli-gc && \
Additional note (related occurrences)
The same pattern also appears for other “dev” pinned fetchers in COMMAND_LINE_USAGE.md:
- Linode Log fetcher: ln-logs (currently
-b dev)
- Akamai Control Center Events: acc-logs (currently
-b dev)
This PR focuses on gc-logs, but it may be worth aligning ln-logs and acc-logs similarly if their default branches are also the source of the latest fixes.
Testing
- Fresh install using updated script, verify gc-agent version is the expected recent version.
- Run ULS with
--input gc --feed netlog and confirm authentication succeeds (no repeated 403 “no access token”).
- Verify other inputs/outputs are unaffected.
Rationale
dev-branch pinning is brittle and may not track the released/fixed code path.
- Cloning from
main (or the default branch) ensures the latest fixes are pulled consistently.
Summary
This PR updates the GC log-fetcher (gc-logs) dependency retrieval to stop pinning to the
devbranch. The installer and documentation currently clonegc-logsfrom-b dev, which can lead to installing an outdated CLI (e.g., 0.0.2) even though newer versions (e.g., 0.0.7) are available onmain. This mismatch can cause authentication failures (403 “Request does not contain an access token”) when ULS runs the underlying CLI.Background / Problem
git clone+pip install -r ....git clone ... -b dev ...devcan lag behind the repository’s latest changes and tags, resulting in older gc-agent versions being installed and breaking authentication flows.Changes
get-uls.sh(or any equivalent bootstrap script) to clone gc-logs frommain(or repo default branch) instead ofdev.Files/Locations to update
https://github.com/akamai/uls/blob/main/scripts/get-uls.sh
https://github.com/akamai/uls/blob/main/docs/COMMAND_LINE_USAGE.md
Proposed patch (example)
Guardicore Log-fetcher (beta)
Replace:
git clone -q --depth 1 -b dev --single-branch https://github.com/MikeSchiessl/gc-logs.git ext/cli-gc && \With either of the following:
Option A (explicit main):
git clone -q --depth 1 -b main --single-branch https://github.com/MikeSchiessl/gc-logs.git ext/cli-gc && \Option B (repo default branch):
git clone -q --depth 1 --single-branch https://github.com/MikeSchiessl/gc-logs.git ext/cli-gc && \Additional note (related occurrences)
The same pattern also appears for other “dev” pinned fetchers in COMMAND_LINE_USAGE.md:
-b dev)-b dev)This PR focuses on gc-logs, but it may be worth aligning ln-logs and acc-logs similarly if their default branches are also the source of the latest fixes.
Testing
--input gc --feed netlogand confirm authentication succeeds (no repeated 403 “no access token”).Rationale
dev-branch pinning is brittle and may not track the released/fixed code path.main(or the default branch) ensures the latest fixes are pulled consistently.