title | description | lead | lastmod | draft | images | menu | weight | toc | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Contributing |
How can I contribute to the Tempo Operator? |
2021-03-08T08:48:57+00:00 |
false |
|
200 |
true |
This project is licensed under the AGPLv3 license and accept contributions via GitHub pull requests. This document outlines some of the conventions on development workflow, contact points and other resources to make it easier to get your contribution accepted.
By contributing to this project you agree to the Contributor License Agreement.
The project currently uses the Grafana Slack:
- Fork the repository on GitHub
- Read the README for build and test instructions
- Play with the project, submit bugs, submit patches!
This is a rough outline of what a contributor's workflow looks like:
- Create a topic branch from where you want to base your work (usually
main
). - Update the code and test the changes on your local cluster:
IMG_PREFIX=docker.io/${USER} OPERATOR_VERSION=$(date +%s).0.0 make docker-build docker-push deploy reset
- On OpenShift, you can install the operator via OLM:
kubectl create namespace tempo-operator-system
IMG_PREFIX=docker.io/${USER} OPERATOR_VERSION=$(date +%s).0.0 BUNDLE_VARIANT=openshift make docker-build docker-push bundle bundle-build bundle-push olm-deploy reset
# If the operator is already installed, replace `olm-deploy` with `olm-upgrade`
- Make commits of logical units.
- Push your changes to a topic branch in your fork of the repository.
- Make sure the tests pass, and add any new tests as appropriate.
- Submit a pull request to the original repository.
Thanks for your contributions!
The CHANGELOG.md file in this repo is autogenerated from .yaml
files in the ./.chloggen
directory.
Your pull-request should add a new .yaml
file to this directory. The name of your file must be unique since the last release.
During the operator release process, all ./.chloggen/*.yaml
files are transcribed into CHANGELOG.md
and then deleted.
If a changelog entry is not required, add either [chore]
to the title of the pull request or add the "Skip Changelog"
label to disable this action.
Recommended Steps
- Create an entry file using
make chlog-new
. This generates a file based on your current branch (e.g../.chloggen/my-branch.yaml
) - Fill in all fields in the new file
- Run
make chlog-validate
to ensure the new file is valid - Commit and push the file
Alternately, copy ./.chloggen/TEMPLATE.yaml
, or just create your file from scratch.
Versions of all components (operator, tempo, tempo-query, etc.) are stored in the Makefile.
The manifests
target will update the image locations and versions of files in config/
.
Install latest released version:
IMG_PREFIX=ghcr.io/grafana/tempo-operator OPERATOR_VERSION=old_xyz make olm-deploy
Build and push operator and bundle image to a container registry:
IMG_PREFIX=docker.io/your_username OPERATOR_VERSION=x.y.z BUNDLE_VARIANT=openshift make bundle docker-build docker-push bundle-build bundle-push
Upgrade to new version:
IMG_PREFIX=docker.io/your_username OPERATOR_VERSION=x.y.z make olm-upgrade
Install latest released version:
kubectl apply -f https://github.com/grafana/tempo-operator/releases/latest/download/tempo-operator.yaml
Build and push operator to a container registry:
IMG_PREFIX=docker.io/your_username OPERATOR_VERSION=x.y.z make docker-build docker-push release-artifacts
Upgrade to new version:
kubectl apply -f dist/tempo-operator.yaml