-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Today hubctl always requires user to specify component source directory like the following:
components:
- name: nginx
source:
dir: components/nginx
git:
remote: https://github.com/epam/hub-kubeflow-components.git
subDir: nginx-ingressWe need to allow hubctl to tolerate following syntax:
components:
- name: nginx
source:
git:
remote: https://github.com/epam/hub-kubeflow-components.git
subDir: nginx-ingressThis means user wants to take component from git repo, but doesn't want to maintain it. In this case expected behaviour, hubctl (or extension) should fetch component to the disposable directory. Probably $HUB_BASE_DIR/.hub. Version of the component should be managed by git/ref when component is a commit sensitive.
When user decided to make their copy of the component they can add source/dir parameter. In this case hubctl (or extension) should not check if component remotely has been updated.
At the present with current design suggesting to declare reason to refresh components in the Hubfile
extensions:
deploy:
configure:
- components. # to refresh on configure
before:
- components. # to refresh on pre-deploy actionIf above not defined then the component is not fetched and hubctl works as today
- Create is a
componentsextension to manage this behaviour - Move component fetch from
hub-initto the new extension - Update hubctl to tolerate behaviour in
hubctl elaborate - Update documentation