Skip to content

Conversation

thaJeztah
Copy link
Member

This environment variable allows for setting additional headers to be sent by the client. Headers set through this environment variable are added to headers set through the config-file (through the HttpHeaders field).

This environment variable can be used in situations where headers must be set for a specific invocation of the CLI, but should not be set by default, and therefore cannot be set in the config-file.

⚠️ WARNING: If both config and environment-variable are set, the environment
variable currently overrides all headers set in the configuration file.
This behavior may change in a future update, as we are considering the
environment variable to be appending to existing headers (and to only
override headers with the same name).

- What I did

- How I did it

- How to verify it

- Description for the changelog

Add support for `DOCKER_CUSTOM_HEADERS` environment variable

This environment variable allows for setting additional headers to be sent by the client. Headers set through this environment variable are added to headers set through the config-file (through the HttpHeaders field).

This environment variable can be used in situations where headers must be set for a specific invocation of the CLI, but should not be set by default, and therefore cannot be set in the config-file.

- A picture of a cute animal (not mandatory but encouraged)

@thaJeztah thaJeztah added this to the 27.1.0 milestone Jul 19, 2024
@thaJeztah thaJeztah requested a review from a team as a code owner July 19, 2024 12:24
@thaJeztah thaJeztah changed the title [27.1] backport] add support for DOCKER_CUSTOM_HEADERS env-var [27.1 backport] add support for DOCKER_CUSTOM_HEADERS env-var Jul 19, 2024
@thaJeztah thaJeztah force-pushed the 27.1_backport_custom_headers_env_var branch from fe69000 to 5e1f032 Compare July 19, 2024 12:30
@thaJeztah thaJeztah changed the title [27.1 backport] add support for DOCKER_CUSTOM_HEADERS env-var [27.1 backport] add support for DOCKER_CUSTOM_HEADERS env-var (experimental) Jul 19, 2024
@thaJeztah thaJeztah self-assigned this Jul 19, 2024
@codecov-commenter
Copy link

codecov-commenter commented Jul 19, 2024

Codecov Report

Attention: Patch coverage is 58.33333% with 10 lines in your changes missing coverage. Please review.

Project coverage is 61.49%. Comparing base (f90273c) to head (8992378).
Report is 2 commits behind head on 27.0.

Additional details and impacted files
@@            Coverage Diff             @@
##             27.0    #5271      +/-   ##
==========================================
+ Coverage   61.03%   61.49%   +0.46%     
==========================================
  Files         296      299       +3     
  Lines       20825    20856      +31     
==========================================
+ Hits        12711    12826     +115     
+ Misses       7202     7115      -87     
- Partials      912      915       +3     

This environment variable allows for setting additional headers
to be sent by the client. Headers set through this environment
variable are added to headers set through the config-file (through
the HttpHeaders field).

This environment variable can be used in situations where headers
must be set for a specific invocation of the CLI, but should not
be set by default, and therefore cannot be set in the config-file.

WARNING: If both config and environment-variable are set, the environment
variable currently overrides all headers set in the configuration file.
This behavior may change in a future update, as we are considering the
environment variable to be appending to existing headers (and to only
override headers with the same name).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 6638deb)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
@thaJeztah thaJeztah force-pushed the 27.1_backport_custom_headers_env_var branch from 5e1f032 to 8992378 Compare July 19, 2024 13:07
@thaJeztah thaJeztah merged commit fb19def into docker:27.0 Jul 19, 2024
@thaJeztah thaJeztah deleted the 27.1_backport_custom_headers_env_var branch July 19, 2024 14:44
renovate bot added a commit to earthly/dind that referenced this pull request Jul 22, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [docker/docker](https://togithub.com/docker/docker) | minor | `27.0.3`
-> `27.1.0` |

---

### Release Notes

<details>
<summary>docker/docker (docker/docker)</summary>

### [`v27.1.0`](https://togithub.com/moby/moby/releases/tag/v27.1.0)

[Compare
Source](https://togithub.com/docker/docker/compare/v27.0.3...v27.1.0)

#### 27.1.0

For a full list of pull requests and changes in this release, refer to
the relevant GitHub milestones:

- [docker/cli, 27.1.0
milestone](https://togithub.com/docker/cli/issues?q=is%3Aclosed+milestone%3A27.1.0)
- [moby/moby, 27.1.0
milestone](https://togithub.com/moby/moby/issues?q=is%3Aclosed+milestone%3A27.1.0)
- Deprecated and removed features, see [Deprecated
Features](https://togithub.com/docker/cli/blob/v27.1.0/docs/deprecated.md).
- Changes to the Engine API, see [API version
history](https://togithub.com/moby/moby/blob/v27.1.0/docs/api/version-history.md).

##### Bug fixes and enhancements

- rootless: add `Requires=dbus.socket` to prevent errors when starting
the daemon on a cgroup v2 host with systemd
[moby/moby#48141](https://togithub.com/moby/moby/pull/48141)
- containerd integration: `image tag` event is now properly emitted when
building images with Buildkit
[moby/moby#48182](https://togithub.com/moby/moby/pull/48182)
- cli: add OOMScoreAdj to docker service create and docker stack
[docker/cli#5274](https://togithub.com/docker/cli/pull/5274)
- cli: add support for `DOCKER_CUSTOM_HEADERS` env-var (experimental)
[docker/cli#5271](https://togithub.com/docker/cli/pull/5271)
- cli: containerd-integration: Fix `docker push` defaulting the
`--platform` flag to a value of `DOCKER_DEFAULT_PLATFORM` environment
variable on unsupported API versions
[docker/cli#5248](https://togithub.com/docker/cli/pull/5248)
- cli: fix: ctx cancellation on login prompt
[docker/cli#5260](https://togithub.com/docker/cli/pull/5260)
- cli: fix: wait for the container to exit before closing the stream
when sending a termination request to the CLI while attached to a
container [docker/cli#5250](https://togithub.com/docker/cli/pull/5250)

##### Deprecated

- the pkg/rootless/specconv package is deprecated, an will be removed in
the next release
[moby/moby#48185](https://togithub.com/moby/moby/pull/48185)
- the pkg/containerfs package is deprecated, an will be removed in the
next release
[moby/moby#48185](https://togithub.com/moby/moby/pull/48185)
- the pkg/directory package is deprecated, an will be removed in the
next release
[moby/moby#48185](https://togithub.com/moby/moby/pull/48185)
- api/types/system: remove deprecated Info.ExecutionDriver
[moby/moby#48184](https://togithub.com/moby/moby/pull/48184)

##### Packaging updates

- Update Buildx to
[v0.16.1](https://togithub.com/docker/buildx/releases/tag/v0.16.1).
[moby/docker-ce-packaging#1039](https://togithub.com/docker/docker-ce-packaging/pull/1039)
- Update Compose to
[v2.29.0](https://togithub.com/docker/compose/releases/tag/v2.29.0).
[moby/docker-ce-packaging#1038](https://togithub.com/docker/docker-ce-packaging/pull/1038)
- Update Containerd (static binaries only) to
[v1.7.20](https://togithub.com/containerd/containerd/releases/tag/v1.7.20).
[moby/moby#48191](https://togithub.com/moby/moby/pull/48191)
- Update BuildKit to
[v0.15.0](https://togithub.com/moby/buildkit/releases/tag/v0.15.0).
[moby/moby#48028](48175://togithub.com/moby/moby/pull/48175)
- Update Go runtime to 1.21.12, which contains security fixes for
[CVE-2024-24791](https://togithub.com/advisories/GHSA-hw49-2p59-3mhj)
[moby/moby#48120](48175://togithub.com/moby/moby/pull/48120)

**Full Changelog**:
moby/moby@v27.0.3...v27.1.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6am on monday" (UTC), Automerge
- At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/earthly/dind).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to earthly/dind that referenced this pull request Jul 22, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [docker/docker](https://togithub.com/docker/docker) | minor | `27.0.3`
-> `27.1.0` |

---

### Release Notes

<details>
<summary>docker/docker (docker/docker)</summary>

### [`v27.1.0`](https://togithub.com/moby/moby/releases/tag/v27.1.0)

[Compare
Source](https://togithub.com/docker/docker/compare/v27.0.3...v27.1.0)

#### 27.1.0

For a full list of pull requests and changes in this release, refer to
the relevant GitHub milestones:

- [docker/cli, 27.1.0
milestone](https://togithub.com/docker/cli/issues?q=is%3Aclosed+milestone%3A27.1.0)
- [moby/moby, 27.1.0
milestone](https://togithub.com/moby/moby/issues?q=is%3Aclosed+milestone%3A27.1.0)
- Deprecated and removed features, see [Deprecated
Features](https://togithub.com/docker/cli/blob/v27.1.0/docs/deprecated.md).
- Changes to the Engine API, see [API version
history](https://togithub.com/moby/moby/blob/v27.1.0/docs/api/version-history.md).

##### Bug fixes and enhancements

- rootless: add `Requires=dbus.socket` to prevent errors when starting
the daemon on a cgroup v2 host with systemd
[moby/moby#48141](https://togithub.com/moby/moby/pull/48141)
- containerd integration: `image tag` event is now properly emitted when
building images with Buildkit
[moby/moby#48182](https://togithub.com/moby/moby/pull/48182)
- cli: add OOMScoreAdj to docker service create and docker stack
[docker/cli#5274](https://togithub.com/docker/cli/pull/5274)
- cli: add support for `DOCKER_CUSTOM_HEADERS` env-var (experimental)
[docker/cli#5271](https://togithub.com/docker/cli/pull/5271)
- cli: containerd-integration: Fix `docker push` defaulting the
`--platform` flag to a value of `DOCKER_DEFAULT_PLATFORM` environment
variable on unsupported API versions
[docker/cli#5248](https://togithub.com/docker/cli/pull/5248)
- cli: fix: ctx cancellation on login prompt
[docker/cli#5260](https://togithub.com/docker/cli/pull/5260)
- cli: fix: wait for the container to exit before closing the stream
when sending a termination request to the CLI while attached to a
container [docker/cli#5250](https://togithub.com/docker/cli/pull/5250)

##### Deprecated

- the pkg/rootless/specconv package is deprecated, an will be removed in
the next release
[moby/moby#48185](https://togithub.com/moby/moby/pull/48185)
- the pkg/containerfs package is deprecated, an will be removed in the
next release
[moby/moby#48185](https://togithub.com/moby/moby/pull/48185)
- the pkg/directory package is deprecated, an will be removed in the
next release
[moby/moby#48185](https://togithub.com/moby/moby/pull/48185)
- api/types/system: remove deprecated Info.ExecutionDriver
[moby/moby#48184](https://togithub.com/moby/moby/pull/48184)

##### Packaging updates

- Update Buildx to
[v0.16.1](https://togithub.com/docker/buildx/releases/tag/v0.16.1).
[moby/docker-ce-packaging#1039](https://togithub.com/docker/docker-ce-packaging/pull/1039)
- Update Compose to
[v2.29.0](https://togithub.com/docker/compose/releases/tag/v2.29.0).
[moby/docker-ce-packaging#1038](https://togithub.com/docker/docker-ce-packaging/pull/1038)
- Update Containerd (static binaries only) to
[v1.7.20](https://togithub.com/containerd/containerd/releases/tag/v1.7.20).
[moby/moby#48191](https://togithub.com/moby/moby/pull/48191)
- Update BuildKit to
[v0.15.0](https://togithub.com/moby/buildkit/releases/tag/v0.15.0).
[moby/moby#48175](https://togithub.com/moby/moby/pull/48175)
- Update Go runtime to 1.21.12, which contains security fixes for
[CVE-2024-24791](https://togithub.com/advisories/GHSA-hw49-2p59-3mhj)
[moby/moby#48120](48175://togithub.com/moby/moby/pull/48120)

**Full Changelog**:
moby/moby@v27.0.3...v27.1.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6am on monday" (UTC), Automerge
- At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/earthly/dind).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants