litmus/mkdocs/docs/litmus-operator-v1.13.4.yaml

783 lines
33 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: litmus
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: litmus
namespace: litmus
labels:
app.kubernetes.io/name: litmus
# provide unique instance-id if applicable
# app.kubernetes.io/instance: litmus-abcxzy
app.kubernetes.io/version: v1.13.4
app.kubernetes.io/component: operator-serviceaccount
app.kubernetes.io/part-of: litmus
app.kubernetes.io/managed-by: kubectl
name: litmus
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: litmus
labels:
app.kubernetes.io/name: litmus
# provide unique instance-id if applicable
# app.kubernetes.io/instance: litmus-abcxzy
app.kubernetes.io/version: v1.13.4
app.kubernetes.io/component: operator-clusterrole
app.kubernetes.io/part-of: litmus
app.kubernetes.io/managed-by: kubectl
name: litmus
rules:
- apiGroups: [""]
resources: ["replicationcontrollers","secrets"]
verbs: ["get","list"]
- apiGroups: ["apps.openshift.io"]
resources: ["deploymentconfigs"]
verbs: ["get","list"]
- apiGroups: ["apps"]
resources: ["deployments", "daemonsets", "replicasets", "statefulsets"]
verbs: ["get","list"]
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["get","list","deletecollection"]
- apiGroups: ["argoproj.io"]
resources: ["rollouts"]
verbs: ["get","list"]
- apiGroups: [""]
resources: ["pods","configmaps","events","services"]
verbs: ["get","create","update","patch","delete","list","watch","deletecollection"]
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["get","create","update","patch","delete","list","watch","deletecollection"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: litmus
labels:
app.kubernetes.io/name: litmus
# provide unique instance-id if applicable
# app.kubernetes.io/instance: litmus-abcxzy
app.kubernetes.io/version: v1.13.4
app.kubernetes.io/component: operator-clusterrolebinding
app.kubernetes.io/part-of: litmus
app.kubernetes.io/managed-by: kubectl
name: litmus
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: litmus
subjects:
- kind: ServiceAccount
name: litmus
namespace: litmus
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: litmus
# provide unique instance-id if applicable
# app.kubernetes.io/instance: litmus-abcxzy
app.kubernetes.io/version: v1.13.4
app.kubernetes.io/component: operator
app.kubernetes.io/part-of: litmus
app.kubernetes.io/managed-by: kubectl
name: litmus
name: chaos-operator-ce
namespace: litmus
spec:
replicas: 1
selector:
matchLabels:
name: chaos-operator
template:
metadata:
labels:
app.kubernetes.io/name: litmus
# provide unique instance-id if applicable
# app.kubernetes.io/instance: litmus-abcxzy
app.kubernetes.io/version: v1.13.4
app.kubernetes.io/component: operator
app.kubernetes.io/part-of: litmus
app.kubernetes.io/managed-by: kubectl
name: chaos-operator
spec:
serviceAccountName: litmus
containers:
- name: chaos-operator
image: litmuschaos/chaos-operator:1.13.4
command:
- chaos-operator
imagePullPolicy: Always
env:
- name: CHAOS_RUNNER_IMAGE
value: "litmuschaos/chaos-runner:1.13.4"
- name: WATCH_NAMESPACE
value: ""
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: OPERATOR_NAME
value: "chaos-operator"
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: chaosengines.litmuschaos.io
spec:
group: litmuschaos.io
names:
kind: ChaosEngine
listKind: ChaosEngineList
plural: chaosengines
singular: chaosengine
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
type: object
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/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/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
x-kubernetes-preserve-unknown-fields: true
type: object
properties:
jobCleanUpPolicy:
type: string
pattern: ^(delete|retain)$
# alternate ways to do this in case of complex pattern matches
#oneOf:
# - pattern: '^delete$'
# - pattern: '^retain$'
annotationCheck:
type: string
pattern: ^(true|false)$
appinfo:
type: object
properties:
appkind:
type: string
pattern: ^(^$|deployment|statefulset|daemonset|deploymentconfig|rollout)$
applabel:
type: string
appns:
type: string
auxiliaryAppInfo:
type: string
engineState:
type: string
pattern: ^(active|stop)$
chaosServiceAccount:
type: string
terminationGracePeriodSeconds:
type: integer
components:
type: object
properties:
runner:
x-kubernetes-preserve-unknown-fields: true
type: object
properties:
image:
type: string
type:
type: string
pattern: ^(go)$
runnerAnnotations:
type: object
additionalProperties:
type: string
properties:
key:
type: string
minLength: 1
value:
type: string
minLength: 1
tolerations:
description: Pod's tolerations.
items:
description: The pod with this Toleration tolerates any taint matches the <key,value,effect> using the matching operator <operator>.
properties:
effect:
description: Effect to match. Empty means all effects.
type: string
key:
description: Taint key the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists.
type: string
operator:
description: Operators are Exists or Equal. Defaults to Equal.
type: string
tolerationSeconds:
description: Period of time the toleration tolerates the taint.
format: int64
type: integer
value:
description: If the operator is Exists, the value should be empty, otherwise just a regular string.
type: string
type: object
type: array
experiments:
type: array
items:
type: object
properties:
name:
type: string
spec:
type: object
properties:
probe:
type: array
items:
type: object
required:
- runProperties
properties:
name:
type: string
type:
type: string
minLength: 1
pattern: ^(k8sProbe|httpProbe|cmdProbe|promProbe)$
k8sProbe/inputs:
type: object
properties:
group:
type: string
version:
type: string
resource:
type: string
namespace:
type: string
fieldSelector:
type: string
labelSelector:
type: string
operation:
type: string
pattern: ^(present|absent|create|delete)$
minLength: 1
cmdProbe/inputs:
type: object
properties:
command:
type: string
minLength: 1
comparator:
type: object
properties:
type:
type: string
minLength: 1
pattern: ^(int|float|string)$
criteria:
type: string
value:
type: string
source:
type: string
minLength: 1
httpProbe/inputs:
type: object
properties:
url:
type: string
minLength: 1
insecureSkipVerify:
type: boolean
responseTimeout:
type: integer
method:
type: object
minProperties: 1
properties:
get:
type: object
properties:
criteria:
type: string
minLength: 1
responseCode:
type: string
minLength: 1
post:
type: object
properties:
contentType:
type: string
minLength: 1
body:
type: string
bodyPath:
type: string
criteria:
type: string
minLength: 1
responseCode:
type: string
minLength: 1
promProbe/inputs:
type: object
properties:
endpoint:
type: string
query:
type: string
queryPath:
type: string
comparator:
type: object
properties:
criteria:
type: string
value:
type: string
runProperties:
type: object
minProperties: 3
required:
- probeTimeout
- interval
- retry
properties:
probeTimeout:
type: integer
interval:
type: integer
retry:
type: integer
probePollingInterval:
type: integer
initialDelaySeconds:
type: integer
mode:
type: string
pattern: ^(SOT|EOT|Edge|Continuous|OnChaos)$
minLength: 1
data:
type: string
components:
x-kubernetes-preserve-unknown-fields: true
type: object
properties:
statusCheckTimeouts:
type: object
properties:
delay:
type: integer
timeout:
type: integer
nodeSelector:
type: object
additionalProperties:
type: string
properties:
key:
type: string
minLength: 1
allowEmptyValue: false
value:
type: string
minLength: 1
allowEmptyValue: false
experimentImage:
type: string
env:
type: array
items:
description: EnvVar represents an environment variable
present in a Container.
properties:
name:
description: Name of the environment variable.
Must be a C_IDENTIFIER.
type: string
value:
description: 'Variable references $(VAR_NAME)
are expanded using the previous defined environment
variables in the container and any service environment
variables. If a variable cannot be resolved,
the reference in the input string will be unchanged.
The $(VAR_NAME) syntax can be escaped with a
double $$, ie: $$(VAR_NAME). Escaped references
will never be expanded, regardless of whether
the variable exists or not. Defaults to "".'
type: string
valueFrom:
description: Source for the environment variable's
value. Cannot be used if value is not empty.
properties:
configMapKeyRef:
description: Selects a key of a ConfigMap.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion,
kind, uid?'
type: string
optional:
description: Specify whether the ConfigMap
or its key must be defined
type: boolean
required:
- key
type: object
fieldRef:
description: 'Selects a field of the pod:
supports metadata.name, metadata.namespace,
metadata.labels, metadata.annotations, spec.nodeName,
spec.serviceAccountName, status.hostIP,
status.podIP.'
properties:
apiVersion:
description: Version of the schema the
FieldPath is written in terms of, defaults
to "v1".
type: string
fieldPath:
description: Path of the field to select
in the specified API version.
type: string
required:
- fieldPath
type: object
resourceFieldRef:
description: 'Selects a resource of the container:
only resources limits and requests (limits.cpu,
limits.memory, limits.ephemeral-storage,
requests.cpu, requests.memory and requests.ephemeral-storage)
are currently supported.'
properties:
containerName:
description: 'Container name: required
for volumes, optional for env vars'
type: string
divisor:
anyOf:
- type: integer
- type: string
description: Specifies the output format
of the exposed resources, defaults to
"1"
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
resource:
description: 'Required: resource to select'
type: string
required:
- resource
type: object
secretKeyRef:
description: Selects a key of a secret in
the pod's namespace
properties:
key:
description: The key of the secret to
select from. Must be a valid secret
key.
type: string
name:
description: 'Name of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion,
kind, uid?'
type: string
optional:
description: Specify whether the Secret
or its key must be defined
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
configMaps:
type: array
items:
type: object
properties:
name:
type: string
mountPath:
type: string
secrets:
type: array
items:
type: object
properties:
name:
type: string
mountPath:
type: string
experimentAnnotations:
type: object
additionalProperties:
type: string
properties:
key:
type: string
minLength: 1
allowEmptyValue: false
value:
type: string
minLength: 1
allowEmptyValue: false
tolerations:
description: Pod's tolerations.
items:
description: The pod with this Toleration tolerates any taint matches the <key,value,effect> using the matching operator <operator>.
properties:
effect:
description: Effect to match. Empty means all effects.
type: string
key:
description: Taint key the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists.
type: string
operator:
description: Operators are Exists or Equal. Defaults to Equal.
type: string
tolerationSeconds:
description: Period of time the toleration tolerates the taint.
format: int64
type: integer
value:
description: If the operator is Exists, the value should be empty, otherwise just a regular string.
type: string
type: object
type: array
status:
x-kubernetes-preserve-unknown-fields: true
type: object
served: true
storage: true
subresources: {}
conversion:
strategy: None
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: chaosexperiments.litmuschaos.io
spec:
group: litmuschaos.io
names:
kind: ChaosExperiment
listKind: ChaosExperimentList
plural: chaosexperiments
singular: chaosexperiment
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
type: object
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/api-conventions.md#resources'
type: string
description:
type: object
additionalProperties:
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/api-conventions.md#types-kinds'
type: string
metadata:
type: object
status:
x-kubernetes-preserve-unknown-fields: true
type: object
spec:
type: object
properties:
definition:
x-kubernetes-preserve-unknown-fields: true
type: object
properties:
args:
type: array
items:
type: string
command:
type: array
items:
type: string
env:
type: array
items:
type: object
properties:
name:
type: string
value:
type: string
image:
type: string
imagePullPolicy:
type: string
labels:
type: object
additionalProperties:
type: string
scope:
type: string
pattern: ^(Namespaced|Cluster)$
permissions:
type: array
items:
type: object
minProperties: 3
required:
- apiGroups
- resources
- verbs
properties:
apiGroups:
type: array
items:
type: string
resources:
type: array
items:
type: string
verbs:
type: array
items:
type: string
resourceNames:
type: array
items:
type: string
nonResourceURLs:
type: array
items:
type: string
configMaps:
type: array
items:
type: object
minProperties: 2
properties:
name:
type: string
allowEmptyValue: false
minLength: 1
mountPath:
type: string
allowEmptyValue: false
minLength: 1
secrets:
type: array
items:
type: object
minProperties: 2
properties:
name:
type: string
allowEmptyValue: false
minLength: 1
mountPath:
type: string
allowEmptyValue: false
minLength: 1
hostFileVolumes:
type: array
items:
type: object
minProperties: 3
properties:
name:
type: string
allowEmptyValue: false
minLength: 1
mountPath:
type: string
allowEmptyValue: false
minLength: 1
nodePath:
type: string
allowEmptyValue: false
minLength: 1
securityContext:
type: object
hostPID:
type: boolean
served: true
storage: true
subresources: {}
conversion:
strategy: None
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: chaosresults.litmuschaos.io
spec:
group: litmuschaos.io
names:
kind: ChaosResult
listKind: ChaosResultList
plural: chaosresults
singular: chaosresult
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
type: object
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/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/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
x-kubernetes-preserve-unknown-fields: true
type: object
status:
x-kubernetes-preserve-unknown-fields: true
type: object
served: true
storage: true
subresources: {}
conversion:
strategy: None