#!/bin/bash

if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then
    set -x
fi
set -eu
set -o pipefail

function add_repo_5_0_0 {
    case $DISTRO_NAME in
        ubuntu )
            # Add repository with postgresql package (it's dependency of cloudera packages)
            # Base image doesn't contain this repo
            echo -e 'deb http://nova.clouds.archive.ubuntu.com/ubuntu/ precise universe multiverse main' >> /etc/apt/sources.list

            # Cloudera repositories
            echo 'deb [arch=amd64] http://archive.cloudera.com/cdh5/ubuntu/precise/amd64/cdh precise-cdh5.0.0 contrib' > /etc/apt/sources.list.d/cdh5.list
            echo 'deb-src http://archive.cloudera.com/cdh5/ubuntu/precise/amd64/cdh precise-cdh5.0.0 contrib' >> /etc/apt/sources.list.d/cdh5.list

            wget -qO - http://archive-primary.cloudera.com/cdh5/ubuntu/precise/amd64/cdh/archive.key | apt-key add -

            echo 'deb [arch=amd64] http://archive.cloudera.com/cm5/ubuntu/precise/amd64/cm precise-cm5.0.0 contrib' > /etc/apt/sources.list.d/cm5.list
            echo 'deb-src http://archive.cloudera.com/cm5/ubuntu/precise/amd64/cm precise-cm5.0.0 contrib' >> /etc/apt/sources.list.d/cm5.list

            wget -qO - http://archive-primary.cloudera.com/cm5/ubuntu/precise/amd64/cm/archive.key | apt-key add -

            apt-get update
        ;;
        centos | rhel )
            echo '[cloudera-cdh5]' > /etc/yum.repos.d/cloudera-cdh5.repo
            echo "name=Cloudera's Distribution for Hadoop, Version 5" >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo 'baseurl=http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5.0.0/' >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo 'gpgkey = http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera' >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/cloudera-cdh5.repo

            echo '[cloudera-manager]' > /etc/yum.repos.d/cloudera-manager.repo
            echo 'name=Cloudera Manager' >> /etc/yum.repos.d/cloudera-manager.repo
            echo 'baseurl=http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.0.0/' >> /etc/yum.repos.d/cloudera-manager.repo
            echo 'gpgkey = http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/RPM-GPG-KEY-cloudera' >> /etc/yum.repos.d/cloudera-manager.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/cloudera-manager.repo
            yum clean all
        ;;
    esac
}

function add_repo_5_3_0 {
    case $DISTRO_NAME in
        ubuntu )
            # Add repository with postgresql package (it's dependency of cloudera packages)
            # Base image doesn't contain this repo
            echo -e 'deb http://nova.clouds.archive.ubuntu.com/ubuntu/ precise universe multiverse main' >> /etc/apt/sources.list

            # Cloudera repositories
            echo 'deb [arch=amd64] http://archive.cloudera.com/cdh5/ubuntu/precise/amd64/cdh precise-cdh5.3.0 contrib' > /etc/apt/sources.list.d/cdh5.list
            echo 'deb-src http://archive.cloudera.com/cdh5/ubuntu/precise/amd64/cdh precise-cdh5.3.0 contrib' >> /etc/apt/sources.list.d/cdh5.list

            wget -qO - http://archive-primary.cloudera.com/cdh5/ubuntu/precise/amd64/cdh/archive.key | apt-key add -

            echo 'deb [arch=amd64] http://archive.cloudera.com/cm5/ubuntu/precise/amd64/cm precise-cm5.3.0 contrib' > /etc/apt/sources.list.d/cm5.list
            echo 'deb-src http://archive.cloudera.com/cm5/ubuntu/precise/amd64/cm precise-cm5.3.0 contrib' >> /etc/apt/sources.list.d/cm5.list

            wget -qO - http://archive-primary.cloudera.com/cm5/ubuntu/precise/amd64/cm/archive.key | apt-key add -

            wget -O /etc/apt/sources.list.d/kms.list http://archive.cloudera.com/navigator-keytrustee5/ubuntu/precise/amd64/navigator-keytrustee/cloudera.list
            wget -qO - http://archive.cloudera.com/navigator-keytrustee5/ubuntu/precise/amd64/navigator-keytrustee/archive.key | apt-key add -

            apt-get update
        ;;
        centos | rhel )
            echo '[cloudera-cdh5]' > /etc/yum.repos.d/cloudera-cdh5.repo
            echo "name=Cloudera's Distribution for Hadoop, Version 5" >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo 'baseurl=http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5.3.0/' >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo 'gpgkey = http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera' >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/cloudera-cdh5.repo

            echo '[cloudera-manager]' > /etc/yum.repos.d/cloudera-manager.repo
            echo 'name=Cloudera Manager' >> /etc/yum.repos.d/cloudera-manager.repo
            echo 'baseurl=http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.0/' >> /etc/yum.repos.d/cloudera-manager.repo
            echo 'gpgkey = http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/RPM-GPG-KEY-cloudera' >> /etc/yum.repos.d/cloudera-manager.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/cloudera-manager.repo

            wget -O /etc/yum.repos.d/kms.repo http://archive.cloudera.com/navigator-keytrustee5/redhat/6/x86_64/navigator-keytrustee/navigator-keytrustee5.repo

            yum clean all
        ;;
    esac
}

function add_repo_5_4_0 {
    case $DISTRO_NAME in
        ubuntu )
            # Add repository with postgresql package (it's dependency of cloudera packages)
            # Base image doesn't contain this repo
            echo -e 'deb http://nova.clouds.archive.ubuntu.com/ubuntu/ precise universe multiverse main' >> /etc/apt/sources.list

            # Cloudera repositories
            echo 'deb [arch=amd64] http://archive.cloudera.com/cdh5/ubuntu/precise/amd64/cdh precise-cdh5.4.0 contrib' > /etc/apt/sources.list.d/cdh5.list
            echo 'deb-src http://archive.cloudera.com/cdh5/ubuntu/precise/amd64/cdh precise-cdh5.4.0 contrib' >> /etc/apt/sources.list.d/cdh5.list

            wget -qO - http://archive-primary.cloudera.com/cdh5/ubuntu/precise/amd64/cdh/archive.key | apt-key add -

            echo 'deb [arch=amd64] http://archive.cloudera.com/cm5/ubuntu/precise/amd64/cm precise-cm5.4.0 contrib' > /etc/apt/sources.list.d/cm5.list
            echo 'deb-src http://archive.cloudera.com/cm5/ubuntu/precise/amd64/cm precise-cm5.4.0 contrib' >> /etc/apt/sources.list.d/cm5.list

            wget -qO - http://archive-primary.cloudera.com/cm5/ubuntu/precise/amd64/cm/archive.key | apt-key add -

            wget -O /etc/apt/sources.list.d/kms.list http://archive.cloudera.com/navigator-keytrustee5/ubuntu/precise/amd64/navigator-keytrustee/cloudera.list
            wget -qO - http://archive.cloudera.com/navigator-keytrustee5/ubuntu/precise/amd64/navigator-keytrustee/archive.key | apt-key add -

            apt-get update
        ;;
        centos | rhel )
            echo '[cloudera-cdh5]' > /etc/yum.repos.d/cloudera-cdh5.repo
            echo "name=Cloudera's Distribution for Hadoop, Version 5" >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo 'baseurl=http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5.4.0/' >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo 'gpgkey = http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera' >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/cloudera-cdh5.repo

            echo '[cloudera-manager]' > /etc/yum.repos.d/cloudera-manager.repo
            echo 'name=Cloudera Manager' >> /etc/yum.repos.d/cloudera-manager.repo
            echo 'baseurl=http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.4.0/' >> /etc/yum.repos.d/cloudera-manager.repo
            echo 'gpgkey = http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/RPM-GPG-KEY-cloudera' >> /etc/yum.repos.d/cloudera-manager.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/cloudera-manager.repo

            wget -O /etc/yum.repos.d/kms.repo http://archive.cloudera.com/navigator-keytrustee5/redhat/6/x86_64/navigator-keytrustee/navigator-keytrustee5.repo

            yum clean all
        ;;
    esac
}

function add_repo_5_5_0 {
    case $DISTRO_NAME in
        ubuntu )
            # Add repository with postgresql package (it's dependency of cloudera packages)
            # Base image doesn't contain this repo
            echo -e 'deb http://nova.clouds.archive.ubuntu.com/ubuntu/ trusty universe multiverse main' >> /etc/apt/sources.list

            # Cloudera repositories
            echo 'deb [arch=amd64] http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh trusty-cdh5.5.0 contrib' > /etc/apt/sources.list.d/cdh5.list
            echo 'deb-src http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh trusty-cdh5.5.0 contrib' >> /etc/apt/sources.list.d/cdh5.list

            wget -qO - http://archive-primary.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh/archive.key | apt-key add -

            echo 'deb [arch=amd64] http://archive.cloudera.com/cm5/ubuntu/trusty/amd64/cm trusty-cm5.5.0 contrib' > /etc/apt/sources.list.d/cm5.list
            echo 'deb-src http://archive.cloudera.com/cm5/ubuntu/trusty/amd64/cm trusty-cm5.5.0 contrib' >> /etc/apt/sources.list.d/cm5.list

            wget -qO - http://archive-primary.cloudera.com/cm5/ubuntu/trusty/amd64/cm/archive.key | apt-key add -

            wget -O /etc/apt/sources.list.d/kms.list http://archive.cloudera.com/navigator-keytrustee5/ubuntu/trusty/amd64/navigator-keytrustee/cloudera.list
            wget -qO - http://archive.cloudera.com/navigator-keytrustee5/ubuntu/trusty/amd64/navigator-keytrustee/archive.key | apt-key add -

            # add Kafka repository
            echo -e 'deb http://archive.cloudera.com/kafka/ubuntu/trusty/amd64/kafka/ trusty-kafka2.0.2 contrib' >> /etc/apt/sources.list
            wget -qO - https://archive.cloudera.com/kafka/ubuntu/trusty/amd64/kafka/archive.key | apt-key add -

            #change repository priority
            echo -e 'Package: zookeeper\nPin: origin "archive.cloudera.com"\nPin-Priority: 1001' > /etc/apt/preferences.d/cloudera-pin

            apt-get update
        ;;
        centos | rhel | centos7 | rhel7 )
            case $DISTRO_NAME in
                centos | rhel )
                    releasever=6
                ;;
                centos7 | rhel7 )
                    releasever=7
                ;;
            esac
            echo '[cloudera-cdh5]' > /etc/yum.repos.d/cloudera-cdh5.repo
            echo "name=Cloudera's Distribution for Hadoop, Version 5" >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo "baseurl=http://archive.cloudera.com/cdh5/redhat/$releasever/x86_64/cdh/5.5.0/" >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo "gpgkey = http://archive.cloudera.com/cdh5/redhat/$releasever/x86_64/cdh/RPM-GPG-KEY-cloudera" >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/cloudera-cdh5.repo

            echo '[cloudera-manager]' > /etc/yum.repos.d/cloudera-manager.repo
            echo 'name=Cloudera Manager' >> /etc/yum.repos.d/cloudera-manager.repo
            echo "baseurl=http://archive.cloudera.com/cm5/redhat/$releasever/x86_64/cm/5.5.0/" >> /etc/yum.repos.d/cloudera-manager.repo
            echo "gpgkey = http://archive.cloudera.com/cm5/redhat/$releasever/x86_64/cm/RPM-GPG-KEY-cloudera" >> /etc/yum.repos.d/cloudera-manager.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/cloudera-manager.repo

            echo '[navigator-keytrustee]' > /etc/yum.repos.d/kms.repo
            echo "name=Cloudera's Distribution for navigator-Keytrustee, Version 5" >> /etc/yum.repos.d/kms.repo
            echo "baseurl=http://archive.cloudera.com/navigator-keytrustee5/redhat/$releasever/x86_64/navigator-keytrustee/5.5.0/" >> /etc/yum.repos.d/kms.repo
            echo "gpgkey = http://archive.cloudera.com/navigator-keytrustee5/redhat/$releasever/x86_64/navigator-keytrustee/RPM-GPG-KEY-cloudera" >> /etc/yum.repos.d/kms.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/kms.repo

            echo "[cloudera-kafka]" > /etc/yum.repos.d/cloudera-kafka.repo
            echo "name=Cloudera's Distribution for kafka, Version 2.0.2" >> /etc/yum.repos.d/cloudera-kafka.repo
            echo "baseurl=http://archive.cloudera.com/kafka/redhat/$releasever/x86_64/kafka/2.0.2/" >> /etc/yum.repos.d/cloudera-kafka.repo
            echo "gpgkey = http://archive.cloudera.com/kafka/redhat/$releasever/x86_64/kafka/RPM-GPG-KEY-cloudera" >> /etc/yum.repos.d/cloudera-kafka.repo
            echo "gpgcheck = 1" >> /etc/yum.repos.d/cloudera-kafka.repo

            yum clean all
        ;;
    esac
}

function add_repo_5_7_x {
    case $DISTRO_NAME in
        ubuntu )
            # Add repository with postgresql package (it's dependency of cloudera packages)
            # Base image doesn't contain this repo
            echo -e 'deb http://nova.clouds.archive.ubuntu.com/ubuntu/ trusty universe multiverse main' >> /etc/apt/sources.list

            # Cloudera repositories
            echo "deb [arch=amd64] http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh trusty-cdh$DIB_CDH_MINOR_VERSION contrib" > /etc/apt/sources.list.d/cdh5.list
            echo "deb-src http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh trusty-cdh$DIB_CDH_MINOR_VERSION contrib" >> /etc/apt/sources.list.d/cdh5.list

            wget -qO - http://archive-primary.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh/archive.key | apt-key add -

            echo "deb [arch=amd64] http://archive.cloudera.com/cm5/ubuntu/trusty/amd64/cm trusty-cm$DIB_CDH_MINOR_VERSION contrib" > /etc/apt/sources.list.d/cm5.list
            echo "deb-src http://archive.cloudera.com/cm5/ubuntu/trusty/amd64/cm trusty-cm$DIB_CDH_MINOR_VERSION contrib" >> /etc/apt/sources.list.d/cm5.list

            wget -qO - http://archive-primary.cloudera.com/cm5/ubuntu/trusty/amd64/cm/archive.key | apt-key add -

            wget -O /etc/apt/sources.list.d/kms.list http://archive.cloudera.com/navigator-keytrustee5/ubuntu/trusty/amd64/navigator-keytrustee/cloudera.list
            wget -qO - http://archive.cloudera.com/navigator-keytrustee5/ubuntu/trusty/amd64/navigator-keytrustee/archive.key | apt-key add -

            # add Kafka repository
            echo -e 'deb http://archive.cloudera.com/kafka/ubuntu/trusty/amd64/kafka/ trusty-kafka2.0.2 contrib' >> /etc/apt/sources.list
            wget -qO - https://archive.cloudera.com/kafka/ubuntu/trusty/amd64/kafka/archive.key | apt-key add -

            #change repository priority
            echo -e 'Package: zookeeper\nPin: origin "archive.cloudera.com"\nPin-Priority: 1001' > /etc/apt/preferences.d/cloudera-pin

            apt-get update
        ;;
        centos | rhel | centos7 | rhel7 )
            case $DISTRO_NAME in
                centos | rhel )
                    releasever=6
                ;;
                centos7 | rhel7 )
                    releasever=7
                ;;
            esac
            echo '[cloudera-cdh5]' > /etc/yum.repos.d/cloudera-cdh5.repo
            echo "name=Cloudera's Distribution for Hadoop, Version 5" >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo "baseurl=http://archive.cloudera.com/cdh5/redhat/$releasever/x86_64/cdh/$DIB_CDH_MINOR_VERSION/" >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo "gpgkey = http://archive.cloudera.com/cdh5/redhat/$releasever/x86_64/cdh/RPM-GPG-KEY-cloudera" >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/cloudera-cdh5.repo

            echo '[cloudera-manager]' > /etc/yum.repos.d/cloudera-manager.repo
            echo 'name=Cloudera Manager' >> /etc/yum.repos.d/cloudera-manager.repo
            echo "baseurl=http://archive.cloudera.com/cm5/redhat/$releasever/x86_64/cm/$DIB_CDH_MINOR_VERSION/" >> /etc/yum.repos.d/cloudera-manager.repo
            echo "gpgkey = http://archive.cloudera.com/cm5/redhat/$releasever/x86_64/cm/RPM-GPG-KEY-cloudera" >> /etc/yum.repos.d/cloudera-manager.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/cloudera-manager.repo

            echo '[navigator-keytrustee]' > /etc/yum.repos.d/kms.repo
            echo "name=Cloudera's Distribution for navigator-Keytrustee, Version 5" >> /etc/yum.repos.d/kms.repo
            echo "baseurl=http://archive.cloudera.com/navigator-keytrustee5/redhat/$releasever/x86_64/navigator-keytrustee/$DIB_CDH_MINOR_VERSION/" >> /etc/yum.repos.d/kms.repo
            echo "gpgkey = http://archive.cloudera.com/navigator-keytrustee5/redhat/$releasever/x86_64/navigator-keytrustee/RPM-GPG-KEY-cloudera" >> /etc/yum.repos.d/kms.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/kms.repo

            echo "[cloudera-kafka]" > /etc/yum.repos.d/cloudera-kafka.repo
            echo "name=Cloudera's Distribution for kafka, Version 2.0.2" >> /etc/yum.repos.d/cloudera-kafka.repo
            echo "baseurl=http://archive.cloudera.com/kafka/redhat/$releasever/x86_64/kafka/2.0.2/" >> /etc/yum.repos.d/cloudera-kafka.repo
            echo "gpgkey = http://archive.cloudera.com/kafka/redhat/$releasever/x86_64/kafka/RPM-GPG-KEY-cloudera" >> /etc/yum.repos.d/cloudera-kafka.repo
            echo "gpgcheck = 1" >> /etc/yum.repos.d/cloudera-kafka.repo

            yum clean all
        ;;
    esac
}

function add_repo_5_9_x {
    case $DISTRO_NAME in
        ubuntu )
            # Add repository with postgresql package (it's dependency of cloudera packages)
            # Base image doesn't contain this repo
            echo -e 'deb http://nova.clouds.archive.ubuntu.com/ubuntu/ trusty universe multiverse main' >> /etc/apt/sources.list

            # Cloudera repositories
            echo "deb [arch=amd64] http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh trusty-cdh$DIB_CDH_MINOR_VERSION contrib" > /etc/apt/sources.list.d/cdh5.list
            echo "deb-src http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh trusty-cdh$DIB_CDH_MINOR_VERSION contrib" >> /etc/apt/sources.list.d/cdh5.list

            wget -qO - http://archive-primary.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh/archive.key | apt-key add -

            echo "deb [arch=amd64] http://archive.cloudera.com/cm5/ubuntu/trusty/amd64/cm trusty-cm$DIB_CDH_MINOR_VERSION contrib" > /etc/apt/sources.list.d/cm5.list
            echo "deb-src http://archive.cloudera.com/cm5/ubuntu/trusty/amd64/cm trusty-cm$DIB_CDH_MINOR_VERSION contrib" >> /etc/apt/sources.list.d/cm5.list

            wget -qO - http://archive-primary.cloudera.com/cm5/ubuntu/trusty/amd64/cm/archive.key | apt-key add -

            wget -O /etc/apt/sources.list.d/kms.list http://archive.cloudera.com/navigator-keytrustee5/ubuntu/trusty/amd64/navigator-keytrustee/cloudera.list
            wget -qO - http://archive.cloudera.com/navigator-keytrustee5/ubuntu/trusty/amd64/navigator-keytrustee/archive.key | apt-key add -

            # add Kafka repository
            echo -e 'deb http://archive.cloudera.com/kafka/ubuntu/trusty/amd64/kafka/ trusty-kafka2.0.2 contrib' >> /etc/apt/sources.list
            wget -qO - https://archive.cloudera.com/kafka/ubuntu/trusty/amd64/kafka/archive.key | apt-key add -

            #change repository priority
            echo -e 'Package: zookeeper\nPin: origin "archive.cloudera.com"\nPin-Priority: 1001' > /etc/apt/preferences.d/cloudera-pin

            apt-get update
        ;;
        centos | rhel | centos7 | rhel7 )
            case $DISTRO_NAME in
                centos | rhel )
                    releasever=6
                ;;
                centos7 | rhel7 )
                    releasever=7
                ;;
            esac
            echo '[cloudera-cdh5]' > /etc/yum.repos.d/cloudera-cdh5.repo
            echo "name=Cloudera's Distribution for Hadoop, Version 5" >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo "baseurl=http://archive.cloudera.com/cdh5/redhat/$releasever/x86_64/cdh/$DIB_CDH_MINOR_VERSION/" >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo "gpgkey = http://archive.cloudera.com/cdh5/redhat/$releasever/x86_64/cdh/RPM-GPG-KEY-cloudera" >> /etc/yum.repos.d/cloudera-cdh5.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/cloudera-cdh5.repo

            echo '[cloudera-manager]' > /etc/yum.repos.d/cloudera-manager.repo
            echo 'name=Cloudera Manager' >> /etc/yum.repos.d/cloudera-manager.repo
            echo "baseurl=http://archive.cloudera.com/cm5/redhat/$releasever/x86_64/cm/$DIB_CDH_MINOR_VERSION/" >> /etc/yum.repos.d/cloudera-manager.repo
            echo "gpgkey = http://archive.cloudera.com/cm5/redhat/$releasever/x86_64/cm/RPM-GPG-KEY-cloudera" >> /etc/yum.repos.d/cloudera-manager.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/cloudera-manager.repo

            echo '[navigator-keytrustee]' > /etc/yum.repos.d/kms.repo
            echo "name=Cloudera's Distribution for navigator-Keytrustee, Version 5" >> /etc/yum.repos.d/kms.repo
            echo "baseurl=http://archive.cloudera.com/navigator-keytrustee5/redhat/$releasever/x86_64/navigator-keytrustee/$DIB_CDH_MINOR_VERSION/" >> /etc/yum.repos.d/kms.repo
            echo "gpgkey = http://archive.cloudera.com/navigator-keytrustee5/redhat/$releasever/x86_64/navigator-keytrustee/RPM-GPG-KEY-cloudera" >> /etc/yum.repos.d/kms.repo
            echo 'gpgcheck = 1' >> /etc/yum.repos.d/kms.repo

            echo "[cloudera-kafka]" > /etc/yum.repos.d/cloudera-kafka.repo
            echo "name=Cloudera's Distribution for kafka, Version 2.0.2" >> /etc/yum.repos.d/cloudera-kafka.repo
            echo "baseurl=http://archive.cloudera.com/kafka/redhat/$releasever/x86_64/kafka/2.0.2/" >> /etc/yum.repos.d/cloudera-kafka.repo
            echo "gpgkey = http://archive.cloudera.com/kafka/redhat/$releasever/x86_64/kafka/RPM-GPG-KEY-cloudera" >> /etc/yum.repos.d/cloudera-kafka.repo
            echo "gpgcheck = 1" >> /etc/yum.repos.d/cloudera-kafka.repo

            yum clean all
        ;;
    esac
}

DIB_CDH_MINOR_VERSION=${DIB_CDH_MINOR_VERSION:-$DIB_CDH_VERSION.0}

# Call version-specific script to install the desired version of CDH
case "$DIB_CDH_VERSION" in
    5.0)
        echo "Installing CDH Version $DIB_CDH_VERSION..."
        add_repo_5_0_0
        ;;
    5.3)
        echo "Installing CDH Version $DIB_CDH_VERSION..."
        add_repo_5_3_0
        ;;
    5.4)
        echo "Installing CDH Version $DIB_CDH_VERSION..."
        add_repo_5_4_0
        ;;
    5.5)
        echo "Installing CDH Version $DIB_CDH_VERSION..."
        add_repo_5_5_0
        ;;
    5.7)
        echo "Installing CDH Version $DIB_CDH_MINOR_VERSION..."
        add_repo_5_7_x
        ;;
    5.9)
        echo "Installing CDH Version $DIB_CDH_MINOR_VERSION..."
        add_repo_5_9_x
        ;;
    *)
        echo "Invalid CDH Version : $DIB_CDH_VERSION specified, exiting install."
        exit 1
esac
