Skip to content

opendriven/devops-coding-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EverDriven DevOps assessment

This assessment covers Azure infrastructure, containerization, and CI/CD automation. The codebase is partially implemented and requires you to complete the missing pieces.

Prerequisites

This assessment assumes you are on a macOS or Linux/WSL environment with make available.

Required:

  • OpenTofu (install) - Infrastructure provisioning (Terraform-compatible)
  • Docker (install) or Podman (install) - Container builds and security scanning
  • Helm 3+ (install) - Kubernetes manifest templating

Optional:

  • Azure CLI (install) - Manual Azure operations
  • kubectl (install) - Manual cluster checks

Quick start

# Verify dependencies and scan for security issues
make check-deps
make scan-all

# Build and test the application locally
make build
make test-local

# View all available commands
make help

Repository structure

.
├── .github/workflows/     # GitHub Actions (incomplete)
│   ├── infra.yml         # Infrastructure deployment workflow
│   └── app.yml           # Application deployment workflow
├── app/                  # Sample web application
│   ├── Dockerfile        # Container definition
│   └── entrypoint.sh     # Application startup
├── iac/terraform/        # OpenTofu infrastructure definitions
│   ├── main.tf           # Root module orchestration
│   ├── modules/
│   │   ├── rg/           # Resource group (complete)
│   │   ├── acr/          # Container Registry (incomplete)
│   │   └── aks/          # Kubernetes cluster (complete)
│   └── *.auto.tfvars     # Variable configuration
├── k8s/starter-app/      # Helm chart for deployment
│   ├── templates/        # Kubernetes manifests
│   └── values.yaml       # Configuration values
├── argocd/               # GitOps devops configuration
│   └── application.yaml  # ArgoCD application definition
└── Makefile              # Self-documenting development commands

Assessment components

1. Infrastructure module (iac/terraform/modules/acr/)

The Azure Container Registry module requires implementation. Review the existing modules and root configuration to understand how your module integrates.

2. CI/CD workflows (.github/workflows/)

Two workflow files contain stub implementations:

  • Infrastructure workflow: Automate OpenTofu operations
  • Application workflow: Handle container build, registry push, and deployment

3. Kubernetes deployment (k8s/starter-app/)

The repository includes a Helm chart. Your deployment workflow should apply it to the cluster. Review the templates and values for correctness before deploying.

Expected outcomes

Infrastructure

tofu apply provisions the required Azure resources with appropriate integration between them.

Application deployment

The sample application deploys to AKS and is accessible within the cluster.

Automation

GitHub Actions workflows handle both infrastructure and application deployments end to end.

Configuration

Create iac/terraform/terraform.auto.tfvars with your variables:

prefix   = "your-prefix"
location = "eastus"

Azure credentials and cluster connection details come from GitHub repository secrets during the assessment.

Time expectations

Infrastructure provisioning takes 10-15 minutes. Show your approach without waiting for full deployment, or focus on specific components as directed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors