Homec4science

Begin generalizing Aphlict server to prepare for clustering/sensible config file

Authored by epriestley <git@epriestley.com> on Apr 13 2016, 18:35.

Description

Begin generalizing Aphlict server to prepare for clustering/sensible config file

Summary:
Ref T10697. Currently, aphlict takes a ton of command line flags to configure exactly one admin server and exactly one client server.

I want to replace this with a config file. Additionally, I plan to support:

  • arbitrary numbers of listening client ports;
  • arbitrary numbers of listening admin ports;
  • SSL on any port.

For now, just transform the arguments to look like they're a config file. In the future, I'll load from a config file instead.

This greater generality will allow you to do stuff like run separate HTTP and HTTPS admin ports if you really want. I don't think there's a ton of use for this, but it tends to make the code cleaner anyway and there may be some weird cross-datacneter cases for it. Certainly, we undershot with the initial design and lots of users want to terminate SSL in nginx and run only HTTP on this server.

(Some sort-of-plausible use cases are running separate HTTP and HTTPS client servers, if your Phabricator install supports both, or running multiple HTTPS servers with different certificates if you have a bizarre VPN.)

Test Plan: Started Aphlict, connected to it, sent myself test notifications, viewed status page, reviewed logfile.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10697

Differential Revision: https://secure.phabricator.com/D15700

Details

Committed
epriestley <git@epriestley.com>Apr 14 2016, 13:54
Pushed
aubortJan 31 2017, 17:16
Parents
rPHa2588d62e7f6: Minor `bin/aphlict` cleanup
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPHe32ce529d73f: Begin generalizing Aphlict server to prepare for clustering/sensible config file (authored by epriestley <git@epriestley.com>).Apr 14 2016, 13:54