Skip to content

rameezk/devops-engineer-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

DEVOPS-ENGINEER-TEST

A fun little technical assessment

Prerequisites

  • Azure CLI
  • Python
  • Ansible
  • Kubectl
  • Minikube (Optional)

Practical Test

1. Kubernetes Cluster

Spin up a Kubernetes cluster on Azure AKS. This can be via the AZ CLI or the Azure dashboard. It can be a single node cluster.

2. MongoDB

Deploy a simple MongoDB instance to Kubernetes. It should only be accessible within the cluster. It is not neccessary to add authentication.

3. Docker

Fork this repo and check-out the code. Dockerize the application.

Once you're happy, you can push it to the docker registry. Authentication details for the registry will be provided.

Next, create the neccessary Kubernetes resources to serve up this API. Allow the API to be accessible from the internet.

TIP: The API will need to be able to communicate with Mongo. To ensure that everything is up, you can make use of readiness and liveness probes in Kubernetes for this. The API provides a handy /health endpoint to check if it can connect to a Mongo instance.

4. Ansible

Create an Ansible playbook to automate the deployment of the API to Kubernetes. You don't have to automate the MongoDB deployment.

Dockerize the playbook and push it to the Docker registry. This will make the next task easier.

5. GitLab CI

Create a repo on GitLab and push the API repo to it. Create a GitLab CI pipeline for this repo which automatically executes the above playbook on every commit to the master branch.

Releases

No releases published

Packages

No packages published