# Configuration and Usage

## Reference Configurations

The source distribution includes a set of example configuration information for each of the major Grey Matter deployment types:

* Service-to-service
* Sidecar Proxy
* Edge Proxy
* Multi-mesh

The goal of this set of example configurations is to demonstrate the full capabilities of Grey Matter in a complex deployment. All features will not be applicable to all use cases. For full documentation see the [configuration reference](https://www.envoyproxy.io/docs/envoy/latest/configuration/configuration#config).

### Configuration Generator

We use [jinja](http://jinja.pocoo.org/) templating to make our configurations easier to create and manage. The source distribution includes a version of the configuration generator that loosely approximates what we use at Lyft. We have also included three example configuration templates for each of the above three scenarios.

* Generator script
* Service to service template
* Sidecar Proxy Template
* Edge Proxy Template
* Multi-mesh Template

To generate the example configurations run the following from the root of the repo:

```
mkdir -p generated/configs
bazel build //configs:example_configs
tar xvf $PWD/bazel-genfiles/configs/example_configs.tar -C generated/configs
```

The previous command will produce three fully expanded configurations using some variables defined inside of this-script. See the comments inside of this-script for detailed information on how the different expansions work.

{% hint style="info" %}
**Notes about the example configurations:**

* An instance of endpoint discovery service is assumed to be running at `discovery.yourcompany.net`
* DNS for `yourcompany.net` is assumed to be setup for various things. Search the configuration templates for different instances of this.
* Tracing is configured for ....  To disable this or enable . ... or .... tracing, delete or change the tracing configuration accordingly.
* The configuration demonstrates the use of a global rate limiting service.To disable this delete the rate limit configuration.
* Route discovery service is configured for the service to service reference configuration and it is assumed to be running at `rds.yourcompany.net`.
* Cluster discovery service is configured for the service to service reference configuration and it is assumed that be running at `cds.yourcompany.net`.
  {% endhint %}

## Grey Matter Configuration Topics

* Consul
* Fabric
  * Set Up the Grey Matter CLI
  * Set and Modify Sidecar Filters
  * Configure Audits
  * Use the Catalog API
  * Add and Delete a Service from the Mesh
  * Enable Audits to Be Ingested into Elasticsearch with Kibana
* Mesh Configuration
  * Filters
    * Filters
    * RBAC
  * Networking
    * Host Identification
    * Protocol Switching
  * Routing
    * Multi-Mesh
* More Mesh Configurations
  * Objects
    * Cluster
    * Domain
    * Listener
    * Proxy
    * Route
    * Shared Rules
    * Zone
  * gm-control
  * Discovery
  * Observability
  * L7 Traffic Management
  * Blacklist - Whitelist
  * Develop and Debug
* Traffic Management
* Authentication Policy
* Authorization
* Installation Options
* Policies and Telemetry
* Operator Installation
* Resource Annotations
* Installation Options Changes
* Service Mesh

## Questions?

{% hint style="info" %}
**Configuration Issues?**

Contact us at [Grey Matter Support](https://support.greymatter.io/support/home) to reach our team.
{% endhint %}


---

# 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://greymatter.gitbook.io/grey-matter-documentation/usage.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.
