...
- Click the "Add" button next to "Image Preview Extractor" on the Services Pane
- A wizard should pop up allowing the user to add and configure the new service
- Requirements Page:
- This page should display a description of the stack that will be added
- All required services should be listed
- Any services that require volumes should make this requirement known
- User must enter a name for the stack before clicking "Next"
- User cannot click "Next" without entering a name
- Name must be between 0 and 15 characters
- This is due to a hard limit in Kubernetes, and extra padding characters that we add to create unique names for things
- See https://github.com/kubernetes/kubernetes/issues/12463
- Confirmation Page:
- Since this service has no options or volume requirements, the user should be taken directly to confirmation
- Confirmation Page lists any Services / Volumes that will be added with this operation
- User can review the total operation before clicking "Confirm"
- Upon clicking "Confirm" the new stack should appear in the "Stacks" tab of the Content Pane (right-side on desktop, or bottom on mobile)
...
- Click the "Add" button next to "Kibana" on the Services Pane
- A wizard should pop up allowing the user to add and configure the new service
- Requirements Page:
- This page should display a description of the stack that will be added
- All required services should be listed
- Any services that require volumes should make this requirement known
- User must enter a name for the stack before clicking "Next"
- User cannot click "Next" without entering a name
- Name must be between 0 and 15 characters
- This is due to a hard limit in Kubernetes, and extra padding characters that we add to create unique names for things
- See https://github.com/kubernetes/kubernetes/issues/12463
- Volumes Page:
- Since this stack contains a service that will require a Volume, user should be taken to the Volumes Page
- User should be shown their volume storage quota
- User should be shown how adding the necessary volumes will affect their storage quota
- User must enter a name, size, and unit for each necessary volume before clicking "Next"
- Name should be defaulted to a sensible default
- Size should be defaulted to 10 GB
- Confirmation Page:
- Since this service has no dependencies, options, or volume requirements, the user should be taken directly to confirmation
- Confirmation Page lists any Services / Volumes that will be added with this operation
- User can review the total operation before clicking "Confirm"
- Upon clicking "Confirm" the new stack should appear in the "Stacks" tab of the Content Pane (right-side on desktop, or bottom on mobile)
...
- Click the "Add" button next to "DataVerse" on the Services Pane
- A wizard should pop up allowing the user to add and configure the new stack of services
- Requirements Page:
- This page should display a description of the stack that will be added
- All required services should be listed
- Any services that require volumes should make this requirement known
- User must enter a name for the stack before clicking "Next"
- User cannot click "Next" without entering a name
- Name must be between 0 and 15 20 characters
- This is due to a hard limit in Kubernetes, and extra padding characters that we add to create unique names for things
- See https://github.com/kubernetes/kubernetes/issues/12463
- This page present the user with optional services for this stack
View Stack Status
Add Service
Remove Service
Start Stack
View Logs
Navigate to Endpoints
...
- Options Page:
- This page present the user with optional services for this stack
- Any services that require other services (dependencies) should make their requirements known.
- User may choose any optional services before clicking "Next"
- Volumes Page:
- Since this stack contains a service that will require a Volume, user should be taken to the Volumes Page
- User should be shown their volume storage quota
- User should be shown how adding the necessary volumes will affect their storage quotaUser must enter a name, size, and unit for each necessary volume before clicking "Next"
- Name should be defaulted to a sensible default
- Size should be defaulted to 10 GB
- Confirmation Page:
- Since this service has no dependencies, options, or volume requirements, the user should be taken directly to confirmation
- Confirmation Page lists any Services / Volumes that will be added with this operation
- User can review the total operation before clicking "Confirm"
- Upon clicking "Confirm" the new stack should appear in the "Stacks" tab of the Content Pane (right-side on desktop, or bottom on mobile)
View Stack Status
- User should see their stacks listed in the "Stacks" tab of the Content Pane (right-side on desktop, or bottom on mobile)
- Clicking the stack name (accordion header) will expand the accordion, showing the status of all services within the stack
- From here, user should see options to:
- start/stop a stack
- add/remove optional services to/from stack
Add Service
- User should see "Add Service" next to any optional services that have not been added to this stack
- Clicking "Add Service" should add that service to the stack
- Any services that the newly-added service requires are automatically added to the stack
- The new service(s) will be started the with the stack
Remove Service
- User should see "Remove Service" next to any optional services that have been added to this stack
- User cannot delete required dependencies of optional services
- For example: In the "Clowder" stack, user should not be able to remove "RabbitMQ" without first removing all extractors
- Clicking "Remove Service" should remove that service from the stack
Start Stack
- User should be able to start a stopped stack
- Upon starting a stack, user should see GUI update with new service statuses as they are received:
- Expected Order: Stopped -> Waiting -> Starting -> Ready
- Click the "View Logs" button allows the user to View Logs of any services that are "Starting" or "Ready"
- Log Viewer is automatically refreshed, allowing the user to watch the logs in real-time
- Once all services in the stack are "Ready", the stack has been fully started
- User is presented with endpoints to any services that offer an interface
- Upon clicking an endpoint link, user is directed to the web interface offered there
View Logs
- User can view the logs of any service that is not "Stopped"
Stop Stack
Delete Stack
- Upon removing a stack with no volumes, user should be prompted for a simple Yes / No confirmation
- Upon removing a stack with one or more volumes, user should be prompted for confirmation
- User should be given the option to:
- Retain the data volumes of the stack
- this should delete ONLY the stack, and leave the volumes in a Detached state
- Destroy all data from the stack
- this should delete the volumes along with the stack
- Retain the data volumes of the stack
- User should be given the option to:
- If the user chooses one of the "Yes" options, the stack is deleted and removed from the GUI
- If "Destroy all data" option was chosen, the volumes should also be deleted