Skip to content

A modular monolithic Go application with PostgreSQL, deployed on Kubernetes using Minikube for local development

Notifications You must be signed in to change notification settings

islamghany/blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blog

This project is a monolithic Go application with PostgreSQL, deployed on Kubernetes using Minikube for local development. The application has two main components: the admin entry point for administrative tasks and the blog-api for serving the blog content.

Prerequisites

Deployment Steps

  1. Install Minikube and start the cluster.
minikube start
  1. build the Docker image and push it to the Minikube Docker daemon.
make dev-up
  1. Deploy the application to the Minikube cluster.
make dev-apply
  1. Show the Cluster status.
make dev-status-all
  1. Show the application logs.
make dev-logs
  1. Open the application in the browser.
minikube service blog-admin -n blog-system

A table like the following will be displayed:

NAMESPACE NAME TARGET PORT URL
blog-system blog-admin 8000 http://http://192.168.59.104:30131
blog-system blog-api 8000 http://192.168.59.104:32413

then open the URL in the browser.

  1. down the application from the Minikube cluster.
make dev-down
  1. delete the Minikube cluster.
minikube delete

TODO List

  • Run InitContainer to initialize the database migrations/seed.
  • Liveness and Readiness probes.
  • Resources Requests and Limits.
  • Horizontal Pod Autoscaler.
  • Ingress Controller.
  • Monitoring with Prometheus and Grafana.
  • CI/CD Integration.
  • Helm Charts.
  • Add more tests.
  • Network Policies.
  • Secrets Management.
  • Security Best Practices.

About

A modular monolithic Go application with PostgreSQL, deployed on Kubernetes using Minikube for local development

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published