+++ /dev/null
-#!/bin/sh -x
-
-# Copyright (c) 2021 AT&T. All rights reserved.
-#
-# 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.
-
-# Pre-requisite
-# 1. Chart packages available under local directory provided as input/argument
-# 2. helm client installed with push plugin
-# 3. ONAP chartmuseum service deployed
-
-usage()
-{
- echo "Chart Base directory must be provided as input!!"
- echo "Usage: registry-initialize.sh -d chartdirectory \
-<-n namespace override> <-r helmrelease override>"
- exit 1
-}
-
-if [ $# -eq 0 ]; then
- usage
-fi
-
-# defaults
-NAMESPACE=onap
-RLS_NAME=onap
-LOGIN=""
-PASSWORD=""
-
-while getopts ":d:n:r:" opt; do
- case $opt in
- d) BASEDIR="$OPTARG"
- ;;
- n) NAMESPACE="$OPTARG"
- ;;
- r) RLS_NAME="$OPTARG"
- ;;
- \?) echo "Invalid option -$OPTARG" >&2
- usage
- ;;
- esac
-done
-
-if [ -z "$BASEDIR" ]; then
- exit "Chart base directory provided $BASEDIR is empty"
-fi
-
-if [ "$(find $BASEDIR -maxdepth 1 -name '*tgz' -print -quit)" ]; then
- echo "$BASEDIR valid"
-else
- exit "No chart package on $BASEDIR provided"
-fi
-
-LOGIN=$(kubectl -n "$NAMESPACE" get secret \
- "${RLS_NAME}-chartmuseum-registrycred" \
- -o jsonpath='{.data.login}' | base64 -d)
-
-PASSWORD=$(kubectl -n "$NAMESPACE" get secret \
- "${RLS_NAME}-chartmuseum-registrycred" \
- -o jsonpath='{.data.password}' | base64 -d)
-
-if [ -z "$LOGIN" ] || [ -z "$PASSWORD" ]; then
- echo "Login/Password credential for target registry cannot be retrieved"
- exit 1
-fi
-
-# Expose cluster port via port-forwarding
-kubectl -n $NAMESPACE port-forward service/chart-museum 27017:80 &
-if [ $? -ne 0 ]; then
- echo "Error in portforwarding; registry cannot be added!!"
- exit 1
-fi
-
-sleep 5
-
-# Add chartmuseum repo as helm repo
-# Credentials should match config defined in
-# oom\kubernetes\platform\components\chartmuseum\values.yaml
-helm repo add k8s-registry http://127.0.0.1:27017 --username "$LOGIN" \
- --password "$PASSWORD"
-if [ $? -ne 0 ]; then
- echo "registry cannot be added!!"
- pkill -f "port-forward service/chart-museum"
- exit 1
-fi
-
-# Initial scope is pushing only dcae charts
-# can be expanded to include all onap charts if required
-for file in $BASEDIR/dcae*tgz; do
- # use helm plugin to push charts
- helm push $file k8s-registry
- if [ $? -eq 0 ]; then
- echo "$file uploaded to registry successfully"
- else
- echo "registry upload failed!!"
- pkill -f "port-forward service/chart-museum"
- helm repo remove k8s-registry
- exit 1
- fi
-done
-
-echo "All Helm charts successfully uploaded into internal repository"
-
-# Remove the port-forwarding process
-pkill -f "port-forward service/chart-museum"
-
-# Remove helm registry from local
-helm repo remove k8s-registry