# Sharing Config Data

One of our [seven core principle](https://7factorconfig.org)s is to keep your config [DRY](https://7factorconfig.org/dry). CloudTruth provides flexible methods and workflows to share secrets, parameters and templates across projects and environments.&#x20;

### Interpolation

CloudTruth's powerful [Dynamic Value](/configuration-management/parameters/parameter-management/managing-parameters.md#dynamic-parameters) parameter type allows you to reference and interpolate other values and templates from any project.&#x20;

Benefits include:

* Reference one parameter from another to build more complex values.
  * An example is a database hostname, port, and URL value. With interpolation, the value can be constructed with individual settings. So if the port number changes, the new value only needs to change in one location, and all the references will automatically inherit the new value.&#x20;
* Reference parameters from another project.
  * Cherry-pick parameters to be shared or inherit all the values.
* Implicit values allow config data to adjust according to context, avoiding creating too many variants which become difficult to manage at scale. Use implicit values for:
  * Ephemeral environments
  * Topic branches

### Project Inheritance

Share parameters and secrets across projects from a common base project. Project inheritance works with interpolation.

Benefits include:

* Most config data can be organized to share a default value across projects. You don't lose anything by sharing since values can always be overridden for exceptional cases.&#x20;
* Supports templates as well as parameters and secrets.&#x20;

### Environment Inheritance

Environment inheritance allows sharing of config data across environments without repeating values. It's a core concept for [DRY config](https://7factorconfig.org/dry).&#x20;

Benefits include:

* Set sane default values that can be inherited or easily overridden.
* Secret rotation is easier because the secret only has to be changed in one location and will be reflected in all referenced values.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cloudtruth.com/configuration-management/parameters/sharing-config-data.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
