error converting YAML to JSON: yaml: did not find expected key

8/6/2019

I copy pasted a configMap file from an online tutorial and an error popped while trying to apply it. this is the file:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: nginx-config
      labels:
        tier: backend
    data:
      config : |
        server {
          index index.php index.html;
          error_log  /var/log/nginx/error.log;
          access_log /var/log/nginx/access.log;

          root /dir;

          location / {
              try_files $uri $uri/ /index.php?$query_string;
          }

          location ~ .php$ {
              try_files $uri =404;
              fastcgi_split_path_info ^(.+.php)(/.+)$;
              fastcgi_pass php:9000;
              fastcgi_index index.php;
              include fastcgi_params;
              fastcgi_param SCRIPT_FILENAME                 
              $document_root$fastcgi_script_name;
              fastcgi_param PATH_INFO $fastcgi_path_info;
          }
       }

this is the error: line 28: did not find expected key

-- marwa karaki
configmap
kubernetes
yaml

2 Answers

8/6/2019

text alignment of the below line is incorrect. edited your question and corrected the format. try now. it should work

$document_root$fastcgi_script_name;
-- P Ekambaram
Source: StackOverflow

8/6/2019

Should be:

apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-config
  labels:
    tier: backend
data:
  config : |
    server {
      index index.php index.html;
      error_log  /var/log/nginx/error.log;
      access_log /var/log/nginx/access.log;

      root /dir;

      location / {
          try_files $uri $uri/ /index.php?$query_string;
      }

      location ~ .php$ {
          try_files $uri =404;
          fastcgi_split_path_info ^(.+.php)(/.+)$;
          fastcgi_pass php:9000;
          fastcgi_index index.php;
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME                 
          $document_root$fastcgi_script_name;
          fastcgi_param PATH_INFO $fastcgi_path_info;
           }
       }

EDIT:

In your YAML the Kubernetes object definition in this case configmap, has an incorrect indentation.

-- FL3SH
Source: StackOverflow