Skip to content

Instantly share code, notes, and snippets.

@adampats
adampats / curl-monitor.sh
Created September 15, 2015 18:06
curl host header trickery
# use this to monitor a web server that is front-ended by a load balancer or sso gateway,
# without going throug said gateway (requires direct network route be available)
curl -k -v -X GET --resolve app.domain.com:443:10.0.0.10 https://app.domain.com/login
@adampats
adampats / chef-client-run.sh
Created September 29, 2015 17:12
docker gem error
Compiling Cookbooks...
================================================================================
Recipe Compile Error in /home/vagrant/.chef/local-mode-cache/cache/cookbooks/docker/libraries/provider_docker_container.rb
================================================================================
LoadError
---------
cannot load such file -- docker
@adampats
adampats / output
Created October 8, 2015 22:31
chef gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 2.4.8
- RUBY VERSION: 2.1.6 (2015-04-13 patchlevel 336) [x86_64-darwin12.0]
- INSTALLATION DIRECTORY: /opt/chefdk/embedded/lib/ruby/gems/2.1.0
- RUBY EXECUTABLE: /opt/chefdk/embedded/bin/ruby
- EXECUTABLE DIRECTORY: /opt/chefdk/embedded/bin
- SPEC CACHE DIRECTORY: /Users/adpatter/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /opt/chefdk/embedded/etc
- RUBYGEMS PLATFORMS:
- ruby
@adampats
adampats / docker.rb
Created October 9, 2015 21:27
chef docker_service resource
docker_service 'default' do
version node["docker"]["version"]
group 'docker'
action [:create, :start]
end
@adampats
adampats / registry-images.sh
Created October 22, 2015 05:59
Docker Registry v2 API list images and tags
# Assumes htpass authentication
registry_server='docker.mycloud.com'
username='bob'
# List all images (i.e. repositories)
curl -k -X GET "https://$registry_server/v2/_catalog" -u $username -H "Accept: application/json"
Enter host password for user 'bob':
{"repositories":["app-base","ubuntu","cache-base"]}
@adampats
adampats / databag.sh
Created November 4, 2015 19:12
chef data bags encryption
# create json file in appropriate location, e.g.
./data_bags/docker/config.json
# add stuff in data_bag format to config.json
nano ./data_bags/docker/config.json
# generate a secret key if you don't have one
openssl rand -base64 512 | tr -d '\r\n' > chef_secret_key
# encrypt it - chef-zero style
@adampats
adampats / create_repo.sh
Created November 18, 2015 01:18
Create GitHub repo from command line and push
# Personal Access Token required - go here: https://github.com/settings/tokens
repo="newrepo"
gh_user="adampats"
gh_token="mytoken"
curl -u "$gh_user:$gh_token" https://api.github.com/user/repos -d '{"name":"'$repo'"}'
@adampats
adampats / logs.sh
Last active January 14, 2016 20:45
docker log tail loop
set -e
log_files=( /home/app/log/development.log \
/home/app/log/production.log )
for i in ${log_files[@]}; do
if [[ -e $i ]]; then
exec tail -F $i
else
exec sleep 10
@adampats
adampats / cloudtrail.sh
Created January 19, 2016 20:35
View CloudTrail logs from S3 quickly
bucket_name="my-cloudtrail-bucket"
acc_num="myacc"
region="us-west-1"
aws s3 cp --recursive s3://$bucket_name/AWSLogs/$acc_num/CloudTrail/$region/2016/01/
ls
gunzip -c cloudTrail-log-file-name.json.gz | jq .
@adampats
adampats / test1.rb
Created January 27, 2016 19:08
Ruby subthread stdout
require 'open3'
puts "test1.rb"
Open3.popen3("ruby test2.rb") do |stdin, stdout, stderr, wait_thr|
while line = stdout.gets do
puts line
end
end