Skip to content

Instantly share code, notes, and snippets.

<?php
ob_start();
require_once(dirname(dirname(__FILE__)).'/twentytwelve/index.php');
header('Content-Length: '.ob_get_length());
ob_end_flush();
@wokamoto
wokamoto / handler.js
Last active May 24, 2017 07:15
[AWS][Lambda] Lambda で Typetalk に投稿するサンプル ref: http://qiita.com/wokamoto/items/44c0439c0e56fd6e0035
'use strict';
module.exports.hello = (event, context, callback) => {
const https = require('https');
const querystring = require('querystring');
const typetalk_talken = process.env.TYPETALK_TOKEN;
const typetalk_room = process.env.TYPETALK_ROOM;
const options = {
hostname: 'typetalk.in',
@wokamoto
wokamoto / ec2.tf
Last active April 20, 2017 06:05
[AWS] Terraform で EFS 作って、EC2 起動時にマウントさせておく ref: http://qiita.com/wokamoto/items/c70b12ed104b23fd7188
## IAM Instance Profile
resource "aws_iam_instance_profile" "instance_role" {
name = "instance_role"
role = "${aws_iam_role.instance_role.name}"
}
## SSH Key
resource "aws_key_pair" "deployer" {
key_name = "${var.project}"
public_key = "${var.ssh_public_key}"
@wokamoto
wokamoto / file1.txt
Created December 20, 2016 08:18
[AWS][Lambda] ローカルで Lambda 用の nodejs スクリプトを実行する ref: http://qiita.com/wokamoto/items/a07310069514831c79c7
$ npm -g install aws-sdk
@wokamoto
wokamoto / create-stripe-customer.js
Created December 2, 2016 01:28
[nodejs][stripe] stripe を node で使う(customer 情報の登録) ref: http://qiita.com/wokamoto/items/0be8471d38044ada9209
var stripe = require('stripe')('STRIPE_API_KEY_HERE');
var userData = {ID: '', email: 'customer@example.com'};
// stripe customer の存在チェック
stripe.customers.retrieve(userData.id, function(err, customer) {
if (!customer || customer.deleted) {
// stripe customer が存在しない時は stripe にcustomerを登録
var params = {
email: userData.email
};
@wokamoto
wokamoto / gist:c699d8e5d0008d3c457e68157dd9f429
Created November 24, 2016 05:19
S3 に yum リポジトリのクローン用意して、同期完了後に CloudFront に対して invalidation 走らせるスクリプト
#!/bin/bash
LANG=C
REPOSITORIES="__YUM_REPOSITORIES_HERE__"
TOP="__REPOSITORY_DIRECTORY_HERE__"
S3_REGION="__S3_REGION__HERE__"
S3_BUCKET="__S3_BUCKET_NAME_HERE__"
CF_DISTID="__CLOUDFRONT_DISTRIBUTION_ID_HERE__"
echo "## `date`: BEGIN MIRRORING"
for repository in $REPOSITORIES; do
@wokamoto
wokamoto / httpd.conf
Last active November 9, 2016 12:10
[AWS][CloudFront] CloudFront で HTTPS リクエストを受け付けた場合に X-Forwarded-Proto をちゃんとアプリケーションに渡すには? ref: http://qiita.com/wokamoto/items/2a090ec0c82bcedab12a
SetEnvIf CloudFront-Forwarded-Proto "https" HTTPS
RequestHeader set X-Forwarded-Proto "https" env=HTTPS
@wokamoto
wokamoto / file1.txt
Last active December 19, 2016 07:01
[AWS] Let's Encrypt で更新した証明書を自動的にアップロードして ELB の SSL 証明書を入れ替える ref: http://qiita.com/wokamoto/items/5231923cb49081ff7d87
letsencrypt renew --renew-hook '/root/bin/upload-cert.sh'
@wokamoto
wokamoto / index.js
Last active October 26, 2016 12:03
[AWS][SES] SES で S3 に受信したメールを Slack に通知 ref: http://qiita.com/wokamoto/items/d740a19ad7ee0d48b2c3
/*
Name: Email Forwarder
*/
exports.handler = function(event, context) {
var slackConfig = {
hostname: "hooks.slack.com",
path: "/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX",
channel: "#channel",
icon_emoji: ":ses:",
color: "good"
@wokamoto
wokamoto / index.js
Last active October 20, 2016 09:05
[AWS][Lambda] S3に put object されたら自動的に Lambda で Expires ヘッダを追加する ref: http://qiita.com/wokamoto/items/85506f44b16cd0dfea32
console.log('Loading event');
var aws = require('aws-sdk');
var s3 = new aws.S3({apiVersion: '2006-03-01'});
exports.handler = function(event, context) {
console.log('Received event:');
console.log(JSON.stringify(event, null, ' '));
// Get the object from the event and show its content type
var bucket = event.Records[0].s3.bucket.name;
var key = event.Records[0].s3.object.key;