#!/usr/bin/env groovy

pipelineJob("task.mirror.create") {
    description("Create a new apt mirror")

    parameters {
        stringParam(name: 'name',
                    defaultValue: '',
                    description: 'The name of the mirror to create')
        stringParam(name: 'url',
                    defaultValue: '',
                    description: 'The URL of the apt source to mirror')
        stringParam(name: 'components',
                    defaultValue: '',
                    description: 'A space separated list of components to mirror')
        stringParam(name: 'architectures',
                    defaultValue: 'armhf,arm64,amd64,all',
                    description: 'A comma separated list of architectures to mirror')
    }

    definition {
        cpsScm {
            scm {
                git {
                    remote {
                        url('https://coral.googlesource.com/gke-jenkins')
                    }
                    branches('*/master')
                }
            }

            scriptPath("cicd/pipelines/tasks/task_create_mirror.jenkins")
        }
    }
}
