Skip to content

Instantly share code, notes, and snippets.

View punnie's full-sized avatar

Pedro Coelho punnie

View GitHub Profile
@punnie
punnie / ansible-docker-network.yml
Created June 21, 2018 10:59 — forked from clems4ever/ansible-docker-network.yml
Deploy a docker service using Ansible within Docker Swarm 1.12
---
- name: Check if network {{ name }} exists
delegate_to: "{{ groups['docker_swarm_issuer'][0] }}"
run_once: true
command: docker network ls -q --filter name=^{{ name }}$
register: network_exists
changed_when: false
- name: Create network {{ name }}
command: docker network create --driver {{ driver }} {{ name }}
from functools import partial
def step(original):
def wrapper(*args, **kwargs):
return partial(original, *args, **kwargs)
return wrapper
def pipe(initial, *fns):
kind: ReplicationController
apiVersion: v1
metadata:
name: jenkins-leader
labels:
name: jenkins
role: leader
spec:
replicas: 1
selector:
@punnie
punnie / -
Created September 5, 2014 20:18
.
|-- README.md
|-- formatters
| |-- email.clj
| `-- hipchat.clj
|-- riemann.config
`-- riemann.config-test
1 directory, 5 files
@punnie
punnie / recipe.rb
Created April 1, 2014 00:16
An example chef recipe
package 'htop' do
action :install
end
template '/etc/motd' do
source 'motd'
action :create
end
@punnie
punnie / keybase.md
Created March 24, 2014 18:25
Keybase verification

Keybase proof

I hereby claim:

  • I am punnie on github.
  • I am punnie (https://keybase.io/punnie) on keybase.
  • I have a public key whose fingerprint is 8BCB 1C70 96DF 320D 1314 0F2D 61A1 46FB 0B93 41C6

To claim this, I am signing this object:

#!/usr/bin/env ruby
require 'eventmachine'
require 'securerandom'
require 'optparse'
require 'ostruct'
class Chord
BITS = 8
end
#!/usr/bin/env ruby
require 'eventmachine'
require 'securerandom'
require 'optparse'
require 'ostruct'
class Chord
BITS = 5
end
class Lol
class << self
def new(args)
puts "args"
self
end
end
def new(lol)
puts lol
end
eyJzdiI6eyJjIjoiMTdsazFoaWk2YjcwMCIsImNzIjoiMTdsazFoaWk2YjcwMCIsInciOiIxM2prNW5uYW1tZSIsImNsIjoiYzE6MHxjMjowfGMzOjB8YzQ6MHxjNTowfGM2OjB8Yzc6MHxjODowfGM5OjB8YzEwOmF8YzExOjJjfGMxMjoxNnxjMTM6YXxjMTQ6NXxjMTU6NXxjMTY6OCIsInNsIjoiczE6MHxzMjowfHMzOjB8czQ6NDR8czU6MHxzNjowfHM3OmF8czg6YXxzOToybXxzMTA6NDR8czExOjFifHMxMjoxMXxzMTM6YXxzMTQ6NXxzMTU6NXxzMTY6OCIsImJuIjoiYjE6MHxiMjowfGIzOjB8YjQ6MHxiNTowfGI2OjV8Yjc6NXxiODowfGI5OjExfGIxMDoxYnxiMTE6MTF8YjEyOjV8YjEzOjIiLCJ1IjoidTAxfHUwMnx1MDN8dTA0fHUwNXx1MDZ8dTA3fHUwOHx1MDl8dTEwfHUxMXx1MTJ8dTEzfHUxNHx1MTV8dTE2fHUxN3x1MTh8dTE5fHUyMHx1MjF8dTIyfHUyM3x1MjR8dTI1fHUyNnx1Mjd8dTI4fHUyOXx1MzB8dTMxfHUzMnx1MzN8dTM0fHUzNXx1MzZ8dTM3fHUzOHx1Mzl8dTQwfHU0MXx1NDJ8dTQzfHU0NHx1NDV8dTQ2fHU0N3x1NDcuMXx1NDh8dTQ5fHU1MHx1NTAuMXx1NTF8dTUyfHU1M3x1NTR8dTcwIiwicyI6InNlbGxlcl9ycHM6MzlmbDYyODB8Y2xpY2tlcl9ycHM6MzlnODA0aWd8YmFua19ycHM6MWRtMzFrZTY0MHxjaGVhdGVkX3dpZGdldHM6MHxjaGVhdGVkX2Nhc2g6MHxoYW5kX21hZGVfd2lkZ2V0czoyYzQ4azRsYzY1NDN8bWFkZV93aWRnZXRzOjQxaTlhaWE3aDJqZ3xzb2xkX3dpZGdldHM6NDFkM2NmaG0xNmtlfGhhbmRfc29s