···11+output * bg /home/j3s/Pictures/whale.jpg fill
+9
.env
···2020 esac
2121}
22222323+# yep still needed
2424+if ls --version 2>&1 | grep -i gnu >/dev/null
2525+then
2626+ alias ls='ls --color=auto '
2727+elif ls --version 2>&1 | grep -i busybox >/dev/null
2828+then
2929+ alias ls='ls --color=auto '
3030+fi
3131+2332if [ -z "${SSH_AGENT_PID}" ]
2433then
2534 if ! [ -e /tmp/ssh-agent-$USER ]
-20
bin/MACC02VK5ECHTD7/aws-reset-pass
···11-#!/bin/sh -e
22-33-die() {
44- # Print a message and exit with '1' (error).
55- echo "$1"
66- exit 1
77-}
88-99-[ "$1" ] || die "You must specify a new pass"
1010-1111-newpass="$1"
1212-1313-echo "Resetting password"
1414-for a in browse cgraph; do
1515- for e in test stage prod; do
1616- echo "-> ${a}_${e}..."
1717- aws --profile "${a}_${e}" iam update-login-profile --user-name jesse.olson --password "$newpass"
1818- echo "done"
1919- done
2020-done
-5
bin/MACC02VK5ECHTD7/berksmass
···11-#!/bin/sh
22-33-for i in test stage prod; do
44- CHEF_ENV=browse_$i bundle exec berks upload
55-done
···11-#!/bin/sh
22-33-query="$1"
44-shift 2> /dev/null
55-case "$query" in
66- (i-*) filter="id=$query" ;;
77- (*) filter="name=$query" ;;
88-esac
99-1010-text=$(
1111- printf "$*" | \
1212- sed -e 's/bpe/-p browse_prod -r us-east-1/g' | \
1313- sed -e 's/bpw/-p browse_prod -r us-west-2/g' | \
1414- sed -e 's/bse/-p browse_stage -r us-east-1/g' | \
1515- sed -e 's/bsw/-p browse_stage -r us-west-2/g' | \
1616- sed -e 's/bte/-p browse_test -r us-east-1/g' | \
1717- sed -e 's/btw/-p browse_test -r us-west-2/g' | \
1818- sed -e 's/cpe/-p cgraph_prod -r us-east-1/g' | \
1919- sed -e 's/cpw/-p cgraph_prod -r us-west-2/g' | \
2020- sed -e 's/cse/-p cgraph_stage -r us-east-1/g' | \
2121- sed -e 's/csw/-p cgraph_stage -r us-west-2/g' | \
2222- sed -e 's/cte/-p cgraph_test -r us-east-1/g' | \
2323- sed -e 's/ctw/-p cgraph_test -r us-west-2/g'
2424-)
2525-2626-awless list instances --columns id,zone,name,state,type,privateip --filter "${filter}" $text
-63
bin/MACC02VK5ECHTD7/how
···11-#!/bin/sh
22-33-clone_url="ssh://git@git.bestbuy.com/~jesse.olson/howdocs-test.git"
44-55-if [ ! "$#" -gt 0 ]; then
66- echo "Need a string to search for!"
77- exit 1
88-fi
99-1010-# check for fzf & ripgrep-all, install if unfound
1111-if ! fzf --version > /dev/null 2>&1; then
1212- echo "fzf required. Install fzf via brew y/n? "
1313- read -r
1414- if [ "$REPLY" = "y" ]; then
1515- brew install fzf
1616- else
1717- exit 1
1818- fi
1919-fi
2020-2121-if ! rg --version > /dev/null 2>&1; then
2222- echo "ripgrep required. Install ripgrep via brew y/n? "
2323- read -r
2424- if [ "$REPLY" = "y" ]; then
2525- brew install ripgrep
2626- else
2727- exit 1
2828- fi
2929-fi
3030-3131-# maybe todo: if there are staged changes, ask user to push them?
3232-3333-# clone/update repository
3434-if [ -d ~/howdocs ]; then
3535- (cd ~/howdocs && git pull)
3636-else
3737- echo 'First run detected. Cloning repo...'
3838- git clone "$clone_url" ~/howdocs
3939-fi
4040-4141-# fzf the directory
4242-result=$(rg -S --files-with-matches --no-messages "$1" ~/howdocs \
4343- | fzf --preview "highlight -O ansi -l {} 2> /dev/null \
4444- | rg --colors 'match:bg:yellow' --ignore-case --pretty --context 10 '$1' \
4545- || rg --ignore-case --pretty --context 10 '$1' {}")
4646-4747-if [ "$result" = "" ]; then
4848- echo 'no documents found'
4949- exit 1
5050-fi
5151-5252-# open up relevant file in vim for copy+pasting
5353-if [ "$EDITOR" ]; then
5454- "$EDITOR" "$result"
5555-else
5656- vim "$result"
5757-fi
5858-5959-# if file changed, save & commit changes & push
6060-if ! (cd ~/howdocs && git diff-index --quiet HEAD --); then
6161- echo "detected howdoc changes; pushing them:"
6262- (cd ~/howdocs && git add --all && git commit -m '[Automated Commit]' && git push)
6363-fi
-22
bin/MACC02VK5ECHTD7/j
···11-#!/bin/sh
22-query="$1"
33-shift 2> /dev/null
44-55-text=$(
66- printf "$*" | \
77- sed -e 's/bpe/-p browse_prod -r us-east-1/g' | \
88- sed -e 's/bpw/-p browse_prod -r us-west-2/g' | \
99- sed -e 's/bse/-p browse_stage -r us-east-1/g' | \
1010- sed -e 's/bsw/-p browse_stage -r us-west-2/g' | \
1111- sed -e 's/bte/-p browse_test -r us-east-1/g' | \
1212- sed -e 's/btw/-p browse_test -r us-west-2/g' | \
1313- sed -e 's/cpe/-p cgraph_prod -r us-east-1/g' | \
1414- sed -e 's/cpw/-p cgraph_prod -r us-west-2/g' | \
1515- sed -e 's/cse/-p cgraph_stage -r us-east-1/g' | \
1616- sed -e 's/csw/-p cgraph_stage -r us-west-2/g' | \
1717- sed -e 's/cte/-p cgraph_test -r us-east-1/g' | \
1818- sed -e 's/ctw/-p cgraph_test -r us-west-2/g'
1919-)
2020-2121-ip=$(awless --local list instances --filter state=running,name="$query" $text --format json | jq -r '.[] | [.PrivateIP] | .[]' | head -n1)
2222-/usr/local/bin/ssh "$ip"
-33
bin/MACC02VK5ECHTD7/jmass
···11-#!/bin/bash
22-query="$1"
33-shift 2> /dev/null
44-55-text=$(
66- printf "$*" | \
77- sed -e 's/bpe/-p browse_prod -r us-east-1/g' | \
88- sed -e 's/bpw/-p browse_prod -r us-west-2/g' | \
99- sed -e 's/bse/-p browse_stage -r us-east-1/g' | \
1010- sed -e 's/bsw/-p browse_stage -r us-west-2/g' | \
1111- sed -e 's/bte/-p browse_test -r us-east-1/g' | \
1212- sed -e 's/btw/-p browse_test -r us-west-2/g' | \
1313- sed -e 's/cpe/-p cgraph_prod -r us-east-1/g' | \
1414- sed -e 's/cpw/-p cgraph_prod -r us-west-2/g' | \
1515- sed -e 's/cse/-p cgraph_stage -r us-east-1/g' | \
1616- sed -e 's/csw/-p cgraph_stage -r us-west-2/g' | \
1717- sed -e 's/cte/-p cgraph_test -r us-east-1/g' | \
1818- sed -e 's/ctw/-p cgraph_test -r us-west-2/g'
1919-)
2020-2121-ips=$(awless list instances --filter state=running,name="$query" $text --format json | jq -r '.[] | [.PrivateIP] | .[]')
2222-2323-tmux set default-shell "/bin/sh"
2424-2525-tmux new-window 'sleep 0.1'
2626-while IFS= read -r i
2727- do tmux split-window "ssh $i"
2828- tmux select-layout tiled
2929-done <<< "$ips"
3030-3131-tmux set -u default-shell
3232-tmux select-layout tiled
3333-tmux setw synchronize-panes on
-9
bin/MACC02VK5ECHTD7/jws-ami
···11-#!/bin/sh
22-33-TOKEN=$(grep token ~/.deploy/creds.yaml | sed 's/.*token: //g')
44-55-for account in test stage prod cgraph_test cgraph_stage cgraph_prod; do
66- echo $account
77- curl -s -w "\n" --header "Authorization: Bearer $TOKEN" --header "Content-Type:application/json" "https://imr.monitoring.bestbuy.com/api/configuration/environments/$account" |
88- jq ".item.configuration.shared_$account.build_ami.centos" | grep us
99-done
-27
bin/MACC02VK5ECHTD7/jws-fetch
···11-#!/bin/sh
22-33-date=$(date +%s)
44-for r in us-east-1 us-west-2; do
55- for p in browse cgraph shared; do
66- for e in test stage prod; do
77- dir="$HOME/.jws/${r}/${p}/${e}"
88- mkdir -p "$dir"
99- echo "Fetching ${r}/${p}/${e}"
1010- aws ec2 describe-instances --profile "${p}_${e}" --region "$r" --output text --query "Reservations[*].Instances[*].{
1111- Instance:InstanceId,
1212- Type:InstanceType,
1313- AZ:Placement.AvailabilityZone,
1414- Name:Tags[?Key==\`Name\`]|[0].Value,
1515- pubIP:PublicIpAddress,
1616- IP:PrivateIpAddress,
1717- State:State.Name,
1818- VPC:VpcId
1919- }" | sed "s/$/ ${p}_${e}/" > "$dir/$date" &
2020- # add profile to end for easy greppin'
2121- # link current for other scripts
2222- ln -fs "$dir/$date" "$dir/current"
2323- done
2424- done
2525-done
2626-2727-wait
-9
bin/MACC02VK5ECHTD7/jws-grep
···11-#!/bin/sh
22-33-stuff=$(cat ~/.jws/*/*/*/current)
44-55-for i in $@; do
66- stuff=$(echo "$stuff" | grep -i $i)
77-done
88-99-echo "$stuff"
-26
bin/MACC02VK5ECHTD7/jws-ssh
···11-#!/bin/sh
22-#
33-# input: us-east-1a 172.29.71.236 i-0a7eb3896d61b4d22 Krakencld-app-ASG-A running m5.large None browse_test
44-55-# if > 1 argument: run the given command on each remote system and stream the output
66-if ! [ -z "$1" ]; then
77- echo "establishing connections..."
88- while IFS='$\n' read -r i; do
99- echo $i
1010- ip=$(echo "$i" | awk '{print $2}')
1111- ssh "$ip" "$1"
1212- done
1313- exit 0
1414-fi
1515-1616-# if no arguments: opens tmux panes to every remote host in list via ssh, sync panes
1717-tmux set default-shell "/bin/sh"
1818-tmux new-window 'sleep 0.2'
1919-while IFS='$\n' read -r i; do
2020- ip=$(echo "$i" | awk '{print $2}')
2121- tmux split-window "ssh $ip"
2222- tmux select-layout tiled
2323-done
2424-tmux set -u default-shell
2525-tmux select-layout tiled
2626-tmux setw synchronize-panes on