feat: let administrators view and copy encrypted integration credentials
This commit is contained in:
@@ -46,6 +46,13 @@ E2E_APPLICATION="console-e2e-$E2E_SUFFIX"
|
||||
E2E_ADMIN="orbit-admin-$E2E_SUFFIX"
|
||||
printf '%s\n' "$E2E_CONSOLE_PASSWORD" > "$E2E_PASSWORD_FILE"
|
||||
|
||||
python3 - "$E2E_DIR/credential-keys.json" <<'PY_KEY'
|
||||
import base64, json, pathlib, secrets, sys
|
||||
path = pathlib.Path(sys.argv[1])
|
||||
path.write_text(json.dumps({'active':'test-v1', 'keys':{'test-v1':base64.b64encode(secrets.token_bytes(32)).decode()}}))
|
||||
path.chmod(0o600)
|
||||
PY_KEY
|
||||
|
||||
printf '%s\n' "[1/8] build image"
|
||||
"$E2E_DOCKER" build --tag "$E2E_IMAGE" . >/dev/null
|
||||
"$E2E_DOCKER" run -d --name "$E2E_MYSQL" --network bridge \
|
||||
@@ -76,6 +83,7 @@ printf '%s\n' "[3/8] bootstrap resources and console administrator"
|
||||
"$E2E_DOCKER" run --rm -i --network bridge --link "$E2E_MYSQL:mysql" \
|
||||
--env ORBIT_MYSQL_DSN="$E2E_DSN" \
|
||||
--volume "$E2E_DIR:/run/orbit" \
|
||||
--env ORBIT_CREDENTIAL_KEY_FILE=/run/orbit/credential-keys.json \
|
||||
--entrypoint /usr/local/bin/orbit-admin "$E2E_IMAGE" bootstrap \
|
||||
--application "$E2E_APPLICATION" \
|
||||
--namespace default \
|
||||
@@ -87,6 +95,7 @@ printf '%s\n' "[3/8] bootstrap resources and console administrator"
|
||||
--console-display-name 'Orbit E2E 管理员' \
|
||||
--console-password-stdin \
|
||||
--output /run/orbit/credentials.json < "$E2E_PASSWORD_FILE" >/dev/null
|
||||
"$E2E_DOCKER" run --rm --user 0:0 --volume "$E2E_DIR:/run/orbit" --entrypoint /bin/sh mysql:8.4 -c 'chown 65532:65532 /run/orbit/credential-keys.json'
|
||||
E2E_QUEUE=$(python3 - "$E2E_CREDENTIALS_FILE" <<'PY'
|
||||
import json
|
||||
import sys
|
||||
@@ -107,6 +116,8 @@ printf '%s\n' "[4/8] start Orbit container"
|
||||
--env ORBIT_HTTP_ADDR=0.0.0.0:8080 \
|
||||
--env ORBIT_CONSOLE_QUEUE_ID="$E2E_QUEUE" \
|
||||
--env ORBIT_CONSOLE_APPLICATION_ADMIN="$E2E_ADMIN" \
|
||||
--env ORBIT_CREDENTIAL_KEY_FILE=/run/credential-keys.json \
|
||||
--volume "$E2E_DIR/credential-keys.json:/run/credential-keys.json:ro" \
|
||||
--env ORBIT_ARCHIVE_ROOT=/var/lib/orbit/archive \
|
||||
--env ORBIT_ARCHIVE_STORAGE_ID="$E2E_STORAGE_ID" \
|
||||
--env ORBIT_ARCHIVE_TICK_INTERVAL=1s \
|
||||
|
||||
Reference in New Issue
Block a user