-
Notifications
You must be signed in to change notification settings - Fork 640
[Docs] Clarify Nebius credential setup #5298
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 4 commits
7a7a99c
f698bd1
7f7ebb2
d23085e
2a0033e
63a9258
fcddd81
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,5 +19,6 @@ Table of contents | |
|
||
aws | ||
gcp | ||
nebius | ||
vsphere | ||
kubernetes |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
Nebius | ||
====== | ||
|
||
.. _nebius-service-account: | ||
|
||
Service account | ||
---------------- | ||
|
||
To use *Service Account* authentication, follow these steps: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What is a service account and why would you want to use it? |
||
|
||
1. **Create a Service Account** using the Nebius web console. | ||
2. **Generate PEM Keys**: | ||
|
||
.. code-block:: shell | ||
|
||
openssl genrsa -out private.pem 4096 && openssl rsa -in private.pem -outform PEM -pubout -out public.pem | ||
|
||
3. **Generate and Save the Credentials File**: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. FYI: It is possible to use Nebius CLI nebius iam auth-public-key generate \
--parent-id "$NEBIUS_PROJECT_ID" \
--service-account-id "$SA_ID" \
--output ~/.nebius/credentials.json There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks @SalikovAlex! I am going to merge this PR first to keep it only for refactoring of organization of the page. Could you help submit another one to use the new key generation command? |
||
|
||
* Save the file as `~/.nebius/credentials.json`. | ||
* Ensure the file matches the expected format below: | ||
|
||
.. code-block:: json | ||
|
||
{ | ||
"subject-credentials": { | ||
"alg": "RS256", | ||
"private-key": "PKCS#8 PEM with new lines escaped as \n", | ||
"kid": "public-key-id", | ||
"iss": "service-account-id", | ||
"sub": "service-account-id" | ||
} | ||
} | ||
|
||
|
||
**Important Notes:** | ||
|
||
* The `NEBIUS_IAM_TOKEN` file, if present, will take priority for authentication. | ||
* Service Accounts are restricted to a single region. Ensure you configure the Service Account for the appropriate region during creation. |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -539,50 +539,15 @@ Nebius | |
|
||
mkdir -p ~/.nebius | ||
nebius iam get-access-token > ~/.nebius/NEBIUS_IAM_TOKEN.txt | ||
|
||
If you have one tenant you can run: | ||
|
||
.. code-block:: shell | ||
|
||
nebius --format json iam whoami|jq -r '.user_profile.tenants[0].tenant_id' > ~/.nebius/NEBIUS_TENANT_ID.txt | ||
|
||
You can specify a preferable project ID, which will be used if a project ID is required in the designated region. | ||
**Optional**: You can specify a preferable project ID, which will be used if a project ID is required in the designated region. | ||
|
||
.. code-block:: shell | ||
|
||
echo $NEBIUS_PROJECT_ID > ~/.nebius/NEBIUS_PROJECT_ID.txt | ||
|
||
To use *Service Account* authentication, follow these steps: | ||
|
||
1. **Create a Service Account** using the Nebius web console. | ||
2. **Generate PEM Keys**: | ||
|
||
.. code-block:: shell | ||
|
||
openssl genrsa -out private.pem 4096 && openssl rsa -in private.pem -outform PEM -pubout -out public.pem | ||
|
||
3. **Generate and Save the Credentials File**: | ||
|
||
* Save the file as `~/.nebius/credentials.json`. | ||
* Ensure the file matches the expected format below: | ||
|
||
.. code-block:: json | ||
|
||
{ | ||
"subject-credentials": { | ||
"alg": "RS256", | ||
"private-key": "PKCS#8 PEM with new lines escaped as \n", | ||
"kid": "public-key-id", | ||
"iss": "service-account-id", | ||
"sub": "service-account-id" | ||
} | ||
} | ||
|
||
|
||
**Important Notes:** | ||
|
||
* The `NEBIUS_IAM_TOKEN` file, if present, will take priority for authentication. | ||
* Service Accounts are restricted to a single region. Ensure you configure the Service Account for the appropriate region during creation. | ||
Alternatively, you can also use a service account to access Nebius, see | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. missing link? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. oops, added. |
||
|
||
Nebius offers `Object Storage <https://nebius.com/services/storage>`_, an S3-compatible object storage without any egress charges. | ||
SkyPilot can download/upload data to Nebius buckets and mount them as local filesystem on clusters launched by SkyPilot. To set up Nebius support, run: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@romilbhardwaj we should get this in first, to avoid our readthedoc build every PR.