Skip to content

[Enhancement] API server warns “unrecognized format 'int32'/'int64'” when installing Kyverno CRDs via Helm

Problem Statement

Installing Kyverno using the Helm chart completes successfully, but the API server emits repeated warnings about unrecognized JSON Schema formats for integers:

$ helm upgrade --install kyverno kyverno/kyverno -n kyverno --create-namespace --version 3.5.2

Release "kyverno" does not exist. Installing it now.

W1107 15:05:29.081815   89941 warnings.go:70] unrecognized format "int32"
W1107 15:05:29.081852   89941 warnings.go:70] unrecognized format "int64"
W1107 15:05:29.094275   89941 warnings.go:70] unrecognized format "int64"
W1107 15:05:29.094300   89941 warnings.go:70] unrecognized format "int32"
... (many similar lines) ...

NAME: kyverno
STATUS: deployed
Chart version: 3.5.2
Kyverno version: v1.15.2

Why this happens

  • The Kyverno CRDs’ openAPIV3Schema uses type: integer with format: int32/format: int64.
  • Kubernetes’ CRD structural schema validator does not recognize those integer “format” hints and logs warnings, while otherwise accepting the CRDs.
  • Functionality is unaffected; these warnings are cosmetic but noisy.

Where this appears in the codebase (examples)

  • Chart CRDs (source of what Helm applies):
             webhookConfiguration:
               properties:
                 timeoutSeconds:
                   description: |-
                     TimeoutSeconds specifies the maximum time in seconds allowed to apply this policy.
                   format: int32
                   type: integer
                        observedGeneration:
                          description: |-
                            observedGeneration represents the .metadata.generation that the condition was set based upon.
                          format: int64
                          minimum: 0
                          type: integer
  • Same patterns are present across other CRDs in charts/crds/templates/policies.kyverno.io/* and in config/install-latest-testing.yaml.

Solution Description

  • Investigate whether newer controller-gen exposes a flag to omit integer format annotations; if available, enable it for CRD generation, or,
  • Document these warnings as harmless in install docs if removal is not feasible short-term.

Alternatives

No response

Additional Context

No response

Slack discussion

No response

Research

  • I have read and followed the documentation AND the troubleshooting guide.
  • I have searched other issues in this repository and mine is not recorded.