mirror of
https://github.com/docker/setup-buildx-action
synced 2024-11-10 06:01:40 +00:00
70 lines
1.9 KiB
Markdown
70 lines
1.9 KiB
Markdown
|
# Authentication support
|
||
|
|
||
|
## SSH authentication
|
||
|
|
||
|
To be able to connect to an SSH endpoint using the [`docker-container` driver](https://docs.docker.com/build/building/drivers/docker-container/),
|
||
|
you have to set up the SSH private key and configuration on the GitHub Runner:
|
||
|
|
||
|
```yaml
|
||
|
name: ci
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
|
||
|
jobs:
|
||
|
buildx:
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
-
|
||
|
name: Set up SSH
|
||
|
uses: MrSquaare/ssh-setup-action@523473d91581ccbf89565e12b40faba93f2708bd # v1.1.0
|
||
|
with:
|
||
|
host: graviton2
|
||
|
private-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||
|
private-key-name: aws_graviton2
|
||
|
-
|
||
|
name: Set up Docker Buildx
|
||
|
uses: docker/setup-buildx-action@v2
|
||
|
with:
|
||
|
endpoint: ssh://me@graviton2
|
||
|
```
|
||
|
|
||
|
## TLS authentication
|
||
|
|
||
|
You can also [set up a remote BuildKit instance](https://docs.docker.com/build/building/drivers/remote/#remote-buildkit-in-docker-container)
|
||
|
using the remote driver. To ease the integration in your workflow, we put in
|
||
|
place environment variables that will set up authentication using the BuildKit
|
||
|
client certificates for the `tcp://` endpoint where `<idx>` is the position of
|
||
|
the node in the list of nodes:
|
||
|
|
||
|
* `BUILDER_NODE_<idx>_AUTH_TLS_CACERT`
|
||
|
* `BUILDER_NODE_<idx>_AUTH_TLS_CERT`
|
||
|
* `BUILDER_NODE_<idx>_AUTH_TLS_KEY`
|
||
|
|
||
|
> **Note**
|
||
|
>
|
||
|
> The index is always `0` at the moment as we don't support (yet) appending new
|
||
|
> nodes with this action.
|
||
|
|
||
|
```yaml
|
||
|
name: ci
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
|
||
|
jobs:
|
||
|
buildx:
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
-
|
||
|
name: Set up Docker Buildx
|
||
|
uses: docker/setup-buildx-action@v2
|
||
|
with:
|
||
|
driver: remote
|
||
|
endpoint: tcp://graviton2:1234
|
||
|
env:
|
||
|
BUILDER_NODE_0_AUTH_TLS_CACERT: ${{ secrets.GRAVITON2_CA }}
|
||
|
BUILDER_NODE_0_AUTH_TLS_CERT: ${{ secrets.GRAVITON2_CERT }}
|
||
|
BUILDER_NODE_0_AUTH_TLS_KEY: ${{ secrets.GRAVITON2_KEY }}
|
||
|
```
|