{"id":28183975,"url":"https://github.com/ad-freiburg/gantry","last_synced_at":"2026-04-28T00:32:58.480Z","repository":{"id":34998567,"uuid":"169587379","full_name":"ad-freiburg/gantry","owner":"ad-freiburg","description":"Gantry is a pipeline management tool using containers as its building blocks","archived":false,"fork":false,"pushed_at":"2023-04-04T16:56:38.000Z","size":269,"stargazers_count":1,"open_issues_count":3,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-14T16:50:00.372Z","etag":null,"topics":["docker-compose","pipeline"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ad-freiburg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-07T14:46:31.000Z","updated_at":"2022-03-12T18:52:06.000Z","dependencies_parsed_at":"2024-06-20T17:34:26.006Z","dependency_job_id":"00901646-fdba-4d68-b25e-c64e0e42dd23","html_url":"https://github.com/ad-freiburg/gantry","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/ad-freiburg/gantry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-freiburg%2Fgantry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-freiburg%2Fgantry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-freiburg%2Fgantry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-freiburg%2Fgantry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ad-freiburg","download_url":"https://codeload.github.com/ad-freiburg/gantry/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-freiburg%2Fgantry/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32361477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"ssl_error","status_checked_at":"2026-04-27T20:07:00.910Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-compose","pipeline"],"created_at":"2025-05-16T05:11:50.440Z","updated_at":"2026-04-28T00:32:58.462Z","avatar_url":"https://github.com/ad-freiburg.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gantry (Container Crane)\n\n[![GoDoc](https://godoc.org/github.com/ad-freiburg/gantry?status.svg)](https://godoc.org/github.com/ad-freiburg/gantry)\n[![Licence](https://img.shields.io/github/license/ad-freiburg/gantry)](./LICENSE)\n[![Build Status](https://travis-ci.org/ad-freiburg/gantry.svg?branch=master)](https://travis-ci.org/ad-freiburg/gantry)\n[![Go Report Card](https://goreportcard.com/badge/github.com/ad-freiburg/gantry)](https://goreportcard.com/report/github.com/ad-freiburg/gantry)\n[![Release](https://img.shields.io/github/v/release/ad-freiburg/gantry?include_prereleases)](https://github.com/ad-freiburg/gantry/releases)\n[![AUR package](https://repology.org/badge/version-for-repo/aur/gantry.svg)](https://aur.archlinux.org/packages/gantry)\n\nGantry is a pipeline management tool using containers for all relevant steps.\nIt supports a basic `docker-compose` subset allowing `docker-compose` like\ndeployments with [wharfer](https://github.com/ad-freiburg/wharfer). If `wharfer`\nis not installed `docker` will be used directly.\n\n## Services and Steps\n\nServices define docker containers which provide a continued service to other\ntasks in and outside of the pipeline. They directly resemble the service\nconcept from `docker-compose` and once started run concurrently to the rest of\nthe pipeline including anything depending on the service.\n\nSteps on the other hand run to completion and only then are their dependents\nexecuted. Note however, that independent steps are executed concurrently with\neach other. Steps are often used for tasks that produce a result that is\nneeded by their dependents such as a download, creation of a database index\nor training of a machine learning model.\n\nThe End-to-End tests of QLever [example](./examples/qlever_e2e) demonstrates\nthe usage and interaction of both container types.\n\n## Installation\n\n### Download a prebuild Release\n\nBinary releases are provided as\n[github releases](https://github.com/ad-freiburg/gantry/releases).\n\n    cd /tmp\n    rm gantry_$(uname -m).tar.bz2\n    wget https://github.com/ad-freiburg/gantry/releases/download/v0.5.0/gantry_$(uname -m).tar.bz2\n    tar -xavf gantry_$(uname -m).tar.bz2\n    sudo mv gantry_$(uname -m)/gantry /usr/local/bin/gantry\n\n    gantry --version\n\n### Arch Linux\n\nGantry is available in the [AUR](https://aur.archlinux.org/) as\n[gantry](https://aur.archlinux.org/packages/gantry) and\n[gantry-git](https://aur.archlinux.org/packages/gantry-git)\n\n### From source\n\nTo install gantry into the users `~/go/bin` path it is enough to just run\n\n    go install -ldflags=\"-X github.com/ad-freiburg/gantry.Version=$(git describe --always --long --dirty)\" ./...\n\nTo install gantry globally copy it from `~/go/bin` path or use\n\n    go build -ldflags=\"-X github.com/ad-freiburg/gantry.Version=$(git describe --always --long --dirty)\" cmd/gantry/gantry.go\n    sudo mv gantry /usr/local/bin/\n\n    gantry --version\n\n### Using go get\n\nGantry is go getable through\n\n    go get github.com/ad-freiburg/gantry/cmd/gantry\n\nThis will result in a binary without a set version.\n\n## Building a (new) Release\n\nTo build a release version first make sure everything works.\nThis includes checking the codestyle\n\n    gofmt -d .\n\nand running the tests\n\n    go test ./...\n\nThe complete test coverage can be viewed with\n\n    go test -coverprofile=coverage.out ./... \u0026\u0026 go tool cover -html=coverage.out\n\nWhen all is correct edit the [Download a prebuild release](#download-a-prebuild-release)\nsection of this Readme so the download link points to the future version.\n*Only after committing this final change tag the release*\n\n    git tag -a vX.Y.Z -m \u003cmessage\u003e\n\nThen build with `-ldflags` such that the version is added to the binary\n\n    go build -ldflags=\"-X github.com/ad-freiburg/gantry.Version=$(git describe --always --long --dirty)\" cmd/gantry/gantry.go\n\nFinally use the GitHub Releases mechanism to release a new version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fad-freiburg%2Fgantry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fad-freiburg%2Fgantry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fad-freiburg%2Fgantry/lists"}