41554 blogs · [ { "id": "01a0d9d5-889c-72be-b6b3-148aedd1fe6c", "title": "How to Set Up Automated Drift Detection and Scheduled Reconciliation in Spacelift", "url": "https://mattias.engineer/blog/2026/spacelift-drift-detection-reconciliation/", "published_at": "2026-09-22T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce0327988", "title": "[Spacelift.io] What Is Terraform Observability and How to Implement It?", "url": "https://mattias.engineer/blog/2026/terraform-observability/", "published_at": "2026-08-31T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce0dae1eb", "title": "Terraform Stacks: The Good, the Bad and the Ugly", "url": "https://mattias.engineer/blog/2026/terraform-stacks-good-bad-ugly/", "published_at": "2026-08-28T13:02:23+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce10a8e2c", "title": "Import Resources From Within Terraform Modules", "url": "https://mattias.engineer/blog/2026/terraform-imports-in-modules/", "published_at": "2026-08-21T13:46:07+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce1c368be", "title": "[Spacelift.io] How to Run Terraform in Bitbucket Pipelines", "url": "https://mattias.engineer/blog/2026/terraform-bitbucket/", "published_at": "2026-08-07T14:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce2509d27", "title": "A pattern for Terraform stacks", "url": "https://mattias.engineer/blog/2026/terraform-stacks-pattern/", "published_at": "2026-08-07T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce25b332c", "title": "[Spacelift.io] How to Manage Terraform Provider Upgrades", "url": "https://mattias.engineer/blog/2026/terraform-upgrade-provider/", "published_at": "2026-08-06T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce2cd7227", "title": "A problem and a policy solution for VCS providers on HCP Terraform", "url": "https://mattias.engineer/blog/2026/hcp-terraform-vcs-provider-issue-tfpolicy/", "published_at": "2026-08-03T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce30a571f", "title": "[Spacelift.io] How to Encrypt Terraform State Files", "url": "https://mattias.engineer/blog/2026/terraform-state-encryption/", "published_at": "2026-07-09T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce3976fab", "title": "[Spacelift.io] Terraform MCP Server Explained: Setup and Use Cases", "url": "https://mattias.engineer/blog/2026/terraform-mcp-server/", "published_at": "2026-07-02T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce4944b0a", "title": "[Spacelift.io] Terraform Compliance and Governance Guide", "url": "https://mattias.engineer/blog/2026/terraform-compliance/", "published_at": "2026-05-26T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce4fcae31", "title": "[Spacelift.io] How to Implement RBAC with Terraform & Best Practices", "url": "https://mattias.engineer/blog/2026/terraform-rbac/", "published_at": "2026-05-21T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce500fd62", "title": "HCP Terraform: The Bitter Taste of RUM", "url": "https://mattias.engineer/blog/2026/hcp-terraform-rum-pricing/", "published_at": "2026-05-05T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce542ba66", "title": "Introducing: Terraform Provider Query", "url": "https://mattias.engineer/blog/2026/terraform-provider-query/", "published_at": "2026-04-24T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce5ddca71", "title": "The Mysterious AzureRM Provider Features Block", "url": "https://mattias.engineer/blog/2026/azurerm-features-block/", "published_at": "2026-04-22T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce642ed23", "title": "[Spacelift.io] How to Share Terraform State (Tutorial)", "url": "https://mattias.engineer/blog/2026/how-to-share-terraform-state/", "published_at": "2026-04-09T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce7174df3", "title": "[Spacelift.io] Terraform Module Versioning: Constraints & Best Practices", "url": "https://mattias.engineer/blog/2026/terraform-module-versioning/", "published_at": "2026-03-31T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce79f32fd", "title": "Manage Azure Network Security Perimeters with Terraform", "url": "https://mattias.engineer/blog/2026/azurerm-network-security-perimeter/", "published_at": "2026-03-10T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce838d284", "title": "[Spacelift.io] Terraform State Lock: How It Works & Best Practices", "url": "https://mattias.engineer/blog/2026/terraform-state-lock/", "published_at": "2026-02-23T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce8a35293", "title": "[Spacelift.io] Terraform State Rollback Guide: Step-by-Step Recovery", "url": "https://mattias.engineer/blog/2026/terraform-state-rollback/", "published_at": "2026-02-20T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce906d48c", "title": "GitHub As Your Terraform Engine (Part 3)", "url": "https://mattias.engineer/blog/2026/terraform-github-3/", "published_at": "2026-01-26T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce91ac127", "title": "GitHub As Your Terraform Engine (Part 2)", "url": "https://mattias.engineer/blog/2026/terraform-github-2/", "published_at": "2026-01-19T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce9535172", "title": "GitHub As Your Terraform Engine (Part 1)", "url": "https://mattias.engineer/blog/2026/terraform-github-1/", "published_at": "2026-01-14T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ce9c6e38e", "title": "Terraform Authoring and Operations Professional in 2026", "url": "https://mattias.engineer/blog/2026/terraform-authoring-operations-professional/", "published_at": "2026-01-01T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cea9ee4ef", "title": "Year in Review", "url": "https://mattias.engineer/blog/2025/year-in-review/", "published_at": "2025-12-31T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ceb7a4b06", "title": "[Spacelift.io] Terraform Parallelism: How It Works, Tuning & Best Practices", "url": "https://mattias.engineer/blog/2025/terraform-parallelism/", "published_at": "2025-12-29T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cec382263", "title": "Azure User-Assigned Managed Identity Federated Credentials", "url": "https://mattias.engineer/blog/2025/azure-managed-identity-credentials/", "published_at": "2025-12-18T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cecf062cd", "title": "AWS S3 ABAC for Terraform Backends", "url": "https://mattias.engineer/blog/2025/aws-abac-for-terraform/", "published_at": "2025-12-17T09:00:18+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7ced85c1b0", "title": "Terraform Stacks: A Deep-Dive for AWS Practitioners in Europe", "url": "https://mattias.engineer/blog/2025/terraform-stacks-deep-dive-aws/", "published_at": "2025-12-02T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cedc748f1", "title": "Terraform Search on HCP Terraform", "url": "https://mattias.engineer/blog/2025/hcp-terraform-search/", "published_at": "2025-11-28T13:55:27+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cedd76514", "title": "[Spacelift.io] Terraform Private Registry: Setup, Publishing & Best Practices", "url": "https://mattias.engineer/blog/2025/terraform-private-registry/", "published_at": "2025-11-26T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cee6eb538", "title": "Revisiting Azure Flexible Federated Identity Credentials", "url": "https://mattias.engineer/blog/2025/revisiting-azure-flexible-federated-identity-credentials/", "published_at": "2025-11-19T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cef051bd2", "title": "Terraform Stacks: A Deep-Dive for Azure Practitioners in Europe", "url": "https://mattias.engineer/blog/2025/terraform-stacks-deep-dive-azure/", "published_at": "2025-11-17T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cefdc1481", "title": "Migrate HCP Terraform Workspaces to Stacks: A Guide for Azure Practitioners", "url": "https://mattias.engineer/blog/2025/migrate-workspaces-to-stacks/", "published_at": "2025-11-11T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf031715d", "title": "[Spacelift.io] How to Manage Dependencies Between Terraform Resources", "url": "https://mattias.engineer/blog/2025/resource-dependencies/", "published_at": "2025-11-03T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf053bfc1", "title": "[Anyshift.io] Monitoring services: A Deep Dive in AWS Resources & Best Practices to Adopt", "url": "https://mattias.engineer/blog/2025/aws-monitoring-services-deep-dive/", "published_at": "2025-10-15T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf151455e", "title": "[Spacelift.io] Atlantis with Terragrunt – Automate Terraform Workflows", "url": "https://mattias.engineer/blog/2025/atlantis-terragrunt/", "published_at": "2025-10-06T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf19740d9", "title": "Terraform Search: Deep-Dive", "url": "https://mattias.engineer/blog/2025/terraform-search-deep-dive/", "published_at": "2025-09-25T03:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf20b500c", "title": "Terraform Actions: Deep-Dive", "url": "https://mattias.engineer/blog/2025/terraform-actions-deep-dive/", "published_at": "2025-09-25T02:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf240f1e8", "title": "Infrastructure and Application Landing Zones on HCP [HashiConf]", "url": "https://mattias.engineer/blog/2025/hashiconf/", "published_at": "2025-09-25T01:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf2b2ffbe", "title": "[Anyshift.io] Database Services: A Deep Dive in AWS Resources & Best Practices to Adopt", "url": "https://mattias.engineer/blog/2025/aws-databases-deep-dive-best-practices/", "published_at": "2025-09-03T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf3036b94", "title": "[Spacelift.io] Terraform Monorepo: Structure, Benefits & Best Practices", "url": "https://mattias.engineer/blog/2025/terraform-monorepo/", "published_at": "2025-08-21T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf35f4802", "title": "Migrate your Azure Terraform Configuration from AzAPI to AzureRM", "url": "https://mattias.engineer/blog/2025/migrate-azapi-to-azurerm/", "published_at": "2025-08-13T06:26:38+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf3e70d9f", "title": "Terraforming 2D Minecraft Structures", "url": "https://mattias.engineer/blog/2025/terraform-minecraft/", "published_at": "2025-08-11T11:57:10+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf4496a7e", "title": "Provisioning Speed Comparison: Terraform for AKS versus EKS", "url": "https://mattias.engineer/blog/2025/aks-eks-provisioning-speed-comparison/", "published_at": "2025-07-31T01:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf4b861d2", "title": "[Spacelift.io] Blue/Green Deployments With Terraform & Kubernetes", "url": "https://mattias.engineer/blog/2025/terraform-kubernetes-blue-green/", "published_at": "2025-07-28T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf4f5812f", "title": "Nomad on Azure: Exposing a Web App", "url": "https://mattias.engineer/blog/2025/nomad-on-azure-9/", "published_at": "2025-07-23T01:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf5acf1e7", "title": "Nomad on Azure: Boundary", "url": "https://mattias.engineer/blog/2025/nomad-on-azure-8/", "published_at": "2025-07-18T01:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf6639557", "title": "[Spacelift.io] Multi-Cloud Provisioning and Management with Terraform", "url": "https://mattias.engineer/blog/2025/terraform-multi-cloud/", "published_at": "2025-07-16T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf6787364", "title": "Nomad on Azure: Revisiting Consul", "url": "https://mattias.engineer/blog/2025/nomad-on-azure-7/", "published_at": "2025-07-15T03:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf7272115", "title": "Nomad on Azure: Nomad Enterprise, enable ACLs, and refactor Terraform configurations", "url": "https://mattias.engineer/blog/2025/nomad-on-azure-6/", "published_at": "2025-07-08T07:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf7603f25", "title": "Nomad on Azure: DNS, TLS, and Gossip Encryption", "url": "https://mattias.engineer/blog/2025/nomad-on-azure-5/", "published_at": "2025-07-06T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf822d6b9", "title": "Manage AWS IPAM with Terraform", "url": "https://mattias.engineer/blog/2025/aws-ipam-with-terraform/", "published_at": "2025-07-04T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf85282d6", "title": "Nomad on Azure: Nomad UI and Azure Load Balancer", "url": "https://mattias.engineer/blog/2025/nomad-on-azure-4/", "published_at": "2025-07-02T23:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf8a3e426", "title": "Manage Azure IPAM with Terraform", "url": "https://mattias.engineer/blog/2025/azure-ipam-with-terraform/", "published_at": "2025-07-02T11:15:11+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cf983dedd", "title": "Nomad on Azure: Nomad clients and a first Nomad job", "url": "https://mattias.engineer/blog/2025/nomad-on-azure-3/", "published_at": "2025-06-27T08:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cfa7e8a65", "title": "Nomad on Azure: The one where we introduce Consul", "url": "https://mattias.engineer/blog/2025/nomad-on-azure-2/", "published_at": "2025-06-26T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cfaa58d19", "title": "Nomad on Azure: A first attempt to provision servers", "url": "https://mattias.engineer/blog/2025/nomad-on-azure-1/", "published_at": "2025-06-25T08:54:21+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cfaf849ae", "title": "[Anyshift.io] AWS Lambda: A Deep Dive in AWS Resources & Best Practices to Adopt", "url": "https://mattias.engineer/blog/2025/aws-lambda-deep-dive-best-practices/", "published_at": "2025-06-23T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cfbdf4102", "title": "[Spacelift.io] HashiCorp Configuration Language (HCL): Overview & Tutorial", "url": "https://mattias.engineer/blog/2025/hcl-overview/", "published_at": "2025-06-20T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cfc95c0e1", "title": "Is your Terraform configuration a State Machine?", "url": "https://mattias.engineer/blog/2025/terraform-state-machine/", "published_at": "2025-06-13T12:10:03+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cfd865ffa", "title": "Developer Self-Service with HCP Waypoint and Minecraft", "url": "https://mattias.engineer/blog/2025/developer-self-service-waypoint-minecraft/", "published_at": "2025-06-07T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cfdfe2b13", "title": "[Anyshift.io] S3 Buckets: A Deep Dive in AWS Resources & Best Practices to Adopt", "url": "https://mattias.engineer/blog/2025/aws-s3-deep-drive-best-practices/", "published_at": "2025-06-06T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cfe2d1227", "title": "Microsoft MVP: Azure Infrastructure as Code", "url": "https://mattias.engineer/blog/2025/microsoft-mvp/", "published_at": "2025-06-01T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cfe3745a1", "title": "Managing AWS Tags", "url": "https://mattias.engineer/blog/2025/managing-aws-tags/", "published_at": "2025-05-28T09:15:32+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cfee26d7c", "title": "Terraform Provider for AWS Version 6: S3 Cross-Region Replication", "url": "https://mattias.engineer/blog/2025/aws-provider-version-6/", "published_at": "2025-05-27T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cff63c830", "title": "HCP Waypoint Actions: Deep Dive", "url": "https://mattias.engineer/blog/2025/waypoint-actions-deep-dive/", "published_at": "2025-05-25T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cffbaf3e2", "title": "Access Vault Secrets From AWS", "url": "https://mattias.engineer/blog/2025/access-vault-secrets-from-aws/", "published_at": "2025-05-20T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7cfff0ceb7", "title": "Terraform Import Resources by Identity", "url": "https://mattias.engineer/blog/2025/terraform-import-identity/", "published_at": "2025-05-15T08:25:29+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d00723e9d", "title": "Migrate Your Terraform State to HCP Terraform", "url": "https://mattias.engineer/blog/2025/migrate-state-to-hcp-terraform/", "published_at": "2025-05-14T13:50:50+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d010dbf23", "title": "Create Temporary GitHub Repos for Demos with Terraform", "url": "https://mattias.engineer/blog/2025/temporary-github-repos-terraform/", "published_at": "2025-05-13T11:08:51+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0168af4c", "title": "Manage HCP Waypoint with Terraform", "url": "https://mattias.engineer/blog/2025/hcp-waypoint-with-terraform/", "published_at": "2025-05-10T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0192ce30", "title": "[Spacelift.io] What are Terraform Stacks? Setup & Use Cases", "url": "https://mattias.engineer/blog/2025/what-are-terraform-stacks/", "published_at": "2025-05-09T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d02865561", "title": "[Anyshift.io] AWS Secrets Manager: A Deep Dive in AWS Resources & Best Practices to Adopt", "url": "https://mattias.engineer/blog/2025/aws-secrets-manager-deep-dive-best-practices/", "published_at": "2025-05-07T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d032fc074", "title": "Export Terraform Code from the Azure Portal", "url": "https://mattias.engineer/blog/2025/azure-portal-export-terraform/", "published_at": "2025-05-05T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0347e4e7", "title": "[Spacelift.io] CI/CD Best Practices – Top 11 Tips for Successful Pipelines", "url": "https://mattias.engineer/blog/2025/ci-cd-best-practices/", "published_at": "2025-04-23T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d03e449d9", "title": "[Spacelift.io] Patterns That Set Infrastructure Automation Leaders Apart", "url": "https://mattias.engineer/blog/2025/infrastructure-automation-leaders/", "published_at": "2025-04-22T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d047aec24", "title": "Terraform Authoring and Operations Professional in 2025", "url": "https://mattias.engineer/blog/2025/terraform-authoring-operations-professional/", "published_at": "2025-04-08T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d04ae590c", "title": "[Anyshift.io] AWS Network Firewall: A Deep Dive in AWS Resources & Best Practices to Adopt", "url": "https://mattias.engineer/blog/2025/aws-network-firewall-deep-dive-best-practices/", "published_at": "2025-04-07T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d057ed9d0", "title": "Hcp Waypoint for Self Service (infographics)", "url": "https://mattias.engineer/blog/2025/hcp-waypoint-for-self-service/", "published_at": "2025-04-03T12:02:25+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d05b8ea20", "title": "Hashicorp Ambassador 2025", "url": "https://mattias.engineer/blog/2025/hashicorp-ambassador/", "published_at": "2025-04-02T12:34:37+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d05d30fb4", "title": "Terraform State on Azure (infographics)", "url": "https://mattias.engineer/blog/2025/terraform-state-on-azure/", "published_at": "2025-04-01T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d06a01917", "title": "Hcp Terraform Azure Workload Identity (infographics)", "url": "https://mattias.engineer/blog/2025/hcp-terraform-azure-workload-identity/", "published_at": "2025-03-17T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d074423ef", "title": "[Anyshift.io] VPC networking: A Deep Dive in AWS Resources & Best Practices to Adopt", "url": "https://mattias.engineer/blog/2025/aws-vpc-networking-deep-dive/", "published_at": "2025-03-13T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d07f65ec9", "title": "Vault Event Notifications", "url": "https://mattias.engineer/blog/2025/vault-event-notifications/", "published_at": "2025-03-10T16:41:59+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d08170899", "title": "[env0.com] A guide to the Terraform state file", "url": "https://mattias.engineer/blog/2025/terraform-state-file/", "published_at": "2025-03-05T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d08c9b778", "title": "[Anyshift.io] DNS: A Deep Dive in AWS Resources & Best Practices to Adopt", "url": "https://mattias.engineer/blog/2025/dns-a-deep-dive-in-aws/", "published_at": "2025-02-26T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d096fa34b", "title": "HCP Terraform Landing Zones", "url": "https://mattias.engineer/blog/2025/hcp-terraform-landing-zones/", "published_at": "2025-02-11T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0a37b141", "title": "[Spacelift.io] What Is DevOps Automation? Best Practices & Benefits", "url": "https://mattias.engineer/blog/2025/devops-automation/", "published_at": "2025-02-05T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0b205e8e", "title": "[Anyshift.io] Identity and Access Management (IAM): A Deep Dive in AWS Resources & Best Practices to Adopt", "url": "https://mattias.engineer/blog/2025/aws-iam-deep-dive-best-practices/", "published_at": "2025-02-03T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0b82d3e5", "title": "Terraform Associate certification course", "url": "https://mattias.engineer/blog/2025/terraform-associate-course/", "published_at": "2025-01-30T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0bed7baa", "title": "[hashicorp.com] Access Azure from HCP Terraform with OIDC federation", "url": "https://mattias.engineer/blog/2025/access-azure-from-hcp-terraform-with-oidc-federation/", "published_at": "2025-01-23T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0c487227", "title": "[env0.com] .gitignore Command Guide: Practical Examples and Terraform Tips", "url": "https://mattias.engineer/blog/2025/gitignore/", "published_at": "2025-01-19T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0c61ec51", "title": "Azure Flexible Federated Identity Credentials for HCP Terraform", "url": "https://mattias.engineer/blog/2025/azure-flexible-federated-credentials-for-terraform/", "published_at": "2025-01-18T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0d05a726", "title": "[env0.com] Terraform Split and Join Functions: Examples and Best Practices", "url": "https://mattias.engineer/blog/2025/terraform-split-and-join/", "published_at": "2025-01-07T20:51:30+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0dd888cd", "title": "Year in Review", "url": "https://mattias.engineer/blog/2024/year-in-review/", "published_at": "2024-12-31T15:45:56+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0de83054", "title": "[Spacelift.io] Cloud Infrastructure Management: Components, Tools & Benefits", "url": "https://mattias.engineer/blog/2024/cloud-infrastructure-management/", "published_at": "2024-12-19T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0ede23c0", "title": "Terraform Authoring and Operations Professional", "url": "https://mattias.engineer/blog/2024/terraform-authoring-and-operations-professional/", "published_at": "2024-12-17T00:00:00+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0f515359", "title": "Terraform Registry", "url": "https://mattias.engineer/blog/2024/terraform-registry/", "published_at": "2024-12-16T14:17:35+00:00" }, { "id": "01a087a2-1b27-70db-9b74-5a7d0ff27584", "title": "Terraform Test Mocks", "url": "https://mattias.engineer/blog/2024/terraform-test-mocks/", "published_at": "2024-12-14T14:42:09+00:00" } ] posts Claim your blog
Back to mattias.engineer
Blog · corpus.blog/blogs/mattias.engineer/posts

mattias.engineer

mattias.engineer

2026

2025

2024