Skip to main content

ARP STS Keycloak

Keycloak-based dev STS helper for the ARP Standard. This package provides a small CLI that writes a ready-to-run Keycloak docker compose file plus a preconfigured arp-dev realm with ARP clients.

Quick start

pip install arp-sts-keycloak
arp-sts-keycloak init --output ./arp-keycloak
cd ./arp-keycloak
docker compose up -d

Keycloak will be available at http://localhost:8080.

Default realm

The bundled realm is named arp-dev and includes the following clients:

  • arp-dev-cli (public client; device flow)
  • arp-daemon (client secret: arp-daemon-secret)
  • arp-runtime (client secret: arp-runtime-secret)
  • arp-tool-registry (client secret: arp-tool-registry-secret)
  • arp-run-gateway (client secret: arp-run-gateway-secret)
  • arp-run-coordinator (client secret: arp-run-coordinator-secret)
  • arp-composite-executor (client secret: arp-composite-executor-secret)
  • arp-atomic-executor (client secret: arp-atomic-executor-secret)
  • arp-node-registry (client secret: arp-node-registry-secret)
  • arp-selection-service (client secret: arp-selection-service-secret)
  • arp-pdp (client secret: arp-pdp-secret)

Each service client is configured for client-credentials flow and includes an audience mapper so the access token aud claim matches the client ID.

Additionally, arp-dev-cli is a public client configured for the OAuth device flow (RFC 8628). The default realm also seeds a dev user for the browser step:

  • username: dev
  • password: dev

Get a token (client credentials)

curl -sS \
  -X POST \
  http://localhost:8080/realms/arp-dev/protocol/openid-connect/token \
  -d 'grant_type=client_credentials' \
  -d 'client_id=arp-runtime' \
  -d 'client_secret=arp-runtime-secret'

Use the resulting access_token as Authorization: Bearer <token>.

Service configuration hints

  • Issuer: http://localhost:8080/realms/arp-dev
  • OIDC discovery: http://localhost:8080/realms/arp-dev/.well-known/openid-configuration
  • Audience: match the ARP service ID (for example arp-runtime)

Notes

  • This package is intended for local development and testing.
  • arp-sts-keycloak init writes two files: docker-compose.yml and realm-export.json.
  • Use --force to overwrite existing files.

Release files for arp-sts-keycloak 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arp-sts-keycloak 0.2.2
File Size Uploaded
arp_sts_keycloak-0.2.2.tar.gz 7.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arp-sts-keycloak 0.2.2
File Interpreter ABI Platform
arp_sts_keycloak-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size:14.1 kB

Release files / arp_sts_keycloak-0.2.2.tar.gz

Download URL arp_sts_keycloak-0.2.2.tar.gz
Size 7.0 kB
Tags Source
SHA-256 checksum
How to use checksums
655dc51a9166ef6d95afd834f585b463dc5a87b75ee81489f080ef8a84458dd4
BLAKE2b-256 checksum
How to use checksums
d68fccbde9aff51cd75cb3feae3c9771a639590e9025dd9c2f5fbec6e041e894
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 3, 2026.

Transparency log

Release files / arp_sts_keycloak-0.2.2-py3-none-any.whl

Download URL arp_sts_keycloak-0.2.2-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2491955fd65d02ba77407a1a78ec3566cdf13e852b19ec231c765e40e82efc70
BLAKE2b-256 checksum
How to use checksums
ccd5ccbf10344c0efde8770e16e7fa7a6325abc77385f2a2f6101aa6e0367d9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page