Skip to content

Instantly share code, notes, and snippets.

View fancyremarker's full-sized avatar

Frank Macreery fancyremarker

  • Aptible
  • New York
View GitHub Profile
@fancyremarker
fancyremarker / Dockerfile
Last active April 2, 2016 15:59
Template repo for deploying MongoDB Cloud Monitoring (MMS) agent on Aptible
FROM quay.io/aptible/ubuntu:14.04
WORKDIR /tmp
RUN apt-install curl
RUN curl -OL https://cloud.mongodb.com/download/agent/monitoring/mongodb-mms-monitoring-agent_4.1.0.251-1_amd64.deb && \
dpkg -i mongodb-mms-monitoring-agent_4.1.0.251-1_amd64.deb && \
rm -rf mongodb-mms-monitoring-agent_4.1.0.251-1_amd64.deb
ADD start-monitoring-agent /usr/local/bin/
@fancyremarker
fancyremarker / docker-image-refactor.md
Last active January 22, 2016 22:09
Notes: Docker image refactoring

State of Images

Database repos

  • Mirrored on Quay and Docker Hub
  • Built on Quay and Docker Hub

Application images (private)

  • Includes: Primetime, BroadwayJoe, Megatron, Dumptruck
@fancyremarker
fancyremarker / db-launch.sh
Created August 11, 2015 21:46
Example: db-launch script to launch any Aptible standardized database image
db-launch ()
{
container=$(head -c 32 /dev/urandom | md5);
passphrase=${PASSPHRASE:-foobar};
image="${@: -1}";
docker create --name $container $image;
docker run --volumes-from $container -e USERNAME=aptible -e PASSPHRASE=$passphrase -e DB=db $image --initialize;
docker run --volumes-from $container $@
}
@fancyremarker
fancyremarker / cert-wizard.rb
Created June 17, 2015 00:27
Automatically concatenate any certificate chain in its proper order
#!/usr/bin/env ruby
# cert-wizard: Concatenate a certificate chain in its correct order
require 'openssl'
COMMAND = ARGV[0]
CERTIFICATE_FILES = ARGV[1..-1]
@filenames = {}
@fancyremarker
fancyremarker / set-config-from-file.rb
Created June 1, 2015 22:56
[:octopus:] Set Aptible config variable from file
require 'aptible/auth'
require 'aptible/api'
HANDLE = 'your-app'
EMAIL = '[email protected]'
PASSWORD = ''
KEY = 'FOOBAR'
FILE = '/path/to/file'
@fancyremarker
fancyremarker / create-internal-aptible-vhost.rb
Last active August 29, 2015 14:21
[:octopus:] Create an internal VHOST on Aptible
require 'aptible/auth'
require 'aptible/api'
token = Aptible::Auth::Token.create(
email: EMAIL,
password: PASSWORD
)
app = Aptible::Service.find(APP_ID, token: token)
service = app.services.find { |s| s.process_type == PROCESS_TYPE }
vhost = service.create_vhost!(
@fancyremarker
fancyremarker / registry-compat-test.rb
Last active August 29, 2015 14:19
[:octopus:] Test for Docker remote repository compatibility with old clients
#!/usr/bin/env ruby
# ruby registry-compat-test.rb namespace/repo
require 'faraday'
require 'json'
REPO = ARGV[0].split(':')[0]
TAG = ARGV[0].split(':')[1] || 'latest'
# Fetch image list and X-Docker-Token
@fancyremarker
fancyremarker / intercom-userstyle.css
Last active August 29, 2015 14:19
Custom userstyle for intercom.io (narrow screens)
.pl_app_header, .pl_inbox_search_box, .conversation__inbox__current-profile, .conversation__inbox__list-filter .u__right {
display: none;
}
body {
min-width: 800px!important;
}
.pl_secondary_nav_wrapper {
min-width: 800px!important;
@fancyremarker
fancyremarker / sync-waffle.rb
Last active August 29, 2015 14:19
[:octopus:] Sync Waffle sources with all repos for an org
#!/usr/bin/env ruby
# ruby sync-waffle.rb aptible aptible/support
require 'octokit'
require 'faraday'
require 'json'
org_login = ARGV[0]
waffle_project = ARGV[1]
{
"host_groups": [
{
"name": "master",
"components": [
{
"name": "NAMENODE"
},
{
"name": "DATANODE"