-
-
Notifications
You must be signed in to change notification settings - Fork 26
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
TFTP with single port mode #40
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for opening this pull request! Be sure to follow the pull request template!
I am a bot, here are the test results for this PR: |
I am a bot, here are the test results for this PR: |
I am a bot, here are the test results for this PR: |
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
- { env_var: "SUBFOLDER", env_value: "/", desc: "Specify a sobfolder if running this behind a reverse proxy (IE /proxy/)"} | ||
- { env_var: "PORT_RANGE", env_value: "30000,30010", desc: "Specify the port range tftp will use for data transfers [(see Wikipedia)](https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol#Details)"} | ||
- { env_var: "TFTP_SINGLE_PORT", env_value: "1", desc: "Specify the port range tftp will use for data transfers [(see Wikipedia)](https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol#Details)"} | ||
- { env_var: "SUBFOLDER", env_value: "/", desc: "Specify the TFTP server should run in a single port mode (i.e. ephemeral ports are not used). This enables running the image in Kubernetes behind NAT based proxies. This env. variable is mutually exclusive with `PORT_RANGE`, only one of them can be specified."} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like you pasted your text for single_port into subfolder and duplicated the port_range text here. this also applies to README.md
- { env_var: "PORT_RANGE", env_value: "30000:30010", desc: "Specify the port range tftp will use for data transfers [(see Wikipedia)](https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol#Details)"} | ||
- { env_var: "SUBFOLDER", env_value: "/", desc: "Specify a sobfolder if running this behind a reverse proxy (IE /proxy/)"} | ||
- { env_var: "PORT_RANGE", env_value: "30000,30010", desc: "Specify the port range tftp will use for data transfers [(see Wikipedia)](https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol#Details)"} | ||
- { env_var: "TFTP_SINGLE_PORT", env_value: "1", desc: "Specify the port range tftp will use for data transfers [(see Wikipedia)](https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol#Details)"} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no explanation of what the options are, this seems like it should be a true false. I will assume you intend 1 to be true and 0 to be false, but this should be clarified and likely just be "true" or "false" to follow the standard of other options like this. Not adding this var (which should be optional) should imply false (or 0)
there are also some issues with this PR running in docker, it seems you may have tested in kubs but not docker? I'll note that after talking with the team, I am willing to entertain this PR, but you'll need to adjust the things I pointed out and when i test the pr, it'll need to work on our supported stuff (docker on debian based distros for arm and amd64) |
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This pull request is locked due to inactivity |
Please see #39
Description:
This PR replaces tftp-hpa with dnsmasq which supports single-port mode and thus enables compatibility with Kubernetes CNI "NATing" and generic firewalls.
TFTP_SINGLE_PORT
added to ensure backward compatibility (the feature is disabled by default)PORT_RANGE
environment variable (dnsmasq requires the port to be specified in the "<from>,<to>" format unlike tftp-hpa which uses "<from>:<to>" format.Benefits of this PR and context:
This implements feature request in #39
How Has This Been Tested?
TFTP tested with curl and tftp client (part of the tftp-hpa package) while the image was running in local Docker instance and K3s cluster with Flannel and MetalLB.
Source / References:
dnsmasq-discuss