Managing Workspaces

A Flowpipe workspace is a "profile" that allows you to define a unified environment that the Flowpipe client can interact with.

Flowpipe workspaces allow you to define multiple named configurations:

and easily switch between them using the --workspace argument or FLOWPIPE_WORKSPACE environment variable:

Defining Workspaces

Workspace configurations can be defined in any .fpc file in the configuration file search path but by convention they are defined in a file named workspaces.fpc. This file may contain multiple workspace definitions that can then be referenced by name.

Any unset arguments will assume the default values - you don't need to set them all:

You can use base= to inherit settings from another profile:

Using Workspaces

The workspace named default is special; if a workspace named default exists, --workspace is not specified in the command, and FLOWPIPE_WORKSPACE is not set, then Flowpipe uses the default workspace:

It is common to create the default workspace in ~/.flowpipe/config/workspaces.fpc. You can also create a "directory local" default for a specific directory. Because the default configuration file search path includes the current directory / mod location at a higher precedence than ~/.flowpipe/config, your "directory local" default will take precedence when you run Flowpipe from that directory.

You can pass any workspace to --workspace to use its values:

Or do the same with the FLOWPIPE_WORKSPACE environment variable:

If you specify the --workspace argument and the FLOWPIPE_WORKSPACE environment variable, the --workspace argument wins:

If you specify the --workspace argument and more specific arguments, any more specific arguments will override the workspace values:

Environment variable values override default workspace settings when the default workspace is implicitly used:

If the default workspace is explicitly passed to the --workspace argument, its values will override any individual environment variables:

The same is true of any named workspace: