Page MenuHomePhabricator

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

Authored by epriestley on Apr 13 2016, 4:48 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 13, 6:37 PM
Unknown Object (File)
Sun, Apr 7, 8:07 PM
Unknown Object (File)
Sat, Apr 6, 2:27 AM
Unknown Object (File)
Sun, Mar 31, 2:41 PM
Unknown Object (File)
Thu, Mar 28, 10:26 AM
Unknown Object (File)
Mar 5 2024, 6:44 AM
Unknown Object (File)
Feb 18 2024, 11:49 AM
Unknown Object (File)
Feb 15 2024, 1:28 AM
Subscribers
None

Details

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.

Diff Detail

Repository
rP Phabricator
Branch
aphlict2
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 11694
Build 14643: Run Core Tests
Build 14642: arc lint + arc unit

Event Timeline

epriestley retitled this revision from to Begin generalizing Aphlict server to prepare for clustering/sensible config file.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.

πŸ™ˆπŸ™ˆπŸ™ˆ

This revision is now accepted and ready to land.Apr 13 2016, 6:51 PM
This revision was automatically updated to reflect the committed changes.