Skip to content

Commit

Permalink
docs(*): add chart submission guidelines to contrib guide, update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Adnan Abdulhussein committed Aug 10, 2016
1 parent 8ec2c38 commit 86f8dee
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 16 deletions.
56 changes: 49 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing guidelines

## How to become a contributor and submit your own code
The Kubernetes Charts project accepts contributions via GitHub pull requests. This document outlines the process to help get your contribution accepted.

### Contributor License Agreements

Expand All @@ -15,11 +15,53 @@ Follow either of the two links above to access the appropriate CLA and instructi

***NOTE***: Only original source code from you and other people that have signed the CLA can be accepted into the main repository.

### Contributing A Patch
### Reporting a bug in Helm

1. Submit an issue describing your proposed change to the repo in question.
1. The repo owner will respond to your issue promptly.
1. If your proposed change is accepted, and you haven't already done so, sign a Contributor License Agreement (see details above).
1. Fork the desired repo, develop and test your code changes.
1. Submit a pull request.
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 [kubernetes/helm](https://github.com/kubernetes/helm) repository.

### How to contribute a Chart

1. If you haven't already done so, sign a Contributor License Agreement (see details above).
2. Fork this repository, develop and test your Chart.
3. Ensure your Chart follows the technical and documentation guidelines, described below.
4. Submit a pull request.

#### Technical requirements

* All Chart dependencies should also be submitted independently
* Must pass the linter (`helm lint`)
* Must successfully launch with default values (`helm install .`)
* All pods go to the running state
* All services have at least one endpoint
* Must include source GitHub repositories for images used in the Chart
* Images should not have any major security vulnerabilities
* Must be up-to-date with the latest stable Helm/Kubernetes features
* Don't use alpha Kubernetes features
* Use Deployments in favor of ReplicationControllers
* Should follow Kubernetes best practices
* Include Health Checks wherever practical

#### Documentation requirements

* Must include an in-depth `README.md`, including:
* Short description of the Chart
* Any prerequisites or requirements
* Customization: explaining options in `values.yaml` and their defaults
* Must include a short `notes.txt`, including:
* Any relevant post-installation information for the Chart
* Instructions on how to access the application or service provided by the Chart

#### Merge approval and release process

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.

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/).

### Support Channels

Whether you are a user or contributor, official support channels include:

- GitHub issues: https://github.com/kubenetes/charts/issues/new
- Slack: #Helm room in the [Kubernetes Slack](http://slack.kubernetes.io/)

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.
20 changes: 11 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,26 @@

* Under ACTIVE development

Use this repository to submit official charts for Kubernetes Helm. Charts are curated application definitions for Kubernetes Helm. For more information about installing and using Helm, see its
Use this repository to submit official Charts for Kubernetes Helm. Charts are curated application definitions for Kubernetes Helm. For more information about installing and using Helm, see its
[README.md](https://github.com/kubernetes/helm/tree/master/README.md). To get a quick introduction to Charts see this [chart document](https://github.com/kubernetes/helm/blob/master/docs/charts.md).

This Github repository contains the packaged source of Helm Charts that will become available on `gs://kubernetes-charts`.

Charts are already available for testing at `gs://kubernetes-charts-testing`. You can browse those Charts directly on the Google Cloud Storage [console](https://console.cloud.google.com/storage/browser/kubernetes-charts-testing).

## Chart Format

Take a look at the [alpine example chart](https://github.com/kubernetes/helm/tree/master/docs/examples/alpine) and the [nginx example chart](https://github.com/kubernetes/helm/tree/master/docs/examples/nginx) for reference when you're writing your first few charts..
Take a look at the [alpine example chart](https://github.com/kubernetes/helm/tree/master/docs/examples/alpine) and the [nginx example chart](https://github.com/kubernetes/helm/tree/master/docs/examples/nginx) for reference when you're writing your first few charts.

Before contributing a Chart, become familiar with the format. Note that the project is still under active development and the format may still evolve a bit.

## Contributing a chart
## Repository Structure

This GitHub repository contains the source for the packaged and versioned charts released in the [`gs://kubernetes-charts` Google Storage bucket](https://console.cloud.google.com/storage/browser/kubernetes-charts/) (the Chart Repository).

The Charts in the master branch of this repository match the latest packaged Chart in the Chart Repository, though there may be previous versions of a Chart available in the Chart Repository.

The purpose of this repository is to provide a place for maintaining and contributing official Charts, with CI processes in place for managing the releasing of Charts into the Chart Repository.

Your contributions are most welcome in the form or Pull Requests.
## Contributing a Chart

After you have created and tested a chart, please use `helm lint [CHART]` to lint the chart for additionalchecks. Then, use `helm package [CHART]` to package your chart into a chart archive. Create a pull request containing your packaged charts.
We'd love for you to contribute a Chart that provides a useful application or service for Kubernetes. Please read our [Contribution Guide](CONTRIBUTING.md) for more information on how you can contribute Charts.

Note: We use the same [workflow](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md#git-setup),
[License](LICENSE) and [Contributor License Agreement](CONTRIBUTING.md) as the main Kubernetes repository.
Expand Down

0 comments on commit 86f8dee

Please sign in to comment.