-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a6b20be
commit b762690
Showing
255 changed files
with
58,790 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Ignore dependencies downloaded by helm | ||
charts/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
.envrc | ||
.gitignore | ||
CHANGELOG.md | ||
ci/ | ||
INTERNAL* | ||
README.md.gotmpl | ||
scripts/ |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
dependencies: | ||
- name: minio | ||
repository: https://charts.min.io/ | ||
version: 5.0.14 | ||
- name: grafana-agent-operator | ||
repository: https://grafana.github.io/helm-charts | ||
version: 0.3.21 | ||
- name: rollout-operator | ||
repository: https://grafana.github.io/helm-charts | ||
version: 0.15.0 | ||
digest: sha256:428f2528666067f7726f5a794a920e3c445159ad95d3a38bdcdf313ffff984d2 | ||
generated: "2024-04-22T06:21:51.690943278Z" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
apiVersion: v2 | ||
version: 5.5.0 | ||
appVersion: r305 | ||
description: "Grafana Mimir" | ||
home: https://grafana.com/docs/helm-charts/mimir-distributed/latest/ | ||
icon: https://grafana.com/static/img/logos/logo-mimir.svg | ||
kubeVersion: ^1.20.0-0 | ||
name: mimir | ||
dependencies: | ||
- name: minio | ||
alias: minio | ||
version: 5.0.14 | ||
repository: https://charts.min.io/ | ||
condition: minio.enabled | ||
- name: grafana-agent-operator | ||
alias: grafana-agent-operator | ||
version: 0.3.21 | ||
repository: https://grafana.github.io/helm-charts | ||
condition: metaMonitoring.grafanaAgent.installOperator | ||
- name: rollout-operator | ||
alias: rollout_operator | ||
repository: https://grafana.github.io/helm-charts | ||
version: 0.15.0 | ||
condition: rollout_operator.enabled |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Grafana Mimir Helm chart | ||
|
||
Helm chart for deploying [Grafana Mimir](https://grafana.com/docs/mimir/latest/) or optionally [Grafana Enterprise Metrics](https://grafana.com/docs/enterprise-metrics/latest/) to Kubernetes. | ||
|
||
For the full documentation, visit [Grafana mimir-distributed Helm chart documentation](https://grafana.com/docs/helm-charts/mimir-distributed/latest/). | ||
|
||
> **Note:** The documentation version is derived from the Helm chart version which is 5.4.0-weekly.292. | ||
When upgrading from Helm chart version 4.X, please see [Migrate the Helm chart from version 4.x to 5.0](https://grafana.com/docs/helm-charts/mimir-distributed/latest/migration-guides/migrate-helm-chart-4.x-to-5.0/). | ||
When upgrading from Helm chart version 3.x, please see [Migrate from single zone to zone-aware replication with Helm](https://grafana.com/docs/helm-charts/mimir-distributed/latest/migration-guides/migrate-from-single-zone-with-helm/). | ||
When upgrading from Helm chart version 2.1, please see [Upgrade the Grafana Mimir Helm chart from version 2.1 to 3.0](https://grafana.com/docs/helm-charts/mimir-distributed/latest/migration-guides/migrate-helm-chart-2.x-to-3.0/) as well. | ||
|
||
**IMPORTANT**: Always consult the [CHANGELOG.md](./CHANGELOG.md) file and the deprecation list there to learn about breaking changes that require action during upgrade. | ||
|
||
# mimir-distributed | ||
|
||
![Version: 5.4.0-weekly.292](https://img.shields.io/badge/Version-5.4.0--weekly.292-informational?style=flat-square) ![AppVersion: r292](https://img.shields.io/badge/AppVersion-r292-informational?style=flat-square) | ||
|
||
Grafana Mimir | ||
|
||
## Requirements | ||
|
||
Kubernetes: `^1.20.0-0` | ||
|
||
| Repository | Name | Version | | ||
|------------|------|---------| | ||
| https://charts.min.io/ | minio(minio) | 5.0.14 | | ||
| https://grafana.github.io/helm-charts | grafana-agent-operator(grafana-agent-operator) | 0.3.21 | | ||
| https://grafana.github.io/helm-charts | rollout_operator(rollout-operator) | 0.15.0 | | ||
|
||
# Contributing and releasing | ||
|
||
Please see the dedicated "[Contributing to Grafana Mimir helm chart](https://github.com/grafana/mimir/tree/main/docs/internal/contributing/contributing-to-helm-chart.md)" page. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Grafana Mimir Helm chart | ||
|
||
Helm chart for deploying [Grafana Mimir](https://grafana.com/docs/mimir/latest/) or optionally [Grafana Enterprise Metrics](https://grafana.com/docs/enterprise-metrics/latest/) to Kubernetes. | ||
|
||
For the full documentation, visit [Grafana mimir-distributed Helm chart documentation]({{ template "chart.homepage" . }}). | ||
|
||
> **Note:** The documentation version is derived from the Helm chart version which is {{ template "chart.version" . }}. | ||
|
||
When upgrading from Helm chart version 4.X, please see [Migrate the Helm chart from version 4.x to 5.0]({{ template "chart.homepage" . }}migration-guides/migrate-helm-chart-4.x-to-5.0/). | ||
When upgrading from Helm chart version 3.x, please see [Migrate from single zone to zone-aware replication with Helm]({{ template "chart.homepage" . }}migration-guides/migrate-from-single-zone-with-helm/). | ||
When upgrading from Helm chart version 2.1, please see [Upgrade the Grafana Mimir Helm chart from version 2.1 to 3.0]({{ template "chart.homepage" . }}migration-guides/migrate-helm-chart-2.x-to-3.0/) as well. | ||
|
||
**IMPORTANT**: Always consult the [CHANGELOG.md](./CHANGELOG.md) file and the deprecation list there to learn about breaking changes that require action during upgrade. | ||
|
||
{{ template "chart.header" . }} | ||
|
||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} | ||
|
||
{{ template "chart.description" . }} | ||
|
||
{{ template "chart.sourcesSection" . }} | ||
|
||
{{ template "chart.requirementsSection" . }} | ||
|
||
# Contributing and releasing | ||
|
||
Please see the dedicated "[Contributing to Grafana Mimir helm chart](https://github.com/grafana/mimir/tree/main/docs/internal/contributing/contributing-to-helm-chart.md)" page. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,175 @@ | ||
# Releases | ||
|
||
The release processes that follow apply to the Grafana Mimir Helm chart. | ||
|
||
## Schedule | ||
|
||
The release schedule follows the Grafana Mimir and Grafana Enterprise Metrics (GEM) releases so that a new Helm chart release will include both. This usually happens within 2 weeks of the Mimir release. For the Mimir release schedule consult the Mimir [RELEASE.md](../../../../RELEASE.md). | ||
|
||
Security updates of Mimir or GEM will also trigger a Helm chart release. The Helm chart can be released independently of Mimir and GEM, but this is only done if | ||
there's some urgent update needed. | ||
|
||
There are weekly releases with the latest Mimir and GEM build, but they are intended for testing purposes only, not production. Weekly releases are marked with a development version and helm will ignore them unless the `--devel` flag is used on the command line. | ||
|
||
## Before you begin | ||
|
||
One of the following scenarios must apply: | ||
|
||
- Both Mimir and GEM have container images, whose image versions match. The image versions have the same weekly, RC, and final versions. These versions are released to Docker Hub. | ||
- The Mimir and GEM image versions do not match, but there are no breaking changes between them because all of the shared configuration parameters behave the same way. For example, because GEM contains a bugfix, the version of GEM is `2.5.1` and the version of Mimir is `2.5.0`. | ||
|
||
## Release process for a weekly release | ||
|
||
Each weekly release is created automatically, but you need to approve and merge it manually. For an example, see [PR 4600](https://github.com/grafana/mimir/pull/4600). | ||
|
||
[The Chart.yaml file](https://helm.sh/docs/topics/charts/#the-chartyaml-file) requires semantic versioning. | ||
|
||
Weekly releases have the version `x.y.z-weekly.w`, for example `3.1.0-weekly.196`, where `196` represents an incrementing week number. | ||
|
||
> **Note**: You must precede the week number (such as `196`) with a dot (`.`). | ||
## Release process for a release candidate | ||
|
||
1. Determine the Helm chart version number. | ||
|
||
[The Chart.yaml file](https://helm.sh/docs/topics/charts/#the-chartyaml-file) requires semantic versioning: | ||
|
||
- Release candidates have the version `x.y.z-rc.w`, for example `3.1.0-rc.7`. | ||
|
||
> **Note**: You must precede the release candidate number (such as `7`) with a dot (`.`). | ||
1. Prepare changelog. | ||
|
||
- Create a PR, whose target is `main`, that updates the [Helm chart changelog](https://github.com/grafana/mimir/blob/main/operations/helm/charts/mimir-distributed/CHANGELOG.md), and move any `## main / unreleased` items under this release’s version. | ||
|
||
> **Note:** If there are any deprecated features that should be removed in this release, then verify that they have been removed, and move their deprecation notices into the section for this release. | ||
- Have the PR reviewed by a maintainer. | ||
|
||
- Merge the PR upon approval. | ||
|
||
1. Create a release branch. | ||
|
||
- Create (if the branch is not created yet), switch to and push a branch starting from the commit created by the prepare changelog PR and name it `mimir-distributed-release-x.y`. | ||
|
||
For example, `mimir-distributed-release-4.5` for any `4.5.x` release. | ||
|
||
- Push the branch to origin without any commit added. | ||
|
||
- Once the branch is pushed, all changes to `mimir-distributed-release-x.y` branch must be done through PR. | ||
|
||
1. Create a branch from release branch if it hasn't been created yet, to update Mimir/GEM image and helm chart version . | ||
|
||
For example `user/update-mimir-distributed-release-x.y`. | ||
|
||
1. Update versions and links in the `user/update-mimir-distributed-release-x.y` branch. | ||
|
||
- Set the image versions in [values.yaml](https://github.com/grafana/mimir/blob/main/operations/helm/charts/mimir-distributed/values.yaml), as needed: | ||
|
||
- `image.tag` (Mimir) | ||
- `enterprise.image.tag` (GEM) | ||
|
||
> **Note:** Unlike the Mimir image tags, GEM image tags start with `v`. For example, `v2.6.0` instead of `2.6.0`. | ||
- Set the `version` field, in the [Chart.yaml](https://github.com/grafana/mimir/blob/main/operations/helm/charts/mimir-distributed/Chart.yaml) file, to the desired release candidate version. | ||
|
||
For example, `4.5.0-rc.0`. | ||
|
||
> **Note:** Once this change is merged to `mimir-distributed-x.y` branch, it will trigger the release process GitHub Action. Unless you want to release final release, make sure to append the correct rc version. | ||
- Set the `appVersion` field, in the [Chart.yaml](https://github.com/grafana/mimir/blob/main/operations/helm/charts/mimir-distributed/Chart.yaml) file, to the version of Mimir that the Helm chart deploys. | ||
|
||
For example, `2.6.0`. | ||
|
||
- Create or update the release notes in `docs/sources/helm-charts/mimir-distributed/release-notes` directory. | ||
|
||
The release notes should refer to the correct Mimir and GEM versions and their specific documentation version. | ||
|
||
> **Note:** This step can be done in a separate PR and shouldn't block release candidate from getting published. | ||
- Update the Mimir and GEM documentation version parameters in [\_index.md](https://github.com/grafana/mimir/blob/main/docs/sources/helm-charts/mimir-distributed/_index.md) | ||
|
||
The two parameters are `MIMIR_DOCS_VERSION` and `gem_docs_version`. With the exception of the release notes, the Helm chart documentation should refer to the documentation or Mimir and GEM that is actually included in the Helm chart. | ||
|
||
- From the root directory of the repository, run `make doc` to update [README.md](https://github.com/grafana/mimir/blob/main/operations/helm/charts/mimir-distributed/README.md) file. | ||
|
||
- Verify that the links on the [README.md](https://github.com/grafana/mimir/blob/main/operations/helm/charts/mimir-distributed/README.md) are correct. | ||
|
||
1. Open PR to release branch | ||
|
||
- Create PR that contains all the changes we have so far from `user/update-mimir-distributed-release-x.y` branch and make sure that your PR targets the release branch `mimir-distributed-release-x.y`. | ||
|
||
- Have the PR reviewed by a maintainer. | ||
|
||
- Merge the PR upon approval. | ||
|
||
1. Verify that the Helm chart is published | ||
|
||
- Run the following commands: | ||
|
||
`helm repo update && helm search repo grafana/mimir-distributed --devel --version <VERSION>` | ||
|
||
You might have to wait a few minutes. | ||
|
||
- In a browser, go to [https://grafana.com/docs/helm-charts/mimir-distributed](https://grafana.com/docs/helm-charts/mimir-distributed) and refresh the page. | ||
|
||
1. After the release tag in Git is created, merge the branch back into `main` by following the same procedure as for Mimir releases: [Merging release branch into main](https://github.com/grafana/mimir/blob/main/RELEASE.md#merging-release-branch-into-main). | ||
|
||
1. Backport and additional release candidate. | ||
|
||
- If additional changes need to be added to this release, another release candidate version has to be created. | ||
- Follow [backport process](https://github.com/grafana/mimir/blob/main/RELEASE.md#cherry-picking-changes-into-release-branch) similar with Mimir release to backport changes from main branch. | ||
- Go back to step 5. Update versions and links in the user/update-mimir-distributed-release-x.y branch to update the next release candidate. | ||
|
||
The [release process](https://github.com/grafana/mimir/blob/main/.github/workflows/helm-release.yaml) checks and creates a Git tag formatted as `mimir-distributed-<version>`, for example `mimir-distributed-4.5.0`, on the merge commit created when the PR is merged. To prevent releasing the same version with different content, the release process fails if the tag already exists. The release is published in the [Grafana helm-charts](https://grafana.github.io/helm-charts/) Helm repository. | ||
|
||
## Release process for a final release | ||
|
||
1. Determine the Helm chart version number. | ||
|
||
[The Chart.yaml file](https://helm.sh/docs/topics/charts/#the-chartyaml-file) requires semantic versioning: | ||
|
||
- The final version has the version `x.y.z`, for example `3.1.0`. | ||
- Normally we will proceed the same `x.y.z` version value from the release candidate step. | ||
|
||
1. Create a branch from release branch to update Mimir/GEM image and helm chart version. | ||
|
||
For example `user/update-mimir-distributed-release-x.y-final`. | ||
|
||
1. Optionally finalise release note and update version in the `user/update-mimir-distributed-release-x.y-final` branch. | ||
|
||
- Update and finalize the release notes in `docs/sources/helm-charts/mimir-distributed/release-notes` directory if there has been some changes after release candidate. | ||
|
||
- Set the `version` field, in the [Chart.yaml](https://github.com/grafana/mimir/blob/main/operations/helm/charts/mimir-distributed/Chart.yaml) file, to the desired final release version. | ||
|
||
For example, `4.5.0`. | ||
|
||
> **Note:** Once this change is merged to `mimir-distributed-x.y` branch, it will trigger the release process GitHub Action. | ||
- There shouldn't be anymore update needed in documentation because that has been done in the release candidate step above. | ||
|
||
- From the root directory of the repository, run `make doc` to update [README.md](https://github.com/grafana/mimir/blob/main/operations/helm/charts/mimir-distributed/README.md) file. | ||
|
||
1. Open PR to release branch | ||
|
||
- Create PR that contains all the changes we have so far from `user/update-mimir-distributed-release-x.y-final` branch and make sure that your PR targets the release branch `mimir-distributed-release-x.y`. | ||
|
||
- Have the PR reviewed by a maintainer. | ||
|
||
- Merge the PR upon approval. | ||
|
||
1. Verify that the Helm chart is published | ||
|
||
- Run the following commands: | ||
|
||
`helm repo update && helm search repo grafana/mimir-distributed --version <VERSION>` | ||
|
||
You might have to wait a few minutes. | ||
|
||
- In a browser, go to [https://grafana.com/docs/helm-charts/mimir-distributed](https://grafana.com/docs/helm-charts/mimir-distributed) and refresh the page. | ||
|
||
1. After the release tag in Git is created, merge the branch back into `main` by following the same procedure as for Mimir releases: [Merging release branch into main](https://github.com/grafana/mimir/blob/main/RELEASE.md#merging-release-branch-into-main). | ||
|
||
The [release process](https://github.com/grafana/mimir/blob/main/.github/workflows/helm-release.yaml) checks and creates a Git tag formatted as `mimir-distributed-<version>`, for example `mimir-distributed-4.5.0`, on the merge commit created when the PR is merged. To prevent releasing the same version with different content, the release process fails if the tag already exists. The release is published in the [Grafana helm-charts](https://grafana.github.io/helm-charts/) Helm repository. | ||
|
||
When a `mimir-distributed-x.y.z` final version tag is pushed, the Helm chart documentation is [published](https://github.com/grafana/mimir/blob/main/.github/workflows/publish-technical-documentation-release-helm-charts.yml) to [https://grafana.com/docs/helm-charts/mimir-distributed](https://grafana.com/docs/helm-charts/mimir-distributed). |
Oops, something went wrong.