github.com/microsoft/fabrikate@v1.0.0-alpha.1.0.20210115014322-dc09194d0885/testdata/generate-yaml/helm_repos/prometheus/CONTRIBUTING.md (about)

     1  # Contributing Guidelines
     2  
     3  The Kubernetes Charts project accepts contributions via GitHub pull requests. This document outlines the process to help get your contribution accepted.
     4  
     5  ## Sign Your Work
     6  
     7  The sign-off is a simple line at the end of the explanation for a commit. All 
     8  commits needs to be signed. Your signature certifies that you wrote the patch or
     9  otherwise have the right to contribute the material. The rules are pretty simple,
    10  if you can certify the below (from [developercertificate.org](http://developercertificate.org/)):
    11  
    12  ```
    13  Developer Certificate of Origin
    14  Version 1.1
    15  
    16  Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
    17  1 Letterman Drive
    18  Suite D4700
    19  San Francisco, CA, 94129
    20  
    21  Everyone is permitted to copy and distribute verbatim copies of this
    22  license document, but changing it is not allowed.
    23  
    24  Developer's Certificate of Origin 1.1
    25  
    26  By making a contribution to this project, I certify that:
    27  
    28  (a) The contribution was created in whole or in part by me and I
    29      have the right to submit it under the open source license
    30      indicated in the file; or
    31  
    32  (b) The contribution is based upon previous work that, to the best
    33      of my knowledge, is covered under an appropriate open source
    34      license and I have the right under that license to submit that
    35      work with modifications, whether created in whole or in part
    36      by me, under the same open source license (unless I am
    37      permitted to submit under a different license), as indicated
    38      in the file; or
    39  
    40  (c) The contribution was provided directly to me by some other
    41      person who certified (a), (b) or (c) and I have not modified
    42      it.
    43  
    44  (d) I understand and agree that this project and the contribution
    45      are public and that a record of the contribution (including all
    46      personal information I submit with it, including my sign-off) is
    47      maintained indefinitely and may be redistributed consistent with
    48      this project or the open source license(s) involved.
    49  ```
    50  
    51  Then you just add a line to every git commit message:
    52  
    53      Signed-off-by: Joe Smith <joe.smith@example.com>
    54  
    55  Use your real name (sorry, no pseudonyms or anonymous contributions.)
    56  
    57  If you set your `user.name` and `user.email` git configs, you can sign your
    58  commit automatically with `git commit -s`.
    59  
    60  Note: If your git config information is set properly then viewing the
    61   `git log` information for your commit will look something like this:
    62  
    63  ```
    64  Author: Joe Smith <joe.smith@example.com>
    65  Date:   Thu Feb 2 11:41:15 2018 -0800
    66  
    67      Update README
    68  
    69      Signed-off-by: Joe Smith <joe.smith@example.com>
    70  ```
    71  
    72  Notice the `Author` and `Signed-off-by` lines match. If they don't
    73  your PR will be rejected by the automated DCO check.
    74  
    75  ### Reporting a Bug in Helm
    76  
    77  This repository is used by Chart developers for maintaining the official charts for Kubernetes Helm. If your issue is in the Helm tool itself, please use the issue tracker in the [helm/helm](https://github.com/helm/helm) repository.
    78  
    79  ## How to Contribute a Chart
    80  
    81  1. Fork this repository, develop and test your Chart. Remember to sign off your commits as described in the "Sign Your Work" chapter.
    82  1. Choose the correct folder for your chart based on the information in the [Repository Structure](README.md#repository-structure) section
    83  1. Ensure your Chart follows the [technical](#technical-requirements) and [documentation](#documentation-requirements) guidelines, described below.
    84  1. Submit a pull request.
    85  
    86  ***NOTE***: In order to make testing and merging of PRs easier, please submit changes to multiple charts in separate PRs.
    87  
    88  ### Technical requirements
    89  
    90  * All Chart dependencies should also be submitted independently
    91  * Must pass the linter (`helm lint`)
    92  * Must successfully launch with default values (`helm install .`)
    93      * All pods go to the running state (or NOTES.txt provides further instructions if a required value is missing e.g. [minecraft](https://github.com/helm/charts/blob/master/stable/minecraft/templates/NOTES.txt#L3))
    94      * All services have at least one endpoint
    95  * Must include source GitHub repositories for images used in the Chart
    96  * Images should not have any major security vulnerabilities
    97  * Must be up-to-date with the latest stable Helm/Kubernetes features
    98      * Use Deployments in favor of ReplicationControllers
    99  * Should follow Kubernetes best practices
   100      * Include Health Checks wherever practical
   101      * Allow configurable [resource requests and limits](http://kubernetes.io/docs/user-guide/compute-resources/#resource-requests-and-limits-of-pod-and-container)
   102  * Provide a method for data persistence (if applicable)
   103  * Support application upgrades
   104  * Allow customization of the application configuration
   105  * Provide a secure default configuration
   106  * Do not leverage alpha features of Kubernetes
   107  * Includes a [NOTES.txt](https://github.com/helm/helm/blob/master/docs/charts.md#chart-license-readme-and-notes) explaining how to use the application after install
   108  * Follows [best practices](https://github.com/helm/helm/tree/master/docs/chart_best_practices)
   109    (especially for [labels](https://github.com/helm/helm/blob/master/docs/chart_best_practices/labels.md)
   110    and [values](https://github.com/helm/helm/blob/master/docs/chart_best_practices/values.md))
   111  
   112  ### Documentation requirements
   113  
   114  * Must include an in-depth `README.md`, including:
   115      * Short description of the Chart
   116      * Any prerequisites or requirements
   117      * Customization: explaining options in `values.yaml` and their defaults
   118  * Must include a short `NOTES.txt`, including:
   119      * Any relevant post-installation information for the Chart
   120      * Instructions on how to access the application or service provided by the Chart
   121  
   122  ### Merge approval and release process
   123  
   124  A Kubernetes Charts maintainer will review the Chart submission, and start a validation job in the CI to verify the technical requirements of the Chart. A maintainer may add "LGTM" (Looks Good To Me) or an equivalent comment to indicate that a PR is acceptable. Any change requires at least one LGTM. No pull requests can be merged until at least one maintainer signs off with an LGTM.
   125  
   126  Once the Chart has been merged, the release job will automatically run in the CI to package and release the Chart in the [`gs://kubernetes-charts` Google Storage bucket](https://console.cloud.google.com/storage/browser/kubernetes-charts/).
   127  
   128  ## Support Channels
   129  
   130  Whether you are a user or contributor, official support channels include:
   131  
   132  - GitHub issues: https://github.com/helm/charts/issues
   133  - Slack: Helm Users - #Helm-users room in the [Kubernetes Slack](http://slack.kubernetes.io/)
   134  - Slack: Helm Developers - #Helm-dev room in the [Kubernetes Slack](http://slack.kubernetes.io/)
   135  
   136  Before opening a new issue or submitting a new pull request, it's helpful to search the project - it's likely that another user has already reported the issue you're facing, or it's a known issue that we're already aware of.