Skip to content
  • epriestley's avatar
    Allow repository cluster bindings to be marked as not "writable", making them read-only · 6556536d
    epriestley authored
    Summary:
    Depends on D19356. Fixes T10883. Ref T13120.
    
      - Add a "writable" property to the bindings, defaulting to "true" with a nice dropdown.
      - When selecting hosts, allow callers to request a writable host.
      - If the caller wants a writable host, only return hosts if they're writable.
      - In SVN and Mercurial, we sometimes return only writable hosts when we //could// return read-only hosts, but figuring out if these request are read-only or read-write is currently tricky. Since these repositories can't really cluster yet, this shouldn't matter too much today.
    
    Test Plan:
      - Without any config changes, viewed repositories via web UI and pushed/pulled via SSH and HTTP.
      - Made all nodes in the cluster read-only by disabling "writable", pulled and hit the web UI (worked), tried to push via SSH and HTTP (got errors about read-only).
      - Put everything back, pulled and pushed.
    
    Reviewers: amckinley
    
    Reviewed By: amckinley
    
    Maniphest Tasks: T13120, T10883
    
    Differential Revision: https://secure.phabricator.com/D19357
    6556536d