apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: api-approved.openshift.io: https://github.com/openshift/api/pull/639 include.release.openshift.io/self-managed-high-availability: "true" include.release.openshift.io/single-node-developer: "true" name: podnetworkconnectivitychecks.controlplane.operator.openshift.io spec: group: controlplane.operator.openshift.io names: kind: PodNetworkConnectivityCheck listKind: PodNetworkConnectivityCheckList plural: podnetworkconnectivitychecks singular: podnetworkconnectivitycheck scope: Namespaced versions: - name: v1alpha1 schema: openAPIV3Schema: description: "PodNetworkConnectivityCheck \n Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support." type: object required: - spec properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: Spec defines the source and target of the connectivity check type: object required: - sourcePod - targetEndpoint properties: sourcePod: description: SourcePod names the pod from which the condition will be checked type: string pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ targetEndpoint: description: EndpointAddress to check. A TCP address of the form host:port. Note that if host is a DNS name, then the check would fail if the DNS name cannot be resolved. Specify an IP address for host to bypass DNS name lookup. type: string pattern: ^\S+:\d*$ tlsClientCert: description: TLSClientCert, if specified, references a kubernetes.io/tls type secret with 'tls.crt' and 'tls.key' entries containing an optional TLS client certificate and key to be used when checking endpoints that require a client certificate in order to gracefully preform the scan without causing excessive logging in the endpoint process. The secret must exist in the same namespace as this resource. type: object required: - name properties: name: description: name is the metadata.name of the referenced secret type: string status: description: Status contains the observed status of the connectivity check type: object properties: conditions: description: Conditions summarize the status of the check type: array items: description: PodNetworkConnectivityCheckCondition represents the overall status of the pod network connectivity. type: object required: - lastTransitionTime - status - type properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. type: string format: date-time nullable: true message: description: Message indicating details about last transition in a human readable format. type: string reason: description: Reason for the condition's last status transition in a machine readable format. type: string status: description: Status of the condition type: string type: description: Type of the condition type: string failures: description: Failures contains logs of unsuccessful check actions type: array items: description: LogEntry records events type: object required: - success - time properties: latency: description: Latency records how long the action mentioned in the entry took. type: string nullable: true message: description: Message explaining status in a human readable format. type: string reason: description: Reason for status in a machine readable format. type: string success: description: Success indicates if the log entry indicates a success or failure. type: boolean time: description: Start time of check action. type: string format: date-time nullable: true outages: description: Outages contains logs of time periods of outages type: array items: description: OutageEntry records time period of an outage type: object required: - start properties: end: description: End of outage detected type: string format: date-time nullable: true endLogs: description: EndLogs contains log entries related to the end of this outage. Should contain the success entry that resolved the outage and possibly a few of the failure log entries that preceded it. type: array items: description: LogEntry records events type: object required: - success - time properties: latency: description: Latency records how long the action mentioned in the entry took. type: string nullable: true message: description: Message explaining status in a human readable format. type: string reason: description: Reason for status in a machine readable format. type: string success: description: Success indicates if the log entry indicates a success or failure. type: boolean time: description: Start time of check action. type: string format: date-time nullable: true message: description: Message summarizes outage details in a human readable format. type: string start: description: Start of outage detected type: string format: date-time nullable: true startLogs: description: StartLogs contains log entries related to the start of this outage. Should contain the original failure, any entries where the failure mode changed. type: array items: description: LogEntry records events type: object required: - success - time properties: latency: description: Latency records how long the action mentioned in the entry took. type: string nullable: true message: description: Message explaining status in a human readable format. type: string reason: description: Reason for status in a machine readable format. type: string success: description: Success indicates if the log entry indicates a success or failure. type: boolean time: description: Start time of check action. type: string format: date-time nullable: true successes: description: Successes contains logs successful check actions type: array items: description: LogEntry records events type: object required: - success - time properties: latency: description: Latency records how long the action mentioned in the entry took. type: string nullable: true message: description: Message explaining status in a human readable format. type: string reason: description: Reason for status in a machine readable format. type: string success: description: Success indicates if the log entry indicates a success or failure. type: boolean time: description: Start time of check action. type: string format: date-time nullable: true served: true storage: true subresources: status: {}