Skip to content

Commit

Permalink
Merge pull request #12 from mittwald/update/k8s.io-and-helm
Browse files Browse the repository at this point in the history
[BREAKING] Update packages
  • Loading branch information
jkmw authored Jun 25, 2020
2 parents a6cdcbc + 57d7224 commit ecc36b1
Show file tree
Hide file tree
Showing 7 changed files with 191 additions and 88 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
go: [ '1.14', '1.13', '1.12' ]
go: [ '1.14', '1.13' ]

steps:
- uses: actions/checkout@v2
Expand Down
19 changes: 10 additions & 9 deletions client.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package helmclient

import (
"bytes"
"context"
"encoding/json"
"fmt"
"log"
Expand Down Expand Up @@ -192,14 +193,14 @@ func (c *HelmClient) UpdateChartRepos() error {

// InstallOrUpgradeChart triggers the installation of the provided chart.
// If the chart is already installed, trigger an upgrade instead
func (c *HelmClient) InstallOrUpgradeChart(spec *ChartSpec) error {
func (c *HelmClient) InstallOrUpgradeChart(ctx context.Context, spec *ChartSpec) error {
installed, err := c.chartIsInstalled(spec.ReleaseName)
if err != nil {
return err
}

if installed {
return c.upgrade(spec)
return c.upgrade(ctx, spec)
}
return c.install(spec)
}
Expand Down Expand Up @@ -279,7 +280,7 @@ func (c *HelmClient) install(spec *ChartSpec) error {
}

// upgrade upgrades a chart and CRDs
func (c *HelmClient) upgrade(spec *ChartSpec) error {
func (c *HelmClient) upgrade(ctx context.Context, spec *ChartSpec) error {
client := action.NewUpgrade(c.ActionConfig)
mergeUpgradeOptions(spec, client)

Expand Down Expand Up @@ -312,7 +313,7 @@ func (c *HelmClient) upgrade(spec *ChartSpec) error {

if !spec.SkipCRDs && spec.UpgradeCRDs {
log.Printf("updating crds")
err = c.upgradeCRDs(helmChart)
err = c.upgradeCRDs(ctx, helmChart)
if err != nil {
return err
}
Expand Down Expand Up @@ -382,7 +383,7 @@ func (c *HelmClient) lint(chartPath string, values map[string]interface{}) error
}

// upgradeCRDs upgrades the CRDs of the provided chart
func (c *HelmClient) upgradeCRDs(chartInstance *chart.Chart) error {
func (c *HelmClient) upgradeCRDs(ctx context.Context, chartInstance *chart.Chart) error {
cfg, err := c.Settings.RESTClientGetter().ToRESTConfig()
if err != nil {
return err
Expand Down Expand Up @@ -415,12 +416,12 @@ func (c *HelmClient) upgradeCRDs(chartInstance *chart.Chart) error {
if err != nil {
return err
}
existingCRDObj, err := k8sClient.ApiextensionsV1().CustomResourceDefinitions().Get(crdObj.Name, metaV1.GetOptions{})
existingCRDObj, err := k8sClient.ApiextensionsV1().CustomResourceDefinitions().Get(ctx, crdObj.Name, metaV1.GetOptions{})
if err != nil {
return err
}
crdObj.ResourceVersion = existingCRDObj.ResourceVersion
_, err = k8sClient.ApiextensionsV1().CustomResourceDefinitions().Update(&crdObj)
_, err = k8sClient.ApiextensionsV1().CustomResourceDefinitions().Update(ctx, &crdObj, metaV1.UpdateOptions{})
if err != nil {
return err
}
Expand All @@ -431,12 +432,12 @@ func (c *HelmClient) upgradeCRDs(chartInstance *chart.Chart) error {
if err != nil {
return err
}
existingCRDObj, err := k8sClient.ApiextensionsV1beta1().CustomResourceDefinitions().Get(crdObj.Name, metaV1.GetOptions{})
existingCRDObj, err := k8sClient.ApiextensionsV1beta1().CustomResourceDefinitions().Get(ctx, crdObj.Name, metaV1.GetOptions{})
if err != nil {
return err
}
crdObj.ResourceVersion = existingCRDObj.ResourceVersion
_, err = k8sClient.ApiextensionsV1beta1().CustomResourceDefinitions().Update(&crdObj)
_, err = k8sClient.ApiextensionsV1beta1().CustomResourceDefinitions().Update(ctx, &crdObj, metaV1.UpdateOptions{})
if err != nil {
return err
}
Expand Down
3 changes: 2 additions & 1 deletion client_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package helmclient

import (
"context"
"helm.sh/helm/v3/pkg/repo"
"k8s.io/client-go/rest"
)
Expand Down Expand Up @@ -95,7 +96,7 @@ func ExampleHelmClient_InstallOrUpgradeChart() {
Wait: true,
}

if err := helmClient.InstallOrUpgradeChart(&chartSpec); err != nil {
if err := helmClient.InstallOrUpgradeChart(context.Background(), &chartSpec); err != nil {
panic(err)
}
}
Expand Down
12 changes: 6 additions & 6 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ require (
github.com/golang/mock v1.4.3
github.com/spf13/pflag v1.0.5
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b // indirect
helm.sh/helm/v3 v3.1.2
k8s.io/apiextensions-apiserver v0.17.2
k8s.io/apimachinery v0.17.2
k8s.io/cli-runtime v0.17.2
k8s.io/client-go v0.17.2
helm.sh/helm/v3 v3.2.4
k8s.io/apiextensions-apiserver v0.18.2
k8s.io/apimachinery v0.18.2
k8s.io/cli-runtime v0.18.2
k8s.io/client-go v0.18.2
rsc.io/letsencrypt v0.0.3 // indirect
sigs.k8s.io/yaml v1.1.0
sigs.k8s.io/yaml v1.2.0
)
Loading

0 comments on commit ecc36b1

Please sign in to comment.