stefanprodan / timoni

Timoni is a package manager for Kubernetes, powered by CUE and inspired by Helm.
https://timoni.sh
Apache License 2.0
1.45k stars 66 forks source link

Provide a way to update timoni package #313

Closed jmgilman closed 6 months ago

jmgilman commented 6 months ago

At the moment, Timoni uses the timoni.sh/core/v1alpha1 definitions from the template that is pulled when timoni mod init is run. The problem is that this doesn't allow easy upgrading of the definitions when changes are made in this repository.

This is more of a tracking issue because I suspect it's not worth solving until the CUE modules work is done. They are currently holding feedback sessions for the related development. At a certain point, when we feel things are stable enough, we should switch to using the new implementation so that (hopefully) upgrades are possible in the future.

stefanprodan commented 6 months ago

Here are the docs for keeping the schemas up to date: https://github.com/stefanprodan/timoni/tree/main/schemas#vendoring

Can be done with:

timoni artifact pull oci://ghcr.io/stefanprodan/timoni/schemas:latest \
  --output cue.mod/pkg

I need to add these to the docs website.

jmgilman commented 6 months ago

I wasn't even aware of the timoni artifact subcommand :) I guess this changes the question: do you forsee there being value in switching over to using modules for managing this once development is complete?

stefanprodan commented 6 months ago

The timoni artifact commands are more for sharing bundle files, which may not necessary be CUE.

When CUE adds support for modules, then we'll publish the Timoni's schemas as a module so it can be updated with cue. Right now you can abuse 😄 the timoni artifact commands to manage cue.mod, I see no reason to do that when cue will have this capability.