DEV Community

Timo E aus E
Timo E aus E

Posted on • Originally published at gist.github.com

GCP Cloud Run with Pulumi + Go

#Pulumi blog shows how to setup Cloud Run using TypeScript. Here's the #Go variant of it.

Gist is at: https://gist.github.com/timoe/d633c0b09d2fd24335ef9cb40aedc67c

pulumi.Run(func(ctx *pulumi.Context) error {
        enableCloudRun, _ := projects.NewService(ctx, "EnableCloudRun", &projects.ServiceArgs{
            Service: pulumi.String("run.googleapis.com",),
            Project: pulumi.StringPtr(gcpConf.GetProject(ctx)),
        })

        _, err := cloudrun.NewService(ctx, "app-name",
            &cloudrun.ServiceArgs{

                Location: pulumi.String("a-region"),
                // ProjectId from pulumi
                Project: pulumi.StringPtr(gcpConf.GetProject(ctx)),
                Template: &cloudrun.ServiceTemplateArgs{
                    Spec: &cloudrun.ServiceTemplateSpecArgs{

                        ServiceAccountName: pulumi.String("e-mail-service-accout"),
                        Containers: &cloudrun.ServiceTemplateSpecContainerArray{
                            &cloudrun.ServiceTemplateSpecContainerArgs{

                                Image: pulumi.String("the-image"),
                                Envs: cloudrun.ServiceTemplateSpecContainerEnvArray{

                                    &cloudrun.ServiceTemplateSpecContainerEnvArgs{
                                        Name:  pulumi.String("KEY"),
                                        Value: pulumi.String("VALUE"),
                                    },
                                },
                            },
                        },
                    },
                }}, pulumi.DependsOn([]pulumi.Resource{enableCloudRun}))
        return err
    })

Enter fullscreen mode Exit fullscreen mode

Top comments (0)