fixed indents
							parent
							
								
									0ce28302bd
								
							
						
					
					
						commit
						cfe32265a8
					
				| 
						 | 
				
			
			@ -9,106 +9,106 @@ MULTIDEPLOY_FILENAME="multideploy.yaml"
 | 
			
		|||
 | 
			
		||||
# domain keyfile certfile cafile fullchain pfx
 | 
			
		||||
multideploy_deploy() {
 | 
			
		||||
    _cdomain="$1"
 | 
			
		||||
    _ckey="$2"
 | 
			
		||||
    _ccert="$3"
 | 
			
		||||
    _cca="$4"
 | 
			
		||||
    _cfullchain="$5"
 | 
			
		||||
    _cpfx="$6"
 | 
			
		||||
  _cdomain="$1"
 | 
			
		||||
  _ckey="$2"
 | 
			
		||||
  _ccert="$3"
 | 
			
		||||
  _cca="$4"
 | 
			
		||||
  _cfullchain="$5"
 | 
			
		||||
  _cpfx="$6"
 | 
			
		||||
 | 
			
		||||
    _debug _cdomain "$_cdomain"
 | 
			
		||||
    _debug _ckey "$_ckey"
 | 
			
		||||
    _debug _ccert "$_ccert"
 | 
			
		||||
    _debug _cca "$_cca"
 | 
			
		||||
    _debug _cfullchain "$_cfullchain"
 | 
			
		||||
    _debug _cpfx "$_cpfx"
 | 
			
		||||
  _debug _cdomain "$_cdomain"
 | 
			
		||||
  _debug _ckey "$_ckey"
 | 
			
		||||
  _debug _ccert "$_ccert"
 | 
			
		||||
  _debug _cca "$_cca"
 | 
			
		||||
  _debug _cfullchain "$_cfullchain"
 | 
			
		||||
  _debug _cpfx "$_cpfx"
 | 
			
		||||
 | 
			
		||||
    DOMAIN_DIR=$_cdomain
 | 
			
		||||
    if echo "$DOMAIN_PATH" | grep -q "$ECC_SUFFIX"; then
 | 
			
		||||
        DOMAIN_DIR="$DOMAIN_DIR"_ecc
 | 
			
		||||
    fi
 | 
			
		||||
    _debug2 "DOMAIN_DIR" "$DOMAIN_DIR"
 | 
			
		||||
  DOMAIN_DIR=$_cdomain
 | 
			
		||||
  if echo "$DOMAIN_PATH" | grep -q "$ECC_SUFFIX"; then
 | 
			
		||||
    DOMAIN_DIR="$DOMAIN_DIR"_ecc
 | 
			
		||||
  fi
 | 
			
		||||
  _debug2 "DOMAIN_DIR" "$DOMAIN_DIR"
 | 
			
		||||
 | 
			
		||||
    _preprocess_deployfile "$DOMAIN_DIR/$MULTIDEPLOY_FILENAME"
 | 
			
		||||
  _preprocess_deployfile "$DOMAIN_DIR/$MULTIDEPLOY_FILENAME"
 | 
			
		||||
 | 
			
		||||
    MULTIDEPLOY_CONFIG="${MULTIDEPLOY_CONFIG:-$(_getdeployconf MULTIDEPLOY_CONFIG)}"
 | 
			
		||||
    if [ -z "$MULTIDEPLOY_CONFIG" ]; then
 | 
			
		||||
        MULTIDEPLOY_CONFIG="default"
 | 
			
		||||
        _info "MULTIDEPLOY_CONFIG is not set, so I will use 'default'."
 | 
			
		||||
    else
 | 
			
		||||
        _savedeployconf "MULTIDEPLOY_CONFIG" "$MULTIDEPLOY_CONFIG"
 | 
			
		||||
        _debug2 "MULTIDEPLOY_CONFIG" "$MULTIDEPLOY_CONFIG"
 | 
			
		||||
    fi
 | 
			
		||||
  MULTIDEPLOY_CONFIG="${MULTIDEPLOY_CONFIG:-$(_getdeployconf MULTIDEPLOY_CONFIG)}"
 | 
			
		||||
  if [ -z "$MULTIDEPLOY_CONFIG" ]; then
 | 
			
		||||
    MULTIDEPLOY_CONFIG="default"
 | 
			
		||||
    _info "MULTIDEPLOY_CONFIG is not set, so I will use 'default'."
 | 
			
		||||
  else
 | 
			
		||||
    _savedeployconf "MULTIDEPLOY_CONFIG" "$MULTIDEPLOY_CONFIG"
 | 
			
		||||
    _debug2 "MULTIDEPLOY_CONFIG" "$MULTIDEPLOY_CONFIG"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
    # TODO: Deploy to services
 | 
			
		||||
  # TODO: Deploy to services
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
####################  Private functions below #####################
 | 
			
		||||
 | 
			
		||||
# deploy_filepath
 | 
			
		||||
_preprocess_deployfile() {
 | 
			
		||||
    deploy_file="$1"
 | 
			
		||||
  deploy_file="$1"
 | 
			
		||||
 | 
			
		||||
    # Check if yq is installed
 | 
			
		||||
    if ! command -v yq >/dev/null 2>&1; then
 | 
			
		||||
        _err "yq is not installed! Please install yq and try again."
 | 
			
		||||
        return 1
 | 
			
		||||
    fi
 | 
			
		||||
  # Check if yq is installed
 | 
			
		||||
  if ! command -v yq >/dev/null 2>&1; then
 | 
			
		||||
    _err "yq is not installed! Please install yq and try again."
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
    # Check if deploy file exists and create a default template if not
 | 
			
		||||
    if [ -f "$deploy_file" ]; then
 | 
			
		||||
        _debug3 "Deploy file found."
 | 
			
		||||
        _check_deployfile "$deploy_file" "$MULTIDEPLOY_CONFIG"
 | 
			
		||||
    else
 | 
			
		||||
        # TODO: Replace URL with wiki link
 | 
			
		||||
        _err "Deploy file not found. Go to https://CHANGE_URL_TO_WIKI to see how to create one."
 | 
			
		||||
        return 1
 | 
			
		||||
    fi
 | 
			
		||||
  # Check if deploy file exists and create a default template if not
 | 
			
		||||
  if [ -f "$deploy_file" ]; then
 | 
			
		||||
    _debug3 "Deploy file found."
 | 
			
		||||
    _check_deployfile "$deploy_file" "$MULTIDEPLOY_CONFIG"
 | 
			
		||||
  else
 | 
			
		||||
    # TODO: Replace URL with wiki link
 | 
			
		||||
    _err "Deploy file not found. Go to https://CHANGE_URL_TO_WIKI to see how to create one."
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# deploy_filepath deploy_config
 | 
			
		||||
_check_deployfile() {
 | 
			
		||||
    deploy_file="$1"
 | 
			
		||||
    deploy_config="$3"
 | 
			
		||||
  deploy_file="$1"
 | 
			
		||||
  deploy_config="$3"
 | 
			
		||||
 | 
			
		||||
    # Check version
 | 
			
		||||
    deploy_file_version=$(yq '.version' "$deploy_file")
 | 
			
		||||
    if [ "$MULTIDEPLOY_VERSION" != "$deploy_file_version" ]; then
 | 
			
		||||
        _err "As of $PROJECT_NAME $VER, the deploy file needs version $MULTIDEPLOY_VERSION! Your current deploy file is of version $deploy_file_version."
 | 
			
		||||
        return 1
 | 
			
		||||
  # Check version
 | 
			
		||||
  deploy_file_version=$(yq '.version' "$deploy_file")
 | 
			
		||||
  if [ "$MULTIDEPLOY_VERSION" != "$deploy_file_version" ]; then
 | 
			
		||||
    _err "As of $PROJECT_NAME $VER, the deploy file needs version $MULTIDEPLOY_VERSION! Your current deploy file is of version $deploy_file_version."
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Check if config exists
 | 
			
		||||
  if ! yq e ".configs[] | select(.name == \"$deploy_config\")" "$deploy_file" >/dev/null; then
 | 
			
		||||
    _err "Config '$deploy_config' not found."
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Extract all services from config
 | 
			
		||||
  services=$(yq e ".configs[] | select(.name == \"$deploy_config\").services[]" "$deploy_file")
 | 
			
		||||
 | 
			
		||||
  if [ -z "$services" ]; then
 | 
			
		||||
    _err "Config '$deploy_config' does not have any services to deploy to."
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Check if extracted services exist in services list
 | 
			
		||||
  for service in $services; do
 | 
			
		||||
    if ! yq e ".services[] | select(.name == \"$service\")" "$deploy_file" >/dev/null; then
 | 
			
		||||
      _err "Service '$service' not found."
 | 
			
		||||
      return 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Check if config exists
 | 
			
		||||
    if ! yq e ".configs[] | select(.name == \"$deploy_config\")" "$deploy_file" >/dev/null; then
 | 
			
		||||
         _err "Config '$deploy_config' not found."
 | 
			
		||||
        return 1
 | 
			
		||||
    # Check if service has hook
 | 
			
		||||
    if ! yq e ".services[] | select(.name == \"$service\").hook" "$deploy_file" >/dev/null; then
 | 
			
		||||
      _err "Service '$service' does not have a hook."
 | 
			
		||||
      return 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Extract all services from config
 | 
			
		||||
    services=$(yq e ".configs[] | select(.name == \"$deploy_config\").services[]" "$deploy_file")
 | 
			
		||||
 | 
			
		||||
    if [ -z "$services" ]; then
 | 
			
		||||
        _err "Config '$deploy_config' does not have any services to deploy to."
 | 
			
		||||
        return 1
 | 
			
		||||
    # Check if service has environment
 | 
			
		||||
    if ! yq e ".services[] | select(.name == \"$service\").environment" "$deploy_file" >/dev/null; then
 | 
			
		||||
      _err "Service '$service' does not an environment."
 | 
			
		||||
      return 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Check if extracted services exist in services list
 | 
			
		||||
    for service in $services; do
 | 
			
		||||
        if ! yq e ".services[] | select(.name == \"$service\")" "$deploy_file" >/dev/null; then
 | 
			
		||||
            _err "Service '$service' not found."
 | 
			
		||||
            return 1
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        # Check if service has hook
 | 
			
		||||
        if ! yq e ".services[] | select(.name == \"$service\").hook" "$deploy_file" >/dev/null; then
 | 
			
		||||
            _err "Service '$service' does not have a hook."
 | 
			
		||||
            return 1
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        # Check if service has environment
 | 
			
		||||
        if ! yq e ".services[] | select(.name == \"$service\").environment" "$deploy_file" >/dev/null; then
 | 
			
		||||
            _err "Service '$service' does not an environment."
 | 
			
		||||
            return 1
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
  done
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue