Skip to main content

runspec-rundeck

Sync your venv's runspec runnables to Rundeck as jobs — a JVM-free replacement for rd jobs load you can drop into a CI publish stage. When your internal runnables are published and installed into a venv, rundeck sync makes every one of them available on the Rundeck platform, with argument definitions always in sync.

pip install runspec-rundeck

Verbs

Command Autonomy What it does
rundeck sync confirm Discover every runnable in the venv, emit a Rundeck job per leaf command, and import them into a project
rundeck push confirm Import already-emitted jobs/*.json files (the rd jobs load replacement)
rundeck list autonomous List a project's jobs

How sync works

sync composes two stable runspec CLI surfaces — it does not reach into runspec internals:

  1. runspec emit --rundeck --stdout --project <p> renders one Rundeck job per leaf command (subcommands flatten like runspec serve), baking a stable uuid5(project/group/job) into each.
  2. runspec local --format json supplies each runnable's discoverable flag, so hidden internal helpers are skipped (pass --all to include them).
  3. The jobs are imported over the Rundeck REST API with dupeOption=update&uuidOption=preserve, so a matching job is updated and a missing one created — rename-safe, because identity is the UUID.

--prune then deletes jobs in the managed group whose UUID wasn't in the push, so a runnable removed from the venv has its job cleaned up.

Auth & environments

Auth is environment-variable first:

export RUNDECK_URL=https://rundeck.example.com
export RUNDECK_TOKEN=            # a Rundeck API token
export RUNDECK_PROJECT=ops
rundeck sync

Target several instances (dev/uat/prod, or regional labels like prod-eu) with RUNDECK_<ENV>_* prefixes selected by --env:

export RUNDECK_PROD_EU_URL=https://rundeck.eu.example.com
export RUNDECK_PROD_EU_TOKEN=…
rundeck sync --env prod-eu --project ops

A CI matrix runs one invocation per instance. UUIDs only need to be unique within an instance, so the same emitted jobs push cleanly to every separate instance.

--token (a password arg) supplies the token through the runspec-console secret channel instead; --url / --project / --api-version / --ca-bundle / --proxy / --insecure override the environment for private-CA / proxied instances.

Per-runnable Rundeck settings

Schedules, notifications, node filters, and the job group come from a [<runnable>.meta.rundeck] table in the runnable's runspec.toml (project defaults in [config.meta.rundeck]) — see the Rundeck jobs docs. sync passes them straight through the emitter.

Built on runspec-rundeck-core.

Release files for runspec-rundeck 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for runspec-rundeck 0.1.0
File Size Uploaded
runspec_rundeck-0.1.0.tar.gz 11.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for runspec-rundeck 0.1.0
File Interpreter ABI Platform
runspec_rundeck-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 20.9 kB

Release files / runspec_rundeck-0.1.0.tar.gz

Download URL runspec_rundeck-0.1.0.tar.gz
Size 11.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a10fab3fdd301d1bbd64113573d7ba507cd7f88d263cff0a7ac9c0031a1ebf09
BLAKE2b-256 checksum
How to use checksums
d04a7ba787ea631f0b0617a4c0916cee16cbb4f728bbeb93df9fa6e7b6b2d1c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / runspec_rundeck-0.1.0-py3-none-any.whl

Download URL runspec_rundeck-0.1.0-py3-none-any.whl
Size 9.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
35fd74e06bb1ac97b8ca27a56fb2fe000475883b099d4330de6f5ffab068e800
BLAKE2b-256 checksum
How to use checksums
ee99dd3235ca74f877cc752788b7d1702ce31dc2b8320da24894289b2c8e2992
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page