Skip to content

Instantly share code, notes, and snippets.

Chiradeep Vittal chiradeep

  • Cupertino,CA
Block or report user

Report or block chiradeep

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
chiradeep /
Last active Mar 22, 2019
Google App Script to Collect GH Traffic Stats into Google Sheets
// Create a sheet with the first sheet called 'TrafficData'. Cell Values are:
// A1: Repo Traffic Collector
// A3: Organization B3: <org value>
// A4: Repo B4: <repo name>
// A7: Date, B7: Views, C7: Uniques, D7: Weeknumber
//Tools -> Script Editor
//Add this script, fill in your GitHub TOKEN (
//Run the onOpen script - you will be warned it is insecure, but accept anyway. This should add a menu item to your sheet
//Use the Custom GitHub menu to run the getRepoTrafficStats function
chiradeep / citrix-k8s-cpx-ingress.yaml
Last active Feb 20, 2019
Deploy Citrix CPX as an Ingress Controller with Prometheus monitoring
View citrix-k8s-cpx-ingress.yaml
kind: ClusterRole
name: cpx-ingress-k8s-role
- apiGroups: [""]
resources: ["services", "endpoints", "ingresses", "pods", "secrets"]
verbs: ["*"]
- apiGroups: ["extensions"]
chiradeep / gist:80a76a661309b193a458351814bf398f
Created Sep 21, 2018
Watch for changes in Endpoints using K8s native Python client
View gist:80a76a661309b193a458351814bf398f
from kubernetes import client, config, watch
api_v1 = client.CoreV1Api()
def watch_endpoints():
w = watch.Watch()
for event in, "default"):
View slo.json
"$schema": "",
"width": 720,
"height": 720,
"padding": 5,
"autosize": "none",
"signals": [
"name": "labels", "value": true,
chiradeep /
Last active Jul 15, 2018
Export existing content switching policies and cs vserver into NetScaler Ansible playbook
import requests
from collections import OrderedDict
import yaml
import yamlloader
cs_vserver = 'test_csvserver'
ns_host = 'localhost:32769'
ns_login = 'nsroot'
ns_password= 'nsroot'
url = 'http://%s/nitro/v1/config/csvserver_cspolicy_binding/%s' % (ns_host, cs_vserver)
View index.html
<!DOCTYPE html>
<meta charset="utf-8">
<link rel="stylesheet" href="">
<script src="" charset="utf-8"></script>
<style>.cmx-user-scene4 .cmx-text-border .cmx-path {stroke: orange}</style>
<div style="max-width:900px; -webkit-transform:rotate(0deg)">
<scene id="scene1">
<label t="translate(0,346)">

Integrate a Next Gen Firewall with Citrix NetScaler VPX in AWS


Quickly deploy a single tier webserver farm solution integrating the Citrix NetScaler loadbalancer and a Next Generation firewall. Solution components include:

  • a CloudFormation template (vpc_2azs.json) to deploy a VPC across 2 zones. There are 2 subnets in each zone: a Public Subnet and a Private Subnet. Internet facing appliances such as the NetScaler and NG FW are deployed in the Public Subnet while the web server farm is deployed in the private subnet.
  • a CloudFormation template (ns.1nic.json) to deploy a single NetScaler VPX appliance in the Public Subnet in one zone
  • a CloudFormation template (webservers.json)to deploy 2 web servers in the Private Subnet in the same zone as the NetScaler VPX
  • a CloudFormation template (pa-fw.json) to deploy a single Next Gen Firewall (Palo Alto VM Series) in the Public Subnet with a network interface in the Private Subnet (same zone as above).
chiradeep /
Created Aug 10, 2016
Simple Jinja2 template to generate HAProxy cfg
from jinja2 import Environment, FileSystemLoader
def render_haproxy_cfg(services):
env = Environment(loader=FileSystemLoader ('templates'), trim_blocks=True)
templ = env.get_template('haproxy.jinja2.cfg')
outp = templ.render(services=services)
outp = templ.render(services=services)
with open('haproxy.cfg', 'wb') as f:
set -x
ipaddr=$(ip addr show dev eth0 | grep "inet " | cut -d ' ' -f 6 | cut -f 1 -d '/')
[ -n "$master_ip" ] || exit 1
set -x
install_docker() {
curl -fsSL | sh
systemctl start docker
install_etcd() {
You can’t perform that action at this time.