| 
					
				 | 
			
			
				@@ -2,6 +2,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 git_dir="pki" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 branch="100883" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+git_url="https://git.sdsys.ru/sdsys/pki.git" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function mail_send { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               echo "${message}"|mail -s "Attention! Certificate status!" \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18,24 +19,27 @@ function mail_send { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if [ -d /${git_dir} ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  cd /${git_dir} && GIT_SSH_COMMAND='ssh -i /run/secrets/provision-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  git pull && git checkout ${branch} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cd /${git_dir} && git pull https://${GIT_USER}:$(cat /run/secrets/jenkins-mail-pass)@${git_url} && git checkout ${branch} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if [ $? -ne 0 ];then message="Can't pull ${git_url}"; mail_send; exit 1;fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  cd / && GIT_SSH_COMMAND='ssh -i /run/secrets/provision-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  git clone ${git_url} && cd /${git_dir} && git checkout ${branch} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cd / && git clone https://${GIT_USER}:$(cat /run/secrets/jenkins-mail-pass)@${git_url} && cd /${git_dir} && git checkout ${branch} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if [ $? -ne 0 ];then message="Can't clone ${git_url}"; mail_send; exit 1;fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if [ -z "$*" ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if [ ! -z "$*" ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   domain=$(echo "$*" | sed 's/ / -d /g') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  certbot certonly --dry-run --webroot -w /var/www/html --config-dir /${git_dir}/letsencrypt -d ${domain} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if [ $? -eq 0 ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    cd /${git_dir} && GIT_SSH_COMMAND='ssh -i /run/secrets/provision-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' git push origin ${branch} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    message="Certs for domain $(echo $*) is generated" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    mail_send 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    message="Certs for domain $(echo $*) isn't generated!!!" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    mail_send 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  certbot certonly --dry-run --webroot -w /var/www/html --config-dir /${git_dir}/letsencrypt -m admin@sdsys.ru -d ${domain} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if [ $? -ne 0 ];then message="Can't execute "dry-run" for $(echo $*). Generate cert and key will be skipped!!!"; mail_send; exit 1;fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  certbot certonly --webroot -w /var/www/html --config-dir /${git_dir}/letsencrypt -m admin@sdsys.ru -d ${domain} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if [ $? -ne 0 ];then message="Can't generate cert and key for $(echo $*). See log !!!"; mail_send; exit 1;fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  echo "Generate new key and cert for $(echo $*)" > /tmp/commit.txt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cd /${git_dir} && git add -A && git config --global user.email "${JENKINS_MAIL}" && git config --global user.name "Jenkins" && git commit -F /tmp/commit.txt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  git push https://${GIT_USER}:$(cat /run/secrets/jenkins-mail-pass)@${git_url} ${branch} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if [ $? -ne 0 ];then message="Can't push diff to ${git_url} !!!"; mail_send; exit 1;fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  message="Certs for domain $(echo $*) is generated!!!" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mail_send 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  message="No domain specified!!!" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mail_send 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fi 
			 |