Thomas Thornton
831 FOLLOWERS
Passionate about Microsoft Azure. A passion in IT, specifically all things cloud whether it be a virtual machine taken from a local environment and implemented into the cloud or a fully scalable infrastructure stack built with the cloud in mind. Currently focusing on Microsoft Azure including heavily automation on the Azure platform.
Thomas Thornton
1w ago
In this blog post, I’ll show you on how to set up a content filtering configuration in Azure OpenAI Studio and apply it to your OpenAI deployment entirely using Terraform. Since there isn’t a native Terraform resource available for content filtering configurations, I will be using azapi_resource to assist with this.
The content filtering system in Azure OpenAI Service is designed to complement its core models. It operates by subjecting both the prompt and completion to a combination of classification models, which are geared towards identifying and stopping the generation of harmful content. T ..read more
Thomas Thornton
3w ago
In this blog post, we will look at enabling PostgreSQL flexible server logs and setting a retention period using Terraform. (Somewhat a new feature (was in Preview), the ability to enable server logs.)
Deploying a sample server below, we can see within “Server Logs” that it currently isn’t enabled by default.
Reviewing the linked learn.microsoft.com docs:
You can configure your server logs in the same way as above using the Server Parameters, setting the appropriate values for these parameters: logfiles.download_enable to ON to enable this feature, and logfiles.retention_days to define reten ..read more
Thomas Thornton
1M 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
Thomas Thornton
2M 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
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
Thomas Thornton
3M 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
Thomas Thornton
3M 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
Thomas Thornton
3M 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
Thomas Thornton
4M 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
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