Entities Illustration
The following page will walk through an example which ties the concepts of Fuzzball organizations, users, and groups together. Consider the example below:
The following diagram shows a Fuzzball deployment which consists of Organization X.
Organization X contains users User 1, User 2, and User 3. User 1 is the organization owner which gives them control of the organization, its members, groups within the organization, group owners, and group members. User 2 and User 3 are organization members. By default, each user is a member and owner of their own user group.
User 1, being the organization owner, has created groups group A and group B. They have
added themself as the group owner of group A and User 2 as the group owner of
group B. Within group A, User 1, being the group owner, has created storage
volume volume://account/persistent_volumeA and
secret secret://account/oci_registry_secretA. Within group B, User 2, being the group
owner of group B, has created storage volume volume://account/persistent_volumeB and secret
secret://account/oci_registry_secretB.
User 3 has been added as a group member of group A and group B. When User 3
is using group A, they will be able to leverage storage volume
volume://account/persistent_volumeA, secret secret://account/oci_registry_secretA, and see
workflows submitted by User 1. When User 3
is using group B, they will be able to leverage storage volume
volume://account/persistent_volumeB, secret secret://account/oci_registry_secretB, and see
workflows submiited by User 2.
Since User 1 is not a member of group B, they cannot access storage volume
volume://account/persistent_volumeB, secret secret://account/oci_registry_secretB, and any
workflow/Fuzzfile executed within group B. Since
User 2 is not a member of group A, they cannot access storage volume
volume://account/persistent_volumeA, secret secret://account/oci_registry_secretA, and any
workflow/Fuzzfile executed within group A.