@@ -323,6 +323,61 @@ initialize_foundationdb() {
323323 return 0
324324}
325325
326+ deploy_mailpit () {
327+ log_info " Deploying Mailpit (email catcher for testing)..."
328+
329+ kubectl apply -f - << EOF
330+ apiVersion: apps/v1
331+ kind: Deployment
332+ metadata:
333+ name: mailpit
334+ namespace: ${NAMESPACE}
335+ spec:
336+ replicas: 1
337+ selector:
338+ matchLabels:
339+ app: mailpit
340+ template:
341+ metadata:
342+ labels:
343+ app: mailpit
344+ spec:
345+ containers:
346+ - name: mailpit
347+ image: axllent/mailpit:latest
348+ ports:
349+ - containerPort: 1025
350+ name: smtp
351+ - containerPort: 8025
352+ name: http
353+ ---
354+ apiVersion: v1
355+ kind: Service
356+ metadata:
357+ name: mailpit
358+ namespace: ${NAMESPACE}
359+ spec:
360+ selector:
361+ app: mailpit
362+ ports:
363+ - name: smtp
364+ port: 1025
365+ targetPort: 1025
366+ - name: http
367+ port: 8025
368+ targetPort: 8025
369+ nodePort: 30025
370+ type: NodePort
371+ EOF
372+
373+ log_info " Waiting for Mailpit to be ready..."
374+ kubectl wait --for=condition=available deployment/mailpit -n " ${NAMESPACE} " --timeout=60s
375+
376+ log_info " Mailpit deployed ✓"
377+ log_info " - SMTP: mailpit:1025 (internal)"
378+ log_info " - Web UI: http://localhost:30025"
379+ }
380+
326381deploy_control () {
327382 log_info " Deploying Control..."
328383
@@ -386,6 +441,17 @@ spec:
386441 # Audience for engine-to-control JWT auth (must match engine's MESH__URL)
387442 - name: CONTROL_API_AUDIENCE
388443 value: "http://inferadb-control:9092"
444+ # Email configuration (using Mailpit for testing)
445+ - name: INFERADB__CONTROL__EMAIL__HOST
446+ value: "mailpit"
447+ - name: INFERADB__CONTROL__EMAIL__PORT
448+ value: "1025"
449+ - name: INFERADB__CONTROL__EMAIL__ADDRESS
450+ value: "test@inferadb.local"
451+ - name: INFERADB__CONTROL__EMAIL__NAME
452+ value: "InferaDB Test"
453+ - name: INFERADB__CONTROL__EMAIL__INSECURE
454+ value: "true"
389455 volumeMounts:
390456 - name: fdb-cluster-file
391457 mountPath: /var/fdb
@@ -598,6 +664,7 @@ show_status() {
598664 log_info " Access URLs:"
599665 echo " Engine: http://localhost:8080"
600666 echo " Control: http://localhost:9090"
667+ echo " Mailpit: http://localhost:30025 (email web UI)"
601668 echo " "
602669
603670 log_info " Useful Commands:"
@@ -631,6 +698,7 @@ main() {
631698 deploy_rbac
632699 deploy_foundationdb
633700 initialize_foundationdb
701+ deploy_mailpit
634702 deploy_control
635703 deploy_engine
636704
0 commit comments