Scaling Terraform Deployments with GitHub Actions: Essential Configurations
Thomas Thornton
by Thomas Thornton
1w ago
Scaling Terraform Deployments with GitHub Actions: Essential Configurations, is part of the 90 Days of DevOps event that Michael Cade has been running, certainly check out the event for lots more awesome DevOps related contributions here What have I covered in this session? My session is a presentation & demo – that covers essential configurations and settings for effective management of scaling terraform deployments with GitHub Action: 1. GitHub Repository settings Protect branches, maintain code quality, and require pull requests for smooth collaboration 2. Structuring your repository ..read more
Visit website
Ensuring Your Terraform is Correctly Formatted Using Terraform fmt and GitHub Actions
Thomas Thornton
by Thomas Thornton
1M ago
As with all pull requests, we want to run various CI checks to ensure validation of your code and one of these is code quality, writing Terraform? Unsure if the Terraform in the pull-request is formatted correctly? This is where GitHub Actions come in handy. In this post, we’ll explore how to ensure your Terraform code is correctly formatted using terraform fmt and GitHub Actions What is terraform fmt? terraform fmt is a command as part of Terraform that is used to check and rewrite your Terraform files to the required canonical format and style. Several features and what it checks for is: In ..read more
Visit website
Enforcing Kubernetes best practices and simplifying Kubernetes Configuration Validation with Kube-Linter and GitHub Actions
Thomas Thornton
by Thomas Thornton
2M ago
Kubernetes is ever growing and certainly a standard for container orchestration, however with it being picked up more and more by development teams, we want to ensure best practices and correctness of Kubernetes configuration files are valid. This can be tough and challenging to manage, let’s look at a tool that can assist you in this journey. Let’s look at Kubelinter, that will help you to validate Kubernetes YAML files, ensuring best practices are being adhered to and avoid those common pitfalls! In this blog post, we will explore Kubelinter and how to integrate it into your CI/CD pipeline u ..read more
Visit website
Adding pull-request comments to Azure DevOps Repo from Azure DevOps Pipelines
Thomas Thornton
by Thomas Thornton
2M ago
Sometimes as part of your pull request process, you may want to include outputs, checks, or other relevant information as comments after your pipeline runs on various stages and tasks. In this blog post we will look and how this can be achieved using a bash task and Azure DevOps API Prerequisites I will be using a service connection within my pipeline that will be running the task to write a comment using the Azure DevOps API. This connection will need to have the configuration: Contribute to pull requests set to Allow for the specific Azure DevOps repository The Bash script As mentioned in th ..read more
Visit website
Resolving steps.plan.outputs.* returns Empty Issue with hashicorp/setup-terraform@v3
Thomas Thornton
by Thomas Thornton
2M ago
A quick blog post to include the fix/what is needed to resolve steps.plan.outputs.* is empty when using GitHub Action hashicorp/setup-terraform@v3 I recently came across a situation while working with the hashicorp/setup-terraform@v3 GitHub Action. I wanted to make use of steps.plan.outputs.stdout to display the Terraform Plan, but I noticed that the output was consistently empty. Even though successful Terraform plans should have output as shown below, mine was not showing anything. When attempting to reference the output ${{ steps.plan.outputs.stdout }} it was returning as empty, Example be ..read more
Visit website
Displaying Terraform Plans in GitHub PRs with GitHub Actions
Thomas Thornton
by Thomas Thornton
2M ago
In this blog post, I’ll show you a cool trick – how to share your Terraform Plan right in the comments of your GitHub Pull Request using GitHub Actions. This comes with some handy benefits for your workflow: Streamlined Review Process: Easily share the Terraform Plan within the PR comments, saving reviewers from digging into additional logs. Enhanced Visibility: Users get a clear view of the plan without the need for extra steps, making the review more efficient. User-Friendly Integration: GitHub Actions automates the process, seamlessly incorporating the Terraform Plan into your PR, enhancin ..read more
Visit website
Resolving Terraform Error ApplicationGatewayInvalidPublicIpSku : Application Gateway SKU Mismatch with Public IP
Thomas Thornton
by Thomas Thornton
3M ago
If you’ve stumbled upon the following Terraform error while setting up an Application Gateway with a Public IP, this blog post will guide you through the steps to fix it. │ Error: creating Application Gateway: (Name "aks-appgateway" / Resource Group "rg-aks-production"): network.ApplicationGatewaysClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code="ApplicationGatewayInvalidPublicIpSku" Message="Application gateway /subscriptions/***/resourceGroups/rg-aks-production/providers/Microsoft.Network/applicationGateways/aks-appgateway with SKU Standard_v2 can only ..read more
Visit website
Deploying Azure AKS with Application Gateway and Flux extension – An introduction to GitOps
Thomas Thornton
by Thomas Thornton
4M ago
In this blog post/tutorial, we’ll dive into a range of topics that are all deployed using GitHub Actions and Terraform. The focus is on deploying key components: Azure AKS Cluster: The foundation for the next components, will deploy to AKS using GitOps Azure Application Gateway: Seamlessly connected to the AKS cluster as an Ingress Controller as part of the Terraform deployment Flux GitOps Extension on AKS: Unleashing the potential of GitOps for streamlined cluster management. Example Application Deployment with Flux: Taking a hands-on approach to deploying applications onto the AKS cluster ..read more
Visit website
Deploying Azure AKS GitOps Flux extension with Terraform
Thomas Thornton
by Thomas Thornton
4M ago
In a previous blog post, I provided a comprehensive guide on deploying Azure AKS, Application Gateway, and GitOps extension with AKS. This involved an in-depth overview of flux/kustomization, among other components. In this post, I’ll specifically focus on deploying the Azure AKS GitOps extension and configuring flux using this extension. The Terraform Lets jump right in by going through the Terraform required Flux AKS extension To begin, we need an AKS extension as part of the GitOps/Flux installation. Below is the Terraform code snippet: resource "azurerm_kubernetes_cluster_extension" "flu ..read more
Visit website
GitHub Action seeing dockerfile but no additional files or folders in the same location
Thomas Thornton
by Thomas Thornton
4M ago
Recently I was using the task docker/build-push-action@v2 to build and push docker image to Azure Container Registry, I encountered an error while using the task. The error specifically pointed to a failure referenced below: buildx failed with: ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref a72cffd2-669d-40cb-bf47-1788485c85af::b218hbaww1e2zhk2gj5r3o10u: "/azure-vote": not found Upon investigation, I discovered that the issue was rooted in the absence of the ‘azure-vote’ folder in the same location as my Dockerfile. The step in question looked like ..read more
Visit website

Follow Thomas Thornton on FeedSpot

Continue with Google
Continue with Apple
OR