Skip to content

compscidr/iac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ansible lint ansible lint rules

Infrastructure as Code

There are several goals of this project

  1. a friction-less way to get back to normal after a fresh install of an OS for local devices, and use a common set of expectations for all devices in my fleet
  2. a way to easily provision and deploy cloud resources
  3. a minimal amount of secret management by encrypting secrets

Terraform

Used to provision cloud resources (currently on digital ocean):

  • compute
  • dns entries

Read more

Ansible

Used to provision software, services and configuration to local machines and cloud resources

  • apt packages for non-gui development (ie common to headless and non-headless)

  • apt packages for gui only (don't install on headless setups)

  • docker containers

  • /etc/hosts files

  • ssh keys

  • .ssh/config mapping identities to hosts and jumpboxes where necessary

  • home.jasonernst.com pointed to ubuntu-server configured as an ssh jump box into the lan

Packer

Used for a clean and consistent debian virtualbox environment to generate debian packages since most of my systems are ubuntu. Currently not needed because I can accomplish the same thing with a pre-built debian vagrant box. Would be useful if I needed to do any additional scripted setup that can't be done with ansible.