<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Terraform on Route179</title>
    <link>https://route179.dev/tags/terraform/</link>
    <description>Recent content in Terraform on Route179</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>2026 Sheng Chen</copyright>
    <lastBuildDate>Fri, 02 Oct 2020 10:16:46 +0000</lastBuildDate>
    <atom:link href="https://route179.dev/tags/terraform/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>NSX-T Automation with Terraform</title>
      <link>https://route179.dev/2020/10/02/nsx-t-automation-with-terraform/</link>
      <pubDate>Fri, 02 Oct 2020 10:16:46 +0000</pubDate>
      <guid>https://route179.dev/2020/10/02/nsx-t-automation-with-terraform/</guid>
      <description>&lt;p&gt;Recently I have tried out the Terraform NSX-T Provider and it worked like a charm. In this post, I will demonstrate a simple example on how to leverage Terraform to provision a basic NSX tenant network environment, which includes the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;create a Tier-1 router&lt;/li&gt;
&lt;li&gt;create (linked) routed ports on the new T1 router and the existing upstream T0 router&lt;/li&gt;
&lt;li&gt;link the T1 router to the upstream T0 router&lt;/li&gt;
&lt;li&gt;create three logical switches with three logical ports&lt;/li&gt;
&lt;li&gt;create three downlink LIFs (with subnets/gateway defined) on the T1 router, and link each of them to the logical switch ports accordingly&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once the tenant environment is provisioned by Terraform, the 3x tenant subnets will be automatically published to the T0 router and propagated to the rest of the network (if BGP is enabled), and we should be able to reach the individual LIF addresses. Below is a sample topology deployed in my lab — (here I’m using pre-provisioned static routes between the T0 and upstream network for simplicity reasons).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Build a Serverless CI/CD pipeline on AWS with Fargate, CodePipeline and Terraform</title>
      <link>https://route179.dev/2020/06/20/build-a-serverless-ci-cd-pipeline-on-aws-with-fargate-codepipeline-and-terraform/</link>
      <pubDate>Sat, 20 Jun 2020 20:06:42 +0000</pubDate>
      <guid>https://route179.dev/2020/06/20/build-a-serverless-ci-cd-pipeline-on-aws-with-fargate-codepipeline-and-terraform/</guid>
      <description>&lt;p&gt;This blog provides an example for deploying a CI/CD pipeline on AWS utilising the serverless container platform Fargate and the fully managed CodePipeline service. We’ll also use Terraform to automate the process for building the entire AWS environment, as shown in the below diagram.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://route179.dev/2020/06/20/build-a-serverless-ci-cd-pipeline-on-aws-with-fargate-codepipeline-and-terraform/cicd-fargate.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Specifically, we’ll be creating the following AWS resources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x demo VPC including public/private subnets, NAT gateway and security groups etc&lt;/li&gt;
&lt;li&gt;1x ALB for providing LB services to a target group of 2x Fargate container tasks&lt;/li&gt;
&lt;li&gt;1x ECS cluster with a Fargate service definition (running our demo app)&lt;/li&gt;
&lt;li&gt;1x CodePipeline definition, which builds the demo app from &lt;a href=&#34;https://github.com/sc13912/fargate-demo-app.git&#34;&gt;GitHub Repo&lt;/a&gt; (with a webhook trigger) and deploys it to the same Fargate service&lt;/li&gt;
&lt;li&gt;1x ECR repository for hosting pipeline build images&lt;/li&gt;
&lt;li&gt;2x S3 Buckets as build &amp;amp; artifact cache&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt; – for this demo, I’m using these Terraform modules found on GitHub:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cloud Native DevOps on GCP Series Ep3 – Use Terraform to launch a Serverless CI/CD pipeline with Cloud Run, GCR and Cloud Build</title>
      <link>https://route179.dev/2020/06/13/use-terraform-to-launch-a-serverless-ci-cd-pipeline-with-cloud-run-gcr-and-cloud-build/</link>
      <pubDate>Sat, 13 Jun 2020 09:53:41 +0000</pubDate>
      <guid>https://route179.dev/2020/06/13/use-terraform-to-launch-a-serverless-ci-cd-pipeline-with-cloud-run-gcr-and-cloud-build/</guid>
      <description>&lt;p&gt;This is the third episode of our **Cloud Native DevOps on GCP **series. In the previous chapters, we have achieved the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://route179.wordpress.com/2020/06/09/build-a-gke-cluster-with-terraform/&#34;&gt;&lt;strong&gt;Built a GKE Cluster with Terraform&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://route179.wordpress.com/2020/06/09/create-a-ci-cd-pipeline-with-gke-gcr-and-cloud-build/&#34;&gt;**Created a CI/CD pipeline with GKE, GCR and Cloud Build **&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This time, we will take a step further and go completely serverless by deploying the same Node app onto the Google Cloud Run platform. Cloud Run is built from an open source project named &lt;a href=&#34;https://knative.dev/&#34;&gt;Knative&lt;/a&gt;, which is a serverless framework developed based on the industry proven Kubernetes architecture. Whilst Knative is developed with the same event-driven concept (like other serverless solutions), it also offers great flexibility and multi-cloud portability at a container level.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cloud Native DevOps on GCP Series Ep2 – Create a CI/CD pipeline with GKE, GCR and Cloud Build</title>
      <link>https://route179.dev/2020/06/09/create-a-ci-cd-pipeline-with-gke-gcr-and-cloud-build/</link>
      <pubDate>Tue, 09 Jun 2020 10:13:00 +0000</pubDate>
      <guid>https://route179.dev/2020/06/09/create-a-ci-cd-pipeline-with-gke-gcr-and-cloud-build/</guid>
      <description>&lt;p&gt;This is the second episode of our **Cloud Native DevOps on GCP **series. In the previous chapter, we have built a multi-AZ GKE cluster with Terraform. This time, we’ll create a cloud native CI/CD pipeline leveraging our GKE cluster and Google DevOps tools such as Cloud Build and Google Container Registry (GCR). We’ll create a Cloud Build trigger by connecting to GitHub repository to perform automatic build, test and deployment of a sample micro-service app onto the GKE cluster.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cloud Native DevOps on GCP Series Ep1 – Build a GKE Cluster with Terraform</title>
      <link>https://route179.dev/2020/06/09/build-a-gke-cluster-with-terraform/</link>
      <pubDate>Tue, 09 Jun 2020 10:12:59 +0000</pubDate>
      <guid>https://route179.dev/2020/06/09/build-a-gke-cluster-with-terraform/</guid>
      <description>&lt;p&gt;This is the first episode of our &lt;strong&gt;Cloud Native DevOps on GCP&lt;/strong&gt; series. Here we’ll be building an Google Kubernetes Engine (GKE) cluster using Terraform. From my personal experience, GKE has been one of the most scalable and reliable managed Kubernetes solution, and it’s also 100% upstream compliant and &lt;a href=&#34;https://www.cncf.io/certification/software-conformance/&#34;&gt;certified by CNCF&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For this demo I have provided a sample Terraform script &lt;a href=&#34;https://github.com/sc13912/tf-gcp-gke.git&#34;&gt;at here&lt;/a&gt;. The target state will look like this:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://route179.dev/2020/06/09/build-a-gke-cluster-with-terraform/multi-az-gke-2.png&#34;&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
