<?xml version='1.1' encoding='UTF-8'?>
<hudson>
  <disabledAdministrativeMonitors>
    <string>hudson.diagnosis.ReverseProxySetupMonitor</string>
  </disabledAdministrativeMonitors>
  <version>2.375.2</version>
  <numExecutors>1</numExecutors>
  <mode>EXCLUSIVE</mode>
  <useSecurity>true</useSecurity>
  <authorizationStrategy class="hudson.security.GlobalMatrixAuthorizationStrategy">
    <permission>hudson.model.Hudson.Administer:bro314</permission>
    <permission>hudson.model.Hudson.Administer:dpursehouse</permission>
    <permission>hudson.model.Hudson.Administer:EdwinKempin</permission>
    <permission>hudson.model.Hudson.Administer:lucamilanesio</permission>
    <permission>hudson.model.Hudson.Administer:msohn</permission>
    <permission>hudson.model.Hudson.Administer:phiesel</permission>
    <permission>hudson.model.Hudson.Administer:poucet</permission>
    <permission>hudson.model.Hudson.Administer:zivkov</permission>
    <permission>hudson.model.Hudson.Administer:syntonyze</permission>
    <permission>hudson.model.Hudson.Administer:geminicaprograms</permission>
    <permission>hudson.model.Hudson.Administer:paladox</permission>
    <permission>USER:hudson.model.Hudson.Read:anonymous</permission>
    <permission>USER:hudson.model.Item.Read:anonymous</permission>
    <permission>USER:hudson.model.Item.ViewStatus:anonymous</permission>
  </authorizationStrategy>
  <securityRealm class="org.jenkinsci.plugins.GithubSecurityRealm">
    <githubWebUri>https://github.com</githubWebUri>
    <githubApiUri>https://api.github.com</githubApiUri>
    <clientID>#OAUTH_ID#</clientID>
    <clientSecret>#OAUTH_SECRET#</clientSecret>
  </securityRealm>
  <disableRememberMe>false</disableRememberMe>
  <projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
  <workspaceDir>${ITEM_ROOTDIR}/workspace</workspaceDir>
  <buildsDir>${ITEM_ROOTDIR}/builds</buildsDir>
  <markupFormatter class="hudson.markup.RawHtmlMarkupFormatter" plugin="antisamy-markup-formatter@155.v795fb_8702324">
    <disableSyntaxHighlighting>false</disableSyntaxHighlighting>
  </markupFormatter>
  <jdks/>
  <viewsTabBar class="hudson.views.DefaultViewsTabBar"/>
  <myViewsTabBar class="hudson.views.DefaultMyViewsTabBar"/>
  <clouds>
    <com.nirima.jenkins.plugins.docker.DockerCloud plugin="docker-plugin@1.2.10">
      <name>dockerhost</name>
      <templates>
        <com.nirima.jenkins.plugins.docker.DockerTemplate>
          <configVersion>2</configVersion>
          <labelString>aws</labelString>
          <connector class="io.jenkins.docker.connector.DockerComputerAttachConnector">
            <user>jenkins</user>
            <jvmArgs>
              <string>-Dfile.encoding=UTF-8</string>
            </jvmArgs>
          </connector>
          <remoteFsMapping></remoteFsMapping>
          <remoteFs>/home/jenkins</remoteFs>
          <instanceCap>5</instanceCap>
          <mode>EXCLUSIVE</mode>
          <retentionStrategy class="com.nirima.jenkins.plugins.docker.strategy.DockerOnceRetentionStrategy">
            <idleMinutes>10</idleMinutes>
            <idleMinutes defined-in="com.nirima.jenkins.plugins.docker.strategy.DockerOnceRetentionStrategy">10</idleMinutes>
          </retentionStrategy>
          <numExecutors>1</numExecutors>
          <dockerTemplateBase>
            <image>gerritforge/gerrit-ci-agent-aws</image>
            <dockerCommand></dockerCommand>
            <lxcConfString>aws</lxcConfString>
            <hostname></hostname>
            <dnsHosts/>
            <volumes>
              <string>/dev/urandom:/dev/random</string>
              <string>/var/run/docker.sock:/var/run/docker.sock</string>
            </volumes>
            <volumesFrom2/>
            <environment/>
            <bindPorts></bindPorts>
            <bindAllPorts>false</bindAllPorts>
            <privileged>true</privileged>
            <tty>false</tty>
            <extraHosts class="java.util.Collections$UnmodifiableRandomAccessList" resolves-to="java.util.Collections$UnmodifiableList">
              <c class="list"/>
              <list reference="../c"/>
            </extraHosts>
          </dockerTemplateBase>
          <removeVolumes>false</removeVolumes>
          <pullStrategy>PULL_LATEST</pullStrategy>
        </com.nirima.jenkins.plugins.docker.DockerTemplate>
      </templates>
      <serverUrl>unix:///var/run/docker.sock</serverUrl>
      <connectTimeout>30</connectTimeout>
      <readTimeout>30</readTimeout>
      <credentialsId></credentialsId>
      <containerCap>100</containerCap>
      <exposeDockerHost>true</exposeDockerHost>
    </com.nirima.jenkins.plugins.docker.DockerCloud>
  </clouds>
  <quietPeriod>5</quietPeriod>
  <scmCheckoutRetryCount>0</scmCheckoutRetryCount>
  <views>
    <hudson.model.AllView>
      <owner class="hudson" reference="../../.."/>
      <name>All</name>
      <filterExecutors>false</filterExecutors>
      <filterQueue>false</filterQueue>
      <properties class="hudson.model.View$PropertyList"/>
    </hudson.model.AllView>
  </views>
  <primaryView>All</primaryView>
  <slaveAgentPort>0</slaveAgentPort>
  <label>server</label>
  <crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
    <excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>
  </crumbIssuer>
  <nodeProperties>
    <hudson.slaves.EnvironmentVariablesNodeProperty>
      <envVars serialization="custom">
        <unserializable-parents/>
        <tree-map>
          <default>
            <comparator class="hudson.util.CaseInsensitiveComparator"/>
          </default>
          <int>1</int>
          <string>PATH</string>
          <string>/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin</string>
        </tree-map>
      </envVars>
    </hudson.slaves.EnvironmentVariablesNodeProperty>
  </nodeProperties>
  <globalNodeProperties/>
</hudson>
