Skip to content

Latest commit

 

History

History
45 lines (32 loc) · 3.23 KB

README.md

File metadata and controls

45 lines (32 loc) · 3.23 KB

Yassir Platform Engineering Take Home Challenge

Open in Gitpod

Note: Do not fork this repository. Instead:

  • Clone it locally.
  • Create a new private repository on Github and invite your interviewers (Github usernames will be provided to you).
  • We do not accept pull requests.

This repository acts as a boilerplate to get you started tackling Yassir's platform engineering challenge.

The stack used here is close to what we use for Infrastructure As Code. Mainly:

Once you have the above-mentioned tools installed you can run pnpm install to install the npm/Typescript dependencies.

For your convenience, we also provided a .gitpod.yml file so you can have an already setup environment on GitPod. Simply click "Open in Gitpod" button above.

About the challenge

The challenge is about showcasing your ability to implement and manage infrastructure using code. You'll need to use Hashicups.

Hashicups is a fictional Terraform provider. It does not provision real infrastructure (like AWS or GCP), but instead resources are represented as coffee orders in a coffee-shop. The idea is to mimic cloud-providers with a simple, fun API, without having to deal with cloud providers registrations, accounts or billing for our candidates.

The gist of the work is mostly translating the CRUD operations from plain Terraform to CDKTF.

The deliverable

The final output should be this repository updated with your code, configs and setup. We should be able to:

  • Run pnpm install for all required/new dependencies.
  • A way or a command to run Hashicups APIs locally. We recommend using docker compose for that. The GitPod environment already has docker compose installed for you.
  • README.md file updated, or a help file included on how to provision the infrastructure using Hashicups.
  • Be able to provision the CRUD operation for the coffee-shop. The Infrastructure as Code should go under packages/iac.
  • Have at least two different coffee types, with different ingredients, price and description. They should be treated as two completely different products for our orders.
  • A way to destroy/cleanup the infrastructure.
  • All using cdktf, not plain terraform (no HCL).
  • Bonus points for using Constructs and CDKTF best practices.
  • A simple testing suite that makes sure CDKTF synthesizes the infrastructure correctly.

Having troubles?

If you're encountering any troubles, feel free to send an email to [email protected].