You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds s3d to the apt repo. As I mentioned before we have an annoying naming conflict, I opted for sia-s3d. Takes into account the existing open issues as much as possible.
The first-run s3d config wizard leaves Directory as . when no config exists, and login opens s3d.db relative to the caller's current directory. These commands can therefore create the app-key database outside /var/lib/s3d, while the unit runs in /var/lib/s3d and exits because it cannot find the app key. Set S3D_DATA_DIR=/var/lib/s3d for the setup commands (or otherwise make the CLI and unit use the same absolute data directory).
$ sudo s3d login
scripts/templates/copyright.tmpl:6
Files: * makes this the copyright declaration for all upstream s3d content, but the upstream LICENSE identifies the copyright as 2025 The Sia Foundation, not 2024–2026. The generated Debian metadata is therefore inaccurate; use the upstream year(s) or make the copyright years package-specific.
Copyright: 2024-2026 The Sia Foundation
scripts/templates/service.tmpl:10
For s3d, the upstream defaults enable file logging and choose <data directory>/s3d.log when no path is configured. Since the package deliberately ships no config, this unit writes an unrotated log to /var/lib/s3d/s3d.log rather than /var/log; over time it can consume the data volume. Package a config/logrotate rule or disable file logging and rely on journald.
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Critical service-startup and data-safety issues remain, along with packaging and documentation fixes.
Get a fresh assessment by requesting another Copilot review.
Review details
Suppressed comments (3)
README.md:73
When the wizard leaves its default data directory, s3d writes directory: . to /etc/s3d/s3d.yml. This command can therefore create the login database in the caller's current directory, while the unit runs from /var/lib/s3d; the service and the later users/keys commands can then use different databases. Pass S3D_DATA_DIR=/var/lib/s3d (or require that directory during setup) for the documented initialization.
$ sudo s3d login
README.md:91
This alternative does not actually write logs instead of the journal: enabling file logging leaves stdout logging enabled, and s3d's default file path is /var/lib/s3d/s3d.log, with no rotation. If this option is retained, configure a /var/log/s3d path, disable stdout, and ship rotation support; otherwise describe it as an additional log destination.
ExecStart=/usr/bin/s3d -log.file.enabled=true
packages/s3d/package.env:4
The package installs /usr/bin/s3d, which is the path owned by the Debian package named in PKG_CONFLICTS. Conflicts prevents co-installation but does not authorize dpkg to take over that file during a package transition, so direct dpkg -i can fail with a file-overwrite error. Emit Replaces: s3d alongside Conflicts: s3d in the generated control file.
Document log rotation and avoid unbounded data-directory logs
README.md:91
Following this documented override re-enables s3d's default file path (<data directory>/s3d.log, i.e. /var/lib/s3d/s3d.log) and the package provides no rotation policy. That brings back the unbounded data-directory log issue for users who follow the instructions; either document/configure a /var/log/s3d/... path together with rotation, or remove this snippet until the package supplies both.
This override does not actually switch logging from the journal to a file: it only re-enables file logging, while s3d's default/configured stdout logger remains enabled, so output is duplicated. With no log.file.path in the config, s3d also resolves the file to /var/lib/s3d/s3d.log, outside /var/log, with no rotation policy. Document a config-based override that disables stdout and uses an explicit /var/log path with rotation, or remove this optional snippet.
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
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.
Adds s3d to the apt repo. As I mentioned before we have an annoying naming conflict, I opted for sia-s3d. Takes into account the existing open issues as much as possible.
References:
#129
#179
Needs:
SiaFoundation/s3d#264