This message was deleted.
# aws
s
This message was deleted.
r
I read https://www.pulumi.com/docs/guides/adopting/from_aws/, but that's talking about how to run CFN/Pulumi side-by-side or how to switch over - I don't see anything about running Pulumi inside CloudFormation itself. It should be possible (but we'd be restricted to the 15-minute Lambda timeout)
b
Hi Austin, I personally wouldn't try to run Pulumi inside of CF - for one, I think you might find that you accidentally delete one or other resource. I'd treat your Pulumi program as two separate entities and gradually migrate resources over. You can use the import command which outputs snippets of code that you can then use going forward
What that will mean is that you're not moving the management of the resources over from CF to Pulumi, but instead telling Pulumi about the resources and then deleting the resource from CF
m
Alternatively, you could use Pulumi to manage Cloudformation stacks, and migrate stacks into Pulumi over time.
r
Unfortunately, our only entry point to some accounts is through a CloudFormation stack. We do not manage these accounts and have no access to them - our self-hosted customers automatically deploy a CFN stack and we can't easily change that flow.
instead telling Pulumi about the resources and then deleting the resource from CF
This is what I mean - running the Pulumi import in a Lambda function as part of the CFN stack update. Yes, you have to be careful with the order of operations (Pulumi import + CFN delete retention + CFN delete)
Alternatively, you could use Pulumi to manage Cloudformation stacks, and migrate stacks into Pulumi over time
True, but then - how do we get customers (who run their own AWS accounts in which we have no control) to deploy Pulumi? We'd have to get them to set up a new deployment pipeline, which is too much friction
m
Ahh, I was under the assumption you controlled all the pipelines.
🙃 1
b
We've got Pulumi running in a lambda container, so you could do that
And you can split your infrastructure into different stacks and run them separately so if there is something that's going to take a while you can separate it out
👍 1
r
We've got Pulumi running in a lambda container, so you could do that
Aha, excellent. How do you do this? What Lambda environment are you using - do you bring your own docker image or use the standard Python/Go env?
so if there is something that's going to take a while you can separate it out
I'm hopeful deployments will be so much faster with Pulumi that 15 minutes will be more than enough 😎 (our nested CFN stacks really slow everything down)