diff --git a/rfcs/README.md b/rfcs/README.md new file mode 100644 index 00000000..2378ac47 --- /dev/null +++ b/rfcs/README.md @@ -0,0 +1,102 @@ +# Flux RFCs + +In many cases, new features and enhancements are proposed on [flux2/discussions](https://github.com/fluxcd/flux2/discussions). +A proposal is discussed in public by maintainers, contributors, users and other interested parties. +After some form of consensus is reached between participants, the proposed changes go through the +pull request process where the implementation details are reviewed, approved or rejected by maintainers. + +Some proposals may be **substantial**, and for these we ask for a design process to be followed +so that all stakeholders can be confident about the direction Flux is evolving in. + +The "RFC" (request for comments) process is intended to provide a consistent and +controlled path for substantial changes to enter Flux. + +Examples of substantial changes: + +- API additions (new kinds of resources, new relationships between existing APIs) +- API breaking changes (new required fields, field removals) +- Security related changes (Flux controllers permissions, tenant isolation and impersonation) +- Impactful UX changes (new required inputs to the bootstrap process) +- Drop capabilities (sunset an existing integration with an external service due to security concerns) + +## RFC Template + +```text +# RFC-NNNN Title + + + +## Summary + + + +## Motivation + + + +### Goals + + + +### Non-Goals + + + +## Proposal + + + +### User Stories + + + +### Alternatives + + + +## Design Details + + + +## Implementation History + + +```