Skip to content

Instantly share code, notes, and snippets.

@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 / 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 / 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 / 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 / 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 / create-csr.sh
Created September 15, 2015 18:03
Sample cert request with SAN
# create private key
openssl genrsa -out app.key 2048
# create config/ini file for request
# generate csr
openssl req -new -out app.csr -key app.key -config request.ini
# issue from CA using CSR
@adampats
adampats / get-configxml.sh
Created September 15, 2015 18:00
Get jenkins job config.xml
jenkins_server='jenkins-dev.domain.net'
job_name='app-deploy'
username='adam'
curl -X GET -u $username -k "https://$jenkins_server/job/$job_name/config.xml" -O
# prompted for password
@adampats
adampats / configxml-post.sh
Created September 15, 2015 17:58
Create new Jenkins job via API
jenkins_server='jenkins-dev.domain.net'
job_name='my-new-branch-job'
username='adam'
curl -s -k -X POST "https://$jenkins_server/createItem?name=$job_name" \
--data-binary @config.xml \
-H "Content-Type:text/xml" \
-u $username
# enter password when prompted
@adampats
adampats / optargs.sh
Created September 14, 2015 22:50
optargs issue
#!/bin/bash
usage_message=" Usage: sudo bash start-registry.sh -u [HT_USER] -p [HT_PASS]"
if (($# == 0)); then
echo "Missing opts."
echo "$usage_message"
exit 1
fi
@adampats
adampats / arrays.rb
Created September 1, 2015 18:30
Combine two arrays of hashes
a = [
{ key: "key1", value: "value1" },
{ key: "key2", value: "value2" }
]
b = [
{ key: "key3", value: "value3" },
{ key: "key4", value: "value4" }
]
a.push(b)