Skip to content

nujabesploo/enterprise-devops-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enterprise DevOps Platform

Overview

Designed and implemented an enterprise-style DevOps platform that combines Infrastructure as Code, automation, containerization, CI/CD validation, and monitoring into a single workflow.

The platform demonstrates how modern DevOps teams use Terraform, Ansible, Docker, GitHub Actions, NGINX, Prometheus, and Grafana to automate deployments, validate infrastructure, and improve operational visibility.


Architecture

GitHub Repository
        │
        ▼
GitHub Actions CI/CD
        │
        ▼
Terraform Infrastructure Layer
        │
        ▼
Ansible Automation Layer
        │
        ▼
Dockerized NGINX Application
        │
        ▼
Prometheus Monitoring
        │
        ▼
Grafana Dashboards

Technologies Used

  • Terraform
  • Ansible
  • Docker
  • Docker Compose
  • GitHub Actions
  • NGINX
  • Prometheus
  • Grafana
  • Linux
  • YAML
  • HCL
  • Bash

Project Objectives

  • Implement Infrastructure as Code using Terraform
  • Automate validation tasks with Ansible
  • Deploy services using Docker Compose
  • Validate repository changes through CI/CD
  • Monitor services using Prometheus
  • Visualize metrics using Grafana
  • Document a complete DevOps workflow

Repository Structure

enterprise-devops-platform/
│
├── terraform/
│   ├── main.tf
│   ├── variables.tf
│   └── outputs.tf
│
├── ansible/
│   ├── inventory.ini
│   └── deploy.yml
│
├── app/
│   └── index.html
│
├── monitoring/
│   ├── docker-compose.yml
│   └── prometheus.yml
│
├── .github/
│   └── workflows/
│       └── pipeline.yml
│
├── screenshots/
│
└── README.md

Infrastructure as Code (Terraform)

Terraform was used to define and validate infrastructure resources through reusable configuration files.

Tasks Completed

  • Created Terraform variables
  • Implemented outputs
  • Generated infrastructure reports
  • Executed Terraform validation
  • Reviewed Terraform state

Automation (Ansible)

Ansible was used to automate validation and infrastructure checks.

Tasks Completed

  • Created inventory configuration
  • Built automation playbook
  • Validated Docker installation
  • Verified application deployment files

Containerization (Docker)

Docker Compose was used to deploy application and monitoring services.

Services

Service Port
NGINX 8085
Prometheus 9090
Grafana 3001

CI/CD (GitHub Actions)

GitHub Actions was used to automate repository validation whenever code is pushed to the main branch.

Tasks Completed

  • Repository validation
  • Application validation
  • Automated workflow execution
  • CI pipeline monitoring

Monitoring

Prometheus and Grafana were deployed to provide monitoring and visualization capabilities.

Monitoring Stack

  • Prometheus
  • Grafana
  • NGINX Service

Screenshots

Project Structure

Project Structure


Terraform Initialization

Terraform Init


Terraform Validation

Terraform Validate


Terraform Plan

Terraform Plan


Terraform Apply

Terraform Apply


Terraform State

Terraform State


Ansible Version

Ansible Version


Ansible Playbook

Ansible Playbook


Ansible Execution

Ansible Execution


Docker Compose Configuration

Docker Compose


Running Containers

Docker Containers


NGINX Application

NGINX Application


Prometheus Dashboard

Prometheus Dashboard


Grafana Dashboard

Grafana Dashboard


GitHub Actions Workflow

Pipeline Configuration


GitHub Actions Dashboard

Actions Dashboard


Successful CI/CD Pipeline

Pipeline Success


Commands Used

Terraform

terraform init
terraform fmt
terraform validate
terraform plan
terraform apply
terraform state list

Ansible

ansible-playbook -i inventory.ini deploy.yml

Docker

docker compose up -d
docker ps

Git

git add .
git commit -m "Implemented enterprise DevOps platform"
git push

Key Outcomes

  • Implemented Infrastructure as Code workflows
  • Automated validation through Ansible
  • Deployed containerized services with Docker
  • Integrated GitHub Actions CI/CD automation
  • Implemented monitoring using Prometheus and Grafana
  • Documented an end-to-end DevOps workflow

Skills Demonstrated

  • DevOps Engineering
  • Infrastructure as Code
  • Terraform
  • Ansible
  • Docker
  • GitHub Actions
  • CI/CD
  • Monitoring & Observability
  • Linux Administration
  • Automation
  • Infrastructure Validation

About

End-to-end DevOps platform combining Terraform, Ansible, Docker, GitHub Actions, NGINX, Prometheus, and Grafana.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages