Versions Compared

Key

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

...

On the other hand, lightweight development environments can be created through Docker. That setup comes handy when you need to edit files and perform compilation from command line. Docker containers are great to run your TAT tests. Your development cycle can be speed up through the use of containers.


How it works?

Often, when it is time to develop code for ACS, you end up trying to mixed up these elements:

...

Both VM and containers are provisioned through Ansible playbooks.


Install Guide


VirtualBox 6.1

Download Virtualbox from official site:

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

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.

...

And follow the install instructions for your Operating System.

Docker (not need for Virtual Machines only setup)


pyenv (recommended)

pyenv is a tool that allows you to isolate python and their packages, so that you keep you deployment clean and reproduceable. It's likely your already use this tool, so my recomendation is to create an environment for python and activate it before running pip, the command that follows this paragraph.

...

pip install -r requirements.txt


Setting up a Development Environment


Create .acsenv in your home folder

...

Warning: acs needs at least 4GB (4096MB) of memory.

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:

...

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
❯ vagrant status acs01
Current machine states:

acs01                     not created (virtualbox)



Great!

Docker Container

To be added soon.

Appendix: Using RDP to connect to VM to display GNome Desktop

Appendix: Using VirtualBox GUI to display GNome Desktop

Appendix: How to connect to a VPN using OpenConnect