Wind River DevOps Software Developer Code Challenge
Please send us your solution in the next 2 days
Build a small REST API web service using any of the following languages:
• NodeJS express (https://www.npmjs.com/package/express)
• Python
• Django (https://github.com/encode/django-rest-framework)
• Flask (https://github.com/pallets/flask)
• Golang gorilla mux (https://github.com/gorilla/mux)
This should have three API's endpoints:
1. /api/encrypt
2. /api/decrypt
3. /api/health
Requirements:
• Accept a json document with a single value to securely encrypt and decrypt.
• You can create your own simple solution to encrypt and decrypt.
• Validate the input as appropriate.
• Return proper HTTP status codes and messages.
• Return proper json result for success requests with the following format:
{
"Input": "My string to encrypt",
"Output": "DKJALDKLKADF===",
"Status": "success",
"Message": ""
}
• Return proper json result for error requests with the following format:
{
"Input": "My string to encrypt",
"Output": "",
"Status": "error",
"Message": "error detail here"
}
• Use proper HTTP headers as appropriate.
• Code should have proper comments.
• Should handle all errors appropriately.
Technical requirements:
• Must run in docker (include the Dockerfile).
• Include a README with instructions to build/run.
• Please send us the public repo link with your solution.
Optional requirements:
• Create your own unit test coverage no less than 80% (Optional).
• Create your own yaml resources to deploy to Kubernetes (Optional).
• Create your own helm chart using Kubernetes yamls (Optional).
Note there is no perfect solution here and do not spend more than a few hours on
this. This exercise will be reviewed by our engineers as part of our interview
process.
Email the link to your public Git repo with any relevant instructions.