chibenwa commented on a change in pull request #718:
URL: https://github.com/apache/james-project/pull/718#discussion_r739989930



##########
File path: 
server/apps/distributed-app/docs/modules/ROOT/pages/run/k8s-checklist.adoc
##########
@@ -0,0 +1,43 @@
+= Checklist
+
+There is some things that you must have before being able to run James on your 
Kubernetes Cluster.
+
+== MUST have
+
+Those are absolutely necessary if you want at least James to start without 
crashing.
+
+- [ ] Setup RabbitMQ and create James user in it.
+- [ ] Create a Kubernetes namespace for James deployment.
+- [ ] A `distributed` version of James image.
+- [ ] An ObjectStorage compatible with S3 APIs.
+- [ ] Configure JWT keys, keystores.
+- [ ] Adding the proper `mailetcontainer.xml` file with other conf files in 
James Helm package
+
+With those you should be able to startup James for first tests without having 
it crashing. However it's still not enough to have it fully functional.
+
+== Should have
+
+- [ ] Cassandra nodes deployed.
+- [ ] Put valid Cassandra keyspaces in the configuration.
+- [ ] Have an appropriate email domain (Contact your Domain Service Provider)
+- [ ] Create your Domain SPF and DKIM Record. See document 
[here](https://james.apache.org/howTo/)
+- [ ] ElasticSearch nodes deployed.
+- [ ] LDAP deployed.
+- [ ] DNS registered entries for JMAP, IMAP, SMTP, Webadmin.
+- [ ] change James admin ID to a user we can use for imapsync (to check with 
the person responsible of the imapsync).
+- [ ] Enable Ingress and create the secret for TLS certificate used by Ingress.
+ * Preproduction: Usually, we use 
link:https://github.com/jetstack/cert-manager[cert-manager] to request a Let's 
Encrypt Certificate. Remember to use the full chain certificate. You can verify 
that your certificate works well with `openssl` before adding 
+    the name of that secret to your James values.
+ * Production: Some certificates belonging to the client should exist already. 
See that with the team.
+- [ ] Change IMAP ports to NodePort if your Cloud Provider Load Balancer has 
short idle timeout and we need longer connections for performance reasons (and 
the RFC for IMAP states also we need 30 minutes for the timeout).
+  - [ ] Use an external LB (ie. HA Proxy) to redirect traffic towards James 
IMAP service NodePort IPs and ports.
+
+== After setup operations
+
+When all of this is working, normally your chain mail should be able to work. 
To check it you can:
+
+* Use a mail client (ThunderBird, Outlook, ...) to test James IMAP.
+* Send a mail internally from one test account to an other.
+* Send a mail from James to an external mail provider (your Gmail, Yahoo 
account for example).
+* Send a mail from an external provider to James.
+* Use link:https://www.mail-tester.com/[mail-tester] to check your score.

Review comment:
       ```suggestion
   * Use services like link:https://www.mail-tester.com/[mail-tester] to check 
your score.
   ```
   
   (This statement is slightely more vendor neutral)




-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to