Skip to content

Instantly share code, notes, and snippets.

View aledbf's full-sized avatar
🔍

Manuel Alejandro de Brito Fontes aledbf

🔍
View GitHub Profile
@aledbf
aledbf / exabgp-setup.sh
Created September 6, 2016 15:41 — forked from totallyunknown/exabgp-setup.sh
Virtual IP with ExaBGP
#!/usr/bin/env bash
LOCAL_AS=65210
PEER_AS=65200
LB_IP="1.2.3.4"
HOST_IP=`ip address list | grep "scope global" | grep -v "scope global lo" | cut -d" " -f6 | cut -d"/" -f 1`
GATEWAY=`ip route | grep "^default" | cut -d" " -f3`
EXA_BGP_CONFIG="/etc/exabgp/exabgp.conf"
EXA_BGP_CHECK="/etc/exabgp/exabgp-check.sh"

This is an example of using Linux Kernel's Transparent Proxy to route all TCP traffic to docker containers without having to resort to PROXY protocol which is not supported by some applications (e.g. sshd). To get the demo to work you only need vagrant installed:

git clone [this-gist] tproxy-demo
cd tproxy-demo
vagrant up
apiVersion: v1
kind: ReplicationController
metadata:
name: service-loadbalancer
labels:
app: service-loadbalancer
version: v1
spec:
replicas: 1
selector:
global
log 127.0.0.1:514 local0
defaults
mode http
log global
option httplog
option http-server-close
option dontlognull
option redispatch
@aledbf
aledbf / haproxy.cfg
Created October 13, 2015 19:58 — forked from GABeech/haproxy.cfg
Stack Exchange HAProxy
# This is an example of the Stack Exchange Tier 1 HAProxy config
# The only things that have been changed from what we are running are:
# 1. User names have been removed
# 2. All Passwords have been remove
# 3. IPs have been changed to use the example/documentation ranges
# 4. Rate limit numbers have been changed to randome numbers, don't read into them
userlist stats-auth
group admin users $admin_user
user $admin_user insecure-password $some_password
#!/usr/bin/env bash
#"Installing s3cmd deis fork"
#pip install git+https://github.com/deis/s3cmd
ETCD_HOST=$1
BACKUP_DIRECTORY=$2
ACCESS_KEY=`etcdctl -C $ETCD_HOST:4001 get /deis/store/gateway/accessKey`
SECRET_KEY=`etcdctl -C $ETCD_HOST:4001 get /deis/store/gateway/secretKey`
#!/bin/bash
# apt-get install jq
#set -eu
shopt -s nullglob
readonly base_dir=$1
if [ -z "$base_dir" ] ; then
echo 'please location docker registry store location!';
exit;
fi
# Mount the boot partition. The device name will probably be different from "vda".
mount /dev/vda1 /mnt/
# Double check that we are in the right place
cat /mnt/syslinux/boot_kernel.cfg
#label boot_kernel
# menu label boot_kernel
# kernel vmlinuz-boot_kernel
# append console=ttyS0,115200n8 console=tty0 ro noswap cros_legacy root=LABEL=ROOT rootflags=subvol=root usr=gptprio:
server {
listen 80
server_name foo.com;
location /bar {
proxy_pass http://bar.local.deisapp.com:80
}
location / {
proxy_pass http://foo.local.deisapp.com:80
!#/bin/bash
free;sync; echo 3 | sudo tee /proc/sys/vm/drop_caches;free