From 21011fe3618a903357baa68e355f4184ae3fc079 Mon Sep 17 00:00:00 2001 From: Thomas Tacquet Date: Tue, 30 Dec 2025 19:37:36 +0100 Subject: [PATCH 1/2] chore(jobs): improve snapshot for instances --- jobs/instances-snapshot/main.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/jobs/instances-snapshot/main.go b/jobs/instances-snapshot/main.go index 4c9e589..d567d2a 100644 --- a/jobs/instances-snapshot/main.go +++ b/jobs/instances-snapshot/main.go @@ -5,6 +5,7 @@ import ( "fmt" "log/slog" "os" + "time" "github.com/scaleway/scaleway-sdk-go/api/block/v1" "github.com/scaleway/scaleway-sdk-go/api/instance/v1" @@ -81,11 +82,22 @@ func createSnapshots(ctx context.Context, instanceAPI *instance.API, blockAPI *b } for _, volume := range gotInstance.Server.Volumes { + slog.Info("getting volume informations", "volume_id", volume.ID) + + volumeHydrated, err := blockAPI.GetVolume(&block.GetVolumeRequest{ + VolumeID: volume.ID, + Zone: zone, + }) + if err != nil { + return fmt.Errorf("erro while reading volume informations: %w", err) + } + slog.Info("creating snapshot for volume", "volume_id", volume.ID) snapshotResp, err := blockAPI.CreateSnapshot(&block.CreateSnapshotRequest{ Zone: zone, VolumeID: volume.ID, ProjectID: os.Getenv(envProjectID), + Name: fmt.Sprintf("snapshot-%s-%s", volumeHydrated.Name, time.Now().Format("2006-01-02")), }, scw.WithContext(ctx)) if err != nil { return fmt.Errorf("error while creating snapshot: %w", err) From f967f2fcd2001502afa90b73a5d29cbb591727a5 Mon Sep 17 00:00:00 2001 From: Thomas TACQUET Date: Wed, 31 Dec 2025 10:25:51 +0100 Subject: [PATCH 2/2] Update jobs/instances-snapshot/main.go Co-authored-by: Ramy --- jobs/instances-snapshot/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jobs/instances-snapshot/main.go b/jobs/instances-snapshot/main.go index d567d2a..46c50ee 100644 --- a/jobs/instances-snapshot/main.go +++ b/jobs/instances-snapshot/main.go @@ -97,7 +97,7 @@ func createSnapshots(ctx context.Context, instanceAPI *instance.API, blockAPI *b Zone: zone, VolumeID: volume.ID, ProjectID: os.Getenv(envProjectID), - Name: fmt.Sprintf("snapshot-%s-%s", volumeHydrated.Name, time.Now().Format("2006-01-02")), + Name: fmt.Sprintf("snapshot-%s-%s", volumeHydrated.Name, time.Now().UTC().Format(time.RFC3339)), }, scw.WithContext(ctx)) if err != nil { return fmt.Errorf("error while creating snapshot: %w", err)