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.
The agent uses a uv workspace architecture with pluggable backends:
- Core Package:
waldur-site-agent(base classes, common utilities) - Plugin Packages: Standalone backend implementations
waldur-site-agent-slurm: SLURM clusterswaldur-site-agent-moab: MOAB clusterswaldur-site-agent-mup: MUP portalwaldur-site-agent-okd: OpenShift/OKD platformswaldur-site-agent-harbor: Harbor registrieswaldur-site-agent-croit-s3: Croit S3 storagewaldur-site-agent-cscs-dwdi: CSCS DWDI accountingwaldur-site-agent-basic-username-management: Username management
order_process: Fetches orders from Waldur and manages backend resourcesreport: Reports usage data from backend to Waldurmembership_sync: Synchronizes user membershipsevent_process: Event-based processing using MQTT/STOMP
waldur_site_agent -m <mode> -c <config-file>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"}-m,--mode: Agent mode (order_process,report,membership_sync,event_process)-c,--config-file: Path to configuration file
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
# Install dependencies
uv sync --all-packages
# Run tests
uv run pytest
# Format and lint code
pre-commit run --all-files
# Load components into Waldur
waldur_site_load_components -c <config-file>- Architecture & Plugin Development
- Installation Guide
- Configuration Reference
- Deployment Guide
- Username Management
- SLURM Usage Reporting Setup
- SLURM Plugin - SLURM cluster management
- MOAB Plugin - MOAB cluster management
- MUP Plugin - MUP portal integration
- OpenShift/OKD Plugin - OpenShift and OKD container platform management
- Harbor Plugin - Harbor container registry management
- Croit S3 Plugin - Croit S3 storage management
- CSCS DWDI Plugin - CSCS DWDI accounting integration
- Basic Username Management Plugin - Username generation and management
MIT License - see LICENCE file for details.