armada/controller.sh

37 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
clean_container(){
echo "Destroying $1 container..."
docker stop $1 >/dev/null
docker rm $1 >/dev/null
echo "...container destroyed"
}
readlink(){
(
cd $(dirname $1)
echo $PWD/$(basename $1)
)
}
# Check to see if the aramada container exists
if [ -n "$( sudo docker ps -a | grep quay.io/airshipit/armada )" ]; then
echo "Armada container already exists..."
clean_container armada
fi
# Check to see if the user is trying to apply a chart
if [ $1 = "apply" ]; then
# TODO Handle erroneous or missing inputs
# Bring up a new armada container with passed in yaml mounted to the container
echo "Creating an Armada container..."
docker run -d --net host -p 8000:8000 --name armada -v $(readlink $(dirname $2)):$(readlink $(dirname $2)) -v ~/.kube/config:/armada/.kube/config -v ~/.kube/plugins/armada/examples/:/examples quay.io/airshipit/armada:latest
docker exec armada armada apply $(readlink $2)
else
# For any other command the chart does not need to be mounted to the container
# Bring up a new armada container
echo "Creating an Armada container..."
docker run -d --net host -p 8000:8000 --name armada -v ~/.kube/config:/armada/.kube/config -v ~/.kube/plugins/armada/examples/:/examples quay.io/airshipit/armada:latest
docker exec armada armada "$@"
fi
clean_container armada