mirror of
https://forge.liiib.re/indiehost/libre.sh/libre.sh.git
synced 2024-12-28 14:46:41 +00:00
Adds UC1 and UC2
This commit is contained in:
parent
c001299b6f
commit
3a1bec498e
2 changed files with 29 additions and 0 deletions
15
UC1-Applications Lifecycle.md
Normal file
15
UC1-Applications Lifecycle.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
As an Application Operator, I want to be able to manage applications so that I can be autonomous in this task, without interrupting the technical team.
|
||||
|
||||
Manage in this context means:
|
||||
- create (Create an HedgeDoc instance at this URL for this organization)
|
||||
- read/list (List all HedgeDoc instance, List all the different instances of this organization)
|
||||
- update (Change some high level/Infrastructure configuration that is accessible to Application Operator)
|
||||
- delete (An Organization doesn't need any more his instance, so we need to delete it)
|
||||
|
||||
Other Benefits:
|
||||
If the operator manages the application with a standard system, it is less likely that there is a drift in the different applications instances deployed.
|
||||
|
||||
## Solution
|
||||
|
||||
Kubernetes API with the use of CRD and RBAC (authz) on these CRDs allows to expose a beautiful API to manage these applications.
|
||||
If you couple Kubernetes authn with an OIDC, you have what we consider the best API to build this system.
|
14
UC2-Bucket Lifecycle.md
Normal file
14
UC2-Bucket Lifecycle.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
system: libre.sh runtime
|
||||
|
||||
As most of applications need an ObjectStore bucket, and to accomplish UC1, the libre.sh runtime needs to be able to manage the lifecycle of the applications bucket.
|
||||
|
||||
Requirements:
|
||||
- be able to manage buckets on various cloud provider
|
||||
- scaleway
|
||||
- minio
|
||||
- be able to manage bucket policies in high level fashion
|
||||
- create an owner user for the application be able to interact with this bucket
|
||||
|
||||
## Solution
|
||||
|
||||
A CRD to describe the bucket object.
|
Loading…
Reference in a new issue