Skip to content

Infrastructure as Code Development Workstation: RedHat/Centos or Debian/Ubuntu

License

Notifications You must be signed in to change notification settings

MilesTails/iac-dev

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iac-dev - Release 2.4

This playbook configures RedHat/Centos or Debian/Ubuntu workstation for Infrastructure as Code development with Ansible.

It configures your IaC Development workstation with:

  • Microsoft Visual Studio Code
  • Python
  • PowerShell Core for Linux
  • Latest Version of Git
  • Latest Version of Ansible +
    • WinRM + Kerberos Authentication for windows automation through Ansible
    • Various python libraries for common modules (Azure,AWS,Google Cloud,F5,NAPALM, or add your own!)
  • Remote Desktop (xRDP+TigerVNC) for easy access (RedHat/Centos Only)

Installation Instructions RedHat/Centos

  1. Download and install latest version of Centos/RedHat 7 with Gnome Desktop Environment Centos Download.
  2. During installation, create local user and grant administrator privileges
  3. After successful installation, open a terminal window:
  4. Install Ansible from epel repo:
    • sudo yum install epel-release
    • sudo yum install ansible
  5. Install Git and configure Git user:
    • sudo yum install git
    • git config --global user.email "you@example.com"
    • git config --global user.name "Your Name"
  6. Clone this repository to your home directory: git clone https://github.com/carlbuchmann/iac-dev
  7. change directory to iac-dev cd iac-dev/
  8. Install requires roles: ansible-galaxy install -r roles/requirements.yml --force
  9. Optional Customization :
    • to enable WinRM: Edit ./iac-dev/host_vars/localhost.yml and enter your active directory domain information
    • Add/remove vscode extensions: Edit ./iac-dev/host_vars/localhost.yml ( recommended extensions will be installed by default )
  10. run playbook: ansible-playbook iac-dev.yml --ask-become-pass
  11. launch vscode: code and start developing!

Installation Instructions Debian/Ubuntu

  1. Download and install latest version of Debian/Ubuntu 18.0.4 Desktop Ubuntu Download.
  2. During installation, create local user and grant administrator privileges
  3. After successful installation, open a terminal window:
  4. Install Ansible:
    • sudo apt-add-repository ppa:ansible/ansible
    • sudo apt-get update
    • sudo apt-get install ansible.
  5. Install Git and configure Git user:
    • sudo apt-get install git-core
    • git config --global user.email "you@example.com"
    • git config --global user.name "Your Name"
  6. Clone this repository to your home directory: git clone https://github.com/carlbuchmann/iac-dev
  7. change directory to iac-dev cd iac-dev/
  8. Install requires roles: ansible-galaxy install -r roles/requirements.yml --force
  9. Optional Customization :
    • to enable WinRM: Edit ./iac-dev/host_vars/localhost.yml and enter your active directory domain information
    • Add/remove vscode extensions: Edit ./iac-dev/host_vars/localhost.yml ( recommended extensions will be installed by default )
  10. run playbook: ansible-playbook iac-dev.yml --ask-become-pass
  11. launch vscode: code and start developing!

Recommended Visual Studio Code extentions

Notes:

  • After installation, you may want to enable/disable extension depending on what you are doing, for example I disable GitLens unless I'm reviewing code.
  • YAML Linting on Ansible playbook with YAML Support by Red Hat may report syntax problems which are false positives. It's not a problem with the extension but the schema, which is auto-generated from Ansible Code. see: example issue

Getting Started with IaC

  1. Getting Started with VSCode
  2. Getting Started with Ansible

PRs welcome

Please submit a PR to help enhance this playbook!

About

Infrastructure as Code Development Workstation: RedHat/Centos or Debian/Ubuntu

Resources

License

Stars

Watchers

Forks

Packages

No packages published