Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: support for dependencies downloading #1672

Closed
woj-tek opened this issue Jul 24, 2023 · 3 comments
Closed

Feature Request: support for dependencies downloading #1672

woj-tek opened this issue Jul 24, 2023 · 3 comments
Assignees
Milestone

Comments

@woj-tek
Copy link

woj-tek commented Jul 24, 2023

Is your feature request related to a problem?

Yes, I have a chart that has dependencies and currently it's not possible to install.

Solution you'd like

Rancher should automatically install dependencies. helm install documentation mentions --dependency-update option which should solve the issue without having to deal with dependency update or dependency build (as mentioned in the docs: https://ranchermanager.docs.rancher.com/v2.7/how-to-guides/new-user-guides/deploy-apps-across-clusters/fleet#helm-chart-dependencies)

Alternatives you've considered

One could put the chart tgz file in the repo, but it's not really feasible for external charts/repositories...

Anything else?

There is #250 but it was closed as "solved" (by adding documentation blurb that it doesn't work, which well... doesn't solve anything...)

@manno manno added this to the v2.9.0 milestone Jan 19, 2024
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 2, 2024
A new flag `disableDependencyUpdate` is added in order to disable the feature, which is active by default.

Fixes: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 5, 2024
A new flag `disableDependencyUpdate` is added in order to disable the feature, which is active by default.

Fixes: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 5, 2024
A new flag `disableDependencyUpdate` is added in order to disable the feature, which is active by default.

Fixes: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 8, 2024
A new flag `disableDependencyUpdate` is added to the `fleet.yaml` file in order to disable the feature, which is active by default.

Fixes: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>

e2e
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 8, 2024
A new flag `disableDependencyUpdate` is added to the `fleet.yaml` file in order to disable the feature, which is active by default.

Fixes: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 8, 2024
A new flag `disableDependencyUpdate` is added to the `fleet.yaml`
file in order to disable the feature, which is active by default.

A new package `helmupdater` is added to implement the dependencies
update.
The implementation is based on helm's when ussing the
`--dependency-update` flag in the install command.

Dependencies are applied to the bundle (upstream) to they're resolved
already when applying downstream.

Refers to: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 8, 2024
A new flag `disableDependencyUpdate` is added to the `fleet.yaml`
file in order to disable the feature, which is active by default.

A new package `helmupdater` is added to implement the dependencies
update.
The implementation is based on helm's when ussing the
`--dependency-update` flag in the install command.

Dependencies are applied to the bundle (upstream) to they're resolved
already when applying downstream.

Refers to: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 8, 2024
A new flag `disableDependencyUpdate` is added to the `fleet.yaml`
file in order to disable the feature, which is active by default.

A new package `helmupdater` is added to implement the dependencies
update.
The implementation is based on helm's when ussing the
`--dependency-update` flag in the install command.

Dependencies are applied to the bundle (upstream) to they're resolved
already when applying downstream.

Refers to: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 8, 2024
A new flag `disableDependencyUpdate` is added to the `fleet.yaml`
file in order to disable the feature, which is active by default.

A new package `helmupdater` is added to implement the dependencies
update.
The implementation is based on helm's when ussing the
`--dependency-update` flag in the install command.

Dependencies are applied to the bundle (upstream) to they're resolved
already when applying downstream.

Refers to: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 8, 2024
A new flag `disableDependencyUpdate` is added to the `fleet.yaml`
file in order to disable the feature, which is active by default.

A new package `helmupdater` is added to implement the dependencies
update.
The implementation is based on helm's when ussing the
`--dependency-update` flag in the install command.

Dependencies are applied to the bundle (upstream) to they're resolved
already when applying downstream.

Refers to: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 9, 2024
A new flag `disableDependencyUpdate` is added to the `fleet.yaml`
file in order to disable the feature, which is active by default.

A new package `helmupdater` is added to implement the dependencies
update.
The implementation is based on helm's when ussing the
`--dependency-update` flag in the install command.

Dependencies are applied to the bundle (upstream) to they're resolved
already when applying downstream.

Refers to: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 9, 2024
A new flag `disableDependencyUpdate` is added to the `fleet.yaml`
file in order to disable the feature, which is active by default.

A new package `helmupdater` is added to implement the dependencies
update.
The implementation is based on helm's when ussing the
`--dependency-update` flag in the install command.

Dependencies are applied to the bundle (upstream) to they're resolved
already when applying downstream.

Refers to: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>
0xavi0 added a commit to 0xavi0/fleet that referenced this issue Feb 9, 2024
A new flag `disableDependencyUpdate` is added to the `fleet.yaml`
file in order to disable the feature, which is active by default.

A new package `helmupdater` is added to implement the dependencies
update.
The implementation is based on helm's when ussing the
`--dependency-update` flag in the install command.

Dependencies are applied to the bundle (upstream) to they're resolved
already when applying downstream.

Refers to: rancher#1672

Signed-off-by: Xavi Garcia <[email protected]>
@weyfonk weyfonk closed this as completed Feb 22, 2024
@weyfonk weyfonk reopened this Feb 22, 2024
@sbulage
Copy link
Contributor

sbulage commented May 3, 2024

@0xavi0 QA Template is missing, can you please add it, Thanks 😄

@0xavi0
Copy link
Contributor

0xavi0 commented May 7, 2024

QA Template

Solution

Changed fleet to download dependencies found in helm charts by default.
Added a new option helm.disableDependencyUpdate to disable the feature.
Refer to rancher/fleet-docs#131

Testing

Repository with helm chart and disableDependencyUpdate not set

Add a new gitrepo using the following:

apiVersion: fleet.cattle.io/v1alpha1
kind: GitRepo
metadata:
  name: sample-deps-simple
  namespace: fleet-local
spec:
  repo: "https://github.com/0xavi0/fleet-examples"
  branch: test-dependencies
  paths:
  - single-cluster/helm-dependencies/deps-simple

This will install the typical sample application from fleet-examples, but will also deploy a postgresql pod as it is stated as a dependency here

Same as above but with disableDependencyUpdate set

apiVersion: fleet.cattle.io/v1alpha1
kind: GitRepo
metadata:
  name: sample-no-deps-simple
  namespace: fleet-local
spec:
  repo: "https://github.com/0xavi0/fleet-examples"
  branch: test-dependencies
  paths:
  - single-cluster/helm-dependencies/no-deps-simple

In this case the sample application should be deployed but not the postgresql dependency as disableDependencyUpdate is true and fleet won't download dependencies.

Additional info

@sbulage
Copy link
Contributor

sbulage commented May 17, 2024

System Information

  • Rancher version: v2.9-3e5ca3f58fef0987812eb95d028390d80c44a6e3-head
  • Fleet Version: 104.0.0+up0.10.0-rc.13

TEST RESULT

Scenarios

Scenario Test Case Result QASE ID added
1 Test dependency should not downloaded along with the application when disableDependencyUpdate is set to true in fleet.yaml ☑️
2 Test dependency should downloaded along with the application when disableDependencyUpdate is set to false in fleet.yaml ☑️

@sbulage sbulage closed this as completed May 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

6 participants