Skip to content

Releases: stefanprodan/timoni

v0.21.0

24 Apr 09:44
v0.21.0
28426b0
Compare
Choose a tag to compare

Timoni's CUE engine has been updated from v0.7.1 to v0.8.1.
To support the development of Timoni going forward please consider becoming a sponsor on GitHub.

What's Changed

Full Changelog: v0.20.0...v0.21.0

v0.20.0

05 Mar 12:23
v0.20.0
7f033d9
Compare
Choose a tag to compare

This release was made possible by the generous support of RawkodeAcademy 💟.
To support the development of Timoni going forward please consider becoming a sponsor on GitHub.

New Features

  • Referencing local modules in bundles - Timoni now supports referencing local modules in bundle files, allowing users to define a bundle that includes modules from the same repository using relative paths.
  • #ImagePullSecret - The #ImagePullSecret definition is now available in the Timoni's CUE schemas that can be used by module authors to generate Kubernetes Secrets of type kubernetes.io/dockerconfigjson.
  • Scoop and Proto installers - The Timoni CLI is now available as a Scoop package for Windows and as a Proto plugin for Linux, macOS and Windows.

New Documentation

  • Flux OCI sync - A guide on how to configure Flux to deploy workloads from OCI artifacts hosted on container registries.
  • Flux AIO upgrade - A guide on how to upgrade Flux AIO on Kubernetes clusters.

What's Changed

New Contributors

Full Changelog: v0.19.0...v0.20.0

v0.19.0

21 Jan 10:35
v0.19.0
3844e03
Compare
Choose a tag to compare

Timoni v0.19.0 comes with a new documentation section dedicated to learning CUE lang and authoring Timoni modules.

New Documentation

New Commands

  • timoni mod init --blueprint - The init command now supports the --blueprint flag that allows initializing a module from a custom blueprint.

What's Changed

New Contributors

Full Changelog: v0.18.0...v0.19.0

v0.18.0

21 Dec 21:16
v0.18.0
054ea69
Compare
Choose a tag to compare

Timoni's CUE engine has been updated to v0.7.0.

New Features

  • Timoni CUE Schemas - New Timoni CUE schemas are available under the timoni.sh/core/v1alpha1 package that can be imported and used by module authors to generate Kubernetes metadata for components, image pull secrets, resource requirements and semantic version constraints.

New Commands

  • timoni artifact tag - Allow adding extra tags to OCI artifacts after publishing. This command can be used to move the latest tag for modules, in case the latest version needs to be retracted.
  • timoni mod vet - The vet command gains two new optional flags, --name and --values, that allow vetting a module with a custom name and values.
  • timoni --registry-insecure - All commands that perform pull and push operations gain a new optional flag, --registry-insecure, that allows connecting to container registry servers over plain HTTP or with self-signed certs.

What's Changed

New Contributors

Full Changelog: v0.17.0...v0.18.0

v0.17.0

28 Nov 19:35
v0.17.0
3798930
Compare
Choose a tag to compare

New Features

  • Multi-cluster deployments - Starting with this version, Timoni offers a declarative way of managing the delivery of applications across environments.
  • Flux AIO Distribution - Flux All-In-One is a lightweight Flux CD distribution made with Timoni for running the GitOps Toolkit controllers as a single deployable unit.
  • Helm interoperability - With Flux AIO, Timoni users can take full advantage of existing Helm charts by leveraging Flux's helm-controller and the Timoni flux-helm-release module.

What's Changed

New Contributors

Full Changelog: v0.16.0...v0.17.0

v0.16.0

12 Nov 23:16
v0.16.0
98b0744
Compare
Choose a tag to compare

New Features

  • Module caching - Timoni maintains a local cache of modules pulled from remote container registries to reduce network traffic and to speed up the bundle apply operations.

New Commands

  • timoni bundle vet - The vet command validates that a bundle and its runtime definition conforms with Timoni's schema. If the validation passes, Timoni will list all the instances found in the computed bundle. With --print-value, Timoni will write the Bundle computed value to stdout which is particular useful when debugging runtime attributes.

What's Changed

Full Changelog: v0.15.0...v0.16.0

v0.15.0

29 Oct 16:33
v0.15.0
c1caaf5
Compare
Choose a tag to compare

🎉 Timoni now has an official logo and a brand-new website homepage.

New Features

  • Bundle Secrets Injection - Timoni supports injecting secrets when deploying application from CI runner secret store, in-cluster secrets and SOPS encrypted files.
  • Running tests with Kubernetes Jobs - Timoni has the capability of running e2e tests after installing or upgrading a module instance. Module authors can define tests with Kubernetes Jobs and include those as the last stage of a module apply.
  • Update Timoni's CUE schemas - Module authors can now keep the Timoni's CUE schemas up-to-date using the timoni artifact pull command.

New Commands

  • timoni bundle status - The status command lists the instances managed by a Bundle, including their Module information, the container images referenced in the Module and the current status of all managed Kubernetes resources.
  • timoni inspect values - The inspect command prints the user-supplied values enabling reproducible instance builds based on the metadata stored in cluster.
  • timoni mod vet - The vet command verifies that a local module has a valid file structure and contains required schemas, then it builds and validates the resulting Kubernetes objects. When run with the --debug flag, the validation uses debug_values.cue instead of the default values, allowing vetting of modules with required values that don't have a default.

Breaking changes

  • Bundle delete command new format is timoni bundle delete <name>, the --namespace flag is now ignored and the -A flag was removed.

What's Changed

Full Changelog: v0.14.2...v0.15.0

v0.14.2

08 Oct 15:12
v0.14.2
a5f6a97
Compare
Choose a tag to compare

This patch release comes with improvements to bundle operations. At apply-time, all modules referred in a bundle are pulled from the registry before attempting the apply. At delete-time, the instances are uninstalled in reverse order, the first created instance is the last to be deleted from the cluster.

What's Changed

Full Changelog: v0.14.1...v0.14.2

v0.14.1

06 Oct 16:15
v0.14.1
f68b7c3
Compare
Choose a tag to compare

This patch release comes with a fix to force applying GCP k8s-config-connector resources with immutable fields changes.

What's Changed

Full Changelog: v0.14.0...v0.14.1

v0.14.0

02 Oct 07:49
v0.14.0
66b2bab
Compare
Choose a tag to compare

New Features

  • Bundle distribution - Timoni Bundles and their Runtimes can now be distributed as signed OCI artifacts stored in container registries.
  • Kubernetes core APIs vendoring - Module authors can now easily import and update the CUE schemas of Kubernetes APIs with Timoni, without having to use go get and cue get go commands.
  • Kubernetes CRDs vendoring - Module authors can now generate and update the CUE schemas of Kubernetes CRDs directly from YAML files with Timoni.
  • Reproducible builds - The OCI artifacts produced by Timoni rely on Git metadata to ensure reproducible builds of modules. In addition, the storage of module artifacts in container registries has been optimised by storing the CUE schemas in a dedicated OCI layer.

New Commands

Module vendoring of Kubernetes core APIs and CRDs:

Distributing bundles, runtimes and schemas to container registries:

Authenticate to container registries:

Breaking changes

  • The --annotations flag was renamed to --annotation in timoni mod push
  • The --source flag was removed from timoni mod push (it is now automatically set, and can be overwritten via --annotation)
  • The OCI artifacts created with Timoni v0.14 can't be pulled with Timoni v0.13 and earlier versions
  • The OCI artifacts created with Timoni v0.13 and earlier versions and compatible with Timoni v0.14

Run timoni mod push --help to see examples of how to set a module's source and other OpenContainers annotations.

What's Changed

Full Changelog: v0.13.1...v0.14.0