blob: 50b46e6559cbddf348176cf6960d4833479ff280 [file] [log] [blame]
garciadeblas8d8cd992024-05-21 16:04:14 +02001#!/bin/bash
2#######################################################################################
3# Copyright ETSI Contributors and Others.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14# implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17#######################################################################################
18
garciadeblas3f37a3f2024-08-21 13:07:57 +020019set -ex
garciadeblas8d8cd992024-05-21 16:04:14 +020020
21# Wrapper function for raw calls to Gitea API
22
23HERE=$(dirname "$(readlink --canonicalize "$BASH_SOURCE")")
24. "$HERE/../library/functions.sh"
garciadeblas3b7b55c2024-09-19 12:39:07 +020025. "$HERE/../library/trap.sh"
garciadeblasde0c2882024-09-10 18:10:53 +020026. "$HERE/../library/helpers.sh"
garciadeblas8d8cd992024-05-21 16:04:14 +020027
28SERVER_URL=$1
29TOKEN=$2
30VERB=$3
31URI=$4
32DATA=$5
33
garciadeblasde0c2882024-09-10 18:10:53 +020034function gitea_api_operation() {
35 if [ -z "$DATA" ]; then
36 kubectl exec statefulset/gitea --container=gitea --namespace=gitea --quiet -- \
37 curl --silent --fail \
38 "${SERVER_URL}/api/v1/${URI}" \
39 --request "${VERB}" \
40 --header "Authorization: token ${TOKEN}" \
41 --header 'Accept: application/json'
42 else
43 kubectl exec statefulset/gitea --container=gitea --namespace=gitea --quiet -- \
44 curl --silent --fail \
45 --request "$VERB" \
46 "${SERVER_URL}/api/v1/${URI}" \
47 --header "Authorization: token ${TOKEN}" \
48 --header 'Accept: application/json' \
49 --header 'Content-Type: application/json' \
50 --data "${DATA}"
51 fi
52}
53
garciadeblasa14af712024-09-19 12:41:19 +020054# Disable immediate exit during retries of API operations
55set +e
garciadeblasde0c2882024-09-10 18:10:53 +020056monitor_condition gitea_api_operation "Gitea API operation did not succeed yet...\n" 120 5
57RET=$?
garciadeblasa14af712024-09-19 12:41:19 +020058set -e
59
garciadeblasde0c2882024-09-10 18:10:53 +020060if [[ $RET -ne 0 ]]
61then
62 echo -e "\nFATAL: Gitea API operation did not succeed after several retries. ABORTED.\n"
63 exit $RET
garciadeblas8d8cd992024-05-21 16:04:14 +020064fi