whatisgithub

What is microservices-demo?

vivixell/microservices-demo — explained in plain English

Analysis updated 2026-05-18

0GoAudience · ops devopsComplexity · 5/5Setup · hard

In one sentence

A DevSecOps reference project that deploys Google's Online Boutique microservices demo to AWS EKS using Terraform, ArgoCD GitOps, and automated security scanning.

Mindmap

mindmap
  root((microservices-demo))
    Origin
      Fork Of Online Boutique
      11 Microservices
    Infrastructure
      Terraform
      AWS EKS
      RDS
      ALB
    Delivery
      GitHub Actions
      ArgoCD GitOps
    Security
      Gitleaks
      SonarQube
      Trivy
    Observability
      Prometheus
      Grafana
      ExternalDNS

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Learn how to build a full DevSecOps pipeline on AWS EKS using Terraform, GitHub Actions, and ArgoCD.

USE CASE 2

See a working example of GitOps deployment where committing new manifests automatically updates a live Kubernetes cluster.

USE CASE 3

Study how to add automated secret scanning, code quality gates, and container vulnerability scanning to a CI/CD pipeline.

USE CASE 4

Use as a reference microservices demo app for testing Kubernetes cloud infrastructure setups.

What is it built with?

GoKubernetesTerraformArgoCDAWS EKS

How does it compare?

vivixell/microservices-demoaasheeshlikepanner/vasealexzielenski/controller-runtime
Stars00
LanguageGoGoGo
Last pushed2022-04-20
MaintenanceDormant
Setup difficultyhardmoderatehard
Complexity5/54/54/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires an AWS account and following the linked external deployment guide to bootstrap Terraform state and cloud infrastructure.

So what is it?

This project is a fork of Google's Online Boutique demo application, an example online shop made up of about eleven small services, adapted here to show a full DevSecOps pipeline running on Amazon's EKS Kubernetes service. Rather than focusing on the shop's features, the point of this repository is to demonstrate how to build, secure, and deploy a microservices app on AWS from end to end. All of the cloud infrastructure, including the Kubernetes cluster, database, container registry, and load balancer, is defined as code using Terraform and applied automatically through a dependency ordered pipeline in GitHub Actions. Once the infrastructure exists, an ArgoCD controller continuously watches a folder of Kubernetes manifests in this repository and keeps the live cluster in sync with whatever is committed there, which is a pattern known as GitOps. The build pipeline that runs on every push does several things in sequence: it scans the code for accidentally committed secrets with Gitleaks, checks code quality with SonarQube's static analysis, builds Docker images only for the services that changed, scans those images for known vulnerabilities with Trivy, and finally pushes the images to a private container registry and commits the new image tags so ArgoCD picks them up. For monitoring, the cluster runs Prometheus and Grafana to collect and display metrics about both the infrastructure and the running application. DNS is handled automatically too: a tool called ExternalDNS watches for new load balancer addresses and creates the matching DNS records in Amazon Route 53, so nobody has to set up DNS records by hand. The repository is organized into a one-time bootstrap step for shared state storage, a terraform folder with separate modules for each piece of infrastructure, a kubernetes-manifests folder that ArgoCD watches, the source code for all the microservices, a teardown script for tearing down all AWS resources, and GitHub Actions workflow files for infrastructure, builds, and teardown. A companion article linked from the README walks through the full setup process step by step.

Copy-paste prompts

Prompt 1
I want to deploy a Kubernetes cluster on AWS EKS using Terraform with modular infrastructure applied in stages. Show me an example project structure.
Prompt 2
How do I set up ArgoCD to watch a Kubernetes manifests folder in a Git repo and automatically sync changes to my cluster?
Prompt 3
Show me how to build a GitHub Actions pipeline that scans for secrets with Gitleaks, checks code quality with SonarQube, and scans container images with Trivy before pushing to a registry.
Prompt 4
How do I use ExternalDNS to automatically create Route 53 DNS records when an AWS load balancer is provisioned?
Prompt 5
Explain how to set up Prometheus and Grafana to monitor a Kubernetes cluster and the microservices running on it.

Frequently asked questions

What is microservices-demo?

A DevSecOps reference project that deploys Google's Online Boutique microservices demo to AWS EKS using Terraform, ArgoCD GitOps, and automated security scanning.

What language is microservices-demo written in?

Mainly Go. The stack also includes Go, Kubernetes, Terraform.

How hard is microservices-demo to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is microservices-demo for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.