#!/bin/bash
#
# k8s_get_pod_pvc
#
# Author        : Nohaj
# Contact       : johan@slashroot.fr
# Date          : 30/10/20
# Version       : 1.1 (14/06/21)
# Description   : Script qui permet d'afficher le pod utilisant un pvc donne
# Require       : kubectl et les droits qui vont bien
#

#
# Changelog
#
# v1.1 : on a plus besoin de preciser le namespace et on sort un meilleur affichage
#

#
# Variables et checks
#
type kubectl &> /dev/null || { echo >&2 "ERREUR - Ce script a besoin de kubectl pour fonctionner"; exit 1; }

if [[ $# -ne 1 ]] ; then
    echo "ERREUR - On a besoin d'un PVC en argument"
    exit 1
fi

if ( ! kubectl get pvc -A | grep -q -w $1 ) ; then
    echo "ERREUR - Le PVC est introuvable"
    exit 1
fi

#
# Au boulot
#
pvc_info=$(kubectl get pvc -A | grep $1 | awk '{print $1,$2}')
ns=$(echo $pvc_info | cut -d " " -f 1)
name=$(echo $pvc_info | cut -d " " -f 2)
pod=$(kubectl describe pvc $name -n $ns | grep "Mounted By:" | awk '{print $3}')

echo ""
echo "PVC Name     : $1"    
echo "Claim Name   : $ns/$name"    
echo ""
echo "Used by Pod  : $ns/$pod"
echo ""
