ProxShift

OpenShift clusters on Proxmox made simple


Project maintained by randyoyarzabal Hosted on GitHub Pages — Theme by mattgraham

ProxShift Collection Refactoring - September 21, 2025

Final Migration Completed ✓

Successfully refactored from single monolithic collection to three focused collections with zero duplication.

Final Architecture

Before:

ansible_collections/proxshift/ocp_provisioning/  # Single collection with mixed concerns
├── roles/ (11 roles)

After:

ansible_collections/proxshift/
├── openshift/              # OpenShift management (8 roles)
├── hashi_vault/           # Vault integration (1 role)  
└── proxmox/               # Infrastructure management (2 roles)

✓ Completed Actions

  1. Created Three Focused Collections
    • proxshift.openshift - OpenShift cluster management
    • proxshift.hashi_vault - HashiCorp Vault integration
    • proxshift.proxmox - Proxmox infrastructure management
  2. Moved All Roles to Appropriate Collections
    • OpenShift: acm_import, cluster_auth, cluster_credentials, node_labeling, oc_kubeadmin, ocp_manifests, secret_management, vault_credentials
    • Vault: hashicorp_vault
    • Proxmox: proxmox_vm, vm_lifecycle
  3. Updated All References
    • site.yaml → uses new collection structure
    • tasks/*.yml → all updated to new collections
    • roles_test.yaml → updated test playbook
    • Internal role dependencies → updated
  4. Eliminated Duplicates
    • Deleted old ocp_provisioning collection entirely
    • Zero duplicate roles across collections
    • Clean separation of concerns

📂 Final Collection Structure

ansible_collections/proxshift/openshift/roles/
├── acm_import/           # ACM cluster import
├── cluster_auth/         # Cluster authentication  
├── cluster_credentials/  # Credential management
├── node_labeling/        # Node labeling
├── oc_kubeadmin/         # Kubeadmin authentication
├── ocp_manifests/        # OpenShift manifests
├── secret_management/    # Secret operations
└── vault_credentials/    # Vault credential storage

ansible_collections/proxshift/hashi_vault/roles/
└── hashicorp_vault/      # Vault secret retrieval

ansible_collections/proxshift/proxmox/roles/
├── proxmox_vm/           # VM lifecycle management
└── vm_lifecycle/         # VM start/stop operations

Next Steps