<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/grpc-in-helm-wrpviffz2" -->

---
title: gRPC in Helm | daily.dev
description: A Helm core contributor describes how the Helm team chose gRPC and protocol buffers as the communication protocol between the Helm client and its in-cluster...
canonical: https://daily.dev/posts/grpc-in-helm-wrpviffz2
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: gRPC in Helm | daily.dev
og:description: A Helm core contributor describes how the Helm team chose gRPC and protocol buffers as the communication protocol between the Helm client and its in-cluster...
og:url: https://daily.dev/posts/grpc-in-helm-wrpviffz2
og:image: https://api.daily.dev/og/posts/wRpVIFfZ2.png
og:image:alt: gRPC in Helm
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# gRPC in Helm

**[gRPC Blog](https://daily.dev/sources/grpc-blog)** · 3 min read · 0 upvotes · 0 comments

## Summary

A Helm core contributor describes how the Helm team chose gRPC and protocol buffers as the communication protocol between the Helm client and its in-cluster Tiller server, and as the data model for Kubernetes 'Charts'. The author credits this choice with reducing API bikeshedding, speeding feature development through generated code, and improving transmission efficiency via protobuf's compression, compared to alternatives like Swagger. Links to the Helm proto definitions, generated code, and client interface are provided for deeper exploration.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://grpc.io/blog/helm-grpc>

## Questions this post answers

### Why did the Helm project choose gRPC and protocol buffers instead of a REST/Swagger API for Helm and Tiller?

Helm's core team chose gRPC and protocol buffers because they reduced time spent bikeshedding API design and writing boilerplate server code, letting the team focus on features instead. Protobuf-generated code was also considered more self-documenting than Swagger-based alternatives, and protobuf's compression helped efficiently transmit large Kubernetes manifests between the Helm client and the Tiller server.

_Teams weighing gRPC against REST for internal service communication can find real-world comparisons like this on daily.dev._

### How does Helm use protocol buffers beyond the Helm-Tiller communication protocol?

Helm also models Kubernetes 'Charts' using protocol buffers, encapsulating the Kubernetes manifests needed to define, install, and upgrade applications. Since complex applications can involve large sets of manifests, protobuf's compression capabilities help reduce the overhead of transmitting these bulky manifest bundles between client and server.

_Developers modeling complex deployment data can track protobuf use cases like Helm's Chart format on daily.dev._

## Similar posts on daily.dev

- [gRPC deep dive: from service definition to wire format](https://daily.dev/posts/grpc-deep-dive-from-service-definition-to-wire-format-mykdq3gjn) · Hacker News · 0 upvotes · 0 comments
- [From RPC to gRPC: Understanding Remote Procedure Calls, Protocol Buffers, and Modern Distributed Systems Communication](https://daily.dev/posts/from-rpc-to-grpc-understanding-remote-procedure-calls-protocol-buffers-and-modern-distributed-sys-hdfydjpc0) · freeCodeCamp · 1 upvotes · 0 comments
- [A Beginner's Guide to Helm](https://daily.dev/posts/a-beginner-s-guide-to-helm-icywdr0n2) · MetalBear · 14 upvotes · 2 comments
- [Protocol Buffers Over HTTP: You Don’t Need gRPC to Use Protobuf](https://daily.dev/posts/protocol-buffers-over-http-you-don-t-need-grpc-to-use-protobuf-fttmpowcn) · Medium · 28 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes), [#backend](https://daily.dev/tags/backend), [#microservices](https://daily.dev/tags/microservices), [#grpc](https://daily.dev/tags/grpc), [#helm](https://daily.dev/tags/helm)

[View this post on daily.dev](https://daily.dev/posts/grpc-in-helm-wrpviffz2)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"gRPC in Helm","url":"https://daily.dev/posts/grpc-in-helm-wrpviffz2","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/grpc-in-helm-wrpviffz2"},"datePublished":"2026-08-23T07:20:23.966Z","dateModified":"2026-08-23T07:21:36.119Z","description":"A Helm core contributor describes how the Helm team chose gRPC and protocol buffers as the communication protocol between the Helm client and its in-cluster...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/10aae04dfd3ba4523d83e4087201877a?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/10aae04dfd3ba4523d83e4087201877a?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"gRPC Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"gRPC Blog","logo":"https://media.daily.dev/image/upload/s--asedGCAx--/f_auto,q_auto/v1787469607/logos/grpc-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/grpc-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/grpc-in-helm-wrpviffz2","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"kubernetes,backend,microservices,grpc,helm","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"gRPC Blog","item":"https://daily.dev/sources/grpc-blog"},{"@type":"ListItem","position":3,"name":"gRPC in Helm"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/grpc-in-helm-wrpviffz2#faq","mainEntity":[{"@type":"Question","name":"Why did the Helm project choose gRPC and protocol buffers instead of a REST/Swagger API for Helm and Tiller?","acceptedAnswer":{"@type":"Answer","text":"Helm's core team chose gRPC and protocol buffers because they reduced time spent bikeshedding API design and writing boilerplate server code, letting the team focus on features instead. Protobuf-generated code was also considered more self-documenting than Swagger-based alternatives, and protobuf's compression helped efficiently transmit large Kubernetes manifests between the Helm client and the Tiller server. Teams weighing gRPC against REST for internal service communication can find real-world comparisons like this on daily.dev."}},{"@type":"Question","name":"How does Helm use protocol buffers beyond the Helm-Tiller communication protocol?","acceptedAnswer":{"@type":"Answer","text":"Helm also models Kubernetes 'Charts' using protocol buffers, encapsulating the Kubernetes manifests needed to define, install, and upgrade applications. Since complex applications can involve large sets of manifests, protobuf's compression capabilities help reduce the overhead of transmitting these bulky manifest bundles between client and server. Developers modeling complex deployment data can track protobuf use cases like Helm's Chart format on daily.dev."}}]}
```

