diff --git a/.github/workflows/kubernetes-charts-build.yaml b/.github/workflows/kubernetes-charts-build.yaml index 2e2bae6..56eb3f4 100644 --- a/.github/workflows/kubernetes-charts-build.yaml +++ b/.github/workflows/kubernetes-charts-build.yaml @@ -3,12 +3,12 @@ name: Kubernetes - Lint, Test, and Publish Helm Charts on: push: branches: [ main ] - pull_request: - paths: - - 'deployment/kubernetes/**' - - '.github/workflows/kubernetes**' tags: - 'v*.*.*' # e.g., v0.1.1 + pull_request: + paths: + - 'deployment/kubernetes/**' + - '.github/workflows/kubernetes**' defaults: run: diff --git a/.github/workflows/observability-docker.yml b/.github/workflows/observability-docker.yml index f4ece9f..41b5d34 100644 --- a/.github/workflows/observability-docker.yml +++ b/.github/workflows/observability-docker.yml @@ -3,12 +3,12 @@ name: ci-build on: push: branches: [ main ] - pull_request: - paths: - - 'observability/**' - - '.github/workflows/observability**' tags: - 'v*.*.*' # e.g., v0.1.1 + pull_request: + paths: + - 'observability/**' + - '.github/workflows/observability**' jobs: docker: diff --git a/observability/prometheus/Dockerfile.prometheus b/observability/prometheus/Dockerfile.prometheus index 2a5b6fe..4dfd2d4 100644 --- a/observability/prometheus/Dockerfile.prometheus +++ b/observability/prometheus/Dockerfile.prometheus @@ -3,16 +3,26 @@ FROM prom/prometheus LABEL traefik.enable="true" \ traefik.http.routers.prometheus-path-router.rule="PathPrefix(`/prometheus`)" -RUN mkdir -p /etc/prometheus/cogstack/site/scrape-targets/probers -RUN mkdir -p /etc/prometheus/cogstack/site/scrape-targets/exporters +RUN mkdir -p /etc/prometheus/cogstack/site/scrape-configs/probers +RUN mkdir -p /etc/prometheus/cogstack/site/scrape-configs/exporters COPY ./defaults /etc/prometheus/cogstack/defaults -CMD [ \ - "--config.file=/etc/prometheus/cogstack/defaults/prometheus.yml", \ - "--storage.tsdb.path=/prometheus", \ - "--storage.tsdb.retention.time=30d", \ - "--web.external-url=/prometheus", \ - "--web.route-prefix=/prometheus", \ - "--web.enable-remote-write-receiver" \ - ] \ No newline at end of file +ENV STORAGE_TSDB_RETENTION_TIME=30d +ENV STORAGE_TSDB_RETENTION_SIZE=0 + +COPY --chmod=755 <<'EOT' /entrypoint.sh +#!/bin/sh +set -eux +exec /bin/prometheus \ + --config.file=/etc/prometheus/cogstack/defaults/prometheus.yml \ + --storage.tsdb.path=/prometheus \ + --storage.tsdb.retention.time="${STORAGE_TSDB_RETENTION_TIME:-30d}" \ + --storage.tsdb.retention.size="${STORAGE_TSDB_RETENTION_SIZE:-0}" \ + --web.external-url=/prometheus \ + --web.route-prefix=/prometheus \ + --web.enable-remote-write-receiver \ + "$@" +EOT + +ENTRYPOINT ["/entrypoint.sh"] \ No newline at end of file diff --git a/observability/prometheus/defaults/prometheus.yml b/observability/prometheus/defaults/prometheus.yml index 41743a0..ebad3e0 100644 --- a/observability/prometheus/defaults/prometheus.yml +++ b/observability/prometheus/defaults/prometheus.yml @@ -4,7 +4,7 @@ global: evaluation_interval: 10s # Evaluate rules every 10 seconds. The default is every 1 minute. scrape_config_files: - scrape-configs/*.yml - - /etc/prometheus/cogstack/site/scrape-targets/*.yml + - /etc/prometheus/cogstack/site/scrape-configs/*.yml rule_files: - recording-rules/*.yml - /etc/prometheus/cogstack/site/recording-rules/*.yml