Uploaded image for project: 'OpenShift Virtualization'
  1. OpenShift Virtualization
  2. CNV-21220

Platform Engineer (persona) best-practices gitOps

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • CNV Infrastructure
    • gitops-best-practices-platform-engineer
    • False
    • Hide

      None

      Show
      None
    • False
    • Hide

      1. A git repository which a platform engineer can clone, and use as a template to deploy CNV to a cluster with his/her/their customizations

      Show
      1. A git repository which a platform engineer can clone, and use as a template to deploy CNV to a cluster with his/her/their customizations
    • To Do
    • CNV-16309 - GitOps for OpenShift Virtualization with ACM
    • ---
    • ---

      Goal

      Create a git repository with an example of how the declarative nature of OpenShift incl Virtualization can be used by a platform engineer persona in order to easily deploy a cluster on day 1 and control updates on day 2 - all via gitOps

      The platform engineer persona: https://groups.google.com/a/redhat.com/g/cloud-strategy/c/Nuxkkv8Hd7U

      Why does it help us? We need to share knowledge how to efficiently, fast, reliable OCP can be operated, incl VMs. Also because it helps with scale, resilience, and TBD

      Things to cover

      • git consumable by ArgoCD
      • kustomize for dev, stage, prod-east, prod-west
      • Infra side
        • Template
          • Custom VM Template based on golden image
          • With custom validation rules
          • Possibly kustomize layer for VMs with GPU
        • Golden Image
          • tekton job for building custom rhel8/9 image with custom app
          • Custom CronDataImport for importing tekton image
          • ContentSourceClusterPolicy for importing correct images
        • InstceTypes
          • Custom instanceType + Preference
        • Deployment
          • OLM subscription with pinned CNV version
        • Policies
          • Kyverno policies (enforce instancetype + service for vm + add networkpolicy for new namespace)
        • Argo Application
          • Make all objects above sync-able by Argo into a target cluster
      • (Workload side (possibly) - Ignored, because this is for the VM Owner persona)
        • VM owner
          • Define an application with VMs
          • deploy the application with vm to a cluster
      • ACM to provide all the tools used above, and for kicking-off the deployment

      User Stories

      • As a platform engineer
        I want to clone a reference git repository
        so that I can deploy core CNV and some layered (in kustomize sense) customizations easily to a cluster of my choice manually or automatic by using kustomize and/or argocd
      • As a RH SA
        I want to see a best practice for gitOps operations of CNV and OCP
        so that I can use this to demo the added value of CNV due to it's ecosystem

      Non-Requirements

      • List of things not included in this epic, to alleviate any doubt raised during the grooming process.

      Notes

      • Any additional details or decisions made/needed

      Done Checklist

      Who What Reference
      DEV Upstream roadmap issue (or individual upstream PRs) <link to GitHub Issue>
      DEV Upstream documentation merged <link to meaningful PR>
      DEV gap doc updated <name sheet and cell>
      DEV Upgrade consideration <link to upgrade-related test or design doc>
      DEV CEE/PX summary presentation label epic with cee-training and add a <link to your support-facingĀ preso>
      QE Test plans in Polarion <link or reference to Polarion>
      QE Automated tests merged <link or reference to automated tests>
      DOC Downstream documentation merged <link to meaningful PR>

            dholler@redhat.com Dominik Holler
            fdeutsch@redhat.com Fabian Deutsch
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: