Using ECR as helm chart registry with helm and helmfile
I can pull one helm chart without problem, but if I add another, I get the error "signal killed"
in ./helmfile.yaml: in .helmfiles[6]: in helmfiles/jx-staging/helmfile.yaml: [release "subscription": command "/usr/bin/helm" exited with non-zero status:
PATH:
/usr/bin/helm
ARGS:
0: helm (4 bytes)
1: pull (4 bytes)
2: oci://123456.dkr.ecr.us-west-1.amazonaws.com/subscription (63 bytes)
3: --version (9 bytes)
4: 0.13.7 (6 bytes)
5: --destination (13 bytes)
6: /tmp/helmfile2419301357/subscription/subscription/0.13.7 (56 bytes)
7: --untar (7 bytes)
ERROR:
signal: killed
I read that "Authentication tokens must be obtained for each registry used, and the tokens are valid for 12 hours" however for this scenario, the documented way to login to helm does not include the chart name.
https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_on_EKS.html#using-helm-charts-eks
aws ecr get-login-password \
--region us-west-2 | helm registry login \
--username AWS \
--password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
Is it really the case that it is necessary to get a new login token for each helm chart pulled? Or is it a bug somewhere?
I figured that I can make it work by setting helmfile to fetch only one chart at a time (setting flag --concurrency=1). Not sure where the error comes from but it may be in helmfile.