Skip to content
This repository has been archived by the owner on Sep 9, 2020. It is now read-only.

Questions about package management #231

Closed
jlewi opened this issue Dec 15, 2017 · 3 comments
Closed

Questions about package management #231

jlewi opened this issue Dec 15, 2017 · 3 comments
Assignees

Comments

@jlewi
Copy link

jlewi commented Dec 15, 2017

How would users upgrade a registry package in their app?

I think it would be useful if I could update the prototypes on which my components are based and then have my existing components reflect those changes.

How do packages depend on prototypes in other packages?

I'd like to have a core kubeflow package that reuses other packages (e.g. JupyterHub, TfJob).
I think my kubeflow package could just import the libsonnet files from those packages. But this means the user would be responsible for installing those packages manually.

@hausdorff
Copy link
Contributor

Currently you can't upgrade -- this is coming soonish, but so far we have only supported the official packages, so this hasn't been an issue.

Packages can't really depend on other packages -- eventually they will be able to, but probably not until 0.8.

@redbaron
Copy link
Contributor

redbaron commented Jan 3, 2018

How package update is going to be implemented? right now slightly modified prototype is installed into components/.jsonnet , that prototypes calls into pkg directly. Given that prototype is arbitrary amount of code we can't really be updating package without updating corresponding component.

@bryanl bryanl assigned bryanl and shomron and unassigned bryanl Sep 10, 2018
@shomron
Copy link
Collaborator

shomron commented Sep 19, 2018

@redbaron any materialized components would not be automatically upgraded - that would be the authors responsibility.

@jlewi Following up on this issue, upgrading packages is supported in ksonnet 0.12.0.

ks pkg install registry/package@version allows you to install a specific version of a package. This will upgrade if a previous version of that package was previously installed.
For GitHub registries, version can be a tag, branch or other refspec. Ksonnet will resolve that to a specific commit at the time the command is run. Thus, to track a branch during development, simply run ks pkg install regsitry/package@branch, which will always bring in the tip.

One other feature to note is that you can now install different versions of a package per-environment (ks pkg install --env <envName>...). This allows you to stage newer versions of a package in a separate environment before promoting it to production.

Give these features a spin and let me know if you have any questions!

@shomron shomron closed this as completed Sep 19, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants