input: root: RootObject objects: RootObject: id: RootObject properties: kubeconfig: display: description: The complete kubeconfig file as a string name: Kubeconfig file contents type: type_id: string required: true node_selector: display: description: kubernetes node name where the plugin must be deployed type: type_id: map values: type_id: string keys: type_id: string required: true duration: display: name: duration the scenario expressed in seconds description: stop stress test after T seconds. One can also specify the units of time in seconds, minutes, hours, days or years with the suffix s, m, h, d or y type: type_id: string required: true cpu_count: display: description: Number of CPU cores to be used (0 means all) name: number of CPUs type: type_id: integer required: true cpu_method: display: description: CPU stress method name: fine grained control of which cpu stressors to use (ackermann, cfloat etc.) type: type_id: string required: true cpu_load_percentage: display: description: load CPU by percentage name: CPU load type: type_id: integer required: true steps: kubeconfig: plugin: quay.io/arcalot/arcaflow-plugin-kubeconfig:latest input: kubeconfig: !expr $.input.kubeconfig stressng: plugin: quay.io/arcalot/arcaflow-plugin-stressng:latest step: workload input: StressNGParams: timeout: !expr $.input.duration cleanup: "true" items: - stressor: cpu cpu_count: !expr $.input.cpu_count cpu_method: !expr $.input.cpu_method cpu_load: !expr $.input.cpu_load_percentage deploy: type: kubernetes connection: !expr $.steps.kubeconfig.outputs.success.connection pod: metadata: namespace: default labels: arcaflow: stressng spec: nodeSelector: !expr $.input.node_selector pluginContainer: imagePullPolicy: Always outputs: success: stressng: !expr $.steps.stressng.outputs.success