blob: 7c389d404f38a09f79f6a999c756f84046fd8664 [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"
garciadeblas4766d632024-09-16 17:29:37 +020025# . "$HERE/../library/trap.sh"
garciadeblasff8bbd52024-09-10 18:10:53 +020026. "$HERE/../library/helpers.sh"
garciadeblas8d8cd992024-05-21 16:04:14 +020027
garciadeblas4766d632024-09-16 17:29:37 +020028# Disable trap in this script
29trap - INT
30trap - EXIT
31
garciadeblas8d8cd992024-05-21 16:04:14 +020032SERVER_URL=$1
33TOKEN=$2
34VERB=$3
35URI=$4
36DATA=$5
37
garciadeblasff8bbd52024-09-10 18:10:53 +020038function gitea_api_operation() {
39 if [ -z "$DATA" ]; then
40 kubectl exec statefulset/gitea --container=gitea --namespace=gitea --quiet -- \
41 curl --silent --fail \
42 "${SERVER_URL}/api/v1/${URI}" \
43 --request "${VERB}" \
44 --header "Authorization: token ${TOKEN}" \
45 --header 'Accept: application/json'
46 else
47 kubectl exec statefulset/gitea --container=gitea --namespace=gitea --quiet -- \
48 curl --silent --fail \
49 --request "$VERB" \
50 "${SERVER_URL}/api/v1/${URI}" \
51 --header "Authorization: token ${TOKEN}" \
52 --header 'Accept: application/json' \
53 --header 'Content-Type: application/json' \
54 --data "${DATA}"
55 fi
56}
57
58monitor_condition gitea_api_operation "Gitea API operation did not succeed yet...\n" 120 5
59RET=$?
60if [[ $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