chore(2.1.1): adding manifest for 2.1.1 version (#3246)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
This commit is contained in:
parent
d7853c2a2e
commit
c151dc9cdf
|
@ -0,0 +1,619 @@
|
|||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: litmus
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: scheduler
|
||||
namespace: litmus
|
||||
labels:
|
||||
name: scheduler
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: scheduler
|
||||
labels:
|
||||
name: scheduler
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["pods","events", "configmaps","services"]
|
||||
verbs: ["create","get","list","delete","update","patch"]
|
||||
- apiGroups: ["apps"]
|
||||
resources: ["replicasets","deployments"]
|
||||
verbs: ["get","list"]
|
||||
- apiGroups: ["litmuschaos.io"]
|
||||
resources: ["chaosengines","chaosschedules"]
|
||||
verbs: ["get","create","update","patch","delete","list","watch","deletecollection"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: scheduler
|
||||
labels:
|
||||
name: scheduler
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: scheduler
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: scheduler
|
||||
namespace: litmus
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: chaos-scheduler
|
||||
namespace: litmus
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
name: chaos-scheduler
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: chaos-scheduler
|
||||
spec:
|
||||
serviceAccountName: scheduler
|
||||
containers:
|
||||
- name: chaos-scheduler
|
||||
image: litmuschaos/chaos-scheduler:2.1.1
|
||||
command:
|
||||
- chaos-scheduler
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: WATCH_NAMESPACE
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: OPERATOR_NAME
|
||||
value: "chaos-scheduler"
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: chaosschedules.litmuschaos.io
|
||||
spec:
|
||||
group: litmuschaos.io
|
||||
names:
|
||||
kind: ChaosSchedule
|
||||
listKind: ChaosScheduleList
|
||||
plural: chaosschedules
|
||||
singular: chaosschedule
|
||||
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:
|
||||
engineTemplateSpec:
|
||||
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)$
|
||||
defaultAppHealthCheck:
|
||||
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: object
|
||||
properties:
|
||||
image:
|
||||
type: string
|
||||
minLength: 1
|
||||
hostNetwork:
|
||||
type: boolean
|
||||
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
|
||||
stopOnFailure:
|
||||
type: boolean
|
||||
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
|
||||
|
||||
concurrencyPolicy:
|
||||
type: string
|
||||
scheduleState:
|
||||
type: string
|
||||
schedule:
|
||||
oneOf:
|
||||
- required:
|
||||
- now
|
||||
- required:
|
||||
- once
|
||||
- required:
|
||||
- repeat
|
||||
properties:
|
||||
now:
|
||||
type: boolean
|
||||
once:
|
||||
properties:
|
||||
executionTime:
|
||||
format: date-time
|
||||
type: string
|
||||
type: object
|
||||
repeat:
|
||||
properties:
|
||||
timeRange:
|
||||
properties:
|
||||
endTime:
|
||||
format: date-time
|
||||
type: string
|
||||
startTime:
|
||||
format: date-time
|
||||
type: string
|
||||
type: object
|
||||
workHours:
|
||||
properties:
|
||||
includedHours:
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- includedHours
|
||||
workDays:
|
||||
properties:
|
||||
includedDays:
|
||||
pattern: ((Mon|Tue|Wed|Thu|Fri|Sat|Sun)(,))*(Mon|Tue|Wed|Thu|Fri|Sat|Sun)
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- includedDays
|
||||
properties:
|
||||
properties:
|
||||
minChaosInterval:
|
||||
properties:
|
||||
hour:
|
||||
properties:
|
||||
everyNthHour:
|
||||
type: integer
|
||||
minuteOfTheHour:
|
||||
type: integer
|
||||
type: object
|
||||
minute:
|
||||
properties:
|
||||
everyNthMinute:
|
||||
type: integer
|
||||
type: object
|
||||
type: object
|
||||
minProperties: 1
|
||||
maxProperties: 1
|
||||
random:
|
||||
type: boolean
|
||||
type: object
|
||||
required:
|
||||
- minChaosInterval
|
||||
type: object
|
||||
required:
|
||||
- properties
|
||||
type: object
|
||||
status:
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources: {}
|
||||
conversion:
|
||||
strategy: None
|
||||
|
|
@ -7,7 +7,7 @@ metadata:
|
|||
app.kubernetes.io/name: litmus
|
||||
# provide unique instance-id if applicable
|
||||
# app.kubernetes.io/instance: litmus-abcxzy
|
||||
app.kubernetes.io/version: v2.1.0
|
||||
app.kubernetes.io/version: v2.1.1
|
||||
app.kubernetes.io/component: operator-serviceaccount
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/managed-by: kubectl
|
||||
|
@ -22,7 +22,7 @@ metadata:
|
|||
app.kubernetes.io/name: litmus
|
||||
# provide unique instance-id if applicable
|
||||
# app.kubernetes.io/instance: litmus-abcxzy
|
||||
app.kubernetes.io/version: v2.1.0
|
||||
app.kubernetes.io/version: v2.1.1
|
||||
app.kubernetes.io/component: operator-role
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/managed-by: kubectl
|
||||
|
@ -59,7 +59,7 @@ metadata:
|
|||
app.kubernetes.io/name: litmus
|
||||
# provide unique instance-id if applicable
|
||||
# app.kubernetes.io/instance: litmus-abcxzy
|
||||
app.kubernetes.io/version: v2.1.0
|
||||
app.kubernetes.io/version: v2.1.1
|
||||
app.kubernetes.io/component: operator-rolebinding
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/managed-by: kubectl
|
||||
|
@ -81,7 +81,7 @@ metadata:
|
|||
app.kubernetes.io/name: litmus
|
||||
# provide unique instance-id if applicable
|
||||
# app.kubernetes.io/instance: litmus-abcxzy
|
||||
app.kubernetes.io/version: v2.1.0
|
||||
app.kubernetes.io/version: v2.1.1
|
||||
app.kubernetes.io/component: operator
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/managed-by: kubectl
|
||||
|
@ -97,7 +97,7 @@ spec:
|
|||
app.kubernetes.io/name: litmus
|
||||
# provide unique instance-id if applicable
|
||||
# app.kubernetes.io/instance: litmus-abcxzy
|
||||
app.kubernetes.io/version: v2.1.0
|
||||
app.kubernetes.io/version: v2.1.1
|
||||
app.kubernetes.io/component: operator
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/managed-by: kubectl
|
||||
|
@ -106,13 +106,13 @@ spec:
|
|||
serviceAccountName: litmus
|
||||
containers:
|
||||
- name: chaos-operator
|
||||
image: litmuschaos/chaos-operator:2.1.0
|
||||
image: litmuschaos/chaos-operator:2.1.1
|
||||
command:
|
||||
- chaos-operator
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: CHAOS_RUNNER_IMAGE
|
||||
value: "litmuschaos/chaos-runner:2.1.0"
|
||||
value: "litmuschaos/chaos-runner:2.1.1"
|
||||
- name: WATCH_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
|
|
|
@ -7,7 +7,7 @@ metadata:
|
|||
app.kubernetes.io/name: litmus
|
||||
# provide unique instance-id if applicable
|
||||
# app.kubernetes.io/instance: litmus-abcxzy
|
||||
app.kubernetes.io/version: v2.1.0
|
||||
app.kubernetes.io/version: v2.1.1
|
||||
app.kubernetes.io/component: operator-serviceaccount
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/managed-by: kubectl
|
||||
|
@ -22,7 +22,7 @@ metadata:
|
|||
app.kubernetes.io/name: litmus
|
||||
# provide unique instance-id if applicable
|
||||
# app.kubernetes.io/instance: litmus-abcxzy
|
||||
app.kubernetes.io/version: v2.1.0
|
||||
app.kubernetes.io/version: v2.1.1
|
||||
app.kubernetes.io/component: operator-role
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/managed-by: kubectl
|
||||
|
@ -59,7 +59,7 @@ metadata:
|
|||
app.kubernetes.io/name: litmus
|
||||
# provide unique instance-id if applicable
|
||||
# app.kubernetes.io/instance: litmus-abcxzy
|
||||
app.kubernetes.io/version: v2.1.0
|
||||
app.kubernetes.io/version: v2.1.1
|
||||
app.kubernetes.io/component: operator-rolebinding
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/managed-by: kubectl
|
||||
|
|
|
@ -7,7 +7,7 @@ metadata:
|
|||
app.kubernetes.io/name: litmus
|
||||
# provide unique instance-id if applicable
|
||||
# app.kubernetes.io/instance: litmus-abcxzy
|
||||
app.kubernetes.io/version: v2.1.0
|
||||
app.kubernetes.io/version: v2.1.1
|
||||
app.kubernetes.io/component: operator-serviceaccount
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/managed-by: kubectl
|
||||
|
@ -22,7 +22,7 @@ metadata:
|
|||
app.kubernetes.io/name: litmus
|
||||
# provide unique instance-id if applicable
|
||||
# app.kubernetes.io/instance: litmus-abcxzy
|
||||
app.kubernetes.io/version: v2.1.0
|
||||
app.kubernetes.io/version: v2.1.1
|
||||
app.kubernetes.io/component: operator-role
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/managed-by: kubectl
|
||||
|
@ -59,7 +59,7 @@ metadata:
|
|||
app.kubernetes.io/name: litmus
|
||||
# provide unique instance-id if applicable
|
||||
# app.kubernetes.io/instance: litmus-abcxzy
|
||||
app.kubernetes.io/version: v2.1.0
|
||||
app.kubernetes.io/version: v2.1.1
|
||||
app.kubernetes.io/component: operator-rolebinding
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/managed-by: kubectl
|
||||
|
|
|
@ -0,0 +1,947 @@
|
|||
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: v2.1.1
|
||||
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: v2.1.1
|
||||
app.kubernetes.io/component: operator-clusterrole
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/managed-by: kubectl
|
||||
name: litmus
|
||||
rules:
|
||||
# *******************************************************************
|
||||
# Permissions needed for creation and discovery of chaos component
|
||||
# *******************************************************************
|
||||
|
||||
# for checking app parent resources if they are eligible chaos candidates
|
||||
- apiGroups: [""]
|
||||
resources: ["replicationcontrollers"]
|
||||
verbs: ["get","list"]
|
||||
|
||||
# for checking app parent resources if they are eligible chaos candidates
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets"]
|
||||
verbs: ["get","list"]
|
||||
|
||||
# for checking (openshift) app parent resources if they are eligible chaos candidates
|
||||
- apiGroups: ["apps.openshift.io"]
|
||||
resources: ["deploymentconfigs"]
|
||||
verbs: ["get","list"]
|
||||
|
||||
# for operator to perform asset discovery of available resources on the cluster which can be picked as a target for chaos
|
||||
- apiGroups: ["apps"]
|
||||
resources: ["deployments", "daemonsets", "replicasets", "statefulsets"]
|
||||
verbs: ["get","list"]
|
||||
|
||||
# for operator to perform asset discovery of experiment jobs
|
||||
- apiGroups: ["batch"]
|
||||
resources: ["jobs"]
|
||||
verbs: ["get","list"]
|
||||
|
||||
# for checking (argo) app parent resources if they are eligible chaos candidates
|
||||
- apiGroups: ["argoproj.io"]
|
||||
resources: ["rollouts"]
|
||||
verbs: ["get","list"]
|
||||
|
||||
# for creating and monitoring the chaos-runner pods
|
||||
- apiGroups: [""]
|
||||
resources: ["pods","events"]
|
||||
verbs: ["get","create","update","patch","delete","list","watch","deletecollection"]
|
||||
|
||||
# for operator to create or get the service for mertics
|
||||
- apiGroups: [""]
|
||||
resources: ["services"]
|
||||
verbs: ["create","update","get","list","watch","delete"]
|
||||
|
||||
# for operator to create and manage configmap to handle race condition
|
||||
- apiGroups: [""]
|
||||
resources: ["configmaps"]
|
||||
verbs: ["create","update","get","list","watch","delete"]
|
||||
|
||||
# for operator to perform removal of experiment jobs
|
||||
- apiGroups: ["batch"]
|
||||
resources: ["jobs"]
|
||||
verbs: ["delete","deletecollection"]
|
||||
|
||||
# for creation, status polling and deletion of litmus chaos resources used within an experiment
|
||||
- apiGroups: ["litmuschaos.io"]
|
||||
resources: ["chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["get","create","update","patch","delete","list","watch","deletecollection"]
|
||||
|
||||
# for validation of existance of chaosresult crd
|
||||
- apiGroups: ["apiextensions.k8s.io"]
|
||||
resources: ["customresourcedefinitions"]
|
||||
verbs: ["list","get"]
|
||||
|
||||
---
|
||||
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: v2.1.1
|
||||
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: v2.1.1
|
||||
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: v2.1.1
|
||||
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:2.1.1
|
||||
command:
|
||||
- chaos-operator
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: CHAOS_RUNNER_IMAGE
|
||||
value: "litmuschaos/chaos-runner:2.1.1"
|
||||
- name: WATCH_NAMESPACE
|
||||
value: ""
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- 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)$
|
||||
defaultAppHealthCheck:
|
||||
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: object
|
||||
properties:
|
||||
image:
|
||||
type: string
|
||||
minLength: 1
|
||||
hostNetwork:
|
||||
type: boolean
|
||||
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
|
||||
stopOnFailure:
|
||||
type: boolean
|
||||
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
|
||||
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
|
||||
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:
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
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
|
Loading…
Reference in New Issue