Hi Pulumi team, i have a use case where i would li...
# pulumiverse
b
Hi Pulumi team, i have a use case where i would like to use pulumi as configurable IaC provider. I have a use case where we make platform services which can be either on AWS, GCS or on-premise and i would like to connect it to using Pulumi. Also we need to have all this code implemented and running in self hosted servers. My approach to this is: 1. Make pulumi packages for aws, gks and on-premise k8s each 2. Keep configurable parameters to trigger suitable package of pulumi 3. Use pulumi cli which can be connected using github action and runs similar to https://www.runatlantis.io/blog/2017/introducing-atlantis.html Could you please help me validate this approach as this will help me architect our solution better and leverage Pulumi in most efficient way, thanks in advance.
l
It would absolutely work to do this. However, since the code defining the resources will be completely different for each cloud, I don't thing there's any benefit to having the pick-the-right-cloud logic in the Pulumi project. Instead, I would have three projects. Call your Pulumi projects from a simple script which just picks the right project for the target cloud..
b
@little-cartoon-10569 Thanks a lot for the quick response, that is a great suggestion, also in this case is it possible for us to run pulumi commands with GitHub actions and without the need to link it to pulumi cloud as we would like to use pulumi in our servers due to compliance restriction and can it work similar to Atlantis by showing preview changes and updates in GitHub itself ?
l
Yes, you need to set up your own backend to store the Pulumi state files. Probably S3. But it would work.
b
@little-cartoon-10569 Thanks again, would there be any example or use case implementation in past that can help us? It would be greatly appreciated
l
l
Or have a look at Pulumi Automation API using the remote workspace support, which kicks off builds using Pulumi Deployments. The deployment runners can be customer managed if needed. https://www.pulumi.com/product/pulumi-deployments/ https://www.pulumi.com/docs/pulumi-cloud/deployments/customer-managed-agents/ https://www.pulumi.com/docs/iac/packages-and-automation/automation-api/