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-ingress
We need to allow hubctl to tolerate following syntax:
components:
- name: nginx
source:
git:
remote: https://github.com/epam/hub-kubeflow-components.git
subDir: nginx-ingress
This 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 action
If above not defined then the component is not fetched and hubctl works as today
Today
hubctlalways requires user to specify component source directory like the following:We need to allow
hubctlto tolerate following syntax:This 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 bygit/refwhen component is a commit sensitive.When user decided to make their copy of the component they can add
source/dirparameter. In this casehubctl(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
If above not defined then the component is not fetched and
hubctlworks as todaycomponentsextension to manage this behaviourhub-initto the new extensionhubctl elaborate