---
apiVersion: litmuschaos.io/v1alpha1
description:
  message: |
    It injects AZ chaos to detach the target zones from the load balancer.
kind: ChaosExperiment
metadata:
  name: aws-az-chaos
  labels:
    name: aws-az-chaos
    app.kubernetes.io/part-of: litmus
    app.kubernetes.io/component: chaosexperiment
    app.kubernetes.io/version: ci
spec:
  definition:
    scope: Namespaced
    permissions:
      # Create and monitor the experiment & helper pods
      - apiGroups: [""]
        resources: ["pods"]
        verbs: ["create","delete","get","list","patch","update", "deletecollection"]
      # Performs CRUD operations on the events inside chaosengine and chaosresult
      - apiGroups: [""]
        resources: ["events"]
        verbs: ["create","get","list","patch","update"]
      # Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
      - apiGroups: [""]
        resources: ["secrets","configmaps"]
        verbs: ["get","list",]
      # Track and get the runner, experiment, and helper pods log
      - apiGroups: [""]
        resources: ["pods/log"]
        verbs: ["get","list","watch"]
      # for creating and managing to execute comands inside target container
      - apiGroups: [""]
        resources: ["pods/exec"]
        verbs: ["get","list","create"]
      # for configuring and monitor the experiment job by the chaos-runner pod
      - apiGroups: ["batch"]
        resources: ["jobs"]
        verbs: ["create","list","get","delete","deletecollection"]
      # for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
      - apiGroups: ["litmuschaos.io"]
        resources: ["chaosengines","chaosexperiments","chaosresults"]
        verbs: ["create","list","get","patch","update","delete"]
    image: "litmuschaos.docker.scarf.sh/litmuschaos/py-runner:latest"
    imagePullPolicy: Always
    args:
      - -c
      - python3 -u experiment -name aws-az-chaos
    command:
      - /bin/bash
    env:
      - name: TOTAL_CHAOS_DURATION
        value: '30'
      - name: CHAOS_INTERVAL
        value: '30'
      - name: LIB
        value: 'litmus'
      - name: LOAD_BALANCER_NAME
        value: ''
      - name: LOAD_BALANCER_ZONES
        value: ''
      - name: LOAD_BALANCERNAME_ARN
        value: 'na'
      - name: AWS_SHARED_CREDENTIALS_FILE
        value: "/tmp/cloud_config.yml"
      - name: RAMP_TIME
        value: ''
    labels:
      name: aws-az-chaos
      app.kubernetes.io/part-of: litmus
      app.kubernetes.io/component: experiment-job
      app.kubernetes.io/version: latest
    secrets:
      - name: cloud-secret
        mountPath: /tmp/
