# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.define "ubuntu-18.04-desktop-medium-nat-bxContainer-26" do |guest|
    guest.vm.box = "peru/ubuntu-18.04-desktop-amd64"
    guest.vm.hostname = "ubuntu-18.04-desktop-medium-nat-bxContainer-26"
    guest.vm.provider :virtualbox do |vb|
      vb.memory = "1024"		  
    end

    ## SHELL PROVISIONING
    guest.vm.provision "shell", inline: <<-_EOF_MainRootShell_
      cat  << _EOF_
 ######### PHASE 0: Parameters Specification
_EOF_
      genesisUserName=bxgenesis
      genesisUserGroup=bxgenesis
      genesisUserPasswd=bxPasswd
      genesisGitRepoCloneCmnd="git clone xxx"
      genesisGitRepoEntryCmnd="./xx/yy"

      cat  << _EOF_
 ######### PAHSE 1: Create bxgenesis User -- Running As Root
_EOF_

      sudo useradd i2user
      echo $genesisUserPasswd | sudo -S passwd i2user --stdin
      echo $genesisUserPasswd | sudo -S passwd root --stdin
      sudo usermod -aG wheel i2user
      sudo echo 'i2user ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers

      cat  << _EOF_
 ######### PHASE 2: Bring Over genesisClone -- Running As $genesisUserName
_EOF_

      sudo apt install git

      sudo -u $genesisUserName /usr/bin/bash << _EOF_genessisUserName_

      cd ~$genesisUserName
      mkdir -p ~$genesisUserName/gitRepos
      cd ~$genesisUserName/gitRepos
      $genesisGitRepoCloneCmnd

      $genesisGitRepoEntryCmnd

_EOF_genessisUserName_

      cat  << _EOF_
 ######### PHASE 3: Cleanup and Shutdown  -- Running As Root
_EOF_
      
      shutdown now
      exit 0

_EOF_MainRootShell_
  end
end

