2
0
mirror of https://github.com/VinylDNS/vinyldns synced 2025-08-22 02:02:14 +00:00

Rename config properties

This commit is contained in:
Aravindh-Raju 2022-10-14 12:02:22 +05:30
parent 3527fdb722
commit 6b0b1a32f6
No known key found for this signature in database
GPG Key ID: 6B4D566AC36626F6
9 changed files with 60 additions and 60 deletions

View File

@ -169,18 +169,18 @@ vinyldns {
allowed-settings = [
{
zone = "*mmy."
allowed-user-list = ["testuser"]
allowed-group-list = ["dummy-group"]
allowed-record-type = ["AAAA"]
allowed-dots-limit = 3
user-list = ["testuser"]
group-list = ["dummy-group"]
record-types = ["AAAA"]
dots-limit = 3
},
{
# for wildcard zones. Settings will be applied to all matching zones
zone = "parent.com."
allowed-user-list = ["professor", "testuser"]
allowed-group-list = ["testing-group"]
allowed-record-type = ["A", "CNAME"]
allowed-dots-limit = 3
user-list = ["professor", "testuser"]
group-list = ["testing-group"]
record-types = ["A", "CNAME"]
dots-limit = 3
}
]
}

View File

@ -391,7 +391,7 @@ class RecordSetServiceIntegrationSpec
.name shouldBe "test.dotted"
}
"fail creating dotted record if it satisfies all dotted hosts config except allowed-dots-limit for the zone" in {
"fail creating dotted record if it satisfies all dotted hosts config except dots-limit for the zone" in {
val newRecord = RecordSet(
dummyZone.id,
"test.dotted.more.dots.than.allowed",

View File

@ -97,18 +97,18 @@ vinyldns {
{
# for wildcard zones. Settings will be applied to all matching zones
zone = "*ent.com*."
allowed-user-list = ["ok"]
allowed-group-list = ["dummy-group"]
allowed-record-type = ["CNAME"]
allowed-dots-limit = 3
user-list = ["ok"]
group-list = ["dummy-group"]
record-types = ["CNAME"]
dots-limit = 3
},
{
# for wildcard zones. Settings will be applied to all matching zones
zone = "dummy*."
allowed-user-list = ["sharedZoneUser"]
allowed-group-list = ["history-group1"]
allowed-record-type = ["A"]
allowed-dots-limit = 3
user-list = ["sharedZoneUser"]
group-list = ["history-group1"]
record-types = ["A"]
dots-limit = 3
}
]
}

View File

@ -19,7 +19,7 @@ package vinyldns.api.config
import pureconfig.ConfigReader
import pureconfig.generic.auto._
final case class ZoneAuthConfigs(zone: String, allowedUserList: List[String], allowedGroupList: List[String], allowedRecordType: List[String], allowedDotsLimit: Int)
final case class ZoneAuthConfigs(zone: String, userList: List[String], groupList: List[String], recordTypes: List[String], dotsLimit: Int)
final case class DottedHostsConfig(zoneAuthConfigs: List[ZoneAuthConfigs])
object DottedHostsConfig {

View File

@ -252,10 +252,10 @@ class RecordSetService(
val isContainWildcardZone = dottedZoneConfig.exists(x => zoneName.matches(x))
val isContainNormalZone = configZones.contains(zoneName)
if(isContainNormalZone){
config.zoneAuthConfigs.filter(x => x.zone == zoneName).head.allowedDotsLimit
config.zoneAuthConfigs.filter(x => x.zone == zoneName).head.dotsLimit
}
else if(isContainWildcardZone){
config.zoneAuthConfigs.filter(x => zoneName.matches(x.zone.replace("*", "[A-Za-z0-9.]*"))).head.allowedDotsLimit
config.zoneAuthConfigs.filter(x => zoneName.matches(x.zone.replace("*", "[A-Za-z0-9.]*"))).head.dotsLimit
}
else {
0
@ -272,7 +272,7 @@ class RecordSetService(
if(isContainNormalZone){
val users = config.zoneAuthConfigs.flatMap {
x: ZoneAuthConfigs =>
if (x.zone == zoneName) x.allowedUserList else List.empty
if (x.zone == zoneName) x.userList else List.empty
}
if(users.contains(auth.signedInUser.userName)){
true
@ -286,7 +286,7 @@ class RecordSetService(
x: ZoneAuthConfigs =>
if (x.zone.contains("*")) {
val wildcardZone = x.zone.replace("*", "[A-Za-z0-9.]*")
if (zoneName.matches(wildcardZone)) x.allowedUserList else List.empty
if (zoneName.matches(wildcardZone)) x.userList else List.empty
} else List.empty
}
if(users.contains(auth.signedInUser.userName)){
@ -311,7 +311,7 @@ class RecordSetService(
if(isContainNormalZone){
val rType = config.zoneAuthConfigs.flatMap {
x: ZoneAuthConfigs =>
if (x.zone == zoneName) x.allowedRecordType else List.empty
if (x.zone == zoneName) x.recordTypes else List.empty
}
if(rType.contains(rs.typ.toString)){
true
@ -325,7 +325,7 @@ class RecordSetService(
x: ZoneAuthConfigs =>
if (x.zone.contains("*")) {
val wildcardZone = x.zone.replace("*", "[A-Za-z0-9.]*")
if (zoneName.matches(wildcardZone)) x.allowedRecordType else List.empty
if (zoneName.matches(wildcardZone)) x.recordTypes else List.empty
} else List.empty
}
if(rType.contains(rs.typ.toString)){
@ -350,7 +350,7 @@ class RecordSetService(
val groups = if(isContainNormalZone){
config.zoneAuthConfigs.flatMap {
x: ZoneAuthConfigs =>
if (x.zone == zoneName) x.allowedGroupList else List.empty
if (x.zone == zoneName) x.groupList else List.empty
}
}
else if(isContainWildcardZone){
@ -358,7 +358,7 @@ class RecordSetService(
x: ZoneAuthConfigs =>
if (x.zone.contains("*")) {
val wildcardZone = x.zone.replace("*", "[A-Za-z0-9.]*")
if (zoneName.matches(wildcardZone)) x.allowedGroupList else List.empty
if (zoneName.matches(wildcardZone)) x.groupList else List.empty
} else List.empty
}
}

View File

@ -361,7 +361,7 @@ object RecordSetValidations {
ensuring(
InvalidRequest(
s"RecordSet with name ${recordSet.name} has more dots than that is allowed in config for this zone " +
s"which is, 'allowed-dots-limit = $allowedDotsLimit'."
s"which is, 'dots-limit = $allowedDotsLimit'."
)
)(
recordSet.name.count(_ == '.') <= allowedDotsLimit || (recordSet.name.count(_ == '.') == 1 &&

View File

@ -562,7 +562,7 @@ def test_create_dotted_a_record_fails_if_all_dotted_hosts_config_not_satisfied(s
Test that creating a A record set with dotted host record name fails
Here the zone, user (in group) and record type is allowed.
But the record name has more dots than the number of dots allowed for this zone. Hence the test fails
The 'allowed-dots-limit' config from dotted-hosts config is not satisfied. Config present in reference.conf
The 'dots-limit' config from dotted-hosts config is not satisfied. Config present in reference.conf
"""
client = shared_zone_test_context.history_client
zone = shared_zone_test_context.dummy_zone
@ -576,7 +576,7 @@ def test_create_dotted_a_record_fails_if_all_dotted_hosts_config_not_satisfied(s
error = client.create_recordset(dotted_host_a_record, status=422)
assert_that(error, is_("RecordSet with name " + dotted_host_a_record["name"] + " has more dots than that is "
"allowed in config for this zone which is, 'allowed-dots-limit = 3'."))
"allowed in config for this zone which is, 'dots-limit = 3'."))
def test_create_dotted_a_record_apex_succeeds(shared_zone_test_context):

View File

@ -138,9 +138,9 @@ class RecordSetServiceSpec
x: ZoneAuthConfigs =>
if (x.zone.contains("*")) {
val wildcardZone = x.zone.replace("*", "[A-Za-z.]*")
if (zoneName.substring(0, zoneName.length - 1).matches(wildcardZone)) x.allowedGroupList else List.empty
if (zoneName.substring(0, zoneName.length - 1).matches(wildcardZone)) x.groupList else List.empty
} else {
if (x.zone == zoneName) x.allowedGroupList else List.empty
if (x.zone == zoneName) x.groupList else List.empty
}
}
}

View File

@ -546,18 +546,18 @@ allowed to create dotted hosts. If only all the above are satisfied, one can cre
Note the following:
1. Zones defined in the `zone` must always end with a dot. Eg: `comcast.com.`
2. Wildcard character `*` can be used in `zone` to allow dotted hosts for all zones matching it.
3. Individual users who are allowed to create dotted hosts are added to the `allowed-user-list` using their username.
4. A set of users in a group who are allowed to create dotted hosts are added to the `allowed-group-list` using group name.
5. If the user is either in `allowed-user-list` or `allowed-group-list`, they are allowed to create a dotted host. It is
not necessary for the user to be in both `allowed-user-list` and `allowed-group-list`.
6. The record types which are allowed while creating a dotted host is added to the `allowed-record-type`.
7. The number of dots allowed in a record name for a zone is given in `allowed-dots-limit`.
8. If `allowed-user-list` is left empty (`allowed-user-list = []`), no user will be allowed to create dotted hosts unless
they're present in `allowed-group-list` and vice-versa. If both `allowed-user-list` and `allowed-group-list` is left empty
3. Individual users who are allowed to create dotted hosts are added to the `user-list` using their username.
4. A set of users in a group who are allowed to create dotted hosts are added to the `group-list` using group name.
5. If the user is either in `user-list` or `group-list`, they are allowed to create a dotted host. It is
not necessary for the user to be in both `user-list` and `group-list`.
6. The record types which are allowed while creating a dotted host is added to the `record-types`.
7. The number of dots allowed in a record name for a zone is given in `dots-limit`.
8. If `user-list` is left empty (`user-list = []`), no user will be allowed to create dotted hosts unless
they're present in `group-list` and vice-versa. If both `user-list` and `group-list` is left empty
no users will be allowed to create dotted hosts in that zone.
9. If `allowed-record-type` is left empty (`allowed-record-type = []`), user cannot create dotted hosts of any record type
9. If `record-types` is left empty (`record-types = []`), user cannot create dotted hosts of any record type
in that zone.
10. If `allowed-dots-limit` is set to 0 (`allowed-dots-limit = 0`), we cannot create dotted hosts record in that zone.
10. If `dots-limit` is set to 0 (`dots-limit = 0`), we cannot create dotted hosts record in that zone.
```yaml
# approved zones, individual users, users in groups and record types that are allowed for dotted hosts
@ -565,18 +565,18 @@ dotted-hosts = {
allowed-settings = [
{
zone = "dummy."
allowed-user-list = ["testuser"]
allowed-group-list = ["dummy-group"]
allowed-record-type = ["AAAA"]
allowed-dots-limit = 3
user-list = ["testuser"]
group-list = ["dummy-group"]
record-types = ["AAAA"]
dots-limit = 3
},
{
# for wildcard zones. Settings will be applied to all matching zones
zone = "*ent.com."
allowed-user-list = ["professor", "testuser"]
allowed-group-list = ["testing-group"]
allowed-record-type = ["A", "CNAME"]
allowed-dots-limit = 3
user-list = ["professor", "testuser"]
group-list = ["testing-group"]
record-types = ["A", "CNAME"]
dots-limit = 3
}
]
}
@ -586,9 +586,9 @@ In the above, the dotted hosts can be created only in the zone `dummy.` and zone
Also, it must satisfy the allowed users or group users and record type of the respective zone to create a dotted host.
For eg, we can't create a dotted host with `CNAME` record type in the zone `dummy.` as it's not in `allowed-record-type`.
And the user `professor` can't create a dotted host in the zone `dummy.` as the user is not in `allowed-user-list` or
`allowed-group-list` (not part of `dummy-group`).
For eg, we can't create a dotted host with `CNAME` record type in the zone `dummy.` as it's not in `record-types`.
And the user `professor` can't create a dotted host in the zone `dummy.` as the user is not in `user-list` or
`group-list` (not part of `dummy-group`).
The config can be left empty as follows if we don't want to use it:
@ -777,18 +777,18 @@ dotted-hosts = {
allowed-settings = [
{
zone = "dummy."
allowed-user-list = ["testuser"]
allowed-group-list = ["dummy-group"]
allowed-record-type = ["AAAA"]
allowed-dots-limit = 3
user-list = ["testuser"]
group-list = ["dummy-group"]
record-types = ["AAAA"]
dots-limit = 3
},
{
# for wildcard zones. Settings will be applied to all matching zones
zone = "*ent.com."
allowed-user-list = ["professor", "testuser"]
allowed-group-list = ["testing-group"]
allowed-record-type = ["A", "CNAME"]
allowed-dots-limit = 3
user-list = ["professor", "testuser"]
group-list = ["testing-group"]
record-types = ["A", "CNAME"]
dots-limit = 3
}
]
}