Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Renaming main files and creating modules for the med-diagnosis pattern #310

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .htmltest.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
DirectoryPath: public/
IgnoreDirectoryMissingTrailingSlash: true
IgnoreDirectoryMissingTrailingSlash: true
IgnoreCanonicalBrokenLinks: false
TestFilesConcurrently: true
17 changes: 17 additions & 0 deletions .vale.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
StylesPath = .vale/styles

MinAlertLevel = suggestion

Packages = RedHat, AsciiDoc
Vocab = OpenShiftDocs

# Ignore files in dirs starting with `.` to avoid raising errors for `.vale/fixtures/*/testinvalid.adoc` files
[[!.]*.adoc]
BasedOnStyles = RedHat, AsciiDoc,

# Optional: pass doc attributes to asciidoctor before linting
#[asciidoctor]
#openshift-enterprise = YES

# Disabling rules (NO)
RedHat.ReleaseNotes = NO
2 changes: 1 addition & 1 deletion content/blog/2021-12-31-medical-diagnosis.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ For a recorded demo deploying the pattern and seeing the dashboards available to

---

To deploy this pattern, follow the instructions outlined on the [getting-started](https://validatedpatterns.io/medical-diagnosis/getting-started/) page.
To deploy this pattern, follow the instructions outlined on the [Getting started](/patterns/medical-diagnosis/med-getting-started/) page.

### What's happening?

Expand Down
4 changes: 2 additions & 2 deletions content/learn/importing-a-cluster.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -112,15 +112,15 @@ If you use the command line tools above you need to explicitly indicate that the

We do this by adding the label referenced in the managedSite's `clusterSelector`.

1. Find the new cluster.
. Find the new cluster.

+
[source,terminal]
----
oc get managedclusters.cluster.open-cluster-management.io
----

1. Apply the label.
. Apply the label.

+
[source,terminal]
Expand Down
4 changes: 2 additions & 2 deletions content/learn/vault.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ include::modules/comm-attributes.adoc[]
= Deploying HashiCorp Vault in a validated pattern

[id="prerequisites"]
= Prerequisites
== Prerequisites

You have deployed/installed a validated pattern using the instructions provided for that pattern. This should include setting having logged into the cluster using `oc login` or setting you `KUBECONFIG` environment variable and running a `./pattern.sh make install`.

[id="setting-up-hashicorp-vault"]
= Setting up HashiCorp Vault
== Setting up HashiCorp Vault

Any validated pattern that uses HashiCorp Vault already has deployed Vault as part of the `./pattern.sh make install`. To verify that Vault is installed you can first see that the `vault` project exists and then select the Workloads/Pods:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ OpenShift GitOps is central to this pattern as it is responsible for installing

# ODF (OpenShift Data Foundations)

ODF is the storage framework that is needed to provide resilient storage for OpenShift Virtualization. It is managed via the helm chart [here](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/openshift-data-foundations). This is basically the same chart that our Medical Diagnosis pattern uses (see [here](/patterns/medical-diagnosis/getting-started/) for details on the Medical Edge pattern's use of storage).
ODF is the storage framework that is needed to provide resilient storage for OpenShift Virtualization. It is managed via the helm chart [here](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/openshift-data-foundations). This is basically the same chart that our Medical Diagnosis pattern uses (see [here](/patterns/medical-diagnosis/med-getting-started/) for details on the Medical Edge pattern's use of storage).

Please note that this chart will create a Noobaa S3 bucket named nb.epoch_timestamp.cluster-domain which will not be destroyed when the cluster is destroyed.

Expand Down
78 changes: 4 additions & 74 deletions content/patterns/medical-diagnosis/_index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,84 +22,14 @@ ci: medicaldiag
:toc:
:imagesdir: /images
:_content-type: ASSEMBLY
include::modules/comm-attributes.adoc[]

//Module to be included
//:_content-type: CONCEPT
//:imagesdir: ../../images
[id="about-med-diag-pattern"]
= About the {med-pattern}

Background::

This validated pattern is based on a demo implementation of an automated data pipeline for chest X-ray analysis that was previously developed by {redhat}. You can find the original demonstration link:https://github.com/red-hat-data-services/jumpstart-library[here]. It was developed for the US Department of Veteran Affairs.

This validated pattern includes the same functionality as the original demonstration. The difference is that this solution uses the GitOps framework to deploy the pattern including Operators, creation of namespaces, and cluster configuration. Using GitOps provides an efficient means of implementing continuous deployment.

Workflow::

* Ingest chest X-rays from a simulated X-ray machine and puts them into an `objectStore` based on Ceph.
* The `objectStore` sends a notification to a Kafka topic.
* A KNative Eventing listener to the topic triggers a KNative Serving function.
* An ML-trained model running in a container makes a risk assessment of Pneumonia for incoming images.
* A Grafana dashboard displays the pipeline in real time, along with images incoming, processed, anonymized, and full metrics collected from Prometheus.

This pipeline is showcased link:https://www.youtube.com/watch?v=zja83FVsm14[in this video].

image::medical-edge/dashboard.png[link="/images/medical-edge/dashboard.png"]

//[NOTE]
//====
//This validated pattern is still under development. If you have any questions or concerns contact mailto:jrickard@redhat.com[Jonny Rickard] or mailto:claudiol@redhat.com[Lester Claudio].
//====

[id="about-solution-med"]
== About the solution elements

The solution aids the understanding of the following:

* How to use a GitOps approach to keep in control of configuration and operations.
* How to deploy AI/ML technologies for medical diagnosis using GitOps.

The {med-pattern} uses the following products and technologies:

* {rh-ocp} for container orchestration
* {rh-gitops}, a GitOps continuous delivery (CD) solution
* {rh-amq-first}, an event streaming platform based on the Apache Kafka
* {rh-serverless-first} for event-driven applications
* {rh-ocp-data-first} for cloud native storage capabilities
* {grafana-op} to manage and share Grafana dashboards, data sources, and so on
* S3 storage

[id="about-architecture-med"]
== About the architecture

[IMPORTANT]
====
Presently, the {med-pattern} does not have an edge component. Edge deployment capabilities are planned as part of the pattern architecture for a future release.
====

image::medical-edge/edge-medical-diagnosis-marketing-slide.png[link="/images/medical-edge/edge-medical-diagnosis-marketing-slide.png"]

Components are running on OpenShift either at the data center, at the medical facility, or public cloud running OpenShift.

[id="about-physical-schema-med"]
=== About the physical schema

The following diagram shows the components that are deployed with the various networks that connect them.

image::medical-edge/physical-network.png[link="/images/medical-edge/physical-network.png"]

The following diagram shows the components that are deployed with the the data flows and API calls between them.

image::medical-edge/physical-dataflow.png[link="/images/medical-edge/physical-dataflow.png"]
include::modules/comm-attributes.adoc[]

== Recorded demo
include::modules/med-about-medical-diagnosis.adoc[leveloffset=+1]

link:/videos/xray-deployment.svg[image:/videos/xray-deployment.svg[Demo\]]
include::modules/med-architecture-schema.adoc[leveloffset=+1]

[id="next-steps_med-diag-index"]
== Next steps

* Getting started link:getting-started[Deploy the Pattern]
//We have relevant links on the patterns page
* link:med-getting-started/#med-deploy-pattern[Deploying the Medical Diagnosis pattern]
103 changes: 0 additions & 103 deletions content/patterns/medical-diagnosis/cluster-sizing.adoc

This file was deleted.

Loading