Skip to content

Commit dc5698b

Browse files
Merge pull request #1 from codefresh-io/add-default-git-source
adding default git source
2 parents dc726ed + 0123ac7 commit dc5698b

File tree

2 files changed

+52
-4
lines changed

2 files changed

+52
-4
lines changed

installer/helm/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ apiVersion: v2
22
name: csdp-installer
33
description: A Helm chart used for installing a CSDP runtime
44
type: application
5-
version: 0.1.13
6-
appVersion: v0.0.7
5+
version: 0.1.14
6+
appVersion: v0.0.8

installer/install.sh

Lines changed: 50 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
#
@@ -285,6 +323,7 @@ echo " csdp token: ****"
285323
echo " runtime repo: ${CSDP_RUNTIME_REPO}"
286324
echo " runtime repo path: ${CSDP_RUNTIME_REPO_PATH}"
287325
echo " runtime repo creds pattern: ${CSDP_RUNTIME_REPO_CREDS_PATTERN}"
326+
echo " default git-source repo: ${CSDP_CREATE_DEFAULT_GIT_SOURCE_APP_SPECIFIER}"
288327
echo " runtime git-token: ****"
289328
echo " runtime cluster: ${CSDP_RUNTIME_CLUSTER}"
290329
echo " runtime name: ${CSDP_RUNTIME_NAME}"
@@ -355,8 +394,17 @@ else
355394
fi
356395

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

0 commit comments

Comments
 (0)