Skip to content

Commit 675e97e

Browse files
committed
feat!: major simplification - refocus on core remote access mission (v1.3.0)
BREAKING CHANGES: Pi Gateway refocused on secure remote access. Advanced features moved to optional extensions. Removed from Core: - Container orchestration → extensions/containers/ - Web status dashboard → extensions/dashboard/ - Cloud backup integration → extensions/backup/ - Network optimizer → extensions/network/ - Auto-maintenance system → extensions/maintenance/ - Monitoring system → extensions/monitoring/ UI Simplification: - Removed all emojis and colors (plain text only) - Removed progress bars and ASCII art - Simplified setup menu (3 choices instead of nested menus) - Reduced setup.sh from 748 to 351 lines (53% reduction) Core Focus: Pi Gateway now exclusively provides: - SSH hardening and secure access - WireGuard VPN server setup - Firewall configuration (UFW + fail2ban) - System security hardening - Optional: Remote desktop (VNC) and Dynamic DNS Changes: - setup.sh: Complete rewrite with simplified menu system - common.sh: Removed all color/emoji formatting, plain text only - README.md: Updated mission and scope - VERSION: 1.2.0 → 1.3.0 - Created extensions/ system for advanced features - Added extensions/README.md documentation Migration: - Core users (SSH + VPN): No changes needed, simpler setup - Advanced features: Available in extensions/, run manually - Extensions are standalone: sudo extensions/containers/container-support.sh Closes: Major refactoring for production simplicity
1 parent 3d7ab81 commit 675e97e

13 files changed

Lines changed: 346 additions & 650 deletions

File tree

CHANGELOG.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,59 @@ All notable changes to Pi Gateway will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.3.0] - 2025-10-31
9+
10+
### BREAKING CHANGES
11+
12+
**Major Simplification Release** - Pi Gateway refocused on core mission: secure remote access gateway.
13+
14+
#### Removed from Core
15+
- Container orchestration (moved to `extensions/containers/`)
16+
- Web status dashboard (moved to `extensions/dashboard/`)
17+
- Cloud backup integration (moved to `extensions/backup/`)
18+
- Network optimizer (moved to `extensions/network/`)
19+
- Auto-maintenance system (moved to `extensions/maintenance/`)
20+
- Monitoring system (moved to `extensions/monitoring/`)
21+
22+
#### UI Changes
23+
- Removed all emojis and colors from output (plain text only)
24+
- Removed progress bars and ASCII art
25+
- Simplified setup menu (3 choices instead of complex nested menus)
26+
- Reduced setup.sh from 748 to 352 lines (53% reduction)
27+
28+
#### Core Focus
29+
Pi Gateway now focuses exclusively on:
30+
- SSH hardening and secure access
31+
- WireGuard VPN server setup
32+
- Firewall configuration
33+
- System security hardening
34+
- Optional: Remote desktop (VNC) and Dynamic DNS
35+
36+
### Added
37+
- Extensions system for optional advanced features
38+
- Plain text output for better scriptability
39+
- Simplified setup experience
40+
- Extensions documentation
41+
42+
### Changed
43+
- Refocused project scope on secure remote access
44+
- Moved advanced features to optional extensions
45+
- Simplified common.sh (removed colors, emojis)
46+
- Updated README to reflect new mission
47+
48+
### Fixed
49+
- Version inconsistency between VERSION file and common.sh
50+
51+
### Migration Guide
52+
53+
**If you used advanced features:**
54+
1. Advanced features still available in `extensions/` directory
55+
2. Run extension scripts manually: `sudo extensions/containers/container-support.sh`
56+
3. Extensions are standalone and optional
57+
58+
**Core users (SSH + VPN only):**
59+
- No changes needed, setup process is simpler and faster
60+
861
## [1.2.0] - 2025-09-21
962

1063
### Added

README.md

Lines changed: 37 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
# Pi Gateway - Homelab Bootstrap
1+
# Pi Gateway
22

33
[![CI Status](https://github.com/vnykmshr/pi-gateway/workflows/Pi%20Gateway%20CI/badge.svg)](https://github.com/vnykmshr/pi-gateway/actions)
44
[![Release](https://img.shields.io/github/v/release/vnykmshr/pi-gateway)](https://github.com/vnykmshr/pi-gateway/releases)
55
[![License](https://img.shields.io/github/license/vnykmshr/pi-gateway)](LICENSE)
66
[![Tests](https://img.shields.io/badge/tests-40%20tests%20|%20100%25%20pass-green)](https://github.com/vnykmshr/pi-gateway/actions)
7-
[![Version](https://img.shields.io/badge/version-1.2.0-blue)](https://github.com/vnykmshr/pi-gateway/releases)
8-
[![Production Ready](https://img.shields.io/badge/production-ready-brightgreen)](docs/deployment-guide.md)
97

10-
**Complete Raspberry Pi homelab bootstrap system with automated security hardening, VPN setup, and comprehensive testing infrastructure.**
8+
**Secure remote access gateway for Raspberry Pi. SSH + VPN setup in under 10 minutes.**
119

1210
## Overview
1311

14-
Pi Gateway provides a one-script automated setup for core services while supporting dynamic IP environments. All provisioning is tracked in this repository, following Infrastructure as Code (IaC) principles for reliability, reproducibility, and extensibility.
12+
Pi Gateway transforms your Raspberry Pi into a secure remote access gateway with hardened SSH, WireGuard VPN, and firewall protection. Simple, focused, and production-ready.
1513

1614
## Quick Start
1715

@@ -38,33 +36,23 @@ make setup
3836
curl -sSL https://raw.githubusercontent.com/vnykmshr/pi-gateway/main/scripts/quick-install.sh | bash -s -- --interactive
3937
```
4038

41-
## ✨ Features
42-
43-
### 🔐 **Security & Hardening**
44-
- **SSH Hardening**: Key-based authentication, fail2ban, custom ports
45-
- **System Hardening**: Kernel parameters, network security, service management
46-
- **Firewall Configuration**: UFW setup with secure defaults
47-
- **User Account Security**: Service accounts, permission hardening
48-
49-
### 🌐 **VPN & Remote Access**
50-
- **WireGuard VPN Server**: Automated setup with client management
51-
- **Dynamic DNS**: Cloudflare integration for remote access
52-
- **Remote Desktop**: VNC server configuration
53-
- **Port Management**: Automated port forwarding setup
54-
55-
### 🧪 **Development & Testing**
56-
- **Production Validated**: ✅ Comprehensive E2E testing completed
57-
- **QEMU Pi Emulation**: Full hardware emulation testing environment
58-
- **Virtual Sandbox**: Complete dry-run environment with hardware mocking
59-
- **Docker-based Pi Simulation**: Realistic Raspberry Pi OS environment testing
60-
- **40 Unit Tests**: 100% pass rate with comprehensive validation
61-
- **Security Verified**: Complete security hardening validation
62-
- **All Components Tested**: SSH, VPN, firewall, monitoring all validated
63-
64-
### 🏠 **Homelab Ready**
65-
- **Service Discovery**: mDNS and local network integration
66-
- **Monitoring Setup**: System health monitoring
67-
- **Extension Support**: Plugin architecture for custom services
39+
## Features
40+
41+
**Core Security:**
42+
- SSH hardening with key-based authentication and fail2ban
43+
- WireGuard VPN server with client management
44+
- Firewall configuration (UFW) with secure defaults
45+
- System security hardening
46+
47+
**Optional Components:**
48+
- Remote desktop access (VNC)
49+
- Dynamic DNS integration
50+
- Custom port configuration
51+
52+
**Quality:**
53+
- 40 unit tests with 100% pass rate
54+
- Dry-run mode for safe testing
55+
- Docker and QEMU-based integration testing
6856

6957
## Requirements
7058

@@ -79,13 +67,24 @@ curl -sSL https://raw.githubusercontent.com/vnykmshr/pi-gateway/main/scripts/qui
7967
- Dynamic DNS provider account (DuckDNS, No-IP, etc.)
8068
- SSH client for initial access
8169

82-
## Core Services
70+
## Core Components
71+
72+
- System hardening and security best practices
73+
- SSH with key-based authentication
74+
- WireGuard VPN for encrypted remote access
75+
- Firewall protection (UFW + fail2ban)
76+
77+
## Extensions
78+
79+
Advanced features moved to `extensions/` directory:
80+
- Container orchestration (Docker/Podman)
81+
- Web status dashboard
82+
- Cloud backup integration
83+
- Network optimization
84+
- Automated maintenance
85+
- System monitoring
8386

84-
- **System Hardening**: Security best practices for internet-connected devices
85-
- **SSH Access**: Key-based authentication, password login disabled
86-
- **WireGuard VPN**: High-performance encrypted remote connectivity
87-
- **Remote Desktop**: GUI access via VNC or xRDP
88-
- **Dynamic DNS**: Reliable hostname for changing IPs
87+
See `extensions/README.md` for installation instructions.
8988

9089
## Documentation
9190

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.2.0
1+
1.3.0

extensions/README.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Pi Gateway Extensions
2+
3+
Optional features for advanced users. Core Pi Gateway provides secure remote access (SSH + VPN + Firewall). Extensions add additional functionality.
4+
5+
## Available Extensions
6+
7+
### Container Support
8+
**Location:** `extensions/containers/`
9+
**Features:** Docker/Podman setup, container orchestration, Portainer management
10+
**Use case:** Run containerized services on your Pi
11+
12+
### Status Dashboard
13+
**Location:** `extensions/dashboard/`
14+
**Features:** Web-based status monitoring, service health checks
15+
**Use case:** Visual monitoring of Pi Gateway services
16+
17+
### Cloud Backup
18+
**Location:** `extensions/backup/`
19+
**Features:** Automated backups to cloud storage (rclone-based)
20+
**Use case:** Backup configurations to cloud providers
21+
22+
### Network Optimization
23+
**Location:** `extensions/network/`
24+
**Features:** TCP tuning, bandwidth management, QoS
25+
**Use case:** Performance optimization for specific workloads
26+
27+
### Auto Maintenance
28+
**Location:** `extensions/maintenance/`
29+
**Features:** Automated updates, system cleanup, health checks
30+
**Use case:** Hands-off system maintenance
31+
32+
### Monitoring
33+
**Location:** `extensions/monitoring/`
34+
**Features:** Metrics collection, alerting, log aggregation
35+
**Use case:** Production-grade monitoring setup
36+
37+
## Installation
38+
39+
Extensions are standalone and optional. Each extension directory contains:
40+
- Installation script
41+
- Configuration files
42+
- Documentation
43+
44+
**Example:**
45+
```bash
46+
cd extensions/containers
47+
sudo ./container-support.sh
48+
```
49+
50+
## Compatibility
51+
52+
Extensions require Pi Gateway core to be installed first. Some extensions may have additional dependencies or resource requirements.
53+
54+
## Support
55+
56+
Extensions are community-supported and may have different maintenance schedules than core Pi Gateway.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)