#!/usr/bin/env groovy

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

    parameters {
        stringParam('name',
                    '',
                    'The name of the mirror to create')
        stringParam('url',
                    '',
                    'The URL of the apt source to mirror')
        stringParam('release',
                    '',
                    'The name of the release to mirror')
        stringParam('components',
                    '',
                    'A space separated list of components to mirror')
        stringParam('architectures',
                    'armhf,arm64,amd64',
                    'A comma separated list of architectures to mirror')
        stringParam('keys',
                    '',
                    'A space separated list of keys to import from the public keyservers')
    }

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

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