Skip to content

durable-code/infra-eng-application

Repository files navigation

Durable Infrastructure Engineer Application

This repo will walk you through the steps to obtain the application form for the Infrastructure Engineer position at Durable.

To get the application link, you'll just have to setup a simple local docker swarm using our ansible control scripts.

Getting started

This challenge will ask you to set up a simple docker swarm, deploying a single simple stack (applier), and read the output of the service logs to get a form to submit your application.

Once you've completed everything in Setup, then you can try to create the stack using the local script ./swarm to control the swarm. You can deploy the stack via

./swarm.sh --tags deploy

(See the Troubleshooting section if this doesn't complete successfully).

The applier stack consists of two services, a proxy and a provisioner.

The proxy service is a simple server that will proxy a request to our servers to add your email to our list of applicants, and will return a Google Form link that you can use to apply.

The provisioner service on the other hand tries to provision a new service on the swarm that lives outside of this stack.

The provided configuration in the ansible playbook (found at playbooks/apply.yml) is not correct currently to have this provisioned service be successfully created. You'll have to debug what's wrong and fix it to get the application link.

Once you've fixed the swarm configuration, and the provisioned service is successfully created, then you can find the link to the application form in the provisioner service.

Setup

This requires installations of:

NOTE: If you are already running a docker swarm locally, then do the remaining within a docker-in-docker container with a volume mounted with this repo's contents to avoid disrupting the state of your own docker swarm.

This can be done e.g. with

docker run \
  --privileged \
  --name durable-infra-swarm \
  --mount $(pwd):/infra-eng-application
  -d docker
docker exec -it durable-infra-swarm sh

Once you have uv installed, then you'll only need to setup ansible (make sure to install version 2.17, as version 2.19 introduced breaking changes that aren't compatible with these playbooks):

uv tool install --with ansible ansible-core==2.17
uvx --from ansible-core ansible-galaxy install -r ansible-requirements.yml

Troubleshooting

If you get

TASK [Install dependencies (for `community.docker`)]

related errors, then it may be necessary to update the uv_venv_path in inventories/local to something compatible with your system, and it may also be necessary to remove the directory at that location (or change it to a directory that doesn't already exist).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors