<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Rainu Ittycheriah</title>
    <description>The latest articles on Forem by Rainu Ittycheriah (@rainuitty).</description>
    <link>https://forem.com/rainuitty</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F15230%2F58b8fa88-6e16-4a3f-b42f-d3bbe4f88373.jpeg</url>
      <title>Forem: Rainu Ittycheriah</title>
      <link>https://forem.com/rainuitty</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rainuitty"/>
    <language>en</language>
    <item>
      <title>Pulumi GCP Static Site Submission</title>
      <dc:creator>Rainu Ittycheriah</dc:creator>
      <pubDate>Sun, 06 Apr 2025 17:35:47 +0000</pubDate>
      <link>https://forem.com/rainuitty/rainu-pulumi-gcp-static-site-submission-33mg</link>
      <guid>https://forem.com/rainuitty/rainu-pulumi-gcp-static-site-submission-33mg</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff7or99e2vzxm87h3iu6j.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff7or99e2vzxm87h3iu6j.jpeg" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;title: "Pulumi GCP Static Site Submission"&lt;br&gt;
published: 4/6/2025&lt;/p&gt;

&lt;h2&gt;
  
  
  tags: devchallenge, pulumichallenge, webdev, cloud
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/pulumi"&gt;Pulumi Deploy and Document Challenge&lt;/a&gt;: Fast Static Website Deployment&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built out a quick Jekyll static site and deployed it leveraging Pulumi. &lt;/p&gt;

&lt;h2&gt;
  
  
  Live Demo Link
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://storage.googleapis.com/bucket-e3362f3/index.html" rel="noopener noreferrer"&gt;https://storage.googleapis.com/bucket-e3362f3/index.html&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Repo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/Rittycheriah/pulumi-hackathon-static-site" rel="noopener noreferrer"&gt;https://github.com/Rittycheriah/pulumi-hackathon-static-site&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Journey
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Things I learned or had to alter to get the Pulumi deployment working apart from the documentation from Pulumi's site:
&lt;/h3&gt;

&lt;p&gt;1) Need to ensure that virtualenv is created and active (My resolution: &lt;code&gt;poetry shell&lt;/code&gt;, after altering the config to include python venv config with &lt;code&gt;virtualenv: venv&lt;/code&gt;)&lt;/p&gt;

&lt;p&gt;2) Need to ensure all proper dependencies have been installed (&lt;code&gt;poetry add setuptools&lt;/code&gt; with the new virtualenv activated)&lt;/p&gt;

&lt;p&gt;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).&lt;/p&gt;

&lt;p&gt;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)&lt;/p&gt;

&lt;p&gt;... but in the end, that was fun and otherwise followed the &lt;a href="https://www.pulumi.com/templates/static-website/gcp/" rel="noopener noreferrer"&gt;official docs&lt;/a&gt; very closely.&lt;/p&gt;

&lt;h3&gt;
  
  
  Things I learned or had to do to get the actual Jekyll template working:
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;2) Once I got Jekyll rolling, it was a matter of &lt;code&gt;jekyll new&lt;/code&gt; and then &lt;code&gt;jekyll serve&lt;/code&gt; to make sure that my new site was at least functional.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  Downsides and admittedly problems with the current deployment:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;For all my desire to get something more pretty up, the way that the static site deployment works, it is &lt;em&gt;not&lt;/em&gt; loading any of the scss or js files. Thus, things are pretty ugly. Nevertheless, you can see the actual site here: &lt;a href="https://storage.googleapis.com/bucket-e3362f3/index.html" rel="noopener noreferrer"&gt;https://storage.googleapis.com/bucket-e3362f3/index.html&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Were I to go back and actually make this a personal blog site for myself, I would:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Host this on a CloudRun instance&lt;/li&gt;
&lt;li&gt;Create a vanity url DNS address to forward to this backend&lt;/li&gt;
&lt;li&gt;Write more content and add photos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nevertheless, I had fun playing with these technologies and remembered how much just building stuff is fun. Thanks for the opportunity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Using Pulumi
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>pulumichallenge</category>
      <category>webdev</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Rainu Ittycheriah is new... </title>
      <dc:creator>Rainu Ittycheriah</dc:creator>
      <pubDate>Wed, 05 Apr 2017 02:20:09 +0000</pubDate>
      <link>https://forem.com/rainuitty/rainu-ittycheriah-is-new</link>
      <guid>https://forem.com/rainuitty/rainu-ittycheriah-is-new</guid>
      <description>&lt;h1&gt;
  
  
  Hello everyone
&lt;/h1&gt;




&lt;ul&gt;
&lt;li&gt;My name is Rainu Ittycheriah, and I've been coding for about 2 years. &lt;/li&gt;
&lt;li&gt;I'm currently trying to grow in depth as a software engineer, and I'm constantly on the lookout for new resources. &lt;/li&gt;
&lt;li&gt;I try to keep up with new developments, and this seems like a great place to start. &lt;/li&gt;
&lt;li&gt;Up to this point, I've written applications in C#/.NET, Ruby/Rails, JavaScript/Node.js, and Python/Django. &lt;/li&gt;
&lt;li&gt;I've played with a tiny bit of Elixir, and I think functional programming seems really cool.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;My interests are typically in learning more about design patterns, architecture, and how to build better systems overall. &lt;/li&gt;
&lt;li&gt;I'm currently reading Domain Driven Design and doing a course in data structures &amp;amp; algorithms.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>new</category>
      <category>noob</category>
      <category>introduction</category>
      <category>python</category>
    </item>
  </channel>
</rss>
