From 6e3d2310fee8ac62a280040d0632b929d3dee952 Mon Sep 17 00:00:00 2001 From: Dennis Hume Date: Thu, 19 Dec 2024 14:29:47 -0600 Subject: [PATCH 1/3] [docs-beta] migrate - dagster+ tokens --- .../management/tokens/agent-tokens.md | 77 ++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/agent-tokens.md b/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/agent-tokens.md index e777a568a9f9f..a5139c1a01dd6 100644 --- a/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/agent-tokens.md +++ b/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/agent-tokens.md @@ -4,4 +4,79 @@ sidebar_position: 200 unlisted: true --- -{/* TODO move agent token content from https://docs.dagster.io/dagster-plus/account/managing-user-agent-tokens */} +import ThemedImage from '@theme/ThemedImage'; + +# Managing user and agent tokens in Dagster+ + +:::note +This guide is applicable to Dagster+. +::: + +In this guide, we'll walk you through creating and revoking user and agent tokens in Dagster+. + +## Managing agent tokens +:::note +To manage agent tokens, you need to be an{" "} +Organization Admin in +Dagster+. +::: + +Agent tokens are used to authenticate [Hybrid agents](/dagster-plus/deployment/agents) with the Dagster+ Agents API. + +### Creating agent tokens + +1. Sign in to your Dagster+ account. +2. Click the **user menu (your icon) > Organization Settings**. +3. Click the **Tokens** tab. +4. Click **+ Create agent token**. + +After the token is created: + +- **To view a token**, click **Reveal token**. Clicking on the token value will copy it to the clipboard. +- **To edit a token's description**, click the **pencil icon**. + +### Assigning agent token permissions + +1. Sign in to your Dagster+ account. +2. Click the **user menu (your icon) > Organization Settings**. +3. Click the **Tokens** tab. +4. Click **Edit** next to the agent token you'd like to change. + +The permissions dialog allows you to edit a token's ability to access certain deployments. By default, agent tokens have permission to access any deployment in the organization including branch deployments. This is called **Org Agent** and is set using the toggle in the top right of the dialog. To edit individual deployment permissions, **Org Agent** has to first be toggled off. + +### Revoking agent tokens + +To revoke a token: + +1. Sign in to your Dagster+ account. +2. Click the **user menu (your icon) > Organization Settings**. +3. Click the **Tokens** tab. +4. Click **Edit** next to the agent token you'd like to change. +5. Click **Revoke** in the bottom left of the permissions dialog. When prompted, confirm to proceed with revoking the token. + +## Managing user tokens + +1. Sign in to your Dagster+ account. +2. Click the **user menu (your icon) > Organization Settings**. +3. Click the **Tokens** tab. +4. Click **+ Create user token**. + +After the token is created: + +- **To edit a token's description**, click the **pencil icon**. +- **To view a token**, click **Reveal token**. Clicking on the token value will copy it to the clipboard. +- **To revoke a token**, click **Revoke**. + +To manage tokens for another user, select the user from the **Manage tokens for** dropdown: + + + +:::note +**Organization Admin** permissions are required to manage another user's tokens. +::: \ No newline at end of file From 7a69f68faa7244d8c02aea3fa1eb37b0e46870dd Mon Sep 17 00:00:00 2001 From: Dennis Hume Date: Fri, 20 Dec 2024 08:39:44 -0600 Subject: [PATCH 2/3] Separate agent/user pages --- .../management/tokens/agent-tokens.md | 42 ++++--------------- .../management/tokens/user-tokens.md | 38 ++++++++++++++++- 2 files changed, 43 insertions(+), 37 deletions(-) diff --git a/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/agent-tokens.md b/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/agent-tokens.md index a5139c1a01dd6..4e2f0d21c78fc 100644 --- a/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/agent-tokens.md +++ b/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/agent-tokens.md @@ -4,24 +4,23 @@ sidebar_position: 200 unlisted: true --- -import ThemedImage from '@theme/ThemedImage'; - -# Managing user and agent tokens in Dagster+ +# Managing agent tokens in Dagster+ :::note This guide is applicable to Dagster+. ::: -In this guide, we'll walk you through creating and revoking user and agent tokens in Dagster+. +In this guide, we'll walk you through creating and revoking agent tokens in Dagster+. ## Managing agent tokens :::note -To manage agent tokens, you need to be an{" "} -Organization Admin in +{/* /dagster-plus/account/managing-users */} +To manage agent tokens, you need to be an [Organization Admin](/todo.md) in Dagster+. ::: -Agent tokens are used to authenticate [Hybrid agents](/dagster-plus/deployment/agents) with the Dagster+ Agents API. +{/* /dagster-plus/deployment/agents */} +Agent tokens are used to authenticate [Hybrid agents](/todo.md) with the Dagster+ Agents API. ### Creating agent tokens @@ -52,31 +51,4 @@ To revoke a token: 2. Click the **user menu (your icon) > Organization Settings**. 3. Click the **Tokens** tab. 4. Click **Edit** next to the agent token you'd like to change. -5. Click **Revoke** in the bottom left of the permissions dialog. When prompted, confirm to proceed with revoking the token. - -## Managing user tokens - -1. Sign in to your Dagster+ account. -2. Click the **user menu (your icon) > Organization Settings**. -3. Click the **Tokens** tab. -4. Click **+ Create user token**. - -After the token is created: - -- **To edit a token's description**, click the **pencil icon**. -- **To view a token**, click **Reveal token**. Clicking on the token value will copy it to the clipboard. -- **To revoke a token**, click **Revoke**. - -To manage tokens for another user, select the user from the **Manage tokens for** dropdown: - - - -:::note -**Organization Admin** permissions are required to manage another user's tokens. -::: \ No newline at end of file +5. Click **Revoke** in the bottom left of the permissions dialog. When prompted, confirm to proceed with revoking the token. \ No newline at end of file diff --git a/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/user-tokens.md b/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/user-tokens.md index 130e274d49ab7..f87b0d2503543 100644 --- a/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/user-tokens.md +++ b/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/user-tokens.md @@ -1,7 +1,41 @@ --- -title: User tokens +title: 'User tokens' sidebar_position: 100 unlisted: true --- -{/* TODO move user token content from https://docs.dagster.io/dagster-plus/account/managing-user-agent-tokens */} \ No newline at end of file +import ThemedImage from '@theme/ThemedImage'; + +# Managing user tokens in Dagster+ + +:::note +This guide is applicable to Dagster+. +::: + +In this guide, we'll walk you through creating user tokens in Dagster+. + +## Managing user tokens +1. Sign in to your Dagster+ account. +2. Click the **user menu (your icon) > Organization Settings**. +3. Click the **Tokens** tab. +4. Click **+ Create user token**. + +After the token is created: + +- **To edit a token's description**, click the **pencil icon**. +- **To view a token**, click **Reveal token**. Clicking on the token value will copy it to the clipboard. +- **To revoke a token**, click **Revoke**. + +To manage tokens for another user, select the user from the **Manage tokens for** dropdown: + + + +:::note +**Organization Admin** permissions are required to manage another user's tokens. +::: \ No newline at end of file From 95cf6a1350b721d3c89a398ac93af6072ce4f3c0 Mon Sep 17 00:00:00 2001 From: Dennis Hume Date: Fri, 20 Dec 2024 10:47:56 -0600 Subject: [PATCH 3/3] Update image --- .../deployment/management/tokens/user-tokens.md | 4 ++-- .../manage-user-tokens-for.png | Bin 0 -> 31133 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 docs/docs-beta/static/images/dagster-plus/user-token-management/manage-user-tokens-for.png diff --git a/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/user-tokens.md b/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/user-tokens.md index f87b0d2503543..7aa264c704de2 100644 --- a/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/user-tokens.md +++ b/docs/docs-beta/docs/dagster-plus/deployment/management/tokens/user-tokens.md @@ -31,8 +31,8 @@ To manage tokens for another user, select the user from the **Manage tokens for* diff --git a/docs/docs-beta/static/images/dagster-plus/user-token-management/manage-user-tokens-for.png b/docs/docs-beta/static/images/dagster-plus/user-token-management/manage-user-tokens-for.png new file mode 100644 index 0000000000000000000000000000000000000000..961a694516ebd28085ae6bec13db0788d040c7de GIT binary patch literal 31133 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 literal 0 HcmV?d00001