2 ################################################################################
3 # Copyright (c) 2019 AT&T Intellectual Property. #
5 # Licensed under the Apache License, Version 2.0 (the "License"); #
6 # you may not use this file except in compliance with the License. #
7 # You may obtain a copy of the License at #
9 # http://www.apache.org/licenses/LICENSE-2.0 #
11 # Unless required by applicable law or agreed to in writing, software #
12 # distributed under the License is distributed on an "AS IS" BASIS, #
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
14 # See the License for the specific language governing permissions and #
15 # limitations under the License. #
16 ################################################################################
19 while [ -n "$1" ]; do # while loop starts
30 ;; # Message for -b option
34 ;; # Message for -c option
40 -d) DESCRIPTOR_PATH=$2
44 -c) CONFIG_JSON_PATH=$2
48 -h) HELM_REPO_USERNAME=$2
52 -p) HELM_REPO_PASSWORD=$2
56 *) echo "Option $1 not recognized" ;; # In case you typed a different option other than a,b,c
67 if [ -z $CHART_NAME ]; then
68 echo "Please specify chart name using -n option."
71 if [ -z $CHART_VERSION ]; then
72 echo "Please specify chart version using -v option."
75 if [ -z $FULLIMAGE ]; then
76 echo "Please specify image using -i option."
79 if [ -z $DESCRIPTOR_PATH ]; then
80 echo "Please specify descriptor file using -d option."
83 if [ -z $CONFIG_JSON_PATH ]; then
84 echo "Please specify config json file using -c option."
89 if [ ! -f $DESCRIPTOR_PATH ]; then
90 echo "Descriptor file cannot be founded at $DESCRIPTOR_PATH"
93 if [ ! -f $CONFIG_JSON_PATH ]; then
94 echo "Config json file cannot be founded at $CONFIG_JSON_PATH"
99 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
102 source $DIR/../etc/xapp.conf
104 if [ -z $OVERRIDEYAML ]; then
105 HELM_REPO=$default_helm_repo
106 DOCKER_REGISTRY=$default_docker_registry
108 helm_repo_override=$(grep "^ *helmRepository:" $OVERRIDEYAML | awk '{gsub(/ /,""); gsub(/\"/,""); split($0, b, "tory:");split(b[2],c,"#"); print c[1]}')
109 docker_reg_override=$(grep "^ *repository:" $OVERRIDEYAML | awk '{ gsub(/ /,""); gsub(/\"/,""); split($0, b, "tory:");split(b[2],c,"#"); print c[1]}')
110 if [ -z $helm_repo_override ]; then
111 HELM_REPO=$default_helm_repo
113 HELM_REPO=$helm_repo_override
116 if [ -z $docker_reg_override ]; then
117 DOCKER_REGISTRY=$default_docker_registry
119 DOCKER_REGISTRY=$docker_reg_override
126 rm -rf /tmp/$CHART_NAME
128 cp -r $DIR/../helm/xapp-std/ /tmp/$CHART_NAME
132 sed -i "s/^name: xapp-std/name: $CHART_NAME/" /tmp/$CHART_NAME/Chart.yaml
133 sed -i "s/^version: 0.0.1/version: $CHART_VERSION/" /tmp/$CHART_NAME/Chart.yaml
136 registry_path=$(echo $FULLIMAGE | awk '{n=split($0, a, "/"); if(n>1) print a[1]}')
140 tag=$(echo $FULLIMAGE | awk '{n=split($0, a, "/"); split(a[n], b, ":"); print b[2]}')
142 image=$(echo $FULLIMAGE | awk -v head="$registry_path/" -v tail=":$tag" '{gsub (head, ""); gsub(tail,""); gsub(/\//,"\\/"); print $0}')
145 sed -i "s/^ name: xapp-std/ name: $CHART_NAME/" /tmp/$CHART_NAME/values.yaml
146 sed -i "s/^ name: xapp-std/ name: $image/" /tmp/$CHART_NAME/values.yaml
147 sed -i "s/^ tag: latest/ tag: $tag/" /tmp/$CHART_NAME/values.yaml
150 if [ -z $registry_path ]; then
151 sed -i "s/^ repository: xapp-std-reg/ repository: $DOCKER_REGISTRY/" /tmp/$CHART_NAME/values.yaml
153 sed -i "s/^ repository: xapp-std-reg/ repository: $registry_path/" /tmp/$CHART_NAME/values.yaml
157 mkdir /tmp/$CHART_NAME/config/
158 mkdir /tmp/$CHART_NAME/descriptors/
160 cp $CONFIG_JSON_PATH /tmp/$CHART_NAME/config/
161 cp $DESCRIPTOR_PATH /tmp/$CHART_NAME/descriptors/
164 helm package -d /tmp /tmp/$CHART_NAME
168 #curl -k -u $HELM_REPO_USERNAME:$HELM_REPO_PASSWORD $HELM_REPO --upload-file /tmp/$CHART_NAME-$CHART_VERSION.tgz -v
169 curl -Lk -u $HELM_REPO_USERNAME:$HELM_REPO_PASSWORD "$HELM_REPO"/api/charts --data-binary "@/tmp/$CHART_NAME-$CHART_VERSION.tgz"