Pulumi GCP Static Site Submission
title: "Pulumi GCP Static Site Submission" published: 4/6/2025 tags: devchallenge, pulumichallenge, webdev, cloud This is a submission for the Pulumi Deploy and Document Challenge: Fast Static Website Deployment What I Built I built out a quick Jekyll static site and deployed it leveraging Pulumi. Live Demo Link https://storage.googleapis.com/bucket-e3362f3/index.html Project Repo https://github.com/Rittycheriah/pulumi-hackathon-static-site My Journey Things I learned or had to alter to get the Pulumi deployment working apart from the documentation from Pulumi's site: 1) Need to ensure that virtualenv is created and active (My resolution: poetry shell, after altering the config to include python venv config with virtualenv: venv) 2) Need to ensure all proper dependencies have been installed (poetry add setuptools with the new virtualenv activated) 3) Ensure that gcloud auth has been setup with application ADC login (in a production context, you'd setup OIDC for Pulumi on a Service Account for this). 4) Add resource for all relevant APIs to be activated within GCP (In a production context, this would be writing new resources that activate the APIs, not doing it manually with gcloud commands) ... but in the end, that was fun and otherwise followed the official docs very closely. Things I learned or had to do to get the actual Jekyll tempalate working: 1) I found that my Ruby installation was the default, and thus, I needed to setup the latest Ruby and bundler before I could install Jekyll. 2) Once I got Jekyll rolling, it was a matter of jekyll new and then jekyll serve to make sure that my new site was at least functional. 3) I decided I wanted to use another theme instead of the default, so I went down a fun rabbit trail to figure out a new hacker Jekyll theme... but the Ruby dependencies between Jekyll and github-pages gems to preview were not working together nicely. So, I went back to the simpler clean-blog theme as suggested by their official docs. Downsides and admittedly problems with the current deployment: For all my desire to get something more pretty up, the way that the static site deployment works, it is not loading any of the scss or js files. Thus, things are pretty ugly. Nevertheless, you can see the actual site here: https://storage.googleapis.com/bucket-e3362f3/index.html Were I to go back and actually make this a personal blog site for myself, I would: Host this on a CloudRun instance Create a vanity url DNS address to forward to this backend Write more content and add photos. Nevertheless, I had fun playing with these technologies and remembered how much just building stuff is fun. Thanks for the opportunity. Using Pulumi Pulumi had a really nice out of the box template to host static sites on a GCS backend, and I really liked the flawless way that it works for something with just simple HTML. I will definitely be playing with that tool more to see what it's like to have your infrastructure live alongside the app.

title: "Pulumi GCP Static Site Submission"
published: 4/6/2025
tags: devchallenge, pulumichallenge, webdev, cloud
This is a submission for the Pulumi Deploy and Document Challenge: Fast Static Website Deployment
What I Built
I built out a quick Jekyll static site and deployed it leveraging Pulumi.
Live Demo Link
https://storage.googleapis.com/bucket-e3362f3/index.html
Project Repo
https://github.com/Rittycheriah/pulumi-hackathon-static-site
My Journey
Things I learned or had to alter to get the Pulumi deployment working apart from the documentation from Pulumi's site:
1) Need to ensure that virtualenv is created and active (My resolution: poetry shell
, after altering the config to include python venv config with virtualenv: venv
)
2) Need to ensure all proper dependencies have been installed (poetry add setuptools
with the new virtualenv activated)
3) Ensure that gcloud auth has been setup with application ADC login (in a production context, you'd setup OIDC for Pulumi on a Service Account for this).
4) Add resource for all relevant APIs to be activated within GCP (In a production context, this would be writing new resources that activate the APIs, not doing it manually with gcloud commands)
... but in the end, that was fun and otherwise followed the official docs very closely.
Things I learned or had to do to get the actual Jekyll tempalate working:
1) I found that my Ruby installation was the default, and thus, I needed to setup the latest Ruby and bundler before I could install Jekyll.
2) Once I got Jekyll rolling, it was a matter of jekyll new
and then jekyll serve
to make sure that my new site was at least functional.
3) I decided I wanted to use another theme instead of the default, so I went down a fun rabbit trail to figure out a new hacker Jekyll theme... but the Ruby dependencies between Jekyll and github-pages gems to preview were not working together nicely. So, I went back to the simpler clean-blog theme as suggested by their official docs.
Downsides and admittedly problems with the current deployment:
- For all my desire to get something more pretty up, the way that the static site deployment works, it is not loading any of the scss or js files. Thus, things are pretty ugly. Nevertheless, you can see the actual site here: https://storage.googleapis.com/bucket-e3362f3/index.html
Were I to go back and actually make this a personal blog site for myself, I would:
- Host this on a CloudRun instance
- Create a vanity url DNS address to forward to this backend
- Write more content and add photos.
Nevertheless, I had fun playing with these technologies and remembered how much just building stuff is fun. Thanks for the opportunity.
Using Pulumi
Pulumi had a really nice out of the box template to host static sites on a GCS backend, and I really liked the flawless way that it works for something with just simple HTML. I will definitely be playing with that tool more to see what it's like to have your infrastructure live alongside the app.