Fallout-build / Fallout-build/Fallout

[RFC] Continuous Delivery: Fallout as a release-management platform

Open
#106 0 comments 0 reactions 0 assignees View on GitHub
enhancement RFC target/vNext
Dominant language
C#
Stars
154
Forks
19
Avg merge
1d 22h
Merged PRs (30d)
15

Description

## Premise
Fallout today is a CI authoring framework: describe targets in C#, it runs them. The next horizon is **CD** — deployment orchestration, environment promotion, release tracking, approval gates. The space owned today by TeamCity, Octopus Deploy, GitHub Environments, and the release stages of Azure DevOps Pipelines.

Placeholder RFC to collect thinking. Nothing committed; shape is TBD.

## Why this could fit Fallout
- **C#-native, code-first.** Same wedge as Fallout-on-CI: deployments as first-class C# code — refactorable, testable, type-safe, IDE-supported. Octopus and Azure Release Pipelines lean on YAML/UI config.
- **One mental model from build to deploy.** A consumer's `Build.cs` already knows their tools, repo structure, and packaging. Extending into `Deploy.cs` reuses all of it.
- **Plugin SDK leverage.** v12 ships extension points (hosts, middleware, lifecycle listeners, output sinks). CD-shaped points (environment providers, deployment-target providers, approval gates) compose naturally with that catalogue.

## Open questions
- **CI/CD boundary.** Does Fallout-CD consume only Fallout-on-CI artifacts, or also artifacts from other CI systems (GH Actions, Azure Pipelines, Jenkins)?
- **Environment model.** Declarative (yaml / C# records) vs imperative (`Target DeployToStaging`). Probably the latter given code-first ethos, but worth designing.
- **State store.** Where do "release N is deployed to staging" facts live? Git tags/branches? External backend (db/blob)? Pluggable provider?
- **Approvals and gates.** First-class framework concept, or plugin-SDK extension point?
- **Packaging.** Same family (`Fallout.Cd.*`), separate product, or first-party plugins on the v12 SDK?
- **Wedge against incumbents.** Octopus and TeamCity are mature. The honest question: who switches, and why? "C#-native, single binary, code-first" is the hypothesis — needs to survive contact with real users.

## How to engage
Most useful: name a deployment shape you'd want Fallout for, and show where current CD tools fall short. Concrete use cases beat abstract design preferences.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.