Skip to content

Latest commit

 

History

History
68 lines (48 loc) · 3.63 KB

CONTRIBUTING.md

File metadata and controls

68 lines (48 loc) · 3.63 KB

Contributing Guidelines

The Redash Chart project accepts contributions via GitHub pull requests. This document outlines the process to help get your contribution accepted.

Reporting a Bug in Redash

This repository is used by Chart developers for maintaining the Redash chart for Kubernetes Helm. If your issue is in the Redash tool itself, please use the issue tracker in the getredash/redash repository.

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.

How to Contribute

  1. Fork this repository, develop and test your Chart changes.
  2. Ensure your Chart changes follow the technical.
  3. Submit a pull request.

Technical Requirements

  • Must pass the linter (helm lint)
  • If Redash environment variable configuration changes it should be updated using the process below.
  • The README must be regenerated using helm-docs and Markdown files should be formatted using prettier - you can run this manually or use the pre-commit hook
  • Must successfully launch following basic steps in the README
    • All pods go to the running state
    • All services have at least one endpoint
  • Must be up-to-date with the latest stable Helm/Kubernetes features
  • Should follow Kubernetes best practices
  • Provide a method for data persistence (if applicable)
  • Support application upgrades
  • Allow customization of the application configuration
  • Provide a secure default configuration
  • Do not leverage alpha features of Kubernetes
  • Follows best practices (especially for labels and values)

Updating Environment Variable Config

A script it used to help update the configuration (in between start/end markers) using the markdown documentation.

To run this script:

python scripts/update-env-config.py

Carefully review, test and commit the results. If changes are required (e.g. to mark a specific variable as a secret) update the script to produce the correct changes - don't manually edit the configuration between the markers.

Pre-commit Hook Setup

pre-commit install
pre-commit install-hooks
  • Future changes to your charts requirements.yaml, values.yaml, or Chart.yaml files will cause an update to documentation when you commit.
  • Prettier will also format Markdown files using the default configuration.

Merge Approval and Release Process

A Charts maintainer will review the Chart change submission, and the validation job in the CI to verify the technical requirements of the Chart.

Once the change request looks good it will be merged. This will trigger the publish job to automatically run in the CI to package and release the Chart to the repository.