KongClusterPlugin PROGRAMMED status stays empty in KO+KIC DB-less mode even when plugin is effective
- Dominant language
- Go
- Stars
- 109
- Forks
- 49
- Avg merge
- 21h 28m
- Merged PRs (30d)
- 313
Description
## Current Behavior
In Kong Operator + KIC (DB-less) mode, a global `KongClusterPlugin` can be effectively applied (traffic behavior confirms plugin execution), but `kubectl get kongclusterplugin` shows an empty `PROGRAMMED` column (not `True`).
This makes plugin status observability inconsistent: runtime behavior indicates success, while CRD status does not.
## Expected Behavior
When a `KongClusterPlugin` is successfully translated/applied, `status.conditions[type=Programmed]` should be updated accordingly (for example `True`), or the behavior should be explicitly documented as unsupported for this mode.
## Steps To Reproduce
1. Deploy Kong Operator managing multiple Gateways in DB-less mode.
2. Define `spec.controlPlaneOptions.ingressClass: egress` in the target Gateway's `GatewayConfiguration` (or corresponding ControlPlane config).
3. Apply a global plugin scoped by ingress class:
```yaml
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
name: egress-oidc-global
labels:
global: "true"
annotations:
kubernetes.io/ingress.class: egress
plugin: openid-connect
config:
issuer: https://key.xxxx.com/auth/realms/demo
auth_methods:
- bearer
```
4. Verify plugin effect from request behavior (plugin is active).
5. Check status:
- `kubectl get kongclusterplugin -A`
- `kubectl get kongclusterplugin egress-oidc-global -o yaml`
Observed: `PROGRAMMED` remains empty / no `Programmed=True` condition.
## Operator Version
## `kubectl version`
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.