Skip to content

Instantly share code, notes, and snippets.

View rcbop's full-sized avatar

Rogerio Peixoto rcbop

  • Spain
View GitHub Profile
@rcbop
rcbop / cleanup-s3-artifacts.sh
Created January 25, 2018 20:34
Cleanup s3 bucket from build packages and keep only the last 30 items of each project Raw
#!/bin/bash
AWS_BUCKET_NAME="<insert_bucket>"
AWS_BUCKET_REGION="<insert_region>"
AWS_KEY="<insert_key>"
AWS_SECRET="<insert_secret>"
MAX_COUNT_TO_KEEP=30
PROFILE="<insert_profile>"
log() { echo -e "["$(date "+%Y%m%dT%H%M%S")"] $1"; }
echo_blu(){ log "${BLUE}$1${NC}"; }
@rcbop
rcbop / show-cloudfront-configuration.sh
Created February 5, 2018 23:14
Jq query to find cloudfront distribution by substring of comments sub-element
aws cloudfront list-distributions --profile my-profile --output json | jq '.DistributionList.Items[] | select(.Comment | contains("my-project-key"))'
@rcbop
rcbop / create-ec2-swarm-cluster.sh
Created May 11, 2018 01:37
creates docker swarm cluster using aws ec2
#!/bin/bash
#/ Description:
#/ Creates a docker swarm ec2 cluster
#/ Examples:
#/ DEBUG=true ./create-ec2-swarm-cluster.sh (Enable debug messages)
#/ NO_COLORS=true ./create-ec2-swarm-cluster.sh (Disable colors)
#/ --------------------------------------------------------------------------------
#/ Author: Rogério Castelo Branco Peixoto ([email protected])
#/ --------------------------------------------------------------------------------
usage() { grep '^#/' "$0" | cut -c4- ; exit 0 ; }
#!/bin/bash
docker images --no-trunc --format '{{.ID}} {{.CreatedSince}}' | grep months | awk '$2 > 3 { print $1 }' | xargs -r docker rmi
@rcbop
rcbop / brute-force-root.sh
Created June 4, 2018 14:16
bruteforce become ansible module, use as BECOME METHOD
#!/bin/bash
cmd=''
for i in "$@"; do
i="${i//\\/\\\\}"
cmd="$cmd \"${i//\"/\\\"}\""
done
@rcbop
rcbop / get-aws-region-ip-range-csv.sh
Created June 7, 2018 13:49
get amazon ip range for region and convert it to csv
curl -L https://ip-ranges.amazonaws.com/ip-ranges.json | jq '.prefixes[] | select(.region=="sa-east-1") ' | jq --slurp -r '. | map([.ip_prefix, .region, .service] | join(", ")) | join("\n")'
@rcbop
rcbop / Dockerfile
Created June 14, 2018 00:51
ionic dockerfile and jenkins file for CI
FROM node:8-alpine
LABEL MAINTAINER="[email protected]"
ARG NODEJS_VERSION="8"
ARG IONIC_VERSION="3.20.0"
ARG GRADLE_VERSION="3.2"
ARG ANDROID_SDK_VERSION="4333796"
ARG ANDROID_HOME="/opt/android-sdk"
ARG GRADLE_HOME="/opt/gradle"
@rcbop
rcbop / set-properties
Created June 19, 2018 19:47
handle properties file with bash using awk and sort
#!/bin/bash
#/ Define properties and sort them in a file
#/ Usage:
#/ set_property key value filename
#/ Alternative:
#/
#/ export PROPERTIES_FILE=myproperties
#/ set_property key value
#/ --------------------------------------------------------------------------------
#/ Author: Rogério Peixoto ([email protected])
@rcbop
rcbop / colors.sh
Created July 5, 2018 17:47
authorize ssh port 22 in aws ec2's security group before performing ansible deployment - requires jq, aws cli, ansible ec2.py dynamic inventory
#!/bin/bash
STEP=0
bump_step(){
STEP=$(($STEP+1))
log "${BLU}[INFO] ($STEP) $1${NC}"
}
log() { echo -e "${BWHT}["$(date "+%Y%m%d${NC}T${BWHT}%H%M%S")"]${NC} $*"; }
separator() { SEP=$(printf '%*s' 105 | tr ' ' '#') && log "${GRN}[INFO] $SEP${NC}"; }
@rcbop
rcbop / get-console-screenshot.sh
Created July 18, 2018 19:25
console screenshot
aws ec2 get-console-screenshot --instance-id ID --query "ImageData" --output text > f; cat f | base64 -D > console.jpg