-
Notifications
You must be signed in to change notification settings - Fork 12
Closed
Labels
kind/bugCategorizes issue or PR as related to a bug.Categorizes issue or PR as related to a bug.
Description
Describe the bug
Few weeks ago, sync agent was working with https://cloudnative-pg.io/ :
apiVersion: syncagent.kcp.io/v1alpha1
kind: PublishedResource
metadata:
name: publish-cnpg-cluster
spec:
resource:
kind: Cluster
apiGroup: postgresql.cnpg.io
version: v1
naming:
# This is the implicit default configuration.
namespace: "$remoteClusterName"
name: "$remoteName"
related:
- kind: Secret
origin: kcp
identifier: credentials
reference:
name:
path: "spec.superuserSecret.name"
Now it gives error:
{"level":"error","time":"2025-03-09T18:29:40.670+0200","caller":"controller/controller.go:263","msg":"Reconciler error","controller":"syncagent-apiresourceschema","controllerGroup":"syncagent.kcp.io","controllerKind":"PublishedResource","PublishedResource":{"name":"publish-cnpg-cluster"},"namespace":"","name":"publish-cnpg-cluster","reconcileID":"05d85b6f-7e1b-45bc-b72b-368f636701aa","error":"failed to create APIResourceSchema: apiresourceschemas.apis.kcp.io \"ve9a1da98.clusters.postgresql.cnpg.io\" is forbidden: [spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[env].items.properties[valueFrom].properties[resourceFieldRef].properties[divisor].properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[env].items.properties[valueFrom].properties[resourceFieldRef].properties[divisor].type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[ephemeralVolumeSource].properties[volumeClaimTemplate].properties[metadata].additionalProperties.properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[ephemeralVolumeSource].properties[volumeClaimTemplate].properties[metadata].additionalProperties.type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[ephemeralVolumeSource].properties[volumeClaimTemplate].properties[spec].properties[resources].properties[limits].additionalProperties.properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[ephemeralVolumeSource].properties[volumeClaimTemplate].properties[spec].properties[resources].properties[limits].additionalProperties.type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[ephemeralVolumeSource].properties[volumeClaimTemplate].properties[spec].properties[resources].properties[requests].additionalProperties.properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[ephemeralVolumeSource].properties[volumeClaimTemplate].properties[spec].properties[resources].properties[requests].additionalProperties.type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[ephemeralVolumesSizeLimit].properties[shm].properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[ephemeralVolumesSizeLimit].properties[shm].type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[ephemeralVolumesSizeLimit].properties[temporaryData].properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[ephemeralVolumesSizeLimit].properties[temporaryData].type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[managed].properties[services].properties[additional].items.properties[serviceTemplate].properties[spec].properties[ports].items.properties[targetPort].properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[managed].properties[services].properties[additional].items.properties[serviceTemplate].properties[spec].properties[ports].items.properties[targetPort].type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[projectedVolumeTemplate].properties[sources].items.properties[downwardAPI].properties[items].items.properties[resourceFieldRef].properties[divisor].properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[projectedVolumeTemplate].properties[sources].items.properties[downwardAPI].properties[items].items.properties[resourceFieldRef].properties[divisor].type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[resources].properties[limits].additionalProperties.properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[resources].properties[limits].additionalProperties.type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[resources].properties[requests].additionalProperties.properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[resources].properties[requests].additionalProperties.type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[storage].properties[pvcTemplate].properties[resources].properties[limits].additionalProperties.properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[storage].properties[pvcTemplate].properties[resources].properties[limits].additionalProperties.type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[storage].properties[pvcTemplate].properties[resources].properties[requests].additionalProperties.properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[storage].properties[pvcTemplate].properties[resources].properties[requests].additionalProperties.type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[tablespaces].items.properties[storage].properties[pvcTemplate].properties[resources].properties[limits].additionalProperties.properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[tablespaces].items.properties[storage].properties[pvcTemplate].properties[resources].properties[limits].additionalProperties.type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[tablespaces].items.properties[storage].properties[pvcTemplate].properties[resources].properties[requests].additionalProperties.properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[tablespaces].items.properties[storage].properties[pvcTemplate].properties[resources].properties[requests].additionalProperties.type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[walStorage].properties[pvcTemplate].properties[resources].properties[limits].additionalProperties.properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[walStorage].properties[pvcTemplate].properties[resources].properties[limits].additionalProperties.type: Required value: must be object if x-kubernetes-embedded-resource is true spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[walStorage].properties[pvcTemplate].properties[resources].properties[requests].additionalProperties.properties: Required value: must not be empty if x-kubernetes-embedded-resource is true without x-kubernetes-preserve-unknown-fields spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[walStorage].properties[pvcTemplate].properties[resources].properties[requests].additionalProperties.type: Required value: must be object if x-kubernetes-embedded-resource is true]"}
feels like a regression of some sort.
Steps To Reproduce
Pull latest:
https://github.com/mjudeikis/kcp-contrib/tree/user-scripts/20250401-kubecon-london
and run part 3. Its simple enough to reproduce.
Expected Behaviour
working :)
Additional Context
No response
Metadata
Metadata
Assignees
Labels
kind/bugCategorizes issue or PR as related to a bug.Categorizes issue or PR as related to a bug.