GoogleContainerTools / GoogleContainerTools/skaffold

Deploying Helm - Skaffold wants to parse quoted digits as numbers

Open
#8,686 5 comments 3 reactions 0 assignees View on GitHub
area/render deploy/helm has-workaround kind/bug priority/p2
Dominant language
Go
Stars
15.9k
Forks
1.7k
Avg merge
3d 9h
Merged PRs (30d)
10

Description

### Expected behavior
To be able to enter strings containing digits in the setValues of a helm release

### Actual behavior
Inescapable nuisance error:
```
Error: INSTALLATION FAILED: 1 error occurred:
* StorageClass in version "v1" cannot be handled as a StorageClass: json: cannot unmarshal number into Go struct field StorageClass.parameters of type string
```

### Information

- Skaffold version: v2.3.1
- Operating system: MacOS 13.3.1
- Installed via: Homebrew
- Contents of skaffold.yaml:

```yaml
apiVersion: skaffold/v3
kind: Config
metadata:
name: base-app
deploy:
helm:
releases:
- name: efs-csi
remoteChart: aws-efs-csi-driver
# https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html
version: 2.4.1
repo: https://kubernetes-sigs.github.io/aws-efs-csi-driver
namespace: kube-system
wait: true
setValues:
storageClasses:
- name: efs-immediate
volumeBindingMode: Immediate
reclaimPolicy: Delete
mountOptions:
- tls
parameters:
provisioningMode: efs-ap
directoryPerms: "700"
gidRangeStart: "1000"
gidRangeEnd: "2000"
basePath: "/data"
setValueTemplates:
storageClasses:
- name: efs-immediate
parameters:
#pay attention to camelCase, it will accept any parameter even if it's wrong
fileSystemId: "{{.EFS_FILESYSTEM_ID}}"
```

### Steps to reproduce the behavior

1. Create an EKS cluster, to which this is relevant.
2. Put the above code in skaffold.yaml
3. export the variable EFS_FILESYSTEM_ID to something sane
4. skaffold deploy

I'm believe this is related to the Helm variation on Go templating.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.