A comprehensive test suite containing 31 major open-source projects as git submodules for testing the err0.io error code management agent across diverse programming languages and frameworks.
err0.io is an error code management system that automatically inserts unique error codes into your source code's logging statements, making it easier to trace and debug issues in production. This repository provides a large-scale test environment to validate the err0 agent's capabilities.
- π§ 31 Production Projects - Test across real-world codebases
- π³ Docker-Based - Consistent execution environment
- π€ Automated Testing - Comprehensive soak tests and validation
- π Secure - Token-based authentication with gitignored credentials
- π Multi-Language - Java, Python, Ruby, Rust, Kotlin, Swift, C#, JavaScript, and more
- β‘ Flexible - Production, development, and local testing modes
This repository contains 31 open-source projects organized by category:
π€ Android/Mobile (5 projects)
- Signal-Android - Private messaging for Android
- Signal-iOS - Private messaging for iOS
- Telegram - Messaging app for Android
- Telegram-iOS - Messaging app for iOS
- UTM - Virtual machines for iOS and macOS
β Backend Frameworks - JVM (4 projects)
- spring-framework - Application framework for Java
- ktor - Asynchronous framework for Kotlin
- ratpack - Web framework for Java
- tomcat - Java servlet container
π Backend Frameworks - Other (4 projects)
- django - Web framework for Python
- rails - Web framework for Ruby
- vapor - Web framework for Swift
- strapi - Headless CMS for Node.js
βΏ Blockchain/Cryptocurrency (1 project)
- bitcoin - Bitcoin Core implementation
π CMS/E-commerce (4 projects)
- WordPress - Content management system (PHP)
- drupal - Content management framework (PHP)
- magento2 - E-commerce platform (PHP)
- moodle - Learning management system (PHP)
π DevOps/IoT (4 projects)
- kubernetes - Container orchestration system
- mender - OTA software updater
- SmartThingsEdgeDrivers - Samsung SmartThings drivers
- cerbos - Access control and authorization
π .NET (2 projects)
- Umbraco-CMS - Content management system (C#)
- roslyn - C# and Visual Basic compiler
π¬ Forums/Community (1 project)
- NodeBB - Forum software (Node.js)
π§ Infrastructure (1 project)
- postfix - Mail transfer agent
π¨ Kotlin Libraries (1 project)
- kotlinx.html - HTML DSL for Kotlin
π§ Machine Learning (1 project)
- pytorch - Machine learning framework
π¦ Rust/Systems Programming (2 projects)
- servo - Browser engine
- leptos - Web framework for Rust
π§ͺ Test/Example (1 project)
- zf2-orders - Internal test project
| Requirement | Version | Installation |
|---|---|---|
| π³ Docker | Latest | Install Docker |
| π¦ Git | 2.13+ | Pre-installed on most systems |
| π§ Perl | Any | Pre-installed on Linux/macOS |
Disk Space Requirements:
- Initial clone: ~500 MB
- All submodules: ~50 GB
- Individual submodules: 10 MB - 5 GB each
# 1. Clone the repository
git clone https://github.com/Err0-io/err0-open-source-bundle.git
cd err0-open-source-bundle
# 2. Initialize submodules (choose one)
# Option A: Initialize specific projects only (recommended)
git submodule update --init --depth 1 django rails kubernetes
# Option B: Initialize all projects (downloads ~50 GB)
git submodule update --init --depth 1
# Option C: Full history with err0/initial branches
./freshen-submodules.sh
# 3. Configure environment
cp .env.template .env
nano .env # Edit with your err0 server details
# 4. Set up authentication tokens
# See tokens/README.md for instructions# Test a single project
./err0agent-dev-insert.sh tokens/err0-django-*.json django
# Test all configured projects
./dev-insert.sh| Document | Description |
|---|---|
| SETUP.md | π Detailed setup and configuration guide |
| TESTING.md | π§ͺ Testing workflows and soak tests |
| SECURITY.md | π Security practices and token management |
| CONTRIBUTING.md | π€ Contribution guidelines |
| MIGRATION.md | π Migration guide for existing users |
| tokens/README.md | π« Token generation instructions |
| Script | Purpose | Environment |
|---|---|---|
err0agent-insert.sh |
Insert error codes | Production (latest) |
err0agent-dev-insert.sh |
Insert error codes | Development (develop) |
err0agent-localdev-insert.sh |
Insert error codes | Local build |
err0agent-analyse.sh |
Analyze error codes | Production |
err0agent-dev-analyse.sh |
Analyze uncommitted changes | Development |
err0agent-dev-check.sh |
Check canonicalization | Development |
dev-insert.sh |
Bulk insert (all projects) | Development |
dev-analyse.sh |
Bulk analyze (all projects) | Development |
# Initialize submodules
./freshen-submodules.sh
# Insert error codes into all projects
./dev-insert.sh
# Review changes
git submodule foreach git diff
# Commit changes
git submodule foreach git add .
git submodule foreach git commit -m "Add err0 codes"
# Verify canonicalization
./dev-analyse.sh# Full integration test (4-6 hours)
# - Creates test branches
# - Runs insert operations
# - Commits and tags changes
# - Verifies code canonicalization
# - Tests idempotency
./soak-test.pl# Configure for localhost
echo "ERR0_HOST=localhost:8443" > .env
# Run operations
./dev-insert.sh
./dev-analyse.sh
β οΈ NEVER commit token files to version control!
- Token files contain authentication credentials
.gitignoreprevents accidental commits- Pre-commit hooks validate no secrets are committed
- Rotate tokens regularly (every 90 days recommended)
- See SECURITY.md for detailed practices
We welcome contributions! Here's how you can help:
- π Report Bugs - Open an issue
- π‘ Suggest Features - Start a discussion
- π Improve Docs - Submit documentation improvements
- π§ Add Projects - Propose new open-source projects to test
See CONTRIBUTING.md for detailed guidelines.
π³ Docker Issues
Cannot connect to Docker daemon:
# Start Docker service
sudo systemctl start docker # Linux
# or start Docker Desktop # macOS/WindowsPermission denied:
# Add user to docker group (Linux)
sudo usermod -aG docker $USER
newgrp dockerπ¦ Submodule Issues
Submodule could not be updated:
git submodule deinit -f <project>
git submodule update --init <project>No submodule mapping found:
git submodule sync
git submodule update --initπ« Token Issues
No token file found:
# Check token file naming
ls tokens/err0-django-*.json
# Verify token directory
echo $ERR0_TOKEN_DIR
# Read setup guide
cat tokens/README.mdAuthentication failed:
- Verify token is not expired
- Check
ERR0_HOSTmatches token'shostfield - Ensure network connectivity to err0 server
err0-open-source-bundle/
βββ π README.md # This file
βββ π SETUP.md # Detailed setup guide
βββ π TESTING.md # Testing documentation
βββ π SECURITY.md # Security practices
βββ π CONTRIBUTING.md # Contribution guidelines
βββ π LICENSE # Apache 2.0 license
βββ π config/ # Configuration files
β βββ project-list.txt # All 31 projects
β βββ submodule-mappings.txt # GitHub URL mappings
βββ π scripts/ # Helper scripts
β βββ config-helper.sh # Environment loader
β βββ validate-setup.sh # Setup validator
β βββ install-hooks.sh # Git hooks installer
βββ π hooks/ # Pre-commit hooks
β βββ pre-commit # Token detection
βββ π tests/ # Test suite
β βββ security-test.sh # Security validation
β βββ unit-test.sh # Unit tests
β βββ integration-test.sh # Integration tests
βββ π tokens/ # Token storage (gitignored)
β βββ README.md # Token setup guide
β βββ *.json # Authentication tokens
βββ π§ err0agent-*.sh # Operation scripts (11 files)
βββ π§ dev-*.sh # Bulk operation scripts
βββ π§ͺ soak-test*.pl # Integration test scripts
βββ π freshen-submodules.sh # Submodule manager
βββ π [31 submodule directories] # Open-source projects
This repository is licensed under the Apache License 2.0.
Note: Each submodule project retains its own license (MIT, Apache 2.0, GPL, etc.). Please refer to individual project directories for their specific licensing terms.
This test bundle includes code from 31 major open-source projects. We extend our gratitude to all contributors:
- π The Django Software Foundation
- βΈοΈ The Kubernetes Authors
- π The Ruby on Rails team
- πΈ The Spring Framework team
- ...and 27 other amazing projects!
See each project's directory for full contributor acknowledgments.
Need help? We've got you covered:
- π Documentation - See SETUP.md for detailed guides
- π« Token Help - See tokens/README.md
- π Migration - See MIGRATION.md for existing users
- π err0.io Docs - https://docs.err0.io
- π§ Support Email - support@err0.io
- π¬ GitHub Discussions - Ask questions
- err0.io - Main error code management platform
- err0 Agent - Error code insertion agent
- err0 Documentation - Comprehensive guides
