Managed OpenShift Black Belts - ReUsable Library for Expert Systems
A comprehensive knowledge base of best practices, standards, and guidelines for infrastructure and platform engineering. This repository serves as both a source of truth for AI coding agents and browsable documentation for engineers.
MOBB RULES captures the expertise of Red Hat's Managed OpenShift Black Belts (MOBB)—experts specializing in managed OpenShift platforms (ROSA, ARO, OSD). It provides:
- Best practices for cloud providers (AWS, Azure, GCP)
- Platform-specific standards for OpenShift deployments
- Language guidelines for Terraform, Ansible, and Bash
- Security and governance rules
- Testing and documentation standards
Browse the Documentation:
- Visit the published Hugo site (when deployed)
- Or run locally:
make previewand open http://localhost:1313
Find Rules:
- Navigate by category: Clouds → Platforms → Languages → Tools
- Use Hugo's built-in search (if enabled)
- Read Markdown files directly in
content/directory
Read the Knowledge Base:
- Traverse the
content/directory structure - Read raw Markdown files (ignore YAML frontmatter)
- Apply rules hierarchically (platform inherits cloud, cloud inherits language)
- See README_AGENTS.md for detailed instructions
Create Project-Specific Rules:
- Read MOBB RULES from this repository
- Analyze your project's stack and requirements
- Compile relevant rules into a project-specific
AGENTS.md - Create a
.cursorrulesfile referencing yourAGENTS.md
See README_AGENTS.md for complete instructions on creating customized best practices.
.
├── content/ # All rules and best practices live here
│ ├── _index.md # Homepage - project overview and philosophy
│ ├── global/ # Global best practices (testing, docs, CI/CD, etc.)
│ ├── clouds/ # Cloud provider rules (AWS, Azure, GCP)
│ ├── platforms/ # Platform rules (ROSA, ARO, OSD, OpenShift)
│ ├── languages/ # Language standards (Terraform, Ansible, Bash)
│ └── tools/ # Tool standards (Hugo)
├── layouts/ # Custom Hugo layouts
├── themes/rhds/ # Red Hat Design System theme
├── config.toml # Hugo configuration
├── Makefile # Build and preview commands
├── AGENTS.md # Project-specific best practices
├── README_AGENTS.md # Instructions for AI agents
├── DESIGN.md # Project design and architecture
└── README.md # This file
Rules follow a hierarchical inheritance model:
- Platform-specific rules (highest priority, most specific)
- Example: ROSA rules inherit from OpenShift + AWS
- OpenShift general practices (middle layer)
- Applies to all OpenShift platforms
- Cloud-specific rules (foundation layer)
- AWS, Azure, or GCP standards
- Language-specific rules (base layer)
- Terraform, Ansible, Bash standards
- Global best practices (foundational)
- Testing, documentation, CI/CD, Git, Makefile patterns
Example: When working on a ROSA project with Terraform:
- Read
content/global/_index.md(global best practices - testing, documentation, CI/CD, etc.) - Read
content/platforms/rosa/_index.md(includes ROSA-specific rules) - Also read
content/platforms/openshift/_index.md(general OpenShift practices) - Also read
content/clouds/aws/_index.md(AWS standards) - Also read
content/languages/terraform/_index.md(Terraform best practices)
Example: When working on a Hugo site:
- Read
content/tools/hugo/_index.md(Hugo best practices)
Rules should be applied with consideration for the project's purpose:
- Examples/Demos: Prioritize usability and learning; security can be relaxed but documented
- Development: Balance security with developer productivity
- Staging: Apply production-like standards with some flexibility
- Production: Enforce all security best practices strictly
See the Philosophy section for more details.
- Hugo (extended version recommended)
- Make (optional, for using Makefile)
Preview the site:
make preview
# or
hugo server -D --bind 0.0.0.0Then open http://localhost:1313 in your browser.
Build for production:
make build
# or
hugo --minify --gc --environment productionClean generated files:
make cleanValidate configuration:
make checkmake previewormake server- Launch Hugo preview servermake build- Build the Hugo site for productionmake clean- Remove generated files (public/,resources/)make check- Validate Hugo configurationmake help- Show all available targets
Note: Hugo doesn't include built-in link checking. To check for broken links, use external tools like htmltest, lychee, or linkchecker after building the site.
- Edit Markdown files in the
content/directory - Follow existing structure and naming conventions
- Document inheritance - If your section inherits from another, explicitly state it
- Test locally - Run
make previewto verify changes render correctly - Submit a PR - Include a clear description of changes
- Use Markdown with YAML frontmatter (see
archetypes/default.mdfor template) - Be specific - Include examples and rationale for rules
- Document inheritance - Clearly state what rules you inherit from
- Keep it maintainable - Follow WET over DRY philosophy (duplication is okay for clarity)
- Section roots: Use
_index.mdfor section landing pages - Naming: Use lowercase with hyphens for directories (
osd-aws/, notosd_aws/) - Structure: Group related rules together logically
- Create
content/clouds/newcloud/_index.md - Follow the structure of existing cloud files (see
content/clouds/aws/_index.md) - Include sections: Style & Naming, Security & Governance, Testing
- Update
content/clouds/_index.mdto reference the new section
- README_AGENTS.md - Instructions for AI agents on using this knowledge base
- AGENTS.md - Project-specific best practices (this project's compiled rules)
- DESIGN.md - Project design, architecture, and design decisions
- content/_index.md - Global manifesto and philosophy
- .cursorrules - Cursor IDE agent instructions
MOBB RULES follows three core principles:
- Simplicity over Complexity - Favor straightforward, maintainable solutions
- WET over DRY - Write Everything Twice before abstracting; duplication improves clarity
- Context-Aware Application - Apply rules based on project purpose and environment
See the manifesto for details.
The site is automatically deployed to GitHub Pages via GitHub Actions when changes are pushed to the main branch. See .github/workflows/gh-pages.yaml for the deployment configuration.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE file for the full license text.
For questions or issues:
- Open an issue in this repository
- Contact the MOBB team
- Review DESIGN.md for architectural questions
Remember: This knowledge base is a living document. Rules evolve as best practices are refined. Always check the latest content for the most current standards.