Skip to content

djdanielsson/rh1-docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

56 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Cloud-Native Ansible Lifecycle Platform - Project Workspace

This is the project workspace containing all repositories and planning documentation for the Cloud-Native Ansible Lifecycle platform.

Organizational Scope

Important: This platform is designed from the perspective of a team or group within a company. Each team would have their own:

  • Set of repositories (playbooks, collections, execution environments, AAP config, release manifests)
  • AAP Organization to manage their automation
  • Release lifecycle and version management

Shared Resources: The cluster-config repository (platform GitOps) and CI/CD pipelines themselves are typically managed centrally by a platform team, while application teams manage their own automation code and releases within their respective AAP organizations.

Quick Links

πŸ“– Core Documents

πŸ› οΈ Developer Resources

πŸ“š Reference

Repository Structure

rh1_ansible_code_lifecycle/              # Project workspace repo (docs + component repos)
β”œβ”€β”€ README.md                            # This file - platform overview
β”œβ”€β”€ docs/                                # All documentation
β”‚   β”œβ”€β”€ PLATFORM-GUIDE.md                # Platform guide and documentation index
β”‚   β”œβ”€β”€ diagrams/                        # Architecture and workflow diagrams
β”‚   β”œβ”€β”€ GIT-WORKFLOW.md                  # Branching, versioning, promotion
β”‚   β”œβ”€β”€ CICD-GUIDE.md                    # CI/CD workflows
β”‚   └── ...                              # 12+ guides
β”‚
β”œβ”€β”€ cluster-config/                      # Git Repo 1: Platform GitOps
β”œβ”€β”€ aap-config-as-code/                  # Git Repo 2: AAP Configuration
β”œβ”€β”€ automation-playbooks/                # Git Repo 3: Ansible Playbooks
β”œβ”€β”€ automation-collection-example/       # Git Repo 4: Ansible Collection
β”œβ”€β”€ automation-ee-example/               # Git Repo 5: Execution Environment
└── automation-release-manifest/         # Git Repo 6: Release Management

The Six Git Repositories

1. cluster-config (Platform GitOps)

2. aap-config-as-code (Application GitOps)

3. automation-playbooks (Ansible Playbooks)

4. automation-collection-example (Ansible Collection)

5. automation-ee-example (Execution Environment)

  • Repository: https://github.com/djdanielsson/rh1-ee.git
  • Purpose: Custom Execution Environment container image
  • Contents: execution-environment.yml, requirements.yml/txt, bindep.txt
  • Built with: ansible-builder
  • Base: registry.redhat.io/ansible-automation-platform-26/ee-minimal-rhel9
  • View README

6. automation-release-manifest (Release Management)

Constitution Compliance

All repositories follow the five articles:

  • βœ… Article I: GitOps First - All configuration in Git
  • βœ… Article II: Separation of Duties - ArgoCD for platform, Tekton for apps
  • βœ… Article III: Atomic Promotion - Release manifests lock versions
  • βœ… Article IV: Production-Grade Quality - Idempotent, tested, documented
  • βœ… Article V: Zero-Trust Security - No secrets in Git

Getting Started

  1. Read the Platform Guide: ./docs/INDEX.md
  2. Understand the Principles: ./.specify/memory/constitution.md
  3. Develop Content: Add roles to automation-collection-example
  4. Configure AAP: Push changes to aap-config-as-code
  5. Promote: Create release manifest and promote to QA/Prod

Development Workflow

For Platform Changes (cluster-config)

cd cluster-config/
# Edit Kubernetes resources
git add .
git commit -m "Description"
git push origin main
# ArgoCD syncs automatically

For AAP Configuration (aap-config-as-code)

cd aap-config-as-code/
# Edit group_vars
git add .
git commit -m "Description"
git push origin main
# Webhook triggers CaC pipeline

For Collection Development (automation-collection-example)

cd automation-collection-example/
# Develop roles
cd roles/run
molecule test
# Create PR, CI runs tests

Key Workflows

Platform Bootstrap

# 1. Install GitOps operator
oc create -f gitops-operator-subscription.yaml

# 2. Bootstrap everything
oc apply -f cluster-config/argocd/root-app.yaml

# That's it! ArgoCD deploys everything

Configuration as Code

# Edit AAP configuration
vi aap-config-as-code/group_vars/aap_dev/job_templates.yml

# Commit and push
git commit -am "Add new job template"
git push

# Webhook triggers pipeline, changes applied automatically

Atomic Promotion

# Create release manifest
cat > automation-release-manifest/releases/26.1.6-0.yaml <<EOF
version: "26.1.6-0"
components:
  aap_configuration: "abc123..."
  execution_environment: "def456..."
  collections: "ghi789..."
EOF

# Tag and push
git tag 26.1.6-0
git push origin 26.1.6-0

# Promotion pipeline deploys to QA

Architecture

  • Platform Loop (ArgoCD): Manages Kubernetes resources
  • Application Loop (Tekton): Manages AAP configuration
  • Atomic Promotion: All components version-locked together
  • Zero Secrets: All secrets in OCP, referenced by name

Success Metrics

  • βœ… Single oc apply bootstraps entire platform
  • βœ… <1min developer inner loop feedback
  • βœ… <5min atomic promotion to QA
  • βœ… Zero secrets in any Git repository
  • βœ… 100% idempotent automation
  • βœ… Complete audit trail via Git

🎯 What Can Be Done Without Infrastructure

The platform is production-ready even without OpenShift or AAP running:

βœ… Develop Content - 4 example roles, custom modules, filters, lookups βœ… Enforce Quality - Pre-commit hooks, CI/CD workflows βœ… Test Everything - Multi-level testing (unit, integration, Molecule, E2E) βœ… Follow Standards - Red Hat CoP aligned, ansible-lint compliant βœ… Ensure Security - Secret detection, vulnerability scanning βœ… Validate Configs - Test playbooks for all repositories βœ… Learn Best Practices - Comprehensive documentation

See Platform Guide for complete documentation.

External Resources

Platform Technologies

Best Practices & Standards

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors