From b81c2ee06b9fa5d40bcb89afa308362f0b47b4c2 Mon Sep 17 00:00:00 2001 From: Shubham Chaudhary Date: Mon, 15 Mar 2021 23:19:05 +0530 Subject: [PATCH] feat(v1.13.2): Adding manifests for the 1.13.2 (#2546) Signed-off-by: shubhamchaudhary --- .../litmus-namespaced-crds.yaml | 38 +- .../litmus-namespaced-operator.yaml | 14 +- docs/litmus-operator-ci.yaml | 38 +- docs/litmus-operator-latest.yaml | 38 +- docs/litmus-operator-v1.13.2.yaml | 706 ++++++++++++++++++ .../manifests/cluster/2a_litmus_crds.yaml | 46 +- 6 files changed, 790 insertions(+), 90 deletions(-) create mode 100644 docs/litmus-operator-v1.13.2.yaml diff --git a/docs/litmus-namespaced-scope/litmus-namespaced-crds.yaml b/docs/litmus-namespaced-scope/litmus-namespaced-crds.yaml index d17991eaf82..604a5ad5e99 100644 --- a/docs/litmus-namespaced-scope/litmus-namespaced-crds.yaml +++ b/docs/litmus-namespaced-scope/litmus-namespaced-crds.yaml @@ -106,21 +106,22 @@ spec: 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 + 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: @@ -149,7 +150,8 @@ spec: minLength: 1 insecureSkipVerify: type: boolean - minLength: 1 + responseTimeout: + type: integer method: type: object minProperties: 1 @@ -217,10 +219,6 @@ spec: type: string pattern: ^(SOT|EOT|Edge|Continuous|OnChaos)$ minLength: 1 - operation: - type: string - pattern: ^(present|absent|create|delete)$ - minLength: 1 data: type: string components: diff --git a/docs/litmus-namespaced-scope/litmus-namespaced-operator.yaml b/docs/litmus-namespaced-scope/litmus-namespaced-operator.yaml index eb1feb8e7cc..595b5e75fc0 100644 --- a/docs/litmus-namespaced-scope/litmus-namespaced-operator.yaml +++ b/docs/litmus-namespaced-scope/litmus-namespaced-operator.yaml @@ -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: v1.13.0 + app.kubernetes.io/version: v1.13.2 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: v1.13.0 + app.kubernetes.io/version: v1.13.2 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: v1.13.0 + app.kubernetes.io/version: v1.13.2 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: v1.13.0 + app.kubernetes.io/version: v1.13.2 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: v1.13.0 + app.kubernetes.io/version: v1.13.2 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:1.13.0 + image: litmuschaos/chaos-operator:1.13.2 command: - chaos-operator imagePullPolicy: Always env: - name: CHAOS_RUNNER_IMAGE - value: "litmuschaos/chaos-runner:1.13.0" + value: "litmuschaos/chaos-runner:1.13.2" - name: WATCH_NAMESPACE valueFrom: fieldRef: diff --git a/docs/litmus-operator-ci.yaml b/docs/litmus-operator-ci.yaml index 830bf25310e..65f0a66b0bf 100644 --- a/docs/litmus-operator-ci.yaml +++ b/docs/litmus-operator-ci.yaml @@ -233,21 +233,22 @@ spec: 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 + 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: @@ -276,7 +277,8 @@ spec: minLength: 1 insecureSkipVerify: type: boolean - minLength: 1 + responseTimeout: + type: integer method: type: object minProperties: 1 @@ -344,10 +346,6 @@ spec: type: string pattern: ^(SOT|EOT|Edge|Continuous|OnChaos)$ minLength: 1 - operation: - type: string - pattern: ^(present|absent|create|delete)$ - minLength: 1 data: type: string components: diff --git a/docs/litmus-operator-latest.yaml b/docs/litmus-operator-latest.yaml index 0b0441b632d..6e1b2393eed 100644 --- a/docs/litmus-operator-latest.yaml +++ b/docs/litmus-operator-latest.yaml @@ -233,21 +233,22 @@ spec: 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 + 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: @@ -276,7 +277,8 @@ spec: minLength: 1 insecureSkipVerify: type: boolean - minLength: 1 + responseTimeout: + type: integer method: type: object minProperties: 1 @@ -344,10 +346,6 @@ spec: type: string pattern: ^(SOT|EOT|Edge|Continuous|OnChaos)$ minLength: 1 - operation: - type: string - pattern: ^(present|absent|create|delete)$ - minLength: 1 data: type: string components: diff --git a/docs/litmus-operator-v1.13.2.yaml b/docs/litmus-operator-v1.13.2.yaml new file mode 100644 index 00000000000..b30eda1055d --- /dev/null +++ b/docs/litmus-operator-v1.13.2.yaml @@ -0,0 +1,706 @@ +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.2 + 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.2 + 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.2 + 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.2 + 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.2 + 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.2 + command: + - chaos-operator + imagePullPolicy: Always + env: + - name: CHAOS_RUNNER_IMAGE + value: "litmuschaos/chaos-runner:1.13.2" + - name: WATCH_NAMESPACE + value: "" + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: "chaos-operator" +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: chaosengines.litmuschaos.io +spec: + group: litmuschaos.io + names: + kind: ChaosEngine + listKind: ChaosEngineList + plural: chaosengines + singular: chaosengine + scope: Namespaced + 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: + monitoring: + type: boolean + 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 + 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 + value: + type: string + minLength: 1 + 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: + 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: + 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]+))))?$ + 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 + experimentannotation: + type: object + additionalProperties: + type: string + properties: + key: + type: string + minLength: 1 + allowEmptyValue: false + value: + type: string + minLength: 1 + allowEmptyValue: false + + + status: + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: chaosexperiments.litmuschaos.io +spec: + group: litmuschaos.io + names: + kind: ChaosExperiment + listKind: ChaosExperimentList + plural: chaosexperiments + singular: chaosexperiment + scope: Namespaced + subresources: + status: {} + 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: + definition: + 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 + labels: + type: object + properties: + name: + 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 + status: + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: chaosresults.litmuschaos.io +spec: + group: litmuschaos.io + names: + kind: ChaosResult + listKind: ChaosResultList + plural: chaosresults + singular: chaosresult + scope: Namespaced + 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 + status: + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true \ No newline at end of file diff --git a/litmus-portal/graphql-server/manifests/cluster/2a_litmus_crds.yaml b/litmus-portal/graphql-server/manifests/cluster/2a_litmus_crds.yaml index 29377fcc780..28845e8cd86 100644 --- a/litmus-portal/graphql-server/manifests/cluster/2a_litmus_crds.yaml +++ b/litmus-portal/graphql-server/manifests/cluster/2a_litmus_crds.yaml @@ -106,21 +106,22 @@ spec: 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 + 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: @@ -149,7 +150,8 @@ spec: minLength: 1 insecureSkipVerify: type: boolean - minLength: 1 + responseTimeout: + type: integer method: type: object minProperties: 1 @@ -171,14 +173,14 @@ spec: minLength: 1 body: type: string - bodyPath: + bodyPath: type: string criteria: type: string minLength: 1 responseCode: type: string - minLength: 1 + minLength: 1 promProbe/inputs: type: object properties: @@ -207,7 +209,7 @@ spec: type: integer interval: type: integer - retry: + retry: type: integer probePollingInterval: type: integer @@ -217,10 +219,6 @@ spec: type: string pattern: ^(SOT|EOT|Edge|Continuous|OnChaos)$ minLength: 1 - operation: - type: string - pattern: ^(present|absent|create|delete)$ - minLength: 1 data: type: string components: @@ -378,9 +376,11 @@ spec: key: type: string minLength: 1 + allowEmptyValue: false value: type: string minLength: 1 + allowEmptyValue: false status: