mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-02-18 23:41:48 +01:00
37 lines
1.1 KiB
Bash
Executable File
37 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Simple helper that spins up a local Dex server to act as a mock OIDC provider for dev/testing.
|
|
# Requires Docker. The container exposes the issuer on http://127.0.0.1:5556/dex
|
|
# and registers a static client `pulse-dev` with secret `pulse-secret`.
|
|
|
|
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
CONFIG_FILE="$PROJECT_ROOT/dev/oidc/dex-config.yaml"
|
|
CONTAINER_NAME="pulse-oidc-mock"
|
|
DEX_IMAGE="ghcr.io/dexidp/dex:v2.38.0"
|
|
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
echo "docker is required to run the mock OIDC provider" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f "$CONFIG_FILE" ]; then
|
|
echo "missing Dex config at $CONFIG_FILE" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Stop an existing container if it is already running
|
|
if docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
|
|
echo "Stopping existing ${CONTAINER_NAME} container..."
|
|
docker rm -f "$CONTAINER_NAME" >/dev/null
|
|
fi
|
|
|
|
echo "Starting Dex mock OIDC provider on http://127.0.0.1:5556/dex"
|
|
docker run \
|
|
--rm \
|
|
--name "$CONTAINER_NAME" \
|
|
-p 5556:5556 \
|
|
-v "$CONFIG_FILE:/etc/dex/config.yaml:ro" \
|
|
"$DEX_IMAGE" \
|
|
dex serve /etc/dex/config.yaml
|