Skip to content

vincenthuynh/challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

500px-challenge

Testing:

The project contains a Vagrantfile which can be used to test the module.

  • At this time, provisioning needs to be done manually (refer to Runbook).
  • Clone the project locally then do a vagrant up in the workspace.
  • After applying runbook, test with URL: http://172.31.32.1

Runbook:

I was not totally clear on how the code would be deployed and I did not want to make assumptions therefore I have provided a runbook to setup the server.

  • As 'ubuntu' user
  • sudo apt-get install -y git
  • cd ~/
  • git clone https://github.com/vincenthuynh/500px-challenge
  • sudo bash 500px-challenge/scripts/setup.sh
  • sudo puppet apply 500px-challenge/manifests/init.pp --modulepath 500px-challenge/modules:/etc/puppet/modules/

Decisions:

  • Used a roshi-server binary instead of building at run time due to issues with building the binary. This approach is more ideal to lock the version and save on provisioning time.

Improvements:

  • scripts/setup.sh is used to install necessary packages prior to configuring the server with Puppet. I would have liked to use Packer (https://www.packer.io/) to create a VM image with all necessary dependancies already installed for the server. This would decrease provisioning time and provide a version snapshot for the tools and dependancies
  • scripts/redis.sh could also be omitted if Packer was used.
  • Take advantage of the firewall puppet module to elaborate on rules for improved security
  • I tested with an Ubuntu image that was provided by HashiCorp that had tools preinstalled (eg. puppet). Consider using a clean image.
  • Could have become more familiar with Upstart and configurng the jobs.

About

coding challenge

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published