feat(service): support comma-separated values for host-to-IP mappings #6364
+51
−5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Title: support comma-separated values for
--host-add
indocker service update
Closes moby/moby#50769
- What I did
--host-add
flag inservice update
to support comma-separated host mappings (e.g.,--host-add a:1.1.1.1,b:2.2.2.2
).ListOptsCSV
, a wrapper aroundListOpts
that implementspflag.SliceValue
for parsing comma-separated lists.updateHosts
to usepflag.SliceValue
instead ofListOpts
.update_test.go
to cover multiple host mappings provided in a single flag instance.- How I did it
ListOptsCSV
type inopts/opts.go
that handles splitting and validating comma-separated values.flags.Var(&options.hosts, flagHostAdd, ...)
to useopts.NewListOptsCSV(&options.hosts)
inupdate.go
.updateHosts
to retrieve values viapflag.SliceValue
.service update
reference docs to note that multiple entries can be separated by commas.- How to verify it
docker service update --host-add a:1.1.1.1,b:2.2.2.2 <service>
.a → 1.1.1.1
andb → 2.2.2.2
) are applied.--host-add
flags) still works as expected.go test ./cli/command/service/...
.- Human readable description for the release notes
- A picture of a cute animal (not mandatory but encouraged)
🦦