Timoni, a new and easy alternative to Helm, or how to manage complex applications in Kubernetes

Timoni, a new and easy alternative to Helm, or how to manage complex applications in Kubernetes

Timoni is a package manager for Kubernetes, based on the CUE language and inspired by Helm .

Concepts equivalent to Helm

If you're familiar with Helm, a Timoni module is the equivalent of a helm chart , a bundle is the equivalent of an umbrella chart ,
and an instance is the equivalent of a Helm release .

The Timoni project focuses on improving the UX of creating Kubernetes configurations. Instead of mixing Go templates with YAML like Helm, or layering YAML on top of each other like Kustomize,
Timoni relies on cuelang's security, code generation, and data validation features to deliver a better experience building, packaging, and delivering applications to Kubernetes.

Warning

Please note that Timoni is in active development and is still in its infancy.

APIs and CLI can change their specs

Begin

To start with Timoni, you know... READ THE DOCS! timoni.sh .

Characteristics

Application packaging and distribution

Timoni enables software vendors to define complex application implementations,
packaged as Modules , using type safe
Kubernetes templates and rich customization options for end users.

The configuration of the application packaged in a module is
distributed as a
Open Container Initiative (OCI) artifact, along with application images,
in a container registry. Timoni modules are semantically versioned
and cryptographically signed .

With Timoni, platform engineers can manage the Kubernetes lifecycle
drivers, including updating CRDs. Module authors can
import CRD schemas
from YAML files and incorporate custom Kubernetes resources
in the implementations of their applications.

Application lifecycle management

With Timoni, users can manage the entire lifecycle of applications deployed on Kubernetes.
From highly customized installation to seamless upgrades,
end-to-end testing, safe rollback and uninstall.

With Timoni, users can bundle microservices and distributed monoliths into a deployable unit.
Timoni Bundle offers a declarative way to manage
delivering applications across clusters, where secrets and other environment-specific settings
The values are loaded dynamically during installation or updates.

License

Timoni is [licensed to Apache 2.0] (LICENSE) and accepts contributions via GitHub pull requests.
See the [contribution guide] (CONTRIBUTING.md) for more information.

Keep reading on SREDevOps.org: