Skip to content

Commit

Permalink
Merge branch 'traits' of https://github.com/umccr/orcabus into traits
Browse files Browse the repository at this point in the history
  • Loading branch information
mmalenic committed Oct 23, 2023
2 parents 927367a + eb92e20 commit c73d122
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 13 deletions.
2 changes: 0 additions & 2 deletions lib/workload/stateless/filemanager/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,7 @@ Then deploy the cdk to localstack:

```sh
cd deploy

npm install

npx cdklocal bootstrap
npx cdklocal deploy
```
Expand Down
24 changes: 13 additions & 11 deletions skel/rust-api/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,21 @@ use utoipa_swagger_ui::SwaggerUi;
use tower_http::trace::{self, TraceLayer};
use tracing::{info, Level};

/// FileManager keeps track of files from many storage backend. The FileManager is responsible for:
/// FileManager keeps track of files from many storage backend. All files have an external, public,
/// file UUID so that they can be uniquely identified in our whole microservices environment.
///
/// 1. Listening and ingesting file creation events from the different storage backends.
/// 2. Querying on file attributes such as name, type of file, creation date, etc...
/// 3. Interfacing with htsget-rs for the biological-specific file formats: CRAM, BAM, VCF, BCF...
/// 4. Interacting with the metadata microservice to enrich the results of any particular query, returning
/// its associated metadata. A file should have a metadata id.
/// 5. Making sure the workflow run id is present and associated with any given file.
/// 6. Audit: Keep records for deleted objects even after the actual data is deleted.
/// 7. Audit: Record file ownership (on create, no chain of custody functionality needed).
/// The FileManager is responsible for:
///
/// All files have an external, public, file UUID so that they can be uniquely identified in our whole
/// microservices environment.
/// 1. Listening and ingesting (indexing) file creation events from the different storage backends.
/// 2. Querying on file attributes such as name, type of file, creation date, etc...
/// 3. Record file provenance (on create, on delete).
/// 4. Record object lifecycle status, i.e: Tier transition, backup to different storage, deletion.
/// 5. Manage object identity, i.e: UUID, path, etc...
///
/// Non goals:
///
/// 1. Perform checksumming of files: Too computationally expensive for our file sizes.
/// 2. Link objects/paths to metadata: That would tightly couple filemanager with metadata service.
#[tokio::main]
async fn main() -> Result<(), Error> {
Expand Down

0 comments on commit c73d122

Please sign in to comment.