{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "operators.coreos.com/v1alpha1",
            "kind": "ClusterServiceVersion",
            "metadata": {
                "annotations": {
                    "capabilities": "Basic Install",
                    "categories": "Application Runtime, Monitoring, Security",
                    "certified": "false",
                    "containerImage": "quay.io/app-sre/deployment-validation-operator:0.1.568-g6f8f204",
                    "createdAt": "2026-03-10T08:28:54Z",
                    "description": "The deployment validation operator",
                    "olm.operatorGroup": "deployment-validation-operator-og",
                    "olm.operatorNamespace": "openshift-deployment-validation-operator",
                    "olm.targetNamespaces": "openshift-deployment-validation-operator",
                    "operatorframework.io/properties": "{\"properties\":[{\"type\":\"olm.package\",\"value\":{\"packageName\":\"deployment-validation-operator\",\"version\":\"0.1.568-g6f8f204\"}}]}",
                    "repository": "https://github.com/app-sre/deployment-validation-operator",
                    "support": "Best Effort"
                },
                "creationTimestamp": "2026-04-10T16:37:14Z",
                "finalizers": [
                    "operators.coreos.com/csv-cleanup"
                ],
                "generation": 1,
                "labels": {
                    "olm.managed": "true",
                    "operators.coreos.com/deployment-validation-operator.openshift-deployment-validation": ""
                },
                "name": "deployment-validation-operator.v0.1.568-g6f8f204",
                "namespace": "openshift-deployment-validation-operator",
                "resourceVersion": "12765",
                "uid": "73f99403-7834-4b24-8a52-c48bdd487dd2"
            },
            "spec": {
                "apiservicedefinitions": {},
                "cleanup": {
                    "enabled": false
                },
                "customresourcedefinitions": {},
                "description": "The Deployment Validation Operator (DVO) checks deployments and other resources against a curated collection of best practices. These best practices focus mainly on ensuring that the applications are fault-tolerant. DVO reports failed validations via Prometheus metrics. If the best-practice check has failed, the metrics will report `1`.",
                "displayName": "Deployment Validation Operator",
                "install": {
                    "spec": {
                        "clusterPermissions": [
                            {
                                "rules": [
                                    {
                                        "apiGroups": [
                                            "*"
                                        ],
                                        "resources": [
                                            "*"
                                        ],
                                        "verbs": [
                                            "get",
                                            "list",
                                            "watch"
                                        ]
                                    }
                                ],
                                "serviceAccountName": "deployment-validation-operator"
                            }
                        ],
                        "deployments": [
                            {
                                "name": "deployment-validation-operator",
                                "spec": {
                                    "replicas": 1,
                                    "selector": {
                                        "matchLabels": {
                                            "app": "deployment-validation-operator"
                                        }
                                    },
                                    "strategy": {
                                        "rollingUpdate": {
                                            "maxSurge": 1,
                                            "maxUnavailable": 0
                                        },
                                        "type": "RollingUpdate"
                                    },
                                    "template": {
                                        "metadata": {
                                            "labels": {
                                                "app": "deployment-validation-operator",
                                                "name": "deployment-validation-operator"
                                            }
                                        },
                                        "spec": {
                                            "affinity": {
                                                "nodeAffinity": {
                                                    "requiredDuringSchedulingIgnoredDuringExecution": {
                                                        "nodeSelectorTerms": [
                                                            {
                                                                "matchExpressions": [
                                                                    {
                                                                        "key": "node-role.kubernetes.io/infra",
                                                                        "operator": "Exists"
                                                                    }
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "podAntiAffinity": {
                                                    "preferredDuringSchedulingIgnoredDuringExecution": [
                                                        {
                                                            "podAffinityTerm": {
                                                                "labelSelector": {
                                                                    "matchExpressions": [
                                                                        {
                                                                            "key": "app",
                                                                            "operator": "In",
                                                                            "values": [
                                                                                "deployment-validation-operator"
                                                                            ]
                                                                        }
                                                                    ]
                                                                },
                                                                "topologyKey": "kubernetes.io/hostname"
                                                            },
                                                            "weight": 100
                                                        }
                                                    ]
                                                }
                                            },
                                            "containers": [
                                                {
                                                    "args": [
                                                        "--config /config/deployment-validation-operator-config.yaml"
                                                    ],
                                                    "env": [
                                                        {
                                                            "name": "WATCH_NAMESPACE"
                                                        },
                                                        {
                                                            "name": "OPERATOR_NAME",
                                                            "value": "deployment-validation-operator"
                                                        },
                                                        {
                                                            "name": "NAMESPACE_IGNORE_PATTERN",
                                                            "value": "openshift.*|kube-.+|open-cluster-management-.*|default|dedicated-admin"
                                                        },
                                                        {
                                                            "name": "RESOURCES_PER_LIST_QUERY",
                                                            "value": "5"
                                                        },
                                                        {
                                                            "name": "VALIDATION_CHECK_INTERVAL",
                                                            "value": "2m"
                                                        },
                                                        {
                                                            "name": "POD_NAME",
                                                            "valueFrom": {
                                                                "fieldRef": {
                                                                    "fieldPath": "metadata.name"
                                                                }
                                                            }
                                                        },
                                                        {
                                                            "name": "POD_NAMESPACE",
                                                            "valueFrom": {
                                                                "fieldRef": {
                                                                    "fieldPath": "metadata.namespace"
                                                                }
                                                            }
                                                        }
                                                    ],
                                                    "image": "quay.io/app-sre/deployment-validation-operator:0.1.568-g6f8f204",
                                                    "imagePullPolicy": "Always",
                                                    "livenessProbe": {
                                                        "httpGet": {
                                                            "path": "/healthz",
                                                            "port": 8081
                                                        },
                                                        "initialDelaySeconds": 30,
                                                        "periodSeconds": 10,
                                                        "timeoutSeconds": 3
                                                    },
                                                    "name": "deployment-validation-operator",
                                                    "readinessProbe": {
                                                        "httpGet": {
                                                            "path": "/readyz",
                                                            "port": 8081
                                                        },
                                                        "initialDelaySeconds": 5,
                                                        "periodSeconds": 10,
                                                        "timeoutSeconds": 3
                                                    },
                                                    "resources": {
                                                        "limits": {
                                                            "memory": "400Mi"
                                                        },
                                                        "requests": {
                                                            "cpu": "50m",
                                                            "memory": "400Mi"
                                                        }
                                                    },
                                                    "securityContext": {
                                                        "readOnlyRootFilesystem": true
                                                    },
                                                    "volumeMounts": [
                                                        {
                                                            "mountPath": "/config",
                                                            "name": "dvo-config"
                                                        }
                                                    ]
                                                }
                                            ],
                                            "nodeSelector": {
                                                "kubernetes.io/arch": "amd64"
                                            },
                                            "restartPolicy": "Always",
                                            "serviceAccountName": "deployment-validation-operator",
                                            "terminationGracePeriodSeconds": 30,
                                            "tolerations": [
                                                {
                                                    "effect": "NoSchedule",
                                                    "key": "node-role.kubernetes.io/infra",
                                                    "operator": "Exists"
                                                }
                                            ],
                                            "volumes": [
                                                {
                                                    "configMap": {
                                                        "name": "deployment-validation-operator-config",
                                                        "optional": true
                                                    },
                                                    "name": "dvo-config"
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        ],
                        "permissions": [
                            {
                                "rules": [
                                    {
                                        "apiGroups": [
                                            ""
                                        ],
                                        "resources": [
                                            "configmaps",
                                            "services"
                                        ],
                                        "verbs": [
                                            "get",
                                            "create",
                                            "list",
                                            "delete",
                                            "update",
                                            "watch",
                                            "patch"
                                        ]
                                    },
                                    {
                                        "apiGroups": [
                                            "monitoring.coreos.com"
                                        ],
                                        "resources": [
                                            "servicemonitors"
                                        ],
                                        "verbs": [
                                            "*"
                                        ]
                                    }
                                ],
                                "serviceAccountName": "deployment-validation-operator"
                            }
                        ]
                    },
                    "strategy": "deployment"
                },
                "installModes": [
                    {
                        "supported": true,
                        "type": "OwnNamespace"
                    },
                    {
                        "supported": true,
                        "type": "SingleNamespace"
                    },
                    {
                        "supported": true,
                        "type": "AllNamespaces"
                    },
                    {
                        "supported": false,
                        "type": "MultiNamespace"
                    }
                ],
                "keywords": [
                    "dvo"
                ],
                "labels": {
                    "alm-owner-dvo": "deployment-validation-operator",
                    "operated-by": "deployment-validation-operator"
                },
                "links": [
                    {
                        "name": "repository",
                        "url": "https://github.com/app-sre/deployment-validation-operator"
                    },
                    {
                        "name": "containerImage",
                        "url": "https://quay.io/app-sre/deployment-validation-operator:0.1.568-g6f8f204"
                    }
                ],
                "maturity": "alpha",
                "provider": {
                    "name": "Red Hat"
                },
                "selector": {
                    "matchLabels": {
                        "alm-owner-dvo": "deployment-validation-operator",
                        "operated-by": "deployment-validation-operator"
                    }
                },
                "version": "0.1.568-g6f8f204"
            },
            "status": {
                "cleanup": {},
                "conditions": [
                    {
                        "lastTransitionTime": "2026-04-10T16:37:14Z",
                        "lastUpdateTime": "2026-04-10T16:37:14Z",
                        "message": "requirements not yet checked",
                        "phase": "Pending",
                        "reason": "RequirementsUnknown"
                    },
                    {
                        "lastTransitionTime": "2026-04-10T16:37:14Z",
                        "lastUpdateTime": "2026-04-10T16:37:14Z",
                        "message": "one or more requirements couldn't be found",
                        "phase": "Pending",
                        "reason": "RequirementsNotMet"
                    },
                    {
                        "lastTransitionTime": "2026-04-10T16:37:15Z",
                        "lastUpdateTime": "2026-04-10T16:37:15Z",
                        "message": "all requirements found, attempting install",
                        "phase": "InstallReady",
                        "reason": "AllRequirementsMet"
                    },
                    {
                        "lastTransitionTime": "2026-04-10T16:37:15Z",
                        "lastUpdateTime": "2026-04-10T16:37:15Z",
                        "message": "waiting for install components to report healthy",
                        "phase": "Installing",
                        "reason": "InstallSucceeded"
                    },
                    {
                        "lastTransitionTime": "2026-04-10T16:37:15Z",
                        "lastUpdateTime": "2026-04-10T16:37:16Z",
                        "message": "installing: waiting for deployment deployment-validation-operator to become ready: deployment \"deployment-validation-operator\" not available: Deployment does not have minimum availability.",
                        "phase": "Installing",
                        "reason": "InstallWaiting"
                    },
                    {
                        "lastTransitionTime": "2026-04-10T16:37:32Z",
                        "lastUpdateTime": "2026-04-10T16:37:32Z",
                        "message": "install strategy completed with no errors",
                        "phase": "Succeeded",
                        "reason": "InstallSucceeded"
                    }
                ],
                "lastTransitionTime": "2026-04-10T16:37:32Z",
                "lastUpdateTime": "2026-04-10T16:37:32Z",
                "message": "install strategy completed with no errors",
                "phase": "Succeeded",
                "reason": "InstallSucceeded",
                "requirementStatus": [
                    {
                        "dependents": [
                            {
                                "group": "rbac.authorization.k8s.io",
                                "kind": "PolicyRule",
                                "message": "cluster rule:{\"verbs\":[\"get\",\"list\",\"watch\"],\"apiGroups\":[\"*\"],\"resources\":[\"*\"]}",
                                "status": "Satisfied",
                                "version": "v1"
                            }
                        ],
                        "group": "",
                        "kind": "ServiceAccount",
                        "message": "",
                        "name": "deployment-validation-operator",
                        "status": "Present",
                        "version": "v1"
                    }
                ]
            }
        }
    ],
    "kind": "List",
    "metadata": {
        "resourceVersion": ""
    }
}
