operator-framework / operator-sdk

SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.
https://sdk.operatorframework.io
Apache License 2.0
7.1k stars 1.73k forks source link

`make bundle` returns: error generating bundle manifests: error resolving image when `--use-image-digests` is added. #6752

Closed navarrothiago closed 1 month ago

navarrothiago commented 1 month ago

Bug Report

What did you do?

What did you expect to see?

Make bundle without any errors.

What did you see instead? Under which circumstances?

❯ make bundle
test -s /work/mantisnet/memcached-operator/bin/controller-gen && /work/mantisnet/memcached-operator/bin/controller-gen --version | grep -q v0.13.0 || \
GOBIN=/work/mantisnet/memcached-operator/bin go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.13.0
/work/mantisnet/memcached-operator/bin/controller-gen rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases
/usr/local/bin/operator-sdk generate kustomize manifests -q
cd config/manager && /work/mantisnet/memcached-operator/bin/kustomize edit set image controller=controller:latest
/work/mantisnet/memcached-operator/bin/kustomize build config/manifests | /usr/local/bin/operator-sdk generate bundle -q --overwrite --version 0.0.1   --use-image-digests
# Warning: 'patchesJson6902' is deprecated. Please use 'patches' instead. Run 'kustomize edit fix' to update your Kustomization automatically.
WARN[0000] ClusterServiceVersion validation: [CSVFileNotValid] (memcached-operator.v0.0.1) csv.Spec.minKubeVersion is not informed. It is recommended you provide this information. Otherwise, it would mean that your operator project can be distributed and installed in any cluster version available, which is not necessarily the case for all projects. 
2024/05/18 23:31:42 manifests true
2024/05/18 23:31:42 skipping non-yaml file without errors: manifests 
2024/05/18 23:31:42 cache.example.com_memcacheds.yaml false
2024/05/18 23:31:42 visited file or dir: "bundle/manifests/cache.example.com_memcacheds.yaml"
2024/05/18 23:31:42 skipping file because it's not a ClusterServiceVersion: cache.example.com_memcacheds.yaml 
2024/05/18 23:31:42 memcached-operator-controller-manager-metrics-service_v1_service.yaml false
2024/05/18 23:31:42 visited file or dir: "bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml"
2024/05/18 23:31:42 skipping file because it's not a ClusterServiceVersion: memcached-operator-controller-manager-metrics-service_v1_service.yaml 
2024/05/18 23:31:42 memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml false
2024/05/18 23:31:42 visited file or dir: "bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml"
2024/05/18 23:31:42 skipping file because it's not a ClusterServiceVersion: memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml 
2024/05/18 23:31:42 memcached-operator.clusterserviceversion.yaml false
2024/05/18 23:31:42 visited file or dir: "bundle/manifests/memcached-operator.clusterserviceversion.yaml"
2024/05/18 23:31:42 Found pullspec for container kube-rbac-proxy: gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0
2024/05/18 23:31:42 Found pullspec for container manager: controller:latest
FATA[0004] Error generating bundle manifests: error resolving image: GET https://index.docker.io/v2/library/controller/manifests/latest: UNAUTHORIZED: authentication required; [map[Action:pull Class: Name:library/controller Type:repository]] 
make: *** [Makefile:258: bundle] Error 1

Environment

Operator type:

/language go

Kubernetes cluster type:

❯ /usr/local/bin/operator-sdk version
operator-sdk version: "v1.34.2", commit: "81dd3cb24b8744de03d312c1ba23bfc617044005", kubernetes version: "1.28.0", go version: "go1.21.10", GOOS: "linux", GOARCH: "amd64"
❯ go version
go version go1.21.0 linux/amd64
navarrothiago commented 1 month ago

I missed some Prerequisites steps... Closing it.