Commit Graph

820 Commits

Author SHA1 Message Date
Wikid82
b9dcc6c347 feat(backend): implement database schema, models, and import workflow
- Add ProxyHost, CaddyConfig, RemoteServer, SSL, AccessList, User, Setting, ImportSession models
- Implement ProxyHostService and RemoteServerService with domain/name uniqueness validation
- Add Caddyfile import handler with conflict detection and user review workflow
- Create ProxyHostHandler and RemoteServerHandler with full CRUD operations
- Wire up Gin/GORM/SQLite dependencies and create missing internal packages
- Add database connection layer, server routing, and version info
- Update routes to register all new handlers and auto-migrate models
- Configure import environment variables and mount points

Addresses Issue #5 (data persistence) and Issue #43 (remote servers)
Backend now compiles cleanly with go build
2025-11-18 11:09:10 -05:00
Wikid82
a04fad2b73 feat: update issue templates and workflows; add python compile check and sourcery integration 2025-11-18 10:57:03 -05:00
Wikid82
4026ce7138 chore: remove committed frontend/node_modules and add to .gitignore 2025-11-17 22:19:48 -05:00
Wikid82
4602cbd100 chore: defer Sourcery auth; continue work 2025-11-17 22:08:59 -05:00
Wikid82
ae9014092b feat: add go test coverage enforcement script and update pre-commit configuration 2025-11-17 19:42:49 -05:00
Wikid82
5dd5036661 feat: single-container deployment & automated semantic versioning; add release workflow, version injection, health endpoint metadata, documentation 2025-11-17 19:29:25 -05:00
Wikid82
b17e7d3d5f feat: implement Caddy integration with Docker-first approach (Issue #4)
- Add Caddy client package (client.go) with Load/GetConfig/Ping methods
- Implement config generator (config.go) transforming ProxyHost → Caddy JSON
- Add pre-flight validator (validator.go) catching config errors before reload
- Create manager (manager.go) with rollback capability using config snapshots
- Add CaddyConfig model for audit trail of configuration changes
- Update Config to include Caddy admin API and config dir settings
- Create comprehensive unit tests with 100% coverage for caddy package

Docker Infrastructure:
- Add docker-compose.yml with Caddy sidecar container
- Add docker-compose.dev.yml for development overrides
- Create .github/workflows/docker-publish.yml for GHCR publishing
- Update CI to build Docker images and run integration tests
- Add DOCKER.md with comprehensive deployment guide
- Update Makefile with docker-compose commands
- Update README with Docker-first deployment instructions

Configuration:
- Add CPM_CADDY_ADMIN_API and CPM_CADDY_CONFIG_DIR env vars
- Update .env.example with new Caddy settings
- Update AutoMigrate to include CaddyConfig model

All acceptance criteria met:
 Can programmatically generate valid Caddy JSON configs
 Can reload Caddy configuration via admin API
 Invalid configs caught by validator before reload
 Automatic rollback on failure via snapshot system
2025-11-17 19:03:59 -05:00
Jeremy
72b4c69cd1 Merge pull request #52 from Wikid82/Project-Architecture-&-Tech-Stack-Selection
Project: Update CI, Dockerfile, Makefile, pre-commit hooks, and docs
2025-11-17 18:35:52 -05:00
Jeremy
01ef53256a Update frontend/src/pages/ProxyHosts.tsx
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-11-17 18:34:52 -05:00
Wikid82
65944e3455 ci: fix go module cache key to use backend/go.sum 2025-11-17 18:33:00 -05:00
Wikid82
89e1850d73 fix: update auto-add-to-project workflow to use secret for project URL and add skip condition 2025-11-17 18:28:53 -05:00
Wikid82
6b0dfa7085 ci: add Go/Node CI, Docker multi-stage, Makefile, and pre-commit hooks; update README 2025-11-17 18:16:03 -05:00
Wikid82
4f3b7d8f99 feat: Initial project setup with CI/CD, Docker, and issue creation script
- Added Codecov configuration to enforce 75% coverage.
- Created .dockerignore to exclude unnecessary files from Docker context.
- Implemented GitHub Actions CI workflow for linting, testing, and coverage reporting.
- Added a workflow to propagate changes between main and development branches.
- Configured pre-commit hooks for code quality checks.
- Developed a multi-stage Dockerfile for a Python web backend.
- Added MIT License to the project.
- Created README.md with project overview and setup instructions.
- Implemented a script to create GitHub issues from project planning.
- Defined development and runtime requirements in requirements.txt and requirements.dev.txt.
2025-11-17 15:52:40 -05:00
Wikid82
5b946ac880 Add initial workspace configuration file 2025-11-17 15:02:35 -05:00
Wikid82
09fa6d0ad1 Add GitHub Project Board Setup & Automation Guide 2025-11-17 15:02:28 -05:00
Wikid82
d638adf6bb Add project planning document outlining vision, milestones, and issue structure 2025-11-17 15:02:22 -05:00
Wikid82
d82defc555 Add GitHub workflows for auto-adding issues/PRs, auto-labeling, and creating project labels 2025-11-17 15:01:53 -05:00
Wikid82
dc19113e68 Add new issue templates for Alpha, Beta Monitoring, and Beta Security features; remove custom template 2025-11-17 15:01:43 -05:00
Jeremy
d7e92d41e2 Update GitHub Sponsors username in FUNDING.yml 2025-11-17 12:54:29 -05:00
Jeremy
160166ce95 Update issue templates 2025-11-17 12:53:16 -05:00