Skip to content

Deploy a fullstack (global load balancer + frontend + backend) in GCP with Go + Pulumi

License

Notifications You must be signed in to change notification settings

davidmontoyago/pulumi-gcp-fullstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pulumi-gcp-fullstack

Pulumi Component to easily deploy a serverless fullstack app (frontend and backend) in GCP, and securely publish it to the internet.

Includes:

  1. A backend Cloud Run instance.
    • Env config loaded from Secret Manager
  2. A frontend Cloud Run instance.
    • Env config loaded from Secret Manager
  3. An global HTTPs load balancer (Classic Application Load Balancer) to control access to the frontend (and the backend).
    • A Google-managed certificate.
    • Optional: default best-practice Cloud Armor policy.
    • Optional: restrict access to an allowlist of IPs.

Install

go get github.com/davidmontoyago/pulumi-gcp-fullstack

Quickstart

mystack, err = gcp.NewFullStack(ctx, "my-gcp-stack", &gcp.FullStackArgs{
    Project:       "my-gcp-project",
    Region:        "us-central1",
    BackendImage:  "us-docker.pkg.dev/my-gcp-project/my-app/backend",
    FrontendImage: "us-docker.pkg.dev/my-gcp-project/my-app/frontend",
    Network: &gcp.NetworkArgs{
        DomainURL:        "myapp.example.org",
        EnableCloudArmor: true,
    },
})

About

Deploy a fullstack (global load balancer + frontend + backend) in GCP with Go + Pulumi

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published