Get startedSign in

Your Plural Workspace

Learn about your Plural Git workspaces and how to manage them.

Plural ensures the state of all installed applications are stored in a git repository, under a common format. A typical workspace should have a similar layout to the following example:

┣ 📜.gitattributes
┣ 📜.gitignore
┣ 📜context.yaml
┗ 📜workspace.yaml

Top level files


When you run plural bundle install <app-name> <bundle> and go through the configuration for an application, that information is stored here. In advanced use cases, it can also be manually edited if you want to apply configuration beyond what the bundle provided.


Base cloud provider setup for this repository is stored here. On each app installation, you have the option of inheriting this setup, or reconfiguring for the specific app.


This file specifies the filters that drive secret encryption. In general, do not manually edit this file.

Application folders

These files exist in every application directory that you install with plural bundle install <app-name> <bundle>. To see these files for a specific application, cd <APP-NAME>.



When installing an application with Plural, the Kubernetes resources are deployed using Helm. The Plural CLI creates a second Helm chart that wraps the chart(s) downloaded from the Plural API for every application.

The values.yaml file contains all the configurations specific for this deployment.

The values.yaml file is created during the plural build command using the user inputs from the plural bundle install <app-name> <bundle> command.



The cloud resources required for an application installed through Plural are created using Terraform.

The main entrypoint for the Terraform configuration is terraform/ Similar to the values.yaml file for Helm, the terraform/ is created during the plural build command for every application you have installed.

Build and Deploy files

Our build and deploy files are written in HCL, HashiCorp's proprietary configuration language that interacts with Terraform.

{build | deploy}.hcl

The build/deploy/diff files manage two things:

  • the steps needed to build or apply a specific application in Plural
  • change detection between runs

We automatically detect if changes have been made to your Terraform files, which enables us to ignore unneeded Terraform commands that take a long time to execute.

Miscellaneous Directories and Files


This file tells the Plural CLI to ignore certain paths during change detection, is similar to a .gitignore file for Git.


Metadata about the plural application.


Outputs from various tools (Terraform, Helm, etc) that can be imported and used in other applications.


The crds directory contains all the CRDs for the Helm chart. We manage these through the Plural CLI rather than Helm so we can do more advanced change detection.


The .plural folder within each application folder container two files: ONCE and NONCE. These files are used as targets for change detection by the Plural CLI.

The NONCE file is used for commands that should be executed a single time after a plural build command. The ONCE file is used for commands that should only be executed the first time an application is deployed.