blob: bcb0419d027539720e901f9d20fbf425b75b30f2 [file] [log] [blame]
#! /bin/bash
help() {
echo "$0: Get Started"
echo "Usage: $0 -o option"
echo "Liminal available options: "
echo "clone"
echo "installation "
echo "deployment"
}
if [[ "$#" -lt 2 ]]; then
help
exit
fi
# Arguments processing
while getopts ":o:" opt; do #installation, deployment
case $opt in
o)
option=$OPTARG
case $option in
clone)
ACTION="clone"
;;
installation)
ACTION="installation"
;;
deployment)
ACTION="deployment"
;;
esac
esac
done
mount_efs() {
EFS_ID=$1
echo "The EFS_ID is: ${EFS_ID}"
echo "Create /mnt/efs"
mkdir /mnt/efs
echo "Mount the /mnt/efs"
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport ${EFS_ID}:/ /mnt/efs
}
install_liminal() {
echo "Installing liminal on Airflow components"
docker ps | grep k8s_airflow | awk '{print $1}' | xargs -I {} docker exec {} bash -c 'pip install apache-liminal'
echo "Installing liminal locally"
pip install apache-liminal
}
deploy_yaml() {
echo 'Find the the mounted path of the Airflow'
airflow_path=$(find /mnt/efs/ -name "liminal_home")
echo "The mounted Airflow path is: $airflow_path"
echo 'Export the liminal home'
export LIMINAL_HOME=${airflow_path}
liminal deploy --path "incubator-liminal/examples/liminal-getting-started"
}
clone() {
echo 'Cloning incubator-liminal'
git clone https://github.com/apache/incubator-liminal.git
}
case $ACTION in
clone)
clone
exit 0
;;
installation)
read -r -p "Please enter EFS ID: " EFS_ID
mount_efs $EFS_ID
install_liminal
exit 0
;;
deployment)
deploy_yaml
exit 0
;;
*)
help
exit
;;
esac