@@ -24,75 +24,146 @@ spec:
2424
2525 export KEY_FILE_PATH=~/.ssh/${SSH_REPOSITORY_OWNER}/${SSH_REPOSITORY_NAME};
2626
27- mkdir -p "${KEY_FILE_PATH}";
28-
29- echo "Env var KEY_FILE_PATH=[${KEY_FILE_PATH}] setup";
30-
31- cat > ${KEY_FILE_PATH}/deploy <<EOF
32- $SSH_PRIVATE_KEY
33- EOF
34-
3527 chmod 600 ${KEY_FILE_PATH}/deploy;
3628
3729 export GIT_SSH_COMMAND="ssh -i $KEY_FILE_PATH/deploy";
3830
39- ssh-keyscan "${SSH_REPOSITORY_HOST}" >> ~/.ssh/known_hosts
31+ # ssh-keyscan "${SSH_REPOSITORY_HOST}" >> ~/.ssh/known_hosts;
4032
4133 while :; do
4234
4335 echo "Loop Start......";
4436
45- if [ ! -d /git/source/.git ]; then
4637
47- export REPO_NAME_FULL="${SSH_REPOSITORY_HOST}:${SSH_REPOSITORY_OWNER}/${SSH_REPOSITORY_NAME}. git"
38+ cd / git;
4839
49- echo "Env var REPO_NAME_FULL=[${REPO_NAME_FULL}] setup";
40+ if ssh -T "git@$SSH_REPOSITORY_HOST" -i $KEY_FILE_PATH/deploy; then
5041
51- if ssh -T "git@$SSH_REPOSITORY_HOST" -i $KEY_FILE_PATH/deploy; then
42+ echo "********************************************";
5243
53- echo "Clonning repo" ;
44+ git status ;
5445
55- git clone -b master git@${REPO_NAME_FULL} /git/source;
46+ echo "********************************************";
47+
48+ echo "Checking for repo updates";
5649
57- else
50+ git fetch -fpvt;
5851
59- echo "Not Authenticated, check ssh key. RC=[${?}] ";
52+ echo "Pulling any changes.... ";
6053
61- fi
54+ git pull --rebase
6255
6356 else
6457
65- cd /git/source ;
58+ echo "Not Authenticated, check ssh key. RC=[${?}]" ;
6659
67- if ssh -T "git@$SSH_REPOSITORY_HOST" -i $KEY_FILE_PATH/deploy; then
60+ fi
6861
69- echo "********************************************";
7062
71- git status;
7263
73- echo "********************************************";
74-
75- echo "Checking for repo updates";
64+ echo "Loop Finish.";
7665
77- git fetch -fpvt;
66+ sleep 300
7867
79- echo "Pulling any changes...." ;
68+ done ;
8069
81- git pull --rebase
70+ env :
71+ - name : SSH_PRIVATE_KEY
72+ valueFrom :
73+ secretKeyRef :
74+ name : bind-config
75+ key : SSH_PRIVATE_KEY
76+ - name : SSH_REPOSITORY_HOST
77+ valueFrom :
78+ secretKeyRef :
79+ name : bind-config
80+ key : SSH_REPOSITORY_HOST
81+ - name : SSH_REPOSITORY_OWNER
82+ valueFrom :
83+ secretKeyRef :
84+ name : bind-config
85+ key : SSH_REPOSITORY_OWNER
86+ - name : SSH_REPOSITORY_NAME
87+ valueFrom :
88+ secretKeyRef :
89+ name : bind-config
90+ key : SSH_REPOSITORY_NAME
91+ - name : SSH_REPOSITORY_REF
92+ valueFrom :
93+ secretKeyRef :
94+ name : bind-config
95+ key : SSH_REPOSITORY_REF
8296
83- else
97+ resources :
98+ limits :
99+ cpu : 1
100+ memory : 500Mi
101+ requests :
102+ cpu : 50m
103+ memory : 150Mi
104+ volumeMounts :
105+ - name : data
106+ mountPath : /git
107+ subPath : git/
84108
85- echo "Not Authenticated, check ssh key. RC=[${?}]";
109+ - name : data
110+ mountPath : /root
111+ subPath : home
86112
87- fi
113+ - mountPath : /var/dns-log
114+ name : data
115+ subPath : logs
88116
89- fi
117+ initContainers :
90118
91- echo "Loop Finish.";
119+ - name : clone
120+ image : alpine:3.23.2
121+ command :
122+ - sh
123+ - -c
124+ - |
125+ echo "Installing pre-reqs.....";
92126
93- sleep 300
127+ apk update;
128+ apk add git openssh-client-default;
94129
95- done;
130+ export KEY_FILE_PATH=~/.ssh/${SSH_REPOSITORY_OWNER}/${SSH_REPOSITORY_NAME};
131+
132+ mkdir -p "${KEY_FILE_PATH}";
133+
134+ echo "Env var KEY_FILE_PATH=[${KEY_FILE_PATH}] setup";
135+
136+ cat > ${KEY_FILE_PATH}/deploy <<EOF
137+ $SSH_PRIVATE_KEY
138+ EOF
139+
140+ chmod 600 ${KEY_FILE_PATH}/deploy;
141+
142+ export GIT_SSH_COMMAND="ssh -i $KEY_FILE_PATH/deploy";
143+
144+ ssh-keyscan "${SSH_REPOSITORY_HOST}" >> ~/.ssh/known_hosts
145+
146+ if [ ! -d /git/.git ]; then
147+
148+ export REPO_NAME_FULL="${SSH_REPOSITORY_HOST}:${SSH_REPOSITORY_OWNER}/${SSH_REPOSITORY_NAME}.git"
149+
150+ echo "Env var REPO_NAME_FULL=[${REPO_NAME_FULL}] setup";
151+
152+ if ssh -T "git@$SSH_REPOSITORY_HOST" -i $KEY_FILE_PATH/deploy; then
153+
154+ echo "Clonning repo on branch=[${SSH_REPOSITORY_REF}]";
155+
156+ git clone -b "${SSH_REPOSITORY_REF}" git@${REPO_NAME_FULL} /git;
157+
158+ else
159+
160+ echo "Not Authenticated, check ssh key. RC=[${?}]";
161+
162+ exit 1;
163+
164+ fi
165+
166+ fi
96167
97168 env :
98169 - name : SSH_PRIVATE_KEY
@@ -115,6 +186,11 @@ spec:
115186 secretKeyRef :
116187 name : bind-config
117188 key : SSH_REPOSITORY_NAME
189+ - name : SSH_REPOSITORY_REF
190+ valueFrom :
191+ secretKeyRef :
192+ name : bind-config
193+ key : SSH_REPOSITORY_REF
118194
119195 resources :
120196 limits :
@@ -123,11 +199,12 @@ spec:
123199 requests :
124200 cpu : 50m
125201 memory : 150Mi
202+
126203 volumeMounts :
127204 - name : data
128205 mountPath : /git
129- subPath : git/
206+ subPath : git
130207
131- - mountPath : /var/dns-log
132- name : data
133- subPath : logs
208+ - name : data
209+ mountPath : /root
210+ subPath : home
0 commit comments