Skip to content

Instantly share code, notes, and snippets.

View y13i's full-sized avatar
☘️

Yoriki Yamaguchi y13i

☘️
View GitHub Profile
@y13i
y13i / add_large_d_to_log_format.rb
Created August 6, 2014 12:10
Chef recipe: ApacheのLogFormat末尾に%Dを追加する
ruby_block "add %D to LogFormat" do
path = "/etc/httpd/conf/httpd.conf"
content = File.read path
notifies :restart, "service[httpd]"
not_if do
content.match /^LogFormat.*%D.*combined$/
end
block do
@y13i
y13i / ruby_aws_sdk_credentials.md
Last active July 4, 2022 05:32
Rubyとaws-sdkとcredentials

前書き

AWS SDKを使ったアプリケーションを作る時credentialsの扱いがいつも面倒なので、ベストプラクティス的なものを考えていきたい。

例として、

$ ruby myec2.rb list
@y13i
y13i / cook_all.sh
Last active August 29, 2015 14:05
Chef repoのnode全台をknife solo cookする
ruby -e 'Dir.glob("#{Dir.pwd}/nodes/*").to_a.map {|path| path.match(/nodes\/(.+)\.json/)[1]}.each {|node| system "bundle exec knife solo cook #{node}"}'
@y13i
y13i / aws_config_example.rb
Last active August 29, 2015 14:05
AWS SDK利用時にcredentialsを指定する方法例
require "net/http"
require "aws-sdk"
require "aws_config"
def own_region
begin
timeout 3 do
Net::HTTP.get("169.254.169.254", "/latest/meta-data/placement/availability-zone").chop
end
rescue
@y13i
y13i / shibame.coffee
Created December 1, 2014 01:23
pug meに対抗してshiba meで柴犬画像を貼るhubot script
# Description:
# Shibame is the yet another important thing in your life
#
# Dependencies:
# None
#
# Configuration:
# Export your Flickr API key to environmental variable FLICKR_API_KEY
#
# Commands:
@y13i
y13i / gist:4c80843147227aec579a
Last active August 29, 2015 14:10
IaaSのOSに関する覚え書き

どのOSを使うべきか

何か特殊な要件などがなければ そのクラウドで第一にサポートされてるOS の最新版を選ぶべきなのでは?

単純にEC2なりGCEをLaunchするときに一番最初に選ばれているOSが安牌。

AWSであればAmazon Linuxだし、GCPであればDebian Backportsが第一候補。

ドライバなどのサポート

@y13i
y13i / key_pair_match_test.sh
Created December 16, 2014 12:17
秘密鍵と公開鍵が一致するか確認するワンライナー
test `ssh-keygen -y -f id_rsa | cut -f 2 -d " "` = `cat id_rsa.pub | cut -f 2 -d " "` ; echo $?
# 0なら一致
@y13i
y13i / gist:2a77c88516666f5bd2b2
Last active August 29, 2015 14:13
Backlog.jpをRubyでほげほげする

だいぶ前に作って放置していたRubygem backlog_jpBacklog.jp API V2 に対応する形でほぼ作り直した。使い方はREADMEを参照。

以前のバージョンではオブジェクト指向的に課題を操作したりできるようにしようと意気込んではいたものの途中で飽きてしまい、中途半端な状態で放置してしまったので今バージョンは本当に薄いラッパーという感じに。

実装例として、プロジェクト内の全課題とそれについているコメントをJSONにexportするツール backlog_jp-pj2json も作った。

テストコードも書いてなく粗末な出来ですが、物好きな方はご利用ください。

@y13i
y13i / Vagrantfile
Created January 19, 2015 06:22
oreno Vagrantfile
Vagrant.configure 2 do |config|
config.vm.box = "dummy"
config.vm.provider :aws do |aws, override|
aws.access_key_id = "NAZONOMOJIRETSU"
aws.secret_access_key = "mottonagainazonomojiretsu"
aws.region = "ap-northeast-1"
aws.keypair_name = "orenokey"
aws.ami = "ami-4985b048"
@y13i
y13i / thor_aws.rb
Last active August 29, 2015 14:14
ThorでAWSごにょごにょする時にいつも書いてる気がするやつ
require "thor"
require "aws-sdk-resources"
class OrenoAwsTool < Thor
class_option :profile,
desc: "Load credentials by profile name from shared credentials file (~/.aws/credentials).",
aliases: [:p]
class_option :access_key_id,
desc: "AWS access key id.",