Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Kubernetes v1.25.0 #2129

Merged
merged 2 commits into from
Aug 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
## Unreleased

## 3.21.0 (August 23, 2022)

- Update Kubernetes support to Kubernetes v1.25.0 (https://github.com/pulumi/pulumi-kubernetes/pull/2129)

Breaking change note --
Kubernetes v1.25 dropped a few alpha and beta fields from the API, so the following fields are no longer available in
the provider SDKs:

* Type "kubernetes:batch/v1beta1:CronJobSpec" dropped property "timeZone"
* Type "kubernetes:batch/v1beta1:CronJobStatus" dropped property "lastSuccessfulTime"
* Type "kubernetes:discovery.k8s.io/v1beta1:ForZone" was dropped
* Type "kubernetes:discovery.k8s.io/v1beta1:Endpoint" dropped property "hints"
* Type "kubernetes:discovery.k8s.io/v1beta1:EndpointHints" dropped
* Type "kubernetes:policy/v1beta1:PodDisruptionBudgetStatus" dropped property "conditions"

## 3.20.5 (August 16, 2022)

- Update autonaming to use NewUniqueName for deterministic update plans. (https://github.com/pulumi/pulumi-kubernetes/pull/2137)
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ VERSION ?= $(shell pulumictl get version)
PROVIDER_PATH := provider/v3
VERSION_PATH := ${PROVIDER_PATH}/pkg/version.Version

KUBE_VERSION ?= v1.24.0
KUBE_VERSION ?= v1.25.0
SWAGGER_URL ?= https://github.com/kubernetes/kubernetes/raw/${KUBE_VERSION}/api/openapi-spec/swagger.json
OPENAPI_DIR := provider/pkg/gen/openapi-specs
OPENAPI_FILE := ${OPENAPI_DIR}/swagger-${KUBE_VERSION}.json
Expand Down
1,253 changes: 882 additions & 371 deletions provider/cmd/pulumi-resource-kubernetes/schema.json

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions provider/pkg/kinds/kinds.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ const (
CSIStorageCapacityList Kind = "CSIStorageCapacityList"
CertificateSigningRequest Kind = "CertificateSigningRequest"
CertificateSigningRequestList Kind = "CertificateSigningRequestList"
ClusterCIDR Kind = "ClusterCIDR"
ClusterCIDRList Kind = "ClusterCIDRList"
ClusterRole Kind = "ClusterRole"
ClusterRoleBinding Kind = "ClusterRoleBinding"
ClusterRoleBindingList Kind = "ClusterRoleBindingList"
Expand Down Expand Up @@ -243,6 +245,7 @@ const (
FlowcontrolV1B2 groupVersion = "flowcontrol.apiserver.k8s.io/v1beta2"
MetaV1 groupVersion = "meta/v1"
NetworkingV1 groupVersion = "networking.k8s.io/v1"
NetworkingV1A1 groupVersion = "networking.k8s.io/v1alpha1"
NetworkingV1B1 groupVersion = "networking.k8s.io/v1beta1"
NodeV1 groupVersion = "node.k8s.io/v1"
NodeV1A1 groupVersion = "node.k8s.io/v1alpha1"
Expand Down Expand Up @@ -311,6 +314,7 @@ var KnownGroupVersions = codegen.NewStringSet(
"flowcontrol.apiserver.k8s.io/v1beta2",
"meta/v1",
"networking.k8s.io/v1",
"networking.k8s.io/v1alpha1",
"networking.k8s.io/v1beta1",
"node.k8s.io/v1",
"node.k8s.io/v1alpha1",
Expand Down
2 changes: 1 addition & 1 deletion sdk/dotnet/Apps/V1/Inputs/RollingUpdateDaemonSetArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace Pulumi.Kubernetes.Types.Inputs.Apps.V1
public class RollingUpdateDaemonSetArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// The maximum number of nodes with an existing available DaemonSet pod that can have an updated DaemonSet pod during during an update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up to a minimum of 1. Default value is 0. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their a new pod created before the old pod is marked as deleted. The update starts by launching new pods on 30% of nodes. Once an updated pod is available (Ready for at least minReadySeconds) the old DaemonSet pod on that node is marked deleted. If the old pod becomes unavailable for any reason (Ready transitions to false, is evicted, or is drained) an updated pod is immediatedly created on that node without considering surge limits. Allowing surge implies the possibility that the resources consumed by the daemonset on any given node can double if the readiness check fails, and so resource intensive daemonsets should take into account that they may cause evictions during disruption. This is beta field and enabled/disabled by DaemonSetUpdateSurge feature gate.
/// The maximum number of nodes with an existing available DaemonSet pod that can have an updated DaemonSet pod during during an update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up to a minimum of 1. Default value is 0. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their a new pod created before the old pod is marked as deleted. The update starts by launching new pods on 30% of nodes. Once an updated pod is available (Ready for at least minReadySeconds) the old DaemonSet pod on that node is marked deleted. If the old pod becomes unavailable for any reason (Ready transitions to false, is evicted, or is drained) an updated pod is immediatedly created on that node without considering surge limits. Allowing surge implies the possibility that the resources consumed by the daemonset on any given node can double if the readiness check fails, and so resource intensive daemonsets should take into account that they may cause evictions during disruption.
/// </summary>
[Input("maxSurge")]
public InputUnion<int, string>? MaxSurge { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace Pulumi.Kubernetes.Types.Inputs.Apps.V1
public class RollingUpdateDaemonSetPatchArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// The maximum number of nodes with an existing available DaemonSet pod that can have an updated DaemonSet pod during during an update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up to a minimum of 1. Default value is 0. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their a new pod created before the old pod is marked as deleted. The update starts by launching new pods on 30% of nodes. Once an updated pod is available (Ready for at least minReadySeconds) the old DaemonSet pod on that node is marked deleted. If the old pod becomes unavailable for any reason (Ready transitions to false, is evicted, or is drained) an updated pod is immediatedly created on that node without considering surge limits. Allowing surge implies the possibility that the resources consumed by the daemonset on any given node can double if the readiness check fails, and so resource intensive daemonsets should take into account that they may cause evictions during disruption. This is beta field and enabled/disabled by DaemonSetUpdateSurge feature gate.
/// The maximum number of nodes with an existing available DaemonSet pod that can have an updated DaemonSet pod during during an update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up to a minimum of 1. Default value is 0. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their a new pod created before the old pod is marked as deleted. The update starts by launching new pods on 30% of nodes. Once an updated pod is available (Ready for at least minReadySeconds) the old DaemonSet pod on that node is marked deleted. If the old pod becomes unavailable for any reason (Ready transitions to false, is evicted, or is drained) an updated pod is immediatedly created on that node without considering surge limits. Allowing surge implies the possibility that the resources consumed by the daemonset on any given node can double if the readiness check fails, and so resource intensive daemonsets should take into account that they may cause evictions during disruption.
/// </summary>
[Input("maxSurge")]
public InputUnion<int, string>? MaxSurge { get; set; }
Expand Down
2 changes: 1 addition & 1 deletion sdk/dotnet/Apps/V1/Inputs/StatefulSetSpecArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace Pulumi.Kubernetes.Types.Inputs.Apps.V1
public class StatefulSetSpecArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready) This is an alpha field and requires enabling StatefulSetMinReadySeconds feature gate.
/// Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)
/// </summary>
[Input("minReadySeconds")]
public Input<int>? MinReadySeconds { get; set; }
Expand Down
2 changes: 1 addition & 1 deletion sdk/dotnet/Apps/V1/Inputs/StatefulSetSpecPatchArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace Pulumi.Kubernetes.Types.Inputs.Apps.V1
public class StatefulSetSpecPatchArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready) This is an alpha field and requires enabling StatefulSetMinReadySeconds feature gate.
/// Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)
/// </summary>
[Input("minReadySeconds")]
public Input<int>? MinReadySeconds { get; set; }
Expand Down
2 changes: 1 addition & 1 deletion sdk/dotnet/Apps/V1/Inputs/StatefulSetStatusArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace Pulumi.Kubernetes.Types.Inputs.Apps.V1
public class StatefulSetStatusArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Total number of available pods (ready for at least minReadySeconds) targeted by this statefulset. This is a beta field and enabled/disabled by StatefulSetMinReadySeconds feature gate.
/// Total number of available pods (ready for at least minReadySeconds) targeted by this statefulset.
/// </summary>
[Input("availableReplicas")]
public Input<int>? AvailableReplicas { get; set; }
Expand Down
2 changes: 1 addition & 1 deletion sdk/dotnet/Apps/V1/Outputs/RollingUpdateDaemonSet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace Pulumi.Kubernetes.Types.Outputs.Apps.V1
public sealed class RollingUpdateDaemonSet
{
/// <summary>
/// The maximum number of nodes with an existing available DaemonSet pod that can have an updated DaemonSet pod during during an update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up to a minimum of 1. Default value is 0. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their a new pod created before the old pod is marked as deleted. The update starts by launching new pods on 30% of nodes. Once an updated pod is available (Ready for at least minReadySeconds) the old DaemonSet pod on that node is marked deleted. If the old pod becomes unavailable for any reason (Ready transitions to false, is evicted, or is drained) an updated pod is immediatedly created on that node without considering surge limits. Allowing surge implies the possibility that the resources consumed by the daemonset on any given node can double if the readiness check fails, and so resource intensive daemonsets should take into account that they may cause evictions during disruption. This is beta field and enabled/disabled by DaemonSetUpdateSurge feature gate.
/// The maximum number of nodes with an existing available DaemonSet pod that can have an updated DaemonSet pod during during an update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up to a minimum of 1. Default value is 0. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their a new pod created before the old pod is marked as deleted. The update starts by launching new pods on 30% of nodes. Once an updated pod is available (Ready for at least minReadySeconds) the old DaemonSet pod on that node is marked deleted. If the old pod becomes unavailable for any reason (Ready transitions to false, is evicted, or is drained) an updated pod is immediatedly created on that node without considering surge limits. Allowing surge implies the possibility that the resources consumed by the daemonset on any given node can double if the readiness check fails, and so resource intensive daemonsets should take into account that they may cause evictions during disruption.
/// </summary>
public readonly Union<int, string> MaxSurge;
/// <summary>
Expand Down
2 changes: 1 addition & 1 deletion sdk/dotnet/Apps/V1/Outputs/RollingUpdateDaemonSetPatch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace Pulumi.Kubernetes.Types.Outputs.Apps.V1
public sealed class RollingUpdateDaemonSetPatch
{
/// <summary>
/// The maximum number of nodes with an existing available DaemonSet pod that can have an updated DaemonSet pod during during an update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up to a minimum of 1. Default value is 0. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their a new pod created before the old pod is marked as deleted. The update starts by launching new pods on 30% of nodes. Once an updated pod is available (Ready for at least minReadySeconds) the old DaemonSet pod on that node is marked deleted. If the old pod becomes unavailable for any reason (Ready transitions to false, is evicted, or is drained) an updated pod is immediatedly created on that node without considering surge limits. Allowing surge implies the possibility that the resources consumed by the daemonset on any given node can double if the readiness check fails, and so resource intensive daemonsets should take into account that they may cause evictions during disruption. This is beta field and enabled/disabled by DaemonSetUpdateSurge feature gate.
/// The maximum number of nodes with an existing available DaemonSet pod that can have an updated DaemonSet pod during during an update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up to a minimum of 1. Default value is 0. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their a new pod created before the old pod is marked as deleted. The update starts by launching new pods on 30% of nodes. Once an updated pod is available (Ready for at least minReadySeconds) the old DaemonSet pod on that node is marked deleted. If the old pod becomes unavailable for any reason (Ready transitions to false, is evicted, or is drained) an updated pod is immediatedly created on that node without considering surge limits. Allowing surge implies the possibility that the resources consumed by the daemonset on any given node can double if the readiness check fails, and so resource intensive daemonsets should take into account that they may cause evictions during disruption.
/// </summary>
public readonly Union<int, string> MaxSurge;
/// <summary>
Expand Down
5 changes: 3 additions & 2 deletions sdk/dotnet/Apps/V1/Outputs/StatefulSet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ namespace Pulumi.Kubernetes.Types.Outputs.Apps.V1

/// <summary>
/// StatefulSet represents a set of pods with consistent identities. Identities are defined as:
/// - Network: A single stable DNS and hostname.
/// - Storage: As many VolumeClaims as requested.
/// - Network: A single stable DNS and hostname.
/// - Storage: As many VolumeClaims as requested.
///
/// The StatefulSet guarantees that a given network identity will always map to the same storage identity.
///
/// This resource waits until its status is ready before registering success
Expand Down
2 changes: 1 addition & 1 deletion sdk/dotnet/Apps/V1/Outputs/StatefulSetSpec.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace Pulumi.Kubernetes.Types.Outputs.Apps.V1
public sealed class StatefulSetSpec
{
/// <summary>
/// Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready) This is an alpha field and requires enabling StatefulSetMinReadySeconds feature gate.
/// Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)
/// </summary>
public readonly int MinReadySeconds;
/// <summary>
Expand Down
2 changes: 1 addition & 1 deletion sdk/dotnet/Apps/V1/Outputs/StatefulSetSpecPatch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace Pulumi.Kubernetes.Types.Outputs.Apps.V1
public sealed class StatefulSetSpecPatch
{
/// <summary>
/// Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready) This is an alpha field and requires enabling StatefulSetMinReadySeconds feature gate.
/// Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)
/// </summary>
public readonly int MinReadySeconds;
/// <summary>
Expand Down
2 changes: 1 addition & 1 deletion sdk/dotnet/Apps/V1/Outputs/StatefulSetStatus.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace Pulumi.Kubernetes.Types.Outputs.Apps.V1
public sealed class StatefulSetStatus
{
/// <summary>
/// Total number of available pods (ready for at least minReadySeconds) targeted by this statefulset. This is a beta field and enabled/disabled by StatefulSetMinReadySeconds feature gate.
/// Total number of available pods (ready for at least minReadySeconds) targeted by this statefulset.
/// </summary>
public readonly int AvailableReplicas;
/// <summary>
Expand Down
2 changes: 1 addition & 1 deletion sdk/dotnet/Apps/V1/Outputs/StatefulSetStatusPatch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace Pulumi.Kubernetes.Types.Outputs.Apps.V1
public sealed class StatefulSetStatusPatch
{
/// <summary>
/// Total number of available pods (ready for at least minReadySeconds) targeted by this statefulset. This is a beta field and enabled/disabled by StatefulSetMinReadySeconds feature gate.
/// Total number of available pods (ready for at least minReadySeconds) targeted by this statefulset.
/// </summary>
public readonly int AvailableReplicas;
/// <summary>
Expand Down
7 changes: 4 additions & 3 deletions sdk/dotnet/Apps/V1/StatefulSet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@ namespace Pulumi.Kubernetes.Apps.V1
{
/// <summary>
/// StatefulSet represents a set of pods with consistent identities. Identities are defined as:
/// - Network: A single stable DNS and hostname.
/// - Storage: As many VolumeClaims as requested.
/// The StatefulSet guarantees that a given network identity will always map to the same storage identity.
/// - Network: A single stable DNS and hostname.
/// - Storage: As many VolumeClaims as requested.
///
/// The StatefulSet guarantees that a given network identity will always map to the same storage identity.
///
/// This resource waits until its status is ready before registering success
/// for create/update, and populating output properties from the current state of the resource.
Expand Down
Loading