Skip to main content

Agent for integrating service provider's site with Waldur Mastermind.

Project description

Waldur Site Agent

A stateless Python application that synchronizes data between Waldur Mastermind and service provider backends. Manages account creation, usage reporting, and membership synchronization across different cluster management systems.

Architecture

The agent uses a uv workspace architecture with pluggable backends:

  • Core Package: waldur-site-agent (base classes, common utilities)
  • Plugin Packages: Standalone backend implementations under plugins/ (see table below)

Agent Modes

  • order_process: Fetches orders from Waldur and manages backend resources
  • report: Reports usage data from backend to Waldur
  • membership_sync: Synchronizes user memberships
  • event_process: Event-based processing using STOMP

Usage

waldur_site_agent -m <mode> -c <config-file>

Logging

The agent emits structured logs in JSON format to stdout. This applies to both the core agent and CLI tools.

Example log entry:

{"event": "Running agent in order_process mode", "level": "info", "logger": "waldur_site_agent.backend", "timestamp": "2026-02-03T14:02:35.551020+00:00"}

CLI Arguments

  • -m, --mode: Agent mode (order_process, report, membership_sync, event_process)
  • -c, --config-file: Path to configuration file

Environment Variables

  • WALDUR_SITE_AGENT_ORDER_PROCESS_PERIOD_MINUTES: Order processing period (default: 5)
  • WALDUR_SITE_AGENT_REPORT_PERIOD_MINUTES: Reporting period (default: 30)
  • WALDUR_SITE_AGENT_MEMBERSHIP_SYNC_PERIOD_MINUTES: Membership sync period (default: 5)
  • SENTRY_ENVIRONMENT: Sentry environment name

Development

# Install dependencies
uv sync --all-packages

# Run tests
uv run pytest

# Format and lint code
uvx prek run --all-files

# Load components into Waldur
waldur_site_load_components -c <config-file>

Releasing

./scripts/release.sh 0.10.0
# Review the commit, then push:
git push origin main --tags

See the Releasing Guide for details on version bumping, changelog generation, and what CI does after you push.

Documentation

Plugins

Plugin Description
basic_username_management Basic username management plugin
croit-s3 Croit S3 storage plugin
cscs-dwdi CSCS-DWDI reporting plugin
digitalocean DigitalOcean plugin
harbor Harbor container registry plugin
k8s-ut-namespace Kubernetes UT ManagedNamespace plugin
keycloak-client Shared Keycloak client for Waldur Site Agent plugins
ldap LDAP plugin
moab MOAB plugin
mup MUP plugin
okd OKD/OpenShift plugin
opennebula OpenNebula VDC plugin
rancher Rancher plugin
rancher-kc-crd Rancher + Keycloak CRD-driven plugin
slurm SLURM plugin
waldur Waldur-to-Waldur federation plugin

License

MIT License - see LICENCE file for details.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

waldur_site_agent-1.0.5rc8.tar.gz (106.1 kB view details)

Uploaded Source

Built Distribution

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

waldur_site_agent-1.0.5rc8-py3-none-any.whl (129.1 kB view details)

Uploaded Python 3

File details

Details for the file waldur_site_agent-1.0.5rc8.tar.gz.

File metadata

  • Download URL: waldur_site_agent-1.0.5rc8.tar.gz
  • Upload date:
  • Size: 106.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for waldur_site_agent-1.0.5rc8.tar.gz
Algorithm Hash digest
SHA256 61ed267e43edddef1ee008adcd9f87c63de5314d327e5ef494726331f7596728
MD5 23738659cd70f6528acb1f05b2c6c173
BLAKE2b-256 abcfd4c22a88be98c2d6026bffb450f1b4fb5d6ec7309249ae8d6239786cd635

See more details on using hashes here.

File details

Details for the file waldur_site_agent-1.0.5rc8-py3-none-any.whl.

File metadata

  • Download URL: waldur_site_agent-1.0.5rc8-py3-none-any.whl
  • Upload date:
  • Size: 129.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for waldur_site_agent-1.0.5rc8-py3-none-any.whl
Algorithm Hash digest
SHA256 c89653cd6a8648dac56380d43b4a1951a963a00eb495215b5edb1cbee433d2cb
MD5 b40ab56ad29a7d5b4ad64752af4274ff
BLAKE2b-256 26de0c68d12c6bb24e43fd55673f12b3f16f606255078e6ca6fa1397d5204bcd

See more details on using hashes here.

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