Wednesday, January 28, 2026

Enabling Chef Logs in Windows Event Viewer

Chef is a desired configuration management tool used to configure multiple systems into the same, identical state. When Chef desired state configuration scripts fail on a few systems, troubleshooting becomes difficult without proper logging, because each failed system must be checked individually.

However, if logs are available centrally, for example, in the ELK stack, it becomes much easier to troubleshoot issues.

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:

  1. WSL
  2. 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.