Adding Jenkins to Clover stack
[clover.git] / samples / services / jenkins / resources / configmap.yaml
1 apiVersion: v1
2 kind: ConfigMap
3 metadata:
4   name: clover-jenkins
5   labels:
6     app: jenkins
7     project: clover
8   namespace: __NAMESPACE__
9 data:
10   apply_config.sh: |-
11     mkdir -p /usr/share/jenkins/ref/secrets/;
12     echo "false" > /usr/share/jenkins/ref/secrets/slave-to-master-security-kill-switch;
13     cp -n /var/jenkins_config/config.xml /var/jenkins_home;
14     cp -n /var/jenkins_config/jenkins.CLI.xml /var/jenkins_home;
15     cp -n /var/jenkins_config/jenkins.model.JenkinsLocationConfiguration.xml /var/jenkins_home;
16     # Install missing plugins
17     cp /var/jenkins_config/plugins.txt /var/jenkins_home;
18     rm -rf /usr/share/jenkins/ref/plugins/*.lock
19     /usr/local/bin/install-plugins.sh `echo $(cat /var/jenkins_home/plugins.txt)`;
20     # Copy plugins to shared volume
21     cp -n /usr/share/jenkins/ref/plugins/* /var/jenkins_plugins;
22   config.xml: |-
23     <?xml version='1.0' encoding='UTF-8'?>
24     <hudson>
25       <disabledAdministrativeMonitors/>
26       <version>lts</version>
27       <numExecutors>0</numExecutors>
28       <mode>NORMAL</mode>
29       <useSecurity>true</useSecurity>
30       <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
31         <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
32       </authorizationStrategy>
33       <securityRealm class="hudson.security.LegacySecurityRealm"/>
34       <disableRememberMe>false</disableRememberMe>
35       <projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
36       <workspaceDir>${JENKINS_HOME}/workspace/${ITEM_FULLNAME}</workspaceDir>
37       <buildsDir>${ITEM_ROOTDIR}/builds</buildsDir>
38       <markupFormatter class="hudson.markup.EscapedMarkupFormatter"/>
39       <jdks/>
40       <viewsTabBar class="hudson.views.DefaultViewsTabBar"/>
41       <myViewsTabBar class="hudson.views.DefaultMyViewsTabBar"/>
42       <clouds>
43         <org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud plugin="kubernetes@1.12.4">
44           <name>kubernetes</name>
45           <templates>
46             <org.csanchez.jenkins.plugins.kubernetes.PodTemplate>
47               <inheritFrom></inheritFrom>
48               <name>clover-jenkins-slave</name>
49               <instanceCap>2147483647</instanceCap>
50               <idleMinutes>0</idleMinutes>
51               <label>clover-jenkins-slave</label>
52               <nodeSelector></nodeSelector>
53                 <nodeUsageMode>NORMAL</nodeUsageMode>
54               <volumes>
55               </volumes>
56               <containers>
57                 <org.csanchez.jenkins.plugins.kubernetes.ContainerTemplate>
58                   <name>jnlp</name>
59                   <image>jenkins/jnlp-slave:3.10-1</image>
60                   <privileged>false</privileged>
61                   <alwaysPullImage>false</alwaysPullImage>
62                   <workingDir>/home/jenkins</workingDir>
63                   <command></command>
64                   <args>${computer.jnlpmac} ${computer.name}</args>
65                   <ttyEnabled>false</ttyEnabled>
66                   # Resources configuration is a little hacky. This was to prevent breaking
67                   # changes, and should be cleanned up in the future once everybody had
68                   # enough time to migrate.
69                   <resourceRequestCpu>200m</resourceRequestCpu>
70                   <resourceRequestMemory>256Mi</resourceRequestMemory>
71                   <resourceLimitCpu>200m</resourceLimitCpu>
72                   <resourceLimitMemory>256Mi</resourceLimitMemory>
73                   <envVars>
74                     <org.csanchez.jenkins.plugins.kubernetes.ContainerEnvVar>
75                       <key>JENKINS_URL</key>
76                       <value>http://clover-jenkins.__NAMESPACE__:8080</value>
77                     </org.csanchez.jenkins.plugins.kubernetes.ContainerEnvVar>
78                   </envVars>
79                 </org.csanchez.jenkins.plugins.kubernetes.ContainerTemplate>
80               </containers>
81               <envVars/>
82               <annotations/>
83               <imagePullSecrets/>
84               <nodeProperties/>
85               <podRetention class="org.csanchez.jenkins.plugins.kubernetes.pod.retention.Default"/>
86             </org.csanchez.jenkins.plugins.kubernetes.PodTemplate></templates>
87           <serverUrl>https://kubernetes.default</serverUrl>
88           <skipTlsVerify>false</skipTlsVerify>
89           <namespace>__NAMESPACE__</namespace>
90           <jenkinsUrl>http://clover-jenkins.__NAMESPACE__:8080</jenkinsUrl>
91           <jenkinsTunnel>clover-jenkins-agent.__NAMESPACE__:50000</jenkinsTunnel>
92           <containerCap>10</containerCap>
93           <retentionTimeout>5</retentionTimeout>
94           <connectTimeout>0</connectTimeout>
95           <readTimeout>0</readTimeout>
96           <podRetention class="org.csanchez.jenkins.plugins.kubernetes.pod.retention.Never"/>
97         </org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud>
98       </clouds>
99       <quietPeriod>5</quietPeriod>
100       <scmCheckoutRetryCount>0</scmCheckoutRetryCount>
101       <views>
102         <hudson.model.AllView>
103           <owner class="hudson" reference="../../.."/>
104           <name>All</name>
105           <filterExecutors>false</filterExecutors>
106           <filterQueue>false</filterQueue>
107           <properties class="hudson.model.View$PropertyList"/>
108         </hudson.model.AllView>
109       </views>
110       <primaryView>All</primaryView>
111       <slaveAgentPort>50000</slaveAgentPort>
112       <disabledAgentProtocols>
113         <string>JNLP-connect</string>
114         <string>JNLP2-connect</string>
115       </disabledAgentProtocols>
116       <label></label>
117       <crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
118         <excludeClientIPFromCrumb>true</excludeClientIPFromCrumb>
119       </crumbIssuer>
120       <nodeProperties/>
121       <globalNodeProperties/>
122       <noUsageStatistics>true</noUsageStatistics>
123     </hudson>
124   jenkins.CLI.xml: |-
125     <?xml version='1.1' encoding='UTF-8'?>
126     <jenkins.CLI>
127       <enabled>false</enabled>
128     </jenkins.CLI>
129   jenkins.model.JenkinsLocationConfiguration.xml: |-
130     <?xml version='1.1' encoding='UTF-8'?>
131     <jenkins.model.JenkinsLocationConfiguration>
132       <adminAddress></adminAddress>
133       <jenkinsUrl>http://clover-jenkins.__NAMESPACE__:8080</jenkinsUrl>
134     </jenkins.model.JenkinsLocationConfiguration>
135   plugins.txt: |-
136     kubernetes:1.12.4
137     workflow-job:2.24
138     workflow-aggregator:2.5
139     credentials-binding:1.16
140     git:3.9.1