diff --git a/.github/linters/.markdown-lint.yml b/.github/linters/.markdown-lint.yml index a0bc47d..68684f3 100644 --- a/.github/linters/.markdown-lint.yml +++ b/.github/linters/.markdown-lint.yml @@ -1,6 +1 @@ -{ - "default": true, - "MD003": false, - "MD013": false, - "MD033": false -} \ No newline at end of file +{"default": true, "MD003": false, "MD013": false, "MD033": false, "MD024": false} diff --git a/docs/ADR/ADR_001.md b/docs/ADR/ADR_001.md new file mode 100644 index 0000000..8797822 --- /dev/null +++ b/docs/ADR/ADR_001.md @@ -0,0 +1,59 @@ +--- +x-trestle-template-version: 0.0.1 +--- + +# ADR-001: Use of noobaa / multi-cloud gateway as a consistent object storage interface + +## Context and Problem Statement + +The data science workflows that are used within OpenShift AI are dependent on object storage, based on the S3 protocol. +While object storage / blob is wide spread, interfaces for provisioning are inconsistent. +In order to automate the provisioning lifecycle of data science projects within the pattern it is essential that the pattern, via argoCD and helm charts, can orchestrate the provisioning lifecycle. +The second question is to ensure that the data scientists don't need to directly understand the underlying storage infrastructure, including for application development. + +## Considered Options + +### Depend exclusively on external object storage + +#### Positives + +- No infastructure consumption for storage on cluster. +- + +#### Negatives + +- Requires credential management and access to s3 in the cloud account with appropriate IAM credentials. +- S3 is not a given in on-premise environment + +### Leverage object storage via an internal platform exclusively using minio + +#### Positives + +- Consistent addressing for object storage in cluster for application development +- Closed loop credential management easing automation + +#### Negatives + +- Always consumes expensive (block) storage +- Additional vendor required for commercial support +- Minio operator is not currently supported on 4.15 +- Multi-cluster setups must be cluster aware + +### Leverage Noobaa (Multi cloud gateway) to provide a flexible interface + +#### Positives + +- Flexible choice between using in cluster and out of cluster storage +- Multi-cluster setups can obfuscate origin of s3 across multiple sites +- Clear support path for downstream development + +#### Negatives + +- Flexibility provides choice but also increases required parameters, documentation and instrumentation + +## Decision Outcome + +Use Noobaa / MCG as: + +1. It worked out of the box easily +1. There is a clear support path.