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 resourcesreport: Reports usage data from backend to Waldurmembership_sync: Synchronizes user membershipsevent_process: Event-based processing using STOMP
Usage
1 | |
Logging
The agent emits structured logs in JSON format to stdout. This applies to both the core agent and CLI tools.
Example log entry:
1 | |
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
1 2 3 4 5 6 7 8 9 10 11 | |
Releasing
1 2 3 | |
See the Releasing Guide for details on version bumping, changelog generation, and what CI does after you push.
Documentation
- Architecture & Plugin Development
- Installation Guide
- Configuration Reference
- Deployment Guide
- Username Management
- SLURM Usage Reporting Setup
- Releasing Guide
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 |
| slurm | SLURM plugin |
| waldur | Waldur-to-Waldur federation plugin |
License
MIT License - see LICENCE file for details.