Skip to content

Commit

Permalink
Updated release process; fixed links. (thanos-io#1817)
Browse files Browse the repository at this point in the history
Fix: perl script was only changing first item in line. `/g` was missing.

Signed-off-by: Bartek Plotka <[email protected]>
  • Loading branch information
bwplotka authored Dec 2, 2019
1 parent 847ae85 commit 6aafc7b
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 11 deletions.
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}


0 comments on commit 6aafc7b

Please sign in to comment.