Page MenuHomePhabricator

Give AlmanacServices a service type
ClosedPublic

Authored by epriestley on Dec 15 2014, 9:05 PM.

Details

Summary

Ref T5833. This allows services to be typed, to distinguish between different kinds of services. This makes a few things easier:

  • It's easier for clients to select the services they're interested in (see note in T5873 about Phacility). This isn't a full-power solution, but gets is some of the way there.
  • It's easier to set appropriate permissions around when modifications to the Phabricator cluster are allowed. These service nodes need to be demarcated as special in some way no matter what (see T6741). This also defines a new policy for users who are permitted to create services.
  • It's easier to browse/review/understand services.
  • Future diffs will allow ServiceTypes to specify more service structure (for example, default properties) to make it easier to configure services correctly. Instead of a free-for-all, you'll get a useful list of things that consumers of the service expect to read.

The "custom" service type allows unstructured/freeform services to be created.

Test Plan
  • Created a new service (and hit error cases).
  • Edited an existing service.
  • Saw service types on list and detail views.
  • Poked around new permission stuff.
  • Ran almanac.queryservices with service class specification.

Diff Detail

Repository
rP Phabricator
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

epriestley updated this revision to Diff 26400.Dec 15 2014, 9:05 PM
epriestley retitled this revision from to Give AlmanacServices a service type.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
epriestley updated this revision to Diff 26401.Dec 15 2014, 9:07 PM
  • Only accept ClusterRepository services as valid cluster nodes in Diffusion.
btrahan accepted this revision.Dec 16 2014, 12:57 AM
btrahan edited edge metadata.
This revision is now accepted and ready to land.Dec 16 2014, 12:57 AM
This revision was automatically updated to reflect the committed changes.