summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarsten Feuls2019-02-14 16:20:07 +0100
committerCarsten Feuls2019-02-14 16:20:07 +0100
commit04830907a7aac633f58011fc2b30a4dd4331481b (patch)
tree7df44650fec4823e994e71030b0589b65e61b936
parent277f6ea8e978bd5e0ed33385b3acf1e67febfdc9 (diff)
downloadaur-04830907a7aac633f58011fc2b30a4dd4331481b.tar.gz
Rewrite Config Files an add separat Systemd Service for every part
-rw-r--r--.SRCINFO28
-rw-r--r--.gitignore4
-rw-r--r--PKGBUILD51
-rw-r--r--thanos-compact.conf47
-rw-r--r--thanos-compact.service30
-rw-r--r--thanos-query.conf172
-rw-r--r--thanos-query.service54
-rw-r--r--thanos-rule.conf175
-rw-r--r--thanos-rule.service55
-rw-r--r--thanos-sidecar.conf97
-rw-r--r--thanos-sidecar.service44
-rw-r--r--thanos-store.conf120
-rw-r--r--thanos-store.service50
-rw-r--r--thanos.conf2
-rw-r--r--thanos.service21
15 files changed, 906 insertions, 44 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f3fdb2f4867d..b663e7e2cc72 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Tue Feb 12 19:06:57 UTC 2019
+# Thu Feb 14 15:18:52 UTC 2019
pkgbase = prometheus-thanos
pkgdesc = Highly available Prometheus setup with long term storage capabilities. (binary, not built from source)
pkgver = 0.3.0
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/improbable-eng/thanos
arch = x86_64
license = Apache
@@ -12,12 +12,28 @@ pkgbase = prometheus-thanos
backup = etc/thanos/query.conf
backup = etc/thanos/rule.conf
backup = etc/thanos/compact.conf
- source_x86_64 = thanos.service
- source_x86_64 = thanos.conf
+ source_x86_64 = thanos-sidecar.service
+ source_x86_64 = thanos-store.service
+ source_x86_64 = thanos-query.service
+ source_x86_64 = thanos-rule.service
+ source_x86_64 = thanos-compact.service
+ source_x86_64 = thanos-sidecar.conf
+ source_x86_64 = thanos-store.conf
+ source_x86_64 = thanos-query.conf
+ source_x86_64 = thanos-rule.conf
+ source_x86_64 = thanos-compact.conf
source_x86_64 = thanos.sysuser
source_x86_64 = https://github.com/improbable-eng/thanos/releases/download/v0.3.0/thanos-0.3.0.linux-amd64.tar.gz
- sha256sums_x86_64 = 3bb9ad1cc585cc69ce2177e5d219fb190823b076c7f8414a0ef07da2eea375cd
- sha256sums_x86_64 = 97a2a76ded469808b7d086dc02a63a9f45c535831763fc33ebd99528dceb437e
+ sha256sums_x86_64 = b1b266f51d558b9ca6c9b726c697c72a91e6979ac841b4f5991ae17cd35ad2f2
+ sha256sums_x86_64 = b48a1cdd78c56e010655a015bd89a06ae8b8ba9043aba7a518a9254a735b8f5d
+ sha256sums_x86_64 = f14e3dab682a4e2777ed4c02da1d2be677327f166588767047aa10e853f7d928
+ sha256sums_x86_64 = 0e8b5a5be042c6bdb1f279bd835720007d13ea7624592aab0703fc1b8c871b75
+ sha256sums_x86_64 = 03b829963a127cd8d65cd3da331a36cd8309517baad46aaed411ac16adb7f3f7
+ sha256sums_x86_64 = ee773959c8a399ebef04c55bdef28767e3fe9618216515a9070489e587969721
+ sha256sums_x86_64 = 5213e5e7187acddb5c2199782fdd0ca85aad93c221162c020c1cea1607b12a0c
+ sha256sums_x86_64 = 29b5dc83449240ecd9554cead75196e4e4843da3b2ce62db66c9bac04c847027
+ sha256sums_x86_64 = f9eca0f9a2751255af2a1f3b992cd8a168851a296e0466c7c4a47ec804f46f74
+ sha256sums_x86_64 = 572baa54d9191e7a26865efde62b9170cea41fdc5c94131ae2089b4b3961d3ab
sha256sums_x86_64 = 0d2ee33fa0a91ea2a93c652fdcc8d50f2b69a3598bc6819f14c57239ce3fcc82
sha256sums_x86_64 = fe1cb7ed940dac645309bbf0ce99c278ded8727a6cab9842bd9f572d205f60a6
diff --git a/.gitignore b/.gitignore
index 53be7b49c4d0..dd68b8693137 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,6 @@
!PKGBUILD
!.SRCINFO
!thanos
-!thanos.service
+!*.service
!thanos.sysuser
-!thanos.conf
+!*.conf
diff --git a/PKGBUILD b/PKGBUILD
index e9814b1eee16..776c48cace32 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
_pkgname=thanos
pkgname=prometheus-$_pkgname
pkgver=0.3.0
-pkgrel=1
+pkgrel=2
pkgdesc="Highly available Prometheus setup with long term storage capabilities. (binary, not built from source)"
arch=("x86_64")
url="https://github.com/improbable-eng/thanos"
@@ -16,12 +16,28 @@ backup=("etc/thanos/sidecar.conf"
"etc/thanos/rule.conf"
"etc/thanos/compact.conf")
-source_x86_64=("thanos.service"
- "thanos.conf"
+source_x86_64=("thanos-sidecar.service"
+ "thanos-store.service"
+ "thanos-query.service"
+ "thanos-rule.service"
+ "thanos-compact.service"
+ "thanos-sidecar.conf"
+ "thanos-store.conf"
+ "thanos-query.conf"
+ "thanos-rule.conf"
+ "thanos-compact.conf"
"thanos.sysuser"
"https://github.com/improbable-eng/$_pkgname/releases/download/v$pkgver/$_pkgname-$pkgver.linux-amd64.tar.gz")
-sha256sums_x86_64=('3bb9ad1cc585cc69ce2177e5d219fb190823b076c7f8414a0ef07da2eea375cd'
- '97a2a76ded469808b7d086dc02a63a9f45c535831763fc33ebd99528dceb437e'
+sha256sums_x86_64=('b1b266f51d558b9ca6c9b726c697c72a91e6979ac841b4f5991ae17cd35ad2f2'
+ 'b48a1cdd78c56e010655a015bd89a06ae8b8ba9043aba7a518a9254a735b8f5d'
+ 'f14e3dab682a4e2777ed4c02da1d2be677327f166588767047aa10e853f7d928'
+ '0e8b5a5be042c6bdb1f279bd835720007d13ea7624592aab0703fc1b8c871b75'
+ '03b829963a127cd8d65cd3da331a36cd8309517baad46aaed411ac16adb7f3f7'
+ 'ee773959c8a399ebef04c55bdef28767e3fe9618216515a9070489e587969721'
+ '5213e5e7187acddb5c2199782fdd0ca85aad93c221162c020c1cea1607b12a0c'
+ '29b5dc83449240ecd9554cead75196e4e4843da3b2ce62db66c9bac04c847027'
+ 'f9eca0f9a2751255af2a1f3b992cd8a168851a296e0466c7c4a47ec804f46f74'
+ '572baa54d9191e7a26865efde62b9170cea41fdc5c94131ae2089b4b3961d3ab'
'0d2ee33fa0a91ea2a93c652fdcc8d50f2b69a3598bc6819f14c57239ce3fcc82'
'fe1cb7ed940dac645309bbf0ce99c278ded8727a6cab9842bd9f572d205f60a6')
@@ -32,17 +48,26 @@ package() {
install -D -m0755 thanos "${pkgdir}/usr/bin/thanos"
# Install SystemD Service File
- install -D -m0644 "${srcdir}/thanos.service" "${pkgdir}/usr/lib/systemd/system/thanos@.service"
+ install -D -m0644 "${srcdir}/thanos-sidecar.service" "${pkgdir}/usr/lib/systemd/system/thanos-sidecar.service"
+ install -D -m0644 "${srcdir}/thanos-store.service" "${pkgdir}/usr/lib/systemd/system/thanos-store.service"
+ install -D -m0644 "${srcdir}/thanos-query.service" "${pkgdir}/usr/lib/systemd/system/thanos-query.service"
+ install -D -m0644 "${srcdir}/thanos-rule.service" "${pkgdir}/usr/lib/systemd/system/thanos-rule.service"
+ install -D -m0644 "${srcdir}/thanos-compact.service" "${pkgdir}/usr/lib/systemd/system/thanos-compact.service"
install -D -m0644 "${srcdir}/thanos.sysuser" "${pkgdir}/usr/lib/sysusers.d/thanos.conf"
- install -d -m0655 -o212 -g212 "${pkgdir}/etc/thanos/"
- install -d -m0655 -o212 -g212 "${pkgdir}/var/lib/thanos"
+ install -d -m0755 -o212 -g212 "${pkgdir}/etc/thanos/"
+ install -d -m0755 -o212 -g212 "${pkgdir}/etc/thanos/rules/"
+ install -d -m0755 -o212 -g212 "${pkgdir}/var/lib/thanos/compact/"
+ install -d -m0755 -o212 -g212 "${pkgdir}/var/lib/thanos/rule/"
+ install -d -m0755 -o212 -g212 "${pkgdir}/var/lib/thanos/sidecar/"
+ install -d -m0755 -o212 -g212 "${pkgdir}/var/lib/thanos/sidecar/upload"
+ ln -s "/var/lib/prometheus/data/wal" "${pkgdir}/var/lib/thanos/sidecar/wal"
# Install thanos config
- install -D -m644 -o212 -g212 "${srcdir}/thanos.conf" "${pkgdir}/etc/thanos/sidecar.conf"
- install -D -m644 -o212 -g212 "${srcdir}/thanos.conf" "${pkgdir}/etc/thanos/store.conf"
- install -D -m644 -o212 -g212 "${srcdir}/thanos.conf" "${pkgdir}/etc/thanos/query.conf"
- install -D -m644 -o212 -g212 "${srcdir}/thanos.conf" "${pkgdir}/etc/thanos/rule.conf"
- install -D -m644 -o212 -g212 "${srcdir}/thanos.conf" "${pkgdir}/etc/thanos/compact.conf"
+ install -D -m644 -o212 -g212 "${srcdir}/thanos-sidecar.conf" "${pkgdir}/etc/thanos/sidecar.conf"
+ install -D -m644 -o212 -g212 "${srcdir}/thanos-store.conf" "${pkgdir}/etc/thanos/store.conf"
+ install -D -m644 -o212 -g212 "${srcdir}/thanos-query.conf" "${pkgdir}/etc/thanos/query.conf"
+ install -D -m644 -o212 -g212 "${srcdir}/thanos-rule.conf" "${pkgdir}/etc/thanos/rule.conf"
+ install -D -m644 -o212 -g212 "${srcdir}/thanos-compact.conf" "${pkgdir}/etc/thanos/compact.conf"
}
diff --git a/thanos-compact.conf b/thanos-compact.conf
new file mode 100644
index 000000000000..5d858d31fe6f
--- /dev/null
+++ b/thanos-compact.conf
@@ -0,0 +1,47 @@
+# Log filtering level.
+LOG_LEVEL="--log.level=info"
+
+# Log format to use.
+LOG_FORMAT="--log.format=logfmt"
+
+# GCP project to send Google Cloud Trace tracings to.
+# If empty, tracing will be disabled.
+#GCLOUDTRACE_PROJECT="--gcloudtrace.project=GCLOUDTRACE.PROJECT"
+
+# How often we send traces (1/<sample-factor>).
+# If 0 no trace will be sent periodically, unless forced
+# by baggage item. See `pkg/tracing/tracing.go` for details.
+#GCLOUDTRACE_SAMPLE="--gcloudtrace.sample-factor=1"
+
+# Listen host:port for HTTP endpoints.
+#HTTP_ADDRESS="--http-address=0.0.0.0:10902"
+
+# Data directory in which to cache blocks and process compactions.
+DATA_DIR="--data-dir=/var/lib/thanos/compact/data"
+
+# Path to YAML file that contains object store configuration.
+#OBJSTORE_CONFIG_FILE="--objstore.config-file=<bucket.config-yaml-path>"
+
+# Alternative to 'objstore.config-file' flag. Object
+# store configuration in YAML.
+#OBJSTORE_CONFIG"--objstore.config=<bucket.config-yaml>"
+
+# Minimum age of fresh (non-compacted) blocks before
+# they are being processed.
+#SYNC_DELAY="--sync-delay=30m"
+
+# How long to retain raw samples in bucket.
+# 0d - disables this retention
+RETENTION_RESOLUTION_RAW="--retention.resolution-raw=0d"
+
+# How long to retain samples of resolution 1 (5
+# minutes) in bucket. 0d - disables this retention
+RETENTION_RESOLUTION_5M="--retention.resolution-5m=0d"
+
+# How long to retain samples of resolution 2 (1 hour)
+# in bucket. 0d - disables this retention
+RETENTION_RESOLUTION="--retention.resolution-1h=0d"
+
+# Do not exit after all compactions have been processed
+# and wait for new work.
+WAIT="--wait"
diff --git a/thanos-compact.service b/thanos-compact.service
new file mode 100644
index 000000000000..56bcbb809c63
--- /dev/null
+++ b/thanos-compact.service
@@ -0,0 +1,30 @@
+[Unit]
+Description=Thanos Compact
+Requires=network-online.target
+After=network-online.target
+
+[Service]
+User=thanos
+Group=thanos
+Restart=on-failure
+EnvironmentFile=-/etc/thanos/compact.conf
+ExecStart=/usr/bin/thanos comact \
+ $LOG_LEVEL \
+ $LOG_FORMAT \
+ $GCLOUDTRACE_PROJECT \
+ $GCLOUDTRACE_SAMPLE \
+ $HTTP_ADDRESS \
+ $DATA_DIR \
+ $OBJSTORE_CONFIG_FILE \
+ $OBJSTORE_CONFIG \
+ $SYNC_DELAY \
+ $RETENTION_RESOLUTION_RAW \
+ $RETENTION_RESOLUTION_5M \
+ $RETENTION_RESOLUTION \
+ $WAIT
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
+
+
diff --git a/thanos-query.conf b/thanos-query.conf
new file mode 100644
index 000000000000..77174ff953f6
--- /dev/null
+++ b/thanos-query.conf
@@ -0,0 +1,172 @@
+# Log filtering level.
+LOG_LEVEL="--log.level=info"
+
+# Log format to use.
+LOG_FORMAT="--log.format=logfmt"
+
+# GCP project to send Google Cloud Trace tracings to.
+# If empty, tracing will be disabled.
+#GCLOUDTRACE_PROJECT="--gcloudtrace.project=GCLOUDTRACE.PROJECT"
+
+# How often we send traces (1/<sample-factor>).
+# If 0 no trace will be sent periodically, unless forced
+# by baggage item. See `pkg/tracing/tracing.go` for details.
+#GCLOUDTRACE_SAMPLE="--gcloudtrace.sample-factor=1"
+
+# Listen ip:port address for gRPC endpoints (StoreAPI).
+# Make sure this address is routable from other components
+# if you use gossip, 'grpc-advertise-address'
+# is empty and you require cross-node connection.
+#GRPC_ADDRESS="--grpc-address=0.0.0.0:10901"
+
+# Explicit (external) host:port address to advertise
+# for gRPC StoreAPI in gossip cluster. If empty, 'grpc-address' will be used.
+#GRPC_ADVERTISE_ADDRESS="--grpc-advertise-address=GRPC-ADVERTISE-ADDRESS"
+
+# TLS Certificate for gRPC server, leave blank to disable TLS
+#GRPC_SERVER_TLS_CERT="--grpc-server-tls-cert="
+
+# TLS Key for the gRPC server, leave blank to disable TLS
+#GRPC_SERVER_TLS_KEY="--grpc-server-tls-key="
+
+# TLS CA to verify clients against. If no client CA is specified,
+# there is no client verification on server side. (tls.NoClientCert)
+#GRPC_SERVER_TLS_CLIENT_CA="--grpc-server-tls-client-ca="
+
+# Listen host:port for HTTP endpoints.
+#HTTP_ADDRESS="--http-address=0.0.0.0:10902"
+
+# Listen ip:port address for gossip cluster.
+#CLUSTER_ADDRESS="--cluster.address=0.0.0.0:10900"
+
+# Explicit (external) ip:port address to advertise for gossip
+# in gossip cluster. Used internally for membership only.
+#CLUSTER_ADVERTISE_ADDRESS="--cluster.advertise-address="
+
+# Initial peers to join the cluster. It can be either <ip:port>,
+# or <domain:port>. A lookup resolution is done only at the startup.
+#CLUSTER_PEERS="--cluster.peers="
+
+# Interval between sending gossip messages.
+# By lowering this value (more frequent) gossip messages are propagated
+# across the cluster more quickly at the expense of increased bandwidth.
+# Default is used from a specified network-type.
+#CLUSTER_GOSSIP_INTERVAL="--cluster.gossip-interval="
+
+# Interval for gossip state syncs. Setting this interval lower (more frequent)
+# will increase convergence speeds across larger clusters at the expense of
+# increased bandwidth usage. Default is used from a specified network-type.
+#CLUSTER_PUSHPULL_INTERVAL="--cluster.pushpull-interval="
+
+# Interval for membership to refresh cluster.peers state, 0 disables refresh.
+#CLUSTER_REFRESH_INTERVAL="--cluster.refresh-interval=1m"
+
+# Initial secret key to encrypt cluster gossip.
+# Can be one of AES-128, AES-192, or AES-256 in hexadecimal format.
+#CLUSTER_SECRET_KEY="--cluster.secret-key=CLUSTER.SECRET-KEY"
+
+# Network type with predefined peers configurations.
+# Sets of configurations accounting the latency differences between network types: local, lan, wan.
+CLUSTER_NETWORK_TYPE="--cluster.network-type=lan"
+
+# If true gossip will be disabled and no cluster related server will be started.
+#CLUSTER_DISABLE="--cluster.disable"
+
+# Explicit (external) host:port address to
+# advertise for HTTP QueryAPI in gossip cluster.
+# If empty, 'http-address' will be used.
+#HTTP_ADVERTISE_ADDRESS="--http-advertise-address=HTTP-ADVERTISE-ADDRESS"
+
+# Use TLS when talking to the gRPC server
+#GRPC_CLIENT_TLS_SECURE="--grpc-client-tls-secure"
+
+# TLS Certificates to use to identify this client
+# to the server
+#GRPC_CLIENT_TLS_CERT="--grpc-client-tls-cert="
+
+# TLS Key for the client's certificate
+#GRPC_CLIENT_TLS_KEY="--grpc-client-tls-key="
+
+# TLS CA Certificates to use to verify gRPC
+# servers
+#GRPC_CLIENT_TLS_CA="--grpc-client-tls-ca="
+
+# Server name to verify the hostname on the
+# returned gRPC certificates. See
+# https://tools.ietf.org/html/rfc4366#section-3.1
+#GRPC_CLIENT_SERVER_NAME="--grpc-client-server-name="
+
+# Prefix for API and UI endpoints. This allows
+# thanos UI to be served on a sub-path. This
+# option is analogous to --web.route-prefix of
+# Promethus.
+#WEB_ROUTE_PREFIX="--web.route-prefix="
+
+# Static prefix for all HTML links and redirect
+# URLs in the UI query web interface. Actual
+# endpoints are still served on / or the
+# web.route-prefix. This allows thanos UI to be
+# served behind a reverse proxy that strips a URL
+# sub-path.
+#WEB_EXTERNAL_PREFIX="--web.external-prefix="
+
+# Name of HTTP request header used for dynamic
+# prefixing of UI links and redirects. This
+# option is ignored if web.external-prefix
+# argument is set. Security risk: enable this
+# option only if a reverse proxy in front of
+# thanos is resetting the header. The
+# --web.prefix-header=X-Forwarded-Prefix option
+# can be useful, for example, if Thanos UI is
+# served via Traefik reverse proxy with
+# PathPrefixStrip option enabled, which sends the
+# stripped prefix value in X-Forwarded-Prefix
+# header. This allows thanos UI to be served on a
+# sub-path.
+#WEB_PREFIX_HEADER="--web.prefix-header="
+
+# Maximum time to process query by query node.
+QUERY_TIMEOUT="--query.timeout=2m"
+
+# Maximum number of queries processed
+# concurrently by query node.
+QUERY_MAX_CONCURRENT="--query.max-concurrent=20"
+
+# Label to treat as a replica indicator along
+# which data is deduplicated. Still you will be
+# able to query without deduplication using
+# 'dedup=false' parameter.
+#QUERY_REPLICA_LABEL="--query.replica-label=QUERY.REPLICA-LABEL"
+
+# Query selector labels that will be exposed in
+# info endpoint (repeated).
+#SELECTOR_LABEL="--selector-label=<name>=<value>"
+
+# Addresses of statically configured store API
+# servers (repeatable). The scheme may be
+# prefixed with 'dns+' or 'dnssrv+' to detect
+# store API servers through respective DNS
+# lookups.
+#STORE="--store="
+
+# Path to files that contain addresses of store
+# API servers. The path can be a glob pattern
+# (repeatable).
+#STORE_SD_FILES="--store.sd-files=<path>"
+
+# Refresh interval to re-read file SD files.
+# It is used as a resync fallback.
+#STORE_SD_INTERVAL="--store.sd-interval=5m"
+
+# Interval between DNS resolutions.
+#STORE_SD_DNS_INTERVAL="--store.sd-dns-interval=30s"
+
+# Enable automatic adjustment (step / 5) to what
+# source of data should be used in store gateways
+# if no max_source_resolution param is specified.
+QUERY_AUTO_DOWNSAMPLING="--query.auto-downsampling"
+
+# Enable partial response for queries if no
+# partial_response param is specified.
+QUERY_PARTIAL_RESPONSE="--query.partial-response"
+
diff --git a/thanos-query.service b/thanos-query.service
new file mode 100644
index 000000000000..8fd9c68a12a6
--- /dev/null
+++ b/thanos-query.service
@@ -0,0 +1,54 @@
+[Unit]
+Description=Thanos Query node exposing PromQL enabled Query API with data retrieved from multiple store nodes
+Requires=network-online.target
+After=network-online.target
+
+[Service]
+User=thanos
+Group=thanos
+Restart=on-failure
+EnvironmentFile=-/etc/thanos/query.conf
+ExecStart=/usr/bin/thanos query \
+ $LOG_LEVEL \
+ $LOG_FORMAT \
+ $GCLOUDTRACE_PROJECT \
+ $GCLOUDTRACE_SAMPLE \
+ $GRPC_ADDRESS \
+ $GRPC_ADVERTISE_ADDRESS \
+ $GRPC_SERVER_TLS_CERT \
+ $GRPC_SERVER_TLS_KEY \
+ $GRPC_SERVER_TLS_CLIENT_CA \
+ $HTTP_ADDRESS \
+ $CLUSTER_ADDRESS \
+ $CLUSTER_ADVERTISE_ADDRESS \
+ $CLUSTER_PEERS \
+ $CLUSTER_GOSSIP_INTERVAL \
+ $CLUSTER_PUSHPULL_INTERVAL \
+ $CLUSTER_REFRESH_INTERVAL \
+ $CLUSTER_SECRET_KEY \
+ $CLUSTER_NETWORK_TYPE \
+ $CLUSTER_DISABLE \
+ $HTTP_ADVERTISE_ADDRESS \
+ $GRPC_CLIENT_TLS_SECURE \
+ $GRPC_CLIENT_TLS_CERT \
+ $GRPC_CLIENT_TLS_KEY \
+ $GRPC_CLIENT_TLS_CA \
+ $GRPC_CLIENT_SERVER_NAME \
+ $WEB_ROUTE_PREFIX \
+ $WEB_EXTERNAL_PREFIX \
+ $WEB_PREFIX_HEADER \
+ $QUERY_TIMEOUT \
+ $QUERY_MAX_CONCURRENT \
+ $QUERY_REPLICA_LABEL \
+ $SELECTOR_LABEL \
+ $STORE \
+ $STORE_SD_FILES \
+ $STORE_SD_INTERVAL \
+ $STORE_SD_DNS_INTERVAL \
+ $QUERY_AUTO_DOWNSAMPLING \
+ $QUERY_PARTIAL_RESPONSE
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/thanos-rule.conf b/thanos-rule.conf
new file mode 100644
index 000000000000..2c02bb93b201
--- /dev/null
+++ b/thanos-rule.conf
@@ -0,0 +1,175 @@
+# Log filtering level.
+LOG_LEVEL="--log.level=info"
+
+# Log format to use.
+LOG_FORMAT="--log.format=logfmt"
+
+# GCP project to send Google Cloud Trace tracings to.
+# If empty, tracing will be disabled.
+#GCLOUDTRACE_PROJECT="--gcloudtrace.project=GCLOUDTRACE.PROJECT"
+
+# How often we send traces (1/<sample-factor>).
+# If 0 no trace will be sent periodically, unless forced
+# by baggage item. See `pkg/tracing/tracing.go` for details.
+#GCLOUDTRACE_SAMPLE="--gcloudtrace.sample-factor=1"
+
+# Listen ip:port address for gRPC endpoints (StoreAPI).
+# Make sure this address is routable from other components
+# if you use gossip, 'grpc-advertise-address'
+# is empty and you require cross-node connection.
+#GRPC_ADDRESS="--grpc-address=0.0.0.0:10901"
+
+# Explicit (external) host:port address to advertise
+# for gRPC StoreAPI in gossip cluster. If empty, 'grpc-address' will be used.
+#GRPC_ADVERTISE_ADDRESS="--grpc-advertise-address=GRPC-ADVERTISE-ADDRESS"
+
+# TLS Certificate for gRPC server, leave blank to disable TLS
+#GRPC_SERVER_TLS_CERT="--grpc-server-tls-cert="
+
+# TLS Key for the gRPC server, leave blank to disable TLS
+#GRPC_SERVER_TLS_KEY="--grpc-server-tls-key="
+
+# TLS CA to verify clients against. If no client CA is specified,
+# there is no client verification on server side. (tls.NoClientCert)
+#GRPC_SERVER_TLS_CLIENT_CA="--grpc-server-tls-client-ca="
+
+# Listen host:port for HTTP endpoints.
+#HTTP_ADDRESS="--http-address=0.0.0.0:10902"
+
+# Listen ip:port address for gossip cluster.
+#CLUSTER_ADDRESS="--cluster.address=0.0.0.0:10900"
+
+# Explicit (external) ip:port address to advertise for gossip
+# in gossip cluster. Used internally for membership only.
+#CLUSTER_ADVERTISE_ADDRESS="--cluster.advertise-address="
+
+# Initial peers to join the cluster. It can be either <ip:port>,
+# or <domain:port>. A lookup resolution is done only at the startup.
+#CLUSTER_PEERS="--cluster.peers="
+
+# Interval between sending gossip messages.
+# By lowering this value (more frequent) gossip messages are propagated
+# across the cluster more quickly at the expense of increased bandwidth.
+# Default is used from a specified network-type.
+#CLUSTER_GOSSIP_INTERVAL="--cluster.gossip-interval="
+
+# Interval for gossip state syncs. Setting this interval lower (more frequent)
+# will increase convergence speeds across larger clusters at the expense of
+# increased bandwidth usage. Default is used from a specified network-type.
+#CLUSTER_PUSHPULL_INTERVAL="--cluster.pushpull-interval="
+
+# Interval for membership to refresh cluster.peers state, 0 disables refresh.
+#CLUSTER_REFRESH_INTERVAL="--cluster.refresh-interval=1m"
+
+# Initial secret key to encrypt cluster gossip.
+# Can be one of AES-128, AES-192, or AES-256 in hexadecimal format.
+#CLUSTER_SECRET_KEY="--cluster.secret-key=CLUSTER.SECRET-KEY"
+
+# Network type with predefined peers configurations.
+# Sets of configurations accounting the latency differences between network types: local, lan, wan.
+#CLUSTER_NETWORK_TYPE="--cluster.network-type=lan"
+
+# If true gossip will be disabled and no cluster related server will be started.
+#CLUSTER_DISABLE="--cluster.disable"
+
+# Labels to be applied to all generated metrics
+# (repeated). Similar to external labels for
+# Prometheus, used to identify ruler and its
+# blocks as unique source.
+#LABEL="--label=<name>=<value>"
+
+# data directory
+DATA="--data-dir=/var/lib/thanos/rule"
+
+# Rule files that should be used by rule manager.
+# Can be in glob format (repeated).
+#RULE_FILE"--rule-file=/etc/thanos/rules/"
+
+# The default evaluation interval to use.
+#EVAL_INTERVAL="--eval-interval=30s"
+
+# Block duration for TSDB block.
+TSDB_BLOCK="--tsdb.block-duration=2h"
+
+# Block retention time on local disk.
+TSDB_RETENTION="--tsdb.retention=48h"
+
+# Alertmanager replica URLs to push firing
+# alerts. Ruler claims success if push to at
+# least one alertmanager from discovered
+# succeeds. The scheme may be prefixed with
+# 'dns+' or 'dnssrv+' to detect Alertmanager IPs
+# through respective DNS lookups. The port
+# defaults to 9093 or the SRV record's value. The
+# URL path is used as a prefix for the regular
+# Alertmanager API path.
+#ALERTMANAGERS_URL="--alertmanagers.url=ALERTMANAGERS.URL"
+
+# Timeout for sending alerts to alertmanager
+#ALERTMANAGERS_SEND="--alertmanagers.send-timeout=10s"
+
+# The external Thanos Query URL that would be set
+# in all alerts 'Source' field
+#ALERT_QUERY_URL="--alert.query-url=ALERT.QUERY-URL"
+
+# Labels by name to drop before sending to
+# alertmanager. This allows alert to be
+# deduplicated on replica label (repeated).
+# Similar Prometheus alert relabelling
+#ALERT_LABEL_DROP="--alert.label-drop=ALERT.LABEL-DROP"
+
+# Prefix for API and UI endpoints. This allows
+# thanos UI to be served on a sub-path. This
+# option is analogous to --web.route-prefix of
+# Promethus.
+#WEB_ROUTE_PREFIX="--web.route-prefix="
+
+# Static prefix for all HTML links and redirect
+# URLs in the UI query web interface. Actual
+# endpoints are still served on / or the
+# web.route-prefix. This allows thanos UI to be
+# served behind a reverse proxy that strips a URL
+# sub-path.
+#WEB_EXTERNAL_PREFIX="--web.external-prefix="
+
+# Name of HTTP request header used for dynamic
+# prefixing of UI links and redirects. This
+# option is ignored if web.external-prefix
+# argument is set. Security risk: enable this
+# option only if a reverse proxy in front of
+# thanos is resetting the header.
+# The--web.prefix-header=X-Forwarded-Prefix option
+# can be useful, for example, if Thanos UI is
+# served via Traefik reverse proxy with
+# PathPrefixStrip option enabled, which sends the
+# stripped prefix value in X-Forwarded-Prefix
+# header. This allows thanos UI to be served on a
+# sub-path.
+#WEB_PREFIX_HEADERS="--web.prefix-header="
+
+# Path to YAML file that contains object store
+# configuration.
+#OBJSTORE_CONFIG_FILE="--objstore.config-file=<bucket.config-yaml-path>"
+
+# Alternative to 'objstore.config-file' flag.
+# Object store configuration in YAML.
+#OBJSTORE_CONFIG="--objstore.config=<bucket.config-yaml>"
+
+# Addresses of statically configured query API
+# servers (repeatable). The scheme may be
+# prefixed with 'dns+' or 'dnssrv+' to detect
+# query API servers through respective DNS lookups.
+#QUERY="--query=<query>"
+
+# Path to file that contain addresses of query
+# peers. The path can be a glob pattern
+# (repeatable).
+#QUERY_SD_FILES="--query.sd-files=<path>"
+
+# Refresh interval to re-read file SD files.
+# (used as a fallback)
+#QUERY_SD_INTERVAL="--query.sd-interval=5m"
+
+# Interval between DNS resolutions.
+#QUERY_SD_DNS_INTERVAL="--query.sd-dns-interval=30s"
+
diff --git a/thanos-rule.service b/thanos-rule.service
new file mode 100644
index 000000000000..99a75c9c0429
--- /dev/null
+++ b/thanos-rule.service
@@ -0,0 +1,55 @@
+[Unit]
+Description=Thanos Ruler evaluating Prometheus rules against given Query nodes, exposing Store API and storing old blocks in bucket
+Requires=network-online.target
+After=network-online.target
+
+[Service]
+User=thanos
+Group=thanos
+Restart=on-failure
+EnvironmentFile=-/etc/thanos/rule.conf
+ExecStart=/usr/bin/thanos rule \
+ $LOG_LEVEL \
+ $LOG_FORMAT \
+ $GCLOUDTRACE_PROJECT \
+ $GCLOUDTRACE_SAMPLE \
+ $GRPC_ADDRESS \
+ $GRPC_ADVERTISE_ADDRESS \
+ $GRPC_SERVER_TLS_CERT \
+ $GRPC_SERVER_TLS_KEY \
+ $GRPC_SERVER_TLS_CLIENT_CA \
+ $HTTP_ADDRESS \
+ $CLUSTER_ADDRESS \
+ $CLUSTER_ADVERTISE_ADDRESS \
+ $CLUSTER_PEERS \
+ $CLUSTER_GOSSIP_INTERVAL \
+ $CLUSTER_PUSHPULL_INTERVAL \
+ $CLUSTER_REFRESH_INTERVAL \
+ $CLUSTER_SECRET_KEY \
+ $CLUSTER_NETWORK_TYPE \
+ $CLUSTER_DISABLE \
+ $LABEL \
+ $DATA \
+ $RULE_FILE \
+ $EVAL_INTERVAL \
+ $TSDB_BLOCK \
+ $TSDB_RETENTION \
+ $ALERTMANAGERS_URL \
+ $ALERTMANAGERS_SEND \
+ $ALERT_QUERY_URL \
+ $ALERT_LABEL_DROP \
+ $WEB_ROUTE_PREFIX \
+ $WEB_EXTERNAL_PREFIX \
+ $WEB_PREFIX_HEADERS \
+ $OBJSTORE_CONFIG_FILE \
+ $OBJSTORE_CONFIG \
+ $QUERY \
+ $QUERY_SD_FILES \
+ $QUERY_SD_INTERVAL \
+ $QUERY_SD_DNS_INTERVAL
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
+
+
diff --git a/thanos-sidecar.conf b/thanos-sidecar.conf
new file mode 100644
index 000000000000..0a0c23374c9b
--- /dev/null
+++ b/thanos-sidecar.conf
@@ -0,0 +1,97 @@
+# Log filtering level.
+LOG_LEVEL="--log.level=info"
+
+# Log format to use.
+LOG_FORMAT="--log.format=logfmt"
+
+# GCP project to send Google Cloud Trace tracings to.
+# If empty, tracing will be disabled.
+#GCLOUDTRACE_PROJECT="--gcloudtrace.project=GCLOUDTRACE.PROJECT"
+
+# How often we send traces (1/<sample-factor>).
+# If 0 no trace will be sent periodically, unless forced by baggage item.
+# See `pkg/tracing/tracing.go` for details.
+#GCLOUDTRACE_SAMPLE="--gcloudtrace.sample-factor=1"
+
+# Listen ip:port address for gRPC endpoints (StoreAPI).
+# Make sure this address is routable from other components if you use gossip,
+# 'grpc-advertise-address' is empty and you require cross-node connection.
+#GRPC_ADDRESS="--grpc-address=0.0.0.0:10901"
+
+# Explicit (external) host:port address to advertise for gRPC StoreAPI
+# in gossip cluster. If empty, 'grpc-address' will be used.
+#GRPC_ADVERTISE_ADDRESS="--grpc-advertise-address=GRPC-ADVERTISE-ADDRESS"
+
+# TLS Certificate for gRPC server, leave blank to disable TLS
+#GRPC_SERVER_TLS_CERT="--grpc-server-tls-cert="
+
+# TLS Key for the gRPC server, leave blank to disable TLS
+#GRPC_SERVER_TLS_KEY="--grpc-server-tls-key="
+
+# TLS CA to verify clients against. If no client CA is specified,
+# there is no client verification on server side. (tls.NoClientCert)
+#GRPC_SERVER_TLS_CLIENT_CA="--grpc-server-tls-client-ca="
+
+# Listen host:port for HTTP endpoints.
+#HTTP_ADDRESS="--http-address=0.0.0.0:10902"
+
+# Listen ip:port address for gossip cluster.
+#CLUSTER_ADDRESS="--cluster.address=0.0.0.0:10900"
+
+# Explicit (external) ip:port address to advertise for gossip in gossip cluster.
+# Used internally for membership only.
+#CLUSTER_ADVERTISE_ADDRESS="--cluster.advertise-address="
+
+# Initial peers to join the cluster.
+# It can be either <ip:port>, or <domain:port>.
+# A lookup resolution is done only at the startup.
+#CLUSTER_PEERS="--cluster.peers="
+
+# Interval between sending gossip messages.
+# By lowering this value (more frequent) gossip messages are propagated across
+# the cluster more quickly at the expense of increased bandwidth.
+# Default is used from a specified network-type.
+#CLUSTER_GOSSIP_INTERVAL="--cluster.gossip-interval="
+
+# Interval for gossip state syncs. Setting this interval lower (more frequent)
+# will increase convergence speeds across larger clusters at the expense of
+# increased bandwidth usage. Default is used from a specified network-type.
+#CLUSTER_PUSHPULL_INTERVAL="--cluster.pushpull-interval="
+
+# Interval for membership to refresh cluster.peers state, 0 disables refresh.
+#CLUSTER_REFRESH_INTERVAL="--cluster.refresh-interval=1m"
+
+# Initial secret key to encrypt cluster gossip.
+# Can be one of AES-128, AES-192, or AES-256 in hexadecimal format.
+#CLUSTER_SECRET_KEY="--cluster.secret-key=CLUSTER.SECRET-KEY"
+
+# Network type with predefined peers configurations.
+# Sets of configurations accounting the latency differences between network types: local, lan, wan.
+CLUSTER_NETWORK_TYPE="--cluster.network-type=lan"
+
+# If true gossip will be disabled and no cluster related server will be started.
+#CLUSTER_DISABLE="--cluster.disable"
+
+# URL at which to reach Prometheus's API.
+# For better performance use local network.
+#PROMETHEUS_URL="--prometheus.url=http://localhost:9090"
+
+# Data directory of TSDB.
+TSDB_PATH="--tsdb.path=/var/lib/thanos/data"
+
+# Config file watched by the reloader.
+#RELOADER_CONFIG="--reloader.config-file="
+
+# Output file for environment variable substituted config file.
+#RELOADER_CONFIG_ENVSUBST_FILE="--reloader.config-envsubst-file="
+
+# Rule directories for the reloader to refresh (repeated field).
+#RELOADER_RULE_DIR="--reloader.rule-dir=RELOADER.RULE-DIR"
+
+# Path to YAML file that contains object store configuration.
+#OBJSTORE_CONFIG_FILE="--objstore.config-file="
+
+# Alternative to 'objstore.config-file' flag. Object store configuration in YAML.
+#OBJSTORE_CONFIG="--objstore.config="
+
+
diff --git a/thanos-sidecar.service b/thanos-sidecar.service
new file mode 100644
index 000000000000..65af216d63d5
--- /dev/null
+++ b/thanos-sidecar.service
@@ -0,0 +1,44 @@
+[Unit]
+Description=Thanos Sidecar for Prometheus server
+Requires=network-online.target
+After=network-online.target
+
+[Service]
+User=thanos
+Group=thanos
+Restart=on-failure
+EnvironmentFile=-/etc/thanos/sidecar.conf
+ExecStart=/usr/bin/thanos sidecar \
+ $LOG_LEVEL \
+ $LOG_FORMAT \
+ $GCLOUDTRACE_PROJECT \
+ $GCLOUDTRACE_SAMPLE \
+ $GRPC_ADDRESS \
+ $GRPC_ADVERTISE_ADDRESS \
+ $GRPC_SERVER_TLS_CERT \
+ $GRPC_SERVER_TLS_KEY \
+ $GRPC_SERVER_TLS_CLIENT_CA \
+ $HTTP_ADDRESS \
+ $CLUSTER_ADDRESS \
+ $CLUSTER_ADVERTISE_ADDRESS \
+ $CLUSTER_PEERS \
+ $CLUSTER_GOSSIP_INTERVAL \
+ $CLUSTER_PUSHPULL_INTERVAL \
+ $CLUSTER_REFRESH_INTERVAL \
+ $CLUSTER_SECRET_KEY \
+ $CLUSTER_NETWORK_TYPE \
+ $CLUSTER_DISABLE \
+ $PROMETHEUS_URL \
+ $TSDB_PATH \
+ $RELOADER_CONFIG \
+ $RELOADER_CONFIG_ENVSUBST_FILE \
+ $RELOADER_RULE_DIR \
+ $OBJSTORE_CONFIG_FILE \
+ $OBJSTORE_CONFIG
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
+
+
+
diff --git a/thanos-store.conf b/thanos-store.conf
new file mode 100644
index 000000000000..a84de8564076
--- /dev/null
+++ b/thanos-store.conf
@@ -0,0 +1,120 @@
+# Log filtering level.
+LOG_LEVEL="--log.level=info"
+
+# Log format to use.
+LOG_FORMAT="--log.format=logfmt"
+
+# GCP project to send Google Cloud Trace tracings to.
+# If empty, tracing will be disabled.
+#GCLOUDTRACE_PROJECT="--gcloudtrace.project=GCLOUDTRACE.PROJECT"
+
+# How often we send traces (1/<sample-factor>).
+# If 0 no trace will be sent periodically, unless forced by baggage item.
+# See `pkg/tracing/tracing.go` for details.
+#GCLOUDTRACE_SAMPLE="--gcloudtrace.sample-factor=1"
+
+# Listen ip:port address for gRPC endpoints (StoreAPI).
+# Make sure this address is routable from other components if you use gossip,
+# 'grpc-advertise-address' is empty and you require cross-node connection.
+#GRPC_ADDRESS="--grpc-address=0.0.0.0:10901"
+
+# Explicit (external) host:port address to advertise for gRPC StoreAPI
+# in gossip cluster. If empty, 'grpc-address' will be used.
+#GRPC_ADVERTISE_ADDRESS="--grpc-advertise-address=GRPC-ADVERTISE-ADDRESS"
+
+# TLS Certificate for gRPC server, leave blank to disable TLS
+#GRPC_SERVER_TLS_CERT="--grpc-server-tls-cert="
+
+# TLS Key for the gRPC server, leave blank to disable TLS
+#GRPC_SERVER_TLS_KEY="--grpc-server-tls-key="
+
+# TLS CA to verify clients against. If no client CA is specified,
+# there is no client verification on server side. (tls.NoClientCert)
+#GRPC_SERVER_TLS_CLIENT_CA="--grpc-server-tls-client-ca="
+
+# Listen host:port for HTTP endpoints.
+#HTTP_ADDRESS="--http-address=0.0.0.0:10902"
+
+# Listen ip:port address for gossip cluster.
+#CLUSTER_ADDRESS="--cluster.address=0.0.0.0:10900"
+
+# Explicit (external) ip:port address to advertise for gossip in gossip cluster.
+# Used internally for membership only.
+#CLUSTER_ADVERTISE_ADDRESS="--cluster.advertise-address="
+
+# Initial peers to join the cluster.
+# It can be either <ip:port>, or <domain:port>.
+# A lookup resolution is done only at the startup.
+#CLUSTER_PEERS="--cluster.peers="
+
+# Interval between sending gossip messages.
+# By lowering this value (more frequent) gossip messages are propagated across
+# the cluster more quickly at the expense of increased bandwidth.
+# Default is used from a specified network-type.
+#CLUSTER_GOSSIP_INTERVAL="--cluster.gossip-interval="
+
+# Interval for gossip state syncs. Setting this interval lower (more frequent)
+# will increase convergence speeds across larger clusters at the expense of
+# increased bandwidth usage. Default is used from a specified network-type.
+#CLUSTER_PUSHPULL_INTERVAL="--cluster.pushpull-interval="
+
+# Interval for membership to refresh cluster.peers state, 0 disables refresh.
+#CLUSTER_REFRESH_INTERVAL="--cluster.refresh-interval=1m"
+
+# Initial secret key to encrypt cluster gossip.
+# Can be one of AES-128, AES-192, or AES-256 in hexadecimal format.
+#CLUSTER_SECRET_KEY="--cluster.secret-key=CLUSTER.SECRET-KEY"
+
+# Network type with predefined peers configurations.
+# Sets of configurations accounting the latency differences between network types: local, lan, wan.
+#CLUSTER_NETWORK_TYPE="--cluster.network-type=lan"
+
+# If true gossip will be disabled and no cluster related server will be started.
+#CLUSTER_DISABLE="--cluster.disable"
+
+# URL at which to reach Prometheus's API.
+# For better performance use local network.
+#PROMETHEUS_URL="--prometheus.url=http://localhost:9090"
+
+# Data directory of TSDB.
+TSDB_PATH="--tsdb.path=/var/lib/thanos/store/data"
+
+# Config file watched by the reloader.
+#RELOADER_CONFIG="--reloader.config-file="
+
+# Output file for environment variable substituted config file.
+#RELOADER_CONFIG_ENVSUBST_FILE="--reloader.config-envsubst-file="
+
+# Rule directories for the reloader to refresh (repeated field).
+#RELOADER_RULE_DIR="--reloader.rule-dir=RELOADER.RULE-DIR"
+
+# Path to YAML file that contains object store configuration.
+#OBJSTORE_CONFIG_FILE="--objstore.config-file="
+
+# Alternative to 'objstore.config-file' flag. Object store configuration in YAML.
+#OBJSTORE_CONFIG="--objstore.config="
+
+# Data directory in which to cache remote blocks.
+DATA_DIR="--data-dir=/var/lib/thanos/store/cache"
+
+# Maximum size of items held in the index cache.
+INDEX_CACHE="--index-cache-size=250MB"
+
+# Maximum size of concurrently allocatable bytes for chunks.
+CHUNK_POOL_SIZE="--chunk-pool-size=2GB"
+
+# Path to YAML file that contains object store configuration.
+#OBJSTORE_CONFIG_FILE="--objstore.config-file=<bucket.config-yaml-path>"
+
+# Alternative to 'objstore.config-file' flag.
+# Object store configuration in YAML.
+#OBJSTORE_CONFIG="--objstore.config=<bucket.config-yaml>"
+
+# Repeat interval for syncing the blocks between
+# local and remote view.
+#SYNC_BLOCK_DURATION="--sync-block-duration=3m"
+
+# Number of goroutines to use when syncing blocks
+# from object storage.
+#SYNC_BLOCK_CONCURRENCY="--block-sync-concurrency=20"
+
diff --git a/thanos-store.service b/thanos-store.service
new file mode 100644
index 000000000000..2f41002775fc
--- /dev/null
+++ b/thanos-store.service
@@ -0,0 +1,50 @@
+[Unit]
+Description=Thanos Store node giving access to blocks in a bucket provider.
+Requires=network-online.target
+After=network-online.target
+
+[Service]
+User=thanos
+Group=thanos
+Restart=on-failure
+EnvironmentFile=-/etc/thanos/store.conf
+ExecStart=/usr/bin/thanos store \
+ $LOG_LEVEL \
+ $LOG_FORMAT \
+ $GCLOUDTRACE_PROJECT \
+ $GCLOUDTRACE_SAMPLE \
+ $GRPC_ADDRESS \
+ $GRPC_ADVERTISE_ADDRESS \
+ $GRPC_SERVER_TLS_CERT \
+ $GRPC_SERVER_TLS_KEY \
+ $GRPC_SERVER_TLS_CLIENT_CA \
+ $HTTP_ADDRESS \
+ $CLUSTER_ADDRESS \
+ $CLUSTER_ADVERTISE_ADDRESS \
+ $CLUSTER_PEERS \
+ $CLUSTER_GOSSIP_INTERVAL \
+ $CLUSTER_PUSHPULL_INTERVAL \
+ $CLUSTER_REFRESH_INTERVAL \
+ $CLUSTER_SECRET_KEY \
+ $CLUSTER_NETWORK_TYPE \
+ $CLUSTER_DISABLE \
+ $PROMETHEUS_URL \
+ $TSDB_PATH \
+ $RELOADER_CONFIG \
+ $RELOADER_CONFIG_ENVSUBST_FILE \
+ $RELOADER_RULE_DIR \
+ $OBJSTORE_CONFIG_FILE \
+ $OBJSTORE_CONFIG \
+ $DATA_DIR \
+ $INDEX_CACHE \
+ $CHUNK_POOL_SIZE \
+ $OBJSTORE_CONFIG_FILE \
+ $OBJSTORE_CONFIG \
+ $SYNC_BLOCK_DURATION \
+ $SYNC_BLOCK_CONCURRENCY
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
+
+
diff --git a/thanos.conf b/thanos.conf
deleted file mode 100644
index 82825d00008f..000000000000
--- a/thanos.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-#THANOS_ARGS="--tsdb.path=/var/lib/prometheus/data"
-#CLUSTER_ARGS="--cluster.address=0.0.0.0:10900 --cluster.network-type=lan"
diff --git a/thanos.service b/thanos.service
deleted file mode 100644
index 1340f503b0e2..000000000000
--- a/thanos.service
+++ /dev/null
@@ -1,21 +0,0 @@
-[Unit]
-Description=Thanos for Prometheus
-Requires=network-online.target
-After=network-online.target
-
-[Service]
-User=thanos
-Group=thanos
-Restart=on-failure
-EnvironmentFile=-/etc/thanos/%i.conf
-ExecStart=/usr/bin/thanos %i $THANOS_ARGS $CLUSTER_ARGS
-ExecReload=/bin/kill -HUP $MAINPID
-NoNewPrivileges=true
-ProtectHome=true
-ProtectSystem=strict
-ReadWritePaths=/var/lib/prometheus
-ConfigurationDirectory=etc/thanos
-StateDirectory=var/lib/thanos
-
-[Install]
-WantedBy=multi-user.target