Skip to content

Latest commit

Β 

History

41 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

JobSite Infrastructure Modernization

Status: βœ… Infrastructure deployed and ready
Last Updated: 2026-01-21
Version: 3.0 (Python + Kubernetes)


πŸ“‹ Quick Navigation

🎯 For Quick Start (5 minutes)

πŸ“š For Complete Understanding (30 minutes)

πŸ” For Detailed Reference


πŸ—οΈ Project Structure

jobs_modernization/
β”œβ”€β”€ README.md (this file)              ← Start here
β”œβ”€β”€ specs/                             ← Specifications
β”‚   β”œβ”€β”€ QUICKSTART.md                 ← 5-min overview
β”‚   β”œβ”€β”€ INDEX.md                      ← Complete reference
β”‚   β”œβ”€β”€ 001-network-redesign/         ← Network redesign feature
β”‚   β”‚   β”œβ”€β”€ spec.md                   ← Requirements
β”‚   β”‚   β”œβ”€β”€ plan.md                   ← Architecture decisions
β”‚   β”‚   β”œβ”€β”€ tasks.md                  ← Execution tasks (13 tasks)
β”‚   β”‚   β”œβ”€β”€ implementation.md         ← Step-by-step commands
β”‚   β”‚   β”œβ”€β”€ constitution.md           ← Quality standards
β”‚   β”‚   └── README.md                 ← Feature status
β”‚   └── 002-infra-reorg/              ← RG/ingress/build reorg
β”‚       β”œβ”€β”€ spec.md                   ← Corrected state & acceptance
β”‚       β”œβ”€β”€ plan.md                   ← RG map, WFE, build isolation
β”‚       β”œβ”€β”€ tasks.md                  ← Execution tasks
β”‚       β”œβ”€β”€ implementation.md         ← Commands & validation
β”‚       β”œβ”€β”€ constitution.md           ← Standards
β”‚       └── README.md                 ← Status
β”œβ”€β”€ iac/                              ← Infrastructure as Code
β”‚   β”œβ”€β”€ bicep/                        ← Bicep IaC templates
β”‚   β”‚   β”œβ”€β”€ README.md                 ← Overview
β”‚   β”‚   β”œβ”€β”€ QUICK_START.md           ← Deployment guide
β”‚   β”‚   β”œβ”€β”€ core/                     ← Core network layer
β”‚   β”‚   β”œβ”€β”€ iaas/                     ← VMs & networking
β”‚   β”‚   └── paas/                     ← App Services & databases
β”‚   β”œβ”€β”€ tf/                           ← Terraform (alternative)
β”‚   └── scripts/                      ← Deployment scripts
β”œβ”€β”€ appV1/                            ← Original ASP.NET 2.0 application
β”œβ”€β”€ appV2/                            ← .NET 6 modernized version
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ MIGRATION_CHECKLIST.md
β”‚   └── docs/
β”œβ”€β”€ appV3/                            ← Python + Kubernetes version
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ MIGRATION_GUIDE.md
β”‚   └── app/
β”œβ”€β”€ Database/                         ← Database schemas & migrations
β”œβ”€β”€ docs/                             ← General documentation
└── tests/                            ← Test suites

🎯 What This Project Does

JobSite Application

A job portal connecting job seekers and employers. Three versions:

  1. AppV1 - Original ASP.NET 2.0 Web Forms (reference only)
  2. AppV2 - Modernized .NET 6.0 (production-ready)
  3. AppV3 - Python + FastAPI + Kubernetes (emerging)

Infrastructure

  • Networking: Azure VNet with 7 properly-sized subnets
  • Compute: VMSS (web tier), SQL VMs, Container Apps
  • Services: App Gateway, Log Analytics, Key Vault, ACR
  • Security: Defender, Private Endpoints, RBAC, Managed Identities

πŸš€ Getting Started

For Infrastructure Deployment

# 1. Review the network design
cat specs/001-network-redesign/spec.md

# 2. Follow quick start
cd iac/bicep
cat QUICK_START.md

# 3. Execute deployment (see Phase 1-4 in tasks.md)
az deployment sub create --name jobsite-core-dev \
  --location swedencentral \
  --template-file core/main.bicep \
  --parameters @core/parameters.bicepparam

For Application Development

AppV2 (.NET 6)

cd appV2
cat README.md                    # Application overview
cat MIGRATION_CHECKLIST.md       # What's been modernized

AppV3 (Python)

cd appV3
cat README.md                    # Application overview
cat MIGRATION_GUIDE.md           # How to run it

For Database Management

cd Database
cat JobsDB/README.md             # Database structure
ls JobsDB/Scripts/               # Migration scripts

πŸ“Š Project Status

βœ… Completed

  • Infrastructure designed (network, compute, security)
  • Bicep templates created (Core, IaaS, PaaS layers)
  • Specifications written (5-step framework)
  • 13 deployment tasks documented
  • AppV2 modernization (.NET 6)
  • AppV3 modernization (Python + FastAPI)

πŸ”„ In Progress

  • AppV3 testing and validation
  • Kubernetes deployment (appV3)
  • CI/CD pipeline automation

⏳ Planned

  • Multi-region failover setup
  • Advanced monitoring dashboards
  • Disaster recovery runbooks

πŸ“– Documentation by Purpose

For Stakeholders & PMs

Read in this order:

  1. specs/QUICKSTART.md - Fast orientation
  2. specs/001-network-redesign/spec.md - Network redesign requirements
  3. specs/002-infra-reorg/spec.md - RG/WFE/build reorg requirements

For Architects & Engineers

Read in this order:

  1. specs/001-network-redesign/plan.md - VNet/subnet design
  2. specs/002-infra-reorg/plan.md - RG map, App Gateway, build isolation
  3. iac/bicep/README.md - IaC structure
  4. specs/001-network-redesign/constitution.md and specs/002-infra-reorg/constitution.md - Quality standards

For Implementers (DevOps/SRE)

Read in this order:

  1. specs/001-network-redesign/tasks.md and specs/002-infra-reorg/tasks.md - Task sequences
  2. iac/bicep/QUICK_START.md - Deployment commands
  3. specs/001-network-redesign/implementation.md and specs/002-infra-reorg/implementation.md - Detailed steps

For Developers (AppV2/AppV3)

Read in this order:

  1. appV2/README.md - .NET 6 application overview
  2. appV3/README.md - Python application overview
  3. appV3/MIGRATION_GUIDE.md - How to run locally

πŸ”§ Key Technologies

Layer Technology Purpose
IaC Bicep, PowerShell Infrastructure automation
Compute Azure VMs, VMSS, AKS Application hosting
Database SQL Server, SQL Database Data persistence
AppV2 .NET 6.0, ASP.NET Core Web application
AppV3 Python 3.11, FastAPI API-first application
Container Docker, Kubernetes AppV3 deployment
Monitoring Log Analytics, Application Insights Observability
Security Key Vault, Managed Identity, RBAC Secrets & access control

πŸ’‘ Key Improvements Made

Infrastructure

  • βœ… VNet expanded 8x (256 β†’ 2,048 IPs)
  • βœ… All subnets follow Azure best practices
  • βœ… 44% growth buffer for 3-5 years
  • βœ… Security hardened (Defender, RBAC, Private Endpoints)

Application

  • βœ… AppV2: Modernized to .NET 6 with ASP.NET Core
  • βœ… AppV3: Rewritten in Python for cloud-native deployment
  • βœ… Both versions include Docker support
  • βœ… Both have monitoring and logging integrated

Security

  • βœ… Removed all hardcoded credentials
  • βœ… All secrets in Key Vault
  • βœ… Managed Identities for VM access
  • βœ… RBAC with principle of least privilege
  • βœ… Private Endpoints for sensitive services
  • βœ… Microsoft Defender for Cloud enabled

πŸ“‹ Common Tasks

Deploy Infrastructure

# See: specs/001-network-redesign/tasks.md (Phase 2)
# Or:  iac/bicep/QUICK_START.md

Update Application

# AppV2 (.NET)
cd appV2
dotnet build
dotnet publish

# AppV3 (Python)
cd appV3
python -m pip install -r requirements.txt
python run.py

Check Deployment Status

# See: iac/DEPLOYMENT_STATUS.md
az deployment group list --resource-group jobsite-core-rg

Troubleshoot Issues

# See: specs/001-network-redesign/implementation.md (Troubleshooting section)
# Or:  appV2/docs/TROUBLESHOOTING.md
# Or:  appV3/README.md (Running Locally section)

🀝 Contributing

See CONTRIBUTING.md for guidelines.

Spec-Driven Development

This project uses GitHub Spec Kit for structured feature development:

spec.md        β†’ What we're building (requirements)
    ↓
plan.md        β†’ How we'll build it (architecture)
    ↓
constitution.md β†’ Quality standards
    ↓
tasks.md       β†’ Actionable task list
    ↓
implementation.md β†’ Detailed execution steps

New features should follow this pattern. See specs/QUICKSTART.md for examples.


πŸ“ž Support

Question Answer Location
How do I deploy? iac/bicep/QUICK_START.md
What's the network design? specs/001-network-redesign/spec.md
Why this architecture? specs/001-network-redesign/plan.md
How do I run the app? appV2/README.md or appV3/README.md
What changed from AppV1? CHANGES_SUMMARY.md
How do I navigate docs? HOW_TO_NAVIGATE.md

πŸ“„ License

See LICENSE file.


Ready to get started? β†’ Start with specs/QUICKSTART.md (5 minutes) β†’ Then review specs/001-network-redesign/spec.md (15 minutes) β†’ Then see iac/bicep/QUICK_START.md (10 minutes)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages