2 ##############################################################################
3 # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. #
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may #
6 # not use this file except in compliance with the License. #
8 # 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, WITHOUT #
13 # 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 ##############################################################################
20 source $(dirname $0)/setenv.sh
24 echo "Please pass site name as command line argument"
33 # ECHO INPUT FILE TO LOGS FOR TROUBLESHOOTING
34 echo "#######################################"
35 echo "# USING INPUT FILE [${YAML_BUILDS}/${SITE}.yaml]"
36 echo "#######################################"
37 sed -E 's/(^.*password:).*/\1 ###PASSWORD REMOVED####/g' ${YAML_BUILDS}/${SITE}.yaml
38 echo "#######################################"
40 echo "# NOTE: root ssh key will be used for genesis_ssh_public_key if no key in yaml"
41 RCKEY=$(cat ~/.ssh/id_rsa.pub | sed -e 's/[\/&]/\\&/g')
42 sed -i -e "s/genesis_ssh_public_key\:\s*$/genesis_ssh_public_key: \'$RCKEY\'/" $SITE.yaml
44 python ./scripts/jcopy.py $SITE.yaml ./tools/j2/set_site_env.sh ./tools/env_$SITE.sh
45 source ./tools/env_$SITE.sh
47 if [ ! -d "$AIRSHIP_TREASUREMAP" ] && [ -f "${AIRSHIP_TREASUREMAP}.tgz" ]; then
48 echo "Expanding [${AIRSHIP_TREASUREMAP}.tgz] to directory [$AIRSHIP_TREASUREMAP]."
49 mkdir -p "$AIRSHIP_TREASUREMAP"
50 tar xzvf "${AIRSHIP_TREASUREMAP}.tgz" --strip-components=1 -C "$AIRSHIP_TREASUREMAP"
53 if [ ! -d "$AIRSHIP_TREASUREMAP" ]; then
54 echo "ERROR: Missing AIRSHIP_TREASUREMAP directory [$AIRSHIP_TREASUREMAP]."
58 if [ ! -d "$AIRSHIP_TEMPLATES" ]; then
59 echo "ERROR: Missing AIRSHIP_TEMPLATES directory [$AIRSHIP_TEMPLATES]."
63 echo "# Generating templates to $YAML_BUILDS/site/$SITE"
64 rm -rf $YAML_BUILDS/site/$SITE
65 mkdir -p $YAML_BUILDS/site/$SITE
66 python ./scripts/jcopy.py $SITE.yaml $AIRSHIP_TEMPLATES $YAML_BUILDS/site/$SITE
68 echo "# Merging config files to $AIRSHIP_TREASUREMAP/site/$SITE"
69 rm -rf $AIRSHIP_TREASUREMAP/site/$SITE
70 mkdir -p $AIRSHIP_TREASUREMAP/site/$SITE
72 echo "# Copying seaworth config files"
73 cp -r $AIRSHIP_TREASUREMAP/site/seaworthy/* $AIRSHIP_TREASUREMAP/site/$SITE
74 echo "# Removing seaworthy example certificate files"
75 rm -rf $AIRSHIP_TREASUREMAP/site/$SITE/secrets/certificates/
76 echo "# Overlaying [$SITE] specific config files"
77 cp -r $YAML_BUILDS/site/$SITE/* $AIRSHIP_TREASUREMAP/site/$SITE
79 CONFIG_COUNT=`find $AIRSHIP_TREASUREMAP/site/$SITE -type f | wc -l`
80 echo "#######################################"
81 echo "# Created site $AIRSHIP_TREASUREMAP/site/$SITE with $CONFIG_COUNT config files"
82 echo "#######################################"
84 # UNCOMMENT TO DEBUG/LINT GENERATED YAML FILES
86 #echo "# Linting config files in $AIRSHIP_TREASUREMAP/site/$SITE"
87 #cd $AIRSHIP_TREASUREMAP
88 #$AIRSHIP_TREASUREMAP/tools/airship pegleg site -r /target lint $SITE -x P001 -x P005 || true
91 echo "#######################################"
93 echo "#######################################"