Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion assets/js/plugins.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ taxonomies:
category: categories
tag: tags
section_category: section_categories
pagination:
pagerSize: 5
enableRobotsTXT: true
params:
linkedin_link: https://www.linkedin.com/company/masterpoint-consulting/about/
Expand All @@ -14,8 +16,8 @@ params:
rss_link: https://masterpoint.io/blog/index.xml
#google_analytics: UA-
sitewide_note: <strong>Masterpoint stands with Ukraine.</strong> Here’s how you can help Ukraine with just a few clicks. >
sitewide_note_link: /updates/supporting-ukraine/
get_in_touch: /contact
sitewide_note_link: /blog/supporting-ukraine/
get_in_touch: /contact/
outputs:
home:
- HTML
Expand Down
2 changes: 1 addition & 1 deletion content/blog/2023-07-17-hiring-july-2023.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ date: 2023-07-17
# date_modified: 2025-xx-xx Be sure to use this if you've updated the post as this helps with SEO and index freshness
description: We're hiring a Senior, US-based Platform Engineer ASAP. This is a full-time contract with option to grow into FTE if you're interested. Continue reading to learn more about the position!
image: /img/updates/hiring-july-2023.png
callout: "<p>👋 <b>Interested in platform engineering for your organization</b>, but not sure where to start? <a href='/contact'>Get in touch,</a> we're an expert team of platform engineers who deliver high-quality cloud platforms for startups and SMBs looking to scale. We enable your application engineers to focus on your product and in turn generate more value for your business.</p><a href='/contact' class='button'>Get In Touch &rsaquo;</a>"
callout: "<p>👋 <b>Interested in platform engineering for your organization</b>, but not sure where to start? <a href='/contact/'>Get in touch,</a> we're an expert team of platform engineers who deliver high-quality cloud platforms for startups and SMBs looking to scale. We enable your application engineers to focus on your product and in turn generate more value for your business.</p><a href='/contact/' class='button'>Get In Touch &rsaquo;</a>"
---

Come join us at Masterpoint as we build **awesome** cloud platforms for our clients! We’re searching for our next great platform engineer to help us architect, implement, and improve our cloud platform pattern that is built on AWS, Terraform, and Containers. Our vision for both employees and contractors is to provide an open and inclusive work environment, strive for a proper work / life balance, and contribute to the open source ecosystems that we rely so heavily on.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ date: 2023-08-10
# date_modified: 2025-xx-xx Be sure to use this if you've updated the post as this helps with SEO and index freshness
description: "We dive into one of Terraform's most recent features to leverage infrastructure validation."
image: /img/updates/tf-check-blog-post.png
callout: "<p>👋 <b>Interested in platform engineering for your organization</b>, but not sure where to start? <a href='/contact'>Get in touch,</a> we're an expert team of platform engineers who deliver high-quality cloud platforms for startups and SMBs looking to scale. We enable your application engineers to focus on your product and in turn generate more value for your business.</p><a href='/contact' class='button'>Get In Touch &rsaquo;</a>"
callout: "<p>👋 <b>Interested in platform engineering for your organization</b>, but not sure where to start? <a href='/contact/'>Get in touch,</a> we're an expert team of platform engineers who deliver high-quality cloud platforms for startups and SMBs looking to scale. We enable your application engineers to focus on your product and in turn generate more value for your business.</p><a href='/contact/' class='button'>Get In Touch &rsaquo;</a>"
---

<h2>Table of Contents</h2>
Expand Down
4 changes: 2 additions & 2 deletions content/blog/2024-02-08-terraform-controller-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ date: 2024-02-08
# date_modified: 2025-xx-xx Be sure to use this if you've updated the post as this helps with SEO and index freshness
description: The post explores how Terraform Controller by Weaveworks can enable GitOps for infrastructure management.
image: /img/updates/terraform-controller-overview/tf_controller_0.png
callout: "<p>👋 <b>Interested in platform engineering for your organization</b>, but not sure where to start? <a href='/contact'>Get in touch,</a> we're an expert team of platform engineers who deliver high-quality cloud platforms for startups and SMBs looking to scale. We enable your application engineers to focus on your product and in turn generate more value for your business.</p><a href='/contact' class='button'>Get In Touch &rsaquo;</a>"
callout: "<p>👋 <b>Interested in platform engineering for your organization</b>, but not sure where to start? <a href='/contact/'>Get in touch,</a> we're an expert team of platform engineers who deliver high-quality cloud platforms for startups and SMBs looking to scale. We enable your application engineers to focus on your product and in turn generate more value for your business.</p><a href='/contact/' class='button'>Get In Touch &rsaquo;</a>"
---

<h2>Table of Contents</h2>
Expand Down Expand Up @@ -37,7 +37,7 @@ callout: "<p>👋 <b>Interested in platform engineering for your organization</b

In this post, we continue exploring effective tools for bridging the gap between Infrastructure as Code and GitOps. We aim to harness the optimal benefits of these practices as they are fundamental to our thoughts on building great platforms. One such tool that has gained our attention is [Terraform Controller](https://weaveworks.github.io/tf-controller/) by [Weaveworks](https://www.weave.works/), and we'd like to share our experience.

Before going into the details, we recommend reading our experience with a framework called [Crossplane](https://www.crossplane.io/), which we've passed on in our [previous blog post](https://masterpoint.io/updates/passing-on-crossplane/). While Crossplane offers deep Kubernetes integration, treating infrastructure management as a native Kubernetes operation, it also brings certain complexities and limitations. In contrast, Terraform Controller interconnects the Kubernetes ecosystem with Terraform's robust infrastructure management capabilities.
Before going into the details, we recommend reading our experience with a framework called [Crossplane](https://www.crossplane.io/), which we've passed on in our [previous blog post](https://masterpoint.io/blog/passing-on-crossplane/). While Crossplane offers deep Kubernetes integration, treating infrastructure management as a native Kubernetes operation, it also brings certain complexities and limitations. In contrast, Terraform Controller interconnects the Kubernetes ecosystem with Terraform's robust infrastructure management capabilities.
A key distinction lies in their operational models - Terraform Controller builds upon Terraform's established state management and operational principles. For those already well-acquainted with Terraform, this offers a certain familiarity, reliability, and feature completeness.

## In a Nutshell
Expand Down
2 changes: 1 addition & 1 deletion content/blog/2024-03-05-terraform-null-label-advanced.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ description: "A post highlighting some advanced usage of the terraform-null-labe
image: /img/updates/terraform-null-label-part2.png
---

Following up from our last article on the `terraform-null-label` module, (if you haven’t read that already, [be sure to here](https://masterpoint.io/updates/terraform-null-label/)) we want to talk about some advanced usage scenarios. This module effectively helps to maintain consistent naming and tagging practices, but it can still be cumbersome to implement when you need to create lots of variables that implement the label interface. In that case, why not borrow a little bit from object-oriented programming (OOP) with [the concept of a "mixin"](https://en.wikipedia.org/wiki/Mixin)? The module has this capability through the drop-in `context.tf` file. It provides a great framework to implement naming and tagging, especially in scenarios where there’s lots of nesting and module dependencies. In this follow-up, we’ll explore mixins, and provide some code examples to help understand how to get the most out of `terraform-null-label`.
Following up from our last article on the `terraform-null-label` module, (if you haven’t read that already, [be sure to here](https://masterpoint.io/blog/terraform-null-label/)) we want to talk about some advanced usage scenarios. This module effectively helps to maintain consistent naming and tagging practices, but it can still be cumbersome to implement when you need to create lots of variables that implement the label interface. In that case, why not borrow a little bit from object-oriented programming (OOP) with [the concept of a "mixin"](https://en.wikipedia.org/wiki/Mixin)? The module has this capability through the drop-in `context.tf` file. It provides a great framework to implement naming and tagging, especially in scenarios where there’s lots of nesting and module dependencies. In this follow-up, we’ll explore mixins, and provide some code examples to help understand how to get the most out of `terraform-null-label`.

## Background

Expand Down
2 changes: 1 addition & 1 deletion content/blog/2024-05-13-terraform-use-cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ date: 2024-05-13
slug: terraform-use-cases
description: "Engineering orgs that use IaC tools like Terraform aren’t typically maximizing their leverage. This article highlights at least three uses of Terraform and IaC automation that don’t necessarily center around traditional application workload infrastructure."
image: /img/updates/tf-use-cases.jpeg
callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a>
callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact/'>Get in touch!</a>
---

One of the main themes we’ve noticed is that platform teams often struggle when embracing the "as code" philosophy. Sure, they'll use OpenTofu or Terraform (collectively referred to from here on out as “TF”) to manage compute and other cloud resources, but they tend to stop short of applying the same principles to _everything_ in their operational domain.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ date_modified: 2026-08-18
description: This article explores the challenges and pitfalls of Terralith, a monolithic Terraform architecture in Infrastructure as Code, and uncovers why a Terralith is not a good practice.
image: /img/updates/terralith/terralith-article.png
preview_image: /img/updates/terralith/terralith-preview-image.png # Use preview_image to prevent image overflow, best aspect ratios 270x355 or 600x700
callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a></p>
callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact/'>Get in touch!</a></p>
---

<h2>Table of Contents</h2>
Expand Down
2 changes: 1 addition & 1 deletion content/blog/2024-10-10-migrate-off-tfc.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ date_modified: 2026-08-18
description: "Need to to migrate off Terraform Cloud? We're happy to share some tips about preparation, pitfalls, and the process itself based on Masterpoint's experience."
image: /img/updates/migrate-off-tfc/main.webp
preview_image: /img/updates/migrate-off-tfc/preview.webp
callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a>
callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact/'>Get in touch!</a>
---

# Introduction
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ date: 2025-02-06
date_modified: 2026-06-03 # Be sure to use this if you've updated the post as this helps with SEO and index freshness
description: Discover why cloud object storage services are the gold standard for Terraform or OpenTofu’s remote state and backend, including the benefits and an example using AWS S3 with native state locking.
image: /img/updates/cloud-object-storage-terraform-remote-backend/cloud-object-storage-for-terraform-remote-backend.webp
callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact'>Get in touch!</a></p>
callout: <p>👋 <b>If you're ready to take your infrastructure to the next level, we're here to help. We love to work together with engineering teams to help them build well-documented, scalable, automated IaC that make their jobs easier. <a href='/contact/'>Get in touch!</a></p>
---

<h2>Table of Contents</h2>
Expand Down Expand Up @@ -48,7 +48,7 @@ Now you might be wondering, "Okay, remote state sounds great, but where should I
Cloud service object storage such as Amazon Web Service’s (AWS) S3 is a particularly great choice for the backend for remote state. Here’s why:

1. **Battle-Tested & Reliable**: Cloud object storage solutions are already used by countless organizations for a variety of different use cases. By choosing this route, you’re benefitting from a battle-tested and community approved approach. Object storage solutions have been around for decades. Your backend and remote state for IaC will be as resilient as the infrastructure they represent - [S3 is designed for 99.99% availability](https://docs.aws.amazon.com/AmazonS3/latest/userguide/DataDurability.html)!
2. **Avoid Tooling & Vendor Lock-In**: Unlike proprietary IaC management platforms, object storage services have a shared API, allowing you to migrate between them if needed. [While platforms such as Terraform Cloud offer remote state storage solutions, it’s not as easy to migrate off of these backends](https://masterpoint.io/updates/how-to-migrate-off-tfc/) because each service has their own implementations. If you ever need to switch IaC automation providers, which is more likely than migrating your cloud infrastructure, you can easily do so. Your state and backend are universal and unchanged, remaining on AWS S3 or your chosen cloud object store.
2. **Avoid Tooling & Vendor Lock-In**: Unlike proprietary IaC management platforms, object storage services have a shared API, allowing you to migrate between them if needed. [While platforms such as Terraform Cloud offer remote state storage solutions, it’s not as easy to migrate off of these backends](https://masterpoint.io/blog/how-to-migrate-off-tfc/) because each service has their own implementations. If you ever need to switch IaC automation providers, which is more likely than migrating your cloud infrastructure, you can easily do so. Your state and backend are universal and unchanged, remaining on AWS S3 or your chosen cloud object store.
3. **Portability**: As mentioned above, organizations are unlikely to switch cloud providers, but in the case that it does happen, the transition is smooth. Object storage APIs are standard, making provider switches a walk in the park. It’s as easy as changing a few lines in your backend configuration to point to the new storage (of course, you’d also have to actually migrate the state files to the new provider as well, [which is handled during reinitialization](https://developer.hashicorp.com/terraform/language/backend#change-configuration)).
4. **Familiarity with Cloud Services**: If you’re dealing with IaC, you are likely already working with cloud services such as AWS and Google Cloud (GCP). Using object storage for your remote state means that you can leverage your existing cloud infrastructure functionality, such as [versioning](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html), [encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html), and your cloud’s [IAM permission system for RBAC](https://docs.aws.amazon.com/prescriptive-guidance/latest/saas-multitenant-api-access-authorization/access-control-types.html#rbac).

Expand Down
Loading