Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/docs/concepts/repos.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ If the directory is cloned Git repo, [`dstack apply`](../reference/cli/dstack/ap
If the directory is not a cloned Git repo, it uploads the entire directory.

Uploads are limited to 2MB. Use `.gitignore` to exclude unnecessary files from being uploaded.
You can set the `DSTACK_SERVER_CODE_UPLOAD_LIMIT` environment variable to increase the default server limit.
Increasing the limit is recommended only if you [configure an object storage](../guides/server-deployment.md).

### Initialize as a local directory

Expand Down
54 changes: 52 additions & 2 deletions docs/docs/guides/server-deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ For multi-replica server deployments, it's required to store logs externally.
To store logs in AWS CloudWatch, set the `DSTACK_SERVER_CLOUDWATCH_LOG_GROUP` and
the `DSTACK_SERVER_CLOUDWATCH_LOG_REGION` environment variables.

The log group must be created beforehand, `dstack` won't try to create it.
The log group must be created beforehand. `dstack` won't try to create it.

??? info "Required permissions"

Expand Down Expand Up @@ -218,6 +218,56 @@ To store logs using GCP Logging, set the `DSTACK_SERVER_GCP_LOGGING_PROJECT` env

</div>

## File storage

When using [repos](../concepts/repos.md), the `dstack` CLI uploads uncommitted local files and diffs to the server so that you can have access to them within runs. By default, the files are stored in the DB and each upload is limited to 2MB. You can configure an object storage to be used for uploads and increase the default limit by setting the `DSTACK_SERVER_CODE_UPLOAD_LIMIT` environment variable

### S3

To use S3 for storing uploaded files, set the `DSTACK_SERVER_S3_BUCKET` and `DSTACK_SERVER_BUCKET_REGION` environment variables.
The bucket must be created beforehand. `dstack` won't try to create it.

??? info "Required permissions"

```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::<bucket-name>",
"arn:aws:s3:::<bucket-name>/*"
]
}
]
}
```

### GCS

To use GCS for storing uploaded files, set the `DSTACK_SERVER_GCS_BUCKET` environment variable.
The bucket must be created beforehand. `dstack` won't try to create it.

??? info "Required permissions"
Ensure you've configured Application Default Credentials with the following permissions:

```
storage.buckets.get
storage.buckets.list
storage.objects.get
storage.objects.list
storage.objects.create
storage.objects.delete
storage.objects.update
```

## Encryption

By default, `dstack` stores data in plaintext. To enforce encryption, you
Expand Down Expand Up @@ -320,7 +370,7 @@ default_permissions:
`dstack` follows the `{major}.{minor}.{patch}` versioning scheme.
Backward compatibility is maintained based on these principles:

* The server backward compatibility is maintained across all minor and patch releases. The specific features can be removed but the removal is preceded with deprecation warnings for several minor releases. This means you can use older client versions with newer server versions.
* The server backward compatibility is maintained on a best-effort basis across minor and patch releases. The specific features can be removed, but the removal is preceded with deprecation warnings for several minor releases. This means you can use older client versions with newer server versions.
* The client backward compatibility is maintained across patch releases. A new minor release indicates that the release breaks client backward compatibility. This means you don't need to update the server when you update the client to a new patch release. Still, upgrading a client to a new minor version requires upgrading the server too.

## Server limits
Expand Down
Loading