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

Experimental #371

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
118 changes: 118 additions & 0 deletions .asciidoctorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
:icons:
:experimental:

//:toc: macro
//:toc-title:
:imagesdir: /static/images
:includedir: /modules
:prewrap!:
//Solution name
:rh-solution-name: Validated Patterns
:solution-name-upstream: Hybrid Cloud Patterns
//:solution-version: Update later when we start using versioned releases
//Patterns
:aeg-pattern: Ansible Edge GitOps pattern
:aeg: Ansible Edge GitOps
:ie-pattern: Industrial Edge pattern
:ie: Industrial Edge
:mcg-pattern: Multicloud GitOps pattern
:mcg: multicloud GitOps
:med-pattern: Medical Diagnosis pattern
:med: medical diagnosis
:multi-devsec-pattern: Multi-cluster DevSecOps pattern
:multi-devsec: multi-cluster DevSecOps
//Operators
:validated-patterns-op: Validated Patterns Operator
:grafana-op: Grafana Operator
:eso-op: External Secrets Operator
//OpenShift
:rh-ocp: Red Hat OpenShift Container Platform
:ocp: OpenShift Container Platform
:ocp-version: 4.12
:ocp-registry: OpenShift image registry
//Single node and 3-node OpenShift
:sno: single-node OpenShift
:sno-first: Single-node OpenShift
:3no: three-node OpenShift
:3no-first: Three-node OpenShift
//OpenShift Platform Plus
:rh-opp: Red Hat OpenShift Platform Plus
:opp: OpenShift Platform Plus
//openshift virtualization (cnv)
:VirtProductName: OpenShift Virtualization
//Ansible:
:rh-ansible: Red Hat Ansible Automation Platform
:ansible: Ansible Automation Platform
//GitOps
:rh-gitops: Red Hat OpenShift GitOps
:rh-gitops-short: OpenShift GitOps
//CoreOS
:op-system-first: Red Hat Enterprise Linux CoreOS (RHCOS)
:op-system-short: RHCOS
:op-system-lowercase: rhcos
//RHEL
:rhel-first: Red Hat Enterprise Linux (RHEL)
:rhel-short: RHEL
//:op-system-version: 8.x
//Console icons
:rh-app-icon: image:red-hat-applications-menu-icon.jpg[title="Red Hat applications"]
:kebab: image:kebab.png[title="Options menu"]
:rh-openstack-first: Red Hat OpenStack Platform (RHOSP)
:openstack-short: RHOSP
//Assisted Installer
:ai-full: Assisted Installer
:ai-version: 2.3
//Cluster Manager
:cluster-manager-first: Red Hat OpenShift Cluster Manager
:cluster-manager: OpenShift Cluster Manager
:cluster-manager-url: link:https://console.redhat.com/openshift[OpenShift Cluster Manager Hybrid Cloud Console]
:cluster-manager-url-pull: link:https://console.redhat.com/openshift/install/pull-secret[pull secret from the Red Hat OpenShift Cluster Manager]
:insights-advisor-url: link:https://console.redhat.com/openshift/insights/advisor/[Insights Advisor]
:hybrid-console-first: Red Hat Hybrid Cloud Console
:hybrid-console: Hybrid Cloud Console
//ACM
:rh-rhacm-first: Red Hat Advanced Cluster Management (RHACM)
:rh-rhacm: RHACM
//:rh-rhacm-version: 2.5
//ACS
:rh-acs-first: Red Hat Advanced Cluster Security for Kubernetes

:cert-manager-operator: cert-manager Operator for Red Hat OpenShift
:secondary-scheduler-operator-full: Secondary Scheduler Operator for Red Hat OpenShift
:secondary-scheduler-operator: Secondary Scheduler Operator
:rh-virtualization-first: Red Hat Virtualization (RHV)
:rh-virtualization: RHV
:rh-virtualization-engine-name: Manager
//gitops
:gitops-title: Red Hat OpenShift GitOps
:gitops-shortname: GitOps
:gitops-ver: 1.1
//pipelines
:rh-pipelines-first: Red Hat OpenShift Pipelines
:pipelines-short: OpenShift Pipelines
:pipelines-ver: pipelines-1.9
:tekton-chains: Tekton Chains
:tekton-hub: Tekton Hub
:pac: Pipelines as Code
//AMQ
:rh-amq-first: Red Hat AMQ
:rh-amq-short: RHAMQ
//Runtimes
:rh-runtime: Red Hat Runtimes
//Data foundation
:rh-ocp-data-first: Red Hat OpenShift Data Foundation
:rh-ocp-data-short: OpenShift Data Foundation
//Serverless
:rh-serverless-first: Red Hat OpenShift Serverless
:serverless-short: OpenShift Serverless
:ServerlessOperatorName: OpenShift Serverless Operator
:FunctionsProductName: OpenShift Serverless Functions
//Quay
:rh-quay: Red Hat Quay
:quay-short: Quay
// Red Hat Quay Container Security Operator
:rhq-cso: Red Hat Quay Container Security Operator
//Cloud platforms
:AWS: Amazon Web Services (AWS)
:GCP: Google Cloud Platform (GCP)
:Azure: Microsoft Azure
33 changes: 0 additions & 33 deletions .github/workflows/htmltest.yml

This file was deleted.

13 changes: 13 additions & 0 deletions .github/workflows/internal-links-action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Check internal links
on: push
jobs:
check_html_links_job:
name: A job to test only internal links
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: check-html-links-action step
id: check-links
uses: modernweb-dev/check-html-links-action@v1
with:
doc-folder: public/
2 changes: 1 addition & 1 deletion .github/workflows/preview-message.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ jobs:
This is an automated message:

You can preview this docs PR at http://${{ github.event.number }}.docs-pr.validatedpatterns.io
Note that they get generated every five minutes, so please wait a bit.
Note that the preview gets generated every five minutes, so please wait a bit.
repo-token: ${{ secrets.DOCS_PR_TOKEN }}
18 changes: 18 additions & 0 deletions .github/workflows/vale-action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Lint with Vale
on: [pull_request]

jobs:
vale:
name: Vale linter
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: errata-ai/vale-action@reviewdog
with:
filter_mode: added
vale_flags: "--no-exit --minAlertLevel=error --glob=*.adoc"
reporter: github-pr-review
fail_on_error: false
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
REVIEWDOG_GITHUB_API_TOKEN: ${{secrets.GITHUB_TOKEN}}
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ tmp/
Gemfile.lock
.vscode
.idea
.vale
modules/.vale.ini
.vale.ini
.vale/styles/AsciiDoc
.vale/styles/RedHat
.htmltest.yml
.github/workflows/htmltest.yml
23 changes: 23 additions & 0 deletions .vale.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
StylesPath = .vale/styles

MinAlertLevel = suggestion

Packages = RedHat, AsciiDoc

Vocab = ValidatedPatternsDocs

#IgnoredScopes = code, tt, img, url, a, body.id

#SkippedScopes = script, style, pre, figure, code, tt, blockquote, listingblock, literalblock

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

# Use local ValidatedPatternsDocs Vocab terms
Vale.Terms = YES
Vale.Avoid = YES

# Disabling rules (NO)
RedHat.ReleaseNotes = NO

20 changes: 20 additions & 0 deletions .vale/styles/Vocab/ValidatedPatternsDocs/accept.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Regex terms added to accept.txt are ignored by the Vale linter and override RedHat Vale rules.
# Add terms that have a corresponding incorrectly capitalized form to reject.txt.

[Ff]ronthaul
[Mm]idhaul
[Pp]assthrough
[Rr]ealtime
Assisted Installer
Control Plane Machine Set Operator
custom resource
custom resources
Mbps
MetalLB
Operator
Operators
[Pp]reinstall
[Pp]ostinstall
NICs?
Mellanox
VFs?
15 changes: 15 additions & 0 deletions .vale/styles/Vocab/ValidatedPatternsDocs/reject.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Regex terms added to reject.txt are highlighted as errors by the Vale linter and override RedHat Vale rules.
# Add terms that have a corresponding correctly capitalized form to accept.txt.

[Dd]eployment [Cc]onfigs?
[Dd]eployment [Cc]onfigurations?
[Oo]peratorize
[Ss]ingle [Nn]ode OpenShift
[Tt]hree [Nn]ode OpenShift
AI
configuration maps?
MachineSets
machinesets?
minions?
operators?
SNO
6 changes: 6 additions & 0 deletions CODEOWNERS.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Set the @validatedpatterns/docs team to own the entire repo
# we need this so that we can request and require PR reviews before merging.
* @validatedpatterns/docs

# Additional (more granular) ownership rules:

18 changes: 17 additions & 1 deletion config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ params:
security:
exec:
allow: ["^dart-sass-embedded$", "^go$", "^npx$", "^postcss$", "^asciidoctor$"]
osEnv: (?i)^(GEM_PATH)$
osEnv: (?i)^(GEM_PATH|PATH|PATHEXT|APPDATA|TMP|TEMP|TERM|RUBYLIB)$
funcs:
getenv:
- ^HUGO_

markup:
asciidocExt:
Expand All @@ -28,3 +31,16 @@ taxonomies:
industry: 'industries'
product: 'products'
blog_tag: 'blog_tags'

module:
mounts:
- source: archetypes
target: archetypes
- source: content
target: content
- source: static
target: static
- source: layouts
target: layouts
- source: modules
target: content
3 changes: 2 additions & 1 deletion content/contribute/creating-a-pattern.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ aliases: /creating-a-pattern/
:toc:
:imagesdir: /images
:_content-type: ASSEMBLY

include::modules/comm-attributes.adoc[]

The validated patterns community has relied on existing architectures that have been successfully deployed in an enterprise. The architecture itself is a best practice in assembling technologies and projects to provide a working solution. How that solution is deployed and managed is a different matter. It may have evolved over time and may have grown in its deployment such that ongoing maintenance is not sustainable.
The validated patterns community has relied on existing architectures that have been successfully deployed in an enterprise. The architecture itself is a best practice in assembling technologies and projects to provide a working solution. How that solution is deployed and managed is a different matter. It might have evolved over time and may have grown in its deployment such that ongoing maintenance is not sustainable.

The validated patterns framework is much more of a best practice of structuring the various configuration assets and integrating with GitOps and DevOps tools.

Expand Down
10 changes: 5 additions & 5 deletions modules/mcg-about-multicloud-gitops.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -45,19 +45,19 @@ image::multicloud-gitops/logical-diagram.png[Logical Architecture]

The following technologies are used in this solution:

https://www.redhat.com/en/technologies/cloud-computing/openshift/try-it[Red Hat OpenShift Platform]::
https://www.redhat.com/en/technologies/cloud-computing/openshift/try-it[{rh-ocp}]::
An enterprise-ready Kubernetes container platform built for an open hybrid cloud strategy. It provides a consistent application platform to manage hybrid cloud, public cloud, and edge deployments. It delivers a complete application platform for both traditional and cloud-native applications, allowing them to run anywhere. OpenShift has a pre-configured, pre-installed, and self-updating monitoring stack that provides monitoring for core platform components. It also enables the use of external secret management systems, for example, HashiCorp Vault in this case, to securely add secrets into the OpenShift platform.

https://www.redhat.com/en/technologies/cloud-computing/openshift/try-it[Red Hat OpenShift GitOps]::
https://www.redhat.com/en/technologies/cloud-computing/openshift/try-it[{rh-gitops}]::
A declarative application continuous delivery tool for Kubernetes based on the ArgoCD project. Application definitions, configurations, and environments are declarative and version controlled in Git. It can automatically push the desired application state into a cluster, quickly find out if the application state is in sync with the desired state, and manage applications in multi-cluster environments.

https://www.redhat.com/en/technologies/management/advanced-cluster-management[Red Hat Advanced Cluster Management for Kubernetes]::
https://www.redhat.com/en/technologies/management/advanced-cluster-management[{rh-rhacm-first}]::
Controls clusters and applications from a single console, with built-in security policies. Extends the value of Red Hat OpenShift by deploying apps, managing multiple clusters, and enforcing policies across multiple clusters at scale.

https://www.redhat.com/en/technologies/management/ansible[Red Hat Ansible Automation Platform]::
https://www.redhat.com/en/technologies/management/ansible[{rh-ansible}]::
Provides an enterprise framework for building and operating IT automation at scale across hybrid clouds including edge deployments. It enables users across an organization to create, share, and manage automation, from development and operations to security and network teams.

Hashicorp Vault::
{hashicorp-vault}::
Provides a secure centralized store for dynamic infrastructure and applications across clusters, including over low-trust networks between clouds and data centers.

This solution also uses a variety of _observability tools_ including the Prometheus monitoring and Grafana dashboard that are integrated with OpenShift as well as components of the Observatorium meta-project which includes Thanos and the Loki API.
12 changes: 12 additions & 0 deletions modules/vale.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
StylesPath = ../.vale/styles

MinAlertLevel = suggestion

Vocab = ValidatedPatternsDocs

[[!.]*.adoc]
BasedOnStyles = AsciiDoc, RedHat

# Use local ValidatedPatternsDocs Vocab terms
Vale.Terms = YES
Vale.Avoid = YES