diff --git a/README.md b/README.md index 153e85054..21dfae33c 100644 --- a/README.md +++ b/README.md @@ -78,14 +78,3 @@ removing dependabot entries and other not-really useful changelog entries. Publish the release (remove draft status). Once the tagged workflow is successful, the release process is completed. - -## How to update workflow diagrams of Alfresco latest version - -* Go to the `docs/docker-compose/images` and/or `docs/helm/images` folders of the repository and there you will find 2 plantuml source files and their PNG diagram files. -* Update the plantuml(.puml) files for enterprise/community edition with latest changes as required. -* Once you are done with the changes, you can generate the diagrams with 2 ways. - -1. You can update the diagrams with cli method by running the below command. You need to have Java and Plantuml installed on your machine. - `java -jar plantuml.jar filename` -2. The other way to generate the diagrams is via official plantuml website. Go to the below url and paste your puml code and click on submit. - `http://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000` diff --git a/docs/helm/examples/with-ai.md b/docs/helm/examples/with-ai.md index 4bb2669a4..ccdb43659 100644 --- a/docs/helm/examples/with-ai.md +++ b/docs/helm/examples/with-ai.md @@ -13,7 +13,35 @@ feature is disabled, this example describes how to deploy ACS onto The diagram below shows the deployment produced by this example: -![Helm with Intelligence Services](../images/helm-eks-s3-rds-mq-ai.png) +## Architecture + +```mermaid +graph LR + +classDef alf fill:#0b0,color:#fff +classDef aws fill:#fa0,color:#fff +classDef k8s fill:#326ce5,stroke:#326ce5,stroke-width:2px,color:#fff +classDef thrdP fill:#e098a6,color:#000 + +subgraph ats[Alfresco Transform Service] + Deployment_transform-router(Deployment: transform-router):::alf + Deployment_ai[Deployment: AI t-engine]:::alf +end + +subgraph AWS + comprehend:::aws + rekognition:::aws + textract:::aws + s3:::aws +end + +Deployment_transform-router --> Deployment_ai + +Deployment_ai --> comprehend +Deployment_ai --> rekognition +Deployment_ai --> textract +Deployment_ai --> s3 +``` ## Prerequisites diff --git a/docs/helm/examples/with-aws-services.md b/docs/helm/examples/with-aws-services.md index e2b51451a..415e308c4 100644 --- a/docs/helm/examples/with-aws-services.md +++ b/docs/helm/examples/with-aws-services.md @@ -7,6 +7,9 @@ grand_parent: Helm # Alfresco Content Services Helm Deployment with AWS Services - [Alfresco Content Services Helm Deployment with AWS Services](#alfresco-content-services-helm-deployment-with-aws-services) + - [Architecture diagrams](#architecture-diagrams) + - [Alfresco Transform Services](#alfresco-transform-services) + - [Search Enterprise](#search-enterprise) - [Prerequisites](#prerequisites) - [Setup Services](#setup-services) - [S3](#s3) @@ -20,9 +23,135 @@ and use [S3](https://aws.amazon.com/s3) for content storage, [RDS](https://aws.amazon.com/rds) as an external database and [Amazon MQ](https://aws.amazon.com/amazon-mq) as an external message broker. +## Architecture diagrams + The diagram below shows the deployment produced by this example: -![Helm with AWS Services](../images/helm-eks-aws-services.png) +```mermaid +graph LR + +classDef alf fill:#0b0,color:#fff +classDef aws fill:#fa0,color:#fff +classDef k8s fill:#326ce5,stroke:#326ce5,stroke-width:2px,color:#fff +classDef thrdP fill:#e098a6,color:#000 + +Client("👥 Clients") + +subgraph Helm enterprise + direction LR + + subgraph workloads + Deployment_alfresco-cc(Deployment: alfresco-cc):::alf + Deployment_alfresco-dw(Deployment: alfresco-dw):::alf + Deployment_alfresco-repository(Deployment: alfresco-repository):::alf + Deployment_alfresco-sync-service(Deployment: alfresco-sync-service):::alf + Deployment_share(Deployment: share):::alf + end + + subgraph ingress + Ingress_alfresco-cc(Ingress: alfresco-cc):::k8s + Ingress_alfresco-dw(Ingress: alfresco-dw):::k8s + Ingress_alfresco-repository(Ingress: alfresco-repository):::k8s + Ingress_alfresco-sync-service(Ingress: alfresco-sync-service):::k8s + Ingress_share(Ingress: share):::k8s + end +end + +subgraph AWS + mq[Amazon MQ]:::aws + opensearch[OpenSearch]:::aws + rds[Aurora RDS]:::aws + s3[S3 Bucket]:::aws +end + +Client ---> Ingress_alfresco-cc --> Deployment_alfresco-cc +Client ---> Ingress_alfresco-dw --> Deployment_alfresco-dw +Client --> Ingress_alfresco-repository --> Deployment_alfresco-repository +Client --> Ingress_share --> Deployment_share +Client --> Ingress_alfresco-sync-service --> Deployment_alfresco-sync-service + +Deployment_share --> Deployment_alfresco-repository + +Deployment_alfresco-repository --> rds +Deployment_alfresco-repository --> mq +Deployment_alfresco-repository --> opensearch + +Deployment_alfresco-sync-service --> rds +Deployment_alfresco-sync-service --> mq +Deployment_alfresco-sync-service --> Deployment_alfresco-repository + +Deployment_alfresco-repository --> s3 +``` + +### Alfresco Transform Services + +```mermaid +graph LR + +classDef alf fill:#0b0,color:#fff +classDef aws fill:#fa0,color:#fff +classDef k8s fill:#326ce5,stroke:#326ce5,stroke-width:2px,color:#fff +classDef thrdP fill:#e098a6,color:#000 + +subgraph ats[Alfresco Transform Service] + Deployment_filestore(Deployment: filestore):::alf + Deployment_imagemagick(Deployment: imagemagick):::alf + Deployment_libreoffice(Deployment: libreoffice):::alf + Deployment_pdfrenderer(Deployment: pdfrenderer):::alf + Deployment_tika(Deployment: tika):::alf + Deployment_transform-misc(Deployment: transform-misc):::alf + Deployment_transform-router(Deployment: transform-router):::alf +end + +subgraph AWS + EFS[(EFS: Datastore)]:::aws + mq[Amazon MQ]:::aws +end + +PersistentVolumeClaim_filestore-default-pvc(PersistentVolumeClaim: filestore-default-pvc):::k8s + +Deployment_transform-router --> mq +Deployment_transform-router --> Deployment_imagemagick +Deployment_transform-router --> Deployment_libreoffice +Deployment_transform-router --> Deployment_pdfrenderer +Deployment_transform-router --> Deployment_tika +Deployment_transform-router --> Deployment_transform-misc +Deployment_transform-router --> Deployment_filestore + +Deployment_filestore --> PersistentVolumeClaim_filestore-default-pvc --> EFS +``` + +### Search Enterprise + +```mermaid +graph TB + +classDef alf fill:#0b0,color:#fff +classDef aws fill:#fa0,color:#fff +classDef k8s fill:#326ce5,stroke:#326ce5,stroke-width:2px,color:#fff +classDef thrdP fill:#e098a6,color:#000 + +subgraph live[Live Indexing] + Deployment_alfresco-search-enterprise-content(Deployment: alfresco-search-enterprise-content):::alf + Deployment_alfresco-search-enterprise-metadata(Deployment: alfresco-search-enterprise-metadata):::alf + Deployment_alfresco-search-enterprise-path(Deployment: alfresco-search-enterprise-path):::alf + StatefulSet_alfresco-search-enterprise-mediation(StatefulSet: alfresco-search-enterprise-mediation):::alf +end + +subgraph AWS + mq[Amazon MQ]:::aws + opensearch[OpenSearch]:::aws + rds[Aurora RDS]:::aws +end + +Job_alfresco-search-enterprise-reindexing(Job: alfresco-search-enterprise-reindexing):::alf + +Job_alfresco-search-enterprise-reindexing --> opensearch +Job_alfresco-search-enterprise-reindexing --> rds + +live --> mq +live --> opensearch +``` ## Prerequisites diff --git a/docs/helm/examples/with-ooi.md b/docs/helm/examples/with-ooi.md index 731a8e49c..cee2a338b 100644 --- a/docs/helm/examples/with-ooi.md +++ b/docs/helm/examples/with-ooi.md @@ -15,9 +15,41 @@ Microsoft 365. By default, this feature is disabled. This example describes how to deploy ACS onto [EKS](https://aws.amazon.com/eks) with OOI enabled. -The diagram below shows the deployment produced by this example: +## Architecture -![Helm with Office Online Integration](../images/helm-eks-s3-rds-mq-ooi.png) +```mermaid +graph LR + +classDef alf fill:#0b0,color:#fff +classDef aws fill:#fa0,color:#fff +classDef k8s fill:#326ce5,stroke:#326ce5,stroke-width:2px,color:#fff +classDef thrdP fill:#e098a6,color:#000 + +Client("👥 Clients") + +subgraph Helm enterprise + direction LR + + subgraph workloads + Deployment_alfresco-repository(Deployment: alfresco-repository):::alf + Deployment_connector_ms365(Deployment: connector-ms365):::alf + end + subgraph ingress + Ingress_connector_ms365(Ingress: connector-ms365):::k8s + end +end + +subgraph ms365 + onedrive(Onedrive Graph API) + onedrive-auth(Auth API) +end + +Client --> Ingress_connector_ms365 --> Deployment_connector_ms365 + +Deployment_connector_ms365 --> onedrive +Deployment_connector_ms365 --> onedrive-auth +Deployment_connector_ms365 --> Deployment_alfresco-repository +``` ## Prerequisites diff --git a/docs/helm/images/helm-eks-aws-services.png b/docs/helm/images/helm-eks-aws-services.png deleted file mode 100644 index 20c6a290c..000000000 Binary files a/docs/helm/images/helm-eks-aws-services.png and /dev/null differ diff --git a/docs/helm/images/helm-eks-aws-services.puml b/docs/helm/images/helm-eks-aws-services.puml deleted file mode 100644 index c2f423a84..000000000 --- a/docs/helm/images/helm-eks-aws-services.puml +++ /dev/null @@ -1,107 +0,0 @@ -@startuml -!theme bluegray -Title: ACS on EKS using S3, RDS, MQ & OpenSearch Helm Deployment Overview - -skinparam linetype ortho - -skinparam cloud { - BorderThickness 3 - BorderColor Orange - BackgroundColor white - CloudFontSize 15 -} - -skinparam rectangle { - BorderStyle dashed - BackgroundColor Azure - FontSize 15 - FontStyle none -} - -actor Client - -frame "alfresco namespace" { - component "NGINX ingress-controller" as nginx - component "Alfresco Digital Workspace" as adw - together { - component "Alfresco Content Services" as acs - component "Alfresco Share" as share - } - rectangle "Alfresco Search Enterprise 3" as se3 { - component "mediation" as se3mediation - component "content" as se3content - component "metadata" as se3metadata - component "path" as se3path - component "ReIndexing" as se3reidx - } - component "Alfresco Sync Service" as sync - rectangle "Alfresco Transform Service" { - component "Transform Router" as tr - component "Shared File Store" as sfs - component "Alfresco PDF Renderer" as pdfr - component "LibreOffice" as libr - component "ImageMagick" as img - component "Tika" as tika - component "TransformMisc" as misc - } -} - -cloud "Amazon Web Services" { - database "Aurora RDS" as db #Orange - storage "S3" as s3 #Orange - storage "EFS Volume Claim" as vc #Orange - queue "Amazon MQ" as mq #Orange - collections "OpenSearch" as osearch #Orange -} - -acs -[hidden]- se3 - -Client -->> nginx - -nginx -->> acs -nginx -->> share -nginx -->> adw - -acs -->> s3 -acs -->> osearch -se3content -->> osearch -se3metadata -->> osearch -se3path -->> osearch -se3content -->> se3mediation -se3metadata -->> se3mediation -se3path -->> se3mediation -se3mediation -->> mq -se3reidx -->> db -se3reidx -->> osearch -sfs -->> vc - -se3 <<-- acs -acs -->> db -acs -->> pdfr -acs -->> libr -acs -->> img -acs -->> tika -acs -->> misc -acs -->> sfs -acs <<-->> mq -tr -up->> pdfr -tr -up->> libr -tr -up->> img -tr -up->> tika -tr -up->> misc -tr <<-->> mq -pdfr -->> sfs -libr -->> sfs -img -->> sfs -tika -->> sfs -misc -->> sfs -share -->> acs -adw -->> acs - -sync <<->> acs -sync -->> db -sync -->> mq - -center footer Copyright 2021 Alfresco Software Inc - -@enduml diff --git a/docs/helm/images/helm-eks-community.puml b/docs/helm/images/helm-eks-community.puml deleted file mode 100644 index 241b10e7b..000000000 --- a/docs/helm/images/helm-eks-community.puml +++ /dev/null @@ -1,76 +0,0 @@ -@startuml -!theme bluegray -Title: ACS Community on EKS Helm Deployment Overview - -skinparam componentStyle uml2 -skinparam linetype ortho -skinparam rectangle { - BorderStyle dashed - FontSize 15 - FontStyle none - BackgroundColor Azure -} - -skinparam cloud { - BorderThickness 3 - BorderColor Orange - BackgroundColor white - CloudFontSize 15 -} - -actor Client - -frame "alfresco namespace" { - component "NGINX ingress-controller" as nginx - component "Alfresco Content Services" as acs - component "Alfresco Search Services" as ass - component "PostgreSQL" as psql - component "Alfresco Share" as share - component "ActiveMQ" as amq - rectangle "Alfresco Transform Service" as ats { - component "Alfresco PDF Renderer" as pdfr - component "LibreOffice" as libr - component "ImageMagick" as img - component "Tika" as tika - component "TransformMisc" as misc - } -} - -cloud "Amazon Web Services" { - rectangle "GP2/3" { - storage "EBS Volume" as ebs1 #Orange - storage "EBS Volume" as ebs2 #Orange - storage "EBS Volume" as ebs3 #Orange - } - rectangle "EFS CSI" { - storage "EFS Volume" as vc #Orange - } -} - -acs -[hidden]- ats -img -[hidden]- pdfr -img -[hidden]- misc - -Client -->> nginx - -nginx -->> acs -nginx -->> share - -acs -->> vc -psql -->> ebs1 -ass -->> ebs2 -amq -->> ebs3 - -ass <<->> acs -acs -->> psql -acs -->> pdfr -acs -->> libr -acs -->> img -acs -->> tika -acs -->> misc -acs <<-->> amq -share -->> acs - -center footer Copyright 2021 Alfresco Software Inc - -@enduml diff --git a/docs/helm/images/helm-eks-enterprise.puml b/docs/helm/images/helm-eks-enterprise.puml deleted file mode 100644 index e64028e1b..000000000 --- a/docs/helm/images/helm-eks-enterprise.puml +++ /dev/null @@ -1,97 +0,0 @@ -@startuml -!theme bluegray -Title: ACS Enterprise on EKS Helm Deployment Overview - -skinparam linetype ortho -skinparam rectangle { - BorderStyle dashed - FontSize 15 - FontStyle none - BackgroundColor Azure -} - -skinparam cloud { - BorderThickness 3 - BorderColor Orange - BackgroundColor white - CloudFontSize 15 -} - -actor Client - -frame "alfresco namespace" { - component "NGINX ingress-controller" as nginx - together { - component "Alfresco Digital Workspace" as adw - component "Alfresco Share" as share - } - component "Alfresco Content Services" as acs - component "Alfresco Search Services" as ass - component "Alfresco Sync Service" as sync - component "PostgreSQL" as psql - component "ActiveMQ" as amq - rectangle "Alfresco Transform Service" as ats { - component "Transform Router" as tr - component "Shared File Store" as sfs - component "Alfresco PDF Renderer" as pdfr - component "LibreOffice" as libr - component "ImageMagick" as img - component "Tika" as tika - component "TransformMisc" as misc - } -} - -cloud "Amazon Web Services" { - rectangle "GP2/3" { - storage "EBS Volume" as ebs1 #Orange - storage "EBS Volume" as ebs2 #Orange - storage "EBS Volume" as ebs3 #Orange - } - rectangle "EFS CSI" { - storage "EFS Volume" as vc #Orange - } -} - -Client -->> nginx - -nginx -->> acs -nginx -->> share -nginx -->> adw - -acs -[hidden]- ats -acs -->> vc -amq -->> ebs1 -psql -->> ebs2 -sfs -->> vc -ass -->> ebs3 - -acs -->> psql -acs -->> pdfr -acs -->> libr -acs -->> img -acs -->> tika -acs -->> misc -acs -->> sfs -acs <<-->> amq -tr -->> pdfr -tr -->> libr -tr -->> img -tr -->> tika -tr -->> misc -tr <<-->> amq -pdfr -->> sfs -libr -->> sfs -img -->> sfs -tika -->> sfs -misc -->> sfs -share -->> acs -adw ->> acs - -acs <<->> ass -sync <<->> acs -sync -->> psql -sync -->> amq - -center footer Copyright 2021 Alfresco Software Inc - -@enduml diff --git a/docs/helm/images/helm-eks-s3-rds-mq-ai.png b/docs/helm/images/helm-eks-s3-rds-mq-ai.png deleted file mode 100644 index 261810ca1..000000000 Binary files a/docs/helm/images/helm-eks-s3-rds-mq-ai.png and /dev/null differ diff --git a/docs/helm/images/helm-eks-s3-rds-mq-ai.puml b/docs/helm/images/helm-eks-s3-rds-mq-ai.puml deleted file mode 100644 index 9d403ac2c..000000000 --- a/docs/helm/images/helm-eks-s3-rds-mq-ai.puml +++ /dev/null @@ -1,109 +0,0 @@ -@startuml -!theme bluegray -Title: ACS with Intelligence Services on EKS using S3, RDS and MQ Helm Deployment Overview - -skinparam componentStyle uml2 -skinparam linetype ortho -skinparam rectangle { - BorderStyle dashed - FontSize 15 - FontStyle none - BackgroundColor Azure -} - -skinparam cloud { - BorderThickness 3 - BorderColor Orange - BackgroundColor white - CloudFontSize 15 -} - -actor Client - -frame "alfresco namespace" { - component "NGINX ingress-controller" as nginx - together { - component "Alfresco Digital Workspace \n (with AI config)" as adw - component "Alfresco Share \n (with AI AMP)" as share - } - component "Alfresco Content Services \n (with AI AMP)" as acs - component "Alfresco Search Services" as ass - component "Alfresco Sync Service" as sync - rectangle "Alfresco Transform Service" as ats { - component "Transform Router \n (with AI config)" as tr - component "Shared File Store" as sfs - component "Alfresco PDF Renderer" as pdfr - component "LibreOffice" as libr - component "ImageMagick" as img - component "Tika" as tika - component "TransformMisc" as misc - component "AI T-Engine" as aiEngine - } -} - -cloud "Amazon Web Services" { - rectangle "S3 buckets" { - storage "ACS" as s3acs #Orange - storage "AI" as s3ai #Orange - } - database "Aurora RDS" as db #Orange - rectangle "GP2/3" { - storage "EBS Volume" as ebs #Orange - } - rectangle "EFS CSI" { - storage "EFS Volume Claim" as vc #Orange - } - queue "Amazon MQ" as mq #Orange - node "Comprehend" as comp #Orange - node "Rekognition" as rek #Orange - node "Textract" as tex #Orange -} - -acs -[hidden]- ats -Client -->> nginx - -nginx -->> acs -nginx -->> share -nginx -->> adw - -ass -->> ebs -sfs -->> vc -acs -->> s3acs - -ass <<->> acs -acs -->> db -acs -->> pdfr -acs -->> libr -acs -->> img -acs -->> tika -acs -->> misc -acs -->> sfs -acs <<-->> mq -tr -up->> pdfr -tr -up->> libr -tr -up->> img -tr -up->> tika -tr -up->> misc -tr -up->> aiEngine -tr <<-->> mq -pdfr -->> sfs -libr -->> sfs -img -->> sfs -tika -->> sfs -misc -->> sfs -share -->> acs -adw -->> acs - -sync <<->> acs -sync -->> db -sync -->> mq - -aiEngine -->> sfs -aiEngine -->> s3ai -aiEngine -->> comp -aiEngine -->> rek -aiEngine -->> tex - -center footer Copyright 2021 Alfresco Software Inc - -@enduml diff --git a/docs/helm/images/helm-eks-s3-rds-mq-ooi.png b/docs/helm/images/helm-eks-s3-rds-mq-ooi.png deleted file mode 100644 index 87222fb23..000000000 Binary files a/docs/helm/images/helm-eks-s3-rds-mq-ooi.png and /dev/null differ diff --git a/docs/helm/images/helm-eks-s3-rds-mq-ooi.puml b/docs/helm/images/helm-eks-s3-rds-mq-ooi.puml deleted file mode 100644 index 746ac9c21..000000000 --- a/docs/helm/images/helm-eks-s3-rds-mq-ooi.puml +++ /dev/null @@ -1,101 +0,0 @@ -@startuml -!theme bluegray -Title: ACS with Office Online Integration (OOI) on EKS using S3, RDS and MQ Helm Deployment Overview - -skinparam linetype ortho -skinparam rectangle { - BorderStyle dashed - FontSize 15 - FontStyle none - BackgroungColor Azure -} - -skinparam cloud { - BorderThickness 3 - BorderColor Orange - BackgroundColor white - CloudFontSize 15 -} - -actor Client - -frame "alfresco namespace" { - component "NGINX ingress-controller" as nginx - component "Alfresco Digital Workspace \n (with OOI config)" as adw - component "Alfresco Content Services \n" as acs - component "Alfresco Search Services" as ass - component "Alfresco Sync Service" as sync - component "Alfresco Share \n" as share - component "Alfresco OOI Service" as ooi - rectangle "Alfresco Transform Service" as ats { - component "Transform Router" as tr - component "Shared File Store" as sfs - component "Alfresco PDF Renderer" as pdfr - component "LibreOffice" as libr - component "ImageMagick" as img - component "Tika" as tika - component "TransformMisc" as misc - } -} - -cloud "Amazon Web Services" { - rectangle "S3 Buckets" { - storage "ACS Contentstore" as s3acs #Orange - } - database "Aurora RDS" as db #Orange - storage "EBS Volume" as ebs #Orange - storage "EFS Volume" as vc #Orange - queue "Amazon MQ" as mq #Orange -} - -cloud "Microsoft 365" { - storage "Auth" as msauth #DodgerBlue - storage "Graph Files (OneDrive)" as msgraph #DodgerBlue -} - -acs -[hidden]- ats -Client -->> nginx - -nginx -->> acs -nginx -->> share -nginx -->> adw - -ass -->> ebs -sfs -->> vc -acs -->> s3acs - -ass <<->> acs -acs -->> db -acs -->> pdfr -acs -->> libr -acs -->> img -acs -->> tika -acs -->> misc -acs -->> sfs -acs <<-->> mq -tr -up->> pdfr -tr -up->> libr -tr -up->> img -tr -up->> tika -tr -up->> misc -tr <<-->> mq -pdfr -->> sfs -libr -->> sfs -img -->> sfs -tika -->> sfs -misc -->> sfs -share -->> acs -adw -->> acs -adw -->> ooi -adw -->> msauth - -ooi -->> acs -ooi -->> msgraph - -sync <<->> acs -sync -->> db -sync -->> mq - -center footer Copyright 2021 Alfresco Software Inc - -@enduml