Skip to content

Commit 13d1c1d

Browse files
committed
chore: redact _artifacts tokens
1 parent ed899a7 commit 13d1c1d

5 files changed

Lines changed: 68 additions & 0 deletions

File tree

.github/workflows/e2e-biweekly.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ jobs:
3333
TAG: e2e-conformance-${{ github.sha }}
3434
run: make test-e2e-conformance
3535

36+
- name: Redact secrets from artifacts
37+
if: always()
38+
env:
39+
CLOUDSCALE_API_TOKEN: ${{ secrets.CLOUDSCALE_API_TOKEN }}
40+
run: hack/log/redact.sh || true
41+
3642
- name: Upload test artifacts
3743
if: always()
3844
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0

.github/workflows/e2e-nightly.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ jobs:
3333
TAG: e2e-nightly-${{ github.sha }}
3434
run: make test-e2e-lifecycle
3535

36+
- name: Redact secrets from artifacts
37+
if: always()
38+
env:
39+
CLOUDSCALE_API_TOKEN: ${{ secrets.CLOUDSCALE_API_TOKEN }}
40+
run: hack/log/redact.sh || true
41+
3642
- name: Upload test artifacts
3743
if: always()
3844
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0

.github/workflows/e2e-weekly.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ jobs:
5353
-H "Authorization: Bearer ${QUAY_E2E_TOKEN}" \
5454
"https://quay.io/api/v1/repository/cloudscalech/capcs-staging/tag/${TAG}"
5555
56+
- name: Redact secrets from artifacts
57+
if: always()
58+
env:
59+
CLOUDSCALE_API_TOKEN: ${{ secrets.CLOUDSCALE_API_TOKEN }}
60+
run: hack/log/redact.sh || true
61+
5662
- name: Upload test artifacts
5763
if: always()
5864
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0

.github/workflows/test-e2e.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ jobs:
6969
-H "Authorization: Bearer ${QUAY_E2E_TOKEN}" \
7070
"https://quay.io/api/v1/repository/cloudscalech/capcs-staging/tag/${TAG}"
7171
72+
- name: Redact secrets from artifacts
73+
if: always()
74+
env:
75+
CLOUDSCALE_API_TOKEN: ${{ secrets.CLOUDSCALE_API_TOKEN }}
76+
run: hack/log/redact.sh || true
77+
7278
- name: Upload test artifacts
7379
if: always()
7480
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0

hack/log/redact.sh

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright 2026 cloudscale.ch.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
set -o errexit
18+
set -o nounset
19+
set -o pipefail
20+
21+
echo "================ REDACTING LOGS ================"
22+
# shellcheck disable=SC2207
23+
log_files=($(find "${ARTIFACTS:-${PWD}/_artifacts}" -type f))
24+
redact_vars=(
25+
"${CLOUDSCALE_API_TOKEN:-}"
26+
"$(echo -n "${CLOUDSCALE_API_TOKEN:-}" | base64 | tr -d '\n')"
27+
)
28+
29+
for log_file in "${log_files[@]}"; do
30+
for redact_var in "${redact_vars[@]}"; do
31+
if [ -z "${redact_var}" ]; then
32+
continue
33+
fi
34+
# LC_CTYPE=C and LANG=C will prevent "illegal byte sequence" error from sed
35+
if [[ "$(uname)" == "Darwin" ]]; then
36+
# sed on Mac OS requires an empty string for -i flag
37+
LC_CTYPE=C LANG=C sed -i "" "s|${redact_var}|===REDACTED===|g" "${log_file}" &>/dev/null || true
38+
else
39+
LC_CTYPE=C LANG=C sed -i "s|${redact_var}|===REDACTED===|g" "${log_file}" &>/dev/null || true
40+
fi
41+
done
42+
done
43+
44+
echo "All sensitive variables are redacted"

0 commit comments

Comments
 (0)