Skip to content

Instantly share code, notes, and snippets.

View adam-stokes's full-sized avatar
🦧

Adam Stokes adam-stokes

🦧
  • North Carolina
  • 17:55 (UTC -04:00)
View GitHub Profile
@adam-stokes
adam-stokes / remove-nodes-safely.sh
Created August 16, 2018 00:26 — forked from scarytom/remove-nodes-safely.sh
Script to safely de-register jenkins nodes usage: $ remove-nodes-safely.sh my-node-1 my-node-2 my-node-3
#!/bin/bash
set -e
set -u
CI_MASTER_URL="http://ci-1"
node_online() {
curl --silent "$CI_MASTER_URL/computer/$1/api/json" | grep --silent '"temporarilyOffline":false'
}
@adam-stokes
adam-stokes / heredoc_json.bash
Created June 14, 2018 17:19 — forked from kdabir/heredoc_json.bash
json in heredoc in bash script alongwith variable substitution
_BUCKET_NAME="foo.example.com"
_POLICY=$(cat <<EOT
{
"Version":"2012-10-17",
"Statement":[{
"Sid":"PublicReadForGetBucketObjects",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
@adam-stokes
adam-stokes / dssh
Created March 25, 2018 23:23 — forked from kareemk/dssh
Docker Exec over SSH for Tutum
#!/usr/bin/ruby
require 'net/http'
require 'json'
raise "Invalid arguments: dssh [container-name] [command=/bin/bash]" if ARGV.length < 1
service_name = "#{ARGV[0]}"
ARGV[1] ||= "/bin/bash"
command = ARGV[1..-1].join(' ')
#!/bin/bash
# bash generate random alphanumeric string
#
# bash generate random 32 character alphanumeric string (upper and lowercase) and
NEW_UUID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
# bash generate random 32 character alphanumeric string (lowercase only)
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
@adam-stokes
adam-stokes / explain.py
Created September 12, 2017 16:32 — forked from allixsenos/explain.py
Django QuerySet Explain
from django.db import connections
from django.db.models.query import QuerySet
from __future__ import print_function
class QuerySetExplainMixin:
def explain(self, analyze=True):
cursor = connections[self.db].cursor()
print(self.query)
print()
sql, params = self.query.sql_with_params()
@adam-stokes
adam-stokes / c.py
Created May 25, 2017 22:31 — forked from johnsca/c.py
proof-of-concept async subprocess file tail
#!/usr/bin/python3
import asyncio
import aiofiles
import textwrap
consumer = textwrap.dedent(
"""
for i in {1..5}; do
@adam-stokes
adam-stokes / plugin.rb
Created December 21, 2016 17:16 — forked from jm/plugin.rb
class Plugin
def self.plugins
@plugins ||= []
end
def self.inherited(klass)
@plugins ||= []
@plugins << klass
end
@adam-stokes
adam-stokes / .travis.sh
Created August 25, 2016 13:16 — forked from evandandrea/.travis.sh
Automatically publish to the snap store from Travis
#!/bin/sh -e
if [ -z "$SNAPCRAFT_SECRET" ]; then
exit 0
fi
mkdir -p ".encrypted"
if [ ! -e ".encrypted/snapcraft.cfg.enc" ]; then
echo "Seeding a new macaroon."
echo "$SNAPCRAFT_CONFIG" > ".encrypted/snapcraft.cfg.enc"
@adam-stokes
adam-stokes / deploy.rb
Created July 12, 2016 13:01 — forked from wlangstroth/deploy.rb
Capistrano + Nginx + Unicorn + Sinatra on Ubuntu
require 'bundler/capistrano'
set :application, "net"
set :repository, "git@githost.com:net.git"
set :scm, :git
set :default_environment, {
'PATH' => "$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH"
}
@adam-stokes
adam-stokes / sub.py
Last active August 29, 2015 14:27 — forked from FZambia/sub.py
tornado's Subprocess class usage example. Minimal Tornado's version required - 3.1
from __future__ import print_function
from tornado.gen import Task, Return, coroutine
import tornado.process
from tornado.ioloop import IOLoop
import subprocess
import time
STREAM = tornado.process.Subprocess.STREAM