Skip to content

DNS checks should have hostname as attribute, not key #518

Closed

Description

@sshipway

Describe the feature:
Currently, DNS checks specify the hostname to resolve as a key. The server name to use for resolving is an attribute. However, if you want to test the same item resolving on multiple DNS servers you cannot do it as the resolving hostname is a unique key in the heira.

Describe the solution you'd like
As previously done with the exec resource, I would like to add a new attribute 'resolve' which optionally holds the hostname to resolve, overriding the key. This will allow structures such as:

dns:
  primaryserver:
    resolve: myhost.company.com
    server: ns0.company.com
    resolveable: yes
  secondaryserver:
    resolve: myhost.company.com
    server: ns1.company.com
    resolveable: yes

which will allow you to check correct name resolution from multiple DNS hosts, which is not currently possible.

I also believe that keeping the keys as symbolic only is a better way to work, with all the test definition held in the attributes, as this allows better control when merging.

Describe alternatives you've considered
It would be possible to use different resolution targets on different DNS servers, but this seems untidy, and may cause automation or scaling problems.

Activity

  1. sshipway commented on Dec 11, 2019

    @sshipway
    ContributorAuthor

    The same issue affects HTTP tests, as well, since the URL is held in the key and this prevents you from running the same URL test against different backends or with different header sets.

  2. aelsabbahy commented on Dec 11, 2019

    @aelsabbahy
    Member

    Please see the great work @sshipway has already done for command :)

    In all seriousness, this feature request is approved. Also, add addr to the mix, since there's a PR (#344) that adds localaddress to define source address.

    I'll mark this as approved, feel free to work on it if you have time.

  3. sshipway commented on Dec 11, 2019

    @sshipway
    ContributorAuthor

    I'll try doing something on this over xmas, I'm stuck in the office on call while everything's quiet.

  4. aelsabbahy commented on Dec 14, 2019

    @aelsabbahy
    Member

    Thinking this should be done for all resources at this point.

    Another usecases: #339

    Maybe this ticket should be a generic one for all resources?

  5. sshipway commented on Feb 15, 2022

    @sshipway
    ContributorAuthor

    Two years and I've still not been able to work on this. I blame covid for giving me more work, and lack of motivation...
    I still think this is an important enhancement, hopefully I'll be able to find some time to work on it. I'd hate to see goss wither from lack of love.

  6. added a commit that references this issue on Jun 24, 2023
    bf22f82
  7. added a commit that references this issue on Jan 27, 2024
    2e5720b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      ⌂ 换网址