diff --git a/mkdocs/docs/concepts/exports.md b/mkdocs/docs/concepts/exports.md
index 5e86b771f..d28aab2de 100644
--- a/mkdocs/docs/concepts/exports.md
+++ b/mkdocs/docs/concepts/exports.md
@@ -10,7 +10,7 @@ the specified importer projects can see and use it as if it were their own.
!!! warning "Experimental"
Exports are an experimental feature.
- Currently, only [SSH fleets](fleets.md#ssh-fleets) can be exported.
+ Currently, [SSH fleets](fleets.md#ssh-fleets) and [gateways](gateways.md) can be exported.
An export is created in the exporter project and specifies the resources to export and the
importer projects that will gain access to them.
@@ -28,27 +28,27 @@ for running tasks, dev environments, and services. Imported resources appear wit
### Create exports
Use the `dstack export create` command to create a new export. Specify the fleets to export
-with `--fleet` and the importer projects with `--importer`:
+with `--fleet`, the gateways to export with `--gateway`, and the importer projects with `--importer`:
```shell
-$ dstack export create my-export --fleet my-fleet --importer team-b
- NAME FLEETS IMPORTERS
- my-export my-fleet team-b
+$ dstack export create my-export --fleet my-fleet --gateway my-gateway --importer team-b
+ NAME FLEETS GATEWAYS IMPORTERS
+ my-export my-fleet my-gateway team-b
```
-Both `--fleet` and `--importer` can be specified multiple times:
+`--fleet`, `--gateway`, and `--importer` can be specified multiple times:
```shell
$ dstack export create shared-gpus --fleet gpu-fleet-1 --fleet gpu-fleet-2 --importer team-b --importer team-c
- NAME FLEETS IMPORTERS
- shared-gpus gpu-fleet-1, gpu-fleet-2 team-b, team-c
+ NAME FLEETS GATEWAYS IMPORTERS
+ shared-gpus gpu-fleet-1, gpu-fleet-2 - team-b, team-c
```
@@ -62,9 +62,9 @@ Use `dstack export list` (or simply `dstack export`) to list all exports in the
```shell
$ dstack export list
- NAME FLEETS IMPORTERS
- my-export my-fleet team-b
- shared-gpus gpu-fleet-1, gpu-fleet-2 team-b, team-c
+ NAME FLEETS GATEWAYS IMPORTERS
+ my-export my-fleet my-gateway team-b
+ shared-gpus gpu-fleet-1, gpu-fleet-2 - team-b, team-c
```
@@ -72,27 +72,27 @@ $ dstack export list
### Update exports
-Use the `dstack export update` command to add or remove fleets and importers from an existing export:
+Use the `dstack export update` command to add or remove fleets, gateways, and importers from an existing export:
```shell
$ dstack export update my-export --add-fleet another-fleet --add-importer team-c
- NAME FLEETS IMPORTERS
- my-export my-fleet, another-fleet team-b, team-c
+ NAME FLEETS GATEWAYS IMPORTERS
+ my-export my-fleet, another-fleet my-gateway team-b, team-c
```
-To remove a fleet or importer:
+To remove a fleet, gateway, or importer:
```shell
$ dstack export update my-export --remove-importer team-b
- NAME FLEETS IMPORTERS
- my-export my-fleet, another-fleet team-c
+ NAME FLEETS GATEWAYS IMPORTERS
+ my-export my-fleet, another-fleet my-gateway team-c
```
@@ -114,7 +114,7 @@ Export my-export deleted
Use `-y` to skip the confirmation prompt.
-## Access imported fleets
+## Access imported resources
From the importer project's perspective, use `dstack import list` (or simply `dstack import`) to list all imports in the project — i.e., all exports from other projects that this project has been granted access to:
@@ -122,14 +122,14 @@ From the importer project's perspective, use `dstack import list` (or simply `ds
```shell
$ dstack import list
- NAME FLEETS
- team-a/my-export my-fleet, another-fleet
+ NAME FLEETS GATEWAYS
+ team-a/my-export my-fleet, another-fleet my-gateway
```
-Imported fleets also appear in `dstack fleet list` in the `
/` format:
+Imported fleets and gateways also appear in `dstack fleet list` and `dstack gateway list` in the `/` format:
@@ -140,17 +140,24 @@ $ dstack fleet list
team-a/my-fleet 2 A100:80GB:8 - ssh - active 1 week ago
team-a/another-fleet 1 H100:80GB:4 - ssh - active 2 days ago
+$ dstack gateway list
+ NAME BACKEND HOSTNAME DOMAIN DEFAULT STATUS
+ team-a/my-gateway aws (eu-west-1) 10.0.0.4 gtw.mycompany.example running
+
```
-Imported fleets can be used for runs just like the project's own fleets.
+Imported resources can be used for runs just like the project's own resources.
```yaml
-type: dev-environment
-ide: vscode
+type: service
+image: nginx
+port: 80
+
+gateway: team-a/my-gateway
fleets:
- my-local-fleet
@@ -166,4 +173,5 @@ fleets:
1. Check the [`dstack export` CLI reference](../reference/cli/dstack/export.md)
1. Check the [`dstack import` CLI reference](../reference/cli/dstack/import.md)
1. Learn how to manage [fleets](fleets.md)
+ 1. Learn how to manage [gateways](gateways.md)
1. Read about [projects](projects.md) and project roles
diff --git a/mkdocs/docs/concepts/gateways.md b/mkdocs/docs/concepts/gateways.md
index 5e072a696..6ef4d9564 100644
--- a/mkdocs/docs/concepts/gateways.md
+++ b/mkdocs/docs/concepts/gateways.md
@@ -174,6 +174,11 @@ domain: example.com
!!! info "Reference"
For all gateway configuration options, refer to the [reference](../reference/dstack.yml/gateway.md).
+## Export gateways
+
+Gateways can be exported to other projects, allowing those projects to use the exported gateways
+for running services. See [Exports](exports.md) for more details.
+
## Manage gateways
### List gateways