#!/bin/bash # # Copyright 2020 VEXXHOST, Inc. # # 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. # install_keystone() - Collect source and prepare function install_keystone { echo "Both installation and startup are included in the deployment of keystone crd." } export -f install_keystone # init_keystone() - Initialize databases, etc. function init_keystone { # NOTE(mnaser): Permissions here are bad but it's temporary so we don't care as much. sudo chmod -Rv 777 /etc/keystone if [[ "$RECREATE_KEYSTONE_DB" == True ]]; then # (Re)create keystone database recreate_database keystone fi # DB sync time_start "dbsync" sudo docker run -v /etc/keystone:/etc/keystone vexxhost/keystone:latest keystone-manage --config-file $KEYSTONE_CONF db_sync time_stop "dbsync" # Get fernet keys if [[ "$KEYSTONE_TOKEN_FORMAT" == "fernet" ]]; then rm -rf "$KEYSTONE_CONF_DIR/fernet-keys/" mkdir "$KEYSTONE_CONF_DIR/fernet-keys/" sudo chmod -Rv 777 "$KEYSTONE_CONF_DIR/fernet-keys/" sudo docker run -v /etc/keystone:/etc/keystone vexxhost/keystone:latest keystone-manage --config-file $KEYSTONE_CONF fernet_setup --keystone-user 65534 --keystone-group 65534 fi # Get credential keys rm -rf "$KEYSTONE_CONF_DIR/credential-keys/" sudo docker run -v /etc/keystone:/etc/keystone vexxhost/keystone:latest keystone-manage --config-file $KEYSTONE_CONF credential_setup --keystone-user 65534 --keystone-group 65534 } export -f init_keystone # start_keystone() - Start running processes function start_keystone { # install keystone cat <