Skip to content

Commit

Permalink
update readthedocs
Browse files Browse the repository at this point in the history
  • Loading branch information
achtsnits committed Oct 7, 2024
1 parent 9af4cff commit 8b3c14a
Showing 1 changed file with 1 addition and 48 deletions.
49 changes: 1 addition & 48 deletions docs/design/motivation.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,51 +11,4 @@ The v2 version of the workspace mitigates these issues:

* The workspace controller automatically creates a dedicated space in a Git repository (either a new repository or a separate folder) for each workspace, allowing for declarative descriptions of all deployed services with their current software version and configuration, so this information can be easily inspected. Custom services can be installed via GitOps mechanisms and are declaratively stated the same way.
* The provisioning pipeline is declaratively stated and can be adapted by the operator. Best-practise blueprints are shared in the workspace EOEPCA repository. The provisioning pipeline is continuously reconciled, always trying to match the desired state with the observed state. Updates of services can therefore be selectively or globally triggered via Git.
* The vcluster tooling is automatically deployed per namespace, providing a dedicated Kubernetes API server runtime for each workspace.


PackgeR - bundle files/objects together for distribution, deployment, or storage.

Define Workspace CRD specification allowing the Workspace controller to:
- Establish a dedicated namespace for each project/user in the Host Kubernetes cluster.
- Apply Kubernetes policies such as ResourceQuota, LimitRange, and NetworkPolicy to the namespace.
- Deploy a vCluster with best-practice configurations within the namespace.
- Create a new Git repository (or a folder in an existing Git repository, depending on the global setup) to store the desired manifests for - Workspace Services to be reconciled through Flux GitOps principles.
- Connect Flux to reconcile the Git repository (or folder) with the vCluster.
- Implement Kubernetes Validating Webhooks to enforce bucket creation policies, such as maximum number and size, and naming pattern conventions, within the namespace.

Reconcile [Workspace CRDs](https://github.com/EOEPCA/workspace/issues/1) and expose:
- vCluster credentials for direct “virtual” Kubernetes cluster access,
- Git settings used for Flux,
- The current reconciliation state.


Define Storage CRD specification allowing the Storage controller to:
- Establish a dedicated bucket or connect a federated bucket.
- Configure bucket access and CORS policies for the bucket.

Reconcile [Storage CRDs](https://github.com/EOEPCA/workspace/issues/3) and expose:
- Bucket credentials,
- Access URL,
- The current reconciliation state.

-
- establish a dedicated namespace for each project/user in the Host Kubernetes cluster.
apply ResourceQuota to namespace
create Storage via a Storage CRD (https://github.com/EOEPCA/workspace/issues/3) to be picked up by Storage Controller (https://github.com/EOEPCA/workspace/issues/4)
deploy Workspace UI (https://github.com/EOEPCA/workspace/issues/7)



- endpoints to


Physical storage may either be dynamically provisioned (see [Storage CRDs](https://github.com/EOEPCA/workspace/issues/3)) or linked to existing.

Allow users to search and browse through the content of the storage buckets connected to a given workspace using directory-based file system semantics.

Allow sharing of specific content via pre-signed URLs, enabling direct HTTP access without requiring user authentication.

--

utili
* The vcluster tooling is automatically deployed per namespace, providing a dedicated Kubernetes API server runtime for each workspace.

0 comments on commit 8b3c14a

Please sign in to comment.