Skip to content

Releases

v0.3.0 — Production K8s (Helm/HPA/NetworkPolicies/RBAC)

Choose a tag to compare

@thimiraw3 thimiraw3 released this 20 Aug 14:18

Converted manifests to a Helm chart. Added HPA (verified scaling 2→6 replicas under load), NetworkPolicies (verified pod isolation), and RBAC (verified scoped permissions via kubectl auth can-i).

v0.2.0 — Kubernetes Deployment

Choose a tag to compare

@thimiraw3 thimiraw3 released this 02 Aug 07:36
dfb7492

What's new

  • Kubernetes manifests for the full stack (Postgres + API)
  • Deployments with readiness/liveness probes on /health
  • ConfigMap + Secret for configuration
  • PersistentVolumeClaim for database storage
  • Ingress (nginx) for external routing
  • Tested end-to-end on Minikube

Try it

kubectl apply -f k8s/

v1.0.0 — Step 1: Base Application & Containerized CI/CD Pipeline

Choose a tag to compare

@thimiraw3 thimiraw3 released this 26 Jul 05:00

🚀 Overview

This milestone marks the completion of Step 1 for the Task Tracker API DevOps project. The project demonstrates end-to-end hands-on experience across modern DevOps practices, including Git workflow conventions, Linux runtime environments (WSL), containerization with Docker and Docker Compose, and automated CI/CD pipelines targeting GitHub Container Registry (GHCR).


✨ Key Features & Deliverables

1. Application & Core API

  • RESTful Endpoints: Complete CRUD implementation for task management (GET, POST, PUT, DELETE /tasks).
  • Health Check Probe: Dedicated /health endpoint for container readiness and liveness checks.
  • Database Persistence: PostgreSQL database layer powering API operations.

2. Containerization & Security Best Practices

  • Multi-Stage Dockerfile: Multi-stage builds separate compilation/build dependencies from the final runtime image to keep container size minimal.
  • Least Privilege Security: Runs under a non-root runtime user inside the container to minimize security vulnerabilities and reduce the blast radius of container breakouts.
  • Docker Compose: Streamlined local development environment enabling single-command bootstrapping (docker compose up --build).

3. CI/CD Pipeline & Registry Automation

  • Automated Pull Request Testing: Unit test suite runs automatically on every PR to prevent regressions from reaching main.
  • Automated GHCR Deployment: On merge to main, passing builds are automatically packaged into Docker images and published to GitHub Container Registry (GHCR).
  • Traceable Image Tagging: Docker images are tagged dynamically with both latest and the specific commit SHA for complete deployment auditing.

🛠️ Tech Stack & Tools

Component Technology
Backend Runtime Node.js, Express.js
Database PostgreSQL
Containerization Docker, Multi-Stage Builds, Docker Compose
CI/CD Automation GitHub Actions
Container Registry GitHub Container Registry (GHCR)
Environment & OS Linux (WSL2), Git (Branching/PR Workflows)

📋 API Reference Summary

Method Endpoint Description
GET /health Application health and readiness check
GET /tasks Retrieve all tasks
GET /tasks/:id Retrieve a specific task by ID
POST /tasks Create a new task
PUT /tasks/:id Update an existing task
DELETE /tasks/:id Delete a task

🏗️ Architecture Decisions

  • Multi-stage Docker builds: Keeps the production runtime image lean, secure, and free of unnecessary build tooling.
  • Non-root container user: Restricts execution privileges inside the container, adhering to security best practices.
  • Mocked DB in Unit Tests: Keeps CI test execution fast and decoupled from external infrastructure.

📦 How to Run & Verify This Release

# Clone repository
git clone https://github.com/thimiraw3/task-tracker-api.git
cd task-tracker-api

# Checkout Step 1 release tag
git checkout tags/v1.0-step1

# Launch local stack
docker compose up --build

The API will be live and accessible at http://localhost:3000.