Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions ARCHITECTURE.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
== Architecture

=== Overview

This repository follows a modular, maintainable architecture designed
for clarity, scalability, and long-term sustainability.

=== Directory Structure

....
.
├── src/ # Source code
├── tests/ # Test suites
├── docs/ # Documentation
├── scripts/ # Utility scripts
├── config/ # Configuration files
├── LICENSE # License file
├── LICENSES/ # Full license texts
└── README.adoc # Project documentation
....

=== Design Principles

* *Separation of Concerns*: Each module has a single responsibility
* *Testability*: Code is written to be easily testable
* *Documentation*: All public APIs are documented
* *Configuration*: Environment-specific settings are externalized

=== Dependencies

* External dependencies are minimized and clearly declared
* Version pinning is used for reproducibility

=== Security Considerations

* Sensitive data is never committed to the repository
* Secrets are managed through environment variables or secure vaults
* Regular dependency audits are performed

=== Maintainability

* Code follows consistent style guidelines
* Pull requests require review and CI checks
* Issues and discussions are tracked transparently

'''''

_Last updated: 2026-07-18_
47 changes: 0 additions & 47 deletions ARCHITECTURE.md

This file was deleted.

265 changes: 139 additions & 126 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
@@ -1,135 +1,148 @@
// SPDX-License-Identifier: CC-BY-SA-4.0
= Changelog
== Changelog

All notable changes to Qubes SDP will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

== [1.0.0] - 2024-11-22

=== Added

==== Core System
- Simple setup script (`qubes-setup.sh`) for basic topology
- Advanced setup script (`qubes-setup-advanced.sh`) with full configuration
- Comprehensive configuration file (`qubes-config.conf`)
- Makefile (`Makefile.qubes`) for automation
- Salt Stack configuration for declarative setup

==== Qubes
- Work qube with restricted firewall (HTTP/HTTPS/DNS only)
- Vault qube (air-gapped, no network)
- Anon qube (Tor/Whonix integration)
- Untrusted qube (DisposableVM template)
- Optional VPN qube (ProxyVM)
- Optional USB qube (device management)

==== Features
- Topology presets (journalist, developer, researcher, teacher, pentester)
- Interactive setup wizard
- Dry-run mode for testing
- Comprehensive logging
- Rollback mechanism
- Progress indicators
- Health checks
- Split-GPG automation
- Split-SSH automation
- Qrexec policy generation
- Firewall rule automation
- Automated backups with cron
- Template update automation

==== Tools
- `qubes-status.sh` - Status dashboard
- `qubes-dashboard.sh` - Interactive real-time monitor
- `qubes-firewall-analyzer.sh` - Firewall analysis
- `qubes-template-manager.sh` - Template management
- `qubes-backup-validator.sh` - Backup verification
- `qubes-restore.sh` - Disaster recovery
- `qubes-policy-generator.sh` - Qrexec policy management
The format is based on https://keepachangelog.com/en/1.0.0/[Keep a
Changelog], and this project adheres to
https://semver.org/spec/v2.0.0.html[Semantic Versioning].

=== [1.0.0] - 2024-11-22

==== Added

===== Core System

* Simple setup script (`+qubes-setup.sh+`) for basic topology
* Advanced setup script (`+qubes-setup-advanced.sh+`) with full
configuration
* Comprehensive configuration file (`+qubes-config.conf+`)
* Makefile (`+Makefile.qubes+`) for automation
* Salt Stack configuration for declarative setup

===== Qubes

* Work qube with restricted firewall (HTTP/HTTPS/DNS only)
* Vault qube (air-gapped, no network)
* Anon qube (Tor/Whonix integration)
* Untrusted qube (DisposableVM template)
* Optional VPN qube (ProxyVM)
* Optional USB qube (device management)

===== Features

* Topology presets (journalist, developer, researcher, teacher,
pentester)
* Interactive setup wizard
* Dry-run mode for testing
* Comprehensive logging
* Rollback mechanism
* Progress indicators
* Health checks
* Split-GPG automation
* Split-SSH automation
* Qrexec policy generation
* Firewall rule automation
* Automated backups with cron
* Template update automation

===== Tools

* `+qubes-status.sh+` - Status dashboard
* `+qubes-dashboard.sh+` - Interactive real-time monitor
* `+qubes-firewall-analyzer.sh+` - Firewall analysis
* `+qubes-template-manager.sh+` - Template management
* `+qubes-backup-validator.sh+` - Backup verification
* `+qubes-restore.sh+` - Disaster recovery
* `+qubes-policy-generator.sh+` - Qrexec policy management

===== Documentation

* Comprehensive README with architecture diagrams
* QUICKSTART guide for rapid deployment
* CONTRIBUTING guidelines
* Complete wiki system with 10+ pages:
** Getting Started
** Installation Guide
** Configuration Guide
** Security Guide
** Topology Presets
** Split-GPG Guide
** Split-SSH Guide
** Backup & Restore Guide
** Troubleshooting
** FAQ
* Example configurations (journalist, developer, minimal)
* API documentation
* Tool documentation

===== Testing

* Syntax tests for all scripts
* Unit tests for components
* Integration tests for system interactions
* Security tests for vulnerabilities
* Automated test runner

===== Wiki System

* Markdown to HTML builder
* Professional responsive design
* Interactive features (TOC, copy buttons)
* Search functionality
* Mobile-friendly layout

==== Security

* Air-gapped vault enforced
* Default-deny firewall policies
* Minimal template usage
* DisposableVM for risky content
* Split-GPG/SSH key isolation
* Comprehensive security testing
* Input validation throughout
* No hardcoded credentials

==== Documentation
- Comprehensive README with architecture diagrams
- QUICKSTART guide for rapid deployment
- CONTRIBUTING guidelines
- Complete wiki system with 10+ pages:
- Getting Started
- Installation Guide
- Configuration Guide
- Security Guide
- Topology Presets
- Split-GPG Guide
- Split-SSH Guide
- Backup & Restore Guide
- Troubleshooting
- FAQ
- Example configurations (journalist, developer, minimal)
- API documentation
- Tool documentation

==== Testing
- Syntax tests for all scripts
- Unit tests for components
- Integration tests for system interactions
- Security tests for vulnerabilities
- Automated test runner

==== Wiki System
- Markdown to HTML builder
- Professional responsive design
- Interactive features (TOC, copy buttons)
- Search functionality
- Mobile-friendly layout

=== Security
- Air-gapped vault enforced
- Default-deny firewall policies
- Minimal template usage
- DisposableVM for risky content
- Split-GPG/SSH key isolation
- Comprehensive security testing
- Input validation throughout
- No hardcoded credentials

=== Documentation
- 10+ wiki pages with 4000+ lines
- README with feature overview
- QUICKSTART for rapid onboarding
- Example configurations
- Troubleshooting guides
- FAQ with 50+ questions
- Tool documentation
- API reference

== [Unreleased]

=== Planned
- Web-based configuration UI
- Additional topology presets
- Automated security auditing
- Performance optimization tools
- Multi-language support
- Video tutorials
- Plugin system enhancements
- CI/CD pipeline integration
- Docker-based testing environment

== Version History

=== [1.0.0] - 2024-11-22
- Initial release
- Complete feature set
- Full documentation
- Production ready
* 10+ wiki pages with 4000+ lines
* README with feature overview
* QUICKSTART for rapid onboarding
* Example configurations
* Troubleshooting guides
* FAQ with 50+ questions
* Tool documentation
* API reference

=== [Unreleased]

==== Planned

* Web-based configuration UI
* Additional topology presets
* Automated security auditing
* Performance optimization tools
* Multi-language support
* Video tutorials
* Plugin system enhancements
* CI/CD pipeline integration
* Docker-based testing environment

=== Version History

==== [1.0.0] - 2024-11-22

* Initial release
* Complete feature set
* Full documentation
* Production ready

---
'''''

== Types of Changes
=== Types of Changes

- **Added** for new features
- **Changed** for changes in existing functionality
- **Deprecated** for soon-to-be removed features
- **Removed** for now removed features
- **Fixed** for any bug fixes
- **Security** for vulnerability fixes
* *Added* for new features
* *Changed* for changes in existing functionality
* *Deprecated* for soon-to-be removed features
* *Removed* for now removed features
* *Fixed* for any bug fixes
* *Security* for vulnerability fixes
Loading
Loading