Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated release process; fixed links. #1817

Merged
merged 1 commit into from
Dec 2, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions docs/integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,19 @@ slug: /integrations.md

## StoreAPI

[StoreAPI](https://github.com/thanos-io/thanos/blob/master/pkg/store/storepb/rpc.proto) is a common proto interface for gRPC component that can connect to [Querier](components/query.md) in order to fetch the metric series. Natively Thanos implements [Sidecar](components/sidecar.md) (local Prometheus data), [Ruler](components/rule.md) and [Store gateway](components/store.md). This solves fetching series from Prometheus or Prometheus TSDB format, however same interface can be used to fetch metrics from other storages.
[StoreAPI](https://github.com/thanos-io/thanos/blob/master/pkg/store/storepb/rpc.proto) is a common proto interface for gRPC component
that can connect to [Querier](components/query.md) in order to fetch the metric series.
Natively Thanos implements [Sidecar](components/sidecar.md) (local Prometheus data),
[Ruler](components/rule.md) and [Store gateway](components/store.md).
This solves fetching series from Prometheus or Prometheus TSDB format, however same interface can be used to fetch
metrics from other storages.

Below you can find some public integrations with other systems through StoreAPI:

### OpenTSDB

[Geras](https://github.com/G-Research/geras) is an OpenTSDB integration service which can connect your OpenTSDB cluster to Thanos. Geras exposes the Thanos Storage API, thus other Thanos components can query OpenTSDB via Geras, providing a unified query interface over OpenTSDB and Prometheus.
[Geras](https://github.com/G-Research/geras) is an OpenTSDB integration service which can connect your OpenTSDB cluster to Thanos.
Geras exposes the Thanos Storage API, thus other Thanos components can query OpenTSDB via Geras, providing a unified
query interface over OpenTSDB and Prometheus.

Although OpenTSDB is able to aggregte the data, it's not supported by Geras at the moment.
16 changes: 10 additions & 6 deletions docs/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ Release shepherd responsibilities:
| Release | Time of first RC | Shepherd (Github handle) |
|-----------|--------------------------|--------------------------|
| v0.10.0 | (planned) 8.01.2019 | TBD |
| v0.9.0 | (planned) 26.11.2019 | `@bwplotka` |
| v0.8.0 | (planned) 9.10.2019 | `@bwplotka` |
| v0.7.0 | (planned) 28.08.2019 | `@domgreen` |
| v0.6.0 | (planned) 12.07.2019 | `@GiedriusS` |
| v0.9.0 | 26.11.2019 | `@bwplotka` |
| v0.8.0 | 9.10.2019 | `@bwplotka` |
| v0.7.0 | 28.08.2019 | `@domgreen` |
| v0.6.0 | 12.07.2019 | `@GiedriusS` |
| v0.5.0 | 31.06.2019 | `@bwplotka` |

# For maintainers: Cutting individual release
Expand All @@ -43,11 +43,13 @@ Process of releasing a *minor* Thanos version:
1. Release `v<major>.<minor+1>.0-rc.0`
1. If after 3 work days there is no major bug, release `v<major>.<minor>.0`
1. If within 3 work days there is major bug, let's triage it to fix it and then release `v<major>.<minor>.0-rc.++` Go to step 2.
1. Do patch release if needed for any bugs afterwards. Use same `release-xxx` branch.
1. Do patch release if needed for any bugs afterwards. Use same `release-xxx` branch and migrate fixes to master.

## How to release a version

1. Add PR on branch `release-<major>.<minor>` that will start minor release branch and prepare changes to cut release.
Release is happening on separate `release-<major>.<minor>` branch.

1. Prepare PR to branch `release-<major>.<minor>` that will start minor release branch and prepare changes to cut release.

For release candidate just reuse same branch and rebase it on every candidate until the actual release happens.

Expand Down Expand Up @@ -88,6 +90,8 @@ Process of releasing a *minor* Thanos version:
1. Once tarballs are published on release page, you can click `Publish` and release is complete.

1. Announce `#thanos` slack channel.

1. Pull commits from release branch to master branch for non `rc` releases.

## Pre-releases (release candidates)

Expand Down
6 changes: 3 additions & 3 deletions scripts/websitepreprocess.sh
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,11 @@ tail -n +2 MAINTAINERS.md >> ${OUTPUT_CONTENT_DIR}/MAINTAINERS.md
ALL_DOC_CONTENT_FILES=$(echo "${OUTPUT_CONTENT_DIR}/**/*.md ${OUTPUT_CONTENT_DIR}/*.md")

# All the absolute links are replaced with a direct link to the file on github, including the current commit SHA.
perl -pi -e 's/]\(\//]\(https:\/\/github.com\/thanos-io\/thanos\/tree\/'${COMMIT_SHA}'\//' ${ALL_DOC_CONTENT_FILES}
perl -pi -e 's/]\(\//]\(https:\/\/github.com\/thanos-io\/thanos\/tree\/'${COMMIT_SHA}'\//g' ${ALL_DOC_CONTENT_FILES}

# All the relative links needs to have ../ This is because Hugo is missing: https://github.com/gohugoio/hugo/pull/3934
perl -pi -e 's/]\((?!http)/]\(..\//' ${ALL_DOC_CONTENT_FILES}
perl -pi -e 's/]\((?!http)/]\(..\//g' ${ALL_DOC_CONTENT_FILES}
# All the relative links in src= needs to have ../ as well.
perl -pi -e 's/src=\"(?!http)/src=\"..\//' ${ALL_DOC_CONTENT_FILES}
perl -pi -e 's/src=\"(?!http)/src=\"..\//g' ${ALL_DOC_CONTENT_FILES}