This is the project workspace containing all repositories and planning documentation for the Cloud-Native Ansible Lifecycle platform.
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-configrepository (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.
- Platform Guide - Complete platform overview and development workflow
- Git Workflow - Branching, versioning, and promotion
- Versioning Rationale - Why we use CalVer (pros/cons)
- Ansible Best Practices β Essential reading
- Pre-commit Guide - Quality tools
- Testing Guide - Testing strategies
- Dev Containers Guide - Development environments
- Naming Conventions - Naming standards
- Code Style - Style guide
- CI/CD Guide - GitHub Actions and Tekton pipelines
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
- Repository: https://github.com/djdanielsson/rh1-cluster-config.git
- Purpose: Deploy and manage AAP + Tekton on OpenShift via ArgoCD
- Contents: Kubernetes manifests, operator subscriptions, AAP CRs for 3 environments
- Pattern: ApplicationSet with auto-discovery
- Managed by: ArgoCD (OpenShift GitOps)
- View README
- Repository: https://github.com/djdanielsson/rh1-aap-config-as-code.git
- Purpose: Configure AAP via API using
infra.aap_configurationcollection - Contents: Job templates, projects, inventories, group_vars for dev/qa/prod
- Pattern: dispatch role with wildcard variables
- Managed by: Tekton pipelines
- View README
- Repository: https://github.com/djdanielsson/rh1-automation-playbooks.git
- Purpose: Centralized repository for Ansible playbooks called by AAP Job Templates
- Contents: Playbook files that orchestrate role execution from collections
- Pattern: Role-based playbooks with variable abstraction
- Managed by: Tekton pipelines (via AAP projects)
- View README
- Repository: https://github.com/djdanielsson/rh1-custom-collection.git
- Purpose: Example custom Ansible collection with roles, modules, plugins
- Contents: 4 roles, 2 modules, 4 filters, 2 lookups, Molecule tests
- Created with: ansible-creator
- Testing: Molecule scenarios, ansible-test sanity
- View README
- 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
- Repository: https://github.com/djdanielsson/rh1-release-manifest.git
- Purpose: Version-lock all components for atomic promotion between environments
- Contents: Release manifests (YAML), Tekton pipelines, JSON schema
- Versioning: CalVer YY.M.D-PATCH
- Pipelines: create-release, promote, rollback (all Tekton)
- View README
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
- Read the Platform Guide:
./docs/INDEX.md - Understand the Principles:
./.specify/memory/constitution.md - Develop Content: Add roles to automation-collection-example
- Configure AAP: Push changes to aap-config-as-code
- Promote: Create release manifest and promote to QA/Prod
cd cluster-config/
# Edit Kubernetes resources
git add .
git commit -m "Description"
git push origin main
# ArgoCD syncs automaticallycd aap-config-as-code/
# Edit group_vars
git add .
git commit -m "Description"
git push origin main
# Webhook triggers CaC pipelinecd automation-collection-example/
# Develop roles
cd roles/run
molecule test
# Create PR, CI runs tests# 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# 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# 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- 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
- β
Single
oc applybootstraps 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
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.