Skip to content

Instantly share code, notes, and snippets.

View rcbop's full-sized avatar

Rogerio Peixoto rcbop

  • Spain
View GitHub Profile
@rcbop
rcbop / vault-tree-walk.sh
Created June 19, 2019 12:15
vault tree walk
#!/usr/bin/env bash
function walk() {
for secret in $(vault list $1 | tail -n +3)
do
if [[ ${secret} == *"/" ]] ; then
walk "${1}${secret}"
else
echo "${1}${secret}"
fi
#!/bin/bash
DRY_RUN=${DRY_RUN:-"true"}
ECHO='echo '
OLDPWD=$(pwd)
cd ${GITHUB_DIR?:'yo man, provide a damn github root dir'}
for dir in $(find . -maxdepth 1 -type d | tail -n +2); do
for branch in $(git branch -a | sed 's/^\s*//' | sed 's/^remotes\///' | grep -v 'master$'); do
if [[ "$(git log $branch --since "2 months ago" | wc -l)" -eq 0 ]]; then
if [[ "$DRY_RUN" = "false" ]]; then
ECHO=""
@rcbop
rcbop / git-remote-prune.sh
Created June 19, 2019 12:13
prune remotes
cd ${GITHUB_REPOS:?}
cd ~/kohls/github
for dir in $(find . -maxdepth 1 -type d | tail -n +2); do
cd $dir
git fetch --prune
git remote prune origin
cd ..
done
@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 (rcbpeixoto@gmail.com)
#/ --------------------------------------------------------------------------------
usage() { grep '^#/' "$0" | cut -c4- ; exit 0 ; }
@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
@rcbop
rcbop / create-users-report.sh
Created August 2, 2018 20:33
generate csv with IAM users, groups, access keys, login profile using aws cli and jq
#!/bin/bash
set -e
GRN="\033[0;32m"
NC="\033[0m"
generateUserEntry(){
# set -x
local username=$1
local groups=$2
local keys=$3
local web=$4
@rcbop
rcbop / install-oracle-instant-client.sh
Created July 31, 2018 13:20
oracle instant client npm module dependencie
#!/usr/bin/env bash
#/
#/ :: ORACLE INSTANT CLIENT INSTALL SCRIPT ::
#/
#/ Automate install instructions for
#/
#/ https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#-6-node-oracledb-installation-on-macos-with-instant-client
#/
#/ WARNING:
#/ Download the sdk and basic instant client zip and place them in the same directory as this script
@rcbop
rcbop / jenkinsfile
Created July 30, 2018 17:51
bind ssh private key and use it in a jenkinsfile example
node('node-label'){
stage('Deploy') {
withCredentials([[$class: 'SSHUserPrivateKeyBinding', credentialsId: "1dc9ca1e-a461-40c2-8478-969c66bea0b6", keyFileVariable: 'SSH_PRIVATE_KEY', passphraseVariable: '', usernameVariable: 'SSH_USERNAME']]){
sh "ssh-agent /bin/bash"
sh """
eval \$(ssh-agent) && ssh-add ${SSH_PRIVATE_KEY} && ssh-add -l &&
ENVIRONMENT=${env.ENVIRONMENT} \
PLAYBOOK=${env.PLAYBOOK} \
BASTION_USER=${env.BASTION_USER} \
@rcbop
rcbop / instances-without-owner.sh
Created July 25, 2018 00:53
finds instances in ec2 without Owner label in all regions
#!/bin/bash
for region in $(aws ec2 describe-regions --output text | cut -f3); do
echo "REGIÃO -> $region"
aws ec2 describe-instances \
--query 'Reservations[].Instances[?!not_null(Tags[?Key == `Owner`].Value)].{PUBLICIP:PublicIpAddress,EC2ID:InstanceId,TYPE:InstanceType,STATE:State.Name,TAGS:Tags[*].{Key:Key,Value:Value}} | []' --region $region | jq '.'
done
@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}"; }