Skip to content
This repository was archived by the owner on Jul 31, 2023. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 31 additions & 24 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#*****************************************************************
#*
#* Copyright 2019 IBM Corporation
#* Copyright 2019, 2020 IBM Corporation
#*
#* Licensed under the Apache License, Version 2.0 (the "License");
#* you may not use this file except in compliance with the License.
Expand All @@ -18,47 +18,54 @@
#*****************************************************************
org=$1
kubeenv=$2
arg=$org
# make sure running in build directory
if [ $(echo $PWD | awk '{ n=split($0,d,"/"); print d[n] }') != 'build' ]; then
echo 'Error: $kappnav/build dir must be current dir.'
echo ''
arg="--?"
org="--?"
fi

if [ x$arg == x'--?' ] || [ x$arg == 'x' ]; then
if [ x$org == x'--?' ] || [ x$org == 'x' ]; then
echo "Install kAppNav from specified dockerhub.com organization."
echo "Will install images tagged latest."
echo
echo "syntax:"
echo
echo "install.sh <docker organization> [kube env]"
echo
echo "kube env is one of: ocp, okd, minikube. Default is okd."
exit 1
echo "Will install images tagged latest, but if org is kappnav will install dev tag"
echo
echo "syntax:"
echo
echo "install.sh <docker organization> [kube env]"
echo
echo "kube env is one of: ocp, okd, minikube. Default is okd."
exit 1
fi

# set default kubeenv if not specified
if [ x$kubeenv == 'x' ]; then
kubeenv=okd
kubeenv=okd
else
# validate
if ! [ $kubeenv == 'ocp' ] && ! [ $kubeenv == 'okd' ] && ! [ $kubeenv == 'minikube' ]; then
echo "kubeEnv $kubeenv value is not valid. Must be ocp, okd, or minikube"
exit 1
fi
if ! [ $kubeenv == 'ocp' ] && ! [ $kubeenv == 'okd' ] && ! [ $kubeenv == 'minikube' ]; then
echo "kubeEnv $kubeenv value is not valid. Must be ocp, okd, or minikube"
exit 1
fi
fi

if [ -d ../operator ]; then

# pluck image tag off operator image
tag=$(cat ../operator/kappnav.yaml | grep operator: | awk '{ split($0,p,":"); print p[3] }')
# pluck image tag off operator image
tag=$(cat ../operator/kappnav.yaml | grep operator: | awk '{ split($0,p,":"); print p[3] }')

echo Install kappnav to kubeenv $kubeenv
kubectl create namespace kappnav
echo Install kappnav to kubeenv $kubeenv
kubectl create namespace kappnav

cat ../operator/kappnav.yaml | sed "s|kubeEnv: okd|kubeEnv: $kubeenv|" | sed "s|repository: kappnav/|repository: $org/kappnav-|" | sed "s|tag: $tag|tag: latest|" | sed "s|image: kappnav/operator:$tag|image: $org/kappnav-operator:latest|" | kubectl create -f - -n kappnav
if [ $org == 'kappnav' ]; then
#imagePrefix will be "" in this case
newTag=dev
else
imagePrefix=kappnav-
newTag=latest
fi
operator=operator
cat ../operator/kappnav.yaml | sed "s|kubeEnv: okd|kubeEnv: $kubeenv|" | sed "s|repository: kappnav/|repository: $org/$imagePrefix|" | sed "s|tag: $tag|tag: $newTag|" | sed "s|image: kappnav/operator:$tag|image: $org/$imagePrefix$operator:$newTag|" | kubectl create -f - -n kappnav
else
echo Cannot install: file ../operator/kappnav.yaml not found.
exit 1
echo Cannot install: file ../operator/kappnav.yaml not found.
exit 1
fi