https://pulumi.com logo
#general
Title
# general
e

early-musician-41645

01/15/2020, 12:54 AM
One of my Pulumi stacks is configured to fetch a helm chart from a repo. The repo is in an S3 bucket and using the s3 helm plugin. This works great when everything lives in
us-west-2
, the same region as the helm repo. However, when I try to run the stack when AWS_REGION=ap-northeast-1 I get an error while fetching the helm chart:
Copy code
fetch from s3: fetch object from s3: BucketRegionError: incorrect region, the bucket is not in 'ap-northeast-1' region at endpoint ''
On the commandline I can prefix my helm fetch command like this:
Copy code
AWS_REGION=us-west-2 helm fetch...
The pulumi code looks like this:
Copy code
export const splunkForwarder = new k8s.helm.v2.Chart("splunk-forwarder", {
    repo: "my-repo",
    version: "0.2.343",
    chart: "splunk-forwarder",
    namespace: namespaceName,
    values: forwarderValues,
}, { dependsOn: [loggingNamespace, cluster], providers: { kubernetes: cluster.provider } });
How can I tell it to use the
us-west-2
region for the helm fetch and to use the configured
ap-northeast-1
for all other resources?
w

white-balloon-205

01/15/2020, 1:57 AM
This may actually not be possible with the current
Chart
API. Could you open an issue? Should be possible to add an env arg to Chart. Does the chart have no way to configure the region other than this environment variable (that is kind of unfortunate if so).
e

early-musician-41645

01/15/2020, 5:01 PM
I’m still not entirely sure where the region is set. It looks like pulumi is just using the helm repo as it’s configured from the cli before running
pulumi
.
w

white-balloon-205

01/15/2020, 5:21 PM
Cc @gorgeous-egg-16927 in case he has any more pointers he could suggest.
g

gorgeous-egg-16927

01/15/2020, 5:25 PM
The pulumi k8s provider isn’t passing that env var through, so it’s likely using whatever the default is for your helm installation. That may be a global config on your system
w

white-balloon-205

01/15/2020, 5:53 PM
Pretty sure by default we will inherit parent process env vars. Which also describes the behavior @early-musician-41645 is seeing. I suspect we need an option to pass though env vars explicitly. The thing I don’t understand is what part of Helm reads this and when? Is it actually read during
helm template
?
g

gorgeous-egg-16927

01/15/2020, 5:57 PM
I’d expect it’s the
helm fetch
step
e

early-musician-41645

01/15/2020, 6:01 PM
It’s during fetch according to the error. The scenario is that we have a separate region for the helm repo than for the configawsregion that’s in use
15 Views