Skip to content

Sprig and Gomplate functions don't work when templates are wrapped with double quotes and also use double quotes inside the template #1577

@tspearconquest

Description

@tspearconquest

Describe the Bug

components:
  terraform:
    postgres-database-base:
      metadata:
        type: abstract
      vars:
        application: "my-app"
        resource_names:
          application_schema_name: "{{ .vars.application | replace "-" "_" }}"
          database_name: "{{ .vars.application | strings.ReplaceAll "-" "_" }}"

The above code produces:

invalid stack manifest 'catalog/postgres-database-base.yaml'
yaml: line X: did not find expected key

Whereas changing the double quotes around the outside of the templates on both application_schema_name and database_name` to single quotes works properly.

Expected Behavior

Expected it to work like helm, where the double quotes inside the template are treated separately from the double quotes outside of the template.

Steps to Reproduce

Have a template that uses sprig or gomplate functions where double quotes are needed inside the template, and wrap that in double quotes. Run atmos terraform plan. Change the outer double quotes to single quotes. Run atmos terraform plan again.

Screenshots

No response

Environment

  • OS: MacOS Sequoia 15.6.1
  • Version: 1.182.0
  • Module version: N/A
  • Terraform version: N/A

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug🐛 An issue with the system

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions