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
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
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 MQTT/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
pre-commit run --all-files
# Load components into Waldur
waldur_site_load_components -c <config-file>
Documentation
- Architecture & Plugin Development
- Installation Guide
- Configuration Reference
- Deployment Guide
- Username Management
- SLURM Usage Reporting Setup
Plugin Documentation
Compute & HPC Plugins
- SLURM Plugin - SLURM cluster management
- MOAB Plugin - MOAB cluster management
- MUP Plugin - MUP portal integration
Container & Cloud Plugins
- OpenShift/OKD Plugin - OpenShift and OKD container platform management
- Harbor Plugin - Harbor container registry management
Storage Plugins
- Croit S3 Plugin - Croit S3 storage management
Accounting Plugins
- CSCS DWDI Plugin - CSCS DWDI accounting integration
Utility Plugins
- Basic Username Management Plugin - Username generation and management
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-0.8.8.tar.gz
(68.9 kB
view details)
File details
Details for the file waldur_site_agent-0.8.8.tar.gz.
File metadata
- Download URL: waldur_site_agent-0.8.8.tar.gz
- Upload date:
- Size: 68.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Alpine Linux","version":"3.23.3","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1f3d31266a65a7b9a703809b80fd83dfba424035d8e575dc1a666ebf3c08e77
|
|
| MD5 |
4afbd7234ae1f1c395e42492fd3d31a5
|
|
| BLAKE2b-256 |
392469bf5fa9870bbe0708410519cc099b75fa742c5f04f27006cb3e7a64d635
|