- 
                Notifications
    You must be signed in to change notification settings 
- Fork 121
Open
Labels
awaiting-feedbackBlocked on input from the authorBlocked on input from the author
Description
Summary
We're experiencing a dependency conflict due to the Kubernetes ecosystem's migration from sigs.k8s.io/structured-merge-diff/v4 to sigs.k8s.io/structured-merge-diff/v6. This is causing incompatibility issues between upstream Kubernetes tooling and Pulumi's current dependency versions.
Problem Description
The issue stems from a bifurcation in the Kubernetes ecosystem:
- Upstream K8s tooling: Now using structured-merge-diff/v6
- Pulumi & pulumi-kubernetes: Still using structured-merge-diff/v4
This incompatibility was triggered by a recent commit in kube-openapi that bumped to v6:
kubernetes/kube-openapi@9bd5c66
Current Status
We've had to pin to the parent commit of the above change to unblock development temporarily.
Affected Dependencies
Based on our current go.mod (provider/go.mod:251):
sigs.k8s.io/structured-merge-diff/v4 v4.4.3
Related dependencies that may be affected:
- k8s.io/kube-openapi v0.0.0-20241127205056-99599406b04f
- Various k8s.io/*packages at v0.32.0
Impact
- Immediate: Blocking SDK updates and dependency management
- Long-term: Potential incompatibility with newer Kubernetes tooling and libraries
- Workaround: Currently pinning to older kube-openapi commit
Proposed Solution
- Coordinate with upstream Pulumi SDK: Ensure both pulumi/pulumiandpulumi/pulumi-kubernetesmigrate tostructured-merge-diff/v6together
- Comprehensive dependency update: Update all related k8s.io packages to versions compatible with v6
- Testing: Thorough testing across all supported Kubernetes versions
- Timeline: Coordinate this change with the next major dependency update cycle
Dependencies to Update
The migration likely requires updating these package families:
- sigs.k8s.io/structured-merge-diff/v4→- sigs.k8s.io/structured-merge-diff/v6
- k8s.io/kube-openapi(to latest compatible version)
- Potentially other k8s.io/*andsigs.k8s.io/*packages
Testing Requirements
- Verify compatibility with all supported Kubernetes versions
- Test SDK generation and functionality
- Validate provider operations
- Check integration tests across all language SDKs
Related Issues
- Upstream change: kubernetes/kube-openapi@9bd5c66
- This affects both pulumi/pulumiandpulumi/pulumi-kubernetesrepositories
Metadata
Metadata
Assignees
Labels
awaiting-feedbackBlocked on input from the authorBlocked on input from the author