#!/usr/bin/env bash

export PV_DIR="/data/local-pv"
export NAME=$1
export SIZE=$2
export NODE_NAME=$3
export CLASS_NAME="local-storage"

if [ -z $NODE_NAME ]
then
	echo "Usage: $(basename $0 .sh) NAME SIZE NODE_NAME"
	exit 67
fi

[[ -d output ]] || mkdir -p output

cat> ./output/${NAME}.yaml <<EOF
apiVersion: v1
kind: PersistentVolume
metadata:
  name: $NAME
spec:
  storageClassName: ${CLASS_NAME}
  capacity:
    storage: ${SIZE}Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  local:
    path: $PV_DIR
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - $NODE_NAME
---

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: $NAME
spec:
  storageClassName: ${CLASS_NAME}
  accessModes:
    - ReadWriteOnce
  volumeName: $NAME
  resources:
    requests:
      storage: ${SIZE}Gi
EOF
