https://github.com/jimjohnson-dev/public-mirror-template
🔒 Reusable template system for creating secure public mirrors of private repositories with automated sanitization and GitHub Actions integration
https://github.com/jimjohnson-dev/public-mirror-template
case-study github-actions repository-template sanitization security-automation
Last synced: 3 months ago
JSON representation
🔒 Reusable template system for creating secure public mirrors of private repositories with automated sanitization and GitHub Actions integration
- Host: GitHub
- URL: https://github.com/jimjohnson-dev/public-mirror-template
- Owner: jimjohnson-dev
- Created: 2025-09-29T04:18:38.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-09-29T14:12:35.000Z (4 months ago)
- Last Synced: 2025-10-04T05:49:39.236Z (4 months ago)
- Topics: case-study, github-actions, repository-template, sanitization, security-automation
- Language: Shell
- Size: 62.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Security: security-scan-20250929-000049.json
Awesome Lists containing this project
README
# Public Mirror Template System
A reusable template system for creating secure public mirrors of private repositories with automated sanitization and security validation.
## 🎯 **Proven in Practice**
This template system **successfully sanitized itself** for public release - the ultimate validation of its effectiveness.
**📈 Results**: 60 organizational references → 0 | Zero functionality loss | 100% security validation
> **💡 Key Insight**: If the template can safely process itself, it can safely process any repository.
**📋 [View Validation Summary](VALIDATION-SUMMARY.md)** | **📊 [Complete Case Study](../../wiki/Template-Self-Sanitization-Case-Study)** | **🌐 [Full Documentation](../../wiki)**
## Quick Start
```bash
# 1. Configure your repositories
cp configs/repos-config.template.json repos-config.json
# Edit repos-config.json with your repository details
# 2. Deploy to a single repository
./scripts/setup-mirror.sh owner/repo-name
# 3. Deploy to all configured repositories
./scripts/setup-mirrors.sh repos-config.json
# 4. Update existing mirror configurations
./scripts/update-mirrors.sh repos-config.json
```
## Features
- **Security-First**: Multi-layer security validation before public exposure
- **Configurable**: Repository-specific sanitization rules and patterns
- **Automated**: GitHub Actions workflows for continuous mirroring
- **Scalable**: Deploy to multiple repositories with single command
- **Auditable**: Comprehensive logging and security reporting
## Directory Structure
```
public-mirror-template/
├── .github/workflows/ # GitHub Actions workflow templates
├── scripts/ # Automation and deployment scripts
├── configs/ # Configuration templates and patterns
├── docs/ # Documentation and guides
└── README.md # This file
```
## Security Features
- Automated secret detection (gitleaks, custom patterns)
- PII sanitization and content transformation
- Internal reference removal and domain replacements
- Manual approval gates for sensitive changes
- Rollback capabilities for security incidents
## Configuration
See `configs/repos-config.template.json` for repository configuration options.
See `docs/CONFIGURATION.md` for detailed setup instructions.
## Requirements
- GitHub CLI (`gh`) for repository management
- `jq` for JSON processing
- `envsubst` for template variable substitution
- Security scanning tools (gitleaks, etc.)
## 📚 Documentation
**🏠 [Documentation Hub](docs/README.md)** - Complete navigation guide
### Getting Started
- **[🚀 Setup Guide](docs/SETUP.md)** - Install and configure (start here!)
- **[⚙️ Configuration](docs/CONFIGURATION.md)** - Customize for your organization
- **[🔧 Troubleshooting](docs/TROUBLESHOOTING.md)** - Common issues and solutions
### Validation & Research
- **[📋 Validation Summary](VALIDATION-SUMMARY.md)** - Quick proof of effectiveness
- **[📊 Case Study](../../wiki/Template-Self-Sanitization-Case-Study)** - Complete self-sanitization analysis
- **[🔬 Research Analysis](RESEARCH-ANALYSIS.md)** - Evidence-based claims
**💬 [Discussions](../../discussions)** | **🌐 [Wiki](../../wiki)** | **🐛 [Issues](../../issues)**