Skip to main content

Keycloak-based dev STS helper for the ARP Standard.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arp_sts_keycloak-0.2.2.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arp_sts_keycloak-0.2.2-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file arp_sts_keycloak-0.2.2.tar.gz.

File metadata

  • Download URL: arp_sts_keycloak-0.2.2.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for arp_sts_keycloak-0.2.2.tar.gz
Algorithm Hash digest
SHA256 655dc51a9166ef6d95afd834f585b463dc5a87b75ee81489f080ef8a84458dd4
MD5 42cf8db7b5ca73c455a96d068feea209
BLAKE2b-256 d68fccbde9aff51cd75cb3feae3c9771a639590e9025dd9c2f5fbec6e041e894

See more details on using hashes here.

Provenance

The following attestation bundles were made for arp_sts_keycloak-0.2.2.tar.gz:

Publisher: release.yml on AgentRuntimeProtocol/ARP_STS_KeyCloak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arp_sts_keycloak-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for arp_sts_keycloak-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2491955fd65d02ba77407a1a78ec3566cdf13e852b19ec231c765e40e82efc70
MD5 7a3c9a31fbc54134e68c445e1295d60b
BLAKE2b-256 ccd5ccbf10344c0efde8770e16e7fa7a6325abc77385f2a2f6101aa6e0367d9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for arp_sts_keycloak-0.2.2-py3-none-any.whl:

Publisher: release.yml on AgentRuntimeProtocol/ARP_STS_KeyCloak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page