You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
: Controls the number of layers uploaded to S3 in parallel during cache export.
129
+
Each individual layer is uploaded with 5 threads using the AWS SDK Upload Manager.
130
+
If not specified, BuildKit uses its default parallelism behavior.
131
+
Example: `8`
132
+
This setting is only used when `wave.build.cache` is configured with an S3 bucket path.
117
133
118
134
`wave.build.cleanup`*(optional)*
119
135
: Sets the cleanup strategy after the build process.
@@ -160,6 +176,91 @@ Configure how Wave builds container images and manages associated logs for monit
160
176
: Sets the path to the directory used by Wave to store artifacts such as Containerfiles, Trivy cache for scan, Buildkit context, and authentication configuration files.
161
177
For example, `/efs/wave/build`.
162
178
179
+
### S3 cache authentication
180
+
181
+
When using S3 as the BuildKit cache backend (by configuring `wave.build.cache` with an S3 bucket path), Wave relies on AWS native authentication mechanisms rather than static credentials in configuration files.
182
+
183
+
#### Kubernetes deployments
184
+
185
+
S3 cache uses **IAM Roles for Service Accounts (IRSA)** for secure, credential-free authentication.
186
+
187
+
Configure your Kubernetes ServiceAccount with an IAM role annotation:
The IAM role must have permissions to access the S3 cache bucket:
200
+
201
+
```json
202
+
{
203
+
"Version": "2012-10-17",
204
+
"Statement": [
205
+
{
206
+
"Effect": "Allow",
207
+
"Action": [
208
+
"s3:PutObject",
209
+
"s3:GetObject",
210
+
"s3:DeleteObject",
211
+
"s3:ListBucket",
212
+
"s3:AbortMultipartUpload",
213
+
"s3:ListMultipartUploadParts",
214
+
"s3:ListBucketMultipartUploads"
215
+
],
216
+
"Resource": [
217
+
"arn:aws:s3:::my-bucket/wave/cache",
218
+
"arn:aws:s3:::my-bucket/wave/cache/*"
219
+
]
220
+
}
221
+
]
222
+
}
223
+
```
224
+
225
+
Update your Wave deployment to use the annotated ServiceAccount:
226
+
227
+
```yaml
228
+
spec:
229
+
template:
230
+
spec:
231
+
serviceAccountName: wave-build-sa
232
+
```
233
+
234
+
#### Docker deployments
235
+
236
+
For Docker-based builds, use **EC2 Instance Profile** for automatic credential management.
237
+
238
+
Attach an IAM role to the EC2 instance running Docker with the S3 permissions shown above. BuildKit automatically uses the instance metadata service to obtain temporary credentials.
239
+
240
+
No additional configuration is required. The AWS SDK in BuildKit automatically discovers and uses the instance profile credentials.
241
+
242
+
:::note
243
+
For development and testing purposes only, you can provide AWS credentials via environment variables:
244
+
245
+
```bash
246
+
export AWS_ACCESS_KEY_ID=your_access_key
247
+
export AWS_SECRET_ACCESS_KEY=your_secret_key
248
+
export AWS_REGION=us-east-1
249
+
```
250
+
251
+
**Warning:** This approach is not recommended for production environments as it requires managing static credentials. Always use EC2 Instance Profile for production Docker deployments.
252
+
:::
253
+
254
+
#### Configuration example
255
+
256
+
```yaml
257
+
wave:
258
+
build:
259
+
cache: "s3://wave-cache-bucket/buildkit"
260
+
cache-bucket-region: "us-east-1" # Optional if AWS_REGION is set
Configure how Wave stores and delivers build logs from containers and Kubernetes pods, which can be retrieved later or included in build completion emails, with the following options:
Copy file name to clipboardExpand all lines: docs/wave-lite.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ Wave Lite enables the use of [Fusion file system](https://docs.seqera.io/fusion)
10
10
## Installation
11
11
12
12
-[Docker Compose](./install/docker-compose.md)
13
-
-[Kubernetes](./install/docker-compose.md)
13
+
-[Kubernetes](./install/kubernetes.md)
14
14
15
15
:::info
16
16
Docker Compose installations only support Wave in Lite mode. Wave's full build capabilities require specific integrations with Kubernetes and AWS EFS Storage, making EKS and AWS a hard dependency for fully-featured deployments. After you have successfully deployed Wave Lite in Kubernetes, see [Configure Wave Build](./install/configure-wave-build.md) to extend your installation to support build capabilities.
0 commit comments