diff --git a/service/crm.md b/service/crm.md index 0e18ebdced2a13771c1fa3acddaed794e8fa1c03..df34adefe860368fd1c55f53e911ce8d26975546 100644 --- a/service/crm.md +++ b/service/crm.md @@ -160,6 +160,9 @@ The CRM service is built with two distinct servers: * `crm-int-01.torproject.org`, AKA `crm-int-01` * software: * CiviCRM on top of Drupal + * Drupal has a `tor_donation` module which has the code to + receive/process Redis messages and initiate the corresponding + actions in CiviCRM * Apache with PHP FPM * MariaDB (MySQL) database (Drupal storage backend) * Redis cache (?) @@ -179,6 +182,7 @@ The CRM service is built with two distinct servers: * `staging-api.donate.torproject.org`: not live yet * `test-api.donate.torproject.org`: test site to rename the API middleware (see [issue 40123](https://gitlab.torproject.org/tpo/tpa/team/-/issues/40123)) + * those sites live in `/srv/donate.torproject.org` There is also the <https://donate.torproject.org> static site hosted in our [static hosting mirror network](howto/static-component). A donation campaign *must* @@ -208,6 +212,11 @@ backend CiviCRM server. The middle and the CiviCRM server talk to each other through a Redis instance, accessible only through an [IPsec](howto/ipsec) tunnel (as a 172.16/12 private IP address). +In order to receive contribution data and provide endpoints reachable +by Stripe/PayPal, the API server is configured to receive those +requests and pass specific messages using Redis over a secure tunnel +to the CRM server + Both servers have firewalled SSH servers (rules defined in Puppet, `profile::civicrm`). To get access to the port, [ask TPA][File].