Skip to content

Instantly share code, notes, and snippets.

View rluisr's full-sized avatar
🤒
Out sick

Hasegawa Takuya rluisr

🤒
Out sick
View GitHub Profile
@rluisr
rluisr / :-).go
Created April 17, 2019 13:34
Get elasticache's memcached cluster from config endpoint
package main
import (
"bufio"
"fmt"
"net"
"strings"
)
func main() {
@rluisr
rluisr / config.yml
Last active April 3, 2019 08:19
Config file of CircleCI for deploying Lambda function and associate it with CloudFront.
version: 2
jobs:
build:
docker:
- image: golang:alpine
environment:
GO111MODULE: "on"
steps:
- checkout
- run:
@rluisr
rluisr / update_cf.sh
Last active March 4, 2020 13:34
Associate lambda function with CloudFront. Get latest version from lambda.
#!/usr/bin/env bash
set -eu
readonly CF_ID=<CloudFront ID>
readonly CF_PATH="/*" # purging by URL
readonly LAMBDA_ARN="<Lambda ARN>"
CF_CONFIG=$( aws cloudfront get-distribution-config --id ${CF_ID} | jq '.DistributionConfig' )
CF_ETAG=$( aws cloudfront get-distribution-config --id ${CF_ID} | jq -r '.ETag' )
LAMBDA_VERSION=$( aws lambda list-versions-by-function --function-name ${LAMBDA_ARN} --region us-east-1 | jq -r '.Versions[-1].Version' )
#!/bin/bash
set -eu
PANE_MINIMUM=2
usage() {
cat <<USAGE
Usage: $(basename $0) [-c COL] [-r ROW] [--ssh-option SSH_OPTIONS] HOST [HOST2 ...]
@rluisr
rluisr / delete.go
Last active February 5, 2018 09:22
Delete photos which is uploaded by user from S3
package lib
import (
"sync"
"hoge/model"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/service/s3"
"github.com/aws/aws-sdk-go/aws/session"
@rluisr
rluisr / index.js
Created January 13, 2018 05:02
add waf blacklist using cloudfront log
'use strict';
const aws = require('aws-sdk');
const zlib = require('zlib');
const Promise = require('bluebird');
const waf = new aws.WAF({apiVersion: '2015-08-24'});
const s3 = new aws.S3({apiVersion: '2006-03-01'});
let banIPList = [];
@rluisr
rluisr / index.js
Last active December 19, 2017 13:35
jpg to webp for node.js
const fs = require('fs');
const path = require('path');
const CWebp = require('cwebp').CWebp;
module.exports.encode = (imgBuf) => new Promise((resolve, reject) => {
if (!fs.existsSync('/usr/local/bin/cwebp')) {
const RESOURCES_DIR = path.join(__dirname, "../bin");
process.env.PATH += `:${RESOURCES_DIR}`;
process.env.LD_LIBRARY_PATH += `:${RESOURCES_DIR}`;
}
@rluisr
rluisr / index.js
Last active December 4, 2017 10:26
Add AWS WAF IP List using Lambda. from Cloudfront log in S3.
'use strict';
const aws = require('aws-sdk');
const zlib = require('zlib');
const Promise = require('bluebird');
const waf = new aws.WAF({apiVersion: '2015-08-24'});
const s3 = new aws.S3({apiVersion: '2006-03-01'});
let banIPList = [];
const Realm = require('realm');
const username = 'test';
const password = 'test';
const URL = '';
const registerUser = () => new Promise((resolve, reject) => {
Realm.Sync.User.register(URL, username, password, (err, res) => {
if (err) {
return reject(err);
@rluisr
rluisr / schemaSync.sh
Last active July 31, 2019 06:40
Sync MySQL schema. This script doesn't delete table record if tables is exists AND if table doesn't exists, import table without record.
#!/bin/bash -eu
#
# This script can sync MySQL schema without `DROP TABLE`.
# And If table isn't exists, import tables from source.
#
# Finally there is a confirmation screen.
#
# Need these packages: mysql, mysqldump, mysqldiff
# GitHub: @rluisr