- Git Large File Storage
- VMware Fusion Pro
- Packer
- Vagrant
- Vagrant VMware Provider Plugin
- Vagrant Hostmanager Plugin
-
Download Vagrant's public SSH key and private SSH key.
-
Put the SSH keys under
$HOME/.sshand set the appropriate permissions on Vagrant's private key.
macOS$ chmod 400 $HOME/.ssh/vagrant
- Starting with OS X Leopard, ssh-agent is more tightly integrated with Keychain. Securely storing the passphrases tied to all of a user's SSH keys in Keychain is now possible. Once added,
ssh-agentwill automatically load them on boot.
macOS$ ssh-add -K $HOME/.ssh/<your_private_key>
macOS$ ssh-add -K $HOME/.ssh/vagrant
- Clone the
sandboxesrepo.
macOS$ git clone git@github.com:yhuang/sandboxes.git
macOS$ cd sandboxes
-
Download
CentOS-7-x86_64-DVD-1611.isofrom a trusted source. Create theisodirectory under thesandboxestop-level directory, and put the ISO file under theisodirectory. -
Build the
devopsVagrant box.
macOS$ packer build packer-templates/devops.json
- Add the
devopsVagrant box.
macOS$ vagrant box add builds/devops.vmware.box --name devops
- Launch the
devopsVagrant box.
macOS$ cd vagrantfiles/devops; vagrant up; cd ../..
Once up, the devops Vagrant machine may be accessed via either vagrant ssh
macOS$ cd vagrantfiles/devops; vagrant ssh
These steps assume the following about the host Mac OS X machine:
- The ssh keys to remote machines are stored under
$HOME/.pem/on Mac OS X;
vagrant@devops% ln -s /host-data/.pem/ $HOME/.pem
- The public ssh key and private ssh key for the user on Mac OS X are
$HOME/.ssh/id_rsa.puband$HOME/.ssh/id_rsarespectively;
vagrant@devops% ln -s /host-data/.ssh/id_rsa.pub $HOME/.ssh/id_rsa.pub
vagrant@devops% ln -s /host-data/.ssh/id_rsa $HOME/.ssh/id_rsa
vagrant@devops% chmod 644 $HOME/.ssh/id_rsa.pub
vagrant@devops% chmod 600 $HOME/.ssh/id_rsa
- The service account tokens are exported as environmental variables in
$HOME/.credentials; and
vagrant@devops% ln -s /host-data/.credentials .credentials
vagrant@devops% source $HOME/.bash_profile
- The project directories are under
$HOME/workspace/.
vagrant@devops% ln -s /host-data/workspace/ $HOME/workspace