Sign inSign up

prplanit/stagefreight

By prplanit

•Updated about 20 hours ago

A declarative lifecycle runtime — GitOps, Kubernetes, Docker & CI from one manifest

Image
Security
Integration & delivery
Developer tools
0

10K+

prplanit/stagefreight repository overview

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 license Open Issues Open PRs Contributors donate sponsor

release build Go Version Go Reference Last Commit StageFreight

GHCR Docker pulls Harbor

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 you — stagefreight 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.

ActWhat it doesPowered by
AuditionProve the change before anything acts on itlint · tests · policy · config-freshness
PerformThe one authoritative build — or, per mode, a reconciledocker image · binary · gitops · compose
ReviewScan what was built, before it can shipTrivy · Grype · SBOM
PublishThe only act that distributesregistries · releases · packages · pages · project metadata
NarrateThe report that always runs, even on failurebadges · 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 → BuildFinds Dockerfiles, resolves tags from git, builds multi-platform images via docker buildx
Multi-Registry PushDocker Hub, GHCR, GitLab, Quay, Harbor, JFrog, Gitea — with branch/tag filtering via regex (! negation)
Security ScanningTrivy + Grype vulnerability scan, Syft SBOM generation, configurable detail levels per branch or tag
Cross-Forge ReleasesCreate releases on GitLab, GitHub, or Gitea with auto-generated notes, badges, and cross-platform sync
Cache-Aware LintingParallel lint modules, delta-only on changed files, with JUnit reporting for CI
Retention PoliciesRestic-style tag retention (keep_last, daily, weekly, monthly, yearly) across all registry providers
Self-BuildingStageFreight builds, scans, and releases itself through its own pipeline — this image is one of its own artifacts
Fleet GovernanceOne source-of-truth MaintenancePolicy⁠ reconciled across a multi-org, multi-forge repository fleet — CI, presets, and lifecycle config in lockstep
⁠Documentation:

⁠Image Contents

⁠Base Images

alpine 3.24.2 golang 1.26.8

⁠Runtime Packages

chafa git


⁠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.

Tag summary

Content type

Image

Digest

sha256:b855d28e6…

Size

83.3 MB

Last updated

1 day ago

docker pull prplanit/stagefreight