Skip to content

Commit 524e7fc

Browse files
committed
Improve error handling
Signed-off-by: Markus Blaschke <mblaschke82@gmail.com>
1 parent 8b18219 commit 524e7fc

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

cloudprovider/azure.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ func (m *CloudProviderAzure) FetchToken() (token *bootstraptoken.BootstrapToken)
8181

8282
contextLogger := log.WithFields(log.Fields{"keyVault": vaultName, "secretName": secretName})
8383

84-
contextLogger.Infof("fetching newest token from Azure KeyVault \"%s\" secret \"%s\"", vaultName, secretName)
84+
contextLogger.Infof("fetching current token from Azure KeyVault \"%s\" secret \"%s\"", vaultName, secretName)
8585
secret, err := m.keyvaultClient.GetSecret(m.ctx, m.getKeyVaultUrl(), secretName, "")
8686
if m.handleKeyvaultError(err, contextLogger) != nil {
8787
contextLogger.Panic(err)

manager/manager.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/webdevops/kube-bootstrap-token-manager/cloudprovider"
1111
"github.com/webdevops/kube-bootstrap-token-manager/config"
1212
corev1 "k8s.io/api/core/v1"
13+
"k8s.io/apimachinery/pkg/api/errors"
1314
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1415
"k8s.io/client-go/kubernetes"
1516
_ "k8s.io/client-go/plugin/pkg/client/auth"
@@ -229,11 +230,15 @@ func (m *KubeBootstrapTokenManager) createOrUpdateToken(token *bootstraptoken.Bo
229230
resourceNs := m.Opts.BootstrapToken.Namespace
230231

231232
resource, err := m.k8sClient.CoreV1().Secrets(resourceNs).Get(m.ctx, resourceName, v1.GetOptions{})
232-
if resource == nil && err != nil {
233-
return err
234-
}
235-
236-
if resource == nil || resource.UID == "" {
233+
if err == nil {
234+
// update
235+
contextLogger.Infof("updating existing bootstrap token \"%s\" with expiration %s", resourceName, token.ExpirationString())
236+
resource = m.updateTokenData(resource, token)
237+
if _, err := m.k8sClient.CoreV1().Secrets(resourceNs).Update(m.ctx, resource, v1.UpdateOptions{}); err != nil {
238+
return err
239+
}
240+
} else if errors.IsNotFound(err) {
241+
// create
237242
resource = &corev1.Secret{}
238243
resource.SetName(resourceName)
239244
resource.SetNamespace(resourceNs)
@@ -244,11 +249,8 @@ func (m *KubeBootstrapTokenManager) createOrUpdateToken(token *bootstraptoken.Bo
244249
return err
245250
}
246251
} else {
247-
contextLogger.Infof("updating existing bootstrap token \"%s\" with expiration %s", resourceName, token.ExpirationString())
248-
resource = m.updateTokenData(resource, token)
249-
if _, err := m.k8sClient.CoreV1().Secrets(resourceNs).Update(m.ctx, resource, v1.UpdateOptions{}); err != nil {
250-
return err
251-
}
252+
// error
253+
return err
252254
}
253255

254256
if syncToCloud {

0 commit comments

Comments
 (0)