From 3a57967a5d14626c9282e50937c455c6f3a75537 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=A2ne?= Date: Thu, 26 Nov 2020 19:37:23 +0100 Subject: [PATCH 1/3] Add authentication fro codimd metrics --- pica-codimd/docker-compose.yml | 6 ++++++ pica-metrologie/README.md | 3 ++- pica-metrologie/docker-compose.yml | 1 + pica-metrologie/secrets/exporters-auth.secrets.example | 2 ++ pica-metrologie/vmagent-prom.yml | 6 ++++++ 5 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 pica-metrologie/secrets/exporters-auth.secrets.example diff --git a/pica-codimd/docker-compose.yml b/pica-codimd/docker-compose.yml index 0870beb..dba8f81 100644 --- a/pica-codimd/docker-compose.yml +++ b/pica-codimd/docker-compose.yml @@ -57,6 +57,12 @@ services: labels: traefik.http.routers.codimd-app.entrypoints: websecure traefik.http.routers.codimd-app.rule: Host(`md.picasoft.net`) + traefik.http.routers.codimd-app.service: codimd-app + traefik.http.routers.codimd-metrics.entrypoints: websecure + traefik.http.routers.codimd-metrics.rule: "Host(`md.picasoft.net`) && PathPrefix(`/metrics`)" + traefik.http.routers.codimd-metrics.service: codimd-app + traefik.http.routers.codimd-metrics.middlewares: "codimd-metrics-auth@docker" + traefik.http.middlewares.codimd-metrics-auth.basicauth.users: "codimd:$$apr1$$dz9qOmSh$$3sj1zJ8/LhPFuKY5HReHd0" traefik.http.services.codimd-app.loadbalancer.server.port: 3000 traefik.enable: true restart: unless-stopped diff --git a/pica-metrologie/README.md b/pica-metrologie/README.md index 57535d7..c02c55b 100644 --- a/pica-metrologie/README.md +++ b/pica-metrologie/README.md @@ -32,7 +32,8 @@ Sa configuration est simple, et se fait entièrement à l'aide de paramètres en `vmagent` est l'outil proposé par Victoria Metrics pour gérer l'ingestion de métriques, compatible avec plusieurs protocoles. -Sa principale utilisation à Picasoft est pour le scraping de métriques au format Prometheus. Pour cela `vmagent` prends en paramètre un fichier de configuration [identique à celui de Prometheus](https://prometheus.io/docs/prometheus/latest/configuration/configuration/), ici le fichier [`vmagent-prom.yml`](./vmagent-prom.yml), qui est monté dans le conteneur. +Sa principale utilisation à Picasoft est pour le scraping de métriques au format Prometheus. Pour cela `vmagent` prends en paramètre un fichier de configuration [identique à celui de Prometheus](https://prometheus.io/docs/prometheus/latest/configuration/configuration/), ici le fichier [`vmagent-prom.yml`](./vmagent-prom.yml), qui est monté dans le conteneur. +Les valeurs dans ce fichiers peuvent-être substituées par des variables d'environnement en utilisant le format `%{ENV_VAR}`. C'est ce que l'on utilise pour les identifiants de certains exporters Prometheus de services. Pour cela on renseigne les valeurs dans le fichier [exporters-auth.secrets](./secrets/exporters-auth.secrets.example) à partir du contenu du Picapass. Le reste de la configuration de `vmagent` se fait entièrement à l'aide de paramètres en ligne de commandes : diff --git a/pica-metrologie/docker-compose.yml b/pica-metrologie/docker-compose.yml index 51aaea2..b164c7f 100644 --- a/pica-metrologie/docker-compose.yml +++ b/pica-metrologie/docker-compose.yml @@ -64,6 +64,7 @@ services: volumes: - ./vmagent-prom.yml:/config/vmagent-prom.yml - vmagent-buffer:/vmagent-remotewrite-data + env_file: ./secrets/exporters-auth.secrets networks: - metrics restart: unless-stopped diff --git a/pica-metrologie/secrets/exporters-auth.secrets.example b/pica-metrologie/secrets/exporters-auth.secrets.example new file mode 100644 index 0000000..5668e41 --- /dev/null +++ b/pica-metrologie/secrets/exporters-auth.secrets.example @@ -0,0 +1,2 @@ +CODIMD_METRICS_USER=codimd +CODIMD_METRICS_PASSWORD=superpassword diff --git a/pica-metrologie/vmagent-prom.yml b/pica-metrologie/vmagent-prom.yml index 1f16be6..9a7b268 100644 --- a/pica-metrologie/vmagent-prom.yml +++ b/pica-metrologie/vmagent-prom.yml @@ -27,6 +27,9 @@ scrape_configs: honor_timestamps: true metrics_path: "/metrics/codimd" scheme: "https" + basic_auth: + username: "%{CODIMD_METRICS_USER}" + password: "%{CODIMD_METRICS_PASSWORD}" static_configs: - targets: - "md.picasoft.net" @@ -39,6 +42,9 @@ scrape_configs: honor_timestamps: true metrics_path: /metrics/router scheme: https + basic_auth: + username: "%{CODIMD_METRICS_USER}" + password: "%{CODIMD_METRICS_PASSWORD}" static_configs: - targets: - "md.picasoft.net" -- GitLab From d1a49d8aacfc6597f2a0b917bc40f417d0fb16e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=A2ne?= Date: Thu, 26 Nov 2020 19:37:32 +0100 Subject: [PATCH 2/3] Use doublequotes --- pica-codimd/docker-compose.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pica-codimd/docker-compose.yml b/pica-codimd/docker-compose.yml index dba8f81..7ec9eb2 100644 --- a/pica-codimd/docker-compose.yml +++ b/pica-codimd/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3.7' +version: "3.7" networks: proxy: @@ -8,10 +8,9 @@ networks: volumes: codimd-db: - name: 'codimd-db' + name: "codimd-db" codimd-data: - name: 'codimd-data' - + name: "codimd-data" services: codimd-db: -- GitLab From 1a276732437f68fb7c5b3470d70486e052926382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=A2ne?= Date: Thu, 26 Nov 2020 19:37:42 +0100 Subject: [PATCH 3/3] Remove duplicated key --- pica-codimd/docker-compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/pica-codimd/docker-compose.yml b/pica-codimd/docker-compose.yml index 7ec9eb2..ab51a82 100644 --- a/pica-codimd/docker-compose.yml +++ b/pica-codimd/docker-compose.yml @@ -38,9 +38,7 @@ services: CMD_DOMAIN: md.picasoft.net CMD_ALLOW_ANONYMOUS: "true" CMD_ALLOW_ANONYMOUS_EDITS: "true" - CMD_ALLOW_PDF_EXPORT: "true" CMD_PROTOCOL_USESSL: "true" - CMD_ALLOW_PDF_EXPORT: "true" CMD_ALLOW_FREEURL: "true" CMD_CSP_ENABLE: "false" CMD_MATTERMOST_BASEURL: https://team.picasoft.net -- GitLab