Skip to content
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

(SIMP-10740) Simplify server config #90

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

greatflyingsteve
Copy link

@greatflyingsteve greatflyingsteve commented Aug 12, 2022

rsync::server and rsync::server::global were in kind of a nasty circular dependency relationship wherein neither could be invoked decisively by the other using resource-style includes, because a circular inclusion relationship arose that would at a minimum break unit tests.

Shifting tcpwrappers from global back into server untied most of this gordian knot, allowing data (e.g., address and port config) to be owned by one and passed to the other rather than circulated between them. This allows configuration to be passed authoritatively from the last point of user contact for server configuration out through the remainder of the module without the need for awkward data pathing to circumvent what should have been easy to do as a clean pass.

No parameters were removed from any directly user-callable class.

I still have additional contributions to make on this branch that will definitely break backwards-compatibility in several of the most common edge cases, but also further strengthen the module while still allowing for things like rsyncd and stunnel having different ports, bind-to addresses, and trusted nets. I stopped here because as far as I have been able to determine (including a thorough read of simplib::lookup() and less-thorough read of the simp_options module), nothing altered or added here is likely to break the majority of existing use cases.

SIMP-10740 #close

rsync::server and rsync::server::global were in kind of a nasty
circular dependency relationship wherein neither could by invoked
decisively by the other using resource-style includes, because a
circular inclusion relationship arose that would at a minimum break
unit tests.  Shifting tcpwrappers from global back into server untied
most of this gordian knot, allowing data (e.g., address and port config)
to be owned by one and passed to the other rather than circulated
between them.  This allows configuration to be passed authoritatively
from the last point of user contact for server configuration out
through the remainder of the module without the need for awkward data
pathing to circumvent what should have been easy to do as a clean pass.
No parameters were removed from any directly user-callable class.

SIMP-10740 #comment Port and Address are now passed cleanly
Updated the README.md file to reflect contributed changes to the module,
and updated the acceptance tests (which I cannot run, so gosh I hope
they work) to use the newer convention for port/address specification.
@greatflyingsteve greatflyingsteve force-pushed the SIMP-10740-simplify-server-config branch from f0161d0 to 2d87e47 Compare August 12, 2022 03:21
@op-ct op-ct changed the title Simp 10740 simplify server config (SIMP-10740) Simplify server config Aug 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Status: 👀 In review
Development

Successfully merging this pull request may close these issues.

2 participants