diff --git a/Dockerfile b/Dockerfile index c506d3c..bcc1a02 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,12 @@ -FROM centos:7 +FROM golang:alpine -MAINTAINER Yogesh Sharma +WORKDIR /source +COPY . /source +RUN apk --update-cache add --virtual \ + build-dependencies \ + build-base \ + && go mod download \ + && make all -COPY postgresql-prometheus-adapter start.sh / - -ENTRYPOINT ["/start.sh"] +ENTRYPOINT ["/bin/sh", "/source/start.sh"] diff --git a/makefile b/makefile index f8f20f5..619adc1 100644 --- a/makefile +++ b/makefile @@ -12,12 +12,12 @@ all: $(TARGET) build: $(TARGET) $(TARGET): main.go $(SOURCES) - go build -ldflags="-X 'main.Version=${VERSION}'" -o $(TARGET) + go build -ldflags="-X 'main.Version=${VERSION}' -extldflags '-static'" -o $(TARGET) container: $(TARGET) Dockerfile @#podman rmi $(ORGANIZATION)/$(TARGET):latest $(ORGANIZATION)/$(TARGET):$(VERSION) - podman build -t $(ORGANIZATION)/$(TARGET):latest . - podman tag $(ORGANIZATION)/$(TARGET):latest $(ORGANIZATION)/$(TARGET):$(VERSION) + docker build -t $(ORGANIZATION)/$(TARGET):latest . + # podman tag $(ORGANIZATION)/$(TARGET):latest $(ORGANIZATION)/$(TARGET):$(VERSION) container-save: container rm -f $(TARGET)-$(VERSION).tar diff --git a/start.sh b/start.sh index 721f016..6d492db 100755 --- a/start.sh +++ b/start.sh @@ -1,15 +1,15 @@ #!/bin/bash if [[ "${DATABASE_URL}" == "" ]]; then - echo 'Missing DATABASE_URL' - echo 'example -e DATABASE_URL="user= password= host= port= database="' - exit 1 + echo 'Missing DATABASE_URL' + echo 'example -e DATABASE_URL="user= password= host= port= database="' + exit 1 fi trap shutdown INT function shutdown() { - pkill -SIGINT postgresql-prometheus-adapter + pkill -SIGINT postgresql-prometheus-adapter } adapter_send_timeout=${adapter_send_timeout:-'30s'} @@ -23,27 +23,26 @@ pg_commit_rows=${pg_commit_rows:-20000} pg_threads="${pg_threads:-1}" parser_threads="${parser_threads:-5}" -echo /postgresql-prometheus-adapter \ - --adapter-send-timeout=${adapter_send_timeout} \ - --web-listen-address=${web_listen_address} \ - --web-telemetry-path=${web_telemetry_path} \ - --log.level=${log_level} \ - --log.format=${log_format} \ - --pg-partition=${pg_partition} \ - --pg-commit-secs=${pg_commit_secs} \ - --pg-commit-rows=${pg_commit_rows} \ - --pg-threads=${pg_threads} \ - --parser-threads=${parser_threads} - -/postgresql-prometheus-adapter \ - --adapter-send-timeout=${adapter_send_timeout} \ - --web-listen-address=${web_listen_address} \ - --web-telemetry-path=${web_telemetry_path} \ - --log.level=${log_level} \ - --log.format=${log_format} \ - --pg-partition=${pg_partition} \ - --pg-commit-secs=${pg_commit_secs} \ - --pg-commit-rows=${pg_commit_rows} \ - --pg-threads=${pg_threads} \ - --parser-threads=${parser_threads} +echo /source/postgresql-prometheus-adapter \ + --adapter-send-timeout=${adapter_send_timeout} \ + --web-listen-address=${web_listen_address} \ + --web-telemetry-path=${web_telemetry_path} \ + --log.level=${log_level} \ + --log.format=${log_format} \ + --pg-partition=${pg_partition} \ + --pg-commit-secs=${pg_commit_secs} \ + --pg-commit-rows=${pg_commit_rows} \ + --pg-threads=${pg_threads} \ + --parser-threads=${parser_threads} +/source/postgresql-prometheus-adapter \ + --adapter-send-timeout=${adapter_send_timeout} \ + --web-listen-address=${web_listen_address} \ + --web-telemetry-path=${web_telemetry_path} \ + --log.level=${log_level} \ + --log.format=${log_format} \ + --pg-partition=${pg_partition} \ + --pg-commit-secs=${pg_commit_secs} \ + --pg-commit-rows=${pg_commit_rows} \ + --pg-threads=${pg_threads} \ + --parser-threads=${parser_threads}