Building and Pushing Image

Setup Quay.io account (for testing only)

Before we build our operator image we will want to setup an account on Quay.io. We will need to push this image to quay.io so that we can test the Metadata Files discussed in the next section. To setup an account on quay.io:
  1. 1.
    Go to: quay.io
  2. 2.
    Click on the SIGN IN button located on the upper right side
  3. 3.
    You can either Sign In with your GitHub account or click Create Account
  4. 4.
    Once logged into Quay, click CREATE REPOSITORY to create a place to push your operator image for testing (example name: wordpress-operator)

Build and Push Operator Image

Now that your project is setup with Labels and Licenses, and your quay.io account is setup we can build the operator image. In this example, replace rhc4tp with your quay.io account username:
sudo make docker-build docker-push IMG=quay.io/rhc4tp/wordpress-operator:v0.0.1
Now that you pushed your image to quay.io you need to edit the config/manager/manager.yaml file and change the image field to reflect your image repository. (Note: line 19)
manager.yaml
apiVersion: v1
kind: Namespace
metadata:
labels:
control-plane: controller-manager
name: system
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wordpress-operator
spec:
replicas: 1
selector:
matchLabels:
name: wordpress-operator
template:
metadata:
labels:
name: wordpress-operator
spec:
serviceAccountName: wordpress-operator
containers:
- name: wordpress-operator
# Replace this with the built image name
image: quay.io/rhc4tp/wordpress-operator:v0.0.1
imagePullPolicy: Always
env:
- name: WATCH_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: OPERATOR_NAME
value: "wordpress-operator"
- name: RELATED_IMAGE_WORDPRESS
value: docker.io/bitnami/wordpress:5.3.2-debian-10-10
Keep in mind this is for testing only, this does not certify your operator image. Once your image is certified you will need to got back to config/manager/manager.yaml and change the image repository. If you want to certify your image see instructions here: Certifying your Operator.