@@ -21,6 +21,7 @@ import (
2121 "log"
2222 "net/http"
2323 "os"
24+ "time"
2425
2526 "github.com/blang/semver/v4"
2627 admissionv1 "k8s.io/api/admission/v1"
@@ -311,7 +312,7 @@ func needsEnvVar(c corev1.Container, name string) bool {
311312 return true
312313}
313314
314- func updateCheck () error {
315+ func updateCheck () {
315316 type release struct {
316317 Name string `json:"name"`
317318 }
@@ -320,39 +321,42 @@ func updateCheck() error {
320321
321322 resp , err := http .Get ("https://storage.googleapis.com/minikube-gcp-auth/releases.json" )
322323 if err != nil {
323- return fmt . Errorf ("failed to get releases file: %v" , err )
324+ log . Printf ("failed to get releases file: %v" , err )
324325 }
325326 defer resp .Body .Close ()
326327 if err := json .NewDecoder (resp .Body ).Decode (& releases ); err != nil {
327- return fmt . Errorf ("failed to decode releases file: %v" , err )
328+ log . Printf ("failed to decode releases file: %v" , err )
328329 }
329330 if len (releases ) == 0 {
330- return fmt . Errorf ("no releases found in releases file" )
331+ log . Print ("no releases found in releases file" )
331332 }
332333
333334 currVersion , err := semver .ParseTolerant (Version )
334335 if err != nil {
335- return fmt . Errorf ("unable to parse current version: %v" , err )
336+ log . Printf ("unable to parse current version: %v" , err )
336337 }
337338 name := releases [0 ].Name
338339 latestVersion , err := semver .ParseTolerant (name )
339340 if err != nil {
340- return fmt . Errorf ("unable to parse latest version: %v" , err )
341+ log . Printf ("unable to parse latest version: %v" , err )
341342 }
342343
343344 if currVersion .LT (latestVersion ) {
344345 log .Printf ("gcp-auth-webhook %s is available!" , name )
345346 }
347+ }
346348
347- return nil
349+ func updateTicker () {
350+ updateCheck ()
351+ for range time .Tick (12 * time .Hour ) {
352+ updateCheck ()
353+ }
348354}
349355
350356func main () {
351357 log .Print ("GCP Auth Webhook started!" )
352358
353- if err := updateCheck (); err != nil {
354- log .Println (err )
355- }
359+ go updateTicker ()
356360
357361 mux := http .NewServeMux ()
358362
0 commit comments