apiVersion: v1
kind: ConfigMap
metadata:
  name: cvat-nginx-conf
  namespace: cvat
data:
  nginx.conf: |
    worker_processes 2;

    error_log /dev/stdout info;

    events {
        worker_connections  1024;
    }

    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile      on;
        keepalive_timeout  65;
        # For long domain names (e.g. AWS hosts)
        server_names_hash_bucket_size 128;

        include /etc/nginx/cvat.d/*.conf;
        client_max_body_size 0;
    }
  cvat.conf: |
    server {
        listen       80;
        server_name  _ default;
        return       404;
    }

    server {
        listen       80;
        server_name  {MY_SERVER_URL_COM};

        proxy_pass_header       X-CSRFToken;
        proxy_set_header        Host $http_host;
        proxy_pass_header       Set-Cookie;

        location ~* /api/.*|git/.*|tensorflow/.*|auto_annotation/.*|analytics/.*|static/.*|admin|admin/.*|documentation/.*|dextr/.*|reid/.*  {
            proxy_pass              http://cvat-backend-service:8080;
        }

        # workaround for match location by arguments
        location = / {
            error_page 418 = @annotation_ui;

            if ( $query_string ~ "^id=\d+.*" ) { return 418; }
            proxy_pass              http://cvat-frontend-service:80;
        }

        location / {
            proxy_pass              http://cvat-frontend-service:80;
        }

        # old annotation ui, will be removed in the future.
        location @annotation_ui {
            proxy_pass              http://cvat-backend-service:8080;
        }
    }
  mime.types: |
    types {
      text/html                             html htm shtml;
      text/css                              css;
      text/xml                              xml;
      image/gif                             gif;
      image/jpeg                            jpeg jpg;
      application/javascript                js;
      application/atom+xml                  atom;
      application/rss+xml                   rss;

      text/mathml                           mml;
      text/plain                            txt;
      text/vnd.sun.j2me.app-descriptor      jad;
      text/vnd.wap.wml                      wml;
      text/x-component                      htc;

      image/png                             png;
      image/tiff                            tif tiff;
      image/vnd.wap.wbmp                    wbmp;
      image/x-icon                          ico;
      image/x-jng                           jng;
      image/x-ms-bmp                        bmp;
      image/svg+xml                         svg svgz;
      image/webp                            webp;

      application/font-woff                 woff;
      application/java-archive              jar war ear;
      application/json                      json;
      application/mac-binhex40              hqx;
      application/msword                    doc;
      application/pdf                       pdf;
      application/postscript                ps eps ai;
      application/rtf                       rtf;
      application/vnd.apple.mpegurl         m3u8;
      application/vnd.ms-excel              xls;
      application/vnd.ms-fontobject         eot;
      application/vnd.ms-powerpoint         ppt;
      application/vnd.wap.wmlc              wmlc;
      application/vnd.google-earth.kml+xml  kml;
      application/vnd.google-earth.kmz      kmz;
      application/x-7z-compressed           7z;
      application/x-cocoa                   cco;
      application/x-java-archive-diff       jardiff;
      application/x-java-jnlp-file          jnlp;
      application/x-makeself                run;
      application/x-perl                    pl pm;
      application/x-pilot                   prc pdb;
      application/x-rar-compressed          rar;
      application/x-redhat-package-manager  rpm;
      application/x-sea                     sea;
      application/x-shockwave-flash         swf;
      application/x-stuffit                 sit;
      application/x-tcl                     tcl tk;
      application/x-x509-ca-cert            der pem crt;
      application/x-xpinstall               xpi;
      application/xhtml+xml                 xhtml;
      application/xspf+xml                  xspf;
      application/zip                       zip;

      application/octet-stream              bin exe dll;
      application/octet-stream              deb;
      application/octet-stream              dmg;
      application/octet-stream              iso img;
      application/octet-stream              msi msp msm;

      application/vnd.openxmlformats-officedocument.wordprocessingml.document    docx;
      application/vnd.openxmlformats-officedocument.spreadsheetml.sheet          xlsx;
      application/vnd.openxmlformats-officedocument.presentationml.presentation  pptx;

      audio/midi                            mid midi kar;
      audio/mpeg                            mp3;
      audio/ogg                             ogg;
      audio/x-m4a                           m4a;
      audio/x-realaudio                     ra;

      video/3gpp                            3gpp 3gp;
      video/mp2t                            ts;
      video/mp4                             mp4;
      video/mpeg                            mpeg mpg;
      video/quicktime                       mov;
      video/webm                            webm;
      video/x-flv                           flv;
      video/x-m4v                           m4v;
      video/x-mng                           mng;
      video/x-ms-asf                        asx asf;
      video/x-ms-wmv                        wmv;
      video/x-msvideo                       avi;
    }
