Skip to content

Commit 4d28a47

Browse files
committed
move workshop content to docs repo
1 parent 08c4f71 commit 4d28a47

82 files changed

Lines changed: 2411 additions & 4 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

config.yaml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,7 @@ outputFormats:
4848
mediatype: application/json
4949

5050
menus:
51-
main:
52-
- name: Workshop
53-
url: https://play.validatedpatterns.io
54-
weight: 25
51+
main: []
5552
sitemap:
5653
changeFreq: monthly
5754
priority: 0.5

content/workshop/_index.adoc

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: "Validated Patterns Workshop"
3+
menu:
4+
main:
5+
weight: 25
6+
name: Workshop
7+
---
8+
9+
**Reference Architectures with Added Value**
10+
11+
Validated Patterns are an evolution of how you deploy and manage applications in a hybrid cloud. With a pattern, you can automatically deploy a full application stack through a GitOps-based framework. With this framework, you can create business-centric solutions while maintaining a level of Continuous Integration (CI) over your application.
12+
13+
== About the Validated Patterns Workshop
14+
15+
The goal of this workshop is to immerse the participant in foundational knowledge for creating, using and extending a GitOps pattern with the Validated Patterns framework. In this workshop participants will:
16+
17+
- Learn GitOps fundamentals
18+
- Deploy a Validated Pattern
19+
- Extend an existing Validated Pattern
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
menu: workshop
3+
title: Additional Resources
4+
weight: 100
5+
---
6+
7+
include::modules/comm-attributes.adoc[]
8+
9+
= Appendix - Additional Resources
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
menu:
3+
workshop:
4+
parent: Additional Resources
5+
title: Cluster Domains
6+
weight: 102
7+
---
8+
9+
:toc:
10+
include::modules/comm-attributes.adoc[]
11+
12+
= Cluster Domains
13+
14+
== Topic Objectives
15+
16+
[#objectives]
17+
In this topic we will discuss:
18+
19+
* ArgoCD Limitations
20+
* How the framework collects and uses cluster information
21+
22+
[#limitations]
23+
=== Limitations
24+
25+
By default ArgoCD does not expose any means to know the cluster's name/FQDN (Fully Qualified Domain Name)
26+
27+
To make up for this the framework collects some cluster information in order to provide reusable parameters for cluster specific values.
28+
29+
[#variables]
30+
=== Domain variables set by the pattern
31+
32+
|===
33+
|**Variable**|**Purpose**|**Example (if applicable)**
34+
| `global.clusterDomain`
35+
| Domain of the cluster the application is running on without the `.apps` subdomain
36+
|`mcg-hub.aws.validatedpatterns.io`
37+
|`global.hubClusterDomain`
38+
| The domain of the hub cluster **with the apps** subdomain - same as `localClusterDomain` on the hub.
39+
| `apps.mcg-hub.aws.validatedpatterns.io`
40+
| `global.localClusterDomain`
41+
| The domain of the cluster the application is running on - **with the apps** subdomain
42+
| `apps.mcg-hub.aws.validatedpatterns.io`
43+
| `global.clusterPlatform`
44+
| Name of the platform
45+
| `aws`, `azure`, `gcp`
46+
| `global.clusterVersion`
47+
| OpenShift Cluster Version
48+
| `4.16`
49+
50+
|===
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
menu: workshop
3+
title: Validated Patterns
4+
weight: 50
5+
---
6+
7+
:toc:
8+
include::modules/comm-attributes.adoc[]
9+
:imagesdir: /images/workshop
10+
11+
= Consuming Validated Patterns
12+
13+
== Topic Objectives
14+
15+
[#objectives]
16+
In this topic we will discuss:
17+
18+
* Validated Pattern Deployment workflow
19+
* Describing a pattern
20+
* Using the patterns operator
21+
** And the patterns.sh script
22+
* Preparing your environment
23+
* Understand our base pattern
24+
* To fork or not to fork
25+
26+
== Validated Pattern workflow
27+
[#workflow]
28+
29+
Let's dive into what happens when we deploy a pattern! Take a look at the following graphic to see what is deployed on the `hub` clusterGroup cluster.
30+
31+
image::consuming-vpWorkflow-hub.png[Hub Cluster]
32+
33+
1. The patterns operator deploys an instance of {rh-gitops} and creates the initial application
34+
2. ArgoCD then deploys the operators, namespaces, projects and applications defined in the values files
35+
3. If deploying across multiple clusters, the framework uses {rhacm} policies to create the instance of {rh-gitops} on the remote cluster
36+
37+
NOTE: `values-hub.yaml` is the primary values file for the `hub` cluster
38+
39+
image::consuming-vpWorkflow-managedCluster.png[Managed Cluster]
40+
41+
1. When a managed cluster is joined to {rhacm} it needs to have a clusterGroup label applied to it for the correct policies and applications to be deployed.
42+
2. {rhacm} will confirm the cluster is managed then deploy a rhacm agent
43+
3. A placement policy is then deployed to the managed cluster which installs an instances of {rh-gitops}
44+
4. The managed cluster's instance of ArgoCD will then deploy the resources declared in `values-clustergroup.yaml`
45+
46+
IMPORTANT: Deploying the pattern through the OpenShift Console or via `pattern.sh` will deploy the patterns operator.
47+
48+
=== Element Layering
49+
[#layering]
50+
51+
The base component of every Validated Pattern is `common` - which is a link:https://github.com/validatedpatterns/common[Github Repo]
52+
53+
image::consuming-common.png[common]
54+
55+
Without further configuration, common is actually quite boring. So let's add another layer!
56+
57+
Your specific industry or use-case is layered into the framework and utilizes the underlying common. In this example the solution includes a bespoke application, cloud-native cluster storage, {rhacs}, and an enterprise container registry. The framework will deploy and configure these components through Helm charts, kustomize manifests or Ansible if necessary.
58+
59+
image::consuming-common-solution-layering.png[]
60+
61+
What if we wanted to swap these products out with a similar or like-in-kind solution? The workflow remains the same:
62+
63+
- remove the undesired application declaration
64+
- declare the new application in your values file
65+
- declare where the helm charts reside (path, repo)
66+
67+
The following graphic illustrates swapping components in the framework:
68+
69+
image::consuming-common-solution-layering-modular.png[]
70+
71+
[#multiArgos]
72+
== Multiple ArgoCDs
73+
74+
You may be asking yourself ...
75+
76+
image::consuming-multipleArgos.png[]

0 commit comments

Comments
 (0)