Skip to content

awab-hassan/04-cattrApplication-DEVOPS

Repository files navigation

Cattr Application Deployment on Kubernetes

Kubernetes Docker PostgreSQL NFS

Overview

Deployed the Cattr time-tracking application on a Kubernetes cluster with a PostgreSQL database backend. The setup includes an NFS-backed PersistentVolume for the database with 5GB allocated, PersistentVolumeClaims for storage binding, and full Deployment + Service configuration for both Cattr and PostgreSQL.

Architecture

Architecture Diagram

The deployment consists of:

  • NFS PersistentVolume for PostgreSQL data storage (5GB)
  • PersistentVolumeClaim bound to the PV
  • PostgreSQL Deployment + ClusterIP Service
  • Cattr Deployment + Service connected to PostgreSQL

Tech Stack

Layer Technology
Container orchestration Kubernetes
Application Cattr (time tracking)
Database PostgreSQL
Storage NFS PersistentVolume (5GB)
Networking Kubernetes Services

What Was Built

1. NFS PersistentVolume

  • Created a PV using NFS as the storage backend for PostgreSQL data
  • 5GB storage capacity allocated

2. PersistentVolumeClaim

  • PVC bound to the NFS PV
  • Mounted into the PostgreSQL Deployment for data persistence

3. PostgreSQL Deployment + Service

  • PostgreSQL deployed with the PVC mounted at the data directory
  • Exposed internally via ClusterIP Service for Cattr to connect

4. Cattr Deployment + Service

  • Cattr application deployed and connected to PostgreSQL via environment variables
  • Exposed via Kubernetes Service

Key Learnings

  • Deploying PostgreSQL on Kubernetes with NFS-backed persistent storage
  • Connecting a modern time-tracking application to a Kubernetes-native database service
  • Managing stateful workloads with PersistentVolumes in a production cluster

About

Cattr time-tracking app deployed on Kubernetes with NFS-backed PostgreSQL — PersistentVolume, PVC, Deployments and Services configured end-to-end.

Topics

Resources

Stars

Watchers

Forks

Contributors