Group Flows and Manage Access with Namespaces

For the complete documentation index, see llms.txt. For a full content snapshot, see llms-full.txt. Append .md to any kestra.io/docs/* URL for plain Markdown.

Namespaces are logical groupings of flows that control access to secrets, key-value pairs, plugin defaults, and variables.

Namespaces form a dot-separated hierarchy with no enforced depth limit, separating environments, teams, and projects within a single instance. Namespace names consist of lowercase alphanumeric characters, dots, underscores, and hyphens. They must start with a letter or digit and have a maximum length of 150 characters:

  • project_one
  • company.project_two
  • company.team.project_three

To fully isolate environments with their own resources, see Tenants (Enterprise Edition).

The namespace property

The namespace property is required on every flow and declares which namespace the flow belongs to:

id: hello_world
namespace: company.team
tasks:
- id: log_task
type: io.kestra.plugin.core.log.Log
message: hi from {{ flow.namespace }}

Flows in the company.team namespace

Namespace Files

Each namespace has an embedded code editor for managing scripts, configuration, and other files shared across flows in that namespace. Namespace Files are managed through the Namespace Files tab or synced from Git.

Namespace Files editor

Namespace overview

Open any namespace to see its execution dashboards, flows, dependencies, and KV Store. Namespaces are also accessible via kestractl namespaces list.

Tabs marked with a lock icon (Edit, Secrets, Credentials, Assets, Variables, Policies, Reusable Inputs, Revisions, and Audit Logs) are available in Kestra EE. See the Enterprise Edition documentation for details.

Namespace overview with execution dashboards and sidebar tabs

Was this page helpful?