Skip to content

Commit bfbdebd

Browse files
committed
feat: updated documentation
Signed-off-by: Chris Butler <chris.butler@redhat.com>
1 parent ea285fc commit bfbdebd

File tree

2 files changed

+82
-26
lines changed

2 files changed

+82
-26
lines changed

README.md

Lines changed: 78 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,51 +11,112 @@ The target operating model has two clusters:
1111
On the platform a a sample workload is deployed
1212

1313
1. Sample hello world applications to allow users to experiment with the policies for CoCo and the KBS (trustee).
14-
1. This is currently working out of the box (or close to).
14+
2. A sample application `kbs-access` which presents secrets obtained from trustee to a web service. This is designed to allow users to test locked down environments.
1515

1616
Future work includes:
1717

18-
2. Red Hat OpenShift AI is deployed where a multi-layer perceptron to predict fraud is deployed as a confidential workload for inference
19-
2. Enirnonments which will work sucessfully across multiple cloud providers
18+
1. Supporting a multiple cluster deployment
19+
2. Supporting multiple infrastructure providers
20+
3. Supporting a more sophisticated workload such as confidential AI inference with protected GPUs.
2021

2122

2223
## Current constraints and assumptions
23-
- Only currently is known to work with `azure` as the provider of confidential vms via peer-pods
24-
- Only known to work today with everything on one cluster. The work to expand this is in flight
25-
- You must be able to get a lets-encrypt certificate. This means the service credentials in openshift must be able to manipulate the dns zone used by OpenSift.
26-
-
27-
- RHOAI data science cluster must be disabled until required components are deployed.
24+
25+
- Only currently is known to work with `azure` as the provider of confidential vms via peer-pods.
26+
- Only known to work today with everything on one cluster. The work to expand this is in flight.
27+
- If not using ARO you must either provide your own CA signed certs, or use let's encrypt.
2828
- Must be on 4.16.14 or later.
2929

30+
## Major versions
31+
32+
### `2.*`
33+
This is currently the `main` branch for the repository. Version 2.* of the pattern is currently constrained to support:
34+
- (OpenShift Sandboxed Containers Operator) `1.9.*`
35+
- Trustee `0.3.*`
36+
37+
This limits support to OpenShift 4.16 and higher.
38+
39+
The pattern has been tested on Azure for two installation methods:
40+
1. Installing onto an ARO cluster
41+
2. Self managed OpenShift install using the `openshift-install` CLI. **REQUIRES ADDITIONAL CONFIGURATION**
42+
43+
### `1.0.0`
44+
1.0.0 supports OpenShift Sandboxed containers version `1.8.1` along with Trustee version `0.2.0`.
45+
46+
The pattern has been tested on Azure for one installation method:
47+
1. Self managed OpenShift install using the `openshift-install` CLI
48+
49+
3050

3151
## validated pattern flavours
3252
**Today the demo has one flavour**.
3353
A number are planned based on various different hub cluster-groups.
3454
You can change between behaviour by configuring [`global.main.clusterGroupName`](https://validatedpatterns.io/learn/values-files/) key in the `values-global.yaml` file.
3555

3656

37-
3857
`values-simple.yaml`: or the `simple` cluster group is the default for the pattern.
3958
It deploys a hello-openshift application 3 times:
4059
- A standard pod
4160
- A kata container with peer-pods
4261
- A confidential kata-container
4362

44-
`values-ai.yaml`: Is currently a work in progress.
63+
## Setup instructions
4564

4665

66+
### Default single cluster setup with `values-simple.yaml`
4767

48-
## Setup instructions
68+
The instructions here presume you have a cluster. See further down for provisioning instructions for a cluster.
69+
70+
#### Fork and Clone the GitHub repo
71+
1. Following [standard validated patterns workflow](https://validatedpatterns.io/learn/workflow/) fork the repository and clone to your development enviroment which has `podman` and `git`
72+
2. If using a particular version (e.g. `1.0.0`) checkout the correct tag.
4973

50-
### Default single cluster setup with `values-simple.yaml`
5174

5275
#### Configuring required secrets / parameters
5376
The secrets here secure Trustee and the peer-pod vms. Mostly they are for demonstration purposes.
5477
This only has to be done once.
5578

5679
1. Run `sh scripts/gen-secrets.sh`
5780

58-
#### Install on an OCP cluster on azure using Red Hat Demo Platform
81+
#### Configuring let's encrypt.
82+
83+
Trustee requires a trusted CA issued certificate. Let's Encrypt is included for environments without a trusted cert on OpenShift's routes.
84+
85+
If you need a Let's Encrypt certificate to be issued the `letsencrypt` application configuration needs to be changed as below.
86+
```yaml
87+
88+
---
89+
# Default configuration, safe for ARO
90+
letsencrypt:
91+
name: letsencrypt
92+
namespace: letsencrypt
93+
project: hub
94+
path: charts/all/letsencrypt
95+
# Default to 'safe' for ARO
96+
overrides:
97+
- name: letsencrypt.enabled
98+
value: false
99+
---
100+
# Explicitly correct configuration for enabling let's encrypt
101+
letsencrypt:
102+
name: letsencrypt
103+
namespace: letsencrypt
104+
project: hub
105+
path: charts/all/letsencrypt
106+
overrides:
107+
- name: letsencrypt.enabled
108+
value: true
109+
```
110+
111+
This *must* first be pushed before deploying the pattern onto the cluster
112+
113+
#### Installing onto a cluster
114+
Once you configuration is pushed (if required) `./pattern.sh make install` to provision a cluster.
115+
116+
117+
## Cluster setup (if not already setup)
118+
119+
### Single cluster install on an OCP cluster on azure using Red Hat Demo Platform
59120

60121
Red Hat a demo platform. This allows easy access for Red Hat associates and partners to ephemeral cloud resources. The pattern is known to work with this setup.
61122
1. Get the [openshift installer](https://console.redhat.com/openshift/downloads)
@@ -69,12 +130,13 @@ Red Hat a demo platform. This allows easy access for Red Hat associates and part
69130
export SUBSCRIPTION=
70131
export RESOURCEGROUP=
71132
```
133+
1. Ensure Let's encrypt
72134
1. Run the wrapper install script
73135
1. `sh ./rhdp/wrapper.sh`
74136
1. You *should* be done
75137
1. You *may* need to recreate the hello world peer-pods depending on timeouts.
76138

77-
#### Install azure *not* usign Red Hat Demo platform
139+
### Single cluster install on plain old azure *not* using Red Hat Demo Platform
78140
**NOTE: Don't use the default node sizes.. increase the node sizes such as below**
79141

80142

@@ -94,19 +156,12 @@ Red Hat a demo platform. This allows easy access for Red Hat associates and part
94156
2. `openshift-install create cluster --dir=./ocp-install`
95157
3. Once installed:
96158
1. Login to `oc`
97-
2. `./pattern.sh make install
159+
2. Configure Let's Encrypt (if required)
160+
3. `./pattern.sh make install`
98161

99162

100163
### Multi cluster setup
101164
TBD
102165

103-
### Multi-cluster setup with AI
104-
TBD
105-
106-
## Future work
107-
- Support spreading remote attestation and workload to separate clusters.
108-
- Finish AI work.
109-
- Allow use of bare metal infrastructure with Intel TDX or AMD SEV-SMP.
110-
111166

112167

values-simple.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,10 @@ clusterGroup:
9292
namespace: letsencrypt
9393
project: hub
9494
path: charts/all/letsencrypt
95-
# overrides:
96-
# - name: letsencrypt.enabled
97-
# value: false
95+
# Default to 'safe' for ARO
96+
overrides:
97+
- name: letsencrypt.enabled
98+
value: false
9899
hello-openshift:
99100
name: hello-openshift
100101
namespace: hello-openshift

0 commit comments

Comments
 (0)