# Announce to Fabric

When the **Grey Matter Proxy** connects to **Grey Matter Control**, it sends an announcement that identifies itself to the control plane. This announcement information isolates nodes into zones, determine which configuration options go to which proxy instance, etc.

## Cluster

The [service cluster](https://www.envoyproxy.io/docs/envoy/v1.15.0/operations/cli#cmdoption-service-cluster) defines what type of service this proxy is serving. Examples include:

* example-service
* user-service
* data
* catalog
* etc.

This field is used by the control plane to group together all proxies that share the same `cluster` so that they'll be properly routed and load-balanced as instances spin up or down.

## Zone

The [zone](https://www.envoyproxy.io/docs/envoy/v1.15.0/operations/cli#cmdoption-service-zone) is the logical group that the proxy is running in. This can correlate to actual geographic regions, different slices of the network, or simply logical groups.

{% hint style="info" %}
**Note:** the `zone` that the proxy announces must match the `--api.zone` of the `gm-control` instance the proxy connects to. If these two are not in agreement, then the proxy is considered to be in a different zone and will receive no configuration.
{% endhint %}

## Node ID

The [node id](https://www.envoyproxy.io/docs/envoy/v1.15.0/operations/cli#cmdoption-service-node) is generally a unique identifier for this particular proxy instance, and can be used to take instance specific actions.

{% hint style="info" %}
**Note:** this field is not currently used for any operations in the control plane. By default, each node will get a random ID, so it does not need to be set by the user.
{% endhint %}

## Set Announcement Info

Using the Grey Matter Proxy, you can set the announcement info most easily through the environment variables:

```
PROXY_DYNAMIC=true   # To run in dynamic configuration mode


XDS_CLUSTER=example-service
XDS_ZONE=us-east-1
XDS_NODE_ID=an58xch3mf78
```

You can also set these environment variables directly at the command line when running the binary:

```
gm-proxy -c ./config.yaml \
    --service-cluster=example-service \
    --service-zone=us-east-1 \
    --service-node=an58xch3mf78
```

You can also set each flag directly in the bootstrap config template in the [node](https://www.envoyproxy.io/docs/envoy/v1.15.0/api-v2/api/v2/core/base.proto#core-node) section, as shown below:

```
node:
  cluster: example-service
  id: n48xng&9#dsfd9
  locality:
    zone: us-east-1
```

## Questions

{% hint style="success" %}
**Need help announcing to Grey Matter Fabric?**

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