The authentication operator is an
OpenShift ClusterOperator.
It installs and maintains the Authentication Custom Resource in a cluster and can be viewed with:
oc get clusteroperator authentication -o yaml
The Custom Resource Definition
authentications.operator.openshift.io
can be viewed in a cluster with:
$ oc get crd authentications.operator.openshift.io -o yaml
Many OpenShift ClusterOperators share common build, test, deployment, and update methods.
For more information about how to build, deploy, test, update, and develop OpenShift ClusterOperators, see
OpenShift ClusterOperator and Operand Developer Document
This section explains how to deploy OpenShift with your test cluster-authentication-operator image:
Testing a ClusterOperator/Operand image in a cluster
The most common identity provider for demoing and testing is the HTPasswd IdP.
To set it up, take the following steps:
- Create a new htpasswd file
$ htpasswd -bBc /tmp/htpasswd testuser testpasswd
- (optional) Add more users
$ htpasswd -bB /tmp/htpasswd testuser2 differentpassword
- Create a secret from that htpasswd in the
openshift-config
namespace
oc create secret generic myhtpasswdidp-secret -n openshift-config --from-file=/tmp/htpasswd
- Configure the OAuth server to use the HTPasswd IdP from the secret by editing the spec of the cluster-wide OAuth/cluster object so that it looks like the one in this example:
apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
name: cluster
spec:
identityProviders:
- name: htpassidp
type: HTPasswd
htpasswd:
fileData:
name: myhtpasswdidp-secret
- The operator will now restart the OAuth server deployment and mount the new config
- When the operator is available again (
oc get clusteroperator authentication
), you should be able to log in:
oc login -u testuser -p testpasswd