Terraform chaos engineering
       2023-06-03
       Last edit: 2023-06-03
       ---------------------
       
       I first saw 
 (HTM) kubedoom
        and thought it was pretty cool, so I decided to do the same for Terraform, knowing that I was working with it for professional projects. 
       
       The principle is very simple, each enemy represents a Terraform resource, if an enemy dies, the associated resource is destroyed.
       
       ## How it works ?
       
       The main program is `tf-doom`', which creates a UNIX socket, listens to it and simultaneously launches an X11 virtual server (Xvfb), a VNC server (x11vnc) attached to this X session and `psdoom` (DOOM writing to the UNIX socket). 
       
       Everything we've just described will be encapsulated in a Docker container.
       
       The binaries `Xvfb` and `x11vnc` are used to create a cross-platform graphical access to `psdoom` inside the container.
       
       `psdoom` will continuously write to the UNIX socket to signal `tf-doom` to send Terraform resource information. When an enemy is killed, `psdoom` writes the associated resource name to the socket.
       
       ## Demo
       
       This demo has been realized with the test Terraform project, every steps to reproduce it are detailed in the README file on the repository.
       
       ## Links
       
 (HTM) https://github.com/theobori/tf-doom