github.com/google/syzkaller@v0.0.0-20251211124644-a066d2bc4b02/syz-cluster/workflow/boot-step/workflow-template.yaml (about)

     1  # Copyright 2025 syzkaller project authors. All rights reserved.
     2  # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
     3  
     4  apiVersion: argoproj.io/v1alpha1
     5  kind: WorkflowTemplate
     6  metadata:
     7    name: boot-step-template
     8  spec:
     9    templates:
    10      - name: boot-step
    11        inputs:
    12          parameters:
    13            - name: config
    14              value: ""
    15            - name: base-build-id
    16              value: ""
    17            - name: patched-build-id
    18              value: ""
    19            - name: test-name
    20              value: ""
    21            - name: report-findings
    22              value: "false"
    23          artifacts:
    24            - name: kernel
    25              path: /base
    26        container:
    27          image: ${IMAGE_PREFIX}boot-step:${IMAGE_TAG}
    28          imagePullPolicy: IfNotPresent
    29          command: ["/bin/boot-step"]
    30          args: [
    31            "--config", "{{inputs.parameters.config}}",
    32            "--output", "/output/result.json",
    33            "--session", "{{workflow.parameters.session-id}}",
    34            "--test_name", "{{inputs.parameters.test-name}}",
    35            "--base_build", "{{inputs.parameters.base-build-id}}",
    36            "--patched_build", "{{inputs.parameters.patched-build-id}}",
    37            "-findings={{inputs.parameters.report-findings}}"
    38            ]
    39          resources:
    40            requests:
    41              cpu: 6
    42              memory: 24G
    43            limits:
    44              cpu: 8
    45              memory: 32G
    46          volumeMounts:
    47          - name: workdir
    48            mountPath: /workdir
    49          - name: output
    50            mountPath: /output
    51          - name: dev-kvm
    52            mountPath: /dev/kvm
    53          # Needed for /dev/kvm.
    54          # TODO: there's a "device plugin" mechanism in k8s that can share it more safely.
    55          securityContext:
    56            privileged: true
    57        volumes:
    58          - name: workdir
    59            emptyDir: {}
    60          - name: output
    61            emptyDir: {}
    62          - name: dev-kvm
    63            hostPath:
    64              path: /dev/kvm
    65              type: CharDevice
    66        outputs:
    67          parameters:
    68            - name: result
    69              valueFrom:
    70                path: /output/result.json