---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ytsaurus.tech/docs/en/flow/devops.md
  - https://ytsaurus.tech/docs/ru/flow/devops.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ytsaurus.tech/docs/en/llms.txt

# Operating YTsaurus Flow

This section explains how to deploy a pipeline, inspect its state, and investigate stalled processing. The commands assume cluster access and permissions on the pipeline node. Replace `//path/to/pipeline`, `<cluster>`, and `<operation-id>` with your own values. Flow can run in Linux environments when the runtime and configuration prerequisites are met and the environment has network access to the YTsaurus clusters and other services used by the pipeline. In this documentation, Vanilla operations are the simplest example of an environment native to a YTsaurus cluster.

## Deployment {#deployment}

Follow [initial Vanilla deployment](https://ytsaurus.tech/docs/en/flow/devops/vanilla/initial-deploy.md) to start the controller and workers as tasks of one operation. To launch from the released Flow images, see [Running in a docker environment](https://ytsaurus.tech/docs/en/flow/devops/docker-environment.md): it covers vanilla jobs in docker images, the controller and the workers in Kubernetes, cluster-name resolution, and external proxy access. Flow creates and mounts its internal tables with the pipeline by default. If your pipeline uses user-managed external state, choose an [external state table type](https://ytsaurus.tech/docs/en/flow/devops/state-tables-choice.md) before creating those tables based on availability and cost requirements.

## Launch Flow {#launch-flow}

Create the configuration and start the pipeline with the [Vanilla launch steps](https://ytsaurus.tech/docs/en/flow/devops/vanilla/initial-deploy.md#run). Before starting, verify the objects and permissions required by the new version.

## Deployment guides {#deployment-pages}

To operate an existing pipeline, use the [lifecycle guide](https://ytsaurus.tech/docs/en/flow/devops/vanilla/pipeline-operations.md), [releases](https://ytsaurus.tech/docs/en/flow/devops/vanilla/releases.md), [security](https://ytsaurus.tech/docs/en/flow/devops/vanilla/security.md), and [logs](https://ytsaurus.tech/docs/en/flow/devops/vanilla/diagnostics/logs.md).

## Lifecycle {#lifecycle}

Use [`yt flow`](https://ytsaurus.tech/docs/en/flow/tools/cli.md) to start, stop, pause, and inspect the pipeline. `stop-pipeline` drains intermediate buffers; `pause-pipeline` suspends processing without draining. [Complete removal](https://ytsaurus.tech/docs/en/flow/devops/vanilla/pipeline-operations.md#remove) also aborts the Vanilla operation and deletes the pipeline node with its Flow internal tables. User-managed external state tables outside that node remain.

For upgrades, hotfixes, and rollbacks, follow the [release guide](https://ytsaurus.tech/docs/en/flow/devops/vanilla/releases.md). Pass tokens and other secrets according to the [security guide](https://ytsaurus.tech/docs/en/flow/devops/vanilla/security.md); keep them out of specs and images.

## When progress stops {#investigate}

Query the pipeline state and view, then compare them with the [controller and worker logs](https://ytsaurus.tech/docs/en/flow/devops/vanilla/diagnostics/logs.md). [Diagnostics](https://ytsaurus.tech/docs/en/flow/devops/diagnostics.md) helps identify the affected job, [profiling](https://ytsaurus.tech/docs/en/flow/devops/profiling.md) helps locate a stall or bottleneck, and [troubleshooting](https://ytsaurus.tech/docs/en/flow/devops/troubleshooting.md) maps observations to safe next actions.
