Posts

Troubleshooting Azure SQL Time-Based Immutability with Terraform

Architecture Diagram Terraform Apply ➡ Resource Group ➡ SQL Server ➡ SQL Databases ➡ Short-Term Retention (7 days) ➡ Long-Term Retention (weekly/monthly/yearly) ➡ AzAPI Update (time-based immutability) TL;DR Terraform  azurerm_mssql_database.long_term_retention_policy   cannot fully enable time-based immutability  yet. immutable_backups_enabled = true  alone  does not enforce it . Use  AzAPI ( azapi_update_resource )  to enable  timeBasedImmutability  and  timeBasedImmutabilityMode . Ensure LTR policies exist  before updating via AzAPI . Validated in portal: backups become  undeletable  until retention expires. Problem Statement Trying to enforce time-based immutability for Azure SQL database backups using Terraform: long_term_retention_policy { immutable_backups_enabled = true weekly_retention = "P1W" } ✅ T...

Quickstart Guide for Kagent Setup with Local LM and Azure OpenAI

Image
  LM Studio overview with running on the local system. To upgrade and install the kagent custom resource definitions (CRDs), you can execute the following command in your terminal: > helm upgrade --install kagent-crds oci://ghcr.io/kagent-dev/kagent/helm/kagent-crds \ --namespace kagent --create-namespace Next, to install the kagent itself, run the following command: >helm upgrade --install kagent oci://ghcr.io/kagent-dev/kagent/helm/kagent --namespace kagent To verify that the installation was successful, you can check the model configurations by executing the following command: >kubectl get mc -n kagent To get more detailed information about the model configuration, you can run the following command: > kubectl get mc -n kagent -oyaml This will return output similar to the following: apiVersion: v1   items:   - apiVersion: kagent.dev/v1alpha1     kind: ModelConfig       metadata:         annotations:   ...

Kubernetes 1.31 || Testing the Image Volume mount feature using Minikube

Image
With Kubernetes new version 1.31 ( https://kubernetes.io/blog/2024/08/13/kubernetes-v1-31-release/ ) there are so many features releases for which are in alpha, beta and stable state. 1 of the new feature which is can really good in the world on AI and other use case is " Support for image volumes ".  I am not going to focus on the different use cases for now, but was trying to test this locally using Minikube. Env Setup  Mac (14.1.2) Minikube (v1.33.1) Driver - docker Container Runtime - cri-o(v1.31) hard requirement for now Minikube Setup $minikube start --feature-gates=ImageVolume=true --driver=docker     --nodes 1     --cni calico     --cpus=2     --memory=4g     --kubernetes-version=v1.31.0     --container-runtime=cri-o     --profile crio 😄  [crio] minikube v1.33.1 on Darwin 14.1.2 (arm64)     ▪ KUBECONFIG=/Users/kulsharm2/OSB/aks/staaks ❗  Specified Kubernetes version 1.31.0 is new...

Integrate Jenkins with Azure Key Vault

Image
Jenkins has been one of the most used CI/CD tools. For every tool which we are using in our daily life, it becomes really challenges when it comes to handling secret information. I know there are lots of tools available provided with PAAS or in house hosting solution. But we need those tools to support integration with different toolsets without many efforts.  In this particular blog, we will be discussing the integration of Jenkins with the  Azure Key Vault . Thanks to all the guys who are continuously working for different communities and spending time to make product more flexible and enhancing the product capabilities. We are going to use Azure Key Vault  plugin for this. There are multiple ways to use this. But in this post, we'll go through the integration and then testing using declarative pipelines. Pre-Requisites- Make sure you have running Jenkins setup You have valid Azure subscription Implementation Steps-      1. Create a...

How to handle packaging in python using __init__.py

Image
Keeping in mind the current situation across the world. I hope everyone is doing good. Please take precautions and stay at home and keep your self busy in whatever way you want to be. I was reading the book "Python for DevOps" and came across the topic "Packaging". In every business, packaging plays a big role while it comes to product distribution.  While it comes to IT software usually, below are the few things which should take care of : Descriptive Versioning  In Python packages, the following two variants are used: major.minor major.minor.micro major - for backward-incompatible changes minor - adds features that are also backward compatible micro - adds backward-compatible bug fixes. The Changelog This is a simple file that keeps track of all the changes we will be doing for each version upgrade. Not going in detail here, coming directly to implementation on how we can handle packaging in python using the "__init__.py"...

Deploy and Scale Kubernetes Application using Spinnaker

Image
Deploy and Scale Kubernetes Application using Spinnaker- In my last post Getting started with Spinnaker , we completed the installation and setup part of spinnaker. In this post, I'll be going through the "Deploying and Scaling application on Kubernetes using spinnaker". In this particular exercise, we'll create a simple "nginx" deployment on kubernetes and expose that as a service. After that we'll see how we can scale up and down the deployment easily from Spinnaker Dashboard itself. Fot this, first make sure we have done port-forwarding for required pods and able to access Spinnaker Dashboard.  Note - Before moving ahead, please make sure that "kubernetes" provider is enabled. You can check this on "Halyard" configuration as below. $ kubectl exec -it  spinnaker-local-spinnake-halyard-0 /bin/bash -n spinnaker $ hal config list | grep -A 37 kubernetes After that click on the Create Application in Applica...