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

fix: PDB GQL schema #10013

Merged
merged 3 commits into from
Mar 4, 2025
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions modules/web/.meshrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,30 @@ sources:
to:
type: StringWrapper
field: string
- from:
type: poddisruptionbudget_PodDisruptionBudget
field: minAvailable
to:
type: StringWrapper
field: string
- from:
type: poddisruptionbudget_PodDisruptionBudget
field: maxUnavailable
to:
type: StringWrapper
field: string
- from:
type: poddisruptionbudget_PodDisruptionBudgetDetail
field: minAvailable
to:
type: StringWrapper
field: string
- from:
type: poddisruptionbudget_PodDisruptionBudgetDetail
field: maxUnavailable
to:
type: StringWrapper
field: string
- from:
type: v1_NetworkPolicyPort
field: port
Expand Down
56 changes: 28 additions & 28 deletions modules/web/schema/schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -2699,7 +2699,7 @@ type v1_IngressRule {
Currently the port of an Ingress is implicitly :80 for http and
:443 for https.
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.

host can be "precise" which is a domain name without the terminating dot of a network host (e.g. "foo.bar.com") or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. "*.foo.com"). The wildcard character '*' must appear by itself as the first DNS label and matches only a single label. You cannot have a wildcard label by itself (e.g. Host == "*"). Requests will be matched against the Host field in the following way: 1. If host is precise, the request matches this rule if the http host header is equal to Host. 2. If host is a wildcard, then the request matches this rule if the http host header is to equal to the suffix (removing the first label) of the wildcard rule.
"""
host: String
Expand Down Expand Up @@ -3962,7 +3962,7 @@ type v1_GRPCAction {
port: Int!
"""
Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).

If this is not specified, the default behavior is defined by gRPC.
"""
service: String!
Expand Down Expand Up @@ -4004,9 +4004,9 @@ type v1_TCPSocketAction {
type v1_ResourceRequirements {
"""
Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.
"""
claims: [v1_ResourceClaim]
Expand Down Expand Up @@ -4148,7 +4148,7 @@ type v1_SeccompProfile {
localhostProfile: String
"""
type indicates which kind of seccomp profile will be applied. Valid options are:

Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied.
"""
type: String!
Expand Down Expand Up @@ -4202,7 +4202,7 @@ type v1_ContainerStatus {
name: String!
"""
Ready specifies whether the container is currently passing its readiness check. The value will change as readiness probes keep executing. If no readiness probes are specified, this field defaults to true once the container is fully started (see Started field).

The value is typically used to determine whether a container is ready to accept traffic.
"""
ready: Boolean!
Expand Down Expand Up @@ -4266,7 +4266,7 @@ type v1_ResourceHealth {
temporary and permanent issues.
- Unknown: The status cannot be determined.
For example, Device Plugin got unregistered and hasn't been re-registered since.

In future we may want to introduce the PermanentlyUnhealthy Status.
"""
health: String
Expand Down Expand Up @@ -4604,9 +4604,9 @@ type v1_ObjectMeta {
finalizers: [String]
"""
GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.

If this field is specified and the generated name exists, the server will return a 409.

Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency
"""
generateName: String
Expand All @@ -4628,7 +4628,7 @@ type v1_ObjectMeta {
name: String
"""
Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.

Must be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces
"""
namespace: String
Expand All @@ -4638,7 +4638,7 @@ type v1_ObjectMeta {
ownerReferences: [v1_OwnerReference]
"""
An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.

Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
"""
resourceVersion: String
Expand All @@ -4648,7 +4648,7 @@ type v1_ObjectMeta {
selfLink: String
"""
UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.

Populated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids
"""
uid: String
Expand All @@ -4668,9 +4668,9 @@ type v1_ManagedFieldsEntry {
fieldsType: String
"""
FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.

Each key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> is position of a item in a list 'k:<keys>', where <keys> is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.

The exact format is defined in sigs.k8s.io/structured-merge-diff
"""
fieldsV1: JSON
Expand Down Expand Up @@ -5165,7 +5165,7 @@ type v1_PodSecurityContext {
appArmorProfile: v1_AppArmorProfile
"""
A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:

1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw
"""
fsGroup: BigInt
Expand All @@ -5187,15 +5187,15 @@ type v1_PodSecurityContext {
runAsUser: BigInt
"""
seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod. It has no effect on nodes that do not support SELinux or to volumes does not support SELinux. Valid values are "MountOption" and "Recursive".

"Recursive" means relabeling of all files on all Pod volumes by the container runtime. This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.

"MountOption" mounts all eligible Pod volumes with `-o context` mount option. This requires all Pods that share the same volume to use the same SELinux label. It is not possible to share the same volume among privileged and unprivileged Pods. Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their CSIDriver instance. Other volumes are always re-labelled recursively. "MountOption" value is allowed only when SELinuxMount feature gate is enabled.

If not specified and SELinuxMount feature gate is enabled, "MountOption" is used. If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes and "Recursive" for all other volumes.

This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.

All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state. Note that this field cannot be set when spec.os.name is windows.
"""
seLinuxChangePolicy: String
Expand Down Expand Up @@ -5240,8 +5240,8 @@ type poddisruptionbudget_PodDisruptionBudget {
disruptionsAllowed: Int!
expectedPods: Int!
labelSelector: v1_LabelSelector
maxUnavailable: intstr_IntOrString!
minAvailable: intstr_IntOrString!
maxUnavailable: String!
minAvailable: String!
objectMeta: types_ObjectMeta!
typeMeta: types_TypeMeta!
unhealthyPodEvictionPolicy: String!
Expand All @@ -5254,8 +5254,8 @@ type poddisruptionbudget_PodDisruptionBudgetDetail {
disruptionsAllowed: Int!
expectedPods: Int!
labelSelector: v1_LabelSelector
maxUnavailable: intstr_IntOrString!
minAvailable: intstr_IntOrString!
maxUnavailable: String!
minAvailable: String!
objectMeta: types_ObjectMeta!
typeMeta: types_TypeMeta!
unhealthyPodEvictionPolicy: String!
Expand Down Expand Up @@ -5390,14 +5390,14 @@ type endpoint_Endpoint {
type v1_EndpointPort {
"""
The application protocol for this port. This is used as a hint for implementations to offer richer behavior for protocols that they understand. This field follows standard Kubernetes label syntax. Valid values are either:

* Un-prefixed protocol names - reserved for IANA standard service names (as per RFC-6335 and https://www.iana.org/assignments/service-names).

* Kubernetes-defined prefixed names:
* 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
* 'kubernetes.io/ws' - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
* 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455

* Other protocols should use implementation-defined prefixed names such as mycompany.com/my-custom-protocol.
"""
appProtocol: String
Expand Down Expand Up @@ -6067,4 +6067,4 @@ type StringWrapper {

type StateWrapper {
state: ContainerState!
}
}
Loading