DevOps Challenge

I wrote an Ops challenge a few months we had a bunch of people complete. The main reason was to see if they were able to properly provision a Linux server using some form of automation. There were solutions submitted using Ansible, Chef, Docker & Go.

I’m posting the challenge on our blog now in-case anyone else wants to try and complete it.

The Challenge

Thank you for downloading our challenge. We hope you’ll have as much fun solving it as we did writing it.

In order to successfully complete this challenge you must submit a repository/package that contains the configuration you used to solve it.

We would suggest using a tool like Chef, Ansible or Puppet. Additionally you may choose to roll your own (bonus points). It’s up to you.

Solving The Challenge

Your final deliverable should be a repository/package that contains the configuration as code you used to complete the challenge.

  1. Provision a hosted Linux server (we will supply an IP address) with the following packages:
    1. Elastic Search 1.3.2
    2. MongoDB 2.6.x
    3. Redis 2.8.x
  2. Download the foxserver binary from: http://de-locafox-engineering.s3.amazonaws.com/challenges/foxserver/foxserver_linux_amd64
  3. foxserver will attempt to connect to each of the services you configured above. You must expose environment (ENV) variables in order for it to locate each one. See the list below.
  4. Start/Install the server included in this package (it runs on port 3000 so ensure its available): ./foxserver
  5. foxserver will send alot of traffic to one of the 3 services. Please identify this service and mention it with your solution. Bonus points if you can identify the frequency.
  6. Harden the security of the box to prevent intrusion.
  7. Send a POST request to the endpoint: http://127.0.0.1:3000/complete.
  8. You have successfully completed the challenge, please submit your solution!

Environment Variables

In order to successfully start Foxserver the following environment variables must be set:

  • REDIS_URL=“127.0.0.1:6379”
  • ELASTICSEARCH_URL=“http://127.0.0.1:9200
  • MONGODB_URL=“127.0.0.1”

Questions / FAQ?

Cheers,

Rob

Comments

Copyright © 2015 - Locafox Product Engineering Team