code: func (site *installationSite) modifyConfig(cb func(cfg *installationSiteConfig) error) error {
  	path := filepath.Join(site.siteRoot, fs.SiteServiceDir, "config.json")
  	c := installationSiteConfig{}
  	if err := c.read(path); err != nil && !os.IsNotExist(err) {
  		return err
  	}
  	if err := cb(&c); err != nil {
  		return err
  	}
  	// Fix broken config that doesn't have ServiceURL set. It is required now.
  	if c.ServiceURL == "" {
  		c.ServiceURL = site.defaultServiceURL
  	}
  	return c.write(path)
  }
docs: // modifyConfig reads config file, calls callback to mutate it, then writes
  // it back.