Skip to content

Commit 7ecdf17

Browse files
committed
fix(ci): run every 0.1.44 service-account step with the unit environment
Activation resolves the DSN the same way Core does, so it needs the unit's environment file too. A shared runner sources that file as root and drops to the service account for both the seed and activation steps.
1 parent 19671d9 commit 7ecdf17

1 file changed

Lines changed: 16 additions & 13 deletions

File tree

‎scripts/ci/ordinary-server-upgrade-e2e.sh‎

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -630,17 +630,21 @@ finally:
630630
core.close()
631631
PY
632632
sudo install -o agentnet -g agentnet -m 0700 "$WORK/seed-released-state.py" /var/lib/agentnet/seed-released-state.py
633-
# Core resolves its DSN, OIDC secret, and envelope key from the same
634-
# environment file the unit loads. Source it as root, then drop to the service
635-
# account so no secret ever reaches argv or the job log.
636-
sudo bash -c '
637-
set -euo pipefail
638-
set -a
639-
. /etc/agentnet-secrets/core.env
640-
set +a
641-
exec setpriv --reuid=agentnet --regid=agentnet --init-groups \
642-
env PYTHONDONTWRITEBYTECODE=1 "$0" "$1"
643-
' "$PYTHON_0144" /var/lib/agentnet/seed-released-state.py >"$WORK/released-fixture.json"
633+
# Core resolves its DSN, OIDC secret, and envelope key from the environment
634+
# file the unit loads. Source it as root, then drop to the service account so
635+
# no secret ever reaches argv or the job log.
636+
run_as_core_service() {
637+
sudo bash -c '
638+
set -euo pipefail
639+
set -a
640+
. /etc/agentnet-secrets/core.env
641+
set +a
642+
exec setpriv --reuid=agentnet --regid=agentnet --init-groups \
643+
env PYTHONDONTWRITEBYTECODE=1 "$@"
644+
' bash "$@"
645+
}
646+
run_as_core_service "$PYTHON_0144" /var/lib/agentnet/seed-released-state.py \
647+
>"$WORK/released-fixture.json"
644648
sudo rm -f /var/lib/agentnet/seed-released-state.py
645649
HARNESS_ID="$(jq -r '.harness_id' "$WORK/released-fixture.json")"
646650
CREDENTIAL_ID="$(jq -r '.credential_id' "$WORK/released-fixture.json")"
@@ -653,8 +657,7 @@ SCOPE_ID="$(jq -r '.communication_scope_id' "$WORK/released-fixture.json")"
653657
[[ "$SCOPE_ID" == "scope-upgrade-e2e-v6" ]]
654658
sudo systemctl stop agentnet-core.service
655659
[[ "$(sudo systemctl show agentnet-core.service --property=ActiveState --value)" == "inactive" ]]
656-
sudo -u agentnet env PYTHONDONTWRITEBYTECODE=1 \
657-
"$AGENTNET_0144" server-agent activate \
660+
run_as_core_service "$AGENTNET_0144" server-agent activate \
658661
--config /var/lib/agentnet/agentnet.json \
659662
--identity /var/lib/agentnet/server-agent-identity.json >"$WORK/activate-0.1.44.json"
660663
jq -e --arg harness "$HARNESS_ID" --arg credential "$CREDENTIAL_ID" \

0 commit comments

Comments
 (0)