Authentication¶
User authentication will rely on GitHub which means a user must perform a social login using their GitHub account to use the provisioning system. There will be two authentication levels for users:
Anonymous
GitHub User
Authorization¶
There are four levels of authorization that will determine which functions a user is allowed to perform:
Anonymous
Member (of an organization)
Owner (of an organization)
Staff
Organization¶
The primary purpose of the provisioning system is to manage the deployment of resources for an organization. Each organization has the following attributes:
List of owners
List of members
Cluster configuration
Server version
Minimum and maximum nodes
Availability zone
Public vs. private
Capacity requests
Note the following have been removed:
Auto-destroy and auto-deploy are now always enabled
There is no ability to set a spot instance bid price or allocation strategy since cost management is no longer provided
Functions¶
deploy/destroy/capacityresources for an organizationauthenticateuser belongs to an organizationcreate/deleteorganization (if staff)assignmembers and owners to an organization (if staff or owner)trackcosts incurred by an organizationstatusthe state, configuration, and spend rates of an organizationconfigurean organization