Skip to content

Commit ee2b38e

Browse files
authored
Merge pull request #2543 from alexissellier/option-ignoring-helm-dependencies
feat: add a parameter to disable helm dependency update
2 parents da9f1bd + 4706269 commit ee2b38e

7 files changed

Lines changed: 37 additions & 9 deletions

File tree

devspace-schema.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -744,6 +744,10 @@
744744
},
745745
"type": "array",
746746
"description": "TemplateArgs are additional arguments to pass to `helm template`"
747+
},
748+
"disableDependencyUpdate" : {
749+
"type": "boolean",
750+
"description" : "DisableDependencyUpdate disables helm dependencies update"
747751
}
748752
},
749753
"type": "object",
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
<details className="config-field" data-expandable="false" open>
3+
<summary>
4+
5+
#### `disableDependencyUpdate` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type">boolean</span> <span className="config-field-default">false</span> <span className="config-field-enum"></span> {#deployments-helm-disableDependencyUpdate}
6+
7+
DisableDependencyUpdate disables helm dependencies update
8+
9+
</summary>
10+
11+
12+
</details>

docs/pages/configuration/_partials/v2beta1/deployments/helm_reference.mdx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import PartialValuesFiles from "./helm/valuesFiles.mdx"
66
import PartialDisplayOutput from "./helm/displayOutput.mdx"
77
import PartialUpgradeArgs from "./helm/upgradeArgs.mdx"
88
import PartialTemplateArgs from "./helm/templateArgs.mdx"
9+
import PartialDisableDependencyUpdate from "./helm/disableDependencyUpdate.mdx"
910

1011
<PartialReleaseName />
1112

@@ -39,3 +40,5 @@ Chart holds the chart configuration and where DevSpace can find the chart
3940

4041

4142
<PartialTemplateArgs />
43+
44+
<PartialDisableDependencyUpdate />

docs/schemas/config-openapi.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -752,6 +752,10 @@
752752
},
753753
"type": "array",
754754
"description": "TemplateArgs are additional arguments to pass to `helm template`"
755+
},
756+
"disableDependencyUpdate" : {
757+
"type": "boolean",
758+
"description" : "DisableDependencyUpdate disables helm dependencies update"
755759
}
756760
},
757761
"type": "object",

pkg/devspace/config/versions/latest/schema.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -840,6 +840,9 @@ type HelmConfig struct {
840840
UpgradeArgs []string `yaml:"upgradeArgs,omitempty" json:"upgradeArgs,omitempty"`
841841
// TemplateArgs are additional arguments to pass to `helm template`
842842
TemplateArgs []string `yaml:"templateArgs,omitempty" json:"templateArgs,omitempty"`
843+
844+
// DisableDependencyUpdate disables helm dependencies update, default to false
845+
DisableDependencyUpdate *bool `yaml:"disableDependencyUpdate" json:"disableDependencyUpdate"`
843846
}
844847

845848
// ChartConfig defines the helm chart options

pkg/devspace/deploy/deployer/helm/deploy_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ func TestDeploy(t *testing.T) {
7171
Deployments: []remotecache.DeploymentCache{
7272
{
7373
Name: "deploy2",
74-
DeploymentConfigHash: "038007a9e5018dcf8ffbabad39c1fdc08251e583d7b19e74b765b815d5302444",
74+
DeploymentConfigHash: "a5047fb615f1b300af8aebdcb2d806c51ff5c00d68653727c5386c40760cbc42",
7575
Helm: &remotecache.HelmCache{
7676
Release: "deploy2",
7777
ReleaseNamespace: "testNamespace",

pkg/devspace/helm/v3/client.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,12 @@ func (c *client) InstallChart(ctx devspacecontext.Context, releaseName string, r
108108
}
109109

110110
// Update dependencies if needed
111-
stat, err := os.Stat(chartPath)
112-
if err == nil && stat.IsDir() {
113-
args = append(args, "--dependency-update")
111+
if helmConfig.DisableDependencyUpdate == nil || (helmConfig.DisableDependencyUpdate != nil && !*helmConfig.DisableDependencyUpdate) {
112+
stat, err := os.Stat(chartPath)
113+
if err == nil && stat.IsDir() {
114+
args = append(args, "--dependency-update")
115+
}
114116
}
115-
116117
// Upgrade options
117118
args = append(args, helmConfig.UpgradeArgs...)
118119
output, err := c.genericHelm.Exec(ctx, args)
@@ -190,11 +191,12 @@ func (c *client) Template(ctx devspacecontext.Context, releaseName, releaseNames
190191
}
191192

192193
// Update dependencies if needed
193-
stat, err := os.Stat(chartPath)
194-
if err == nil && stat.IsDir() {
195-
args = append(args, "--dependency-update")
194+
if helmConfig.DisableDependencyUpdate == nil || (helmConfig.DisableDependencyUpdate != nil && !*helmConfig.DisableDependencyUpdate) {
195+
stat, err := os.Stat(chartPath)
196+
if err == nil && stat.IsDir() {
197+
args = append(args, "--dependency-update")
198+
}
196199
}
197-
198200
args = append(args, helmConfig.TemplateArgs...)
199201
result, err := c.genericHelm.Exec(ctx, args)
200202
if err != nil {

0 commit comments

Comments
 (0)