Terrastate is an HTTP backend for Terraform.
Everything is file backed, the state, the state lock and the users.
It has a few command line parameters:
-d/--data-directory - This is the directory where terrastate will keep the state file, lock file, and where will look for the users file (users.properties), you may omit it, but it will default to the working directory.
--history - Keep a history of the state file everytime it changes, the format is yyyyMMddHHmmssSSS.
-a/--add-user - Add a user to the users file, if terrastate is running the file is reloaded.
-r/--remove-user - Remove a user from the users file, if terrastate is running the file is reloaded.
-g/--generate-password - Generate a password, this is is intended to be used for password resets, but you can always remove/add a user to do it.
- Add some sort of web-ui for user management, and self password changes.
- Move all the configurations into a file and simply point to it.