Introduction

Workshop Overview

vProfile is a multi-tier Java web app. This workshop builds a full GitOps pipeline for it.

ComponentRoleImagePort
vproappApp server (Tomcat running vprofile-v2.war)vprocontainers/vprofileapp8080
vprodbDatabase (MySQL)vprocontainers/vprofiledb3306
vprocache01Cache (Memcached)memcached11211
vpromq01Message broker (RabbitMQ)rabbitmq5672

Architecture

vProfile GitOps architecture

GitOps loop: Admin pushes code → GitHub Actions (SonarQube scan, build & push image to ECR, update values.yaml) → ArgoCD syncs the chart to EKS → users reach the app via ALB (HTTPS).

Three-repo model

RepoContent
vprofile-appJava source, Dockerfile, CI config (SonarQube, GitHub Actions)
vprofile-helmHelm chart + ArgoCD manifests
vprofile-infraTerraform for EKS (VPC, node group, OIDC, EBS CSI Driver)

Objectives

  • Generate a Helm chart from Kubernetes manifests using AI coding
  • Build a GitHub Actions CI/CD pipeline (scan, build, push, update manifest)
  • Provision EKS with Terraform, install AWS Load Balancer Controller and ArgoCD
  • Deploy vProfile via GitOps and test the end-to-end flow