@@ -20,6 +20,7 @@ import (
2020 "context"
2121 "strings"
2222
23+ "github.com/google/go-cmp/cmp"
2324 vault "github.com/hashicorp/vault/api"
2425 "sigs.k8s.io/controller-runtime/pkg/client"
2526 "sigs.k8s.io/controller-runtime/pkg/log"
@@ -56,6 +57,7 @@ func (ve *VaultEndpoint) DeleteKVv2IfExists(context context.Context) error {
5657 // should match pathToDelete := fmt.Sprintf("%s/metadata/%s", kv.mountPath, secretPath)
5758 pathToDelete := strings .Replace (ve .vaultObject .GetPath (), "/data/" , "/metadata/" , 1 )
5859
60+ log .V (1 ).Info ("deleting resource from Vault" , "op" , "VaultEndpoint.DeleteKVv2IfExists" )
5961 _ , err := vaultClient .Logical ().Delete (pathToDelete )
6062 if err != nil {
6163 if respErr , ok := err .(* vault.ResponseError ); ok {
@@ -71,6 +73,7 @@ func (ve *VaultEndpoint) DeleteKVv2IfExists(context context.Context) error {
7173
7274func (ve * VaultEndpoint ) DeleteIfExists (context context.Context ) error {
7375 log := log .FromContext (context )
76+ log .V (1 ).Info ("deleting resource from Vault" , "op" , "VaultEndpoint.DeleteIfExists" )
7477 vaultClient := context .Value ("vaultClient" ).(* vault.Client )
7578 _ , err := vaultClient .Logical ().Delete (ve .vaultObject .GetPath ())
7679 if err != nil {
@@ -86,21 +89,30 @@ func (ve *VaultEndpoint) DeleteIfExists(context context.Context) error {
8689}
8790
8891func (ve * VaultEndpoint ) Create (context context.Context ) error {
92+ log := log .FromContext (context )
93+ log .V (1 ).Info ("creating resource in Vault" , "op" , "VaultEndpoint.Create" )
8994 return write (context , ve .vaultObject .GetPath (), ve .vaultObject .GetPayload ())
9095}
9196
9297func (ve * VaultEndpoint ) CreateOrUpdate (context context.Context ) error {
9398 log := log .FromContext (context )
99+ log .V (1 ).Info ("reading resource from Vault" , "op" , "VaultEndpoint.CreateOrUpdate" )
94100 currentPayload , found , err := read (context , ve .vaultObject .GetPath ())
95101 if err != nil {
96102 log .Error (err , "unable to read object at" , "path" , ve .vaultObject .GetPath ())
97103 return err
98104 }
99105 if ! found {
106+ log .V (1 ).Info ("resource does not exist, creating it in Vault" , "op" , "VaultEndpoint.CreateOrUpdate" )
100107 return write (context , ve .vaultObject .GetPath (), ve .vaultObject .GetPayload ())
101108 } else {
102109 if ! ve .vaultObject .IsEquivalentToDesiredState (currentPayload ) {
103- return write (context , ve .vaultObject .GetPath (), ve .vaultObject .GetPayload ())
110+ updatedPayload := ve .vaultObject .GetPayload ()
111+ log .V (1 ).Info ("resource is not in sync, writing to Vault" , "op" , "VaultEndpoint.CreateOrUpdate" ,
112+ "diff" , cmp .Diff (currentPayload , updatedPayload ))
113+ return write (context , ve .vaultObject .GetPath (), updatedPayload )
114+ } else {
115+ log .V (1 ).Info ("vault resource is already in sync" , "op" , "VaultEndpoint.CreateOrUpdate" )
104116 }
105117 }
106118 return nil
@@ -123,22 +135,31 @@ func (ve *RabbitMQEngineConfigVaultEndpoint) CreateOrUpdateLease(context context
123135 if ve .rabbitMQEngineConfigVaultEndpoint .CheckTTLValuesProvided () {
124136 return nil
125137 }
138+ log .V (1 ).Info ("reading resource from Vault" , "op" , "RabbitMQEngineConfigVaultEndpoint.CreateOrUpdateLease" )
126139 currentPayload , found , err := read (context , ve .rabbitMQEngineConfigVaultEndpoint .GetLeasePath ())
127140 if err != nil {
128141 log .Error (err , "unable to read object at" , "path" , ve .rabbitMQEngineConfigVaultEndpoint .GetLeasePath ())
129142 return err
130143 }
131144 if ! found {
145+ log .V (1 ).Info ("resource does not exist, creating it in Vault" , "op" , "RabbitMQEngineConfigVaultEndpoint.CreateOrUpdateLease" )
132146 return write (context , ve .rabbitMQEngineConfigVaultEndpoint .GetLeasePath (), ve .rabbitMQEngineConfigVaultEndpoint .GetLeasePayload ())
133147 } else {
134148 if ! ve .rabbitMQEngineConfigVaultEndpoint .IsEquivalentToDesiredState (currentPayload ) {
135- return write (context , ve .rabbitMQEngineConfigVaultEndpoint .GetLeasePath (), ve .rabbitMQEngineConfigVaultEndpoint .GetLeasePayload ())
149+ updatedPayload := ve .rabbitMQEngineConfigVaultEndpoint .GetLeasePayload ()
150+ log .V (1 ).Info ("resource is not in sync, writing to Vault" , "op" , "RabbitMQEngineConfigVaultEndpoint.CreateOrUpdateLease" ,
151+ "diff" , cmp .Diff (currentPayload , updatedPayload ))
152+ return write (context , ve .rabbitMQEngineConfigVaultEndpoint .GetLeasePath (), updatedPayload )
153+ } else {
154+ log .V (1 ).Info ("vault resource is already in sync" , "op" , "RabbitMQEngineConfigVaultEndpoint.CreateOrUpdateLease" )
136155 }
137156 }
138157 return nil
139158}
140159
141160func (ve * RabbitMQEngineConfigVaultEndpoint ) Create (context context.Context ) error {
161+ log := log .FromContext (context )
162+ log .V (1 ).Info ("creating resource in Vault" , "op" , "RabbitMQEngineConfigVaultEndpoint.Create" )
142163 return write (context , ve .rabbitMQEngineConfigVaultEndpoint .GetPath (), ve .rabbitMQEngineConfigVaultEndpoint .GetPayload ())
143164}
144165
0 commit comments