-
Notifications
You must be signed in to change notification settings - Fork 15
engineering: Port osmodifier from Go binary to native Rust crate #638
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
Merged
Merged
Changes from 57 commits
Commits
Show all changes
60 commits
Select commit
Hold shift + click to select a range
ba55580
Port osmodifier from Go binary to native Rust crate
bfjelds 9684c93
fix: correct module.options type (HashMap not Option) and remove unus…
bfjelds accd65e
fix: remove osmodifier binary from pipelines, Makefile, and functiona…
bfjelds 30afe99
fix: restore Path import in osconfig and remove unused imports
bfjelds 6303de6
fix: apply cargo fmt formatting
bfjelds e64322f
fix: resolve clippy redundant_closure warning
bfjelds 0c7e5ad
fix: remove stale osmodifier option and constant from conftest.py
bfjelds dff2cc2
fix: address deep review findings - atomic writes, security, correctness
bfjelds 7a25b62
fix: remove trailing newline from hostname write to match Go behavior
bfjelds 23ca4c8
Add functional tests for osmodifier crate
bfjelds ee3bb10
fix: apply cargo fmt formatting corrections
bfjelds 9399a1e
fix: update Cargo.lock with osmodifier test dependencies
bfjelds d7e563b
docs: add README mapping Rust port to Go source files
bfjelds afa8641
refactor: use Dependency enum for system tool invocations
bfjelds a97e604
simplify: remove chroot codepath from osmodifier
bfjelds 691b577
fix: break cyclic dependency between osutils and osmodifier
bfjelds 33fb451
fix: update Cargo.lock after removing osutils→osmodifier dependency
bfjelds af8c03b
fix: use full import path osutils::dependencies::Dependency
bfjelds cba55c5
fix: remove trailing blank lines (cargo fmt)
bfjelds 0e2ab38
fix: cargo fmt and unused variable warning
bfjelds e60b892
osmodifier: replace regex grub parsing with faithful Go-style string …
bfjelds 972b025
osmodifier: fix service and module divergences from Go
bfjelds bbced72
osmodifier: remove regex from selinux.rs
bfjelds 5f8b50a
update Cargo.lock: remove regex dep from osmodifier
bfjelds 9594124
fix: use CommandOutput::output() API and remove unused variable
bfjelds 262a826
osmodifier: expand grub test coverage
bfjelds d66adcc
fix: cargo fmt
bfjelds 6c03939
fix: test_add_extra_cmdline_basic used duplicate key
bfjelds 958d1f4
osmodifier: fix bugs found by 9-agent deep review
bfjelds 2ae3b2a
fix: cargo fmt
bfjelds 663780c
osmodifier: update README with grub parsing notes and fidelity fixes
bfjelds 1b35b07
osmodifier: expand sync guide with function mapping and update playbook
bfjelds e184b53
test: add unit tests for OsModifierContext.path
bfjelds 4123c85
fix: address Copilot review comments on osmodifier port
bfjelds 4a77e43
fix: correct grub2-tools to grub2 in RPM Suggests
bfjelds 564db8a
update lock
bfjelds f48df6b
fix: correct misleading test comment in services.rs
bfjelds ca1ebbd
fix: use grub2-tools instead of grub2 in RPM Suggests
bfjelds 83c8b5b
fix: address Copilot review round 3
bfjelds 801da3c
docs: document intentional lack of brace tracking in grub_cfg parser
bfjelds 713bd44
docs: trim brace tracking comment
bfjelds 112371b
style: fix rustfmt formatting
bfjelds 776703d
fix: reject carriage returns in startup command validation
bfjelds 1cce4a4
fix: fidelity fixes for osmodifier Go-to-Rust port
bfjelds 0a962e5
update docs for api changes
bfjelds fc245ef
osmodifier: clarify password expiry field matches Go behavior
bfjelds 092d855
osmodifier: address PR #638 review comments
bfjelds 2d7e17a
osmodifier: propagate error from days_since_unix_epoch
bfjelds 877f86b
osmodifier: document submenu tracking limitation in grub_cfg parser
bfjelds 300c784
docs: fix Storage-Rules table header + SELinux doc comments
bfjelds 442c766
osmodifier: fix OsModifierContext doc comment
bfjelds 5bb9092
osmodifier: rustfmt formatting fixes
bfjelds efbdf22
osmodifier: fix ? in non-Result closure for days_since_unix_epoch
bfjelds dc6f57f
osmodifier: fix clippy doc_lazy_continuation warnings
bfjelds be703e4
osmodifier: add security=selinux to JSON schema descriptions
bfjelds c7a1bb8
docbuilder: fix 'Mount Path' column header to 'Partition Type'
bfjelds 3d62e68
osmodifier: regenerate schema and docs from Rust source
bfjelds 9fcdb66
osmodifier: remove unused serde_yaml dependency
bfjelds 37fc1c1
osmodifier: update Cargo.lock after removing serde_yaml
bfjelds 39cb990
osmodifier: take() stdin before wait_with_output()
bfjelds File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| [package] | ||
| name = "osmodifier" | ||
| version = "0.1.0" | ||
| edition = "2021" | ||
| publish = false | ||
| license = "MIT" | ||
| description = "OS modifier library - applies OS configuration changes (users, hostname, services, modules, boot config, SELinux)" | ||
|
|
||
| [dependencies] | ||
| anyhow = { workspace = true } | ||
| inventory = { workspace = true } | ||
| log = { workspace = true } | ||
| nix = { workspace = true } | ||
| serde = { workspace = true } | ||
| serde_yaml = { workspace = true } | ||
| tempfile = { workspace = true } | ||
|
bfjelds marked this conversation as resolved.
|
||
|
|
||
| pytest = { path = "../pytest" } | ||
| pytest_gen = { path = "../pytest_gen" } | ||
| trident_api = { path = "../trident_api" } | ||
| osutils = { path = "../osutils" } | ||
|
bfjelds marked this conversation as resolved.
|
||
|
|
||
| [dev-dependencies] | ||
| indoc = { workspace = true } | ||
|
|
||
| [features] | ||
| functional-test = [] | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.