]> git.feebdaed.xyz Git - 0xmirror/cilium.git/commit
fix(gateway-api): retry CRD discovery on transient errors main
authorAleksei Sviridkin <f@lex.la>
Mon, 22 Dec 2025 13:29:40 +0000 (16:29 +0300)
committerJulian Wiedmann <julianwiedmann@users.noreply.github.com>
Tue, 23 Dec 2025 11:52:55 +0000 (11:52 +0000)
commit2c59ba7dfaa5065e3b71814b97be7d217e07cda3
treed04e75a411293ee035ded7d865b18c19ad9553c6
parent3ab1b9a54fa0e0e1b977025302ff9199f4af366d
fix(gateway-api): retry CRD discovery on transient errors

Add retry with exponential backoff for Gateway API CRD discovery to handle
transient API server errors during operator startup. This prevents permanent
failure of Gateway API TLS termination when API server is temporarily
unreachable.

Changes:
- Extract preconditions into private hive component (cell.ProvidePrivate)
- Add isTransientError() to distinguish retryable vs permanent errors
- Configure backoff with 200ms-5s range and 30s context timeout
- Report health status during retry attempts
- Ensure consistent behavior between initGatewayAPIController and
  registerSecretSync by sharing preconditions

Fixes: #43130
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
operator/pkg/gateway-api/cell.go
operator/pkg/gateway-api/cell_test.go [new file with mode: 0644]