Skip to content

Instantly share code, notes, and snippets.

#/usr/local/bin/bash
#set -x
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
declare -a folders
@serkanh
serkanh / UserData script for setup CloudWatch
Last active September 21, 2020 12:46 — forked from martinzuern/UserData script for setup CloudWatch
With this user data script, you can set up cron job to put some custom metrics for CloudWatch at instance initiation.
#!/bin/sh
yum install -y perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https perl-Digest-SHA unzip
cd /home/ec2-user
curl http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip -O
unzip CloudWatchMonitoringScripts-1.2.1.zip
rm -rf CloudWatchMonitoringScripts-1.2.1.zip
chown ec2-user:ec2-user aws-scripts-mon
echo "* * * * * /home/ec2-user/aws-scripts-mon/mon-put-instance-data.pl --mem-util --swap-util --aggregated --auto-scaling --from-cron" >> /var/spool/cron/ec2-user
echo "0 * * * * /home/ec2-user/aws-scripts-mon/mon-put-instance-data.pl --disk-space-used --disk-space-avail --disk-space-util --disk-path=/ --aggregated --auto-scaling --from-cron" >> /var/spool/cron/ec2-user
#!/bin/bash
if [ $# -lt 3 ]; then
echo "To update fastly dynamic vcls"
echo "----------------------------"
echo "https://docs.fastly.com/vcl/vcl-snippets/using-dynamic-vcl-snippets/"
echo "$0 <fastly-key> <service-number> <revision-number>"
exit 1
@serkanh
serkanh / gist:382bbf454a123214d02681294a1348ad
Last active February 27, 2019 13:49
search user owned repos excluding forks.
curl https://api.github.com/users/serkanh/repos\?per_page\=1000 | jq '.[] | select(.fork==false) | .html_url'
curl https://api.github.com/users/serkanh/repos\?per_page\=1000 | jq '.[] | select(.fork==false and .language=="JavaScript") | .html_url'
#!/bin/sh
#set -ox
#either pass slack token as a param or env var SLACK_TOKEN=${1:SLACK_TOKEN}
SLACK_TOKEN=${SLACK_TOKEN}
# Get the list of channels
# https://api.slack.com/methods/channels.list/test
aws --profile=HA sns list-subscriptions \
--query 'Subscriptions[*]|[?contains(Protocol,`lambda`)==`false`]|[?contains(Endpoint,`bark`)==`true`]|[?contains(Endpoint,`stg`)==`true`]|[?contains(TopicArn,`d6cbe`)==`false`].{TopicArn:TopicArn}' --output text
#!/bin/bash
# https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html
amazon_ips=( $(curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service=="AMAZON") | .ip_prefix') )
ec2_ips=( $(curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service=="EC2") | .ip_prefix') )
containsElement () {
local element match="$1"
shift
for element
do [[ "$element" == "$match" ]] && return 0; done
const axios = require('axios');
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function fetch_retry(url,n){
@serkanh
serkanh / gist:3d61feded47b975da5f061c90591d0b9
Created February 27, 2018 17:08
sort ecr images by push date and get the latest
aws --profile=jumpstart ecr describe-images --repository-name lead-front-door \
--query 'sort_by(imageDetails,& imagePushedAt)[-1].imageTags[0]' --output text
@serkanh
serkanh / gist:a7b41f4c7625d821d02d477556890ff6
Created February 12, 2018 20:32
s3fs/ecs setup ec2-userdata
#!/bin/bash
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
yum install -y aws-cli
yum install epel-release
sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/epel.repo
yum update -y
yum install -y gcc libstdc++-devel gcc-c++ fuse fuse-devel curl-devel libxml2-devel mailcap automake openssl-devel git
git clone https://github.com/s3fs-fuse/s3fs-fuse
cd s3fs-fuse/
./autogen.sh