kubernetes-sigs / container-object-storage-interface-controller

Container Object Storage Interface (COSI) controller responsible to manage lifecycle of COSI objects. NOTE: The content of this repo has been moved to https://github.com/kubernetes-sigs/container-object-storage-interface.
Apache License 2.0
94 stars 28 forks source link

kubectl apply -k does not work with current customization.yaml base #31

Closed wlan0 closed 3 years ago

wlan0 commented 3 years ago

Bug Report

As described in title.

Environment:

NicolasT commented 3 years ago

/assign

NicolasT commented 3 years ago

Issue at hand:

Turns out the version of kustomize embedded in kubectl is rather old and doesn't get updated for now (https://github.com/kubernetes/kubectl/issues/818), and the changes introduced in 7c519fe167fc38a6750298a25602a955d9235b70 rely on a kustomize feature that's not available in said version.

Current work-around:

Fix: likely reverting 7c519fe167fc38a6750298a25602a955d9235b70 for now, if we want to be compatible with kubectl apply -k. Also, this should be validated by CI.

NicolasT commented 3 years ago

Looks like reverting 7c519fe is not sufficient: the original manifests (from 2a29305571b) don't work with kubectl kustomize either, since they use inline patches (unsupported), and after turning the inline patch into a patch file, things don't work either, because remote (HTTP) resources are not supported.

Which would imply we'd need to somehow embed the CRD manifests in this repository, or require those to be deployed using different means.

Honestly I'm starting to think we should require kustomize build ... | kubectl apply -f - to be used. Otherwise, we may drop the use of kustomize altogether, but then we won't have a 'single-command install' either.