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
postage: replaced by pgmanage-10.0.2 #31241
Conversation
postage is no longer maintained and has been replaced by the identical pgmanage. See: https://github.com/workflowproducts/postage#postage-has-been-replaced-with-pgmanage In 18.03 the services.postage options will be deprecated and a warning will be raised when services.postage.enable = true. However we can't do this in 17.09 because it will break existing configurations which isn't acceptable within a release. Instead we define the defaults of the new services.pgmanage options in terms of the existing services.postage options.
@GrahamcOfBorg postage |
1 similar comment
@GrahamcOfBorg postage |
config = mkIf cfg.enable { | ||
systemd.services.postage = { | ||
description = "postage - PostgreSQL Administration for the web"; | ||
systemd.services.pgmanage = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure how important this is, but the systemd service will get renamed with these changes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that one should be ok.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hrm, not if you have centralized logging or monitoring for that specific service.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
However that should not affect the functionality of the service itself. So a release note should enough for administrators to change there infrastructure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for 18.03 that's fine, but we should be more careful with changes on an active release IMHO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, I did not notice that this was a backport. I agree we have to be more conservative then for 17.09.
@@ -133,10 +132,10 @@ in { | |||
|
|||
dataRoot = mkOption { | |||
type = types.str; | |||
default = "/var/lib/postage"; | |||
default = "/var/lib/pgmanage"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same here, this is probably more important to keep the old behaviour by default.
(assuming it's compatible)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have stateVersion
to cover this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is reasonable to break compatibility here if we really want to backport the name change. The change could have implications we can't possibly anticipate so the user should be informed. The only way we can do that after a release is by aborting the evaluation with i.e. an assertion. 😒
To the question if we want to backport this at all: @basvandijk Are you expecting that we won't be able to easily backport patches due to the name change?
options.services.postage = pgmanageOptions; | ||
# And define the defaults of the new services.pgmanage in terms of services.postage: | ||
options.services.pgmanage = flip mapAttrs pgmanageOptions (name: option: | ||
option // { default = config.services.postage.${name}; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will rebuild the manual every time a postage option is changed. Just setting the pgmanage options in the config
attrset should be fine because using both interfaces shouldn't occur. To be safe, you would use mkDefault
to set the pgmanage options.
config = mkIf cfg.enable { | ||
systemd.services.postage = { | ||
description = "postage - PostgreSQL Administration for the web"; | ||
systemd.services.pgmanage = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hrm, not if you have centralized logging or monitoring for that specific service.
Can you also add the renamed options to: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Success for system: x86_64-linux
/nix/store/jlf3607589ianvzv3361jsqm1hinirr5-pgmanage-10.0.2
It's better to be ready, but I find it unlikely that any security problems appear during the half-year. I tried a CVE search and found nothing relevant to postage at all... |
Closed in favour of #32006. |
Motivation for this change
@LnL7 this is an adapted version of c894327 suitable for NixOS-17.09.
postage is no longer maintained and has been replaced by the identical pgmanage. See:
https://github.com/workflowproducts/postage#postage-has-been-replaced-with-pgmanage
It's important that we switch to pgmanage in order to receive security updates.
In 18.03 the
services.postage
options will be deprecated and a warning will be raised whenservices.postage.enable = true
. However we can't do this in 17.09 because it will break existing configurations which isn't acceptable within a release. Instead we define the defaults of the newservices.pgmanage
options in terms of the existingservices.postage
options.Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)