Project: Operator Framework (App Definition and Development / Application Definition & Image Build)
File: v1.4.0.md

title: v1.4.0 weight: 998996000 The finalizer name format suggested by is `<qualified-group>/<finalizer-name>`, while the format previously documented by Operator SDK docs was `<finalizer-name>.<qualified-group>`. If your operator uses any finalizers with names matching the incorrect format, change them to match the official format. For example, `finalizer.cache.example.com` should be changed to `cache.example.com/finalizer`. See for more details. Helm projects: Old: `https://github.com/operator-framework/operator-sdk/releases/download/v1.3.0/helm-operator-v1.3.0-$(ARCHOPER)-$(OSOPER)` New: `https://github.com/operator-framework/operator-sdk/releases/download/v1.3.1/helm-operator$(OS)$(ARCH)` Ansible projects: Old: `https://github.com/operator-framework/operator-sdk/releases/download/v1.3.0/ansible-operator-v1.3.0-$(ARCHOPER)-$(OSOPER)` New: `https://github.com/operator-framework/operator-sdk/releases/download/v1.3.1/ansible-operator$(OS)$(ARCH)` See for more details. These rules will download a local binary but not use it if a global binary is present. See the diff in for how to fix this. See for more details. New projects built with the tool will have the probes configured by default. The endpoints `/healthz` and `/readyz` are available now in the image based provided. You can update your pre-existing project to use them. For that update the Dockerfile to use the latest release base image, then add the following to the `manager` container in `config/manager/manager.yaml`: ```yaml livenessProbe: httpGet: path: /healthz port: 8081 initialDelaySeconds: 15 periodSeconds: 20 readinessProbe: httpGet: path: /readyz port: 8081 initialDelaySeconds: 5 periodSeconds: 10 ``` See for more details. New projects built with the tool will have the probes configured by default. The endpoints `/healthz` and `/readyz` are available now in the image based provided. You can update your pre-existing project to use them. For that update the Dockerfile to use the latest release base image, then add the following to the `manager` container in `config/manager/manager.yaml`: ```yaml livenessProbe: httpGet: path: /healthz port: 6789 initialDelaySeconds: 15 periodSeconds: 20 readinessProbe: httpGet: path: /readyz port: 6789 initialDelaySeconds: 5 periodSeconds: 10 ``` See for more details. The `manifests` and `scorecard` plugins that create OLM and scorecard manifests, respectively, now have plugin objects that direct `create` subcommands to create related files. While the old `go` plugin configuration object is still supported, these new objects will be useful in the future as configuration options are added to their respective plugins: Old: ```yaml version: 3-alpha ... plugins: go.sdk.operatorframework.io/v2-alpha: {} ``` New: ```yaml version: 3-alpha ... plugins: manifests.sdk.operatorframework.io/v2: {} scorecard.sdk.operatorframework.io/v2: {} ``` See for more details. The `manifests` and `scorecard` plugins that create OLM and scorecard manifests, respectively, now have plugin objects that direct `create` subcommands to create related files. While not necessary to add, these new plugin configuration objects in the PROJECT file will be useful in the future as configuration options are added to their respective plugins: ```yaml version: 3-alpha ... plugins: manifests.sdk.operatorframework.io/v2: {} scorecard.sdk.operatorframework.io/v2: {} ``` See for more details. The directory argument `.` in the `docker-build` make target was moved to the last positional argument to align with `podman`'s expectations, making substitution cleaner. Old: ```make docker-build: docker build . -t ${IMG} ``` New: ```make docker-build: docker build -t ${IMG} . ``` Alternatively, you could replace it programmatically ```sh sed -i 's/docker build . -t ${IMG}/docker build -t ${IMG} ./' $(git grep -l 'docker.*build \. ') ``` See for more details.