Sagar Kalburgi
Sagar Kalburgi

Reputation: 127

Go: Using environment variables in if statement in Template

Below is a Go template code that I am using for NGINX configuration. In the nested if statement, I am trying to check if the value of the environment variable IS_CUSTOMER is equal to "true".

 {{ if eq .instanceName "apple" }}
       {{ if eq ({{envOrKey "IS_CUSTOMER"}}) "true" }}
         listen  127.0.0.1:{{.port}};
       {{else}}
         listen  {{.bindAddress}}:{{.port}};
       {{end}}
     {{else}}
         listen  {{.bindAddress}}:{{.port}};
     {{end}}
     listen  443 ssl ;

But when I execute the template, I am getting the following error:

tenanttemplate.tmpl:13: unexpected \"{\" in operand" 

I went through online documentation of Go template and some other answers on Stack overflow, it didn't help.

Upvotes: 1

Views: 3335

Answers (1)

dave
dave

Reputation: 64657

Change

 {{ if eq ({{envOrKey "IS_CUSTOMER"}}) "true" }}

to

 {{ if eq (envOrKey "IS_CUSTOMER") "true" }}

Upvotes: 3

Related Questions