Skip to content

Commit

Permalink
fixup! Fix: invalid memory address or nil pointer dereference #88
Browse files Browse the repository at this point in the history
  • Loading branch information
littlejo committed Mar 23, 2024
1 parent de6c6d8 commit 5b028de
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions cilium/install.go
Original file line number Diff line number Diff line change
Expand Up @@ -255,14 +255,14 @@ func (r *CiliumInstallResource) Wait(namespace string) (err error) {
}

func GetCurrentRelease(
k8sClient genericclioptions,
k8sClient genericclioptions.RESTClientGetter,
namespace, name string,
) (*release.Release, error) {
// Use the default Helm driver (Kubernetes secret).
helmDriver := ""
actionConfig := action.Configuration{}
logger := func(format string, v ...interface{}) {}
if err := actionConfig.Init(k8sClient.RESTClientGetter, namespace, helmDriver, logger); err != nil {
if err := actionConfig.Init(k8sClient, namespace, helmDriver, logger); err != nil {
return nil, err
}
currentRelease, err := actionConfig.Releases.Last(name)
Expand All @@ -273,13 +273,13 @@ func GetCurrentRelease(
}

func GetHelmValues(
k8sClient genericclioptions,
k8sClient genericclioptions.RESTClientGetter,
namespace, name string,
) (string, error) {
helmDriver := ""
actionConfig := action.Configuration{}
logger := func(format string, v ...interface{}) {}
if err := actionConfig.Init(k8sClient.RESTClientGetter, namespace, helmDriver, logger); err != nil {
if err := actionConfig.Init(k8sClient, namespace, helmDriver, logger); err != nil {
return "", err
}
client := action.NewGetValues(&actionConfig)
Expand All @@ -297,13 +297,13 @@ func GetHelmValues(
}

func GetMetadata(
k8sClient genericclioptions,
k8sClient genericclioptions.RESTClientGetter,
namespace, name string,
) (string, string, error) {
helmDriver := ""
actionConfig := action.Configuration{}
logger := func(format string, v ...interface{}) {}
if err := actionConfig.Init(k8sClient.RESTClientGetter, namespace, helmDriver, logger); err != nil {
if err := actionConfig.Init(k8sClient, namespace, helmDriver, logger); err != nil {
return "", "", err
}
client := action.NewGetMetadata(&actionConfig)
Expand All @@ -327,25 +327,24 @@ func (r *CiliumInstallResource) Read(ctx context.Context, req resource.ReadReque
return
}

if r.client == nil {
if k8sClient == nil {
resp.Diagnostics.AddError("Client Error", fmt.Sprintf("Unable to connect to kubernetes"))
return

}

namespace := data.Namespace.ValueString()

_, err := GetCurrentRelease(k8sClient, namespace, "cilium")
_, err := GetCurrentRelease(k8sClient.RESTClientGetter, namespace, "cilium")
if err != nil {
resp.State.RemoveResource(ctx)
return
}
helm_values, err := GetHelmValues(k8sClient, namespace, "cilium")
helm_values, err := GetHelmValues(k8sClient.RESTClientGetter, namespace, "cilium")
if err != nil {
resp.Diagnostics.AddError("Client Error", fmt.Sprintf("Unable to read tfstate: %s", err))
return
}
version, ns, err := GetMetadata(k8sClient, namespace, "cilium")
version, ns, err := GetMetadata(k8sClient.RESTClientGetter, namespace, "cilium")
if err != nil {
resp.Diagnostics.AddError("Client Error", fmt.Sprintf("Unable to read tfstate: %s", err))
return
Expand Down

0 comments on commit 5b028de

Please sign in to comment.