Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request introduces initial support for internal networks in the library version 2.2.0, along with a comprehensive refactoring and addition of volume management, storage, and various container configuration features. The PR marks this as a draft for testing purposes.
Changes:
- Adds network management capabilities with support for both internal and external Docker networks
- Implements comprehensive volume management including NFS, CIFS, host paths, and Docker volumes
- Refactors the Labels class to remove dependency on Render instance
- Renames Client class to TNClient and introduces DockerClient for Docker API interactions
- Adds numerous container configuration features (sysctls, security_opts, tmpfs, etc.)
Reviewed changes
Copilot reviewed 13 out of 78 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| library/hashes.yaml | Updates library version from 2.1.78 to 2.2.0 |
| library/2.2.0/render.py | Integrates Networks and DockerClient, renames Client to TNClient |
| library/2.2.0/container.py | Adds ContainerNetworks integration and auto-network configuration |
| library/2.2.0/networks.py | Implements network management with internal/external network support |
| library/2.2.0/docker_client.py | New Docker client for validating network existence |
| library/2.2.0/labels.py | Refactors to remove Render instance dependency |
| library/2.2.0/truenas_client.py | Renames Client class to TNClient |
| library/2.2.0/validations.py | Adds valid_label_key_or_raise validation function |
| library/2.2.0/volumes.py | New volume management implementation |
| library/2.2.0/volume_types.py | Implements NFS, CIFS, and Docker volume types |
| library/2.2.0/volume_sources.py | Handles volume source resolution for different storage types |
| library/2.2.0/volume_mount_types.py | Defines bind and volume mount type specifications |
| library/2.2.0/volume_mount.py | Orchestrates volume mount creation and validation |
| library/2.2.0/tmpfs.py | Implements tmpfs mount support |
| library/2.2.0/storage.py | Defines storage TypedDict interfaces and Storage class |
| library/2.2.0/sysctls.py | Container sysctl configuration support |
| library/2.2.0/security_opts.py | Security options management |
| library/2.2.0/restart.py | Restart policy configuration |
| library/2.2.0/resources.py | Resource limits and GPU configuration |
| library/2.2.0/ports.py | Port management with IPv4/IPv6 support |
| library/2.2.0/deps_postgres.py | Adds digest pin handling for Postgres versions |
| library/2.2.0/tests/* | Comprehensive test coverage for all new features |
| devbox.json, devbox.lock | Adds python311Packages.docker dependency |
| .github/workflows/library-tests.yaml | Adds python3-docker to test dependencies |
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 78 changed files in this pull request and generated 3 comments.
Comments suppressed due to low confidence (1)
library/2.2.0/container.py:321
add_network(self, network: str, config: dict = {})uses a mutable default argument. Even if it's not mutated today, this is a common source of cross-call state leakage. Preferconfig: dict | None = Noneand default to{}inside the method.
Contributor
|
This will make https://github.com/tjhorner/dragonify obsolete, right? |
Qubad786
approved these changes
Feb 12, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Add support to join containers into networks.
ix.internal: trueattached, so we can later filter them out on our UI.external: true, in order be able to be attached to a container. Lifecycle of these networks are managed by the user, either via CLI, other tools, or later by our UI/middlewareinterface_name,ipv4_address,ipv6_address,mac_address,gw_priority,priority. (Settings like driver, ipam, etc are on the top level network, which is handled externally).$refin the questions, or replaced with a middleware call)