stefanprodan/timoni
Timoni, available at timoni.sh, is a next-generation Kubernetes package manager powered by CUE and inspired by Helm. The project aims to enhance the user experience of authoring Kubernetes configurations by relying on CUE’s type safety, code generation, and data validation features. Timoni is under active development and offers a better alternative to mingling Go templates with YAML (like Helm) or layering YAML on top of each other (like Kustomize).
To get started with Timoni, visit the documentation website at timoni.sh. Key concepts include modules (app definitions containing Kubernetes CUE templates and configuration schema, distributed as OCI artifacts), instances (app instantiation referencing the module and workloads deployed on a Kubernetes cluster), bundles (app composition bundling multiple modules and configurations into a deployable unit), and OCI artifacts (packaging format used for distributing modules and bundles to container registries).
Timoni enables software vendors to define complex application deployments as modules, using type-safe Kubernetes templates and rich customization options for end-users. These app configurations are distributed as OCI artifacts, along with the app images, in a container registry. Timoni Modules are semantically versioned and cryptographically signed for secure distribution. Platform engineers can manage the lifecycle of Kubernetes controllers, including the upgrade of CRDs, by importing CRD schemas from YAML files and incorporating Kubernetes custom resources in their app deployments.
With Timoni, users can manage the whole lifecycle of applications deployed on Kubernetes, from customized installation to seamless upgrades, end-to-end testing, safe rollback, and uninstallation. Users can bundle microservices and distributed monoliths into a deployable unit using the Timoni Bundle, which offers a declarative way of managing app delivery across clusters, where secrets and other environment-specific config values are dynamically loaded during installation or upgrades.
Timoni is Apache 2.0 licensed and accepts contributions via GitHub pull requests. For more information, please see the contributing guide.
Project Information
- Repository: stefanprodan/timoni
- Owner: stefanprodan
- Language: Go
- Created at: 2023-02-11
- Last Updated: 2024-04-21
- Homepage: timoni.sh
Engagement Metrics
- Stars: 1327
- Forks: 59
- Open Issues: 40
- Watchers: 1327
- Subscribers: 19
Contribution Opportunities
- Issues are available for contributions.
- Project boards are not active.
- Wiki is not available.
License
Apache License 2.0
Topics
Recent Contributors
stefanprodan
636 Contributions
dependabot[bot]
47 Contributions
b4nst
23 Contributions
squaremo
9 Contributions
Nalum
9 Contributions
hiddeco
8 Contributions
applejag
8 Contributions
gustavclausen
3 Contributions
errordeveloper
3 Contributions
trevex
2 Contributions
algobot76
2 Contributions
GeorgeMac
2 Contributions
mocdaniel
2 Contributions
loktev-d
1 Contributions
FrenchBen
1 Contributions
jmgilman
1 Contributions
siiimooon
1 Contributions
uhthomas
1 Contributions
webwurst
1 Contributions
fcbry
1 Contributions
sdboyer
1 Contributions
yyvess
1 Contributions