This commit enables HTTPS in the development environment using self-signed certificates to further improve dev-prod parity and catch SSL-related issues early. Changes made: 1. Created self-signed certificate for localhost - File: infrastructure/kubernetes/overlays/dev/dev-certificate.yaml - Type: Self-signed via cert-manager - Validity: 90 days (auto-renewed) - Valid for: localhost, bakery-ia.local, *.bakery-ia.local, 127.0.0.1 - Issuer: selfsigned-issuer ClusterIssuer 2. Updated dev ingress to enable HTTPS - File: infrastructure/kubernetes/overlays/dev/dev-ingress.yaml - Enabled SSL redirect: ssl-redirect: false → true - Added TLS configuration with certificate - Updated CORS origins to prefer HTTPS (HTTPS URLs first, HTTP fallback) - Access: https://localhost (instead of http://localhost) 3. Added cert-manager resources to dev overlay - File: infrastructure/kubernetes/overlays/dev/kustomization.yaml - Added dev-certificate.yaml - Added selfsigned-issuer ClusterIssuer 4. Created comprehensive HTTPS setup guide - File: docs/DEV-HTTPS-SETUP.md - Includes certificate trust instructions for macOS, Linux, Windows - Testing procedures with curl and browsers - Troubleshooting guide - FAQ section 5. Updated dev-prod parity documentation - File: docs/DEV-PROD-PARITY-CHANGES.md - Added HTTPS as 4th improvement - Updated "What Stays Different" table (SSL/TLS → Certificates) - Added HTTPS benefits section Benefits: ✓ Matches production HTTPS-only behavior ✓ Tests SSL/TLS configurations in development ✓ Catches mixed content warnings early ✓ Tests secure cookie handling (Secure, SameSite attributes) ✓ Validates cert-manager integration ✓ Tests certificate auto-renewal ✓ Better security testing capabilities Impact: - Browser will show certificate warning (self-signed) - Users can trust certificate or click "Proceed" - No additional resource usage - Access via https://localhost (was http://localhost) Certificate details: - Type: Self-signed - Algorithm: RSA 2048-bit - Validity: 90 days - Auto-renewal: 15 days before expiration - Common Name: localhost - DNS Names: localhost, bakery-ia.local, *.bakery-ia.local - IP Addresses: 127.0.0.1, ::1 Setup required: - Optional: Trust certificate in system/browser (see DEV-HTTPS-SETUP.md) - Required: cert-manager must be installed in cluster - Access at: https://localhost What stays different from production: - Certificate type: Self-signed (dev) vs Let's Encrypt (prod) - Trust: Manual (dev) vs Automatic (prod) - Domain: localhost (dev) vs real domain (prod) This completes the dev-prod parity improvements, bringing development environment much closer to production with: 1. 2 replicas for critical services ✓ 2. Rate limiting enabled ✓ 3. Specific CORS origins ✓ 4. HTTPS enabled ✓ See docs/DEV-HTTPS-SETUP.md for complete setup and testing instructions.
Bakery IA - Documentation Index
Welcome to the Bakery IA documentation! This guide will help you navigate through all aspects of the project, from getting started to advanced operations.
Quick Links
- New to the project? Start with Getting Started
- Need to understand the system? See Architecture Overview
- Looking for APIs? Check API Reference
- Deploying to production? Read Deployment Guide
- Having issues? Visit Troubleshooting
Documentation Structure
📚 01. Getting Started
Start here if you're new to the project.
- Quick Start Guide - Get up and running quickly
- Installation - Detailed installation instructions
- Development Setup - Configure your dev environment
🏗️ 02. Architecture
Understand the system design and components.
- System Overview - High-level architecture
- Microservices - Service architecture details
- Data Flow - How data moves through the system
- AI/ML Components - Machine learning architecture
⚡ 03. Features
Detailed documentation for each major feature.
AI & Analytics
- AI Insights Platform - ML-powered insights
- Dynamic Rules Engine - Pattern detection and rules
Tenant Management
- Deletion System - Complete tenant deletion
- Multi-Tenancy - Tenant isolation and management
- Roles & Permissions - RBAC system
Other Features
- Orchestration System - Workflow orchestration
- Sustainability Features - Environmental tracking
- Hyperlocal Calendar - Event management
💻 04. Development
Tools and workflows for developers.
- Development Workflow - Daily development practices
- Tilt vs Skaffold - Development tool comparison
- Testing Guide - Testing strategies and best practices
- Debugging - Troubleshooting during development
🚀 05. Deployment
Deploy and configure the system.
- Kubernetes Setup - K8s deployment guide
- Security Configuration - Security setup
- Database Setup - Database configuration
- Monitoring - Observability setup
🔒 06. Security
Security implementation and best practices.
- Security Overview - Security architecture
- Database Security - DB security configuration
- RBAC Implementation - Role-based access control
- TLS Configuration - Transport security
- Security Checklist - Pre-deployment checklist
⚖️ 07. Compliance
Data privacy and regulatory compliance.
- GDPR Implementation - GDPR compliance
- Data Privacy - Privacy controls
- Audit Logging - Audit trail system
📖 08. API Reference
API documentation and integration guides.
- API Overview - API introduction
- AI Insights API - AI endpoints
- Authentication - Auth mechanisms
- Tenant API - Tenant management endpoints
🔧 09. Operations
Production operations and maintenance.
- Operations Guide - Ops overview
- Monitoring & Observability - System monitoring
- Backup & Recovery - Data backup procedures
- Troubleshooting - Common issues and solutions
- Runbooks - Step-by-step operational procedures
📋 10. Reference
Additional reference materials.
- Changelog - Project history and milestones
- Service Tokens - Token configuration
- Glossary - Terms and definitions
- Smart Procurement - Procurement feature details
Additional Resources
- Main README: Project README - Project overview and quick start
- Archived Docs: Archive - Historical documentation and progress reports
Contributing to Documentation
When updating documentation:
- Keep content focused and concise
- Use clear headings and structure
- Include code examples where relevant
- Update this index when adding new documents
- Cross-link related documents
Documentation Standards
- Use Markdown format
- Include a clear title and introduction
- Add a table of contents for long documents
- Use code blocks with language tags
- Keep line length reasonable for readability
- Update the last modified date at the bottom
Last Updated: 2025-11-04