Skip to content

Commit 8642565

Browse files
authored
Merge branch 'master' into v1.6531.0
2 parents 65dc3d2 + 45fbdcf commit 8642565

File tree

8 files changed

+100
-24
lines changed

8 files changed

+100
-24
lines changed

.github/workflows/release.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ jobs:
2222
with:
2323
go-version: '1.24'
2424

25+
- name: Verify go.mod is tidy
26+
run: |
27+
go mod tidy
28+
git diff --exit-code
29+
2530
- name: Run GoReleaser
2631
uses: goreleaser/goreleaser-action@v6
2732
with:

.github/workflows/unit-tests.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ jobs:
2424
uses: actions/setup-go@v5
2525
with:
2626
go-version: '1.24'
27+
- name: Verify go.mod is tidy
28+
run: |
29+
go mod tidy
30+
git diff --exit-code
2731
- name: Run unit tests
2832
run: go test ./...
2933
- name: Execute main binary # Test the runtime for potential panics.

cmd/scw-sweeper/main.go

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,123 +67,164 @@ func mainNoExit() int {
6767

6868
err = accountSweeper.SweepAll(client)
6969
if err != nil {
70+
log.Fatalf("Error sweeping account: %s", err)
71+
7072
return -1
7173
}
7274

7375
err = applesiliconSweeper.SweepAllLocalities(client)
7476
if err != nil {
77+
log.Fatalf("Error sweeping applesilicon: %s", err)
78+
7579
return -1
7680
}
7781

7882
err = baremetalSweeper.SweepAllLocalities(client)
7983
if err != nil {
84+
log.Fatalf("Error sweeping baremetal: %s", err)
85+
8086
return -1
8187
}
8288

8389
err = cockpitSweeper.SweepAllLocalities(client)
8490
if err != nil {
91+
log.Fatalf("Error sweeping cockpit: %s", err)
92+
8593
return -1
8694
}
8795

8896
err = containerSweeper.SweepAllLocalities(client)
8997
if err != nil {
98+
log.Fatalf("Error sweeping container: %s", err)
99+
90100
return -1
91101
}
92102

93103
err = flexibleipSweeper.SweepAllLocalities(client)
94104
if err != nil {
105+
log.Fatalf("Error sweeping flexibleip: %s", err)
106+
95107
return -1
96108
}
97109

98110
err = functionSweeper.SweepAllLocalities(client)
99111
if err != nil {
112+
log.Fatalf("Error sweeping function: %s", err)
113+
100114
return -1
101115
}
102116

103117
err = iamSweeper.SweepSSHKey(client)
104118
if err != nil {
119+
log.Fatalf("Error sweeping iam: %s", err)
120+
105121
return -1
106122
}
107123

108124
err = inferenceSweeper.SweepAllLocalities(client)
109125
if err != nil {
126+
log.Fatalf("Error sweeping inference: %s", err)
127+
110128
return -1
111129
}
112130

113131
err = instanceSweeper.SweepAllLocalities(client)
114132
if err != nil {
133+
log.Fatalf("Error sweeping instance: %s", err)
134+
115135
return -1
116136
}
117137

118138
// Instance servers need to be swept before volumes and snapshots can be swept
119139
// because volumes and snapshots are attached to servers.
120140
err = blockSweeper.SweepAllLocalities(client)
121141
if err != nil {
142+
log.Fatalf("Error sweeping block: %s", err)
143+
122144
return -1
123145
}
124146

125147
err = iotSweeper.SweepAllLocalities(client)
126148
if err != nil {
127-
return -1
128-
}
149+
log.Fatalf("Error sweeping iot: %s", err)
129150

130-
err = ipamSweeper.SweepAllLocalities(client)
131-
if err != nil {
132151
return -1
133152
}
134153

135154
err = jobsSweeper.SweepAllLocalities(client)
136155
if err != nil {
156+
log.Fatalf("Error sweeping jobs: %s", err)
157+
137158
return -1
138159
}
139160

140161
err = k8sSweeper.SweepAllLocalities(client)
141162
if err != nil {
163+
log.Fatalf("Error sweeping k8s: %s", err)
164+
142165
return -1
143166
}
144167

145168
err = lbSweeper.SweepAllLocalities(client)
146169
if err != nil {
170+
log.Fatalf("Error sweeping lb: %s", err)
171+
147172
return -1
148173
}
149174

150175
err = mongodbSweeper.SweepAllLocalities(client)
151176
if err != nil {
177+
log.Fatalf("Error sweeping mongodb: %s", err)
178+
152179
return -1
153180
}
154181

155182
err = mnqSweeper.SweepAllLocalities(client)
156183
if err != nil {
184+
log.Fatalf("Error sweeping mnq: %s", err)
185+
157186
return -1
158187
}
159188

160189
err = rdbSweeper.SweepAllLocalities(client)
161190
if err != nil {
191+
log.Fatalf("Error sweeping rdb: %s", err)
192+
162193
return -1
163194
}
164195

165196
err = redisSweeper.SweepAllLocalities(client)
166197
if err != nil {
198+
log.Fatalf("Error sweeping redis: %s", err)
199+
167200
return -1
168201
}
169202

170203
err = registrySweeper.SweepAllLocalities(client)
171204
if err != nil {
205+
log.Fatalf("Error sweeping registry: %s", err)
206+
172207
return -1
173208
}
174209

175210
err = secretSweeper.SweepAllLocalities(client)
176211
if err != nil {
212+
log.Fatalf("Error sweeping secret: %s", err)
213+
177214
return -1
178215
}
179216

180217
err = sdbSweeper.SweepAllLocalities(client)
181218
if err != nil {
219+
log.Fatalf("Error sweeping sdb: %s", err)
220+
182221
return -1
183222
}
184223

185224
err = vpcSweeper.SweepAllLocalities(client)
186225
if err != nil {
226+
log.Fatalf("Error sweeping vpc: %s", err)
227+
187228
return -1
188229
}
189230

@@ -201,5 +242,14 @@ func mainNoExit() int {
201242
return -1
202243
}
203244

245+
// IPAM IPs need to be swept in the end because we need to be sure
246+
// that every resource with an attached ip is destroyed before executing it.
247+
err = ipamSweeper.SweepAllLocalities(client)
248+
if err != nil {
249+
log.Fatalf("Error sweeping ipam: %s", err)
250+
251+
return -1
252+
}
253+
204254
return 0
205255
}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ require (
1414
github.com/docker/docker v27.5.1+incompatible
1515
github.com/dustin/go-humanize v1.0.1
1616
github.com/fatih/color v1.18.0
17-
github.com/getsentry/sentry-go v0.32.0
17+
github.com/getsentry/sentry-go v0.33.0
1818
github.com/ghodss/yaml v1.0.0
1919
github.com/gorilla/websocket v1.5.3
2020
github.com/hashicorp/go-version v1.7.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,8 @@ github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdk
230230
github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg=
231231
github.com/gdamore/tcell/v2 v2.7.4 h1:sg6/UnTM9jGpZU+oFYAsDahfchWAFW8Xx2yFinNSAYU=
232232
github.com/gdamore/tcell/v2 v2.7.4/go.mod h1:dSXtXTSK0VsW1biw65DZLZ2NKr7j0qP/0J7ONmsraWg=
233-
github.com/getsentry/sentry-go v0.32.0 h1:YKs+//QmwE3DcYtfKRH8/KyOOF/I6Qnx7qYGNHCGmCY=
234-
github.com/getsentry/sentry-go v0.32.0/go.mod h1:CYNcMMz73YigoHljQRG+qPF+eMq8gG72XcGN/p71BAY=
233+
github.com/getsentry/sentry-go v0.33.0 h1:YWyDii0KGVov3xOaamOnF0mjOrqSjBqwv48UEzn7QFg=
234+
github.com/getsentry/sentry-go v0.33.0/go.mod h1:C55omcY9ChRQIUcVcGcs+Zdy4ZpQGvNJ7JYHIoSWOtE=
235235
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
236236
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
237237
github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c=

internal/namespaces/audit_trail/v1alpha1/audit_trail_cli.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"reflect"
99

1010
"github.com/scaleway/scaleway-cli/v2/core"
11-
"github.com/scaleway/scaleway-sdk-go/api/audit_trail/v1alpha1"
11+
audit_trail "github.com/scaleway/scaleway-sdk-go/api/audit_trail/v1alpha1"
1212
"github.com/scaleway/scaleway-sdk-go/scw"
1313
)
1414

internal/namespaces/inference/v1beta1/custom_endpoint.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@ func endpointCreateBuilder(c *core.Command) *core.Command {
4242
endpointToCreate.Public = publicEndpoint
4343
}
4444
if endpoint.PrivateNetwork != nil && endpoint.PrivateNetwork.PrivateNetworkID != "" {
45-
endpointToCreate.PrivateNetwork = &inference.EndpointSpecPrivateNetwork{PrivateNetworkID: endpoint.PrivateNetwork.PrivateNetworkID}
45+
endpointToCreate.PrivateNetwork = &inference.EndpointSpecPrivateNetwork{
46+
PrivateNetworkID: endpoint.PrivateNetwork.PrivateNetworkID,
47+
}
4648
}
4749
createEndpointreq.Endpoint = &endpointToCreate
4850

internal/namespaces/rdb/v1/custom_user.go

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"reflect"
88

99
"github.com/scaleway/scaleway-cli/v2/core"
10+
"github.com/scaleway/scaleway-cli/v2/internal/interactive"
1011
"github.com/scaleway/scaleway-cli/v2/internal/passwordgenerator"
1112
"github.com/scaleway/scaleway-sdk-go/api/rdb/v1"
1213
"github.com/scaleway/scaleway-sdk-go/scw"
@@ -170,34 +171,48 @@ func userUpdateBuilder(c *core.Command) *core.Command {
170171
api := rdb.NewAPI(client)
171172

172173
customRequest := argsI.(*rdbUpdateUserRequestCustom)
173-
174174
updateUserRequest := customRequest.UpdateUserRequest
175175

176176
var err error
177-
if customRequest.GeneratePassword && customRequest.Password == nil {
178-
updateUserRequest.Password = new(string)
179-
*updateUserRequest.Password, err = passwordgenerator.GeneratePassword(21, 1, 1, 1, 1)
180-
if err != nil {
181-
return nil, err
182-
}
183-
fmt.Printf("Your generated password is %v \n", *updateUserRequest.Password)
184-
fmt.Printf("\n")
185-
}
186177

187-
if !customRequest.GeneratePassword && customRequest.Password == nil {
188-
return nil, errors.New(
189-
"you must provide a password when generate-password is set to false",
190-
)
178+
if customRequest.GeneratePassword || customRequest.Password != nil {
179+
switch {
180+
case customRequest.GeneratePassword && customRequest.Password == nil:
181+
updateUserRequest.Password = new(string)
182+
pwd, err := passwordgenerator.GeneratePassword(21, 1, 1, 1, 1)
183+
if err != nil {
184+
return nil, err
185+
}
186+
*updateUserRequest.Password = pwd
187+
188+
_, err = interactive.Println("Your generated password is", pwd)
189+
if err != nil {
190+
return nil, err
191+
}
192+
193+
case !customRequest.GeneratePassword && customRequest.Password == nil:
194+
return nil, errors.New(
195+
"you must provide a password when generate-password is set to false",
196+
)
197+
198+
default:
199+
updateUserRequest.Password = customRequest.Password
200+
}
191201
}
192202

193203
user, err := api.UpdateUser(updateUserRequest)
194204
if err != nil {
195205
return nil, err
196206
}
197207

208+
respPwd := ""
209+
if updateUserRequest.Password != nil {
210+
respPwd = *updateUserRequest.Password
211+
}
212+
198213
result := rdbUpdateUserResponseCustom{
199214
User: user,
200-
Password: *updateUserRequest.Password,
215+
Password: respPwd,
201216
}
202217

203218
return result, nil

0 commit comments

Comments
 (0)