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.
What I did
It's possible to set driver options when creating a network using compose ... compose spec / engine API.
But not when connecting an endpoint to a network ... compose spec / engine API.
The API field isn't new, but upcoming change moby/moby#47686 means it'll be useful for setting per-interface sysctls.
compose-spec/compose-go#627 adds the types.
compose-spec/compose-spec#498 updates the spec to match.
This PR pulls in the
go-compose
changes, and copies the driver options toEndpointSettings
for the API.I noticed a couple of fields in
EndpointSettings
that perhaps shouldn't be set ... the struct is an unfortunate mix of config and operational-data (used to report running state). Those fields will be cleared by the daemon, so the only potential problem is a bit of confusion - in particular, the container's IPv6 address is provided in the IPv6 gateway. But, probably best to deal with that separately, so I just left a FIXME comment in the new test.Related issue
(not mandatory) A picture of a cute animal, if possible in relation to what you did