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
Update docs: feature Crusoe in cluster placement, rewrite cluster example
- Add Crusoe tab to fleets.md cluster placement backends
- Reorder backends.md to group Crusoe with other major cloud providers
- Rewrite examples/clusters/crusoe VMs section to use native backend
instead of SSH fleets, with tested NCCL config
Made-with: Cursor
Nebius is only supported if `dstack server` is running on Python 3.10 or higher.
746
746
747
747
748
-
### Vultr
748
+
### Crusoe Cloud
749
749
750
-
Log into your [Vultr](https://www.vultr.com/) account, click `Account` in the sidebar, select `API`, find the `Personal Access Token` panel and click the `Enable API` button. In the `Access Control` panel, allow API requests from all addresses or from the subnet where your `dstack` server is deployed.
750
+
Log into your [Crusoe Cloud](https://console.crusoecloud.com/) console and create an API key
751
+
under your account settings. Note your project ID from the project settings page.
751
752
752
753
Then, go ahead and configure the backend:
753
754
754
755
<div editor-title="~/.dstack/server/config.yml">
755
756
756
757
```yaml
757
758
projects:
758
-
- name: main
759
-
backends:
760
-
- type: vultr
761
-
creds:
762
-
type: api_key
763
-
api_key: B57487240a466624b48de22865589
759
+
- name: main
760
+
backends:
761
+
- type: crusoe
762
+
project_id: your-project-id
763
+
creds:
764
+
type: access_key
765
+
access_key: your-access-key
766
+
secret_key: your-secret-key
767
+
regions:
768
+
- us-east1-a
769
+
- us-southcentral1-a
764
770
```
765
771
766
772
</div>
767
773
768
-
### OCI
769
-
770
-
There are two ways to configure OCI: using client credentials or using the default credentials.
771
-
772
-
=== "Default credentials"
773
-
If you have default credentials set up in `~/.oci/config`, configure the backend like this:
774
-
775
-
<div editor-title="~/.dstack/server/config.yml">
776
-
777
-
```yaml
778
-
projects:
779
-
- name: main
780
-
backends:
781
-
- type: oci
782
-
creds:
783
-
type: default
784
-
```
785
-
786
-
</div>
787
-
788
-
=== "Client credentials"
789
-
790
-
Log into the [OCI Console](https://cloud.oracle.com), go to `My profile`,
791
-
select `API keys`, and click `Add API key`.
792
-
793
-
Once you add a key, you'll see the configuration file. Copy its values to configure the backend as follows:
Make sure to include either the path to your private key via `key_file` or the contents of the key via `key_content`.
814
-
815
-
??? info "Required permissions"
816
-
817
-
This is an example of a restrictive policy for a group of `dstack` users:
818
-
819
-
```
820
-
Allow group <dstack-users> to read compartments in tenancy where target.compartment.name = '<dstack-compartment>'
821
-
Allow group <dstack-users> to read marketplace-community-listings in compartment <dstack-compartment>
822
-
Allow group <dstack-users> to manage app-catalog-listing in compartment <dstack-compartment>
823
-
Allow group <dstack-users> to manage instances in compartment <dstack-compartment>
824
-
Allow group <dstack-users> to manage compute-capacity-reports in compartment <dstack-compartment>
825
-
Allow group <dstack-users> to manage volumes in compartment <dstack-compartment>
826
-
Allow group <dstack-users> to manage volume-attachments in compartment <dstack-compartment>
827
-
Allow group <dstack-users> to manage virtual-network-family in compartment <dstack-compartment>
828
-
```
829
-
830
-
To use this policy, create a compartment for `dstack` and specify it in `~/.dstack/server/config.yml`.
831
-
832
-
```yaml
833
-
projects:
834
-
- name: main
835
-
backends:
836
-
- type: oci
837
-
creds:
838
-
type: default
839
-
compartment_id: ocid1.compartment.oc1..aaaaaaaa
840
-
```
774
+
`regions`is optional. If not specified, all available Crusoe regions are used.
841
775
842
776
<span id="datacrunch"></span>
843
777
@@ -929,34 +863,6 @@ projects:
929
863
* `sizes` - read
930
864
* `ssh_key` - create, read, update,delete
931
865
932
-
### Crusoe
933
-
934
-
Log into your [Crusoe](https://console.crusoecloud.com/) console and create an API key
935
-
under your account settings. Note your project ID from the project settings page.
936
-
937
-
Then, go ahead and configure the backend:
938
-
939
-
<div editor-title="~/.dstack/server/config.yml">
940
-
941
-
```yaml
942
-
projects:
943
-
- name: main
944
-
backends:
945
-
- type: crusoe
946
-
project_id: your-project-id
947
-
creds:
948
-
type: access_key
949
-
access_key: your-access-key
950
-
secret_key: your-secret-key
951
-
regions:
952
-
- us-east1-a
953
-
- us-southcentral1-a
954
-
```
955
-
956
-
</div>
957
-
958
-
`regions`is optional. If not specified, all available Crusoe regions are used.
959
-
960
866
### Hot Aisle
961
867
962
868
Log in to the SSH TUI as described in the [Hot Aisle Quick Start](https://hotaisle.xyz/quick-start/).
@@ -1207,6 +1113,100 @@ projects:
1207
1113
1208
1114
Also, the `vastai` backend supports on-demand instances only. Spot instance support coming soon.
1209
1115
1116
+
### Vultr
1117
+
1118
+
Log into your [Vultr](https://www.vultr.com/) account, click `Account` in the sidebar, select `API`, find the `Personal Access Token` panel and click the `Enable API` button. In the `Access Control` panel, allow API requests from all addresses or from the subnet where your `dstack` server is deployed.
1119
+
1120
+
Then, go ahead and configure the backend:
1121
+
1122
+
<div editor-title="~/.dstack/server/config.yml">
1123
+
1124
+
```yaml
1125
+
projects:
1126
+
- name: main
1127
+
backends:
1128
+
- type: vultr
1129
+
creds:
1130
+
type: api_key
1131
+
api_key: B57487240a466624b48de22865589
1132
+
```
1133
+
1134
+
</div>
1135
+
1136
+
### OCI
1137
+
1138
+
There are two ways to configure OCI: using client credentials or using the default credentials.
1139
+
1140
+
=== "Default credentials"
1141
+
If you have default credentials set up in `~/.oci/config`, configure the backend like this:
1142
+
1143
+
<div editor-title="~/.dstack/server/config.yml">
1144
+
1145
+
```yaml
1146
+
projects:
1147
+
- name: main
1148
+
backends:
1149
+
- type: oci
1150
+
creds:
1151
+
type: default
1152
+
```
1153
+
1154
+
</div>
1155
+
1156
+
=== "Client credentials"
1157
+
1158
+
Log into the [OCI Console](https://cloud.oracle.com), go to `My profile`,
1159
+
select `API keys`, and click `Add API key`.
1160
+
1161
+
Once you add a key, you'll see the configuration file. Copy its values to configure the backend as follows:
Copy file name to clipboardExpand all lines: docs/docs/concepts/fleets.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -160,7 +160,7 @@ This property ensures that instances are interconnected. This is required for ru
160
160
161
161
#### Backends
162
162
163
-
Fast interconnect is supported on the `aws`, `gcp`, `nebius`, `kubernetes`, and `runpod` backends. Some backends may require additional configuration.
163
+
Fast interconnect is supported on the `aws`, `gcp`, `nebius`, `crusoe`, and `kubernetes` backends. Some backends may require additional configuration.
164
164
165
165
=== "AWS"
166
166
On AWS, `dstack` requires `public_ips` to be set to `false` in the backend configuration.
@@ -173,15 +173,18 @@ This property ensures that instances are interconnected. This is required for ru
173
173
=== "Nebius"
174
174
On [Nebius](https://docs.nebius.com/compute/clusters/gpu), `dstack` automatically configures InfiniBand networking if it is supported by the selected instance type.
175
175
176
+
=== "Crusoe"
177
+
On [Crusoe](https://docs.crusoecloud.com/networking/infiniband/managing-infiniband-networks), `dstack` automatically configures InfiniBand networking if it is supported by the selected instance type.
178
+
Refer to the [Crusoe](../../examples/clusters/crusoe/index.md#vms) example for more details.
179
+
176
180
=== "Kubernetes"
177
181
If the Kubernetes cluster has interconnect configured, `dstack` can use it without additional setup.
178
182
See the [Lambda](../../examples/clusters/lambda/index.md#kubernetes) or [Crusoe](../../examples/clusters/crusoe/index.md#kubernetes) examples.
179
183
180
-
=== "Runpod"
181
-
On [Runpod](https://docs.runpod.io/instant-clusters), `dstack` automatically configures InfiniBand networking if it is supported by the selected instance type.
182
-
183
184
> See the [Clusters](../../examples.md#clusters) examples.
184
185
186
+
<!-- TODO: Add Runpod tab to cluster backends once cluster support is fully tested -->
187
+
185
188
=== "SSH fleets"
186
189
If the hosts in the SSH fleet have interconnect configured, you only need to set `placement` to `cluster`.
0 commit comments