mirror of
https://github.com/lloeki/dotfiles.git
synced 2025-12-06 07:24:39 +01:00
57 lines
1.7 KiB
Bash
57 lines
1.7 KiB
Bash
if [[ -f "${HOME}"/.config/dotfiles/docker ]]; then
|
|
source "${HOME}"/.config/dotfiles/docker
|
|
|
|
export DOCKER_VM_IP="${ip}"
|
|
export DOCKER_VM_SSH="${user}@${DOCKER_VM_IP}"
|
|
export DOCKER_HOST="ssh://${DOCKER_VM_SSH}"
|
|
elif [[ "${OSTYPE}" == *darwin* ]]; then
|
|
for app in 'VMware Fusion.app' 'VMware Fusion Tech Preview.app'; do
|
|
if [[ -f "/Applications/${app}/Contents/Library/vmrun" ]]; then
|
|
vmrun="/Applications/${app}/Contents/Library/vmrun"
|
|
break
|
|
fi
|
|
done
|
|
unset app
|
|
|
|
for vm in Docker Gomeisa; do
|
|
if [[ -f "${HOME}/Virtual Machines.localized/${vm}.vmwarevm/${vm}.vmx" ]]; then
|
|
vmx="${HOME}/Virtual Machines.localized/${vm}.vmwarevm/${vm}.vmx"
|
|
break
|
|
fi
|
|
done
|
|
unset vm
|
|
|
|
if [[ -n "${vmrun:-}" && -n "${vmx:-}" ]]; then
|
|
started=0
|
|
if "${vmrun}" list | grep -q "${vmx}"; then
|
|
started=1
|
|
else
|
|
# TODO: user feedback facilities
|
|
#echo "* Starting Docker VM"
|
|
#"${vmrun}" start "${vmx}" nogui
|
|
echo "* Docker VM not found"
|
|
fi
|
|
|
|
if [[ "${started}" = 1 ]]; then
|
|
# TODO: use 'docker' once Gomeisa is gone
|
|
user='root'
|
|
|
|
# TODO: make this faster
|
|
# - look into /var/db/vmware/vmnet-dhcpd-vmnet{1,8}.leases
|
|
# - cache found IP
|
|
ip="$("${vmrun}" getGuestIPAddress "${vmx}" -wait)"
|
|
|
|
export DOCKER_VM_IP="${ip}"
|
|
export DOCKER_VM_SSH="${user}@${DOCKER_VM_IP}"
|
|
export DOCKER_HOST="ssh://${DOCKER_VM_SSH}"
|
|
fi
|
|
fi
|
|
|
|
unset started
|
|
unset vmrun
|
|
unset vmx
|
|
unset ip
|
|
unset user
|
|
fi
|
|
|
|
# vim: ft=bash
|