Page MenuHomePhabricator

Give AlmanacServices a service type
ClosedPublic

Authored by epriestley on Dec 15 2014, 9:05 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Mar 10, 9:15 PM
Unknown Object (File)
Thu, Mar 7, 7:29 PM
Unknown Object (File)
Thu, Mar 7, 7:29 PM
Unknown Object (File)
Thu, Feb 29, 10:25 PM
Unknown Object (File)
Thu, Feb 29, 4:57 AM
Unknown Object (File)
Feb 21 2024, 3:35 AM
Unknown Object (File)
Feb 12 2024, 2:50 AM
Unknown Object (File)
Feb 7 2024, 3:36 PM
Subscribers

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
Branch
astype1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 3266
Build 3272: [Placeholder Plan] Wait for 30 Seconds

Event Timeline

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.
  • Only accept ClusterRepository services as valid cluster nodes in Diffusion.
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.