Adds UC1 and UC2

This commit is contained in:
Pierre Ozoux 2023-01-18 17:52:27 +01:00
parent c001299b6f
commit 3a1bec498e
2 changed files with 29 additions and 0 deletions

View 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
View 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.