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: