Hi all, I'm using the helm/v3 (plugin `v3.19.2` to...
# kubernetes
s
Hi all, I'm using the helm/v3 (plugin
v3.19.2
to install a local chart with golang, and I'm struggling a little with an unhelpful error...
Copy code
❯ pulumi up
Previewing update (poc):
     Type                              Name                  Plan     Info
     pulumi:pulumi:Stack               arges-theila-poc-poc           
     └─ kubernetes:<http://helm.sh/v3:Release|helm.sh/v3:Release>  arges-tim                      1 error
 
Diagnostics:
  kubernetes:<http://helm.sh/v3:Release|helm.sh/v3:Release> (arges-tim):
    error: unrecognized type: string
I'm guessing that the template is putting quotes around an expected integer value, but I can't figure out where as doing a manual
helm template ...
shows everything should work.
Copy code
package main

import (
	"<http://github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/helm/v3|github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/helm/v3>"
	"<http://github.com/pulumi/pulumi/sdk/v3/go/pulumi|github.com/pulumi/pulumi/sdk/v3/go/pulumi>"
	"<http://github.com/pulumi/pulumi/sdk/v3/go/pulumi/config|github.com/pulumi/pulumi/sdk/v3/go/pulumi/config>"
)

const (
	baseUiPort        = 8080
	baseApiPort       = 8090
	baseWireguardPort = 58090
)

func main() {
	// Arges service deployments
	argesMaas := [...]string{"tim"}

	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		externalIp := cfg.Require("externalIp")
		ghcrReadToken := cfg.Require("ghcrReadToken")

		for index, user := range argesMaas {
			name := "arges-" + user

			_, err := helm.NewRelease(ctx, name, &helm.ReleaseArgs{
				Chart:           pulumi.String("./arges-theila-poc-chart"),
				Namespace:       pulumi.String(name),
				CreateNamespace: pulumi.Bool(true),
				Values: pulumi.Map{
					"uiPath":        pulumi.String(user),
					"advertiseIp":   pulumi.String(externalIp),
					"ghcrReadToken": pulumi.String(ghcrReadToken),
					"service": pulumi.Map{
						"uiPort":        <http://pulumi.Int|pulumi.Int>(baseUiPort + index*100),
						"apiPort":       <http://pulumi.Int|pulumi.Int>(baseApiPort + index*100),
						"wireguardPort": <http://pulumi.Int|pulumi.Int>(baseWireguardPort + index*100),
					},
				},
			})
			if err != nil {
				return err
			}
		}

		return nil
	})
}