Skip to content

Commit 97e79d1

Browse files
committed
Add remote driver documentation
1 parent 36d374c commit 97e79d1

2 files changed

Lines changed: 28 additions & 9 deletions

File tree

README.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -184,14 +184,18 @@ are not yet available for regular `docker build` like building manifest lists,
184184
distributed caching, and exporting build results to OCI image tarballs.
185185

186186
Buildx is supposed to be flexible and can be run in different configurations
187-
that are exposed through a driver concept. Currently, we support a
188-
[`docker` driver](docs/reference/buildx_create.md#docker-driver) that uses
189-
the BuildKit library bundled into the Docker daemon binary, a
190-
[`docker-container` driver](docs/reference/buildx_create.md#docker-container-driver)
191-
that automatically launches BuildKit inside a Docker container and a
192-
[`kubernetes` driver](docs/reference/buildx_create.md#kubernetes-driver) to
193-
spin up pods with defined BuildKit container image to build your images. We
194-
plan to add more drivers in the future.
187+
that are exposed through a driver concept. Currently, we support:
188+
189+
- a [`docker` driver](docs/reference/buildx_create.md#docker-driver) that uses
190+
the BuildKit library bundled into the Docker daemon binary,
191+
- a [`docker-container` driver](docs/reference/buildx_create.md#docker-container-driver)
192+
that automatically launches BuildKit inside a Docker container,
193+
- a [`kubernetes` driver](docs/reference/buildx_create.md#kubernetes-driver) to
194+
spin up pods with defined BuildKit container image to build your images.
195+
- a [`remote` driver](docs/reference/buildx_create.md#remote-driver) to
196+
connect to manually provisioned and managed buildkitd instances.
197+
198+
We plan to add more drivers in the future.
195199

196200
The user experience of using buildx is very similar across drivers, but there
197201
are some features that are not currently supported by the `docker` driver,

docs/reference/buildx_create.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Create a new builder instance
1515
| `--bootstrap` | | | Boot builder after creation |
1616
| [`--buildkitd-flags`](#buildkitd-flags) | `string` | | Flags for buildkitd daemon |
1717
| [`--config`](#config) | `string` | | BuildKit config file |
18-
| [`--driver`](#driver) | `string` | | Driver to use (available: `docker`, `docker-container`, `kubernetes`) |
18+
| [`--driver`](#driver) | `string` | | Driver to use (available: `docker`, `docker-container`, `kubernetes`, `remote`) |
1919
| [`--driver-opt`](#driver-opt) | `stringArray` | | Options for the driver |
2020
| [`--leave`](#leave) | | | Remove a node from builder instead of changing it |
2121
| [`--name`](#name) | `string` | | Builder instance name |
@@ -118,6 +118,16 @@ Unlike `docker` driver, built images will not automatically appear in
118118
`docker images` and [`build --load`](buildx_build.md#load) needs to be used
119119
to achieve that.
120120

121+
#### `remote` driver
122+
123+
Uses a remote instance of buildkitd over an arbitrary connection. With this
124+
driver, you manually create and manage instances of buildkit yourself, and
125+
configure buildx to point at it.
126+
127+
Unlike `docker` driver, built images will not automatically appear in
128+
`docker images` and [`build --load`](buildx_build.md#load) needs to be used
129+
to achieve that.
130+
121131
### <a name="driver-opt"></a> Set additional driver-specific options (--driver-opt)
122132

123133
```
@@ -145,6 +155,11 @@ Passes additional driver-specific options. Details for each driver:
145155
- `loadbalance=(sticky|random)` - Load-balancing strategy. If set to "sticky", the pod is chosen using the hash of the context path. Defaults to "sticky"
146156
- `qemu.install=(true|false)` - Install QEMU emulation for multi platforms support.
147157
- `qemu.image=IMAGE` - Sets the QEMU emulation image. Defaults to `tonistiigi/binfmt:latest`
158+
- `remote`
159+
- `key=KEY` - Sets the TLS client key.
160+
- `cert=CERT` - Sets the TLS client certificate to present to buildkitd.
161+
- `cacert=CACERT` - Sets the TLS certificate authority used for validation.
162+
- `servername=SERVER` - Sets the TLS server name to be used in requests (defaults to the endpoint hostname).
148163

149164
Note: When using quoted values for example for the `nodeselector` or `tolerations` options, ensure that quotes are escaped
150165
correctly for your shell.

0 commit comments

Comments
 (0)