Skip to content
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

[Docs] Add structure for remaining missing content (Dagster+) #26299

Merged
merged 51 commits into from
Dec 12, 2024
Merged
Show file tree
Hide file tree
Changes from 48 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
33e20c9
reorganize agents section
neverett Dec 5, 2024
6349714
Merge branch 'master' into nikki/docs/add-skeleton
neverett Dec 5, 2024
aea0801
another pass at reorganizing hybrid deployments section
neverett Dec 5, 2024
a6327ec
add atructure for SCIM section
neverett Dec 5, 2024
f8c91e9
clean up alerts section
neverett Dec 5, 2024
013f2aa
more cleanup of alerts docs
neverett Dec 10, 2024
53bc785
reorganize hybrid agents docs
neverett Dec 10, 2024
3a14297
clean up branch deployments docs
neverett Dec 10, 2024
88feff1
fix link
neverett Dec 10, 2024
23cf134
Merge branch 'master' into nikki/docs/add-skeleton
neverett Dec 10, 2024
0393bf4
add stub page for dagster_cloud.yaml reference
neverett Dec 10, 2024
7327fbb
finish adding pages for amazon ECS agent
neverett Dec 10, 2024
3ebe1f5
clean up branch deployments
neverett Dec 10, 2024
cf3f7f9
add dagster-cloud cli reference page
neverett Dec 10, 2024
f21802c
turn dagster-cloud CLI into section
neverett Dec 10, 2024
69fb74f
clean up env variables section
neverett Dec 10, 2024
55fbe05
clean up rest of deployment section, move settings pages to dedicated…
neverett Dec 10, 2024
b2f1bf5
fix sidebar position
neverett Dec 10, 2024
f35e7ce
clean up tokens docs and multi-tenancy doc
neverett Dec 10, 2024
58e2326
update lots of deployment docs
neverett Dec 11, 2024
f732821
finalize alerts section
neverett Dec 11, 2024
4b116fa
put branch deployments in ci/cd section
neverett Dec 11, 2024
062348a
rename catalog views page
neverett Dec 11, 2024
3671a65
unlist and add notes to branch deployments pages
neverett Dec 11, 2024
2793680
unlist ci/cd file reference page
neverett Dec 11, 2024
9c06a38
move deployment types docs to new section and clean up metadata and a…
neverett Dec 11, 2024
44e86ca
move serverless to hybrid doc into migration section, update metadata
neverett Dec 11, 2024
4dc7139
multi tenant deployment doc moved
neverett Dec 11, 2024
da06af2
create new deployment management section, update page metadata, add n…
neverett Dec 11, 2024
ca4ca6c
move code locations section to features, update metadata, add links
neverett Dec 11, 2024
bbd5a5e
this has been moved
neverett Dec 11, 2024
02cdf74
update metadata, add TODO notes for copying old content
neverett Dec 11, 2024
787e6cc
update metadata, fix links
neverett Dec 11, 2024
57fe517
update metadata
neverett Dec 11, 2024
afd73c3
update metadata
neverett Dec 11, 2024
8b57ea6
update metadata, add TODO links for moving old content
neverett Dec 11, 2024
fa53b96
update metadata
neverett Dec 11, 2024
5c85322
update metadata
neverett Dec 11, 2024
40623b7
Merge branch 'master' into nikki/docs/add-skeleton
neverett Dec 11, 2024
1c1f6f5
mdx extension doesn't seem necessary here
neverett Dec 11, 2024
d598c13
fix links
neverett Dec 11, 2024
b130780
fix links
neverett Dec 11, 2024
60e6aca
more links
neverett Dec 11, 2024
dd8d1ff
more links
neverett Dec 11, 2024
60db1da
one last link
neverett Dec 11, 2024
96792cb
Merge branch 'master' into nikki/docs/add-skeleton
neverett Dec 11, 2024
624e450
more metadata cleanup
neverett Dec 11, 2024
405c52c
appease graphite
neverett Dec 11, 2024
34f5415
Merge branch 'master' into nikki/docs/add-skeleton
neverett Dec 12, 2024
e714b21
move code locations back to deployment for consistency with OSS docs
neverett Dec 12, 2024
587a3d5
fix links
neverett Dec 12, 2024
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
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
title: 'Dagster+ code requirements'
displayed_sidebar: 'dagsterPlus'
sidebar_label: "Code requirements"
sidebar_position: 100
sidebar_position: 10
---

Your Dagster project must meet a few requirements to run in Dagster+.
Expand Down Expand Up @@ -34,7 +33,7 @@ To work with Dagster+, your Dagster code:

## Hybrid deployment requirements

If you're using [Hybrid Deployment](/dagster-plus/deployment/hybrid), there are a few additional requirements.
If you're using [Hybrid Deployment](/dagster-plus/deployment/deployment-types/hybrid), there are a few additional requirements.

- **If using an Amazon Elastic Container Service (ECS), Kubernetes, or Docker agent**, your code must be packaged into a Docker image and pushed to a registry your agent can access. Dagster+ doesn't need access to your image - the agent only needs to be able to pull it.

Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Configuration reference
sidebar_position: 400
unlisted: true
---

{/* TODO copy from https://docs.dagster.io/dagster-plus/deployment/agents/amazon-ecs/configuration-reference */}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Existing VPC setup
sidebar_position: 200
unlisted: true
---

{/* TODO copy from https://docs.dagster.io/dagster-plus/deployment/agents/amazon-ecs/creating-ecs-agent-existing-vpc */}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Amazon ECS agent
sidebar_position: 50
---

import DocCardList from '@theme/DocCardList';

<DocCardList />
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Manual provision setup
sidebar_position: 300
unlisted: true
---

{/* TODO move content from https://docs.dagster.io/dagster-plus/deployment/agents/amazon-ecs/manually-provisioning-ecs-agent */}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: New VPC setup
sidebar_position: 100
unlisted: true
---

{/* TODO copy from https://docs.dagster.io/dagster-plus/deployment/agents/amazon-ecs/creating-ecs-agent-new-vpc */}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Upgrading CloudFormation for an Amazon ECS agent
sidebar_label: Upgrading CloudFormation
sidebar_position: 500
unlisted: true
---

{/* TODO move from https://docs.dagster.io/dagster-plus/deployment/agents/amazon-ecs/upgrading-cloudformation-template */}
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
---
title: 'Dagster+ Hybrid architecture'
displayed_sidebar: 'dagsterPlus'
sidebar_position: 100
sidebar_position: 10
---

# Dagster+ Hybrid architecture

The Hybrid architecture is the most flexible and secure way to deploy Dagster+. It allows you to run your user code in your environment while leveraging Dagster+'s infrastructure for orchestration and metadata management

<details>
Expand Down Expand Up @@ -83,7 +80,7 @@ Runs are launched by calling the `dagster api` CLI command in a separate process

When runs are launched, the user code process/container streams structured metadata (containing everything that's viewable in the integrated logs viewer in the Dagster+ UI) back to Dagster+ over a well-defined GraphQL interface. Structured metadata is stored in Amazon RDS, encrypted at rest.

By default, the run worker also uploads the compute logs (raw `stdout` and `stderr` from runs) to Dagster+. If you don't want to upload logs, you can disable this feature in the [agent settings](/dagster-plus/deployment/hybrid/agents/settings).
By default, the run worker also uploads the compute logs (raw `stdout` and `stderr` from runs) to Dagster+. If you don't want to upload logs, you can disable this feature in the [agent settings](/dagster-plus/deployment/management/settings/hybrid-agent-settings).

### Ingress

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Docker agent configuration
sidebar_position: 200
unlisted: true
---

{/* TODO copy from https://docs.dagster.io/dagster-plus/deployment/agents/docker/configuration-reference */}
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
---
title: Migration
displayed_sidebar: "dagsterPlus"
title: Docker agent
sidebar_position: 30
---

# Migration

import DocCardList from '@theme/DocCardList';

<DocCardList />
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Docker agent setup
sidebar_position: 100
unlisted: true
---

{/* TODO copy from https://docs.dagster.io/dagster-plus/deployment/agents/docker/configuring-running-docker-agent */}
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
---
title: "Hybrid deployment"
displayed_sidebar: "dagsterPlus"
sidebar_label: Hybrid
sidebar_position: 20
---

# Hybrid deployment

In a Dagster+ Hybrid deployment, the orchestration control plane is run by Dagster+ while your Dagster code is executed within your environment.

[comment]: <> (TODO: Architecture diagram)
Expand All @@ -16,24 +14,24 @@ To get started with a Hybrid deployment you'll need to:

1. Create a [Dagster+ organization](https://dagster.cloud/signup)
2. Install a Dagster+ Hybrid Agent
3. [Add a code location](/dagster-plus/deployment/code-locations), typically using a Git repository and CI/CD
3. [Add a code location](/dagster-plus/features/code-locations), typically using a Git repository and CI/CD

## Dagster+ Hybrid agents

The Dagster+ agent is a long-lived process that polls Dagster+'s API servers for new work.

See the following guides for setting up an agent:
- [Kubernetes](/dagster-plus/deployment/hybrid/agents/kubernetes)
- [AWS ECS](/dagster-plus/deployment/hybrid/agents/amazon-ecs-new-vpc)
- [Docker](/dagster-plus/deployment/hybrid/agents/docker)
- [Locally](/dagster-plus/deployment/hybrid/agents/local)
- [Kubernetes](/dagster-plus/deployment/deployment-types/hybrid/kubernetes)
- [AWS ECS](/dagster-plus/deployment/deployment-types/hybrid/amazon-ecs/new-vpc)
- [Docker](/dagster-plus/deployment/deployment-types/hybrid/docker)
- [Locally](/dagster-plus/deployment/deployment-types/hybrid/local)


## What you'll see in your environment

### Code location servers

Dagster+ runs your Dagster projects through code locations. To get started, follow this guide for [adding a code location](/dagster-plus/deployment/code-locations).
Dagster+ runs your Dagster projects through code locations. To get started, follow this guide for [adding a code location](/dagster-plus/features/code-locations).

When you inform Dagster+ about a new code location, we enqueue instructions for your agent to launch a new code server. The agent uses your container image to launch a code server that interacts with your Dagster definitions. The agent will run one long-standing code server for each code location. Once the code server is running, the agent will send Dagster+ metadata about your Dagster definitions that Dagster+ uses to make orchestration decisions.

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Kubernetes agent configuration
sidebar_position: 200
unlisted: true
---

{/* TODO copy from https://docs.dagster.io/dagster-plus/deployment/agents/kubernetes/configuration-reference */}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Kubernetes agent
sidebar_position: 40
---

import DocCardList from '@theme/DocCardList';

<DocCardList />
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
---
title: "Running Dagster+ agents on Kubernetes"
displayed_sidebar: "dagsterPlus"
sidebar_position: 300
sidebar_label: "Kubernetes"
title: Kubernetes agent setup
sidebar_position: 100
---

# Running Dagster+ agents on Kubernetes

This page provides instructions for running the [Dagster+ agent](/todo) on a [Kubernetes](https://kubernetes.io) cluster.

## Installation
Expand All @@ -28,7 +24,7 @@ kubectl create namespace dagster-cloud

### Step 2: Create an agent token secret

[Generate an agent token](/dagster-plus/deployment/hybrid/tokens) and set it as a Kubernetes secret:
[Generate an agent token](/dagster-plus/deployment/management/tokens) and set it as a Kubernetes secret:

```shell
kubectl --namespace dagster-cloud create secret generic dagster-cloud-agent-token --from-literal=DAGSTER_CLOUD_AGENT_TOKEN=<token>
Expand Down Expand Up @@ -85,17 +81,17 @@ kubectl --namespace dagster-cloud logs -l deployment=agent

There are three places to customize how Dagster interacts with Kubernetes:
- **Per Deployment** by configuring the Dagster+ agent using [Helm values](https://artifacthub.io/packages/helm/dagster-cloud/dagster-cloud-agent?modal=values)
- **Per Project** by configuring the `dagster_cloud.yaml` file for your [code location](/dagster-plus/deployment/code-locations)
- **Per Project** by configuring the `dagster_cloud.yaml` file for your [code location](/dagster-plus/features/code-locations)
- **Per Asset or Job** by adding tags to the [asset](/todo), [job](/todo), or [customizing the Kubernetes pipes invocation](/todo)

Changes apply in a hierarchy, for example, a customization for an asset will override a default set globally in the agent configuration. Attributes that are not customized will use the global defaults.

An exhaustive list of settings is available [here](/dagster-plus/deployment/hybrid/agents/settings), but common options are presented below.
An exhaustive list of settings is available [here](/dagster-plus/deployment/management/settings/hybrid-agent-settings), but common options are presented below.


### Configure your agents to serve branch deployments

[Branch deployments](/dagster-plus/features/branch-deployments/index.mdx) are lightweight staging environments created for each code change. To configure your Dagster+ agent to manage them:
[Branch deployments](/dagster-plus/features/ci-cd/branch-deployments/index.md) are lightweight staging environments created for each code change. To configure your Dagster+ agent to manage them:

```yaml
# values.yaml
Expand Down Expand Up @@ -223,7 +219,7 @@ helm --namespace dagster-cloud upgrade agent \

### Make secrets available to your code

You can make secrets available [through the Dagster+ web interface](/dagster-plus/deployment/environment-variables) or through Kubernetes. Configuring secrets through Kubernetes has the benefit that Dagster+ never stores or accesses the secrets, and they can be managed as code. First, create the Kubernetes secret:
You can make secrets available [through the Dagster+ web interface](/dagster-plus/deployment/management/environment-variables) or through Kubernetes. Configuring secrets through Kubernetes has the benefit that Dagster+ never stores or accesses the secrets, and they can be managed as code. First, create the Kubernetes secret:

```bash
kubectl create secret generic database-password-kubernetes-secret \
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
---
title: "Running a Dagster+ agent locally"
displayed_sidebar: "dagsterPlus"
sidebar_position: 600
sidebar_label: "Local"
title: Running a local agent
sidebar_position: 20
sidebar_label: Local agent
---

Local agents are a good way to experiment with Dagster+ before deploying a more scalable Hybrid agent like [Kubernetes](/dagster-plus/deployment/hybrid/agents/kubernetes) or [Amazon ECS](/todo).
Local agents are a good way to experiment with Dagster+ before deploying a more scalable Hybrid agent like [Kubernetes](/dagster-plus/deployment/deployment-types/hybrid/kubernetes) or [Amazon ECS](/todo).

:::note
Local agents aren't well suited for most production use cases. If you're running the local agent in production, make sure that:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Running multiple agents
sidebar_position: 60
sidebar_label: Multiple agents
unlisted: true
---

{/* TODO copy from https://docs.dagster.io/dagster-plus/deployment/agents/running-multiple-agents */}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Deployment types
sidebar_position: 20
---

import DocCardList from '@theme/DocCardList';

<DocCardList />
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Multi-tenant
sidebar_position: 30
unlisted: true
---
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
---
title: 'CI/CD in Serverless '
displayed_sidebar: 'dagsterPlus'
title: 'CI/CD in Serverless'
sidebar_position: 300
---

# CI/CD in Serverless

If you're a GitHub or GitLab user, you can use our predefined workflows to seamlessly deploy and synchronize your code to Dagster+. You can also use other Git providers or a local Git repository with our [dagster-cloud CLI](/dagster-plus/features/branch-deployments/dagster-cloud-cli) to run your own CI/CD process.
If you're a GitHub or GitLab user, you can use our predefined workflows to seamlessly deploy and synchronize your code to Dagster+. You can also use other Git providers or a local Git repository with our [dagster-cloud CLI](/dagster-plus/deployment/management/dagster-cloud-cli) to run your own CI/CD process.

<Tabs groupId="method">
<TabItem value="GitHub" label="With GitHub">

If you're a GitHub user, with a single click our GitHub app with GitHub Actions can set up a repo containing skeleton code and configuration for you consistent with Dagster+'s best practices. Pushing your code changes to the `main` branch will automatically deploy them to your `prod` Serverless deployment. Pull requests will spin up ephemeral [branch deployments](/dagster-plus/features/branch-deployments/index.mdx) that you can view in the Dagster+ UI for previewing and testing.
If you're a GitHub user, with a single click our GitHub app with GitHub Actions can set up a repo containing skeleton code and configuration for you consistent with Dagster+'s best practices. Pushing your code changes to the `main` branch will automatically deploy them to your `prod` Serverless deployment. Pull requests will spin up ephemeral [branch deployments](/dagster-plus/features/ci-cd/branch-deployments/index.md) that you can view in the Dagster+ UI for previewing and testing.

:::note
**If you are importing a Dagster project that's in an existing GitHub repo:**
Expand All @@ -28,13 +25,13 @@ If you're a GitHub user, with a single click our GitHub app with GitHub Actions

<TabItem value="GitLab" label="With GitLab">

If you're a GitLab user, with a single click our GitLab app can set up a repo containing skeleton code and CI/CD configuration for you consistent with Dagster+'s best practices. Pushing your code changes to the `main` branch will automatically deploy them to your `prod` Serverless deployment. Pull requests will spin up ephemeral [branch deployments](/dagster-plus/features/branch-deployments/index.mdx) that you can view in the Dagster+ UI for previewing and testing.
If you're a GitLab user, with a single click our GitLab app can set up a repo containing skeleton code and CI/CD configuration for you consistent with Dagster+'s best practices. Pushing your code changes to the `main` branch will automatically deploy them to your `prod` Serverless deployment. Pull requests will spin up ephemeral [branch deployments](/dagster-plus/features/ci-cd/branch-deployments/index.md) that you can view in the Dagster+ UI for previewing and testing.

</TabItem>

<TabItem value="Other" label="Other Git providers or local development">

If you don't want to use our automated GitHub/GitLab process, we offer [the powerful `dagster-cloud` command-line interface (CLI)](/dagster-plus/features/branch-deployments/dagster-cloud-cli) that you can use in another CI environment or locally.
If you don't want to use our automated GitHub/GitLab process, we offer [the powerful `dagster-cloud` command-line interface (CLI)](/dagster-plus/features/ci-cd/branch-deployments/dagster-cloud-cli) that you can use in another CI environment or locally.

First, [create a new project](/getting-started/quickstart) with the Dagster open source CLI.

Expand Down Expand Up @@ -62,7 +59,7 @@ install_requires=[

:::

Next, install the [`dagster-cloud` CLI](/dagster-plus/features/branch-deployments/dagster-cloud-cli) and use its `configure` command to authenticate it to your Dagster+ organization.
Next, install the [`dagster-cloud` CLI](/dagster-plus/features/ci-cd/branch-deployments/dagster-cloud-cli) and use its `configure` command to authenticate it to your Dagster+ organization.

**Note:** The CLI requires a recent version of Python 3 and Docker.

Expand All @@ -71,7 +68,7 @@ pip install dagster-cloud
dagster-cloud configure
```

You can also configure the `dagster-cloud` tool non-interactively; see [the CLI docs](/dagster-plus/features/branch-deployments/dagster-cloud-cli) for more information.
You can also configure the `dagster-cloud` tool non-interactively; see [the CLI docs](/dagster-plus/features/ci-cd/branch-deployments/dagster-cloud-cli) for more information.

Finally, deploy your project to Dagster+ using the `serverless` command:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
---
title: 'IP addresses'
displayed_sidebar: 'dagsterPlus'
title: Dagster+ Serverless IP addresses
sidebar_label: IP addresses
sidebar_position: 400
---

# Dagster+ Serverless IP addresses

Serverless code will make requests from one of the following IP addresses. You may need to whitelist / allowlist them for services your code interacts with.

```plain
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: 'Serverless deployment'
displayed_sidebar: 'dagsterPlus'
sidebar_label: Serverless
sidebar_position: 10
---

Expand All @@ -14,7 +14,7 @@ Dagster+ Serverless is a fully managed version of Dagster+ and is the easiest wa

Serverless works best with workloads that primarily orchestrate other services or perform light computation. Most workloads fit into this category, especially those that orchestrate third-party SaaS products like cloud data warehouses and ETL tools.

If any of the following are applicable, you should select [Hybrid deployment](/dagster-plus/deployment/hybrid):
If any of the following are applicable, you should select [Hybrid deployment](/dagster-plus/deployment/deployment-types/hybrid):

- You require substantial computational resources. For example, training a large machine learning (ML) model in-process
- Your dataset is too large to fit in memory. For example, training a large ML model in-process on a terabyte of data
Expand Down
Loading
Loading