If the user operates the CRD resource when the APISIX Ingress Controller is
not started, the declared configuration will be inconsistent with the
APISIX state.

Since the APISIX Ingress Controller will automatically synchronize the
related CRDs when starting and running, and update to APISIX, we only need
to ensure that the deleted configuration can be found to ensure that the
Ingress and APISIX status are synchronized.

Therefore, I am going to add a full synchronization when the ingress
controller starts to find out those inconsistent objects.
Then decide how to synchronize.

There are two ways to synchronize:
1. Directly delete those extra objects in APISIX (more radical, deleting
data may affect user data)
2. Give a warning in the log to tell which objects only exist in APISIX,
and the Ingress controller can still operate normally. (It is relatively
safe, but if the user does not handle it, Ingress will always be
inconsistent with the APISIX status)

Reply via email to