Skip to content

PrPlanIT/StageFreight

Repository files navigation

StageFreight

StageFreight

The world's a stage, give it a pipeline.

A declarative lifecycle runtime that governs Git as the source of truth, enforcing operator-defined intent across GitOps workflows, Kubernetes, Docker, and CI ecosystems. StageFreight is open-source, self-building, and replaces fragile shell-script CI pipelines with a single Go binary driven by one .stagefreight.yml file. There's a setting for every stage — this is theatre.

GitHub GitLab Go Report Card Go Reference Last Commit Open Issues Open PRs Contributors

build license release updated donate sponsor

Docker pulls

latest updated size latest-dev updated size


The Canonical Pipeline

You describe intent once in .stagefreight.yml, and StageFreight runs it as a lifecycle — the same five stages whether it's shipping a container image, cutting a cross-forge release, or reconciling a cluster. It even renders your forge's pipeline file for youstagefreight ci render gitlab writes the .gitlab-ci.yml (also GitHub, Gitea, Forgejo) — so the CI document is a generated artifact StageFreight owns, never hand-maintained.

Act What it does Powered by
Audition Prove the change before anything acts on it lint · tests · policy · config-freshness
Perform The one authoritative build — or, per mode, a reconcile docker image · binary · gitops · compose
Review Scan what was built, before it can ship Trivy · Grype · SBOM
Publish The only act that distributes registries · releases · packages · pages · project metadata
Narrate The report that always runs, even on failure badges · notifications · run summary

Git is the source of truth: the acts only enact accepted state — never a merge request, never an unmerged branch. The same binary is both the CI image and your local CLI.

Features:

Detect → Plan → Build Finds Dockerfiles, resolves tags from git, builds multi-platform images via docker buildx
Multi-Registry Push Docker Hub, GHCR, GitLab, Quay, Harbor, JFrog, Gitea — with branch/tag filtering via regex (! negation)
Security Scanning Trivy + Grype vulnerability scan, Syft SBOM generation, configurable detail levels per branch or tag
Cross-Forge Releases Create releases on GitLab, GitHub, or Gitea with auto-generated notes, badges, and cross-platform sync
Cache-Aware Linting Parallel lint modules, delta-only on changed files, with JUnit reporting for CI
Retention Policies Restic-style tag retention (keep_last, daily, weekly, monthly, yearly) across all registry providers
Self-Building StageFreight builds, scans, and releases itself through its own pipeline — this image is one of its own artifacts

Documentation:

Start Here Quick-Start Scenarios · Full Docs
CLI Reference Full Command Reference
Config Reference Full Config Schema
Manifest Examples Aspirational Example Configs · Quick Examples
Roadmap Full Vision
GitLab Components Publishing GitLab Components

Image Contents

Base Images

alpine golang

Runtime Packages

chafa git tree


Contributing

  • Fork the repository
  • Submit Pull Requests / Merge Requests
  • Open issues with ideas, bugs, or feature requests

Disclaimer

The Software provided hereunder is licensed "as-is," without warranties of any kind. The developer makes no promises about functionality, performance, or availability. Not responsible if StageFreight replaces your entire CI pipeline and you find yourself with free time you didn't expect, your retention policies work so well your registry bill drops and finance gets confused, or your release notes become more detailed than the actual features they describe.

Any resemblance to working software is entirely intentional but not guaranteed. The developer claims no credit for anything that actually goes right — that's all you and the unstoppable force of the Open Source community.

License

Distributed under the AGPL-3.0-only License. See licensing for commercial licensing.

About

A declarative CI/CD automation CLI that detects, builds, scans, and releases container images across forges and registries — from a single manifest.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages