Kong / Kong/kong-operator

KongClusterPlugin PROGRAMMED status stays empty in KO+KIC DB-less mode even when plugin is effective

Open
#4,367 4 comments 0 reactions 1 assignee Claimed by @tao12345666333 View on GitHub
stale
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.