# Globally unique domain zone **Make sure you understand the [basic concepts](../nns/README.md) of `NNS`.** `Globally Unique Domains Zone` (`GUDZ`) is an extension of `NNS` that ensures unique names across multiple domain zones. When this option is enabled, all newly created domains will automatically receive a corresponding alias in the designated global zone. Deleting a domain will also remove its alias from the global zone. It's important to note that this feature is not retroactive: domains created before this option is enabled will not receive a global alias. Likewise, if the option is later disabled, domains that already have a `GUDZ` alias will retain their records. To fully disable `GUDZ`, all domains must be recreated with the option turned off. To enable `GUDZ`, add a `cnametgt=$(global domain)` `TXT` record that specifies the global zone. **Example:** Domains: - `poland` - `sweden` - `animals.org` It is necessary to associate the domain zones `.poland` and `.sweden` into the global zone `.animals`. ![](img/GUDZ.png) Create domains: ``` frostfs-adm morph nns register --name="poland" --email="email@email.email" frostfs-adm morph nns register --name="sweden" --email="email@email.email" frostfs-adm morph nns register --name="org" --email="email@email.email" frostfs-adm morph nns register --name="animals.org" --email="email@email.email" ``` Add the `cnametgt` records: ``` frostfs-adm morph nns add-record --name="poland" --data="cnametgt=animals.org" --type="txt" frostfs-adm morph nns add-record --name="sweden" --data="cnametgt=animals.org" --type="txt" ``` Create a domain with mapping to the global zone: ``` frostfs-adm morph nns register --name="bober.poland" --email="email@email.email" ``` Add any `TXT` record ``` frostfs-adm morph nns add-record --name="bober.poland" --data="CID" --type="txt" ``` Verify that the created domain has alias in the global zone ``` frostfs-adm morph nns tokens -v balance.frostfs animals.org group.frostfs container org container.frostfs proxy.frostfs policy.frostfs alphabet0.frostfs sweden frostfsid.frostfs bober.animals.org (CNAME: bober.poland) netmap.frostfs frostfs poland bober.poland ``` Create of a conflicting domain ``` frostfs-adm morph nns register --name="bober.sweden" --email="email@email.email" unable to register domain: script failed (FAULT state) due to an error: at instruction 1263 (THROW): unhandled exception: "global domain is already taken: bober.animals.org. Domain: bober.poland ``` **Disable GUDZ** Delete `cnametgt` records ``` frostfs-adm morph nns delete-records --type=txt --name=poland ``` Create `hamster.poland` and `hamster.sweden` ``` frostfs-adm morph nns register --name="hamster.poland" --email="email@email.email" frostfs-adm morph nns register --name="hamster.sweden" --email="email@email.email" ``` `hamster.poland` and `hamster.sweden` does not have alias ``` frostfs-adm morph nns tokens -v balance.frostfs animals.org group.frostfs container org container.frostfs proxy.frostfs policy.frostfs alphabet0.frostfs sweden frostfsid.frostfs bober.animals.org (CNAME: bober.poland) netmap.frostfs frostfs poland bober.poland hamster.poland ``` Delete global alias of `bober.poland` ``` frostfs-adm morph nns delete-records --name="bober.poland" --type="txt" ``` ``` frostfs-adm morph nns tokens -v balance.frostfs animals.org group.frostfs container org container.frostfs proxy.frostfs policy.frostfs alphabet0.frostfs sweden frostfsid.frostfs netmap.frostfs frostfs poland bober.poland hamster.poland ``` Delete `bober.poland` ``` frostfs-adm morph nns delete --name="bober.poland" ``` ``` frostfs-adm morph nns tokens -v balance.frostfs animals.org group.frostfs container org container.frostfs proxy.frostfs policy.frostfs alphabet0.frostfs sweden frostfsid.frostfs netmap.frostfs frostfs poland hamster.poland ```