github.com/argoproj-labs/argocd-operator@v0.10.0/docs/proposals/001-proposal-template.md (about)

     1  # [Proposal Title]
     2  
     3  This is the title of the enhancement. Keep it simple and descriptive. A good title can help
     4  communicate what the enhancement is and should be considered as part of any review.
     5  
     6  
     7  ## Open Questions [optional]
     8  
     9  This is where to call out areas of the design that require closure before deciding to implement the design.
    10  
    11  
    12  ## Summary
    13  
    14  The `Summary` is required for producing accurate user-focused documentation
    15  such as release notes or a development roadmap. It should be possible to collect this information
    16  before implementation begins in order to avoid requiring implementers to split their attention
    17  between writing release notes and implementing the feature itself. Before you get started with this document,
    18  please feel free to have a conversation on this with the maintainers/community on Github that would help
    19  drive a more organized thought process for the formal proposal here.
    20  
    21  ## Motivation
    22  
    23  This section is for explicitly listing the motivation, goals and non-goals of this proposal.
    24  Describe why the change is important and the benefits to users.
    25  
    26  ### Goals
    27  
    28  List the specific goals of the proposal and their measurable results. How will we know that this has succeeded?
    29  
    30  ### Non-Goals
    31  
    32  What is out of scope for this proposal? Listing non-goals helps to focus discussion and make
    33  progress.
    34  
    35  ## Proposal
    36  
    37  This is where we get down to details of what the proposal is about.
    38  
    39  ### Use cases
    40  
    41  Add a list of detailed use cases this enhancement intends to take care of.
    42  
    43  #### Use case 1:
    44  (Example) As a user, I would like to understand...
    45  
    46  #### Use case 2:
    47  (Example) As a user, I would like to take an action on... 
    48  
    49  ### Implementation Details/Notes/Constraints [optional]
    50  
    51  What are the downsides to the implementation? What are some important details that didn't come across
    52  above? Try to go into as much detail as necessary here. This might be a good place to talk about core
    53  concepts and how they relate.
    54  
    55  You may have a work-in-progress Pull Request to demonstrate the functioning of the enhancement you are proposing.
    56  
    57  ### Detailed examples
    58  
    59  ### Security Considerations
    60  
    61  * How does this proposal impact the security aspects of argocd-operator?
    62  * Are there any unresolved follow-ups that need to be done to make the enhancement more robust?
    63  
    64  ### Risks and Mitigations
    65  
    66  What are the risks of this proposal and how do we mitigate them?
    67  
    68  For example, consider both security and how this will impact the larger argocd-operator ecosystem.
    69  
    70  Consider including folks that also work outside your immediate sub-project.
    71  
    72  
    73  ### Upgrade / Downgrade Strategy
    74  
    75  If applicable, how will the component be upgraded and downgraded? Make sure this is in the test
    76  plan.
    77  
    78  Consider the following in developing an upgrade/downgrade strategy for this enhancement:
    79  
    80  - What changes (in invocations, configurations, API use, etc.) is an existing cluster required to
    81    make upon upgrade in order to keep previous behavior?
    82  - What changes (in invocations, configurations, API use, etc.) is an existing cluster required to
    83    make upon upgrade in order to make use of the enhancement?
    84  
    85  ## Drawbacks
    86  
    87  The idea is to find the best form of an argument why this enhancement should _not_ be implemented.
    88  
    89  ## Alternatives
    90  
    91  Similar to the `Drawbacks` section, the `Alternatives` section is used to highlight and record other
    92  possible approaches to delivering the value proposed by an enhancement.