Skip to content

Instantly share code, notes, and snippets.

View holysugar's full-sized avatar

HORII Keima holysugar

  • Aiming, Inc
  • Tokyo
View GitHub Profile
@holysugar
holysugar / ght
Last active January 20, 2016 13:04
ght
#!/usr/bin/env ruby
require 'thor'
require 'octokit'
class GHT < Thor
include Thor::Actions
class_option :access_token
class_option :org, aliases: '-o', desc: 'organization'
@holysugar
holysugar / fetch-refresh-token.rb
Created January 6, 2016 11:22
fetch google api refresh token
#!/usr/bin/ruby
require 'jwt' # oops...
gem 'google-api-client', '0.8.6'
require 'google/api_client'
scope = [
'https://www.googleapis.com/auth/drive',
'https://spreadsheets.google.com/feeds/',
]
client_id = ARGV[0] || fail("set client_id")
@holysugar
holysugar / Gemfile
Last active December 14, 2015 13:17
Sinatra から Google Drive への雑なアップロードサンプル
source 'https://rubygems.org'
gem 'dotenv'
gem 'google_drive', github: 'holysugar/google-drive-ruby', branch: 'upload-in-collection'
gem 'sinatra'
gem 'haml'
gem 'pry'
@holysugar
holysugar / filter_bq_schema.rb
Created September 11, 2015 08:21
BigQuery のスキーマファイルを動的に出力する fluentd のフィルタプラグイン (bigqueryプラグインとセットで)
require 'fluent/filter'
require 'json'
class Fluent::BqSchemaFilter < Fluent::Filter
Fluent::Plugin.register_filter('bq_schema', self)
config_param :key_name, :string, default: 'op'
config_param :schema_dir, :string, default: '/tmp/td-agent/'
config_param :field_string, :array, default: nil
@holysugar
holysugar / homebrew-init.sh
Created July 6, 2015 03:37
homebrew-init.sh
#!/bin/sh
sudo xcodebuild -license
xcode-select --install
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor
brew update
@holysugar
holysugar / cloudsql_acl.sh
Created June 18, 2015 03:26
GCE でインスタンス名からCloudSQLにアクセス許可するワンライナー(手抜き版)
gcloud compute instances list |
grep '^projectname-web' |
awk '{print $5}' |
tr "\n" " " |
xargs gcloud sql instances patch dbinstancename --authorized-network
# 本来はタグとかメタデータとかから取る方針にしたいのでこれは手抜き。
# CloudSQL 側でもっと (GAEではなく) GCEなどから受け取れる前提で設定を簡単にできるようにならないのかな…
@holysugar
holysugar / gce.rb
Created June 9, 2015 12:06
GCE 用の ansible dynamic inventory 手抜き版
require 'json'
class GCE
def initialize(project_id, env)
@project_id = project_id
@env = env
end
def instance_list
@holysugar
holysugar / search_instance
Last active August 29, 2015 14:22
GCEでメタデータからインスタンス名を引く
#!/bin/sh
# ここでは environment と role というメタデータがあると仮定
environment=$1
role=$2
if [ -z "$role" ]; then
echo "[usage] $0 environment role"
exit 1
fi
@holysugar
holysugar / tag.bash
Last active August 29, 2015 14:22
GCEでタグ情報を環境変数に持ってくる
#!/bin/bash
while read tag; do
upper_tag=${tag^^}
upper_underscore_tag=${upper_tag//-/_}
export GCE_TAG_${upper_underscore_tag}=1
done < <( curl \
-H "X-Google-Metadata-Request: True" \
@holysugar
holysugar / dockerbuild.thor
Last active August 29, 2015 14:18
手元で手抜き docker build
#!/usr/bin/env ruby
# vim: ft=ruby
#
# Simple Dockerfile build tasks
# https://gist.github.com/holysugar/0a78f58d02e52f1af9f2
#
# set environment variables before execute:
#
# - DOCKER_REGISTRY=192.168.xxx.xxx
# - DOCKER_PREFIX=yourprefix