Skip to content

Instantly share code, notes, and snippets.

View aneeshkp's full-sized avatar

Aneesh Puttur aneeshkp

View GitHub Profile
@aneeshkp
aneeshkp / xks-https-workaround.md
Last active May 29, 2026 16:41
HTTPS on xKS Gateway — Manual Workaround for RHOAI 3.4 TP (pre-PR #90)

HTTPS on xKS Gateway — Manual Workaround for RHOAI 3.4 TP (pre-PR #90)

HTTPS on xKS Gateway — Manual Workaround (RHOAI 3.4 TP)

The rhai-on-xks helm chart creates the inference gateway with HTTP only (port 80). These steps add HTTPS manually after the chart is installed.

Verified working on AKS (May 28–29, 2026).

Which case should I use?

@aneeshkp
aneeshkp / deploy-llmisvc-hf-download.sh
Created May 19, 2026 20:00
Deploy LLMInferenceService with HuggingFace download (storage-initializer) on AKS
#!/bin/bash
# Deploy LLMInferenceService — download model from HuggingFace via storage-initializer
# No local models needed. The storage-initializer init container downloads the model
# before vLLM starts.
# 1. Create namespace
kubectl create namespace llm-test 2>/dev/null || true
# 2. Copy pull secret
kubectl create secret generic rhai-pull-secret \
@aneeshkp
aneeshkp / deploy-llmisvc-local-models.sh
Last active May 19, 2026 20:46
Deploy LLMInferenceService with local NVMe model cache on AKS
#!/bin/bash
# Deploy LLMInferenceService using pre-downloaded models from local NVMe storage
# Models are in HuggingFace cache format at /mnt/local-nvme-storage/models/hub/
#
# The operator normally generates "vllm serve /mnt/models" which breaks with HF cache
# (symlinks in snapshots/ point to ../../blobs/ which is outside the mount boundary).
#
# Workaround: override the container command to use the model NAME instead of a path.
# Mount the HF cache and set HF_HUB_CACHE so vLLM resolves from cache — no download.
# Must include SSL flags since the operator's default command template is bypassed.
@aneeshkp
aneeshkp / ptp-mcp-server-comparison.md
Created February 12, 2026 13:17
Comparison: ptp-operator-mcp-server vs ptp-mcp-server — Architecture, Gaps, and Improvements

PTP MCP Server Comparison: ptp-operator-mcp-server vs ptp-mcp-server

Executive Summary

Both repositories provide Model Context Protocol (MCP) servers for monitoring and diagnosing Precision Time Protocol (PTP) infrastructure on OpenShift clusters. They share the same author (Aneesh Puttur / Red Hat) and solve the same core problem — enabling AI agents (e.g., Claude) to interact with PTP infrastructure through natural language.

However, they differ significantly in maturity, architecture, language, and feature depth.

Dimension ptp-operator-mcp-server ptp-mcp-server
## Pull kube-ansible
[tohayash@tohayash-lab work]$ git clone https://github.com/redhat-nfvpe/kube-ansible.git
Cloning into 'kube-ansible'...
remote: Enumerating objects: 32, done.
remote: Counting objects: 100% (32/32), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 3019 (delta 8), reused 21 (delta 7), pack-reused 2987
Receiving objects: 100% (3019/3019), 529.58 KiB | 658.00 KiB/s, done.
Resolving deltas: 100% (1382/1382), done.
[tohayash@tohayash-lab work]$ cd kube-ansible
https://github.com/devopscube/kubenetes-rbac-resources-verbs/blob/master/README.md
import csv
import requests
import sys
def GetMetrixNames(url):
response = requests.get('{0}/api/v1/label/__name__/values'.format(url))
results = response.json()['data']
#Return metrix
return results
@aneeshkp
aneeshkp / prom_metrix_to_csv.py
Created June 13, 2018 14:03
Export data from Prometheus to csv file
import csv
import requests
import sys
def GetMetrixNames(url):
response = requests.get('{0}/api/v1/label/__name__/values'.format(url))
names = response.json()['data']
#Return metrix names
return names
@aneeshkp
aneeshkp / Barometer side config
Created March 27, 2018 15:14
QpidRouter Configurations
##
## Licensed to the Apache Software Foundation (ASF) under one
## or more contributor license agreements. See the NOTICE file
## distributed with this work for additional information
## regarding copyright ownership. The ASF licenses this file
## to you under the Apache License, Version 2.0 (the
## "License"); you may not use this file except in compliance
## with the License. You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
{
"mappings": {
"connectivity": {
"_all": {
"enabled": true
},
"properties": {
"labels": {
"type": "object",
"properties": {