9700b1ad53
Change-Id: I1e0c0cf25ca6a2632567d0b704c934797c188f0d
77 lines
2.9 KiB
Bash
Executable File
77 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright 2018 AT&T Intellectual Property. All other 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.
|
|
|
|
set -e
|
|
|
|
# rangercli require /${HOME}/openrc environment file that contains all the
|
|
# required env variables to run the ranger CLI commands.
|
|
envfile="${HOME}/openrc"
|
|
|
|
if [ ! -f $envfile ]
|
|
then
|
|
echo "Environment file $envfile not found."
|
|
exit 1
|
|
fi
|
|
|
|
# source the environment file if exists
|
|
. ${HOME}/openrc
|
|
|
|
# User can run the script as they would execute the ranger CLI.
|
|
# For instance, to run the './orm cms create_customer' command, user can execute
|
|
# the following command after setting up the required environment variables:
|
|
#
|
|
# $ ./rangercli.sh ./orm cms create_customer /target/cms/create_basic_cms.json
|
|
#
|
|
|
|
# NOTE: If user is executing the script from outside the cluster, e.g. from
|
|
# a remote jump server, then he/she will need to ensure that the DNS server
|
|
# is able to resolve the FQDN of the Ranger and Keystone public URL (both
|
|
# will be pointing to the IP of the Ingress Controller). If the DNS resolution
|
|
# is not available, the user will need to ensure that the /etc/hosts file is
|
|
# properly updated before running the script.
|
|
|
|
### Additional variables required to run ranger cli commands:
|
|
# RANGERCLI_HOSTPATH: we'll always use '/target' as defined below
|
|
RANGERCLI_HOSTPATH=${RANGERCLI_HOSTPATH:-"/target"}
|
|
# RANGERCLI_JSONPATH = provide full path of your ranger CLI JSON files
|
|
RANGERCLI_JSONPATH=${RANGERCLI_JSONPATH}
|
|
# RANGERCLI_IMAGE = provide rangercli docker image name to use
|
|
RANGERCLI_IMAGE=${RANGERCLI_IMAGE}
|
|
|
|
# Define Base Docker Command
|
|
base_docker_command=$(cat << EndOfCommand
|
|
sudo docker run -t --rm --net=host
|
|
-e http_proxy=${HTTP_PROXY}
|
|
-e https_proxy=${HTTPS_PROXY}
|
|
-e no_proxy=${NO_PROXY:-127.0.0.1,localhost,.svc.cluster.local}
|
|
-e RANGER_USERNAME=${RANGER_USERNAME:-ranger-admin}
|
|
-e RANGER_TENANT_NAME=${RANGER_TENANT_NAME:-service}
|
|
-e RANGER_USER_DOMAIN=${RANGER_USER_DOMAIN:-default}
|
|
-e RANGER_PROJECT_DOMAIN=${RANGER_PROJECT_DOMAIN:-default}
|
|
-e RANGER_PASSWORD=${RANGER_PASSWORD:-xxxxxxxx}
|
|
-e RANGER_AUTH_REGION=${RANGER_AUTH_REGION}
|
|
-e RANGER_KEYSTONE_AUTH_URL=${RANGER_KEYSTONE_AUTH_URL}
|
|
-e RANGER_CMS_BASE_URL=${RANGER_CMS_BASE_URL}
|
|
-e RANGER_FMS_BASE_URL=${RANGER_FMS_BASE_URL}
|
|
-e RANGER_IMS_BASE_URL=${RANGER_IMS_BASE_URL}
|
|
-e RANGER_RMS_BASE_URL=${RANGER_RMS_BASE_URL}
|
|
-e verify=False
|
|
-it
|
|
EndOfCommand
|
|
)
|
|
|
|
# Execute Ranger CLI
|
|
${base_docker_command} -v "${RANGERCLI_JSONPATH}":"${RANGERCLI_HOSTPATH}" "${RANGERCLI_IMAGE}" ./orm "$@"
|