GoogleContainerTools / GoogleContainerTools/skaffold
Deploying Helm - Skaffold wants to parse quoted digits as numbers
- 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
Assessment
This issue has not been assessed yet.