To be honest, after the installation there are some customer-specific configurations, for examples authentication, custom certificates,you have to do. If you want to re-deploy on several clusters and save these changes no your Git repository, here are two posible ways to solve them.
The caveat here is, you can not adjust objects there created by cluster version operator. Let's take a closer look, using the openshift ingress controller. The initial deploying of the openshift ingress (ex router) component is quite easy:
The Cluster Version Operator (CVO) ensure the (1) openshift-ingress-operator is running and (2) create the default custom resource (CR) for the default router.
The openshift-ingress-operator ensures that running router pods:
$ oc get pods -n openshift-ingress
NAME READY STATUS RESTARTS AGE
router-default-5769db9885-9s2sl 1/1 Running 1 4d1h
router-default-5769db9885-cvw52 1/1 Running 1 4d1h
But it is not supported to pass certificates from CVO to router pods via opemshift-ingress-operator. To solve the problem we need a kind of customer-cluster-operator to adjust the CR of the openshift-ingress-operator. How to write and deploy those operator check-out the next asset.
2) Create your own cluster configuration operator - WORK IN PROGRESS¶