From ee22a50b751bc55e43540065776c048b06246b7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Gronowski?= Date: Mon, 20 Oct 2025 12:57:33 +0200 Subject: [PATCH] client/config: Use Config instead of Spec as field MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Paweł Gronowski --- client/config_create.go | 4 ++-- client/config_create_test.go | 4 ++-- client/config_update.go | 4 ++-- client/config_update_test.go | 9 ++++---- integration/config/config_test.go | 22 +++++++++---------- integration/secret/secret_test.go | 6 ++--- integration/service/create_test.go | 6 ++--- integration/service/update_test.go | 8 +++---- internal/testutil/daemon/config.go | 6 ++--- .../moby/moby/client/config_create.go | 4 ++-- .../moby/moby/client/config_update.go | 4 ++-- 11 files changed, 38 insertions(+), 39 deletions(-) diff --git a/client/config_create.go b/client/config_create.go index 1b1b556716..874e2c947c 100644 --- a/client/config_create.go +++ b/client/config_create.go @@ -9,7 +9,7 @@ import ( // ConfigCreateOptions holds options for creating a config. type ConfigCreateOptions struct { - Config swarm.ConfigSpec + Spec swarm.ConfigSpec } // ConfigCreateResult holds the result from the ConfigCreate method. @@ -19,7 +19,7 @@ type ConfigCreateResult struct { // ConfigCreate creates a new config. func (cli *Client) ConfigCreate(ctx context.Context, options ConfigCreateOptions) (ConfigCreateResult, error) { - resp, err := cli.post(ctx, "/configs/create", nil, options.Config, nil) + resp, err := cli.post(ctx, "/configs/create", nil, options.Spec, nil) defer ensureReaderClosed(resp) if err != nil { return ConfigCreateResult{}, err diff --git a/client/config_create_test.go b/client/config_create_test.go index d301965986..815e7d877a 100644 --- a/client/config_create_test.go +++ b/client/config_create_test.go @@ -20,7 +20,7 @@ func TestConfigCreateError(t *testing.T) { ) assert.NilError(t, err) - _, err = client.ConfigCreate(context.Background(), ConfigCreateOptions{Config: swarm.ConfigSpec{}}) + _, err = client.ConfigCreate(context.Background(), ConfigCreateOptions{Spec: swarm.ConfigSpec{}}) assert.Check(t, is.ErrorType(err, cerrdefs.IsInternal)) } @@ -45,7 +45,7 @@ func TestConfigCreate(t *testing.T) { ) assert.NilError(t, err) - r, err := client.ConfigCreate(context.Background(), ConfigCreateOptions{Config: swarm.ConfigSpec{}}) + r, err := client.ConfigCreate(context.Background(), ConfigCreateOptions{Spec: swarm.ConfigSpec{}}) assert.NilError(t, err) assert.Check(t, is.Equal(r.ID, "test_config")) } diff --git a/client/config_update.go b/client/config_update.go index 54a5a21e1b..2651f4b2f8 100644 --- a/client/config_update.go +++ b/client/config_update.go @@ -10,7 +10,7 @@ import ( // ConfigUpdateOptions holds options for updating a config. type ConfigUpdateOptions struct { Version swarm.Version - Config swarm.ConfigSpec + Spec swarm.ConfigSpec } type ConfigUpdateResult struct{} @@ -23,7 +23,7 @@ func (cli *Client) ConfigUpdate(ctx context.Context, id string, options ConfigUp } query := url.Values{} query.Set("version", options.Version.String()) - resp, err := cli.post(ctx, "/configs/"+id+"/update", query, options.Config, nil) + resp, err := cli.post(ctx, "/configs/"+id+"/update", query, options.Spec, nil) defer ensureReaderClosed(resp) if err != nil { return ConfigUpdateResult{}, err diff --git a/client/config_update_test.go b/client/config_update_test.go index ef116e1590..3b0bb4312d 100644 --- a/client/config_update_test.go +++ b/client/config_update_test.go @@ -8,7 +8,6 @@ import ( "testing" cerrdefs "github.com/containerd/errdefs" - "github.com/moby/moby/api/types/swarm" "gotest.tools/v3/assert" is "gotest.tools/v3/assert/cmp" ) @@ -19,14 +18,14 @@ func TestConfigUpdateError(t *testing.T) { ) assert.NilError(t, err) - _, err = client.ConfigUpdate(context.Background(), "config_id", ConfigUpdateOptions{Version: swarm.Version{}, Config: swarm.ConfigSpec{}}) + _, err = client.ConfigUpdate(context.Background(), "config_id", ConfigUpdateOptions{}) assert.Check(t, is.ErrorType(err, cerrdefs.IsInternal)) - _, err = client.ConfigUpdate(context.Background(), "", ConfigUpdateOptions{Version: swarm.Version{}, Config: swarm.ConfigSpec{}}) + _, err = client.ConfigUpdate(context.Background(), "", ConfigUpdateOptions{}) assert.Check(t, is.ErrorType(err, cerrdefs.IsInvalidArgument)) assert.Check(t, is.ErrorContains(err, "value is empty")) - _, err = client.ConfigUpdate(context.Background(), " ", ConfigUpdateOptions{Version: swarm.Version{}, Config: swarm.ConfigSpec{}}) + _, err = client.ConfigUpdate(context.Background(), " ", ConfigUpdateOptions{}) assert.Check(t, is.ErrorType(err, cerrdefs.IsInvalidArgument)) assert.Check(t, is.ErrorContains(err, "value is empty")) } @@ -47,6 +46,6 @@ func TestConfigUpdate(t *testing.T) { ) assert.NilError(t, err) - _, err = client.ConfigUpdate(context.Background(), "config_id", ConfigUpdateOptions{Version: swarm.Version{}, Config: swarm.ConfigSpec{}}) + _, err = client.ConfigUpdate(context.Background(), "config_id", ConfigUpdateOptions{}) assert.NilError(t, err) } diff --git a/integration/config/config_test.go b/integration/config/config_test.go index 85e7e1d4fe..90ffa53ca6 100644 --- a/integration/config/config_test.go +++ b/integration/config/config_test.go @@ -118,7 +118,7 @@ func TestConfigList(t *testing.T) { func createConfig(ctx context.Context, t *testing.T, apiClient client.APIClient, name string, data []byte, labels map[string]string) string { result, err := apiClient.ConfigCreate(ctx, client.ConfigCreateOptions{ - Config: swarmtypes.ConfigSpec{ + Spec: swarmtypes.ConfigSpec{ Annotations: swarmtypes.Annotations{ Name: name, Labels: labels, @@ -127,8 +127,8 @@ func createConfig(ctx context.Context, t *testing.T, apiClient client.APIClient, }, }) assert.NilError(t, err) - assert.Check(t, result.Response.ID != "") - return result.Response.ID + assert.Check(t, result.ID != "") + return result.ID } func TestConfigsCreateAndDelete(t *testing.T) { @@ -187,7 +187,7 @@ func TestConfigsUpdate(t *testing.T) { // test UpdateConfig with full ID insp.Config.Spec.Labels = map[string]string{"test": "test1"} - _, err = c.ConfigUpdate(ctx, client.SwarmVersionedID{ID: configID, Version: insp.Config.Version}, client.ConfigUpdateOptions{Config: insp.Config.Spec}) + _, err = c.ConfigUpdate(ctx, configID, client.ConfigUpdateOptions{Version: insp.Config.Version, Spec: insp.Config.Spec}) assert.NilError(t, err) insp, err = c.ConfigInspect(ctx, configID, client.ConfigInspectOptions{}) @@ -196,7 +196,7 @@ func TestConfigsUpdate(t *testing.T) { // test UpdateConfig with full name insp.Config.Spec.Labels = map[string]string{"test": "test2"} - _, err = c.ConfigUpdate(ctx, client.SwarmVersionedID{ID: testName, Version: insp.Config.Version}, client.ConfigUpdateOptions{Config: insp.Config.Spec}) + _, err = c.ConfigUpdate(ctx, testName, client.ConfigUpdateOptions{Version: insp.Config.Version, Spec: insp.Config.Spec}) assert.NilError(t, err) insp, err = c.ConfigInspect(ctx, configID, client.ConfigInspectOptions{}) @@ -205,7 +205,7 @@ func TestConfigsUpdate(t *testing.T) { // test UpdateConfig with prefix ID insp.Config.Spec.Labels = map[string]string{"test": "test3"} - _, err = c.ConfigUpdate(ctx, client.SwarmVersionedID{ID: configID[:1], Version: insp.Config.Version}, client.ConfigUpdateOptions{Config: insp.Config.Spec}) + _, err = c.ConfigUpdate(ctx, configID[:1], client.ConfigUpdateOptions{Version: insp.Config.Version, Spec: insp.Config.Spec}) assert.NilError(t, err) insp, err = c.ConfigInspect(ctx, configID, client.ConfigInspectOptions{}) @@ -215,7 +215,7 @@ func TestConfigsUpdate(t *testing.T) { // test UpdateConfig in updating Data which is not supported in daemon // this test will produce an error in func UpdateConfig insp.Config.Spec.Data = []byte("TESTINGDATA2") - _, err = c.ConfigUpdate(ctx, client.SwarmVersionedID{ID: configID, Version: insp.Config.Version}, client.ConfigUpdateOptions{Config: insp.Config.Spec}) + _, err = c.ConfigUpdate(ctx, configID, client.ConfigUpdateOptions{Version: insp.Config.Version, Spec: insp.Config.Spec}) assert.Check(t, cerrdefs.IsInvalidArgument(err)) assert.Check(t, is.ErrorContains(err, "only updates to Labels are allowed")) } @@ -247,7 +247,7 @@ func TestTemplatedConfig(t *testing.T) { Data: []byte("this is a config"), } referencedConfigResult, err := c.ConfigCreate(ctx, client.ConfigCreateOptions{ - Config: referencedConfigSpec, + Spec: referencedConfigSpec, }) assert.Check(t, err) @@ -266,7 +266,7 @@ func TestTemplatedConfig(t *testing.T) { } templatedConfigResult, err := c.ConfigCreate(ctx, client.ConfigCreateOptions{ - Config: configSpec, + Spec: configSpec, }) assert.Check(t, err) @@ -280,7 +280,7 @@ func TestTemplatedConfig(t *testing.T) { GID: "0", Mode: 0o600, }, - ConfigID: templatedConfigResult.Response.ID, + ConfigID: templatedConfigResult.ID, ConfigName: templatedConfigName, }, ), @@ -292,7 +292,7 @@ func TestTemplatedConfig(t *testing.T) { GID: "0", Mode: 0o600, }, - ConfigID: referencedConfigResult.Response.ID, + ConfigID: referencedConfigResult.ID, ConfigName: referencedConfigName, }, ), diff --git a/integration/secret/secret_test.go b/integration/secret/secret_test.go index f9d8d82c5a..a0a26b2214 100644 --- a/integration/secret/secret_test.go +++ b/integration/secret/secret_test.go @@ -246,8 +246,8 @@ func TestTemplatedSecret(t *testing.T) { }, Data: []byte("this is a config"), } - referencedConfigResult, err := c.ConfigCreate(ctx, client.ConfigCreateOptions{ - Config: referencedConfigSpec, + referencedConfig, err := c.ConfigCreate(ctx, client.ConfigCreateOptions{ + Spec: referencedConfigSpec, }) assert.Check(t, err) @@ -289,7 +289,7 @@ func TestTemplatedSecret(t *testing.T) { GID: "0", Mode: 0o600, }, - ConfigID: referencedConfigResult.Response.ID, + ConfigID: referencedConfig.ID, ConfigName: referencedConfigName, }, ), diff --git a/integration/service/create_test.go b/integration/service/create_test.go index 294904e2ac..51c6adddd7 100644 --- a/integration/service/create_test.go +++ b/integration/service/create_test.go @@ -256,8 +256,8 @@ func TestCreateServiceConfigFileMode(t *testing.T) { defer apiClient.Close() configName := "TestConfig_" + t.Name() - configResp, err := apiClient.ConfigCreate(ctx, client.ConfigCreateOptions{ - Config: swarmtypes.ConfigSpec{ + resp, err := apiClient.ConfigCreate(ctx, client.ConfigCreateOptions{ + Spec: swarmtypes.ConfigSpec{ Annotations: swarmtypes.Annotations{ Name: configName, }, @@ -279,7 +279,7 @@ func TestCreateServiceConfigFileMode(t *testing.T) { GID: "0", Mode: 0o777, }, - ConfigID: configResp.Response.ID, + ConfigID: resp.ID, ConfigName: configName, }), ) diff --git a/integration/service/update_test.go b/integration/service/update_test.go index e06fe95777..5e5a7dda31 100644 --- a/integration/service/update_test.go +++ b/integration/service/update_test.go @@ -145,8 +145,8 @@ func TestServiceUpdateConfigs(t *testing.T) { configName := "TestConfig_" + t.Name() configTarget := "targetName" - configResp, err := apiClient.ConfigCreate(ctx, client.ConfigCreateOptions{ - Config: swarmtypes.ConfigSpec{ + resp, err := apiClient.ConfigCreate(ctx, client.ConfigCreateOptions{ + Spec: swarmtypes.ConfigSpec{ Annotations: swarmtypes.Annotations{ Name: configName, }, @@ -154,7 +154,7 @@ func TestServiceUpdateConfigs(t *testing.T) { }, }) assert.NilError(t, err) - assert.Check(t, configResp.Response.ID != "") + assert.Check(t, resp.ID != "") serviceName := "TestService_" + t.Name() serviceID := swarm.CreateService(ctx, t, d, swarm.ServiceWithName(serviceName)) @@ -169,7 +169,7 @@ func TestServiceUpdateConfigs(t *testing.T) { GID: "0", Mode: 0o600, }, - ConfigID: configResp.Response.ID, + ConfigID: resp.ID, ConfigName: configName, }, ) diff --git a/internal/testutil/daemon/config.go b/internal/testutil/daemon/config.go index b903e3a87c..6ef1a1510a 100644 --- a/internal/testutil/daemon/config.go +++ b/internal/testutil/daemon/config.go @@ -19,10 +19,10 @@ func (d *Daemon) CreateConfig(t testing.TB, configSpec swarm.ConfigSpec) string defer cli.Close() result, err := cli.ConfigCreate(context.Background(), client.ConfigCreateOptions{ - Config: configSpec, + Spec: configSpec, }) assert.NilError(t, err) - return result.Response.ID + return result.ID } // ListConfigs returns the list of the current swarm configs @@ -69,6 +69,6 @@ func (d *Daemon) UpdateConfig(t testing.TB, id string, f ...ConfigConstructor) { fn(config) } - _, err := cli.ConfigUpdate(context.Background(), client.SwarmVersionedID{ID: config.ID, Version: config.Version}, client.ConfigUpdateOptions{Config: config.Spec}) + _, err := cli.ConfigUpdate(context.Background(), config.ID, client.ConfigUpdateOptions{Version: config.Version, Spec: config.Spec}) assert.NilError(t, err) } diff --git a/vendor/github.com/moby/moby/client/config_create.go b/vendor/github.com/moby/moby/client/config_create.go index 1b1b556716..874e2c947c 100644 --- a/vendor/github.com/moby/moby/client/config_create.go +++ b/vendor/github.com/moby/moby/client/config_create.go @@ -9,7 +9,7 @@ import ( // ConfigCreateOptions holds options for creating a config. type ConfigCreateOptions struct { - Config swarm.ConfigSpec + Spec swarm.ConfigSpec } // ConfigCreateResult holds the result from the ConfigCreate method. @@ -19,7 +19,7 @@ type ConfigCreateResult struct { // ConfigCreate creates a new config. func (cli *Client) ConfigCreate(ctx context.Context, options ConfigCreateOptions) (ConfigCreateResult, error) { - resp, err := cli.post(ctx, "/configs/create", nil, options.Config, nil) + resp, err := cli.post(ctx, "/configs/create", nil, options.Spec, nil) defer ensureReaderClosed(resp) if err != nil { return ConfigCreateResult{}, err diff --git a/vendor/github.com/moby/moby/client/config_update.go b/vendor/github.com/moby/moby/client/config_update.go index 54a5a21e1b..2651f4b2f8 100644 --- a/vendor/github.com/moby/moby/client/config_update.go +++ b/vendor/github.com/moby/moby/client/config_update.go @@ -10,7 +10,7 @@ import ( // ConfigUpdateOptions holds options for updating a config. type ConfigUpdateOptions struct { Version swarm.Version - Config swarm.ConfigSpec + Spec swarm.ConfigSpec } type ConfigUpdateResult struct{} @@ -23,7 +23,7 @@ func (cli *Client) ConfigUpdate(ctx context.Context, id string, options ConfigUp } query := url.Values{} query.Set("version", options.Version.String()) - resp, err := cli.post(ctx, "/configs/"+id+"/update", query, options.Config, nil) + resp, err := cli.post(ctx, "/configs/"+id+"/update", query, options.Spec, nil) defer ensureReaderClosed(resp) if err != nil { return ConfigUpdateResult{}, err