Skip to content

Infrastructure-as-Code for the Momo Store application. Includes Terraform, Ansible, Helm, ArgoCD, monitoring stack, and CI pipelines for GitOps-based Kubernetes deployments.

Notifications You must be signed in to change notification settings

examplefirstaccount/momo-store-infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Momo Store Infrastructure

This repository contains the infrastructure code and tooling to deploy and operate the Momo Store platform. It includes provisioning, Kubernetes setup, GitOps-based deployment, monitoring, and secret management.


Repository Structure

Directory Purpose
ansible/ Ansible roles and playbooks for provisioning and configuring servers.
argocd/ ArgoCD application manifests for GitOps deployment of services.
charts/ Helm charts for deploying the momo-store app and its monitoring-stack.
scripts/ Utility scripts to set up K3s clusters, Vault, Nexus, and more.
terraform/ Infrastructure as Code to provision cloud resources like servers and DNS.

Getting Started

You can deploy the infrastructure locally or in the cloud using the following flow:

  1. Provision infrastructure (with Terraform)
  2. Configure servers (with Ansible or utility scripts)
  3. Deploy app and/or monitoring stack (with ArgoCD and Helm)

Each component can be set up incrementally depending on your environment.


GitOps & CI/CD Workflow

This repo supports a GitOps-based deployment of the momo-store application, powered by ArgoCD and CI integration:

  • The charts/momo-store folder includes CI configuration files (typically added to the code repository) that automate Helm chart packaging and publishing.

  • The CI pipeline is triggered in two scenarios:

    • A new application image is built and pushed.
    • The Helm chart files are modified.
  • On either trigger:

    • The chart is packaged.

    • It is versioned as 0.1.{CI_PIPELINE_ID}, where:

      • 0.1 (major/minor) is set manually by a developer.
      • {CI_PIPELINE_ID} (patch) is injected automatically by the CI.
    • The packaged chart is pushed to a Nexus Helm repository.

Once the chart is published:

  • ArgoCD detects the new version in Nexus and automatically pulls and deploys it.
  • Optionally, the CI pipeline can manually trigger an ArgoCD sync to speed up deployment.

This flow ensures consistent, traceable, and automated application delivery using GitOps principles.


Monitoring & Logging Stack

  • Prometheus + Alertmanager – Metric collection and alerting.
  • Grafana – Dashboards with TLS and external data sources (Prometheus, Loki).
  • Loki + Promtail – Log aggregation.

Predefined alerts and dashboards for the Momo Store backend are included.


Secrets & Registry

  • Vault + External Secrets Operator – Centralized secrets management.
  • Nexus – Private Docker and Helm chart registry, with optional TLS via NGINX.

Requirements

  • Docker
  • Helm 3.x
  • Terraform CLI
  • Ansible
  • Kubernetes CLI (kubectl)

About

Infrastructure-as-Code for the Momo Store application. Includes Terraform, Ansible, Helm, ArgoCD, monitoring stack, and CI pipelines for GitOps-based Kubernetes deployments.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages