We have a few problems:
- the Horizon UI doesn't maintain revision history
- the Wikitech hiera UI needs to go away in order to decouple keystone from Wikitech
- the Horizon UI is frustratingly slow
Here are proposed steps to address those:
- Set up a git repo to store the classes and hiera from puppet. Each edit on Horizon will push a patch to that repo using a service user.
- Add a faster-loading, yaml-only editing UI
- <to do anytime a is complete> move all wikitech-hosted puppet config to Horizon
- mark wikitech puppet pages read-only
- <bonus points> remove the custom ENC and labspuppet API and have puppetmasters pull custom puppet classes and hiera directly from git
- <even more bonus points> Change to one repo per project, have keystone write project adminship to ldap in a way that gerrit can consume it, thus giving +2/merge rights to project admins via gerrit.