Adding module documentation
This commit is contained in:
1 parent
b7cfc5028c
commit
e2aa60189c
1 file changed
+40
-22
+40
-22
@@ -1,33 +1,51 @@
|
||||
# Superalgos Operations Server Module
|
||||
|
||||
## AA Operations Server
|
||||
The Superalgos Operations Server manages the clone life cycle inside the **Superalgos Ecosystem**.
|
||||
The main function includes storing the metadata information of the clones and handling the interaction with the orchestration software which is [Kubernetes](https://Kubernetes.io).
|
||||
|
||||
Server side functions support the business rules for the module.
|
||||
# Execution sequence
|
||||
The operations module (or Clones) integrates with other system modules to enable secure and encapsulated execution. On the clone creation process the encapsulation is achieved by deploying a **Cloud** Image on a **Kubernates** container.
|
||||
- [Keys](https://github.com/Superalgos/KeyVaultModule): Manages the signature of the messages sent to the external exchanges.
|
||||
- [Teams](https://github.com/Superalgos/TeamsModule): Provide team and bot authorization.
|
||||
- [Cloud](https://github.com/Superalgos/AACloud): Receive the execution parameters and runs an independent instance of the platform.
|
||||
|
||||
## Available Methods
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
User ->> Keys: createKey
|
||||
User ->> Keys: getAvailableKeys
|
||||
User ->> Clones: createClone
|
||||
Clones ->> Keys: getAvailableKeys
|
||||
Clones ->> Keys: authorizeCloneToUseKey
|
||||
Keys ->> Clones: geCloneTeamAndBot
|
||||
Keys ->> Teams: getTeamMembers
|
||||
Keys -->> Clones: authorizeCloneToUseKey
|
||||
Clones ->> Cloud: createClone
|
||||
Cloud ->> Keys: signTransaction
|
||||
Cloud ->> Clones: updateExection
|
||||
|
||||
# Active clones List
|
||||
- List active personal clones
|
||||
- List active team clones (future release)
|
||||
Note left of Cloud: signTransaction and <br/> updateExection are <br/> called n number <br/> of times
|
||||
User ->> Clones: getCloneExecutionInformation
|
||||
Cloud ->> Clones: cloneExecutionComplete
|
||||
User ->> Clones: deleteClone
|
||||
Clones ->> Keys: releaseKey
|
||||
```
|
||||
|
||||
# History clone List
|
||||
- List history personal clones
|
||||
- List history team clones (future release)
|
||||
> Details about all available methods can be found at the GraphQL endpoint.
|
||||
|
||||
# Get clone by id
|
||||
- Get existing clones corresponding to the clone ids passed by parameter and returns:
|
||||
- Clone id
|
||||
- Team id
|
||||
- Bot id
|
||||
## List active clones
|
||||
- List the clones created by the user that are currently running on the virtual machine.
|
||||
- List the running clones of the teams who the user is authorized to manage (future release)
|
||||
|
||||
# Add new clones:
|
||||
Receive a list of clones, create each of them and return the newly created clone.
|
||||
## List history clones
|
||||
- List the clones owned by the user that were completed and deleted
|
||||
- List the finalised clones of the teams who the user is authorized to manage (future release)
|
||||
|
||||
## Add new clones
|
||||
A clone can be created:
|
||||
- As a personal clone (run from the personal user folder)
|
||||
- As a team clone (on competitions, run from the team folder)
|
||||
- As a personal clone (the source code will be the one on the personal user folder)
|
||||
- As a team clone (the source code will be the one on the main team folder)
|
||||
Who can create each type:
|
||||
- Personal clones are managed by the user who creates it, not visible for any other user.
|
||||
- Team clones are managed by any ADMIN type team member (on the team member role attribute),
|
||||
and all team admins will see it listed.
|
||||
- Team clones are managed by any ADMIN type team member (on the team member role attribute), and all team admins will see it listed.
|
||||
|
||||
- Events Module:
|
||||
At enroll time, the clone is created and the authId is sent
|
||||
> Written with [StackEdit](https://stackedit.io/).
|
||||
Reference in new issue
Block a user