Hello, I've just come across the Atmos project, it...
# geodesic
a
Hello, I've just come across the Atmos project, it looks great! I had a question which I couldnt find any details on. Is it possible to access the outputs of a components from another components? The use case I see is, if I use a terraform module to create say an IAM role and then I need to use the output (arn) in a helm chart, is there an easy way to do that?
p
yes, you can use the output
a component is basically a terraform module
you can use a single bucket for all the state and you can share the state too or use the outputs
a
so I can use the terraform output as input to a helm variable? Do you know if there are some examples that show how thats done?
e
yes, look into how we use
remote-state
Here we look up the outputs from the
vpc
component
a
within Terraform I understand, my question is more between terraform and helm... If I have a resource created in terraform, how do I use the output of that in helm? or do I have to wait till that is provisioned and then manually copy the output value into the var for the helm file
I'm talking about Atmos specifically
p
I do not think you can use tf outputs as helm inputs
e
so by design, we do not intend to make atmos do any form of interpretation of the values in stack configs
instead, make your components more declarative
e.g. if you need component a to use values from components b, then then make a read the outputs of b
if you have a helmfile that needs outputs from terraform, have terraform write your outputs to SSM, then read those values natively in your helmfiles which supports the
awsssm
notation
👍 1
helm
does not have the concept of outputs, hwoever the terraform helm provider has outputs, but those are not controlled by the user
a
Thanks Erik, thats what I was looking for I hadn't thought about using SSM for outputs. That will do the job