Skip to content

Instantly share code, notes, and snippets.

View sgirones's full-sized avatar

Salvador Girones Gil sgirones

View GitHub Profile
@sgirones
sgirones / envoy-config.yaml
Created May 29, 2018 14:49
TCP Network balancer using Envoy
admin:
access_log_path: /dev/null
address:
socket_address: { address: 127.0.0.1, port_value: 8001 }
static_resources:
listeners:
- name: listener1
address:
socket_address: { address: 0.0.0.0, port_value: 443 }
2018/05/03 14:13:24.401627 [TRACE] catalog.nodes: GET /v1/catalog/nodes?index=14354103&wait=1m0s
2018/05/03 14:13:24.401668 [DEBUG] (runner) receiving dependency catalog.nodes
2018/05/03 14:13:24.401701 [INFO] (runner) initiating run
2018/05/03 14:13:24.401713 [DEBUG] (runner) checking template f747a8ccf42baba4af4db5f2a626a6e2
2018/05/03 14:13:24.402382 [DEBUG] (runner) diffing and updating dependencies
2018/05/03 14:13:24.402419 [DEBUG] (runner) catalog.nodes is still needed
2018/05/03 14:13:24.402428 [DEBUG] (runner) watching 2 dependencies
2018/05/03 14:13:24.498227 [TRACE] catalog.nodes: returned 132 results
2018/05/03 14:13:24.498364 [TRACE] (view) catalog.nodes marking successful data response
2018/05/03 14:13:24.499784 [TRACE] (view) catalog.nodes successful contact, resetting retries

Keybase proof

I hereby claim:

  • I am sgirones on github.
  • I am salvadorgirones (https://keybase.io/salvadorgirones) on keybase.
  • I have a public key whose fingerprint is F9D9 7897 BB87 7FC4 B0B2 DEBA 9A5C 842E 96A4 24B7

To claim this, I am signing this object:

@sgirones
sgirones / apt-cacher-ng.conf
Last active August 29, 2015 14:21
apt-cacher-ng upstart script
description "apt-cacher-ng"
author "Salvador Girones <salvador.girones@cohodata.com>"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
script
NAME=apt-cacher-ng
@sgirones
sgirones / clean_leaked_docker_procs
Last active August 29, 2015 14:19
Clean leaked Docker processes
#!/usr/bin/env ruby
# Clean all those processes that belongs to a Docker namespace, but that container no longer exists
def all_procs
Dir['/proc/*'].select {|d| /\/proc\/\d+/.match(d) }.map { |pdir| pdir.split('/')[-1].to_i }
end
def docker_procs
all_procs.select { |p| File.read('/proc/' + p.to_s + '/cgroup').include? 'docker' }
@sgirones
sgirones / calculate_jobs_time.rb
Created December 20, 2012 10:36
Calculate resque jobs duration in seconds examining workers' logs
#!/usr/bin/env ruby
require 'time'
if not ARGV[0]
puts "Usage: ./calculate_jobs_time.rb <log_file>"
exit 1
end
init_job_lines = {}
@sgirones
sgirones / prepare_ubuntu_template.sh
Created October 10, 2012 09:12
Prepate an Ubuntu template for Abiquo Chef
#!/bin/bash
# Prepare config
cat > /etc/init/abiquo-chef-agent.conf << EOF
# chef-client - Chef Configuration Management Client
#
# Chef Client provides the Chef configuration management daemon
description "Abiquo Chef Agent"
@sgirones
sgirones / check_results.rb
Created October 2, 2012 08:59
Monitor websites and send an email when a timeout is detected.
#!/usr/bin/env ruby
require "yaml"
require "time"
require "net/smtp"
# params
filename = "results.data"
sleep_time = 1 # In seconds. Time between iterations
SMTP_SERVER = "localhost"
@sgirones
sgirones / generate_lease.rb
Created July 16, 2012 07:26
ABIQUO - Recreate a DHCP lease based on the MAC
#!/usr/bin/env ruby
#Check if the commandline param is a MAC address
if not /^(\S{1,2}:\S{1,2}:\S{1,2}:\S{1,2}:\S{1,2}:\S{1,2})?$/.match("#{ARGV[0]}")
puts "#{ARGV[0]} is not a valid mac"
exit
end
def self.ip_to_hex ip
return if not ip