340 lines
12 KiB
YAML
340 lines
12 KiB
YAML
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: litmus
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: scheduler
|
|
namespace: litmus
|
|
labels:
|
|
name: scheduler
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: scheduler
|
|
labels:
|
|
name: scheduler
|
|
rules:
|
|
- apiGroups: ["","apps","batch","litmuschaos.io","argoproj.io"]
|
|
resources: ["pods","jobs","deployments","daemonsets","statefulsets","events","configmaps","services","chaosengines","chaosexperiments","chaosresults","chaosschedules","rollouts"]
|
|
verbs: ["get","create","update","patch","delete","list","watch","deletecollection"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
|
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:1.10.0
|
|
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/v1beta1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: chaosschedules.litmuschaos.io
|
|
spec:
|
|
group: litmuschaos.io
|
|
names:
|
|
kind: ChaosSchedule
|
|
listKind: ChaosScheduleList
|
|
plural: chaosschedules
|
|
singular: chaosschedule
|
|
scope: Namespaced
|
|
subresources:
|
|
validation:
|
|
openAPIV3Schema:
|
|
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:
|
|
type: object
|
|
properties:
|
|
engineTemplateSpec:
|
|
type: object
|
|
properties:
|
|
monitoring:
|
|
type: boolean
|
|
jobCleanUpPolicy:
|
|
type: string
|
|
pattern: "^(delete|retain)$"
|
|
annotationCheck:
|
|
type: string
|
|
pattern: "^(true|false)$"
|
|
appinfo:
|
|
type: object
|
|
properties:
|
|
appkind:
|
|
type: string
|
|
pattern: "^(deployment|statefulset|daemonset|deploymentconfig|rollout)$"
|
|
applabel:
|
|
pattern: "([a-z0-9A-Z_\\.-/]+)=([a-z0-9A-Z_\\.-/_]+)"
|
|
type: string
|
|
appns:
|
|
type: string
|
|
auxiliaryAppInfo:
|
|
type: string
|
|
engineState:
|
|
type: string
|
|
pattern: "^(active|stop|initialized|stopped)$"
|
|
chaosServiceAccount:
|
|
type: string
|
|
components:
|
|
type: object
|
|
properties:
|
|
runner:
|
|
type: object
|
|
properties:
|
|
image:
|
|
type: string
|
|
type:
|
|
type: string
|
|
pattern: "^(go)$"
|
|
runnerannotation:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
properties:
|
|
key:
|
|
type: string
|
|
minLength: 1
|
|
allowEmptyValue: false
|
|
value:
|
|
type: string
|
|
minLength: 1
|
|
allowEmptyValue: false
|
|
experiments:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
spec:
|
|
type: object
|
|
properties:
|
|
probe:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
k8sProbe/inputs:
|
|
type: object
|
|
properties:
|
|
command:
|
|
type: object
|
|
properties:
|
|
group:
|
|
type: string
|
|
version:
|
|
type: string
|
|
resource:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
fieldSelector:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
expectedResult:
|
|
type: string
|
|
cmdProbe/inputs:
|
|
type: object
|
|
properties:
|
|
command:
|
|
type: string
|
|
expectedResult:
|
|
type: string
|
|
source:
|
|
type: string
|
|
httpProbe/inputs:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
expectedResponseCode:
|
|
type: string
|
|
runProperties:
|
|
type: object
|
|
properties:
|
|
probeTimeout:
|
|
type: integer
|
|
interval:
|
|
type: integer
|
|
retry:
|
|
type: integer
|
|
mode:
|
|
type: string
|
|
components:
|
|
type: object
|
|
properties:
|
|
statusCheckTimeouts:
|
|
type: object
|
|
properties:
|
|
delay:
|
|
type: integer
|
|
timeout:
|
|
type: integer
|
|
nodeSelector:
|
|
type: object
|
|
minLength: 1
|
|
experimentImage:
|
|
type: string
|
|
env:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
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
|
|
experimentannotation:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
properties:
|
|
key:
|
|
type: string
|
|
minLength: 1
|
|
allowEmptyValue: false
|
|
value:
|
|
type: string
|
|
minLength: 1
|
|
allowEmptyValue: false
|
|
schedule:
|
|
oneOf:
|
|
- required:
|
|
- now
|
|
- required:
|
|
- once
|
|
- required:
|
|
- repeat
|
|
properties:
|
|
now:
|
|
type: boolean
|
|
once:
|
|
properties:
|
|
executionTime:
|
|
format: date-time
|
|
type: date
|
|
type: object
|
|
repeat:
|
|
properties:
|
|
timeRange:
|
|
properties:
|
|
endTime:
|
|
format: date-time
|
|
type: date
|
|
startTime:
|
|
format: date-time
|
|
type: date
|
|
type: object
|
|
workkHours:
|
|
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:
|
|
pattern: (([1-6][0-9]|[1-9])m)|(\d+h)
|
|
type: string
|
|
random:
|
|
type: boolean
|
|
type: object
|
|
required:
|
|
- minChaosInterval
|
|
type: object
|
|
required:
|
|
- properties
|
|
type: object
|
|
status:
|
|
type: object
|
|
version: v1alpha1
|
|
versions:
|
|
- name: v1alpha1
|
|
served: true
|
|
storage: true
|