Skip to content

Commit d73467b

Browse files
authored
Merge pull request #539 from kquinn1204/TELCODOCS-2157
TELCODOCS-2157 Catching up with changes to common
2 parents c8d966a + bcd4edc commit d73467b

File tree

2 files changed

+81
-106
lines changed

2 files changed

+81
-106
lines changed

content/learn/keyconcepts.adoc

+9
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,15 @@ sample/
4747
deployments.
4848
<3> The `values.yaml` file contains default values for the chart.
4949

50+
Helm charts for cluster management, deployment utilities, and security and certificate management are stored in separate repositories under the link:https://github.com/validatedpatterns[Validated Patterns GitHub organization]. The specific Helm chart repositories include:
51+
52+
* link:https://github.com/validatedpatterns/clustergroup-chart[clustergroup-chart]
53+
* link:https://github.com/validatedpatterns/pattern-install-chart[pattern-install-chart]
54+
* link:https://github.com/validatedpatterns/hashicorp-vault-chart[hashicorp-vault-chart]
55+
* link:https://github.com/validatedpatterns/golang-external-secrets-chart[golang-external-secrets-chart]
56+
* link:https://github.com/validatedpatterns/acm-chart[acm-chart]
57+
* link:https://github.com/validatedpatterns/letsencrypt-chart[letsencrypt-chart]
58+
5059
[id="about-helm-argocd"]
5160
== ArgoCD and Helm Integration
5261

content/learn/vp_openshift_framework.adoc

+72-106
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ include::modules/comm-attributes.adoc[]
1414

1515
== OpenShift framework fundamentals
1616

17-
The OpenShift validated patterns framework uses https://docs.openshift.com/container-platform/latest/cicd/gitops/understanding-openshift-gitops.html[OpenShift GitOps] (ArgoCD) as the primary driver for deploying patterns and keeping them up to date. Validated patterns use Helm charts as the primary artifacts for GitOps. https://helm.sh/[Helm charts] provide a mechanism for templating that is powerful when building repeatable, automated deployments across different deployment environments (i.e. clouds, data-centers, edge, etc.)
17+
The OpenShift validated patterns framework uses https://docs.openshift.com/container-platform/latest/cicd/gitops/understanding-openshift-gitops.html[OpenShift GitOps] (ArgoCD) as the primary driver for deploying patterns and keeping them up to date. Validated patterns use Helm charts as the primary artifacts for GitOps. https://helm.sh/[Helm charts] offer a powerful templating mechanism for creating repeatable, automated deployments across various environments, including clouds, data centers, and edge locations.
1818

1919
The framework provides consistency across any cloud provider - public or private. So while you could automate the handling for each of the cloud providers, the framework utilizes one Kubernetes distribution that runs on public or private clouds - the hybrid and/or multi cloud model.
2020

@@ -37,43 +37,38 @@ The Multicloud GitOps approach enables centralized management of multiple cloud
3737
~/g/multicloud-gitops on main ◦ tree -L 2
3838
.
3939
├── ansible
40+
│   └── site.yaml
4041
├── ansible.cfg
4142
├── charts
42-
── all
43-
└── region
43+
   ├── all
44+
   └── region
4445
├── common
45-
│ ├── acm
46-
| ├── ansible
47-
| ├── Changes.md
48-
│ ├── clustergroup
49-
│ ├── common -> .
50-
│ ├── examples
51-
│ ├── golang-external-secrets
52-
│ ├── hashicorp-vault
53-
│ ├── letsencrypt
54-
| ├── LICENSE
55-
| ├── Makefile
56-
| ├── operator-install
57-
| ├── README.md
58-
│ ├── reference-output.yaml
59-
│ ├── scripts
60-
│ ├── tests
61-
│ └── values-global.yaml
46+
│   ├── ansible
47+
│   ├── Changes.md
48+
│   ├── LICENSE
49+
│   ├── Makefile
50+
│   ├── README.md
51+
│   ├── requirements.yml
52+
│   └── scripts
6253
├── LICENSE
6354
├── Makefile
6455
├── overrides
65-
│ ├── values-AWS.yaml
66-
│ └── values-IBMCloud.yaml
56+
│   ├── values-AWS.yaml
57+
│   └── values-IBMCloud.yaml
58+
├── pattern-metadata.yaml
6759
├── pattern.sh -> ./common/scripts/pattern-util.sh
6860
├── README.md
6961
├── tests
62+
│   └── interop
7063
├── values-global.yaml
71-
├── values-global-one.yaml
64+
├── values-group-one.yaml
7265
├── values-hub.yaml
7366
├── values-secret-multicloud-gitops.yaml
74-
└── values-secret.yaml.template
67+
├── values-secret.yaml.template
68+
└── values-standalone.yaml
69+
7570
76-
20 directories, 77 files
71+
11 directories, 20 files
7772
----
7873

7974
First we notice some subdirectories: charts and common, along with `values-` yaml files.
@@ -85,87 +80,54 @@ First we notice some subdirectories: charts and common, along with `values-` yam
8580
~/g/industrial-edge on stable-2.0 ◦ tree -L 2
8681
.
8782
├── ansible
83+
│   ├── files
84+
│   ├── playbooks
85+
│   └── site.yaml
8886
├── ansible.cfg
8987
├── Changes.md
9088
├── charts
91-
│ ├── datacenter
92-
│ └─ factory
93-
| └── secrets
89+
│   ├── datacenter
90+
│   └── factory
9491
├── common
95-
│ ├── acm
96-
| ├── ansible
97-
| ├── Changes.md
98-
│ ├── clustergroup
99-
│ ├── common -> .
100-
│ ├── examples
101-
│ ├── golang-external-secrets
102-
│ ├── hashicorp-vault
103-
│ ├── letsencrypt
104-
| ├── LICENSE
105-
| ├── Makefile
106-
| ├── operator-install
107-
│ ├── scripts
108-
│ ├── tests
109-
│ └── values-global.yaml
92+
│   ├── Changes.md
93+
│   ├── LICENSE
94+
│   ├── Makefile
95+
│   ├── README.md
96+
│   ├── requirements.yml
97+
│   └── scripts
11098
├── docs
111-
│ ├── images
112-
│ └── old-deployment-map.txt
113-
├── images
114-
│ ├── import-cluster.png
115-
│ ├── import-with-kubeconfig.png
116-
│ └── launch-acm-console.png
99+
│   ├── images
100+
│   └── old-deployment-map.txt
117101
├── LICENSE
118102
├── Makefile
119103
├── overrides
120-
| ├── values-prod-imagedata.yaml
121-
│ └── values-test-imagedata.yaml
104+
│   ├── values-prod-imagedata.yaml
105+
│   └── values-test-imagedata.yaml
106+
├── pattern-metadata.yaml
107+
├── pattern.sh -> ./common/scripts/pattern-util.sh
122108
├── README.md
123-
|── pattern.sh -> ./common/scripts/pattern-util.sh
124109
├── scripts
125-
│ ├── secret.sh
126-
│ └── sleep-seed.sh
110+
│   └── check-pipeline-resources.sh
127111
├── SUPPORT_AGREEMENT.md
128112
├── tests
113+
│   └── interop
114+
├── values-AWS.yaml
115+
├── values-Azure.yaml
129116
├── values-datacenter.yaml
130117
├── values-factory.yaml
118+
├── values-GCP.yaml
131119
├── values-global.yaml
132120
├── values-hub.yaml -> values-datacenter.yaml
133121
└── values-secret.yaml.template
134122
135-
25 directories, 98 files
123+
15 directories, 26 files
136124
----
137125

138126
We see the same or similar files in the both patterns directories.
139127

140128
== The `common` directory
141129

142-
The core components that make the Validated Patterns framework are contained in the common repository. These include:
143-
144-
* OpenShift GitOps configuration
145-
* Supports our clusterGroup and GitOps policies
146-
* Validated Pattern framework build scripts and Makefiles
147-
* Secrets Management with HashiCorp Vault
148-
* Operator CRDs and other assets
149-
* Various utility scripts
150-
151-
The common repository contains all the shared manifests for the Validated Patterns Framework. These components are configured to work together within the GitOps framework. Instead of duplicating configurations across patterns, shared technologies are centralized in this common directory. Pattern-specific post-deployment configurations, if needed, should be added to the Helm charts in the charts directory. Typically, you won't need to modify the common directory unless working on the framework itself.
152-
153-
=== Breakdown of common repository
154-
155-
This table details the key components of the common repository:
156-
157-
[cols="2,2", options="header"]
158-
|===
159-
| Component | Description
160-
161-
| acm | Contains the helm charts which contains policies and is used to configure the deployment of the Advance Cluster Manager.
162-
| ansible | This directory contains the ansible roles and modules that support the secrets management for a pattern.
163-
| clustergroup | Contains the helm chart used to create namespace, subscriptions, projects, and applications described in the values files. This is the seed for all patterns.
164-
| golang-external-secrets | Helm chart for External Secrets Operator that integrates external secret management systems like AWS Secrets Manager, HashiCorp Vault, Google Secrets Manager, Azure Key Vault, IBM Cloud Secrets Manager, Akeyless.
165-
| hashicorp-vault | Contains the helm chart for HashiCorp Vault.
166-
|operator-install | Contains the helm chart used by the Validated Patterns Operator to create the openshift-gitops component and create the initial ArgoCD applications for the Validated Pattern.
167-
| scripts | Directory which contains utility scripts used by the Validated Pattern Framework.
168-
|===
130+
Common is a collection of scripts to start the initial deployment of a pattern using the command line interface. The Makefile contains targets for deploying the pattern. The `Makefile` is the primary entry point for deploying a pattern. To maintain modularity, version control, and independent management, cluster management, deployment utilities, and security and certificate helm charts are stored in separate repositories under the link:https://github.com/validatedpatterns[Validated Patterns GitHub organization]. Ansible automation or utilities are in the link:https://github.com/validatedpatterns/rhvp.cluster_utils[rhvp.cluster_utils].
169131

170132
== The `charts` directory
171133

@@ -184,43 +146,46 @@ _Application charts_ are a collection of templates that can be packaged into ver
184146
_Library charts_ provide useful utilities or functions for the chart developer. They're included as a dependency of application charts to inject those utilities and functions into the rendering
185147
pipeline. Library charts do not define any templates and therefore cannot be deployed.
186148

187-
These groupings are used by OpenShift GitOps to deploy into the cluster. The configurations for each of the components inside an application are synced every three minutes by OpenShift GitOps to make sure that the site is up to date. The configuration can also be synced manually if you do not wish to wait up to three minutes.
149+
These groupings are used by OpenShift GitOps to deploy into the cluster. The configurations for each of the components inside an application are synced every three minutes by OpenShift GitOps to make sure that the site is up to date. The configuration can also be synced manually if you do not want to wait up to three minutes. For example for industrial-edge the charts directory looks like this:
188150

189151
[source,text]
190152
----
191153
.
192154
├── datacenter
193-
│ ├── external-secrets
194-
│ ├── manuela-data-lake
195-
│ ├── manuela-tst
196-
│ ├── opendatahub
197-
│ └── pipelines
198-
├── factory
199-
│ └── manuela-stormshift
200-
└── secrets
201-
└── pipeline-setup
155+
│   ├── data-science-cluster
156+
│   ├── data-science-project
157+
│   ├── manuela-data-lake
158+
│   ├── manuela-tst
159+
│   └── pipelines
160+
└── factory
161+
└── manuela-stormshift
202162
----
203163
The configuration YAML for each component of the application is stored in the templates subdirectory.
204164

205165
[source,text]
206166
----
207167
.
208-
├── external-secrets
209-
│ ├── Chart.yaml
210-
│ ├── templates
211-
│ └── values.yaml
168+
├── data-science-cluster
169+
│   ├── Chart.yaml
170+
│   ├── kustomization.yaml
171+
│   ├── templates
172+
│   └── values.yaml
173+
├── data-science-project
174+
│   ├── Chart.yaml
175+
│   ├── kustomization.yaml
176+
│   ├── templates
177+
│   └── values.yaml
212178
├── manuela-data-lake
213-
│ ├── Chart.yaml
214-
│ ├── templates
215-
│ └── values.yaml
179+
│   ├── Chart.yaml
180+
│   ├── Kafka2S3Route.java
181+
│   ├── templates
182+
│   └── values.yaml
216183
├── manuela-tst
217-
│ ├── Chart.yaml
218-
│ ├── templates
219-
│ └── values.yaml
220-
├── opendatahub
221-
│ ├── Chart.yaml
222-
│ ├── templates
223-
│ └── values.yaml
184+
│   ├── Chart.yaml
185+
│   ├── Kafka2S3Route.java
186+
│   ├── MQTT2KafkaRoute.java
187+
│   ├── templates
188+
│   └── values.yaml
224189
└── pipelines
225190
├── Chart.yaml
226191
├── extra
@@ -229,6 +194,7 @@ The configuration YAML for each component of the application is stored in the te
229194
├── templates
230195
└── values.yaml
231196
----
197+
232198
== The `scripts` directory
233199

234200
In some cases, an Operator or Helm chart may require additional configuration. When extra code is needed for deployment, it should be placed in the scripts directory. Typically, consumers of a validated pattern won't interact directly with these scripts, as they are executed by the existing automation (for example through the Makefile or OpenShift GitOps). If extra adjustments are required for your application, place the scripts here and run them through automation. The scripts directory should generally be treated as off-limits unless you're modifying the framework itself.

0 commit comments

Comments
 (0)