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
    • waldur-site-agent-slurm: SLURM clusters
    • waldur-site-agent-moab: MOAB clusters
    • waldur-site-agent-mup: MUP portal
    • waldur-site-agent-okd: OpenShift/OKD platforms
    • waldur-site-agent-harbor: Harbor registries
    • waldur-site-agent-croit-s3: Croit S3 storage
    • waldur-site-agent-cscs-dwdi: CSCS DWDI accounting
    • waldur-site-agent-basic-username-management: Username management

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 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

Plugin Documentation

Compute & HPC Plugins

Container & Cloud Plugins

Storage Plugins

Accounting Plugins

Utility Plugins

License

MIT License - see LICENCE file for details.

Project details


Release history Release notifications | RSS feed

This version

0.8.7

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.7.tar.gz (67.8 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-0.8.7-py3-none-any.whl (86.4 kB view details)

Uploaded Python 3

File details

Details for the file waldur_site_agent-0.8.7.tar.gz.

File metadata

  • Download URL: waldur_site_agent-0.8.7.tar.gz
  • Upload date:
  • Size: 67.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","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

Hashes for waldur_site_agent-0.8.7.tar.gz
Algorithm Hash digest
SHA256 43268bf66fdda95d308777cf60925ccbd15854a01efd5bf1ed97539110fec0c9
MD5 2e99d754bc291ffee40ae810c3cfd54a
BLAKE2b-256 454b3fe7f3f69a9f11a690713f2ddd571e018739e9173e461278736acca4f1bb

See more details on using hashes here.

File details

Details for the file waldur_site_agent-0.8.7-py3-none-any.whl.

File metadata

  • Download URL: waldur_site_agent-0.8.7-py3-none-any.whl
  • Upload date:
  • Size: 86.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","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

Hashes for waldur_site_agent-0.8.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f7f44ead6b4f17397bcc4fe0dd4efd4696e21da518b1a72931a1b223381ff801
MD5 9d18b133dc7c16108d3a097819a9ca24
BLAKE2b-256 0a8f615fbd2807f6e8a959cf738078354cbd3f412f9d7fb753c4d884e8583ca7

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