Blueberry IDP Setup Guide

This directory contains comprehensive setup documentation organized by deployment phases. Follow the guides in order for a complete Blueberry IDP deployment.

📋 Setup Phases Overview

Phase 1: Prerequisites & Secrets

  • Duration: 30-45 minutes
  • Purpose: Gather all required credentials and tokens
  • Dependencies: None
  • Files:
  • gitlab-oauth-setup.md - GitLab OAuth application creation
  • slack-webhook-setup.md - Slack integration configuration
  • cloudflare-api-setup.md - Cloudflare API token creation
  • gitlab-pat-setup.md - GitLab Personal Access Token
  • secrets-checklist.md - Complete credential checklist

Phase 2: Infrastructure Setup

  • Duration: 45-60 minutes
  • Purpose: Deploy core GCP infrastructure via Terraform
  • Dependencies: Phase 1 complete
  • Files:
  • terraform-setup.md - Terraform initialization and configuration
  • infrastructure-deployment.md - Core infrastructure deployment
  • post-deployment-validation.md - Verify infrastructure is healthy
  • troubleshooting.md - Common infrastructure issues

Phase 3: DNS Configuration

  • Duration: 15-30 minutes
  • Purpose: Configure DNS records for public access
  • Dependencies: Phase 2 complete, static IPs available
  • Files:
  • cloudflare-dns-setup.md - Manual DNS record creation
  • dns-validation.md - Verify DNS propagation
  • ssl-certificate-setup.md - GKE Managed Certificate setup

Phase 4: Kubernetes & ArgoCD

  • Duration: 30-45 minutes
  • Purpose: Configure Kubernetes access and ArgoCD
  • Dependencies: Phase 3 complete, DNS working
  • Files:
  • kubectl-setup.md - Kubernetes cluster access
  • argocd-configuration.md - ArgoCD setup and authentication
  • argocd-image-updater.md - Image updater configuration
  • gitops-bootstrap.md - Bootstrap ArgoCD applications

Phase 5: CI/CD Integration

  • Duration: 30-45 minutes
  • Purpose: Configure GitLab CI/CD and webhooks
  • Dependencies: Phase 4 complete, ArgoCD accessible
  • Files:
  • gitlab-cicd-variables.md - GitLab project configuration
  • webhook-setup.md - GitLab webhook configuration
  • workload-identity.md - Workload Identity Federation setup
  • pipeline-testing.md - Test CI/CD pipeline

Phase 6: Application Deployment

  • Duration: 15-30 minutes
  • Purpose: Deploy and verify the Blueberry application
  • Dependencies: Phase 5 complete, CI/CD working
  • Files:
  • first-deployment.md - Initial application deployment
  • application-verification.md - Verify application functionality
  • firebase-auth-setup.md - Configure Firebase authentication
  • notification-testing.md - Test Slack notifications

Phase 7: Operations & Monitoring

  • Duration: 30-60 minutes
  • Purpose: Set up monitoring, alerts, and operational procedures
  • Dependencies: Phase 6 complete, application running
  • Files:
  • monitoring-setup.md - GCP monitoring and logging
  • alerting-configuration.md - Set up alerts and notifications
  • backup-procedures.md - Backup and disaster recovery
  • maintenance-procedures.md - Ongoing maintenance tasks
  • cost-optimization.md - Cost monitoring and optimization

🚀 Quick Start

For experienced users, follow this abbreviated path:

  1. Gather Prerequisites: Complete Phase 1 checklist
  2. Deploy Infrastructure: Run make apply in blueberry-terraform/
  3. Configure DNS: Add A records in Cloudflare
  4. Bootstrap ArgoCD: Run setup scripts
  5. Test CI/CD: Push to GitLab and verify deployment

🔍 Common Issues

  • DNS Propagation: Can take 5-15 minutes globally
  • Certificate Provisioning: GKE certificates take 10-15 minutes
  • ArgoCD Sync: First sync may take 5-10 minutes
  • Image Pull: Initial image builds take 3-5 minutes

📚 Additional Resources

🆘 Getting Help

  1. Check the troubleshooting guide in each phase
  2. Review logs: kubectl logs -n blueberry deployment/blueberry
  3. Check ArgoCD UI: https://argocd.florenciacomuzzi.com
  4. Review GitLab CI/CD pipeline logs

Next Step: Start with Phase 1: Prerequisites & Secrets

Document ID: setup/README