Skip to content

Commit 3396ccc

Browse files
DavidGOrtega0x2b3bfa0restyled-commitscasperdcl
authored
optional telemetry (#493)
* Analytics * fix code * updated to specs * remove println * remove duplicated schema * remove unused * tighter test * non blocking and events * Set version in `.goreleaser.yml` (#537) * Set version in `.goreleaser.yml` * Remove `-ldflags` from release.yml * Remove `v` prefix in `Version` * Test against the hardcoded value * use desterministic * platform * ci * fix resumed and hide error * fire and forget * no care response * Add panic handling and background analytics * Restyled by gofmt * Add ip_policy=strict * Fix endpoint * Use `TypeOf(e).String()` instead of `.Name()` * Ignore context cancellations from Terraform * Add DO_NOT_TRACK * Use timeout instead of context * feedback fixes * old json appdirs * log id * log appdirs new * CI test * remove unused * mocked id * fix id * os * do not track * fix test * undo go.mod * check for TF_BUILD Co-authored-by: Helio Machado <0x2b3bfa0+git@googlemail.com> * Restyled by gofmt * user_id do-not-track * restore isCI * nitpick * ci unknown * don't write old file in `new.read() == "do-not-track"` * do-not-track old file * fix CI-GH-ID * error handling * fix tests * more error handling * nolint errcheck Co-authored-by: Helio Machado <0x2b3bfa0+git@googlemail.com> Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: Casper da Costa-Luis <casper.dcl@physics.org>
1 parent 5ae7ef4 commit 3396ccc

File tree

7 files changed

+533
-6
lines changed

7 files changed

+533
-6
lines changed

.goreleaser.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ builds:
55
flags:
66
- -trimpath
77
ldflags:
8-
- '-s -w -X main.version={{.Version}} -X main.commit={{.Commit}}'
8+
- -s -w
9+
- -X terraform-provider-iterative/iterative/utils.Version={{.Version}}
10+
- -X main.version={{.Version}}
11+
- -X main.commit={{.Commit}}
12+
- -X main.date={{.Date}}
913
goos:
1014
# - freebsd
1115
- windows

go.mod

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ require (
99
github.com/Azure/go-autorest/autorest/to v0.4.0
1010
github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect
1111
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d
12-
github.com/alessio/shellescape v1.4.1 // indirect
12+
github.com/alessio/shellescape v1.4.1
1313
github.com/aohorodnyk/uid v1.1.0
1414
github.com/aws/aws-sdk-go-v2 v1.11.0
1515
github.com/aws/aws-sdk-go-v2/config v1.8.3
@@ -24,13 +24,18 @@ require (
2424
github.com/docker/go-units v0.4.0
2525
github.com/gobwas/glob v0.2.3
2626
github.com/google/go-github/v42 v42.0.0
27+
github.com/google/go-github/v45 v45.2.0
28+
github.com/google/uuid v1.3.0
2729
github.com/hashicorp/go-getter v1.5.11 // indirect
2830
github.com/hashicorp/hcl/v2 v2.8.0 // indirect
2931
github.com/hashicorp/terraform-plugin-sdk/v2 v2.8.0
3032
github.com/rclone/rclone v1.57.0
3133
github.com/sebdah/goldie/v2 v2.5.3
34+
github.com/shirou/gopsutil v3.21.11+incompatible
3235
github.com/sirupsen/logrus v1.8.1
3336
github.com/stretchr/testify v1.7.0
37+
github.com/wessie/appdirs v0.0.0-20141031215813-6573e894f8e2
38+
github.com/yusufpapurcu/wmi v1.2.2 // indirect
3439
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5
3540
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f
3641
google.golang.org/api v0.54.0

go.sum

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -369,8 +369,9 @@ github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7
369369
github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
370370
github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc=
371371
github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
372-
github.com/go-ole/go-ole v1.2.5 h1:t4MGB5xEDZvXI+0rMjjsfBsD7yAgp/s9ZDkL1JndXwY=
373372
github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
373+
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
374+
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
374375
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
375376
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
376377
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
@@ -448,13 +449,16 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
448449
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
449450
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
450451
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
451-
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
452452
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
453+
github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
454+
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
453455
github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY=
454456
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
455457
github.com/google/go-github/v39 v39.0.0/go.mod h1:C1s8C5aCC9L+JXIYpJM5GYytdX52vC1bLvHEF1IhBrE=
456458
github.com/google/go-github/v42 v42.0.0 h1:YNT0FwjPrEysRkLIiKuEfSvBPCGKphW5aS5PxwaoLec=
457459
github.com/google/go-github/v42 v42.0.0/go.mod h1:jgg/jvyI0YlDOM1/ps6XYh04HNQ3vKf0CVko62/EhRg=
460+
github.com/google/go-github/v45 v45.2.0 h1:5oRLszbrkvxDDqBCNj2hjDZMKmvexaZ1xw/FCD+K3FI=
461+
github.com/google/go-github/v45 v45.2.0/go.mod h1:FObaZJEDSTa/WGCzZ2Z3eoCDXWJKMenWWTrd8jrta28=
458462
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
459463
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
460464
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
@@ -866,6 +870,8 @@ github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAm
866870
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
867871
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
868872
github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
873+
github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI=
874+
github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
869875
github.com/shirou/gopsutil/v3 v3.21.8 h1:nKct+uP0TV8DjjNiHanKf8SAuub+GNsbrOtM9Nl9biA=
870876
github.com/shirou/gopsutil/v3 v3.21.8/go.mod h1:YWp/H8Qs5fVmf17v7JNZzA0mPJ+mS2e9JdiUF9LlKzQ=
871877
github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY=
@@ -972,6 +978,8 @@ github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaU
972978
github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
973979
github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
974980
github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
981+
github.com/wessie/appdirs v0.0.0-20141031215813-6573e894f8e2 h1:fKKg46hH3QFC22OrV5dRuXUtpWds4bM+9du/O0xAnHc=
982+
github.com/wessie/appdirs v0.0.0-20141031215813-6573e894f8e2/go.mod h1:c0hW4EpVkKCEjosF5u1Lm+x5twh0RpPx05T9XGlyN8w=
975983
github.com/willf/bitset v1.1.9/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
976984
github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
977985
github.com/xanzy/ssh-agent v0.3.1 h1:AmzO1SSWxw73zxFZPRwaMN1MohDw8UyHnmuxyceTEGo=
@@ -989,6 +997,8 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec
989997
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
990998
github.com/yunify/qingstor-sdk-go/v3 v3.2.0 h1:9sB2WZMgjwSUNZhrgvaNGazVltoFUUfuS9f0uCWtTr8=
991999
github.com/yunify/qingstor-sdk-go/v3 v3.2.0/go.mod h1:KciFNuMu6F4WLk9nGwwK69sCGKLCdd9f97ac/wfumS4=
1000+
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
1001+
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
9921002
github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8=
9931003
github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8=
9941004
github.com/zclconf/go-cty v1.8.4 h1:pwhhz5P+Fjxse7S7UriBrMu6AUJSZM5pKqGem1PjGAs=
@@ -1378,7 +1388,6 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
13781388
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
13791389
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
13801390
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1381-
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
13821391
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
13831392
google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
13841393
google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=

iterative/resource_task.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,11 +190,11 @@ func resourceTaskCreate(ctx context.Context, d *schema.ResourceData, m interface
190190

191191
task, err := resourceTaskBuild(ctx, d, m)
192192
if err != nil {
193+
utils.SendJitsuEvent("task/apply", err, utils.ResourceData(d))
193194
return diagnostic(diags, err, diag.Error)
194195
}
195196

196197
d.SetId(task.GetIdentifier(ctx).Long())
197-
198198
if err := task.Create(ctx); err != nil {
199199
diags = diagnostic(diags, err, diag.Error)
200200
if err := task.Delete(ctx); err != nil {
@@ -205,32 +205,38 @@ func resourceTaskCreate(ctx context.Context, d *schema.ResourceData, m interface
205205
}
206206
}
207207

208+
utils.SendJitsuEvent("task/apply", err, utils.ResourceData(d))
208209
return
209210
}
210211

211212
func resourceTaskRead(ctx context.Context, d *schema.ResourceData, m interface{}) (diags diag.Diagnostics) {
212213
task, err := resourceTaskBuild(ctx, d, m)
213214
if err != nil {
215+
utils.SendJitsuEvent("task/read", err, utils.ResourceData(d))
214216
return diagnostic(diags, err, diag.Warning)
215217
}
216218

217219
if err := task.Read(ctx); err != nil {
220+
utils.SendJitsuEvent("task/read", err, utils.ResourceData(d))
218221
return diagnostic(diags, err, diag.Warning)
219222
}
220223

221224
if keyPair, err := task.GetKeyPair(ctx); err != nil {
222225
if err != common.NotImplementedError {
226+
utils.SendJitsuEvent("task/read", err, utils.ResourceData(d))
223227
return diagnostic(diags, err, diag.Warning)
224228
}
225229
} else {
226230
publicKey, err := keyPair.PublicString()
227231
if err != nil {
232+
utils.SendJitsuEvent("task/read", err, utils.ResourceData(d))
228233
return diagnostic(diags, err, diag.Warning)
229234
}
230235
d.Set("ssh_public_key", publicKey)
231236

232237
privateKey, err := keyPair.PrivateString()
233238
if err != nil {
239+
utils.SendJitsuEvent("task/read", err, utils.ResourceData(d))
234240
return diagnostic(diags, err, diag.Warning)
235241
}
236242
d.Set("ssh_private_key", privateKey)
@@ -255,12 +261,14 @@ func resourceTaskRead(ctx context.Context, d *schema.ResourceData, m interface{}
255261

256262
status, err := task.Status(ctx)
257263
if err != nil {
264+
utils.SendJitsuEvent("task/read", err, utils.ResourceData(d))
258265
return diagnostic(diags, err, diag.Warning)
259266
}
260267
d.Set("status", status)
261268

262269
logs, err := task.Logs(ctx)
263270
if err != nil {
271+
utils.SendJitsuEvent("task/read", err, utils.ResourceData(d))
264272
return diagnostic(diags, err, diag.Warning)
265273
}
266274

@@ -272,6 +280,7 @@ func resourceTaskRead(ctx context.Context, d *schema.ResourceData, m interface{}
272280
logger.Info("logs")
273281
logger.Info("status")
274282

283+
utils.SendJitsuEvent("task/read", err, utils.ResourceData(d))
275284
return diags
276285
}
277286

@@ -280,13 +289,16 @@ func resourceTaskDelete(ctx context.Context, d *schema.ResourceData, m interface
280289

281290
task, err := resourceTaskBuild(ctx, d, m)
282291
if err != nil {
292+
utils.SendJitsuEvent("task/destroy", err, utils.ResourceData(d))
283293
return diagnostic(diags, err, diag.Error)
284294
}
285295

286296
if err := task.Delete(ctx); err != nil {
297+
utils.SendJitsuEvent("task/destroy", err, utils.ResourceData(d))
287298
return diagnostic(diags, err, diag.Error)
288299
}
289300

301+
utils.SendJitsuEvent("task/destroy", err, utils.ResourceData(d))
290302
return
291303
}
292304

0 commit comments

Comments
 (0)