Skip to content

Quick Start Guide

Get your production-ready SaaS infrastructure deployed in 15 minutes with this step-by-step guide.

Terminal window
# Clone the repository
git clone <your-repo>
cd deplate/iac
# Verify prerequisites
kubectl version --client
helm version
terraform version

Step 2: Deploy Infrastructure Modules (5 minutes)

Section titled “Step 2: Deploy Infrastructure Modules (5 minutes)”
Terminal window
# Deploy core infrastructure components
cd modules
task deploy-all
# Verify deployment
kubectl get pods --all-namespaces
Terminal window
# Setup configuration
cd ../config-maps
cp backend.yaml.example backend.yaml
cp frontend.yaml.example frontend.yaml
# Quick configuration (replace with your values)
sed -i 's/myproject.com/yourdomain.com/g' *.yaml
sed -i 's/OklrXSFLzL/your-db-password/g' backend.yaml
# Apply configuration
kubectl apply -f .
Terminal window
# Deploy backend and frontend
cd ../apps
# Backend deployment
helm upgrade --install backend ./backend \
--namespace production \
--create-namespace \
--wait --timeout=5m
# Frontend deployment
helm upgrade --install frontend ./frontend \
--namespace production \
--wait --timeout=5m
Terminal window
# Check application status
kubectl get pods -n production
kubectl get ingress -n production
# Test health endpoints
curl -k https://yourdomain.com
curl -k https://app.yourdomain.com/health_check

After completing this quick start, you’ll have:

Complete SaaS Infrastructure

  • Laravel backend with auto-scaling
  • Next.js frontend with SSR
  • Database, cache, and queue systems

Production Features

  • SSL certificates (auto-generated)
  • Load balancing and auto-scaling
  • Health monitoring
  • Backup systems

Ready for Development

  • CI/CD pipeline compatible
  • Multi-environment support
  • Monitoring and logging
  1. Domain Names (Required)

    Terminal window
    # Update all domain references
    find . -name "*.yaml" -exec sed -i 's/myproject.com/yourdomain.com/g' {} \;
  2. Database Password (Required)

    Terminal window
    # Generate secure password
    openssl rand -base64 32
    # Update in backend.yaml
  3. Image Registry (If using private registry)

    Terminal window
    # Update image repositories in values.yaml files
  • Verify all pods are running: kubectl get pods -n production
  • Check ingress status: kubectl get ingress -n production
  • Test application endpoints
  • Verify SSL certificates
  • Update DNS records for your domain
  • Configure backup schedules
  • Set up monitoring alerts
  • Configure email settings
  • Review and update secrets
  • Configure network policies
  • Set up access controls
  • Enable audit logging
Terminal window
# Check node resources
kubectl describe nodes
# Check storage classes
kubectl get storageclass
Terminal window
# Verify ingress controller
kubectl get pods -n kube-system | grep traefik
# Check certificate status
kubectl get certificates -n production
Terminal window
# Check database pod
kubectl logs -f mariadb-0
# Verify configuration
kubectl get configmap backend-config -o yaml

After your quick deployment:

  1. Configure Your Environment - Detailed configuration setup
  2. Set Up Monitoring - Enable comprehensive monitoring
  3. Review Security - Implement security best practices
  4. Plan Backups - Set up backup strategies

This quick start gets you running fast. For production use, review the detailed documentation for each component.