Skip to content

Commit f6a8829

Browse files
committed
work on breaking changes
Signed-off-by: Roman Dmytrenko <[email protected]>
1 parent 45784e0 commit f6a8829

File tree

8 files changed

+66
-58
lines changed

8 files changed

+66
-58
lines changed

build/internal/ui.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ func UI(ctx context.Context, client *dagger.Client, source *dagger.Directory) (*
1515
WithoutDirectory("node_modules")).
1616
WithWorkdir("/src").
1717
WithMountedCache("/src/node_modules", cache).
18-
WithExec([]string{"npm", "install"}).
18+
WithExec([]string{"npm", "ci"}).
1919
WithExec([]string{"npm", "run", "build"}), nil
2020
}

build/testing/cli.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,8 @@ exit $?`,
128128
WithEnvVariable("MINIO_ROOT_USER", "user").
129129
WithEnvVariable("MINIO_ROOT_PASSWORD", "password").
130130
WithEnvVariable("MINIO_BROWSER", "off").
131-
WithExec([]string{"server", "/data", "--address", ":9009", "--quiet"}, dagger.ContainerWithExecOpts{UseEntrypoint: true}).
132-
AsService()
131+
WithDefaultArgs([]string{"server", "/data", "--address", ":9009", "--quiet"}).
132+
AsService(dagger.ContainerAsServiceOpts{UseEntrypoint: true})
133133

134134
if _, err := assertExec(ctx,
135135
container.WithServiceBinding("minio", minio).

build/testing/integration.go

+32-34
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ func take(fn func() error) func() error {
267267
func api(ctx context.Context, _ *dagger.Client, base, flipt *dagger.Container, conf testConfig) func() error {
268268
return suite(ctx, "api", base,
269269
// create unique instance for test case
270-
flipt.WithEnvVariable("UNIQUE", uuid.New().String()).WithExec(nil), conf)
270+
flipt.WithEnvVariable("UNIQUE", uuid.New().String()), conf)
271271
}
272272

273273
func snapshot(ctx context.Context, _ *dagger.Client, base, flipt *dagger.Container, conf testConfig) func() error {
@@ -278,7 +278,7 @@ func snapshot(ctx context.Context, _ *dagger.Client, base, flipt *dagger.Contain
278278
WithEnvVariable("FLIPT_STORAGE_LOCAL_PATH", "/tmp/testdata").
279279
WithEnvVariable("UNIQUE", uuid.New().String())
280280

281-
return suite(ctx, "snapshot", base, flipt.WithExec(nil), conf)
281+
return suite(ctx, "snapshot", base, flipt, conf)
282282
}
283283

284284
func ofrep(ctx context.Context, _ *dagger.Client, base, flipt *dagger.Container, conf testConfig) func() error {
@@ -289,7 +289,7 @@ func ofrep(ctx context.Context, _ *dagger.Client, base, flipt *dagger.Container,
289289
WithEnvVariable("FLIPT_STORAGE_LOCAL_PATH", "/tmp/testdata").
290290
WithEnvVariable("UNIQUE", uuid.New().String())
291291

292-
return suite(ctx, "ofrep", base, flipt.WithExec(nil), conf)
292+
return suite(ctx, "ofrep", base, flipt, conf)
293293
}
294294

295295
func withSQLite(fn testCaseFn) testCaseFn {
@@ -348,10 +348,8 @@ func withCockroach(fn testCaseFn) testCaseFn {
348348
WithEnvVariable("COCKROACH_DATABASE", "defaultdb").
349349
WithEnvVariable("UNIQUE", uuid.New().String()).
350350
WithExposedPort(26257).
351-
WithExec(
352-
[]string{"start-single-node", "--single-node", "--insecure", "--store=type=mem,size=0.7Gb", "--accept-sql-without-tls", "--logtostderr=ERROR"},
353-
dagger.ContainerWithExecOpts{UseEntrypoint: true}).
354-
AsService()),
351+
WithDefaultArgs([]string{"start-single-node", "--single-node", "--insecure", "--store=type=mem,size=0.7Gb", "--accept-sql-without-tls", "--logtostderr=ERROR"}).
352+
AsService(dagger.ContainerAsServiceOpts{UseEntrypoint: true})),
355353
conf,
356354
)
357355
}
@@ -363,7 +361,7 @@ func cache(ctx context.Context, _ *dagger.Client, base, flipt *dagger.Container,
363361
WithEnvVariable("FLIPT_CACHE_ENABLED", "true").
364362
WithEnvVariable("FLIPT_CACHE_TTL", "1s")
365363

366-
return suite(ctx, "api", base, flipt.WithExec(nil), conf)
364+
return suite(ctx, "api", base, flipt, conf)
367365
}
368366

369367
func cacheWithTLS(ctx context.Context, client *dagger.Client, base, flipt *dagger.Container, conf testConfig) func() error {
@@ -376,7 +374,7 @@ func cacheWithTLS(ctx context.Context, client *dagger.Client, base, flipt *dagge
376374
WithExposedPort(6379).
377375
WithNewFile("/opt/tls/key", string(keyBytes)).
378376
WithNewFile("/opt/tls/crt", string(crtBytes)).
379-
WithExec([]string{
377+
WithDefaultArgs([]string{
380378
"redis-server", "--tls-port", "6379", "--port", "0",
381379
"--tls-key-file", "/opt/tls/key", "--tls-cert-file",
382380
"/opt/tls/crt", "--tls-ca-cert-file", "/opt/tls/crt",
@@ -394,7 +392,7 @@ func cacheWithTLS(ctx context.Context, client *dagger.Client, base, flipt *dagge
394392
WithEnvVariable("FLIPT_CACHE_REDIS_CA_CERT_PATH", "/opt/tls/crt").
395393
WithNewFile("/opt/tls/crt", string(crtBytes)).
396394
WithServiceBinding("redis", redis)
397-
return suite(ctx, "api", base, flipt.WithExec(nil), conf)
395+
return suite(ctx, "api", base, flipt, conf)
398396
}
399397

400398
const (
@@ -410,13 +408,14 @@ func local(ctx context.Context, client *dagger.Client, base, flipt *dagger.Conta
410408
WithEnvVariable("FLIPT_STORAGE_LOCAL_PATH", "/tmp/testdata").
411409
WithEnvVariable("UNIQUE", uuid.New().String())
412410

413-
return suite(ctx, "readonly", base, flipt.WithExec(nil), conf)
411+
return suite(ctx, "readonly", base, flipt, conf)
414412
}
415413

416414
func git(ctx context.Context, client *dagger.Client, base, flipt *dagger.Container, conf testConfig) func() error {
417415
gitea := client.Container().
418416
From("gitea/gitea:1.21.1").
419-
WithExposedPort(3000)
417+
WithExposedPort(3000).
418+
AsService()
420419

421420
stew := config.Config{
422421
URL: "http://gitea:3000",
@@ -458,15 +457,15 @@ func git(ctx context.Context, client *dagger.Client, base, flipt *dagger.Contain
458457
WithWorkdir("/work").
459458
WithDirectory("/work/base", base.Directory(rootReadOnlyTestdataDir)).
460459
WithNewFile("/etc/stew/config.yml", string(contents)).
461-
WithServiceBinding("gitea", gitea.AsService()).
462-
WithExec(nil).
460+
WithServiceBinding("gitea", gitea).
461+
WithExec([]string{"/usr/local/bin/stew", "-config", "/etc/stew/config.yml"}).
463462
Sync(ctx)
464463
if err != nil {
465464
return func() error { return err }
466465
}
467466

468467
flipt = flipt.
469-
WithServiceBinding("gitea", gitea.AsService()).
468+
WithServiceBinding("gitea", gitea).
470469
WithEnvVariable("FLIPT_LOG_LEVEL", "WARN").
471470
WithEnvVariable("FLIPT_STORAGE_TYPE", "git").
472471
WithEnvVariable("FLIPT_STORAGE_GIT_REPOSITORY", "http://gitea:3000/root/features.git").
@@ -477,7 +476,7 @@ func git(ctx context.Context, client *dagger.Client, base, flipt *dagger.Contain
477476
// Git backend supports arbitrary references
478477
conf.references = true
479478

480-
return suite(ctx, "readonly", base, flipt.WithExec(nil), conf)
479+
return suite(ctx, "readonly", base, flipt, conf)
481480
}
482481

483482
func s3(ctx context.Context, client *dagger.Client, base, flipt *dagger.Container, conf testConfig) func() error {
@@ -488,8 +487,8 @@ func s3(ctx context.Context, client *dagger.Client, base, flipt *dagger.Containe
488487
WithEnvVariable("MINIO_ROOT_USER", "user").
489488
WithEnvVariable("MINIO_ROOT_PASSWORD", "password").
490489
WithEnvVariable("MINIO_BROWSER", "off").
491-
WithExec([]string{"server", "/data", "--address", ":9009", "--quiet"}, dagger.ContainerWithExecOpts{UseEntrypoint: true}).
492-
AsService()
490+
WithDefaultArgs([]string{"server", "/data", "--address", ":9009", "--quiet"}).
491+
AsService(dagger.ContainerAsServiceOpts{UseEntrypoint: true})
493492

494493
_, err := base.
495494
WithServiceBinding("minio", minio).
@@ -512,7 +511,7 @@ func s3(ctx context.Context, client *dagger.Client, base, flipt *dagger.Containe
512511
WithEnvVariable("FLIPT_STORAGE_OBJECT_S3_BUCKET", "testdata").
513512
WithEnvVariable("UNIQUE", uuid.New().String())
514513

515-
return suite(ctx, "readonly", base, flipt.WithExec(nil), conf)
514+
return suite(ctx, "readonly", base, flipt, conf)
516515
}
517516

518517
func oci(ctx context.Context, client *dagger.Client, base, flipt *dagger.Container, conf testConfig) func() error {
@@ -549,12 +548,13 @@ func oci(ctx context.Context, client *dagger.Client, base, flipt *dagger.Contain
549548
platforms.MustParse(string(platform)).Architecture)).
550549
WithExposedPort(5000).
551550
WithNewFile("/etc/zot/htpasswd", htpasswd).
552-
WithNewFile("/etc/zot/config.json", zotConfig)
551+
WithNewFile("/etc/zot/config.json", zotConfig).
552+
AsService(dagger.ContainerAsServiceOpts{UseEntrypoint: true})
553553

554554
if _, err := flipt.
555555
WithDirectory("/tmp/testdata", base.Directory(singleRevisionTestdataDir)).
556556
WithWorkdir("/tmp/testdata").
557-
WithServiceBinding("zot", zot.AsService()).
557+
WithServiceBinding("zot", zot).
558558
WithEnvVariable("FLIPT_STORAGE_OCI_AUTHENTICATION_USERNAME", "username").
559559
WithEnvVariable("FLIPT_STORAGE_OCI_AUTHENTICATION_PASSWORD", "password").
560560
WithExec([]string{"/flipt", "bundle", "build", "readonly:latest"}).
@@ -566,15 +566,15 @@ func oci(ctx context.Context, client *dagger.Client, base, flipt *dagger.Contain
566566
}
567567

568568
flipt = flipt.
569-
WithServiceBinding("zot", zot.AsService()).
569+
WithServiceBinding("zot", zot).
570570
WithEnvVariable("FLIPT_LOG_LEVEL", "WARN").
571571
WithEnvVariable("FLIPT_STORAGE_TYPE", "oci").
572572
WithEnvVariable("FLIPT_STORAGE_OCI_REPOSITORY", "http://zot:5000/readonly:latest").
573573
WithEnvVariable("FLIPT_STORAGE_OCI_AUTHENTICATION_USERNAME", "username").
574574
WithEnvVariable("FLIPT_STORAGE_OCI_AUTHENTICATION_PASSWORD", "password").
575575
WithEnvVariable("UNIQUE", uuid.New().String())
576576

577-
return suite(ctx, "readonly", base, flipt.WithExec(nil), conf)
577+
return suite(ctx, "readonly", base, flipt, conf)
578578
}
579579

580580
func importInto(ctx context.Context, base, flipt, fliptToTest *dagger.Container, flags ...string) error {
@@ -609,8 +609,7 @@ func importExport(ctx context.Context, _ *dagger.Client, base, flipt *dagger.Con
609609

610610
// create unique instance for test case
611611
fliptToTest := flipt.
612-
WithEnvVariable("UNIQUE", uuid.New().String()).
613-
WithExec(nil)
612+
WithEnvVariable("UNIQUE", uuid.New().String())
614613

615614
if err := importInto(ctx, base, flipt, fliptToTest, flags...); err != nil {
616615
return err
@@ -660,7 +659,7 @@ func importExport(ctx context.Context, _ *dagger.Client, base, flipt *dagger.Con
660659

661660
func authn(ctx context.Context, _ *dagger.Client, base, flipt *dagger.Container, conf testConfig) func() error {
662661
// create unique instance for test case
663-
fliptToTest := flipt.WithEnvVariable("UNIQUE", uuid.New().String()).WithExec(nil)
662+
fliptToTest := flipt.WithEnvVariable("UNIQUE", uuid.New().String())
664663
// import state into instance before running test
665664
if err := importInto(ctx, base, flipt, fliptToTest, "--address", conf.address, "--token", bootstrapToken); err != nil {
666665
return func() error { return err }
@@ -673,8 +672,7 @@ func authz(ctx context.Context, client *dagger.Client, base, flipt *dagger.Conta
673672
return withAuthz(func(ctx context.Context, client *dagger.Client, base, flipt *dagger.Container, conf testConfig) func() error {
674673
// create unique instance for test case
675674
fliptToTest := flipt.
676-
WithEnvVariable("UNIQUE", uuid.New().String()).
677-
WithExec(nil)
675+
WithEnvVariable("UNIQUE", uuid.New().String())
678676

679677
// import state into instance before running test
680678
if err := importInto(ctx, base, flipt, fliptToTest, "--address", conf.address, "--token", bootstrapToken); err != nil {
@@ -906,7 +904,7 @@ func azblob(ctx context.Context, client *dagger.Client, base, flipt *dagger.Cont
906904
From("mcr.microsoft.com/azure-storage/azurite").
907905
WithEnvVariable("UNIQUE", uuid.New().String()).
908906
WithExposedPort(10000).
909-
WithExec([]string{"azurite-blob", "--blobHost", "0.0.0.0", "--silent"}).
907+
WithDefaultArgs([]string{"azurite-blob", "--blobHost", "0.0.0.0", "--silent"}).
910908
AsService()
911909

912910
_, err := base.
@@ -930,7 +928,7 @@ func azblob(ctx context.Context, client *dagger.Client, base, flipt *dagger.Cont
930928
WithEnvVariable("AZURE_STORAGE_KEY", "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==").
931929
WithEnvVariable("UNIQUE", uuid.New().String())
932930

933-
return suite(ctx, "readonly", base, flipt.WithExec(nil), conf)
931+
return suite(ctx, "readonly", base, flipt, conf)
934932
}
935933

936934
// gcs simulates the Google Cloud Storage service
@@ -939,8 +937,8 @@ func gcs(ctx context.Context, client *dagger.Client, base, flipt *dagger.Contain
939937
From("fsouza/fake-gcs-server").
940938
WithEnvVariable("UNIQUE", uuid.New().String()).
941939
WithExposedPort(4443).
942-
WithExec([]string{"-scheme", "http", "-public-host", "gcs:4443"}, dagger.ContainerWithExecOpts{UseEntrypoint: true}).
943-
AsService()
940+
WithDefaultArgs([]string{"-scheme", "http", "-public-host", "gcs:4443"}).
941+
AsService(dagger.ContainerAsServiceOpts{UseEntrypoint: true})
944942

945943
_, err := base.
946944
WithServiceBinding("gcs", gcs).
@@ -989,7 +987,7 @@ func signJWT(key crypto.PrivateKey, claims interface{}) string {
989987
// The function generates two JWTs, one for Flipt to identify itself and one which is returned to the caller.
990988
// The caller can use this as the service account token identity to be mounted into the container with the
991989
// client used for running the test and authenticating with Flipt.
992-
func serveOIDC(_ context.Context, _ *dagger.Client, base, flipt *dagger.Container) (*dagger.Container, []byte, error) {
990+
func serveOIDC(ctx context.Context, _ *dagger.Client, base, flipt *dagger.Container) (*dagger.Container, []byte, error) {
993991
priv, err := rsa.GenerateKey(rand.Reader, 4096)
994992
if err != nil {
995993
return nil, nil, err
@@ -1072,7 +1070,7 @@ func serveOIDC(_ context.Context, _ *dagger.Client, base, flipt *dagger.Containe
10721070
WithNewFile("/server.key", caPrivKeyPEM.String()).
10731071
WithNewFile("/priv.pem", rsaSigningKey.String()).
10741072
WithExposedPort(443).
1075-
WithExec([]string{
1073+
WithDefaultArgs([]string{
10761074
"sh",
10771075
"-c",
10781076
"go run ./build/internal/cmd/discover/... --private-key /priv.pem",

build/testing/migration.go

+6-5
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func Migration(ctx context.Context, client *dagger.Client, base, flipt *dagger.C
5353
// import testdata into latest Flipt instance (using latest image for import)
5454
_, err = latest.
5555
WithFile("import.yaml", fi).
56-
WithServiceBinding("flipt", latest.WithExec(nil).AsService()).
56+
WithServiceBinding("flipt", latest.AsService(dagger.ContainerAsServiceOpts{UseEntrypoint: true})).
5757
WithExec([]string{"sh", "-c", "sleep 5 && /flipt import --address grpc://flipt:9000 import.yaml"}).
5858
Sync(ctx)
5959
if err != nil {
@@ -81,14 +81,15 @@ func Migration(ctx context.Context, client *dagger.Client, base, flipt *dagger.C
8181
WithEnvVariable("FLIPT_AUTHENTICATION_REQUIRED", "true").
8282
WithEnvVariable("FLIPT_AUTHENTICATION_METHODS_TOKEN_ENABLED", "true").
8383
WithEnvVariable("FLIPT_AUTHENTICATION_METHODS_TOKEN_BOOTSTRAP_TOKEN", "secret").
84-
WithExec(nil).
85-
AsService()).
84+
AsService(dagger.ContainerAsServiceOpts{UseEntrypoint: true})).
8685
WithWorkdir("build/testing/integration/readonly").
8786
WithEnvVariable("UNIQUE", uuid.New().String()).
88-
WithExec([]string{"go", "test", "-v", "-race",
87+
WithExec([]string{
88+
"go", "test", "-v", "-race",
8989
"--flipt-addr", "grpc://flipt:9000",
9090
"--flipt-token", "secret",
91-
"."}).
91+
".",
92+
}).
9293
Sync(ctx)
9394

9495
return err

build/testing/redpanda.go

+5-3
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,16 @@ func redpandaTLSService(_ context.Context, client *dagger.Client, hostAlias, sup
2929
WithExposedPort(9644, dagger.ContainerWithExposedPortOpts{
3030
Description: "admin api endpoint",
3131
}).
32-
WithExec([]string{"redpanda",
32+
WithDefaultArgs([]string{
33+
"redpanda",
3334
"start",
3435
"--mode=dev-container",
3536
"--smp=1",
3637
"--overprovisioned",
3738
"--check=false",
38-
"--memory=200M"}, dagger.ContainerWithExecOpts{UseEntrypoint: true}).
39-
AsService()
39+
"--memory=200M",
40+
}).
41+
AsService(dagger.ContainerAsServiceOpts{UseEntrypoint: true})
4042
return kafka, nil
4143
}
4244

build/testing/test.go

+9-10
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,15 @@ func Unit(ctx context.Context, client *dagger.Client, flipt *dagger.Container) (
1212
// create Redis service container
1313
redisSrv := client.Container().
1414
From("redis:alpine").
15-
WithExposedPort(6379).
16-
WithExec(nil)
15+
WithExposedPort(6379)
1716

1817
gitea := client.Container().
1918
From("gitea/gitea:1.21.1").
2019
WithExposedPort(3000).
21-
WithExec(nil)
20+
AsService()
2221

2322
flipt = flipt.
24-
WithServiceBinding("gitea", gitea.AsService()).
23+
WithServiceBinding("gitea", gitea).
2524
WithExec([]string{"go", "run", "./build/internal/cmd/gitea/...", "-gitea-url", "http://gitea:3000", "-testdata-dir", "./internal/storage/fs/git/testdata"})
2625

2726
out, err := flipt.Stdout(ctx)
@@ -40,24 +39,25 @@ func Unit(ctx context.Context, client *dagger.Client, flipt *dagger.Container) (
4039
WithEnvVariable("MINIO_ROOT_USER", "user").
4140
WithEnvVariable("MINIO_ROOT_PASSWORD", "password").
4241
WithEnvVariable("MINIO_BROWSER", "off").
43-
WithExec([]string{"server", "/data", "--address", ":9009", "--quiet"}, dagger.ContainerWithExecOpts{UseEntrypoint: true})
42+
WithDefaultArgs([]string{"server", "/data", "--address", ":9009", "--quiet"}).
43+
AsService(dagger.ContainerAsServiceOpts{UseEntrypoint: true})
4444

4545
azurite := client.Container().
4646
From("mcr.microsoft.com/azure-storage/azurite").
4747
WithExposedPort(10000).
48-
WithExec([]string{"azurite-blob", "--blobHost", "0.0.0.0", "--silent"}).
48+
WithDefaultArgs([]string{"azurite-blob", "--blobHost", "0.0.0.0", "--silent"}).
4949
AsService()
5050

5151
gcs := client.Container().
5252
From("fsouza/fake-gcs-server").
5353
WithExposedPort(4443).
54-
WithExec([]string{"-scheme", "http", "-public-host", "gcs:4443"}, dagger.ContainerWithExecOpts{UseEntrypoint: true}).
55-
AsService()
54+
WithDefaultArgs([]string{"-scheme", "http", "-public-host", "gcs:4443"}).
55+
AsService(dagger.ContainerAsServiceOpts{UseEntrypoint: true})
5656

5757
// S3 unit testing
5858

5959
flipt = flipt.
60-
WithServiceBinding("minio", minio.AsService()).
60+
WithServiceBinding("minio", minio).
6161
WithEnvVariable("TEST_S3_ENDPOINT", "http://minio:9009").
6262
WithEnvVariable("AWS_ACCESS_KEY_ID", "user").
6363
WithEnvVariable("AWS_SECRET_ACCESS_KEY", "password")
@@ -103,5 +103,4 @@ func Unit(ctx context.Context, client *dagger.Client, flipt *dagger.Container) (
103103

104104
// attempt to export coverage if its exists
105105
return flipt.File("coverage.txt"), nil
106-
107106
}

build/testing/ui.go

-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ func buildUI(ctx context.Context, ui, flipt *dagger.Container) (_ *dagger.Contai
4545
WithEnvVariable("FLIPT_LOG_LEVEL", "WARN").
4646
WithEnvVariable("FLIPT_AUTHENTICATION_METHODS_TOKEN_ENABLED", "true").
4747
WithEnvVariable("UNIQUE", time.Now().String()).
48-
WithExec(nil).
4948
AsService()).
5049
WithFile("/usr/bin/flipt", flipt.File("/flipt")).
5150
WithEnvVariable("FLIPT_ADDRESS", "http://flipt:8080"), nil

0 commit comments

Comments
 (0)