We are pleased to announce the version 1.0 release of Hobknob, our open-source feature toggle management system. With it comes a few additions and several improvements.
This post will expand on some of the changes, in particular, authorisation via access control lists.
For an introduction to Hobknob, see our previous post: Introducing Hobknob: Feature toggling with etcd.
A much requested feature was the ability to control who can add/update/delete toggles on an application by application basis. We achieve this via the use if an Access Control List for each application. Users that are part of the ACL for an application are known as application owners.
Application owners can (for an owned application):
- Add toggles
- Set the value of a toggle
- Delete toggles
- Add additional owners
- Remove owners
- Add an application
- See toggles
- See application owners
- See the audit trail for a toggle
When a user creates an new application, they are automatically added as an owner for that application.
The user can then add other application owners by clicking the ‘Add user’ button in the Owners panel and entering the users email address.
Note: this feature is only available when authentication is enabled. If Hobknob is not configured to require authentication, everyone has owner permissions to all applications. See the readme for more information on how to configure authentication.
Feature toggles can now be deleted. This ability is available on the toggle view (get there by clicking a toggle name in the application view).
You’ll notice the delete toggle button in the Danger Zone panel (we didn’t steal that idea from Github, honest). You’ll need to confirm the delete by clicking the delete button a second time.
Warning: Deleting a toggle will perform a ‘hard’ delete, that is, the key is deleted in etcd. The audit will persist however, and can be accessed via this route:
/#!/applications/app-name/toggle-name. You are also allowed to re-add a toggle, and the audit will be appended to an existing audit for that toggle name.
Note: If authentication is enabled, you must be an application owner to delete a toggle.
Gone is the ‘Add Toggle’ modal dialog from the previous version. This is replaced by two separate inline forms.
Applications are now added by clicking ‘Add’ in the sidebar.
Toggles are added by clicking ‘New Toggle’ in the Toggles panel for an application.