Push & Pull
Pulling a pipeline
pipe pull myorg/deployDownloads the latest tag by default. Specify a tag explicitly:
pipe pull myorg/deploy:v1.0.0What happens on pull
- Pipe contacts the Hub API to get the tag metadata (SHA-256, size).
- Downloads the YAML content.
- Verifies the SHA-256 checksum.
- Saves the content as a blob in
~/.pipe/hub/myorg/deploy/blobs/sha256/. - Creates a tag symlink and updates
index.json. - Validates the YAML.
Dirty check
If you have local modifications to the pipeline (editable tag with changes), Pipe warns you and refuses to overwrite. Use --force to proceed:
pipe pull myorg/deploy --forcePushing a pipeline
pipe push myorg/deployRequires authentication.
Tag selection
Tags are assigned with this precedence:
-tflags — explicit tag names- Inline
:tag— from the command argument - Default —
latest
# Push with explicit tagspipe push myorg/deploy -t v1.0.0 -t latest
# Push with inline tagpipe push myorg/deploy:v2.0.0What happens on push
- Pipe reads the local content (from the active tag, a specific tag file, or local files).
- Pre-checks remote tags for conflicts (up-to-date content, immutable tag protection).
- Uploads the YAML content to Hub.
- Hub returns the digest and tag assignments.
- Pipe verifies the digest matches.
- Re-snapshots the local blob store.
Immutable vs mutable tags
- On immutable pipelines, you cannot overwrite an existing tag (the push fails).
- On mutable pipelines, pushing to an existing tag replaces the content.
- The
latesttag can always be overwritten.
Checksum verification
Both push and pull verify SHA-256 checksums to ensure content integrity. Pipe computes the digest locally and compares it against the Hub response.