Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Install Guide


VirtualBox 6.1

Download Virtualbox from official site:

https://www.virtualbox.org/wiki/Downloads

Image Added

Vagrant 

Vagrant allows you to script the Virtual Machines, so that all tasks related to create and destroy VM can be done through files and command line. Along with that, several tedious steps like setting up a NFS Share are greatly simplify using Vagrant.

Download Vagrant from the official site:

https://www.vagrantup.com/downloads

And follow the install instructions for your Operating System.

Image Added

Docker (not need for Virtual Machines only setup)

...

Setting up your development environment


Vault Pass

As you know, push passwords in clear code to a repository is a bad practice, even for environments intended for development. Sensitive information is encrypted using Ansible Vault. To allow ansible to decrypt the information you just need to add a file to the home of ansible_env folder. Example:

Image Added

Code Block
cd <ansible_acsenv>
echo "Password" >> .vault_pass

Ask your instructor for the real password to be use here.

Virtual Machine

The cycle for a dev environment with virtual machine: build→ provision→destroy

...

Code Block
languagebash
vagrant --acs_repo=/Users/pburgos/Development/Repositories/bitbucket/almasw --acs_binary=/Users/pburgos/.acsenv/versions/COMMON-2020JUN/dist --acs_working=/Users/pburgos/.acsenv/versions/COMMON-2020JUN/working up acs01
Bringing machine 'acs01' up with 'virtualbox' provider...
==> acs01: Importing base box 'centos/7'...
==> acs01: Matching MAC address for NAT networking...
==> acs01: Setting the name of the VM: ansible_acsenv_acs01_1595780860590_42357
==> acs01: Clearing any previously set network interfaces...
==> acs01: Available bridged network interfaces:
1) en3: Thunderbolt Ethernet
2) en0: Wi-Fi (AirPort)
3) en1: Thunderbolt 1
4) en2: Thunderbolt 2
5) bridge0
6) awdl0
==> acs01: When choosing an interface, it is usually the one that is
==> acs01: being used to connect to the internet.
==> acs01:
    acs01: Which interface should the network bridge to? 1
==> acs01: Preparing network interfaces based on configuration...
    acs01: Adapter 1: nat
    acs01: Adapter 2: hostonly
    acs01: Adapter 3: bridged
==> acs01: Forwarding ports...
    acs01: 22 (guest) => 2222 (host) (adapter 1)
==> acs01: Running 'pre-boot' VM customizations...
==> acs01: Booting VM...
==> acs01: Waiting for machine to boot. This may take a few minutes...
    acs01: SSH address: 127.0.0.1:2222
    acs01: SSH username: vagrant
    acs01: SSH auth method: private key
    acs01:
    acs01: Vagrant insecure key detected. Vagrant will automatically replace
    acs01: this with a newly generated keypair for better security.
    acs01:
    acs01: Inserting generated public key within guest...
    acs01: Removing insecure key from the guest if it's present...
    acs01: Key inserted! Disconnecting and reconnecting using new SSH key...
==> acs01: Machine booted and ready!
==> acs01: Checking for guest additions in VM...
    acs01: No guest additions were detected on the base box for this VM! Guest
    acs01: additions are required for forwarded ports, shared folders, host only
    acs01: networking, and more. If SSH fails on this machine, please install
    acs01: the guest additions and repackage the box to continue.
    acs01:
    acs01: This is not an error message; everything may continue to work properly,
    acs01: in which case you may ignore this message.
==> acs01: Setting hostname...
==> acs01: Configuring and enabling network interfaces...
==> acs01: Rsyncing folder: /Users/pburgos/ansible_acsenv/ => /vagrant
==> acs01: Exporting NFS shared folders...
==> acs01: Preparing to edit /etc/exports. Administrator privileges will be required...
The nfsd service does not appear to be running.
Starting the nfsd service
==> acs01: Mounting NFS shared folders...


provision

To provision our new created VM we will use ansible playbooks. It does not matter how many machines are active at a given time, ansible will provision the machines that are running at a given time. Be careful if you use Virtual Machines in your local hosts for other purposes. The following comand will try to provision all machines in runnig state. 

Code Block
ansible-playbook -i vagrant.py vagrant_provision.yml


destroy

You can destroy you VM to create a new one. These can happed when a  different acs_binaries is needed.

...

Code Block
❯ vagrant status acs01
Current machine states:

acs01                     not created (virtualbox)



Great!

Docker Container

Once theTo be added soon.



  • VPN Install on Centos 7 VM

...