What This Pattern Does:

ms-emails-grpc is a Helm chart that deploys a gRPC microservice for sending emails. It creates a Deployment and a ClusterIP Service (default) exposing a gRPC port (commonly 50051). Configuration is provided via values.yaml: image repo/tag, replicas, resources, environment variables, ports, serviceAccount/RBAC, Pod annotations/labels, optional HPA, PDB, and node scheduling settings. Secrets for SMTP or an email-provider API can be mounted or referenced via envFrom/SecretKeyRef. Health checks can be configured as gRPC or HTTP/TCP probes depending on the container.

Caveats and Consideration:

Provide SMTP or provider credentials via Kubernetes Secrets; don’t place secrets in values.yaml. If exposing gRPC externally, use a load balancer or Ingress with HTTP/2 enabled; for NGINX Ingress set nginx.ingress.kubernetes.io/backend-protocol: "GRPC" (or use Envoy) and ensure the port name is grpc for correct protocol detection. For service meshes (Istio/Linkerd), name the port grpc and configure mTLS/cert Secrets as needed. Ensure egress to your mail/queue provider is allowed (NetworkPolicy may be required). Autoscaling requires metrics-server. Changing Service ports or certain probe fields can trigger resource recreation during upgrades. Tune resource requests/limits for your workload. Kubernetes 1.22+ recommended.

Compatibility:



Recent Discussions with "meshery" Tag