# Copyright (c) 2019 SUSE LLC
#
# SPDX-License-Identifier: Apache-2.0

description: |
  This file is used by kata-pkgsync for packages synchronization from OBS to
  Packagecloud.
  It contains information needed to locate and access packages on OBS,
  and to push them to Packagecloud.

  The file contains three top level nodes, with the following content:

  obsprojects:
    Each of the top-level keys listed here is a full name or base name of
    a OBS project.

    In case of full name, the node identifies one OBS project.

    In case of base name, the node identifies multiple OBS projects. The
    complete project names are built combining "architectures" and "releases"
    children nodes, using the standardized Kata way to name a OBS projects,
    i.e.  "<base name>:<architecture>:<release>"
    In this case the node includes a "architectures" list and/or a "releases"
    list, e.g.:

      releases:
          - master
          - alpha
          - beta

      architectures:
          - x86_64
          - aarch64

    Each top-level key must include an "auth" node:
        auth:
            user: username
            password: password

  packagecloud:
    This node is used to identify the destination Packagecloud repository,
    and to provide authentication details. The "token" value is the API
    token key that can be obtained from the Packagecloud web interface.

  distro-mapping:
    This node provides a mapping between OBS repositories name and
    Packagecloud distribution "name" and "version".
    On OBS, a package is built for multiple target repositories, to generate
    files for different distributions. Repositories names and configurations
    are customizable.
    Each package uploaded on Packagecloud needs to be assigned to a specified
    distribution "name" and "version", referred as "distro/version".
    "distro" and "version" are fixed and selected by Packagecloud.
    If a OBS repository does not have a corresponding Packagecloud
    "distro/version", then it must be specified as a key with an
    empty value.


obsprojects:
    home:katacontainers:releases:
        auth:
            user: foo
            password: bar

        releases:
            - master
            - stable-1.5
            - stable-1.6

        architectures:
            - x86_64

packagecloud:
    auth:
        user: baz
        token: abc1234

    repo: testing

distro-mapping:
    openSUSE_Leap_15.0: opensuse/15.0
    openSUSE_Leap_42.3: opensuse/42.3
    Fedora_29         : fedora/29
    Fedora_28         : fedora/28
    xUbuntu_18.04     : ubuntu/bionic
    xUbuntu_16.04     : ubuntu/xenial
    RHEL_7            : el/7
    SLE_12_SP3        : sles/12.3
    Debian_9          : debian/stretch
    CentOS_7          :
    openSUSE_Tumbleweed:

