Skip to content

Commit 4c3216e

Browse files
committed
adding default git source
1 parent dc726ed commit 4c3216e

File tree

2 files changed

+53
-3
lines changed

2 files changed

+53
-3
lines changed

installer/helm/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ name: csdp-installer
33
description: A Helm chart used for installing a CSDP runtime
44
type: application
55
version: 0.1.13
6-
appVersion: v0.0.7
6+
appVersion: v0.0.8

installer/install.sh

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ ARGOCD_INITIAL_TOKEN_SECRET_NAME="argocd-initial-admin-secret"
2626
BOOTSTRAP_APP_NAME="csdp-bootstrap"
2727
COMPONENTS_MANAGED="argo-events,app-proxy,argo-cd,events-reporter"
2828
COMPONENTS="argo-events,app-proxy,argo-cd,events-reporter,rollout-reporter,workflow-reporter"
29+
DEFAULT_GIT_SOURCE_NAME="default-git-source"
2930

3031
# Params:
3132
check_required_param "namespace" "${NAMESPACE}"
@@ -45,6 +46,11 @@ CSDP_GIT_INTEGRATION_TOKEN="${CSDP_GIT_INTEGRATION_TOKEN:-${CSDP_RUNTIME_GIT_TOK
4546
CSDP_RUNTIME_REPO_PATH="${CSDP_RUNTIME_REPO_PATH:-runtimes/${CSDP_RUNTIME_NAME}/bootstrap}"
4647
CSDP_RUNTIME_REPO_CREDS_PATTERN=`echo ${CSDP_RUNTIME_REPO} | grep --color=never -E -o '^http[s]?:\/\/([a-zA-Z0-9\.]*)'`
4748
CSDP_MANAGED_RUNTIME="${CSDP_MANAGED_RUNTIME:-false}"
49+
DEFAULT_DEST_SERVER="https://kubernetes.default.svc"
50+
CSDP_CREATE_DEFAULT_GIT_SOURCE="${CSDP_CREATE_DEFAULT_GIT_SOURCE:-true}"
51+
CSDP_CREATE_DEFAULT_GIT_SOURCE_APP_SPECIFIER="`echo ${CSDP_RUNTIME_REPO} | sed s/\.git$//`_git-source.git/resources_${CSDP_RUNTIME_NAME}"
52+
53+
4854

4955
create_codefresh_secret() {
5056
if [[ "$CSDP_MANAGED_RUNTIME" == "true" ]] ; then
@@ -132,7 +138,7 @@ create_bootstrap_application() {
132138
project: default
133139
destination:
134140
namespace: ${NAMESPACE}
135-
server: https://kubernetes.default.svc
141+
server: ${DEFAULT_DEST_SERVER}
136142
ignoreDifferences:
137143
- group: argoproj.io
138144
kind: Application
@@ -271,6 +277,38 @@ register_to_git_integration() {
271277
echo ""
272278
}
273279

280+
create_default_git_source() {
281+
echo " --> Creating default git source"
282+
283+
GIT_SOURCE_CREATE_ARGS="{
284+
\"appName\": \"${DEFAULT_GIT_SOURCE_NAME}\",
285+
\"appSpecifier\": \"${CSDP_CREATE_DEFAULT_GIT_SOURCE_APP_SPECIFIER}\",
286+
\"destServer\": \"${DEFAULT_DEST_SERVER}\",
287+
\"destNamespace\": \"${CSDP_RUNTIME_NAME}\"
288+
}"
289+
290+
GIT_SOURCE_CREATE_DATA="{\"operationName\":\"CreateGitSource\",\"variables\":{\"args\":$GIT_SOURCE_CREATE_ARGS}"
291+
GIT_SOURCE_CREATE_DATA+=$',"query":"mutation CreateGitSource($args: CreateGitSourceInput\u0021) {\\n createGitSource(args: $args)\\n}\\n"}'
292+
293+
GIT_SOURCE_CREATE_RESPONSE=`curl "${CSDP_RUNTIME_INGRESS_URL}/app-proxy/api/graphql" \
294+
-SsfL \
295+
-H "Authorization: ${CSDP_TOKEN}" \
296+
-H 'content-type: application/json' \
297+
--compressed \
298+
--insecure \
299+
--data-raw "$GIT_SOURCE_CREATE_DATA"`
300+
301+
if `echo "$GIT_SOURCE_CREATE_RESPONSE" | jq -e 'has("errors")'`; then
302+
echo "Failed to create default git source"
303+
echo ${GIT_SOURCE_CREATE_RESPONSE}
304+
exit 1
305+
fi
306+
307+
echo " --> Created default git source:"
308+
echo "${GIT_SOURCE_CREATE_RESPONSE}"
309+
echo ""
310+
}
311+
274312
#
275313
# Start here:
276314
#
@@ -296,6 +334,9 @@ echo " ingress controller: ${CSDP_INGRESS_CONTROLLER}"
296334
echo "#######################################"
297335
echo ""
298336

337+
create_default_git_source
338+
exit 0
339+
299340
echo "Cleaning previous job pods"
300341
clean_failed_pods
301342

@@ -355,8 +396,17 @@ else
355396
fi
356397

357398
# 6. Register to git integration
358-
if [[ "$CSDP_MANAGED_RUNTIME" == "true" ]] ; then
399+
if [[ "$CSDP_MANAGED_RUNTIME" -ne "true" ]] ; then
359400
register_to_git_integration
401+
402+
if [[ "$CSDP_CREATE_DEFAULT_GIT_SOURCE" == "true" ]]; then
403+
echo "Checking application $DEFAULT_GIT_SOURCE_NAME..."
404+
if kubectl -n "$NAMESPACE" get application -l app.kubernetes.io/name="$DEFAULT_GIT_SOURCE_NAME" 2>&1 | grep "No resources found"; then
405+
create_default_git_source
406+
else
407+
echo " --> Application $DEFAULT_GIT_SOURCE_NAME exists"
408+
fi
409+
fi
360410
fi
361411
echo ""
362412

0 commit comments

Comments
 (0)