View on GitHub

devopsubuntu1804

Guide for DevOps-oriented Ubuntu 18.04 LTS (Bionic) Vagrant box.

1. devopsubuntu1804

devopsubuntu1804 is a Vagrant VM box with Base image of Ubuntu 18.04 LTS (Bionic) that has DevOps tools, programming/scripting languages and environments pre-installed and pre-configured to be ready to be used instantly after boot up.

devopsubuntu1804 Releases: Vagrant Cloud URL

Supported Provider: VirtualBox

Audience

IT professionals, organizations, enthusiasts or learners with a focus or interest towards CI/CD/CM/Containerization/DevOps.

Disclaimer:

It is expected that you have Vagrant and Virtualbox installed on your host machine (whether the host is Windows, Linux or OSX). If not, then please download/install Vagrant and Virtualbox.

2. List of Tools and Languages:

All of the tools have been preset to run at boot time using the init system, so you don’t have to worry about doing that and can instantly get on to working with these awesome tools!

3. Virtualizing devopsubuntu1804 on Vagrant

This section covers easy to use steps to get started with downloading and virtualizing devopsubuntu1804 virtual environment.

3.1. Single Machine Mode:

Single Machine mode is a mode where you will only be initializing a fresh vagrant virtual envrionment to usedevopsubuntu1804. Open CMD (for Windows host) or Terminal (for Linux/OSX host), then change to a directory of your liking on the Command Prompt or Terminal and run the following command:

vagrant init darkwizard242/devopsubuntu1804

Now that Vagrantfile has been created for devopsubuntu1804, you can initialize/boot up the box (it will download the box if not already downloaded) using the following command:

vagrant up

Once the box is up, do vagrant ssh and you will be within the virtualized box.

3.2. Multi Machine Mode:

As per Vagrant’s website, “Vagrant is able to define and control multiple guest machines per Vagrantfile. This is known as a ‘multi-machine’ environment.” So if you are running in a multi-machine mode, you can simple add the following chunk within the existing Vagrantfile:

config.vm.define "mydevopsbox" do |mydevopsbox|
   mydevopsbox.vm.box = "darkwizard242/devopsubuntu1804"
   mydevopsbox.vm.hostname = 'mydevopsbox'
end

Now run the following command so that the box can be downloaded (if not already) and be booted up:

vagrant up mydevopsbox

Once the box is up, do vagrant ssh mydevopsbox and you will be within the virtualized box.

4. Users - for devopsubuntu1804 Vagrant box

Docker, Ansible and Jenkins each have their own respective system users i.e. docker , ansible & jenkins.

Like any other vagrant box, you can easily ssh into devopsubuntu1804 using the default vagrant ssh command and make use of any of the other system level users or application level ones as you like.

4.1. Type and list of users and passwords:

Below is table listing the type of users as well as their usernames and passwords:

User Type Username Password
System User vagrant password
System User root password
System User docker password
System User ansible password
System User jenkins password
Jenkins Web-Application Console admin admin

NOTE: Though, the passwords for all of the users have been set by default by me so that anyone can use them easily. I would highly recommend to change the passwords of system level users via root user using the following commands:

4.2. Users and permissions:

Following users have already been added as sudoers with privileges to perform desired operations without supplying passwords:

root@devopsubuntu1804:~# egrep -w 'ansible|docker|vagrant|jenkins' /etc/sudoers
vagrant ALL=(ALL) NOPASSWD: ALL
ansible ALL=(ALL) NOPASSWD: ALL
docker  ALL=(ALL) NOPASSWD: ALL
jenkins ALL=(ALL) NOPASSWD: ALL

4.3. Users and home directories:

Following table consists the system users and their $HOME directories.

User Home Directory
root /root
vagrant /home/vagrant
ansible /home/ansible
docker /home/docker
jenkins /var/lib/jenkins

5. Acknowledgements:

6. Authors: