diff --git a/PRODUCTION_DEPLOYMENT_GUIDE.md b/PRODUCTION_DEPLOYMENT_GUIDE.md index dee3ea82..8c8bd824 100644 --- a/PRODUCTION_DEPLOYMENT_GUIDE.md +++ b/PRODUCTION_DEPLOYMENT_GUIDE.md @@ -1150,6 +1150,13 @@ helm upgrade --install mailu mailu/mailu \ # Wait for Mailu to be ready (may take 5-10 minutes) kubectl wait --for=condition=available --timeout=600s deployment/mailu-front -n bakery-ia +# Deploy the Mailu ingress for mail.bakewise.ai +# Note: Use prod/mailu-ingress.yaml for production, dev/mailu-ingress.yaml for development +kubectl apply -f infrastructure/platform/mail/mailu-helm/prod/mailu-ingress.yaml + +# Verify Mailu ingress is created +kubectl get ingress mailu-ingress -n bakery-ia + # Verify Mailu pods are running kubectl get pods -n bakery-ia | grep mailu diff --git a/infrastructure/platform/mail/mailu-helm/prod/values.yaml b/infrastructure/platform/mail/mailu-helm/prod/values.yaml index 085e78f3..ebbdf1ab 100644 --- a/infrastructure/platform/mail/mailu-helm/prod/values.yaml +++ b/infrastructure/platform/mail/mailu-helm/prod/values.yaml @@ -148,15 +148,14 @@ securityContext: fsGroup: 1000 # Network policies for production +# Note: MicroK8s uses 'ingress' namespace, not 'ingress-nginx' networkPolicy: enabled: true ingressController: - namespace: ingress-nginx + namespace: ingress podSelector: | matchLabels: - app.kubernetes.io/name: ingress-nginx - app.kubernetes.io/instance: ingress-nginx - app.kubernetes.io/component: controller + name: nginx-ingress-microk8s monitoring: namespace: monitoring podSelector: | diff --git a/infrastructure/platform/mail/mailu-helm/values.yaml b/infrastructure/platform/mail/mailu-helm/values.yaml index 43062552..66430d4f 100644 --- a/infrastructure/platform/mail/mailu-helm/values.yaml +++ b/infrastructure/platform/mail/mailu-helm/values.yaml @@ -218,15 +218,15 @@ rspamd: memory: 1Gi # Network Policy +# Note: MicroK8s uses 'ingress' namespace with different labels +# For standard nginx-ingress, use namespace: ingress-nginx networkPolicy: enabled: true ingressController: - namespace: ingress-nginx + namespace: ingress podSelector: | matchLabels: - app.kubernetes.io/name: ingress-nginx - app.kubernetes.io/instance: ingress-nginx - app.kubernetes.io/component: controller + name: nginx-ingress-microk8s # DNS Policy Configuration # Use Kubernetes DNS (ClusterFirst) for internal service resolution