Skip to content

Repository files navigation

NexusForge Platform

NexusForge License: MIT GCP Docker

A fully automated, secure, and scalable multi-language development platform on Google Cloud Platform

Features β€’ Quick Start β€’ Documentation β€’ Architecture β€’ Contributing


πŸ“‹ Overview

NexusForge is a production-ready, cloud-native development platform that provides:

  • Multi-Language Support: Python 3.9, Node.js 16, and Go 1.18 microservices
  • Automated CI/CD: GitHub Actions with Workload Identity Federation
  • Cloud Infrastructure: GCP Cloud Run, Cloud SQL, and managed services
  • Monitoring & Observability: Prometheus, Grafana, and structured logging
  • Security First: IAP, Cloud Armor, Secret Manager, and RBAC
  • Developer Experience: Hot reload, Docker Compose, VS Code integration

✨ Features

πŸš€ Multi-Language Microservices

Language Framework ORM Cache Size
Python 3.9 FastAPI SQLAlchemy Redis ~150MB
Node.js 16 Express + TypeScript Prisma Redis ~120MB
Go 1.18 Gin GORM Redis ~15MB

πŸ” Security

  • βœ… Workload Identity Federation - No service account keys
  • βœ… Cloud Armor - DDoS protection and WAF
  • βœ… Identity-Aware Proxy - Zero-trust access
  • βœ… Secret Manager - Secure credential storage
  • βœ… VPC - Network isolation
  • βœ… RBAC - Role-based access control

πŸ› οΈ Infrastructure

  • βœ… Cloud Run - Serverless container deployment
  • βœ… Cloud SQL - Managed PostgreSQL 14
  • βœ… Memorystore - Managed Redis 6
  • βœ… Artifact Registry - Container image storage
  • βœ… Cloud Logging - Centralized logs
  • βœ… Cloud Monitoring - Metrics and alerts

πŸ“Š Monitoring

  • βœ… Prometheus - Metrics collection
  • βœ… Grafana - Visualization dashboards
  • βœ… Health Checks - Kubernetes-ready endpoints
  • βœ… Structured Logging - JSON logs with context
  • βœ… Alert Policies - Automated notifications

πŸ”„ CI/CD

  • βœ… GitHub Actions - Automated workflows
  • βœ… Multi-Environment - Dev, Staging, Production
  • βœ… Security Scanning - Trivy, Snyk integration
  • βœ… Automated Testing - Unit, integration, E2E
  • βœ… Canary Deployment - Progressive rollouts
  • βœ… Automated Backups - Daily database snapshots

πŸš€ Quick Start

Prerequisites

  • GCP Account with billing enabled
  • GitHub Repository with Actions enabled
  • Local Tools:
    • Docker & Docker Compose
    • gcloud CLI
    • Git
    • VS Code (recommended)

1. Clone Repository

git clone https://github.com/yourusername/nexusforge-platform.git
cd nexusforge-platform

2. GCP Setup (Interactive)

# Run interactive setup wizard
./infrastructure/scripts/00-setup-manager.sh

# Or manual setup
./infrastructure/scripts/01-gcp-initial-setup.sh
./infrastructure/scripts/02-workload-identity-setup.sh

3. Local Development

# Start all services with Docker Compose
docker-compose -f config/docker/docker-compose-all-in-one.yml up -d

# Check service health
curl http://localhost:8000/health  # Python
curl http://localhost:3000/health  # Node.js
curl http://localhost:8080/health  # Go

4. Deploy to GCP

# Commit and push to trigger CI/CD
git add .
git commit -m "Initial deployment"
git push origin main

# Or deploy manually
gcloud run deploy nexusforge-python \
  --image gcr.io/PROJECT_ID/nexusforge-python:latest \
  --platform managed \
  --region us-central1

πŸ“š Documentation

Getting Started

Operations

Advanced

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        Internet / Users                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚  Cloud Armor   β”‚  ← DDoS Protection
                  β”‚   (WAF/CDN)    β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚      IAP       β”‚  ← Authentication
                  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚  Load Balancer β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚                 β”‚                 β”‚
   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
   β”‚  Python  β”‚    β”‚  Node.js   β”‚   β”‚     Go     β”‚
   β”‚ FastAPI  β”‚    β”‚  Express   β”‚   β”‚    Gin     β”‚
   β”‚ Cloud Runβ”‚    β”‚ Cloud Run  β”‚   β”‚ Cloud Run  β”‚
   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
        β”‚                β”‚                 β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚                β”‚                 β”‚
   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
   β”‚ Cloud SQL β”‚    β”‚ Memorystoreβ”‚   β”‚  Secret   β”‚
   β”‚PostgreSQL β”‚    β”‚   Redis    β”‚   β”‚  Manager  β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Technology Stack

Backend Services:

  • Python 3.9 + FastAPI + SQLAlchemy + Alembic
  • Node.js 16 + Express + TypeScript + Prisma
  • Go 1.18 + Gin + GORM

Infrastructure:

  • GCP Cloud Run (serverless containers)
  • Cloud SQL PostgreSQL 14 (managed database)
  • Memorystore Redis 6 (managed cache)
  • Artifact Registry (container images)

CI/CD:

  • GitHub Actions (automation)
  • Workload Identity Federation (secure auth)
  • Multi-environment deployments

Monitoring:

  • Prometheus (metrics)
  • Grafana (dashboards)
  • Cloud Logging (logs)
  • Cloud Monitoring (alerts)

πŸ”§ Project Structure

nexusforge-platform/
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ actions/           # Reusable composite actions
β”‚   β”œβ”€β”€ workflows/         # CI/CD pipelines
β”‚   └── config/            # Environment configurations
β”œβ”€β”€ config/
β”‚   β”œβ”€β”€ docker/            # Dockerfiles and compose
β”‚   β”œβ”€β”€ nginx/             # Reverse proxy config
β”‚   β”œβ”€β”€ monitoring/        # Prometheus, Grafana
β”‚   └── security/          # Security policies
β”œβ”€β”€ infrastructure/
β”‚   β”œβ”€β”€ scripts/           # Setup and automation scripts
β”‚   └── terraform/         # IaC (optional)
β”œβ”€β”€ workspace/
β”‚   β”œβ”€β”€ python/            # FastAPI service (38 files)
β”‚   β”œβ”€β”€ nodejs/            # Express service (33 files)
β”‚   └── go/                # Gin service (26 files)
β”œβ”€β”€ docs/                  # Documentation
β”œβ”€β”€ scripts/               # Utility scripts
└── tests/                 # End-to-end tests

πŸ› οΈ Development

Local Setup

# Install dependencies
cd workspace/python && pip install -r requirements.txt
cd workspace/nodejs && npm install
cd workspace/go && go mod download

# Start development servers
cd workspace/python && make run
cd workspace/nodejs && npm run dev
cd workspace/go && make run

Testing

# Python
cd workspace/python && pytest

# Node.js
cd workspace/nodejs && npm test

# Go
cd workspace/go && make test

Docker Development

# Start all services
docker-compose -f config/docker/docker-compose-all-in-one.yml up -d

# View logs
docker-compose logs -f python-api

# Stop services
docker-compose down

πŸ“Š Monitoring

Access monitoring dashboards:

πŸ” Security

Implemented Security Features

  • Authentication: JWT tokens with refresh
  • Authorization: Role-based access control (RBAC)
  • Network Security: VPC, Cloud Armor, IAP
  • Data Security: Secret Manager, encrypted connections
  • Container Security: Non-root users, minimal images
  • API Security: Rate limiting, input validation

Security Scanning

# Scan Docker images
docker scan nexusforge-python:latest

# Security audit (Python)
cd workspace/python && pip-audit

# Security audit (Node.js)
cd workspace/nodejs && npm audit

# Security audit (Go)
cd workspace/go && gosec ./...

🀝 Contributing

We welcome contributions! Please see:

Development Process

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes with tests
  4. Run linters and tests
  5. Commit with conventional commits (git commit -m 'feat: add amazing feature')
  6. Push to your fork (git push origin feature/amazing-feature)
  7. Open a Pull Request

πŸ“ˆ Roadmap

  • Multi-language microservices (Python, Node.js, Go)
  • Automated CI/CD with GitHub Actions
  • GCP Cloud Run deployment
  • Monitoring and observability
  • Comprehensive documentation
  • GraphQL API gateway
  • gRPC inter-service communication
  • Service mesh (Istio)
  • Multi-region deployment
  • Advanced caching strategies
  • Machine learning pipeline

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“ž Support

🌟 Star History

Star History Chart


⬆ Back to Top

Made with ❀️ by the NexusForge Team

About

A fully automated, secure, and scalable multi-language development VM on Google Cloud Platform

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages