Skip to main content

Distribution and Lifecycle Management for Cloud-Native Applications

Timoni brings CUE’s type safety, code generation, and data validation features to Kubernetes, making the experience of crafting complex deployments into a pleasant journey.

Timoni

Next Gen Package Manager for Kubernetes

Timoni uses CUE for defining apps and OCI artifacts for distributing them. Bundles compose apps into deployable units, and the CLI manages their lifecycle on Kubernetes clusters.

App definition

Software vendors define complex application deployments packaged as modules, using type-safe Kubernetes templates and rich customisation options for end-users.

App distribution

The app configuration contained in a module is distributed as an OCI artifact, next to the app container images. Modules are semantically versioned and cryptographically signed.

App lifecycle

With bundles, users manage the whole lifecycle of applications deployed on Kubernetes: customised installation, seamless upgrades, end-to-end testing, safe rollback and uninstallation.

App composition

Bundle microservices and distributed monoliths into a deployable unit. The Bundle Runtime API offers a declarative way of managing the app delivery across environments.

Kubernetes CRD support

Manage the lifecycle of Kubernetes controllers, including the upgrade of CRDs. Module authors can import CRD schemas from YAML files and use custom resources in their modules.

Drift detection and correction

Review the cluster state diff before an upgrade. When correcting drift, Timoni waits for the changes to roll out and reports back the application health status.

Define once, deploy everywhere

Describe the apps you want to run in a bundle and the clusters you want to run them on in a runtime. A single command then deploys the bundle to every selected cluster and waits for the workloads to become ready.

  • Target all clusters, a group, or a single cluster.
  • Vary the configuration by cluster name and group.
  • Inject values from Secrets, ConfigMaps or CI env vars.
A bundle and a runtime applied by timoni to a staging cluster and two production clustersA bundle and a runtime applied by timoni to a staging cluster and two production clusters

Where to go next

Coming from Helm?

A module is the equivalent of a chart, a bundle of an umbrella chart, and an instance of a release. See how Timoni compares to Helm and Kustomize.

New to CUE?

Learn why Timoni is built on CUE and walk through the language features used to generate and validate Kubernetes objects.

GitOps with Flux

Combine Timoni with Flux to build a GitOps delivery pipeline for module instances and to orchestrate Helm charts.

Ready to try Timoni?

Install the CLI, deploy your first module and compose a bundle in a few minutes.