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

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.6.tar.gz (67.7 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.6-py3-none-any.whl (86.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: waldur_site_agent-0.8.6.tar.gz
  • Upload date:
  • Size: 67.7 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.6.tar.gz
Algorithm Hash digest
SHA256 445c9d65b2fe890afd6cabe29fc66f2b8f0c7dc929ffe6d311c269f6c7251831
MD5 eae7203fdd4d70911e16758beba25110
BLAKE2b-256 e5a0b2169aca376e61a3f941aeb367cc52cb8f2606c536f70b72e7ca3ede1c3e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: waldur_site_agent-0.8.6-py3-none-any.whl
  • Upload date:
  • Size: 86.3 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 20c429d811fd0d0024338ce23ecec40db3f1240c167baef4e958ea9d709be93b
MD5 9cce8f3b13eb2c02b7fa652742593913
BLAKE2b-256 7f6a044c2e70141357ee95eef2a6c6e3175e6d248a0f1ae1c8428e2d1703ffbf

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