Open jsok opened 2 years ago
It seems like #6766 didn't account for the top-level CRD to configure Config Connector itself. It doesn't look like this resource has a Ready
status either which is probably why it's not able to status check.
I'm also unable to disable the status check functionality, the modified skaffold.yaml
looks like:
apiVersion: skaffold/v2beta16
kind: Config
metadata:
name: config-connector
deploy:
statusCheck: false
profiles:
- name: dev
deploy:
kubectl:
manifests:
- configconnector.yaml
Edit: looks like I'm a victim of #7089 , Cloud Deploy's latest version is 1.35.2
@jsok thanks for opening up this issue. I'll bring this up with the team so that we can have a fix out asap
Seems there might not be an exposed Go struct for ConfigConnector
currently - https://github.com/GoogleCloudPlatform/k8s-config-connector/issues/472. Will have to do our own unmarshalling & examination for the status
In investigating this issue, there seems to be two issues with deploying this ConfigConnector
issue in skaffold currently:
Because the ConfigConnector
resource is not namespaced (it is a global resource), it does not come up in our resource selection for status checking (the below error occurs in the code):
https://github.com/GoogleContainerTools/skaffold/blob/main/pkg/diag/validator/custom_resource.go#L50
^^ this is what is occuring currently, the status check code is not actually called (healthy
vs normal k8s status)
As mentioned in this issue assuming the above was fixed we also need to special case the health checking logic for ConfigConnector
to look for .status.healthy == true
Also there are a few other Config Connector resources that use this status pattern that would need to be accounted for, for example ConfigConnectorContext
.
Initially this was prioritized for v1.37.1 but after further inspection and more understanding we are no longer including it in that fix as this is not a regression. We will need to understand more about how we want to handle global resources generally or possibly see if it makes sense to special case ConfigConnector
(and possibly ConfigConnectorContext
)
Expected behavior
skaffold apply
of a manifest which contains aConfigConnector
CRD should succeed once the resource becomes healthy.i.e. https://cloud.google.com/config-connector/docs/how-to/install-upgrade-uninstall#addon-configuring
Actual behavior
Checking the resource show's it's
Healthy
and up to date:Information
Steps to reproduce the behavior
create a
configconnector.yaml
: