Skip to content

Commit d28f451

Browse files
committed
Introduce Vault component protected with Intel Secure Guard Extensions (SGX)
1 parent 2ab8569 commit d28f451

32 files changed

+1204
-10
lines changed

content/patterns/medical-diagnosis-amx/cluster-sizing.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,4 @@ The OpenShift cluster is a standard deployment of 3 control plane nodes and 3 or
7373

7474
The recommended hardware setup:
7575

76-
include::modules/intel-recommended-cluster-sizing.adoc[]
76+
include::modules/intel-recommended-cluster-sizing-4th-gen.adoc[]

content/patterns/multicloud-gitops-amx/mcg-amx-cluster-sizing.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,4 @@ The datacenter hub OpenShift cluster needs to be a bit bigger than the Factory/E
5959

6060
The recommended clusters sizes for datacenter hub and for managed datacenter are the same in this case:
6161

62-
include::modules/intel-recommended-cluster-sizing.adoc[]
62+
include::modules/intel-recommended-cluster-sizing-4th-gen.adoc[]

content/patterns/multicloud-gitops-amx/mcg-amx-getting-started.adoc

+8-8
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,10 @@ export KUBECONFIG=~/<path_to_kubeconfig>
111111
Verify that the Operators have been installed.
112112

113113
. To verify, in the *OpenShift Container Platform* web console, navigate to *Operators → Installed Operators* page.
114-
. Check that the following Operators are installed with `Succeeded` status (Figure 1):
115-
* *Advanced Cluster Management for Kubernetes*
116-
* *multicluster engine for Kubernetes*
117-
* *Node Feature Discovery Operator*
114+
. Check that the following Operators are installed with `Succeeded` status (Figure 1):
115+
* *Advanced Cluster Management for Kubernetes*
116+
* *multicluster engine for Kubernetes*
117+
* *Node Feature Discovery Operator*
118118
* *Red Hat Openshift GitOps*
119119
* *Validated Patterns Operator*
120120
+
@@ -156,10 +156,10 @@ image::multicloud-gitops-amx/amx-create-pattern.png[Create pattern Multicloud Gi
156156
Verify that the rest of Operators have been installed:
157157

158158
. To verify, in the *OpenShift Container Platform* web console, navigate to *Operators → Installed Operators* page.
159-
. Check that the following Operators are installed with `Succeeded` status (Figure 1):
160-
* *Advanced Cluster Management for Kubernetes*
161-
* *multicluster engine for Kubernetes*
162-
* *Node Feature Discovery Operator*
159+
. Check that the following Operators are installed with `Succeeded` status (Figure 1):
160+
* *Advanced Cluster Management for Kubernetes*
161+
* *multicluster engine for Kubernetes*
162+
* *Node Feature Discovery Operator*
163163
* *Red Hat Openshift GitOps*
164164

165165
Add a secret for `config-demo` application (from _values-secret-multicloud-gitops.yaml_) to *Vault* manually:

content/patterns/multicloud-gitops-sgx/_index.adoc

+240
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
title: Cluster sizing
3+
weight: 30
4+
aliases: /multicloud-gitops-sgx/mcg-sgx-cluster-sizing/
5+
---
6+
7+
include::modules/comm-attributes.adoc[]
8+
9+
:toc:
10+
:imagesdir: /images
11+
:_content-type: ASSEMBLY
12+
13+
[id="about-openshift-cluster-sizing-mcg"]
14+
== About OpenShift cluster sizing for the {sgx-mcg-pattern}
15+
16+
The minimum requirements for an {ocp} cluster depend on your installation platform, for example:
17+
18+
* For AWS, see link:https://docs.openshift.com/container-platform/4.14/installing/installing_aws/preparing-to-install-on-aws.html#requirements-for-installing-ocp-on-aws[Installing {ocp} on AWS].
19+
20+
* For bare-metal, see link:https://docs.openshift.com/container-platform/4.14/installing/installing_bare_metal/installing-bare-metal.html#installation-minimum-resource-requirements_installing-bare-metal[Installing {ocp} on bare metal].
21+
22+
To understand cluster sizing requirements for the {sgx-mcg-pattern}, consider the following components that the {sgx-mcg-pattern} deploys on the datacenter or the hub OpenShift cluster:
23+
24+
|===
25+
| Name | Kind | Namespace | Description
26+
27+
| multicloud-gitops-sgx-hub
28+
| Application
29+
| multicloud-gitops-sgx-hub
30+
| Hub GitOps management
31+
32+
| Red Hat Advanced Cluster Management
33+
| Operator
34+
| open-cluster-management
35+
| Advance Cluster Management
36+
37+
| Red Hat OpenShift GitOps
38+
| Operator
39+
| openshift-operators
40+
| OpenShift GitOps
41+
42+
| Node Feature Discovery
43+
| Operator
44+
| openshift-nfd
45+
| Manages the detection and labeling of hardware features and configuration (for example {intel-sgx})
46+
47+
| Intel Device Plugins
48+
| Operator
49+
| openshift-operators
50+
| Collection of plugins, `Intel Software Guard Extensions Device Plugin` is used in this pattern
51+
52+
| Red Hat OpenShift Data Foundation
53+
| Operator
54+
| openshift-storage
55+
| Cloud Native storage solution
56+
|===
57+
58+
[id="mcg-openshift-datacenter-hub-cluster-size"]
59+
== {sgx-mcg-pattern} with OpenShift clusters sizes
60+
61+
The datacenter hub OpenShift cluster needs to be a bit bigger than the Factory/Edge clusters because this is where the developers will be running pipelines to build and deploy the {sgx-mcg-pattern} on the cluster. The above cluster sizing is close to a minimum size for a Datacenter HUB cluster. In the next few sections we take some snapshots of the cluster utilization while the {sgx-mcg-pattern} is running. Keep in mind that resources will have to be added as more developers are working building their applications.
62+
63+
The recommended clusters sizes for datacenter hub and for managed datacenter are the same in this case:
64+
65+
include::modules/intel-recommended-cluster-sizing-5th-gen-sgx.adoc[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
---
2+
title: Demo Script
3+
weight: 60
4+
aliases: /multicloud-gitops-sgx/demo/
5+
---
6+
7+
include::modules/comm-attributes.adoc[]
8+
:toc:
9+
:imagesdir: /images
10+
:_content-type: REFERENCE
11+
12+
[id="demo-intro"]
13+
14+
== Introduction
15+
The multicloud gitops pattern is designed to be an entrypoint into the Validated Patterns framework. Demo, accesible within the pattern, contains two applications `config-demo` and `hello-world` to show the basic configuration and execution examples. For more information on Validated Patterns visit our link:/[documentation site].
16+
17+
[id="demo-objectives"]
18+
19+
== Objectives
20+
21+
In this demo you will complete the following:
22+
23+
* Prepare your local workstation
24+
* Deploy the pattern
25+
* Extend the pattern with a small tweak
26+
27+
[id="getting-started"]
28+
29+
== Getting Started
30+
31+
* Make sure you have met all the link:/learn/quickstart/#installation_prerequisitesrequirements[requirements]
32+
* Follow the link:../mcg-sgx-getting-started[Getting Started Guide] to ensure that you have met all of the prequisites
33+
34+
[NOTE]
35+
====
36+
This demo begins after `./pattern.sh make install` has been executed
37+
====
38+
39+
[id="demo"]
40+
41+
== Demo
42+
43+
Now that we have deployed the pattern onto our cluster, with `origin` pointing to your fork and using `my-branch` as the name of the used branch, we can begin to discover what has happened.
44+
You should be able to click on the nine-box and see the following entries:
45+
46+
image:multicloud-gitops-sgx/nine-box.png[]
47+
48+
If you now click on the "Hub ArgoCD" menu entry you will be taken to the ArgoCD instance with all the applications.
49+
50+
image:multicloud-gitops-sgx/hub-argocd.png[]
51+
52+
53+
54+
[id="secrets"]
55+
56+
=== Secrets loading
57+
58+
By default in the MultiCloud GitOps pattern the secrets get loaded automatically via an out of band process inside the vault running in the OCP cluster. This means that running `./pattern.sh make install` will also call the `load-secrets` makefile target.
59+
This `load-secrets` target will look for a yaml file describing the secrets to be loaded into vault and in case it cannot find one it will use the `values-secret.yaml.template` file in the git repo to try and generate random secrets.
60+
61+
Let's copy the template to our home folder and reload the secrets:
62+
[source,terminal]
63+
cp ./values-secret.yaml.template ~/values-secret-multicloud-gitops.yaml
64+
./pattern.sh make load-secrets
65+
66+
At this point if the `config-demo` application was not green already it should become green in the ArgoCD user interface.
67+
68+
69+
[id="verify"]
70+
71+
=== Verify the test web pages
72+
73+
If you now click on the `Routes` in the `Networking` menu entry you will see the following network routes:
74+
75+
image:multicloud-gitops-sgx/network-routes.png[]
76+
77+
Clicking on the `hello-world` application should show a small demo app that prints "Hello World!":
78+
79+
image:multicloud-gitops-sgx/hello-world.png[]
80+
81+
Once the secrets are loaded correctly inside the vault, clicking on the `config-demo` route should display a small application where said secret is shown:
82+
83+
image:multicloud-gitops-sgx/config-demo.png[]
84+
85+
=== Make a small change to the test web pages
86+
87+
Now we can try and tweak the hello-world application and add the below line in
88+
the `charts/all/hello-world/templates/hello-world-cm.yaml` file:
89+
[source,patch]
90+
diff --git a/charts/all/hello-world/templates/hello-world-cm.yaml b/charts/all/hello-world/templates/hello-world-cm.yaml
91+
index e59561ca..bd416bc6 100644
92+
--- a/charts/all/hello-world/templates/hello-world-cm.yaml
93+
+++ b/charts/all/hello-world/templates/hello-world-cm.yaml
94+
@@ -14,6 +14,7 @@ data:
95+
</head>
96+
<body>
97+
<h1>Hello World!</h1>
98+
+ <h1>This is a patched version via git</h1>
99+
<br/>
100+
<h2>
101+
Hub Cluster domain is '{{ .Values.global.hubClusterDomain }}' <br>
102+
103+
104+
Once we commit the above change via `git commit -a -m "test a change"` and run
105+
`git push origin my-branch` we will be able to observe argo applying the above
106+
change:
107+
108+
image:multicloud-gitops-sgx/config-demo-patched.png[]
109+
110+
[id="summary"]
111+
112+
== Summary
113+
114+
You did it! You have completed the deployment of the MultiCloud GitOps pattern
115+
and you made a small local change and applied it via GitOps! Hopefully you are
116+
getting ideas of how you can take advantage of our GitOps framework to deploy
117+
and manage your applications.
118+
119+
For more information on Validated Patterns visit our
120+
link:https://validatedpatterns.io/[website]

0 commit comments

Comments
 (0)