2
0
mirror of https://github.com/VinylDNS/vinyldns synced 2025-08-31 14:25:30 +00:00

Add documentation

This commit is contained in:
Aravindh-Raju
2022-09-23 12:16:53 +05:30
parent 204ce5f939
commit e4ad55e5f7
4 changed files with 106 additions and 37 deletions

View File

@@ -163,6 +163,28 @@ vinyldns {
"ns1.parent.com4."
]
# approved zones, individual users, users in groups and record types that are allowed for dotted hosts
dotted-hosts = {
# for local testing
allowed-settings = [
{
type = "auth-configs"
zone = "dummy."
allowed-user-list = ["testuser"]
allowed-group-list = ["dummy-group"]
allowed-record-type = ["AAAA"]
},
{
# for wildcard zones. Settings will be applied to all matching zones
type = "auth-configs"
zone = "*ent.com."
allowed-user-list = ["professor", "testuser"]
allowed-group-list = ["testing-group"]
allowed-record-type = ["A", "CNAME"]
}
]
}
# Note: This MUST match the Portal or strange errors will ensue, NoOpCrypto should not be used for production
crypto {
type = "vinyldns.core.crypto.NoOpCrypto"

View File

@@ -165,27 +165,10 @@ vinyldns {
"ns1.parent.com4."
]
# approved zones, individual users, users in groups and record types that are allowed for dotted hosts
dotted-hosts = {
# for local testing
allowed-settings = [
{
type = "auth-configs"
zone = "dummy."
allowed-user-list = ["testuser"]
allowed-group-list = ["dummy-group"]
allowed-record-type = ["AAAA"]
},
{
# for wildcard zones. Settings will be applied to all matching zones
type = "auth-configs"
zone = "*ent.com."
allowed-user-list = ["professor", "testuser"]
allowed-group-list = ["testing-group"]
allowed-record-type = ["A", "CNAME"]
}
]
}
# approved zones, individual users, users in groups and record types that are allowed for dotted hosts
dotted-hosts = {
allowed-settings = []
}
# Note: This MUST match the Portal or strange errors will ensue, NoOpCrypto should not be used for production
crypto {

View File

@@ -93,22 +93,22 @@ vinyldns {
# approved zones, individual users, users in groups and record types that are allowed for dotted hosts
dotted-hosts = {
allowed-settings = [
{
# for wildcard zones. Settings will be applied to all matching zones
type = "auth-configs"
zone = "*ent.com*."
allowed-user-list = ["ok"]
allowed-group-list = ["dummy-group"]
allowed-record-type = ["CNAME"]
},
{
# for wildcard zones. Settings will be applied to all matching zones
type = "auth-configs"
zone = "dummy*."
allowed-user-list = ["sharedZoneUser"]
allowed-group-list = ["history-group1"]
allowed-record-type = ["A"]
}
{
# for wildcard zones. Settings will be applied to all matching zones
type = "auth-configs"
zone = "*ent.com*."
allowed-user-list = ["ok"]
allowed-group-list = ["dummy-group"]
allowed-record-type = ["CNAME"]
},
{
# for wildcard zones. Settings will be applied to all matching zones
type = "auth-configs"
zone = "dummy*."
allowed-user-list = ["sharedZoneUser"]
allowed-group-list = ["history-group1"]
allowed-record-type = ["A"]
}
]
}

View File

@@ -536,7 +536,50 @@ v6-discovery-nibble-boundaries {
min = 5
max = 20
}
```
### Dotted Hosts
Configuration setting that determines the zones, users (either individual or based on group) and record types that are
allowed to create dotted hosts. If only all the above are satisfied, one can create a dotted host in VinylDNS.
Note the following:
1. The config `type = "auth-configs"` is a default which shouldn't be changed.
2. Zones defined in the `zone` must always end with a dot. Eg: `comcast.com.`
3. Wildcard character `*` can be used in `zone` to allow dotted hosts for all zones matching it.
4. Individual users who are allowed to create dotted hosts are added to the `allowed-user-list` using their username.
5. A set of users in a group who are allowed to create dotted hosts are added to the `allowed-group-list` using group name.
6. The record types which are allowed while creating a dotted host is added to the `allowed-record-type`.
```yaml
# approved zones, individual users, users in groups and record types that are allowed for dotted hosts
dotted-hosts = {
allowed-settings = [
{
type = "auth-configs"
zone = "dummy."
allowed-user-list = ["testuser"]
allowed-group-list = ["dummy-group"]
allowed-record-type = ["AAAA"]
},
{
# for wildcard zones. Settings will be applied to all matching zones
type = "auth-configs"
zone = "*ent.com."
allowed-user-list = ["professor", "testuser"]
allowed-group-list = ["testing-group"]
allowed-record-type = ["A", "CNAME"]
}
]
}
```
The config can be left empty as follows if we don't want to use it:
```yaml
dotted-hosts = {
allowed-settings = []
}
```
### Full Example Config
@@ -713,6 +756,27 @@ v6-discovery-nibble-boundaries {
}
}
# approved zones, individual users, users in groups and record types that are allowed for dotted hosts
dotted-hosts = {
allowed-settings = [
{
type = "auth-configs"
zone = "dummy."
allowed-user-list = ["testuser"]
allowed-group-list = ["dummy-group"]
allowed-record-type = ["AAAA"]
},
{
# for wildcard zones. Settings will be applied to all matching zones
type = "auth-configs"
zone = "*ent.com."
allowed-user-list = ["professor", "testuser"]
allowed-group-list = ["testing-group"]
allowed-record-type = ["A", "CNAME"]
}
]
}
# true if you want to enable manual review for non-fatal errors
manual-batch-review-enabled = true