Skip to content

Commit 8ea1bd7

Browse files
author
Jonathan Chauncey
committed
Merge pull request #71 from jchauncey/template-config
fix(influx): Make influx config a go template
2 parents 9beef58 + 2507a0e commit 8ea1bd7

5 files changed

Lines changed: 123 additions & 129 deletions

File tree

influxdb/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ info:
1111
@echo "Image: ${IMAGE}"
1212

1313
docker-build:
14-
docker build -t $(IMAGE_LATEST) .
14+
docker build -t $(IMAGE_LATEST) _rootfs/
1515
docker tag -f $(IMAGE_LATEST) $(IMAGE)
1616

1717
docker-push:

influxdb/config.toml

Lines changed: 0 additions & 121 deletions
This file was deleted.
Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
FROM alpine:3.2
33
MAINTAINER Jonathan Chauncey "<jchauncey@deis.com>"
44

5-
ENV INFLUX_VERSION "v0.10.0-rc1"
5+
ENV INFLUX_VERSION "v0.10.2"
66
ENV GOPATH /golang
77
ENV INFLUXDB_HOME /influxdb
88
ENV PATH $INFLUXDB_HOME:$PATH
@@ -22,9 +22,9 @@ RUN \
2222
adduser -S -s /bin/bash -G influxdb influxdb
2323

2424
RUN \
25-
apk add --update bash wget git mercurial bzr go && \
26-
mkdir -p $GOPATH/src/github.com/influxdb && \
27-
cd $GOPATH/src/github.com/influxdb && \
25+
apk add --update bash wget git mercurial go && \
26+
mkdir -p $GOPATH/src/github.com/influxdata && \
27+
cd $GOPATH/src/github.com/influxdata && \
2828
git clone https://github.com/influxdata/influxdb.git && \
2929
cd influxdb && \
3030
git checkout -b $INFLUX_VERSION && \
@@ -36,13 +36,19 @@ RUN \
3636
chown -R influxdb:influxdb $INFLUXDB_HOME && \
3737
mkdir -p /data /logs /config && \
3838
chown -R influxdb:influxdb /data /logs /config && \
39-
apk del --purge wget git mercurial bzr go && \
39+
apk del --purge wget git mercurial go && \
4040
rm -rf /var/cache/apk/* /tmp/* /var/tmp/* $GOPATH
4141

4242
RUN mkdir -p /data
4343
VOLUME /data
4444

45-
COPY config.toml /influxdb/config.toml
45+
ADD https://github.com/arschles/envtpl/releases/download/0.1.2/envtpl_linux_amd64 /influxdb/envtpl
46+
COPY config.toml.tpl /influxdb/config.toml.tpl
47+
COPY start-influx /influxdb/start-influx
48+
49+
RUN chmod +x /influxdb/envtpl
50+
RUN chmod +x /influxdb/start-influx
4651

4752
USER influxdb
48-
CMD ["/influxdb/influxd", "-config", "/influxdb/config.toml"]
53+
WORKDIR /influxdb
54+
ENTRYPOINT ["./start-influx"]

influxdb/rootfs/config.toml.tpl

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
reporting-disabled = {{ default false .REPORTING_DISABLED }}
2+
dir = {{ default "" .DIR | quote }}
3+
bind-address = {{ default ":8088" .BIND_ADDRESS | quote }}
4+
5+
[meta]
6+
enabled = {{ default true .META_ENABLED }}
7+
dir = {{ default "/data/meta" .META_DIR | quote }}
8+
bind-address = {{ default ":8088" .META_BIND_ADDRESS | quote }}
9+
http-bind-address = {{ default ":8091" .META_HTTP_BIND_ADDRESS | quote }}
10+
https-enabled = {{ default false .META_HTTPS_ENABLED }}
11+
https-certificate = {{ default "" .META_HTTPS_CERTIFICATE | quote }}
12+
retention-autocreate = {{ default true .META_RETENTION_AUTOCREATE }}
13+
election-timeout = {{ default "1s" .META_ELECTION_TIMEOUT | quote }}
14+
heartbeat-timeout = {{ default "1s" .META_HEARTBEAT_TIMEOUT | quote }}
15+
leader-lease-timeout = {{ default "500ms" .META_LEADER_LEASE_TIMEOUT | quote }}
16+
commit-timeout = {{ default "50ms" .META_COMMIT_TIMEOUT | quote }}
17+
cluster-tracing = {{ default false .META_CLUSTER_TRACING }}
18+
raft-promotion-enabled = {{ default true .META_RAFT_PROMOTION_ENABLED }}
19+
logging-enabled = {{ default false .META_LOGGING.ENABLED }}
20+
pprof-enabled = {{ default false .META_PPROF_ENABLED }}
21+
lease-duration = {{ default "1m0s" .META_LEASE_DURATION | quote }}
22+
23+
[data]
24+
enabled = {{ default true .DATA_ENABLED }}
25+
dir = {{ default "/data/db" .DATA_DIR | quote }}
26+
engine = {{ default "tsm1" .DATA_ENGINE | quote }}
27+
max-wal-size = {{ default 104857600 .DATA_MAX_WAL_SIZE }}
28+
wal-flush-interval = {{ default "10m0s" .DATA_WAL_FLUSH_INTERVAL | quote }}
29+
wal-partition-flush-delay = {{ default "2s" .DATA_WAL_PARTITION_FLUSH_DELAY | quote }}
30+
wal-dir = {{ default "/data/db/wal" .DATA_WAL_DIR | quote }}
31+
wal-logging-enabled = {{ default true .DATA_WAL_LOGGING_ENABLED }}
32+
wal-ready-series-size = {{ default 30720 .DATA_WAL_READY_SERIES_SIZE }}
33+
wal-compaction-threshold = {{ default 0.5 .DATA_WAL_COMPACTION_THRESHOLD }}
34+
wal-max-series-size = {{ default 1048576 .DATA_WAL_MAX_SERIES_SIZE }}
35+
wal-flush-cold-interval = {{ default "5s" .DATA_WAL_FLUSH_COLD_INTERVAL | quote }}
36+
wal-partition-size-threshold = {{ default 52428800 .DATA_WAL_PARTITION_SIZE_THRESHOLD }}
37+
query-log-enabled = {{ default true .DATA_QUERY_LOG_ENABLED }}
38+
cache-max-memory-size = {{ default 524288000 .DATA_CACHE_MAX_MEMORY_SIZE }}
39+
cache-snapshot-memory-size = {{ default 26214400 .DATA_CACHE_SNAPSHOT_MEMORY_SIZE }}
40+
cache-snapshot-write-cold-duration = {{ default "1h0m0s" .DATA_CACHE_SNAPSHOT_WRITE_COLD_DURATION | quote }}
41+
compact-full-write-cold-duration = {{ default "24h0m0s" .DATA_COMPACT_FULL_WRITE_COLD_DURATION | quote }}
42+
max-points-per-block = {{ default 0 .DATA_MAX_POINTS_PER_BLOCK }}
43+
data-logging-enabled = {{ default true .DATA_LOGGING_ENABLED }}
44+
45+
[cluster]
46+
force-remote-mapping = {{ default false .CLUSTER_FORCE_REMOTE_MAPPING }}
47+
write-timeout = {{ default "5s" .CLUSTER_WRITE_TIMEOUT | quote }}
48+
shard-writer-timeout = {{ default "5s" .CLUSTER_SHARD_WRITER_TIMEOUT | quote }}
49+
shard-mapper-timeout = {{ default "5s" .CLUSTER_SHARD_MAPPER_TIMEOUT | quote }}
50+
51+
[retention]
52+
enabled = {{ default true .RETENTION_ENABLED }}
53+
check-interval = {{ default "30m0s" .CHECK_INTERVAL | quote }}
54+
55+
[shard-precreation]
56+
enabled = {{ default true .SHARD_PRECREATION_ENABLED }}
57+
check-interval = {{ default "10m0s" .SHARD_PRECREATION_CHECK_INTERVAL | quote }}
58+
advance-period = {{ default "30m0s" .SHARD_PRECREATION_ADVANCE_PERIOD | quote }}
59+
60+
[admin]
61+
enabled = {{ default true .ADMIN_ENABLED }}
62+
bind-address = {{ default ":8083" .ADMIN_BIND_ADDRESS | quote }}
63+
https-enabled = {{ default false .ADMIN_HTTPS_ENABLED }}
64+
https-certificate = {{ default "/etc/ssl/influxdb.pem" .ADMIN_HTTPS_CERTIFICATE | quote }}
65+
66+
[monitor]
67+
store-enabled = {{ default true .MONITOR_STORE_ENABLED }}
68+
store-database = {{ default "_internal" .MONITOR_STORE_DATABASE | quote }}
69+
store-interval = {{ default "10s" .MONITOR_STORE_INTERVAL | quote }}
70+
71+
[subscriber]
72+
enabled = {{ default true .SUBSCRIBER_ENABLED }}
73+
74+
[http]
75+
enabled = {{ default true .HTTP_ENABLED }}
76+
bind-address = {{ default ":8086" .HTTP_BIND_ADDRESS | quote }}
77+
auth-enabled = {{ default false .HTTP_AUTH_ENABLED }}
78+
log-enabled = {{ default true .HTTP_LOG_ENABLED }}
79+
write-tracing = {{ default false .HTTP_WRITE_TRACING }}
80+
pprof-enabled = {{ default false .HTTP_PPROF_ENABLED }}
81+
https-enabled = {{ default false .HTTP_HTTPS_ENABLED }}
82+
https-certificate = {{ default "/etc/ssl/influxdb.pem" .HTTP_HTTPS_CERTIFICATE | quote }}
83+
84+
85+
[continuous_queries]
86+
log-enabled = {{ default true .CONTINUOUS_QUERIES_LOG_ENABLED }}
87+
enabled = {{ default true .CONTINUOUS_QUERIES_ENABLED }}
88+
run-interval = {{ default "1s" .CONTINUOUS_QUERIES_RUN_INTERVAL | quote }}
89+
90+
[hinted-handoff]
91+
enabled = {{ default true .HINTED_HANDOFF_ENABLED}}
92+
dir = {{ default "/home/influxdb/.influxdb/hh" .HINTED_HANDOFF_DIR | quote }}
93+
max-size = {{ default 1073741824 .HINTED_HANDOFF_MAX_SIZE }}
94+
max-age = {{ default "168h0m0s" .HINTED_HANDOFF_MAX_AGE | quote }}
95+
retry-rate-limit = {{ default 0 .HINTED_HANDOFF_RETRY_RATE_LIMIT }}
96+
retry-interval = {{ default "1s" .HINTED_HANDOFF_RETRY_INTERVAL | quote }}
97+
retry-max-interval = {{ default "1m0s" .HINTED_HANDOFF_RETRY_MAX_INTERVAL | quote }}
98+
purge-interval = {{ default "1h0m0s" .HINTED_HANDOFF_PURGE_INTERVAL | quote }}

influxdb/rootfs/start-influx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/bash
2+
3+
echo "Building config.toml!"
4+
./envtpl -in config.toml.tpl >> config.toml
5+
echo "Finished building toml..."
6+
echo "###########################################"
7+
echo "###########################################"
8+
cat config.toml
9+
echo "###########################################"
10+
echo "###########################################"
11+
exec ./influxd -config config.toml

0 commit comments

Comments
 (0)