6 Commits
Author SHA1 Message Date
Charles N Wyble 3d239d2cb4 docs: update AGENTS.md for mono-repo and Debian 13 environment
Update agent instructions to reflect new mono-repo structure,
Debian 13 host, and KVM/QEMU testing capabilities.

Changes:
- Update to Debian 13 host with KVM/QEMU virtualization
- Add Terraform + libvirt for local VM testing
- Update production deployment to use OVH provider
- Document mono-repo directory structure
- Add Grav CMS integration
- Add Ansible for post-VM configuration
- Document provider abstraction (local libvirt → production OVH)
- Update container naming convention (YDN-Dev-*)
- Document all services (API, Worker, Middleware, Dolibarr, Grav)
- Add comprehensive infrastructure workflow documentation

This ensures AI agents have complete understanding of the
updated mono-repo architecture and development workflow.

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-01-13 20:42:30 -05:00
Charles N Wyble 75cff49e85 feat: add infrastructure as code with Terraform and Ansible
Implement provider-agnostic infrastructure for local testing
and production deployment.

Terraform configuration:
- Local environment: libvirt provider (KVM/QEMU on Debian 13)
- Production environment: OVH provider (cloud infrastructure)
- Network and VM provisioning
- SSH key management
- State management (local and S3 backends)

Ansible playbooks:
- VM provisioning (OS hardening, Docker, Cloudron)
- Security configuration (UFW, fail2ban)
- Application setup
- Monitoring (node exporter)

Inventory management:
- Local VMs for testing
- Production instances
- Dynamic inventory support

Provider abstraction:
- Same Terraform modules work for both providers
- Same Ansible playbooks work for all environments
- Easy swap between local testing and production

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-01-13 20:42:17 -05:00
Charles N Wyble 2799686c05 feat: add Docker containerization setup
Add Docker configuration for all services in mono-repo.

Services containerized:
- API service: Main HTTP server (port 8080)
- Worker service: Background jobs (port 8081)
- Middleware service: VPS provisioning (port 8082)
- Dolibarr: ERP/CRM system with MySQL (port 8082)
- Grav CMS: Website content (port 8083)
- PostgreSQL: Application database (port 5432)
- Redis: Queue and cache (port 6379)
- MySQL: Dolibarr database (port 3306)

Features:
- Multi-stage builds for Go services
- Health checks for all containers
- Named volume persistence
- Dependency management between services
- Environment variable configuration

Container naming: YDN-Dev-* for development

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-01-13 20:42:01 -05:00
Charles N Wyble 7294d2661f chore: add Makefile for build automation
Add comprehensive Makefile with 20+ commands for development,
testing, deployment, and infrastructure management.

Key commands:
- make dev: Start development stack
- make test: Run all tests
- make terraform-local/ansible-local: Local VM testing
- make deploy: Production deployment
- make fmt/lint/clean: Code quality

Provides unified interface for all development operations.

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-01-13 20:41:50 -05:00
Charles N Wyble 770d2588ed docs: add comprehensive project documentation
Add project README, architecture documentation, and detailed
setup guides for YDN mono-repo.

- README.md: Project overview and quick start guide
- ARCHITECTURE.md: Complete system architecture documentation
- docs/architecture/mono-repo-setup.md: Setup confirmation and status

Provides detailed information on:
- Mono-repo structure and component responsibilities
- Development workflow and commands
- Infrastructure setup (local KVM/QEMU and production OVH)
- Technology stack and compliance requirements

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-01-13 20:41:27 -05:00
Charles N Wyble 967abcaa9f feat: add root configuration files for mono-repo setup
Add environment template, git ignore rules, and Go workspace
configuration to support mono-repo development workflow.

- .env.example: Environment variables template for all services
- .gitignore: Git ignore rules for Go, Docker, Terraform, Ansible
- go.work: Go workspace file for multi-module support

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-01-13 20:41:21 -05:00