This is a cache of https://docs.okd.io/4.14/operators/operator_sdk/helm/osdk-helm-updating-projects.html. It is a snapshot of the page at 2024-11-23T22:38:41.302+0000.
Updating Helm-based projects - Developing Operators | Operators | OKD 4.14
×

OKD 4.14 supports Operator SDK 1.31.0. If you already have the 1.28.0 CLI installed on your workstation, you can update the CLI to 1.31.0 by installing the latest version.

However, to ensure your existing Operator projects maintain compatibility with Operator SDK 1.31.0, update steps are required for the associated breaking changes introduced since 1.28.0. You must perform the update steps manually in any of your Operator projects that were previously created or maintained with 1.28.0.

Updating Helm-based Operator projects for Operator SDK 1.31.0

The following procedure updates an existing Helm-based Operator project for compatibility with 1.31.0.

Prerequisites
  • Operator SDK 1.31.0 installed

  • An Operator project created or maintained with Operator SDK 1.28.0

Procedure
  1. Edit your Operator’s Dockerfile to update the Helm Operator version to 1.31.0, as shown in the following example:

    Example Dockerfile
    FROM quay.io/operator-framework/helm-operator:v1.31.0 (1)
    1 Update the Helm Operator version from 1.28.0 to 1.31.0
  2. Edit your Operator project’s Makefile to add the OPERATOR_SDK_VERSION field and set it to v1.31.0-ocp, as shown in the following example:

    Example Makefile
    # Set the Operator SDK version to use. By default, what is installed on the system is used.
    # This is useful for CI or a project to utilize a specific version of the operator-sdk toolkit.
    OPERATOR_SDK_VERSION ?= v1.31.0-ocp
  3. If you use a custom service account for deployment, define the following role to require a watch operation on your secrets resource, as shown in the following example:

    Example config/rbac/role.yaml file
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: <operator_name>-admin
    subjects:
    - kind: ServiceAccount
      name: <operator_name>
      namespace: <operator_namespace>
    roleRef:
      kind: ClusterRole
      name: cluster-admin
      apiGroup: ""
    rules: (1)
      - apiGroups:
          - ""
        resources:
          - secrets
        verbs:
          - watch
    1 Add the rules stanza to create a watch operation for your secrets resource.