<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wg-wrap.git/internal/namespace/lifecycle_test.go, branch main</title>
<subtitle>wg-wrap runs commands in network namespaces configured with userspace wireguard tunnels.
</subtitle>
<id>https://git.theodohertyfamily.com/wg-wrap.git/atom?h=main</id>
<link rel='self' href='https://git.theodohertyfamily.com/wg-wrap.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/'/>
<updated>2026-06-04T04:21:56Z</updated>
<entry>
<title>clean up debugging prints and silence successful execution output</title>
<updated>2026-06-04T04:21:56Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-06-04T04:21:56Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=c53503b52b6fc6de37b6053719521054003fa50b'/>
<id>urn:sha1:c53503b52b6fc6de37b6053719521054003fa50b</id>
<content type='text'>
- Remove leftover DEBUG prints from CLI and wireguard internal packages.
- Silence stdout during successful command wrapping to ensure only the wrapped command's output is visible.
- Redirect all warnings and internal errors to stderr.
- Implement a verbose mode via `WG_WRAP_VERBOSE=1` to enable tunnel status messages.
- Update E2E tests to use verbose mode for verification of tunnel lifecycle events.
- Fix errcheck linting issue in wireguard.go and apply go fmt.
</content>
</entry>
<entry>
<title>fix: resolve resource leaks and improve namespace lifecycle management</title>
<updated>2026-06-04T03:45:45Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-06-04T03:45:45Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=51a0845adba702ac02437405988b24b3b2c9fb45'/>
<id>urn:sha1:51a0845adba702ac02437405988b24b3b2c9fb45</id>
<content type='text'>
- Fix DNS resolver leaks by creating temporary resolv.conf files within the profile's runtime directory and ensuring robust cleanup.
- Fix isolation block directory leaks by explicitly removing the block directory during namespace unpinning.
- Improve namespace lifecycle management:
    - Register processes before joining an active namespace to prevent race conditions in reference counting.
    - Update `IsLastProcess` and corresponding tests to reflect the unregister-then-check cleanup flow.
- Improve test reliability and correctness:
    - Convert `TestAppRun_ProfileDirInjection` to use separate binary execution, preventing process replacement and ensuring `t.TempDir()` cleanup.
    - Replace hardcoded test configuration paths with `t.TempDir()` in `mount_leak_test.go`.
    - Implement `SetEnvOverrides` helper for cleaner environment variable management in E2E tests.
    - Improve E2E lifecycle tests with better environment handling and output redirection.
</content>
</entry>
<entry>
<title>refactor: rename module to git.theodohertyfamily.com/wg-wrap and apply public domain license</title>
<updated>2026-05-30T03:35:21Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-30T03:35:21Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=da70b10fbd056f19d892acad542ce96c40c58389'/>
<id>urn:sha1:da70b10fbd056f19d892acad542ce96c40c58389</id>
<content type='text'>
- Update go.mod and all internal imports to reflect the new module path
- Add LICENSE file with the Unlicense (public domain dedication)
- Increase timeouts in e2e lifecycle tests to prevent flaky failures
- Verify all tests, linting, and formatting pass with the new module name
</content>
</entry>
<entry>
<title>refactor: unify path management and complete profile management system</title>
<updated>2026-05-22T20:17:55Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-22T20:17:55Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=135f6edbd9389bc4783f13c26aed0a74d3c8aca0'/>
<id>urn:sha1:135f6edbd9389bc4783f13c26aed0a74d3c8aca0</id>
<content type='text'>
- Create internal/paths package for unified config and runtime directory resolution
- Implement robust WireGuard config parsing in pkg/wgconf
- Implement profile management subcommands: list, import, configure, delete, stop
- Fix namespace pinning path collisions (separating .ns files from pids directories)
- Implement and verify namespace unpinning logic
- Fix linting errors and improve error handling across the project
</content>
</entry>
<entry>
<title>Refactor lifecycle to support XDG_RUNTIME_DIR and fix binary pathing in E2E tests</title>
<updated>2026-05-22T15:20:24Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-22T15:20:24Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=079e4240534cbdc8751f1a127def20f2d1e58da6'/>
<id>urn:sha1:079e4240534cbdc8751f1a127def20f2d1e58da6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement automatic namespace lifecycle cleanup with last-man-out reference counting</title>
<updated>2026-05-22T15:12:21Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-22T15:12:21Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=3b56ccecf46b83fa9b0e4b6c54be6ffda395910c'/>
<id>urn:sha1:3b56ccecf46b83fa9b0e4b6c54be6ffda395910c</id>
<content type='text'>
</content>
</entry>
</feed>
