Skip to content

dialecticch/case-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Case Study for DevSecOps role at Dialectic

This repository is the base of the case study for all potential DevSecOps engineers at Dialectic.

Instructions

  1. Fork this repository and mark it as private. (DO NOT PUBLISH YOUR SOLUTION!)
  2. Build an application using the programming language of your choice in the app/ folder which runs a webservice on Port 5000 and responds with "Hello Dialectic!" to any requests (e.g. curl http://localhost:5000/).
  3. Build a Dockerfile which packages the app into a container and runs the previously written app on startup.
  4. Build a Helmchart in helmchart/ that runs the docker container in a deployment with a service and ingress infront of it.
  5. Orchestrate the helmchart deployment in helmfile.d/ and add all helm charts needed to serve the application starting from a brand new kind/k3s/minikube cluster.
  6. Commit all code to your repo.
  7. Send the zipped repo to your contact at Dialectic and wait for feedback.

Guidelines / Rules

  • Please take note on how long you took to get this case study done (to keep it comparable between candidates do not spend more than 4 hours).
  • The ingress should listen to the Domain/Host: casestudy.local.dialectic.com (DNS is statically pointing to 127.0.0.1 so you will need to setup a minikube/k3s/kind environment that listens on localhost).
  • The ingress should listen on HTTP only and forward the requests to the setup service.
  • You might need to publish your Dockerimage on dockerhub.com or leave instructions on how the k8s cluster can pull the image.
  • Your custom helmchart for the "Hello Dialectic!" applicatioan can be referenced using relative paths (e.g. chart: ../helmchart/mychart).
  • Please transparently declare the use of ChatGPT or other AI helpers as comments in the files if you use them.
  • If you add other helmcharts with ingresses you can use *.local.dialectic.com (e.g. grafana.local.dialectic.com)

Scoring

To verify this challenge, we will manually unzip your solution and run helmfile apply . in the root of the project and then trying to access casestudy.local.dialectic.com in a browser. Make sure to leave instructions if the kind/minikube/k3s setup needs special configs to expose the ports 80 / 443.

  • app/ contains working code: 10 Points
  • helmchart/ contains working helmchart: 10 Points
  • helmfile.d/ contains full orchestration of setup: 30 Points
  • verifier can successfully open casestudy.local.dialectic.com and received "Hello Dialectic!" as response: 50 Points
  • Up to 50 Bonus points for: elegant code (10pts), full instrumentation (20pts), test cases (10pts), surprising solutions (10pts)
  • Maximum Score: 150 Points

About

Dialectic case-study for applicants in Backend / Security (DevSecOps)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published