You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by "mbaechler (via GitHub)" <gi...@apache.org> on 2023/05/29 19:22:47 UTC

[GitHub] [james-project] mbaechler commented on a diff in pull request #1573: JAMES-3906 Allow to reload SSL certificates

mbaechler commented on code in PR #1573:
URL: https://github.com/apache/james-project/pull/1573#discussion_r1209520047


##########
server/apps/distributed-app/docs/modules/ROOT/pages/operate/webadmin.adoc:
##########
@@ -4900,3 +4900,26 @@ This is an example of returned body.
   "targetsContent": false
 }
 ....
+
+== Reloading server certificates
+
+Certificates for TCP based protocols (IMAP, SMTP, POP3, LMTP and ManageSieve) can be updated at
+runtime, without service interuption and without closing existing connections.
+
+In order to do so:
+
+ - Generate / retrieve your cryptographic materials and replace the ones specified in James configuration.
+ - Then call the following endpoint:
+
+....
+curl -XPOST http://ip:port/servers?reload-certificate
+....
+
+Optional query parameters:
+
+ - `port`: positive integer (valid port number). Only reload certificates for the specific port.

Review Comment:
   I find a bit weird to use the port here, can't we bind several different configurations to different IPs?



##########
server/apps/distributed-app/docs/modules/ROOT/pages/operate/webadmin.adoc:
##########
@@ -4900,3 +4900,26 @@ This is an example of returned body.
   "targetsContent": false
 }
 ....
+
+== Reloading server certificates
+
+Certificates for TCP based protocols (IMAP, SMTP, POP3, LMTP and ManageSieve) can be updated at
+runtime, without service interuption and without closing existing connections.
+
+In order to do so:
+
+ - Generate / retrieve your cryptographic materials and replace the ones specified in James configuration.
+ - Then call the following endpoint:
+
+....
+curl -XPOST http://ip:port/servers?reload-certificate
+....
+
+Optional query parameters:
+
+ - `port`: positive integer (valid port number). Only reload certificates for the specific port.
+
+Return code:
+
+ - 204: the certificate is reloaded

Review Comment:
   as in "the process is synchronous"?



##########
server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java:
##########
@@ -99,6 +100,8 @@ protected void configure() {
         bind(MailboxTyper.class).to(DefaultMailboxTyper.class).in(Scopes.SINGLETON);
 
         Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(ImapGuiceProbe.class);
+
+        Multibinder.newSetBinder(binder(), AbstractServerFactory.class).addBinding().to(IMAPServerFactory.class);

Review Comment:
   could we declare a interface for that instead of an abstract class (that breaks the SRP)?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org