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
chiradeep / Code.gs
Last active Mar 22, 2019
Google App Script to Collect GH Traffic Stats into Google Sheets
View Code.gs
//Setup:
// 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 (https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line)
//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
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
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: cpx-ingress-k8s-role
rules:
- apiGroups: [""]
resources: ["services", "endpoints", "ingresses", "pods", "secrets"]
verbs: ["*"]
- apiGroups: ["extensions"]
@chiradeep
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
config.load_kube_config()
api_v1 = client.CoreV1Api()
def watch_endpoints():
w = watch.Watch()
for event in w.stream(api_v1.list_namespaced_endpoints, "default"):
print(event)
View slo.json
{
"$schema": "https://vega.github.io/schema/vega/v4.json",
"width": 720,
"height": 720,
"padding": 5,
"autosize": "none",
"signals": [
{
"name": "labels", "value": true,
@chiradeep
chiradeep / policy_export.py
Last active Jul 15, 2018
Export existing content switching policies and cs vserver into NetScaler Ansible playbook
View policy_export.py
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="http://cmx.io/v/0.1/cmx.css">
<script src="http://cmx.io/v/0.1/cmx.js" charset="utf-8"></script>
<style>.cmx-user-scene4 .cmx-text-border .cmx-path {stroke: orange}</style>
<body>
<div style="max-width:900px; -webkit-transform:rotate(0deg)">
<scene id="scene1">
<label t="translate(0,346)">
View README_ref_arch.md

Integrate a Next Gen Firewall with Citrix NetScaler VPX in AWS

Overview

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
chiradeep / generate_haproxy_cfg.py
Created Aug 10, 2016
Simple Jinja2 template to generate HAProxy cfg
View generate_haproxy_cfg.py
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:
f.write(outp)
View configure_kubernetes_centos.sh
#!/bin/bash
set -x
master_ip=$1
ipaddr=$(ip addr show dev eth0 | grep "inet " | cut -d ' ' -f 6 | cut -f 1 -d '/')
is_master=${2:-"true"}
[ -n "$master_ip" ] || exit 1
View install_kuberenetes_centos.sh
#!/bin/bash
set -x
install_docker() {
curl -fsSL https://get.docker.com/ | sh
systemctl start docker
}
install_etcd() {
You can’t perform that action at this time.