diff --git a/assets/js/plugins.js b/assets/js/plugins.js index 828a3cdb..0b8af3f4 100644 --- a/assets/js/plugins.js +++ b/assets/js/plugins.js @@ -273,7 +273,7 @@ CookieConsent.run({ acceptAllBtn: "Accept all", acceptNecessaryBtn: "Reject all", showPreferencesBtn: "Manage preferences", - footer: "Privacy Policy\nTerms and conditions" + footer: "Privacy Policy\nTerms and conditions" }, preferencesModal: { title: "Consent Preferences Center", diff --git a/config.yaml b/config.yaml index 611b4dcf..704933ab 100644 --- a/config.yaml +++ b/config.yaml @@ -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/ @@ -14,8 +16,8 @@ params: rss_link: https://masterpoint.io/blog/index.xml #google_analytics: UA- sitewide_note: Masterpoint stands with Ukraine. 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 diff --git a/content/blog/2023-07-17-hiring-july-2023.md b/content/blog/2023-07-17-hiring-july-2023.md index d6d732c6..386ed67d 100644 --- a/content/blog/2023-07-17-hiring-july-2023.md +++ b/content/blog/2023-07-17-hiring-july-2023.md @@ -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: "

👋 Interested in platform engineering for your organization, but not sure where to start? Get in touch, 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.

Get In Touch ›" +callout: "

👋 Interested in platform engineering for your organization, but not sure where to start? Get in touch, 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.

Get In Touch ›" --- 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. diff --git a/content/blog/2023-08-10-understanding-the-terraform-check-block-feature.md b/content/blog/2023-08-10-understanding-the-terraform-check-block-feature.md index 999500b7..fd470cdc 100644 --- a/content/blog/2023-08-10-understanding-the-terraform-check-block-feature.md +++ b/content/blog/2023-08-10-understanding-the-terraform-check-block-feature.md @@ -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: "

👋 Interested in platform engineering for your organization, but not sure where to start? Get in touch, 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.

Get In Touch ›" +callout: "

👋 Interested in platform engineering for your organization, but not sure where to start? Get in touch, 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.

Get In Touch ›" ---

Table of Contents

diff --git a/content/blog/2024-02-08-terraform-controller-overview.md b/content/blog/2024-02-08-terraform-controller-overview.md index 714dece5..f67a8571 100644 --- a/content/blog/2024-02-08-terraform-controller-overview.md +++ b/content/blog/2024-02-08-terraform-controller-overview.md @@ -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: "

👋 Interested in platform engineering for your organization, but not sure where to start? Get in touch, 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.

Get In Touch ›" +callout: "

👋 Interested in platform engineering for your organization, but not sure where to start? Get in touch, 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.

Get In Touch ›" ---

Table of Contents

@@ -37,7 +37,7 @@ callout: "

👋 Interested in platform engineering for your organization👋 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. Get in touch! +callout:

👋 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. Get in touch! --- 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. diff --git a/content/blog/2024-08-22-terralith-monolithic-terraform-architecture.md b/content/blog/2024-08-22-terralith-monolithic-terraform-architecture.md index 6803bb88..fd4ac804 100644 --- a/content/blog/2024-08-22-terralith-monolithic-terraform-architecture.md +++ b/content/blog/2024-08-22-terralith-monolithic-terraform-architecture.md @@ -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:

👋 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. Get in touch!

+callout:

👋 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. Get in touch!

---

Table of Contents

diff --git a/content/blog/2024-10-10-migrate-off-tfc.md b/content/blog/2024-10-10-migrate-off-tfc.md index ac7f5b00..fc624fde 100644 --- a/content/blog/2024-10-10-migrate-off-tfc.md +++ b/content/blog/2024-10-10-migrate-off-tfc.md @@ -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:

👋 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. Get in touch! +callout:

👋 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. Get in touch! --- # Introduction diff --git a/content/blog/2025-02-06-why-use-cloud-object-storage-terraform-remote-backend.md b/content/blog/2025-02-06-why-use-cloud-object-storage-terraform-remote-backend.md index e9f75244..e5fe87ab 100644 --- a/content/blog/2025-02-06-why-use-cloud-object-storage-terraform-remote-backend.md +++ b/content/blog/2025-02-06-why-use-cloud-object-storage-terraform-remote-backend.md @@ -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:

👋 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. Get in touch!

+callout:

👋 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. Get in touch!

---

Table of Contents

@@ -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). diff --git a/content/blog/2025-03-06-steps-to-break-up-a-terralith.md b/content/blog/2025-03-06-steps-to-break-up-a-terralith.md index 4c4eb7c3..7871abd1 100644 --- a/content/blog/2025-03-06-steps-to-break-up-a-terralith.md +++ b/content/blog/2025-03-06-steps-to-break-up-a-terralith.md @@ -9,7 +9,7 @@ date_modified: 2026-08-18 description: In this follow-up to our "What Is a Terralith?" article, we shift the focus from describing the problem to providing a detailed migration plan, practical guidance, and a handy checklist for breaking up a Terralith into smaller, more manageable root modules. image: /img/updates/steps-to-break-up-a-terralith/main.png preview_image: /img/updates/steps-to-break-up-a-terralith/preview.png -callout:

👋 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. Get in touch!

+callout:

👋 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. Get in touch!

---

Table of Contents

@@ -37,7 +37,7 @@ callout:

👋 If you're ready to take your infrastructure to the next leve Do you manage your infrastructure with Terraform or OpenTofu (collectively referred to from here on out as TF)? Have you noticed long `plan` and `apply` durations? Or are you concerned about the blast radius of changes? If so, you might be dealing with a **Terralith**. “Terralith” refers to a monolithic TF architecture where all your resources are managed within a single root module and state file. This setup leads to inefficiencies and increased risk when making changes. -In our previous article, [“What Is a Terralith?”](https://masterpoint.io/updates/terralith-monolithic-terraform-architecture/), we explored the challenges associated with Terraliths and why it’s beneficial to break them into smaller, manageable pieces. +In our previous article, [“What Is a Terralith?”](https://masterpoint.io/blog/terralith-monolithic-terraform-architecture/), we explored the challenges associated with Terraliths and why it’s beneficial to break them into smaller, manageable pieces. In this guide, we’ll walk you through the steps to break up a Terralith, helping you improve your infrastructure’s maintainability, and overall performance. @@ -121,7 +121,7 @@ You can do this by: Plan how you’ll manage multiple state files and keep them consistent. The organization of these files may differ based on your needs. We recommend storing your TF state in a reliable cloud storage solution. For example, on AWS, use an S3 bucket in the root or shared-services account as your backend, with DynamoDB for state locking. This solution offers versioning, encryption and enforces access control using IAM. A resource to help you set up state management on S3 is the open-source child module [cloudposse/terraform-aws-tfstate-backend](https://github.com/cloudposse/terraform-aws-tfstate-backend). -We explore this topic in detail in our blog post on [why cloud object storage is the best option for a Terraform remote state and backend](https://masterpoint.io/updates/why-use-cloud-object-storage-terraform-remote-backend/). +We explore this topic in detail in our blog post on [why cloud object storage is the best option for a Terraform remote state and backend](https://masterpoint.io/blog/why-use-cloud-object-storage-terraform-remote-backend/). ### Key Organizational and Team Questions diff --git a/content/blog/2025-04-01-importance-of-efficient-notifications-terraform-automation.md b/content/blog/2025-04-01-importance-of-efficient-notifications-terraform-automation.md index 20ea98e0..88b27a5b 100644 --- a/content/blog/2025-04-01-importance-of-efficient-notifications-terraform-automation.md +++ b/content/blog/2025-04-01-importance-of-efficient-notifications-terraform-automation.md @@ -8,7 +8,7 @@ date: 2025-04-01 date_modified: 2026-08-18 description: Explore how unnoticed Terraform & Infrastructure as Code (IaC) failures can lead to significant problems, and how efficient notification alerts can prevent issues from cascading into major operational disruptions. image: /img/updates/efficient-notifications-terraform-automation/terraform-automation-notifications.png -callout:

👋 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. Get in touch!

+callout:

👋 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. Get in touch!

---

Table of Contents

diff --git a/content/blog/2025-04-17-using-mcps-to-run-terraform.md b/content/blog/2025-04-17-using-mcps-to-run-terraform.md index b169f7ad..1bc027e1 100644 --- a/content/blog/2025-04-17-using-mcps-to-run-terraform.md +++ b/content/blog/2025-04-17-using-mcps-to-run-terraform.md @@ -8,7 +8,7 @@ date_modified: 2026-08-18 slug: using-mcps-to-run-terraform description: "We jump into a hands-on exploration of Model Context Protocol (MCP), sharing our experiment using a MCP client to run terraform init, plan, apply. We share our take on where agents add value and highlight security considerations when adding MCPs to your workflow." image: /img/updates/using-mcps-to-run-terraform/header5.png -callout:

👋 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. Get in touch! +callout:

👋 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. Get in touch! --- ## Table of Contents diff --git a/content/blog/2025-05-21-tf-terminology-breakdown.md b/content/blog/2025-05-21-tf-terminology-breakdown.md index 04ae0e72..6ea54092 100644 --- a/content/blog/2025-05-21-tf-terminology-breakdown.md +++ b/content/blog/2025-05-21-tf-terminology-breakdown.md @@ -8,7 +8,7 @@ date: 2025-05-21 date_modified: 2026-08-18 description: List of Terraform and OpenTofu terms with definitions and explanations. image: /img/updates/tf-terminology-breakdown.png -callout:

👋 Got a term that you're still confused on in the TF or IaC space that you want us to include here? Get in touch and we'd be happy to add it!

+callout:

👋 Got a term that you're still confused on in the TF or IaC space that you want us to include here? Get in touch and we'd be happy to add it!

--- # Table of Contents @@ -117,7 +117,7 @@ State management in Terraform comes in two primary flavors: local and remote bac **Remote backends**, on the other hand, store state in shared locations like S3 or Azure Storage, enabling multiple engineers to collaborate safely on the same configurations, while also providing better security controls. -We wrote an article on the best Backends to use here: [Why Use Cloud Object Storage for Terraform's Remote Backend & State](https://masterpoint.io/updates/why-use-cloud-object-storage-terraform-remote-backend/) +We wrote an article on the best Backends to use here: [Why Use Cloud Object Storage for Terraform's Remote Backend & State](https://masterpoint.io/blog/why-use-cloud-object-storage-terraform-remote-backend/) ## State Locking @@ -133,7 +133,7 @@ Without proper testing, infrastructure changes could potentially lead to costly ## Check Blocks -Terraform 1.5 introduced built-in validation through check blocks, which run during the planning phase. These blocks allow you to make assertions about your resource configurations before any changes are applied, providing an additional layer of confidence in your infrastructure changes. [We have an article that breaks down this topic that you can read here](https://masterpoint.io/updates/understanding-terraform-check/). +Terraform 1.5 introduced built-in validation through check blocks, which run during the planning phase. These blocks allow you to make assertions about your resource configurations before any changes are applied, providing an additional layer of confidence in your infrastructure changes. [We have an article that breaks down this topic that you can read here](https://masterpoint.io/blog/understanding-terraform-check/). ## Native TF Testing @@ -193,9 +193,9 @@ Platforms like Env0 and Scalr, which provide a more holistic, top-down managemen ## Terralith Pattern -The [Terralith pattern](https://masterpoint.io/updates/terralith-monolithic-terraform-architecture/) represents a specific approach to TF architecture that opts for a single state file for all infrastructure using a monolithic root module approach. While it's often seen as a natural starting point for new projects, teams should view it as technical debt that needs to be addressed in the future. The pattern's fundamental limitations - from state file locking issues to increased blast radius of changes - make it unsuitable for long-term use or any environment that needs to scale beyond basic infrastructure management. +The [Terralith pattern](https://masterpoint.io/blog/terralith-monolithic-terraform-architecture/) represents a specific approach to TF architecture that opts for a single state file for all infrastructure using a monolithic root module approach. While it's often seen as a natural starting point for new projects, teams should view it as technical debt that needs to be addressed in the future. The pattern's fundamental limitations - from state file locking issues to increased blast radius of changes - make it unsuitable for long-term use or any environment that needs to scale beyond basic infrastructure management. -Dealing with the Terralith problem and want to know more? [Check out our original post on this topic here](https://masterpoint.io/updates/terralith-monolithic-terraform-architecture/) and then [learn how to break up a Terralith in our follow-up article here](https://masterpoint.io/updates/steps-to-break-up-a-terralith/). +Dealing with the Terralith problem and want to know more? [Check out our original post on this topic here](https://masterpoint.io/blog/terralith-monolithic-terraform-architecture/) and then [learn how to break up a Terralith in our follow-up article here](https://masterpoint.io/blog/steps-to-break-up-a-terralith/). ## Demystifying HashiCorp Offerings: Terraform Cloud vs Terraform Enterprise vs HCP Terraform diff --git a/content/blog/2025-06-22-oss-iac.md b/content/blog/2025-06-22-oss-iac.md index 4eb4448e..c8024af6 100644 --- a/content/blog/2025-06-22-oss-iac.md +++ b/content/blog/2025-06-22-oss-iac.md @@ -8,7 +8,7 @@ date: 2025-06-22 # 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: "If your platform team is still writing every Terraform and OpenTofu resource by hand, you're falling behind. This post explains how open source Infrastructure as Code (IaC) enables modern platform engineering at scale — reducing effort, increasing security, and speeding up delivery." image: /img/updates/oss-iac/oss-iac.png -callout:

👋 If you're ready to bring OSS best practices into your IaC codebase and workflows, we can help you get there—faster, safer, and with less overhead. Get in touch!

+callout:

👋 If you're ready to bring OSS best practices into your IaC codebase and workflows, we can help you get there—faster, safer, and with less overhead. Get in touch!

---

Table of Contents

@@ -68,7 +68,7 @@ There are many best practices that get built into OSS IaC modules, but I'll focu [Naming in software is hard](https://martinfowler.com/bliki/TwoHardThings.html). And naming in infrastructure is even worse. Even with the rise of infrastructure as code, the large majority of engineering orgs that we've run into don't follow a consistent naming or tagging pattern across all of their resources. This is a problem because without these consistent patterns, at scale an organization will struggle to find resources, group related resources, and, most importantly, correlate cost across them. -But with open source, you adopt and build upon best practices. Cloud Posse's modules and their usage of null-label are the first place we've seen naming and tagging done well. Read [our introductory article on null-label here](https://masterpoint.io/updates/terraform-null-label/) (and [follow up with our advanced article here](https://masterpoint.io/updates/terraform-null-label-advanced/) if interested) to get the full details. +But with open source, you adopt and build upon best practices. Cloud Posse's modules and their usage of null-label are the first place we've seen naming and tagging done well. Read [our introductory article on null-label here](https://masterpoint.io/blog/terraform-null-label/) (and [follow up with our advanced article here](https://masterpoint.io/blog/terraform-null-label-advanced/) if interested) to get the full details. For example, this [AWS lambda function child-module](https://github.com/cloudposse/terraform-aws-lambda-function) implements great naming and tagging. [You can see in their tests here](https://github.com/cloudposse/terraform-aws-lambda-function/blob/c05157ccc3c9ade68372cc3959588e26406f6b07/test/src/examplescomplete_test.go#L48) that this module creates well-defined names that include a namespace, the region the resources are deployed to, and the environment. These components of the name also are built into the tags. diff --git a/content/blog/2025-07-17-platform-engineering-way-to-manage-google-workspace-users.md b/content/blog/2025-07-17-platform-engineering-way-to-manage-google-workspace-users.md index 590b7757..c563221d 100644 --- a/content/blog/2025-07-17-platform-engineering-way-to-manage-google-workspace-users.md +++ b/content/blog/2025-07-17-platform-engineering-way-to-manage-google-workspace-users.md @@ -9,7 +9,7 @@ slug: platform-engineering-way-to-manage-google-workspace-users description: "Migrate Google Workspace from ClickOps to Infrastructure as Code with our open source Terraform module. Includes design patterns and import examples." tags: ["terraform", "google-workspace", "infrastructure-as-code", "automation"] image: /img/updates/managing-googleworkspace-with-terraform/preview-3.png -callout:

👋 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. Get in touch!

+callout:

👋 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. Get in touch!

--- ## Table of Contents diff --git a/content/blog/2025-09-17-fix-iam-trust-policy-errors-using-aws-sso-regional-arn.md b/content/blog/2025-09-17-fix-iam-trust-policy-errors-using-aws-sso-regional-arn.md index 47e9c8cb..6c69c0f9 100644 --- a/content/blog/2025-09-17-fix-iam-trust-policy-errors-using-aws-sso-regional-arn.md +++ b/content/blog/2025-09-17-fix-iam-trust-policy-errors-using-aws-sso-regional-arn.md @@ -8,7 +8,7 @@ date: 2025-09-17 date_modified: 2026-08-18 description: If your IAM trust policy isn't working with AWS IAM Identity Center SSO roles, it might be because us-east-1 does not have the region in the ARN while other regions do. image: /img/updates/aws-iam-identity-center-sso-trust-policies.png -callout:

👋 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. Get in touch!

+callout:

👋 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. Get in touch!

--- When working with [AWS IAM Identity Center](https://aws.amazon.com/iam/identity-center/) (formerly also known as AWS Single-Sign-on SSO), one of the most frustrating errors you can face is configuring trust policies that properly reference SSO role ARNs created by IAM Identity Center. diff --git a/content/blog/2025-10-06-standard-tf-files.md b/content/blog/2025-10-06-standard-tf-files.md index 7dacad51..9d685cae 100644 --- a/content/blog/2025-10-06-standard-tf-files.md +++ b/content/blog/2025-10-06-standard-tf-files.md @@ -7,7 +7,7 @@ slug: standard-tf-files date: 2025-10-06 description: "A comprehensive guide to the various files that make up a Terraform and OpenTofu project. Learn what belongs in main.tf, variables.tf, outputs.tf, and other essential files for maintainable Infrastructure as Code." image: /img/updates/standard-tf-files.png -callout:

👋 If your team is struggling with inconsistent Terraform organization or looking to establish better practices for Infrastructure as Code, we'd love to help. To discuss how we can support your infrastructure goals with proven patterns and strategies, get in touch!

+callout:

👋 If your team is struggling with inconsistent Terraform organization or looking to establish better practices for Infrastructure as Code, we'd love to help. To discuss how we can support your infrastructure goals with proven patterns and strategies, get in touch!

---

Table of Contents

@@ -275,7 +275,7 @@ The required_providers block serves two important functions: The source attribute is particularly important in organizations that use private provider registries or forks of official providers. -Want to know all about versioning in Terraform and OpenTofu? Read our definitive article on that topic: [The Ultimate Terraform Versioning Guide](/blog/ultimate-terraform-versioning-guide). +Want to know all about versioning in Terraform and OpenTofu? Read our definitive article on that topic: [The Ultimate Terraform Versioning Guide](/blog/ultimate-terraform-versioning-guide/). ### .terraform.lock.hcl: The Dependency Lock File diff --git a/content/blog/2026-06-22-using-opentofu-exclude-flag-isolate-performance-bottlenecks.md b/content/blog/2026-06-22-using-opentofu-exclude-flag-isolate-performance-bottlenecks.md index d63041d1..f41d8756 100644 --- a/content/blog/2026-06-22-using-opentofu-exclude-flag-isolate-performance-bottlenecks.md +++ b/content/blog/2026-06-22-using-opentofu-exclude-flag-isolate-performance-bottlenecks.md @@ -8,7 +8,7 @@ date: 2026-06-22 date_modified: 2026-08-18 description: "Pair OpenTofu's exclude flag with OpenTelemetry tracing to isolate and prove Terraform performance bottlenecks. A real-world story of cutting plan times from 7 minutes to 2 by pinpointing AWS Route 53 API rate limiting." image: /img/updates/opentofu-exclude-flag-performance-bottlenecks/opentofu-exclude-flag.png -callout:

👋 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. Get in touch!

+callout:

👋 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. Get in touch!

---

Table of Contents

@@ -153,4 +153,4 @@ We used OpenTelemetry traces with the exclude flag to isolate the problem & conf When TF runs are mysteriously slow and you suspect a particular resource type or module is the culprit, OpenTofu's excluding feature lets you test that hypothesis in minutes, against your real state, without refactoring a line of code or affecting real infrastructure. -Check out our [case study success story with Cursor](https://masterpoint.io/case-studies/cursor) where we used this technique to isolate and prove a performance bottleneck. +Check out our [case study success story with Cursor](https://masterpoint.io/case-studies/cursor/) where we used this technique to isolate and prove a performance bottleneck. diff --git a/content/now/_index.md b/content/now/_index.md index f3c3e5c4..722e296a 100644 --- a/content/now/_index.md +++ b/content/now/_index.md @@ -5,7 +5,7 @@ banner_text: 'Inspired by Derek Sivers last_update: January 2026 id: nowPage banner_btn_label: Let's Chat! -banner_btn_link: /contact +banner_btn_link: /contact/ --- ## Masterpoint's Recent Focus diff --git a/content/sections/home-make-infrastructure.md b/content/sections/home-make-infrastructure.md index d5cf5cc0..aab1ae6a 100644 --- a/content/sections/home-make-infrastructure.md +++ b/content/sections/home-make-infrastructure.md @@ -14,4 +14,4 @@ id: make-infrastructure Code is easy to come by. But cheap code doesn’t make for an efficient platform. Proven patterns and strong automations do. Our IaC workshops and Pattern Library provide the expertise, training, and foundations needed to build the workflows that lead to efficient operations. -See Our Results → +See Our Results → diff --git a/content/supports/towards-ukraine.md b/content/supports/towards-ukraine.md index 2729cc53..848cc8bb 100644 --- a/content/supports/towards-ukraine.md +++ b/content/supports/towards-ukraine.md @@ -1,8 +1,7 @@ --- title: 1% towards Ukraine description: >- - We have employees, past colleagues, and friends in Ukraine who are affected by the ongoing conflict, and we are committed to supporting them and their communities in any way we can. As part of that commitment, we donate 1% of our annual revenue to war relief efforts in Ukraine, working with organizations that provide aid and assistance to those in need. Read more on our support of Ukraine and how you can contribute. + We have employees, past colleagues, and friends in Ukraine who are affected by the ongoing conflict, and we are committed to supporting them and their communities in any way we can. As part of that commitment, we donate 1% of our annual revenue to war relief efforts in Ukraine, working with organizations that provide aid and assistance to those in need. Read more on our support of Ukraine and how you can contribute. weight: 3 icon: /img/supports/img_toward_ukraine.png --- - diff --git a/content/who-we-are/_index.md b/content/who-we-are/_index.md index de233034..6882819b 100644 --- a/content/who-we-are/_index.md +++ b/content/who-we-are/_index.md @@ -7,7 +7,7 @@ banner_image: /img/banner_who.jpg description: "We're a team of experienced software and platform engineers who advise clients on their most complex IaC challenges. Since our establishment in 2016, we have been committed to providing expert guidance to organizations of all sizes and helping them leverage the latest in IaC practices so their engineering teams can move faster." sections: "who-we-are" banner_link_label: Wondering what we're up to at the moment? Check out our now page › -banner_link: "/now" +banner_link: "/now/" sitemap: priority: 1 id: page-who-we-are diff --git a/layouts/_default/list.html b/layouts/_default/list.html index b5f8dab1..cf1cf21d 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -1,3 +1,5 @@ +{{ $paginator := .Paginator }} +{{ .Scratch.Set "canonicalURL" ($paginator.URL | absURL) }} {{ partial "head.html" . }} {{ partial "header.html" . }} @@ -45,7 +47,7 @@

- {{ range (.Paginator 5).Pages }} + {{ range $paginator.Pages }} {{ partial "news-entry.html" . }} {{ end }}
@@ -58,4 +60,4 @@

{{ partial "footer.html" . }} {{ partial "scripts.html" . }} - \ No newline at end of file + diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 9014b393..4f947e7f 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -19,8 +19,8 @@ document.write(new Date().getFullYear()); - {{ .Site.Title }} - All Rights Reserved.
- Privacy Policy | - Terms and Conditions + Privacy Policy | + Terms and Conditions diff --git a/layouts/partials/head.html b/layouts/partials/head.html index 70f36ee5..103c27aa 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -78,8 +78,11 @@ {{ end }} - - + {{ $canonicalURL := .Permalink }} + {{ with .Scratch.Get "canonicalURL" }}{{ $canonicalURL = . }}{{ end }} + + + diff --git a/static/img/updates/ai-meets-tf-prompt-strategies-for-test-generation/yang-weston-woodworking-robotic-arm.png b/static/img/updates/ai-meets-tf-prompt-strategies-for-test-generation/yang-weston-woodworking-robotic-arm.png index f115532a..f4e7ce6d 100644 Binary files a/static/img/updates/ai-meets-tf-prompt-strategies-for-test-generation/yang-weston-woodworking-robotic-arm.png and b/static/img/updates/ai-meets-tf-prompt-strategies-for-test-generation/yang-weston-woodworking-robotic-arm.png differ diff --git a/static/img/updates/managing-googleworkspace-with-terraform/preview-3.png b/static/img/updates/managing-googleworkspace-with-terraform/preview-3.png index a191c877..b83b9dee 100644 Binary files a/static/img/updates/managing-googleworkspace-with-terraform/preview-3.png and b/static/img/updates/managing-googleworkspace-with-terraform/preview-3.png differ diff --git a/static/img/updates/terraform-null-label-part1.png b/static/img/updates/terraform-null-label-part1.png index bea6abe3..0608b6e2 100644 Binary files a/static/img/updates/terraform-null-label-part1.png and b/static/img/updates/terraform-null-label-part1.png differ diff --git a/static/img/updates/tf-versioning-guide/main.jpeg b/static/img/updates/tf-versioning-guide/main.jpeg index 93f6af50..75e66f65 100644 Binary files a/static/img/updates/tf-versioning-guide/main.jpeg and b/static/img/updates/tf-versioning-guide/main.jpeg differ