A CloudTruth project allows you to isolate parameters and templates for specific use cases within your organization.
Each CloudTruth Organization starts with a default project MyFirstProject where parameters will automatically be created. CloudTruth Environments are common to your organization and are shared across all projects.

Creating Projects

Navigate to the Projects page from the left hand menu under Organization and click Add Project.
Provide the Project a name and an optional description and click Create Project. You can optionally inherit config from another project by selecting a parent project.

Managing Project Data

Once you have multiple projects added to your organization you can select an active project with the project selector dropdown under Project In the Left Hand Menu. An outline of inherited projects is also displayed in the selector.
The active project will be displayed in the project selector.

Parameters and Templates

Managing Parameters and Templates are scoped to the selected project tree in the project selector and will only be accessible when calling the specified project.

Project Inheritance

We provide the ability to inherit another project's config data as part of a project inheritance tree. You can set or remove the parent during project creation or by dragging and dropping the project from the projects page.
This allows you to define a base set of parameters for your applications and share them across all of your projects. Child projects also allow overriding parameters at a specific project and environment level giving you complete control over your app configuration.
Project Inheritance is displayed as a nested project tree on the projects page.
In this example, Project_B was created as a child of Project_A. The parameters screen for Project_B displays the inherited parameters and secrets from Project_A.

Changing project dependencies

You can change the project tree and inheritance by dragging and dropping projects in the UI.
You will be prompted to confirm any changes, moving a project will affect the parameters and secrets that are being provided by the existing project.

Overrides for project parameters

You can override specific parameters in a child project by creating a new parameter or secret with the same name in the child project. param1 for Project_A is overridden in Project_B and contains new values specific to the project environments.

Inheritance tree

Projects can inherit parameters and secrets from multiple projects in the tree.
Project_C inherits parameters and secrets from both Project_A and Project_B including any overrides that are present in Project_B.

Inherited templates

Child projects will also inherit templates from the parent projects.

Deleting a Project

Clicking the project pencil or trash can allows you to modify the description or delete the selected project.
Selecting Delete Project will prompt you with a confirmation, deleting a Project may impact any configuration referencing Parameters from that Project.
Deleting a project deletes all parameters and templates that exist within that project.