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

Releasing

./scripts/release.sh 0.10.0
# Review the commit, then push:
git push origin main --tags

See the Releasing Guide for details on version bumping, changelog generation, and what CI does after you push.

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

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.9.3.tar.gz (81.0 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.9.3-py3-none-any.whl (100.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: waldur_site_agent-0.9.3.tar.gz
  • Upload date:
  • Size: 81.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","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.9.3.tar.gz
Algorithm Hash digest
SHA256 7506fd96aba09cb88716183025b74e2149ce29925f05b1361340fcb998defeeb
MD5 b782c247e92750ab8f7718ddb8e8b0cc
BLAKE2b-256 ce60a9f53c09c65d1823da1db08c5e15afefa0cf6e1f878b32f0be0d29998841

See more details on using hashes here.

File details

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

File metadata

  • Download URL: waldur_site_agent-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 100.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","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.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d6fd6263e6a94cd4f3a05c5cf0081b1282e55ccba3bd495f5c9e777317799604
MD5 ac3abebac0775d658eade81846522c5c
BLAKE2b-256 51537db4be55566393d507464d7351a1150e508feb141d50a4bd4288e1abc983

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