---
# ============LICENSE_START=======================================================
#  Copyright (C) 2021 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================

- project:
    name: 'meridio-periodic-security-scan'

    project: 'meridio-periodic-security-scan'

    jobs:
      - 'meridio-periodic-security-scan'

- job-template:
    name: 'meridio-periodic-security-scan'
    project-type: pipeline
    disabled: '{obj:disabled}'

    concurrent: true

    properties:
      - github:
          url: https://github.com/Nordix/Meridio

    parameters:
      - string:
          name: GIT_PROJECT
          default: "https://github.com/Nordix/Meridio.git"
          description: Git URL of the project
      - string:
          name: CURRENT_BRANCH
          default: "master"
          description: Current Git branch
      - string:
          name: DEFAULT_BRANCH
          default: "master"
          description: default branch
      - string:
          name: IMAGE_REGISTRY
          default: 'registry.nordix.org/cloud-native/meridio'
          description: Meridio image regsitry
      - string:
          name: IMAGE_VERSION
          default: 'latest'
          description: Version of the images
      - string:
          name: EMAIL_RECIPIENTS
          default: 'lionel.jouin@est.tech'
          description: Recipients of the report
      - string:
          name: IMAGE_NAMES
          default: 'stateless-lb proxy tapa ipam nsp frontend operator'
          description: Images to compile
      - bool:
          name: DRY_RUN
          default: false
          description: Dry Run

    triggers:
      - timed: '@midnight'

    dsl: 
      !include-raw-escape: Jenkinsfile.security-scan

# vim: set ts=2 sw=2 expandtab:
