What is Helmless?¶
Helmless is a workflow and collection of resources that allows you to deploy serverless containers to Google Cloud Run, and potentially other platforms (1), with Helm, bypassing the complexity of Kubernetes and Terraform.
- See the extending to other platforms page for more information.
It takes a container specification in the form of a Helm chart and a values file, and uses the templating feature of Helm to generate a Cloud Run configuration. This configuration is then deployed using the Cloud Run CLI.
graph LR
A[values.yaml] --> B[CI/CD Pipeline]
subgraph B[CI/CD Pipeline]
direction LR
B1[Template
Helmless Chart] --> B2[Deploy using
Cloud Provider CLI]
end
B --> D[Serverless
Container]
Helmless gives you a powerful serverless deployment workflow that is:
- 🎯 Simple but powerful - Helm-based workflows without Kubernetes complexity
- ⚡ Fast and efficient - Direct serverless deployments with minimal overhead
- 🔒 Secure by default - Built-in security best practices and workload identity
- 🌐 Cloud agnostic - Works across major cloud providers
- 🤝 Open Source - Community-driven and built to evolve
Getting Started¶
-
What is Helmless?
Learn the core concepts and understand how Helmless simplifies serverless deployments
-
How does it work?
Understand the architecture, technical details behind Helmless, and how to extended it to other platforms.
-
Deploy Your First Service
Get hands-on experience deploying to Google Cloud Run with Helmless
-
Examples
Explore real-world examples and sample configurations
Why Helm?¶
Helm is a great tool for managing containerized applications, and its templating feature offers a great developer experience. It allows you to define your application container specification in a very simple YAML file and gives the platform teams an easy way to add abstraction and customization on top of it, making container-based deployments a breeze.
Why no Kubernetes?¶
Helm, and for this project its templating feature, offers a great developer experience for managing containerized applications. However by default Helm is built for Kubernetes, which brings a lot of overhead and complexity for container-based deployments, where often times you don't need the full power of Kubernetes. And small teams and organizations often don't have the resources to maintain a production-grade Kubernetes cluster.
Helmless aims to give you the developer experience of Helm, without the overhead of Kubernetes.
Why no Terraform?¶
Terraform is a great tool for managing infrastructure as code, but especially for frequent deployments it quickly becomes a bottleneck. Infrastructure changes should be carefully managed and gated, and not be a part of the fast feedback loop that developers expect for deploying their own code as an application container.
This is where Helmless comes in. It decouples the container deployment from the infrastructure deployment, and allows you to use the great developer experience of Helm for application deployments, while leaving the infrastructure management to other tools, like Terraform. By defining the container specification directly inside your application repository and by using the standard CI/CD pipeline, you can frequently deploy your application without waiting for the long approval process of infrastructure changes done in Terraform.
Repositories¶
Helmless is open source and welcomes contributions! The project consists of several focused repositories:
- helmless: The home of helmless.io
- google-cloudrun-chart: Helm chart for Google Cloud Run
- template-action: GitHub Action for templating
- google-cloudrun-deploy-action: Deployment action
- google-cloudrun-tf-module: Supporting infrastructure module
- google-workload-identity-tf-module: Identity and security module