Skip to content

Conversation

@jakub-vavra-cz
Copy link
Contributor

Allow Client to be used as provider by implementing user, group, sudorule interfaces.
Implement LocalSudoRule class.
Extend BareClient with BareClientTopologyController that setups local domain using either files-provider or proxy files.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a provider interface for the Client role to manage local users, groups, and sudo rules, along with a BareClientTopologyController for setting up bare client test environments. This is a valuable enhancement for testing. My review primarily focuses on the new LocalSudoRule class, where I've identified several critical issues that could lead to incorrect behavior or runtime errors. I've also included some medium-severity suggestions to improve robustness and documentation.

@jakub-vavra-cz jakub-vavra-cz marked this pull request as draft November 25, 2025 06:08
@SSSD SSSD deleted a comment from gemini-code-assist bot Nov 25, 2025
@jakub-vavra-cz jakub-vavra-cz force-pushed the local_provider branch 5 times, most recently from f6e7938 to bd42ff8 Compare November 25, 2025 09:30
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a provider interface to the Client role, allowing it to manage local users, groups, and sudo rules, which is a great enhancement for testing. It also adds a BareClientTopologyController for setting up clients without a full provider. The implementation of LocalSudoRule is comprehensive but has a few issues related to rule string generation and filename uniqueness that could lead to bugs in tests. I've provided suggestions to address these correctness issues and improve documentation consistency.

@jakub-vavra-cz jakub-vavra-cz force-pushed the local_provider branch 3 times, most recently from d9b362d to 518f179 Compare November 25, 2025 11:49
@jakub-vavra-cz jakub-vavra-cz marked this pull request as ready for review November 25, 2025 11:56
gemini-code-assist[bot]

This comment was marked as resolved.

Copy link
Contributor

@danlavu danlavu left a comment

Choose a reason for hiding this comment

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

This is great, just nitpicks. I haven't tested it yet, but I will approve after I test it. Thank you.

@jakub-vavra-cz jakub-vavra-cz force-pushed the local_provider branch 2 times, most recently from 8542ed7 to 16103d9 Compare November 26, 2025 07:20
@jakub-vavra-cz jakub-vavra-cz force-pushed the local_provider branch 8 times, most recently from 69a783f to 1a7c206 Compare December 4, 2025 18:18
Copy link
Contributor

@aplopez aplopez left a comment

Choose a reason for hiding this comment

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

LGTM

Allow Client to be used as provider by implementing user, group,
sudorule interfaces.
Implement LocalSudoRule class.
Add version comparison method to BaseLinuxHost.
@jakub-vavra-cz jakub-vavra-cz merged commit bf0af01 into SSSD:master Dec 9, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants