In this blog, we will learn how to enable Chef logs as Windows Event Logs. Once the logs are enabled, these Windows Event Logs can be forwarded to ELK, allowing centralized log analysis and faster troubleshooting.
Adventures in DevOps
Wednesday, January 28, 2026
Enabling Chef Logs in Windows Event Viewer
In this blog, we will learn how to enable Chef logs as Windows Event Logs. Once the logs are enabled, these Windows Event Logs can be forwarded to ELK, allowing centralized log analysis and faster troubleshooting.
Sunday, January 25, 2026
Getting Started with Docker Linting Using GitHub Actions
Linting is a vital part of modern software development, as it helps prevent issues early and improves code quality throughout the development lifecycle. It also makes code easier to read, understand, and maintain. There are several linting tools available in the market, each designed for different purposes.
One important area where linting plays an important role is containerization. Docker is a widely used tool in modern development, and the Dockerfile is one of its most critical components. Therefore, maintaining a high-quality Dockerfile is crucial for ensuring code quality and identifying potential issues early. This blog explains how to use CI/CD pipeline to perform Docker linting effectively.
Friday, October 31, 2025
How to Convert StringList Parameters to PowerShell Arrays in Azure DevOps YAML Pipelines
Azure DevOps YAML pipelines provide a well-established, code-based approach to defining CI/CD workflows as code. When working with YAML pipelines, various types of parameters can be used to pass input values into the pipeline. These parameters can be referenced in later stages for multiple purposes, such as structuring the pipeline, adding conditions, or controlling task behavior.
In this blog, we’ll learn how to use StringList parameters in a PowerShell task within a YAML pipeline.
Pre-requites: Experience with Azure DevOps YAML pipelines
Wednesday, October 29, 2025
Enable Cross-Origin Resource Sharing in Nginx Reverse Proxy
Cross-Origin Resource Sharing (CORS) is a web security feature that controls how web pages can request resources from a different domain than the one that served the web page. Without CORS restrictions, any website could make requests to other sites where a user is logged in.
This blog explains how to configure CORS when using Nginx as a reverse proxy. By handling CORS at the Nginx layer, we can centralize and simplify cross-origin access control for multiple backend applications.
Pre-requisites: Nginx Configured as reverse proxy
Thursday, September 25, 2025
How to Use Painless Scripts for Conditional Logic in Ingest Pipelines
In the ELK stack, an ingest pipeline is used to process and transform documents before they are indexed into Elasticsearch. There are several processors available in an ingest pipeline that can be applied to transform documents. To perform transformations effectively, it is sometimes necessary to use conditions. This blog explains how to add conditions in ingest pipelines.
Prerequisites:
- An Elastic Stack account
- An ingest pipeline configured in Elasticsearch
Tuesday, September 2, 2025
Integrating Azure Key Vault with AKS via External Secrets Operator
Managing secrets centrally is a best practice in software development. Secrets should be stored and rotated in a central location, even when they are used by multiple components of an application. However, when secrets need to be accessed in different places, such as CI/CD pipelines and Kubernetes, manually copying them can lead to errors and failures caused by human mistakes.
To address this in Kubernetes, we can use External Secrets Operators, which automatically sync secrets from external secret stores such as Azure Key Vaults into Kubernetes secrets. This removes the need for manual synchronization and reduces the risk of errors due to incorrect or outdated secrets.
Pre-requites:
- Azure Kubernetes Cluster
- Azure Key vault
- Managed identity
Saturday, August 23, 2025
Fixing Azure CLI Storage Account Whitelisting Error: ‘IPs does not appear to be an IPv4 or IPv6 network
This blog explains an error that occurs when whitelisting IPs on a storage account using an Azure CLI script. The script attempts to pass the IPs as a space-separated string and apply them through the CLI. However, it fails with an error indicating that the IP format is incorrect. This post explains the issue and provides the steps to fix it.
Pre-requites:
- Azure Storage account
- The $ipList parameter accepts a semicolon-separated list of IP addresses
Monday, August 18, 2025
How to Extract Certificates and Keys from a PFX File in Windows Using WSL
A Personal Information Exchange (PFX) is a cryptographic file format used to store and protect sensitive information such as certificates, private keys, and secrets. In this blog, I’ll explain how to extract the certificates and private keys from PFX using OpenSSL in Windows Subsystem for Linux (WSL).
Prerequisites:
- WSL
- PFX file with certificate and private key
- Open WSL and run sudo apt update to refresh the list of available packages and their versions.
- Run sudo apt install openssl to install OpenSSL in WSL.
-
As DevOps engineers, you get requirements to do scripts to perform several actions on application or get status of the application backend ...
-
If you are familiar with Terraform, you might have experience with terraform state import, which allows to import state of the already prov...
-
Azure DevOps YAML pipelines now support the stringList parameter type, which allows you to present multiple selectable options as checkboxe...