Skip to content

Helm output of 'aspire publish' produces invalid yaml when services have dashes in name #10820

@codingzerotohero

Description

@codingzerotohero

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

Consider this config.yaml file produces by aspire publish when publishing resources as Kubernetes resources:

---
apiVersion: "v1"
kind: "ConfigMap"
metadata:
  name: "xx-yy-xx-webspa-config"
  labels:
    app: "aspire"
    component: "xx-yy-xx-webspa"
data:
  ASPNETCORE_URLS: "{{ .Values.config.xx_yy_xx_webspa.ASPNETCORE_URLS }}"
  ConnectionStrings__HangfireDb: "{{ .Values.config.xx_yy_xx_webspa.ConnectionStrings__HangfireDb }}"
  ConnectionStrings__rabbitmq: "{{ .Values.config.xx_yy_xx_webspa.ConnectionStrings__rabbitmq }}"
  services__xx-yy-xx-bookings__https__0: "{{ .Values.config.xx_yy_xx_webspa.services__xx-yy-xx-bookings__https__0 }}"
  services__xx-yy-xx-filestorage__https__0: "{{ .Values.config.xx_yy_xx_webspa.services__xx-yy-xx-filestorage__https__0 }}"
  services__xx-yy-xx-institutions__https__0: "{{ .Values.config.xx_yy_xx_webspa.services__xx-yy-xx-institutions__https__0 }}"
  services__xx-yy-xx-mapobjects__https__0: "{{ .Values.config.xx_yy_xx_webspa.services__xx-yy-xx-mapobjects__https__0 }}"
  services__xx-yy-xx-messenger__https__0: "{{ .Values.config.xx_yy_xx_webspa.services__xx-yy-xx-messenger__https__0 }}"
  services__xx-yy-xx-permissions__https__0: "{{ .Values.config.xx_yy_xx_webspa.services__xx-yy-xx-permissions__https__0 }}"
  services__xx-yy-xx-projects__https__0: "{{ .Values.config.xx_yy_xx_webspa.services__xx-yy-xx-projects__https__0 }}"

When running helm template aspire . -f values.yaml > testoutputter.yaml, it throws this helm yaml error:
Error: parse error at (aspire/templates/xx-yy-xx-webspa/config.yaml:13): bad character U+002D '-'

  • suggesting that this yaml file is not valid and can't be used for deployment.

The xx-yy-xx and xx_yy_xx are not the actual values being used, but just to highlight the error generated when a service or resource name has dashes in it, from the yaml files generated.

Expected Behavior

Valid config.yaml should've been generated.

Steps To Reproduce

No response

Exceptions (if any)

No response

.NET Version info

9.0.303

Anything else?

Aspire 9.4.0

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions