#!/bin/bash

# Quick & dirty pour le moment

LH_BACKUP_JOB="nightly-backup"

if [[ $# -ne 1 ]] ; then
    echo "ERREUR - Le script accepte un parametre et un seul (namespace)"
    exit 1
fi

NS=$1

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

if ( ! kubectl get ns $NS &> /dev/null ) ; then
    echo "ERREUR - Le namespace $NS ne semble pas exister"
    exit 1
fi

if ( ! kubectl get volumes -n longhorn-system &> /dev/null ) ; then
    echo "ERREUR - Vous ne semblez pas avoir les droits sur le namespace de Longhorn"
    exit 1
fi

for pvc in $(kubectl get pvc -n $NS --no-headers | awk '{print $3}') ; do
    if [[ $(kubectl get volume -n longhorn-system $pvc -o json | jq -r '.metadata.labels."recurring-job.longhorn.io/'$LH_BACKUP_JOB'"') == "enabled" ]] ; then
        echo "$pvc a deja le job $LH_BACKUP_JOB"
    else
        echo "Mise en place du job $LH_BACKUP_JOB sur $pvc"
        kubectl label volume/$pvc -n longhorn-system recurring-job.longhorn.io/$LH_BACKUP_JOB=enabled
    fi
done
