Skip to content

Add DNS lookup plugin #1080

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

adrianmoisey
Copy link
Member

Add a DNS lookup plugin, as per #991

I haven't done a curl yet, I just want to see if this is the right track

cc @aojea

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jul 21, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: adrianmoisey
Once this PR has been reviewed and has the lgtm label, please assign derekwaynecarr for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Jul 21, 2025
@adrianmoisey
Copy link
Member Author

/retest

1 similar comment
@adrianmoisey
Copy link
Member Author

/retest

readonly KUBERNETES_SERVICE='kubernetes.default'

# Check getent command is present
if ! command -v getent >/dev/null; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

getent seems the most common tool available in a host, but do we want to use hosts or nslookup just in case getent is not available?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I picked it since I assumed it would be the most available. I could change the logic to fall back to other tools, if getent isn't available?
May be in this order:

  1. getent
  2. host
  3. nslookup

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It will be good to know what install each tool in debian and red hat per example, I think gerent comes as part as libc so that makes it pretty common

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using containers, and I don't know if that's a good idea:

Red Hat:

adrian@Adrians-MacBook-Pro:~$ docker run redhat/ubi10 getent hosts example.com
2600:1406:bc00:53::b81e:94c8 example.com
2600:1406:bc00:53::b81e:94ce example.com
2600:1408:ec00:36::1736:7f24 example.com
2600:1408:ec00:36::1736:7f31 example.com
2600:1406:3a00:21::173e:2e65 example.com
2600:1406:3a00:21::173e:2e66 example.com
adrian@Adrians-MacBook-Pro:~$ docker run redhat/ubi10 host example.com
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "host": executable file not found in $PATH

Run 'docker run --help' for more information
adrian@Adrians-MacBook-Pro:~$ docker run redhat/ubi10 nslookup example.com
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "nslookup": executable file not found in $PATH

Run 'docker run --help' for more information

Debian:

adrian@Adrians-MacBook-Pro:~$ docker run debian:latest getent hosts example.com
2600:1406:bc00:53::b81e:94c8 example.com
2600:1406:bc00:53::b81e:94ce example.com
2600:1408:ec00:36::1736:7f24 example.com
2600:1408:ec00:36::1736:7f31 example.com
2600:1406:3a00:21::173e:2e65 example.com
2600:1406:3a00:21::173e:2e66 example.com
adrian@Adrians-MacBook-Pro:~$ docker run debian:latest host example.com
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "host": executable file not found in $PATH

Run 'docker run --help' for more information
adrian@Adrians-MacBook-Pro:~$ docker run debian:latest nslookup example.com
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "nslookup": executable file not found in $PATH

Run 'docker run --help' for more information

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems getent is the way to go

@aojea
Copy link
Member

aojea commented Jul 28, 2025

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants