Cloud-CV/EvalAI

View on GitHub
docker/prod/nginx-ingress/nginx_production.conf

Summary

Maintainability
Test Coverage
upstream prometheus {
  server prometheus:9090 fail_timeout=0;
}

upstream grafana {
  server grafana:3000 fail_timeout=0;
}

upstream statsd_exporter {
  server statsd:9102 fail_timeout=0;
}

upstream alert_manager {
  server alert_manager:9093 fail_timeout=0;
}

server {
  server_name monitoring.eval.ai;
  listen 80;
  return 301 https://monitoring.eval.ai$request_uri;
}

server {
  server_name monitoring.eval.ai;
  listen 443 ssl;
  location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
  }

  ssl on;
  ssl_certificate /etc/ssl/eval_ai.crt;
  ssl_certificate_key /etc/ssl/eval_ai.key;
  ssl_prefer_server_ciphers on;
  # enables all versions of TLS, but not SSLv2 or 3 which are weak and now deprecated.
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  location /prometheus {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass http://prometheus;
  }

  location /grafana {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass http://grafana;
  }

  location /statsd {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass http://statsd_exporter;
  }
  
  location /alert_manager {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass http://alert_manager;
  }
}