Skip to content

VatthanachaiW/devops-assignment

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Candidate Assignment Instructions:

The sample application is developed using Go. Our development team would like to deliver this application to Production. As a DevOps engineer, you are responsible to complete the tasks by following these key areas: High Availability, Scalability, Security.

Task:

  1. Create a Dockerfile for a given application

Expected Output: Dockerfile

Result

Dockerfile

  1. Build the image using the Dockerfile and push to Docker Hub

Expected Output: Build and push command and Docker Hub url

Result

Docker command for build, tag and push Docker image Uri: https://hub.docker.com/r/vatthanachaiw/goapp Docker command API Result 3. Create a Kustomize manifest to deploy the image from the previous step. The Kustomize should have flexibility to allow Developer to adjust values without having to rebuild the Kustomize frequently

Expected Output: Kustomize manifest file to deploy the application

Result

Kustomize manifest

  1. Setup GKE cluster with the related resources to run GKE like VPC, Subnets, etc. by following GKE Best Practices using any IaC tools (Terraform, OpenTufo, Pulumi) (Bonus point: use Terraform/Terragrunt)

Expected Output: IaC code

Result

Terraform GKE

  • Condition: Avoid injecting the generated GCP access keys to the application directly. Expected Output: Kustomize manifest, IaC code or anything to complete this task.
  1. Use ArgoCD to deploy this application. To follow GitOps practices, we prefer to have an ArgoCD application defined declaratively in a YAML file if possible.

Expected output: Yaml files and instruction how to deploy the application or command line

Result

Argo CD Argo CD

  1. Create CICD workflow using GitOps pipeline to build and deploy application Expected output: GitOps pipeline (Github, Gitlab, Bitbucket, Jenkins) workflow or diagram

Result !Not Complete Authorization failed Pipeline Auth failed

Final Result from Deploy

Uri: http://35.198.195.172/?name=Vatthanachai

Final result

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages

  • HCL 81.0%
  • Go 10.9%
  • Dockerfile 8.1%