# SPDX-FileCopyrightText: 2022-present Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Chart.Name }}-fabric-test-dummy
  namespace: {{ .Release.Namespace }}
data:
  fabric-test-dummy.conf: |-
    log_format client '$remote_addr - $remote_user $request_time $upstream_response_time '
                      '[$time_local] "$request" $status $body_bytes_sent $request_body "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    server {
      listen 0.0.0.0:8080;
      default_type application/json;
      access_log /opt/bitnami/nginx/logs/access.log client;

      # You can provide a special subPath or the root
      location = /v1/config {
        root /;
        proxy_pass http://127.0.0.1:8080/post_dummy;
      }
      location = /v1/config/policies {
        root /;
        proxy_pass http://127.0.0.1:8080/post_dummy;
      }
      location = /v1/config/imsis {
        root /;
        proxy_pass http://127.0.0.1:8080/post_dummy;
      }
      location /v1/config/5g {
        rewrite ^/v1/config/5g/.* /v1/config/5g break;
        proxy_pass http://127.0.0.1:8080/post_dummy;
      }
      location /api/subscriber {
        rewrite ^/api/subscriber/.* /api/subscriber break;
        proxy_pass http://127.0.0.1:8080/post_dummy;
      }
      location /onos/v1/network/configuration {
        root /;
        proxy_pass http://127.0.0.1:8080/post_dummy;
      }
      location = /post_dummy {
        # turn off logging here to avoid double logging
        access_log off;
        return 200;
      }
      error_page  405     =200 $uri;
    }
