Skip to content

nsahil992/PacManOps

Repository files navigation

PacManOps

PacManOps

๐ŸŽฎ About PacManOps

PacManOps is a DevOps-focused deployment project that containerizes and automates the deployment of the classic Pac-Man game using modern cloud and infrastructure-as-code (IaC) technologies. It leverages Docker, Kubernetes, Terraform, and AWS to provide a scalable and automated deployment environment. The project aims to integrate CI/CD pipelines, monitoring with Prometheus and Grafana, and infrastructure automation.

๐Ÿš€ Features

  • Containerized Pac-Man: Uses Docker to package the Pac-Man game for deployment.
  • Automated Infrastructure: Terraform provisions AWS EC2 instances to host the game.
  • Kubernetes Orchestration: Deploys and manages the game using Kubernetes.
  • Scalable and Cloud-Ready: Designed for deployment on AWS EC2.

๐Ÿ“‚ Project Structure

PacManOps/
โ”‚โ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ js/
โ”‚   โ”‚   โ”œโ”€โ”€ pacman.js
โ”‚   โ”‚   โ”œโ”€โ”€ game.js
โ”‚   โ”‚   โ”œโ”€โ”€ utils.js
โ”‚   โ”œโ”€โ”€ wf/
โ”‚   โ”‚   โ”œโ”€โ”€ pacman10-source/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ frames/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ images/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ sounds/
โ”‚โ”€โ”€ index.html
โ”‚โ”€โ”€ Dockerfile
โ”‚โ”€โ”€ terraform/
โ”‚   โ”œโ”€โ”€ main.tf
โ”‚โ”€โ”€ k8s/
โ”‚   โ”œโ”€โ”€ deployment.yaml
โ”‚   โ”œโ”€โ”€ service.yaml
โ”‚โ”€โ”€ README.md

๐Ÿ› ๏ธ Installation & Deployment

1๏ธโƒฃ Clone the Repository

git clone https://github.com/nsahil992/PacManOps.git
cd PacManOps

2๏ธโƒฃ Build and Run with Docker

docker build -t pacman-game .
docker run -p 8080:80 pacman-game

3๏ธโƒฃ Deploy with Terraform

cd terraform
terraform init
terraform apply 

4๏ธโƒฃ Deploy on Kubernetes

kubectl apply -f k8s/

๐Ÿ”ฅ Improvements & Upcoming Features

The following tasks are yet to be implemented and are planned as improvements:

  • CI/CD Pipeline: Automate builds and deployments with GitHub Actions.
  • Prometheus & Grafana Monitoring: Set up monitoring and logging to track performance.
  • Ansible for Automation: Automate server setup and configuration.
  • EKS Deployment: Deploy PacManOps on AWS EKS instead of EC2.
  • Load Balancer & Auto-Scaling: Enhance scalability with Kubernetes Ingress and auto-scaling.

If you love this project, feel free to give this repository a โญ. Thanks

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published