Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Pyplines Installer

pyplines-installer installs the supported Docker Compose server/runner deployment on Linux amd64/arm64. Python 3.12+, rootful Docker Engine 26+, Compose 2.24+, a local /var/run/docker.sock, and provisioned TLS/DNS are prerequisites. Run it on each host being installed. It does not install Docker, issue certificates, or modify firewalls.

Installation and use

After its first tooling release is published:

pipx install pyplines-installer
pyplines-installer version
pyplines-installer install server
pyplines-installer install runner

pip install pyplines-installer in a virtual environment is also supported. Interactive installation collects missing settings and shows a plan before applying. For automation, use a complete configuration and private credential files:

pyplines-installer install --config installation.yaml --dry-run
pyplines-installer install --config installation.yaml --password-file ./password --yes
pyplines-installer --json status --directory ./installation
pyplines-installer doctor --directory ./installation

Use --enrollment-token-file for a runner. Files must be private (chmod 600). Enrollment and approval are administered through the existing pyplines operator CLI. The installer reports pending approval separately from readiness. Return codes are 0 for success, 1 for operation/configuration failures, and 2 for not-ready state or CLI argument errors. --json must precede the command and disables prompting.

The complete guide is in docs/content/3.installation/7.installer.md, with command reference in docs/content/9.reference/10.installer-cli.md. The authoritative configuration schema lives at contracts/installation/v1/installation.schema.json. It is bundled with the package; validation does not fetch remote schemas.

Persistence and retry behavior

A private installation directory records configuration, Compose, ownership, and the resolved image digest. Named Docker volumes hold service data. Repeat the saved configuration to resume; unmanaged resources, configuration changes, and Compose file drift are rejected. Never remove volumes to resolve an installation error. Bootstrap credentials are copied temporarily and removed; enrollment tokens are removed after registration is saved. Original credential files remain your responsibility.

The installer version follows tooling tags. Its packaged default platform version comes from releases/supported.json; explicit versions remain possible. Installing an updated installer does not upgrade the server or runner. Both components must use the same platform version. Server releases must support retry-safe bootstrap --if-needed. Existing deployments are not automatically adopted. Native systemd setup, upgrades, rollback, and uninstall are not implemented.

Development and verification

From the repository root:

uv run --project pyplines-installer pyplines-installer --help
uv run --project pyplines-installer python -m unittest discover -s pyplines-installer/tests
uv build pyplines-installer
task contracts:generate
task contracts:check
task installer:integration

The integration task runs in a Linux container with access to the local Docker socket and the repository mounted at its original absolute path. It uses ports 29443, 24222, and 25129, builds disposable candidate images, and checks bootstrap, TLS, enrollment/approval, echo Action execution, retries, and state-preserving restarts. Unique test containers/volumes/networks are removed in finally; image build caches and the reusable test images remain. The test version is a fixture, not a claim that locally built bytes are a published release.

Tooling publication builds wheel/sdist artifacts and verifies isolated installs. Configure the PyPI Trusted Publisher for project pyplines-installer, owner pyplines, repository pyplines, workflow publish-tooling.yml, environment pypi.

Metadata

Release files for pyplines-installer 2026.10.3rc1

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

Source distribution (sdist)

Source distribution for pyplines-installer 2026.10.3rc1
File Size Uploaded
pyplines_installer-2026.10.3rc1.tar.gz 14.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyplines-installer 2026.10.3rc1
File Interpreter ABI Platform
pyplines_installer-2026.10.3rc1-py3-none-any.whl Python 3 none any Details

Total release size: 32.3 kB

Release files / pyplines_installer-2026.10.3rc1.tar.gz

Download URL pyplines_installer-2026.10.3rc1.tar.gz
Size 14.8 kB
Tags Source
SHA-256 checksum
How to use checksums
bd813544256053f8a452916f66009e49473df4fd77e3260cc08a1ab7a0a6e410
BLAKE2b-256 checksum
How to use checksums
ba8c3f8daea98db47a5ce31210101df40b79a588c4bd4c534bb4cfdd4a3d27d3
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 Oct 16, 2026.

Transparency log

Release files / pyplines_installer-2026.10.3rc1-py3-none-any.whl

Download URL pyplines_installer-2026.10.3rc1-py3-none-any.whl
Size 17.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca9fd9a5e0c71dbf01e459498ac23fe71280c7d928ae97915bf409ffa72c1501
BLAKE2b-256 checksum
How to use checksums
3a11360a66d22616b77af03d96d5298acc2879b7afef31bcc31c1075bed98ab9
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 Oct 16, 2026.

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