shardingsphere-operator/config/crd/bases/shardingsphere.apache.org_chaos.yaml (407 lines of code) (raw):

--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.9.0 creationTimestamp: null name: chaos.shardingsphere.apache.org spec: group: shardingsphere.apache.org names: kind: Chaos listKind: ChaosList plural: chaos singular: chaos scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .metadata.creationTimestamp name: Age type: date name: v1alpha1 schema: openAPIV3Schema: description: Chaos defines a chaos test case for the ShardingSphere Proxy cluster 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: ChaosSpec defines the desired state of Chaos properties: injectJob: description: JobSpec specifies the config of job to create properties: experimental: type: string pressure: type: string verify: type: string type: object networkChaos: description: NetworkChaosSpec Fields that need to be configured for network type chaos properties: action: description: NetworkChaosAction specify the action type of network Chaos type: string direction: description: Direction specifies the direction of action of network chaos type: string duration: type: string params: description: NetworkParams Optional parameters for network type configuration properties: corrupt: properties: corrupt: type: string type: object delay: properties: jitter: type: string latency: type: string type: object duplicate: properties: duplicate: type: string type: object loss: properties: loss: type: string type: object type: object source: description: PodSelector used to select the target of the specified chaos properties: annotationSelectors: additionalProperties: type: string type: object expressionSelectors: items: description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array labelSelectors: additionalProperties: type: string type: object namespaces: items: type: string type: array nodeSelectors: additionalProperties: type: string type: object nodes: items: type: string type: array pods: additionalProperties: items: type: string type: array type: object type: object target: description: PodSelector used to select the target of the specified chaos properties: annotationSelectors: additionalProperties: type: string type: object expressionSelectors: items: description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array labelSelectors: additionalProperties: type: string type: object namespaces: items: type: string type: array nodeSelectors: additionalProperties: type: string type: object nodes: items: type: string type: array pods: additionalProperties: items: type: string type: array type: object type: object type: object podChaos: description: PodChaosSpec Fields that need to be configured for pod type chaos properties: action: description: PodChaosAction Specify the action type of pod Chaos type: string params: description: PodActionParams Optional parameters for pod type configuration properties: containerKill: properties: containerNames: items: type: string type: array type: object cpuStress: properties: cores: type: integer duration: type: string load: type: integer required: - duration type: object memoryStress: properties: consumption: type: string duration: type: string workers: type: integer required: - duration type: object podFailure: properties: duration: type: string type: object podKill: properties: gracePeriod: format: int64 type: integer type: object type: object selector: description: PodSelector used to select the target of the specified chaos properties: annotationSelectors: additionalProperties: type: string type: object expressionSelectors: items: description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array labelSelectors: additionalProperties: type: string type: object namespaces: items: type: string type: array nodeSelectors: additionalProperties: type: string type: object nodes: items: type: string type: array pods: additionalProperties: items: type: string type: array type: object type: object required: - action type: object pressureCfg: properties: concurrentNum: type: integer distSQLs: items: properties: args: items: type: string type: array sql: type: string required: - sql type: object type: array duration: type: string reqNum: type: integer reqTime: type: string ssHost: type: string zkHost: type: string required: - concurrentNum - duration - reqNum - reqTime - ssHost type: object type: object status: description: ChaosStatus defines the actual state of Chaos properties: chaosCondition: description: ChaosCondition Show Chaos Progress type: string conditions: description: Result Result `json:"result,omitempty" yaml:"result,omitempty"` items: description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: description: message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ type: string status: description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - Unknown type: string type: description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string required: - lastTransitionTime - message - reason - status - type type: object type: array phase: type: string type: object type: object served: true storage: true subresources: status: {}