jenkins:
  Master:
    HostName: jenkins.molgenis.org
    ServiceType: ClusterIP
    InstallPlugins:
      - kubernetes:1.12.0
      - workflow-aggregator:2.5
      - workflow-job:2.21
      - credentials-binding:1.16
      - git:3.9.1
      - github-branch-source:2.3.6
      - kubernetes-credentials-provider:0.9
      - blueocean:1.6.2
      - github-oauth:0.29
      - gogs-webhook:1.0.14
      - sauce-ondemand:1.176
    Security:
      UseGitHub: false
      GitHub:
        ClientID: ""
        ClienSecret: ""
    DefaultView: dev
    Views:
      dev:
        - molgenis
      ops:
        - molgenis-ops-docker-httpd
        - molgenis-ops-docker-maven
        - molgenis-ops-docker-node
        - molgenis-ops-tools
        - molgenis-ops-tomcat
    Jobs: |-
      molgenis: |-
        <?xml version='1.1' encoding='UTF-8'?>
        <jenkins.branch.OrganizationFolder plugin="branch-api@2.0.20">
          <actions/>
          <description></description>
          <properties>
            <org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig plugin="pipeline-model-definition@1.3.1">
              <dockerLabel></dockerLabel>
              <registry plugin="docker-commons@1.13"/>
            </org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig>
            <jenkins.branch.NoTriggerOrganizationFolderProperty>
              <branches>.*</branches>
            </jenkins.branch.NoTriggerOrganizationFolderProperty>
          </properties>
          <folderViews class="jenkins.branch.OrganizationFolderViewHolder">
            <owner reference="../.."/>
          </folderViews>
          <healthMetrics>
            <com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder@6.5.1">
              <nonRecursive>false</nonRecursive>
            </com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
          </healthMetrics>
          <icon class="jenkins.branch.MetadataActionFolderIcon">
            <owner class="jenkins.branch.OrganizationFolder" reference="../.."/>
          </icon>
          <orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder@6.5.1">
            <pruneDeadBranches>true</pruneDeadBranches>
            <daysToKeep>-1</daysToKeep>
            <numToKeep>-1</numToKeep>
          </orphanedItemStrategy>
          <triggers>
            <com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger plugin="cloudbees-folder@6.5.1">
              <spec>H H * * *</spec>
              <interval>86400000</interval>
            </com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger>
          </triggers>
          <disabled>false</disabled>
          <navigators>
            <org.jenkinsci.plugins.github__branch__source.GitHubSCMNavigator plugin="github-branch-source@2.3.6">
              <repoOwner>molgenis</repoOwner>
              <credentialsId>molgenis-jenkins-github-secret</credentialsId>
              <traits>
                <org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait>
                  <strategyId>1</strategyId>
                </org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait>
                <org.jenkinsci.plugins.github__branch__source.OriginPullRequestDiscoveryTrait>
                  <strategyId>1</strategyId>
                </org.jenkinsci.plugins.github__branch__source.OriginPullRequestDiscoveryTrait>
                <org.jenkinsci.plugins.github__branch__source.ForkPullRequestDiscoveryTrait>
                  <strategyId>1</strategyId>
                  <trust class="org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait$TrustPermission"/>
                </org.jenkinsci.plugins.github__branch__source.ForkPullRequestDiscoveryTrait>
              </traits>
            </org.jenkinsci.plugins.github__branch__source.GitHubSCMNavigator>
          </navigators>
          <projectFactories>
            <org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProjectFactory plugin="workflow-multibranch@2.19">
              <scriptPath>Jenkinsfile</scriptPath>
            </org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProjectFactory>
          </projectFactories>
          <buildStrategies/>
        </jenkins.branch.OrganizationFolder>
      molgenis-ops-docker-httpd: |-
        <?xml version='1.1' encoding='UTF-8'?>
        <org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject plugin="workflow-multibranch@2.19">
          <actions/>
          <description>HTTPD server that can be used for redirection and proxieing</description>
          <displayName>molgenis-ops-docker-httpd</displayName>
          <properties>
            <org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig plugin="pipeline-model-definition@1.3.1">
              <dockerLabel></dockerLabel>
              <registry plugin="docker-commons@1.13"/>
            </org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig>
          </properties>
          <folderViews class="jenkins.branch.MultiBranchProjectViewHolder" plugin="branch-api@2.0.20">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </folderViews>
          <healthMetrics>
            <com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder@6.5.1">
              <nonRecursive>false</nonRecursive>
            </com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
          </healthMetrics>
          <icon class="jenkins.branch.MetadataActionFolderIcon" plugin="branch-api@2.0.20">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </icon>
          <orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder@6.5.1">
            <pruneDeadBranches>true</pruneDeadBranches>
            <daysToKeep>-1</daysToKeep>
            <numToKeep>-1</numToKeep>
          </orphanedItemStrategy>
          <triggers/>
          <disabled>false</disabled>
          <sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api@2.0.20">
            <data>
              <jenkins.branch.BranchSource>
                <source class="jenkins.plugins.git.GitSCMSource" plugin="git@3.9.1">
                  <id>a756941d-6c9d-4492-bcf9-327041764be6</id>
                  <remote>https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-httpd.git</remote>
                  <credentialsId>molgenis-jenkins-gogs-secret</credentialsId>
                  <traits>
                    <jenkins.plugins.git.traits.BranchDiscoveryTrait/>
                  </traits>
                </source>
                <strategy class="jenkins.branch.DefaultBranchPropertyStrategy">
                  <properties class="empty-list"/>
                </strategy>
              </jenkins.branch.BranchSource>
            </data>
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </sources>
          <factory class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
            <scriptPath>Jenkinsfile</scriptPath>
          </factory>
        </org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject>
      molgenis-ops-docker-node: |-
        <?xml version='1.1' encoding='UTF-8'?>
        <org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject plugin="workflow-multibranch@2.19">
          <actions/>
          <description>NodeJS build container with Curl</description>
          <displayName>molgenis-ops-docker-node</displayName>
          <properties>
            <org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig plugin="pipeline-model-definition@1.3.1">
              <dockerLabel></dockerLabel>
              <registry plugin="docker-commons@1.13"/>
            </org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig>
          </properties>
          <folderViews class="jenkins.branch.MultiBranchProjectViewHolder" plugin="branch-api@2.0.20">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </folderViews>
          <healthMetrics>
            <com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder@6.5.1">
              <nonRecursive>false</nonRecursive>
            </com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
          </healthMetrics>
          <icon class="jenkins.branch.MetadataActionFolderIcon" plugin="branch-api@2.0.20">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </icon>
          <orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder@6.5.1">
            <pruneDeadBranches>true</pruneDeadBranches>
            <daysToKeep>-1</daysToKeep>
            <numToKeep>-1</numToKeep>
          </orphanedItemStrategy>
          <triggers/>
          <disabled>false</disabled>
          <sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api@2.0.20">
            <data>
              <jenkins.branch.BranchSource>
                <source class="jenkins.plugins.git.GitSCMSource" plugin="git@3.9.1">
                  <id>a756941d-6c9d-4492-bcf9-327041764be6</id>
                  <remote>https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-node.git</remote>
                  <credentialsId>molgenis-jenkins-gogs-secret</credentialsId>
                  <traits>
                    <jenkins.plugins.git.traits.BranchDiscoveryTrait/>
                  </traits>
                </source>
                <strategy class="jenkins.branch.DefaultBranchPropertyStrategy">
                  <properties class="empty-list"/>
                </strategy>
              </jenkins.branch.BranchSource>
            </data>
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </sources>
          <factory class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
            <scriptPath>Jenkinsfile</scriptPath>
          </factory>
        </org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject>
      molgenis-ops-docker-maven: |-
        <?xml version='1.1' encoding='UTF-8'?>
        <org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject plugin="workflow-multibranch@2.19">
          <actions/>
          <description>MAVEN build container with RPMbuild and Curl</description>
          <displayName>molgenis-ops-docker-maven</displayName>
          <properties>
            <org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig plugin="pipeline-model-definition@1.3.1">
              <dockerLabel></dockerLabel>
              <registry plugin="docker-commons@1.13"/>
            </org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig>
          </properties>
          <folderViews class="jenkins.branch.MultiBranchProjectViewHolder" plugin="branch-api@2.0.20">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </folderViews>
          <healthMetrics>
            <com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder@6.5.1">
              <nonRecursive>false</nonRecursive>
            </com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
          </healthMetrics>
          <icon class="jenkins.branch.MetadataActionFolderIcon" plugin="branch-api@2.0.20">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </icon>
          <orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder@6.5.1">
            <pruneDeadBranches>true</pruneDeadBranches>
            <daysToKeep>-1</daysToKeep>
            <numToKeep>-1</numToKeep>
          </orphanedItemStrategy>
          <triggers/>
          <disabled>false</disabled>
          <sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api@2.0.20">
            <data>
              <jenkins.branch.BranchSource>
                <source class="jenkins.plugins.git.GitSCMSource" plugin="git@3.9.1">
                  <id>4702479a-6988-4a85-b4b7-e77fa2d05ffa</id>
                  <remote>https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-maven.git</remote>
                  <credentialsId>molgenis-jenkins-gogs-secret</credentialsId>
                  <traits>
                    <jenkins.plugins.git.traits.BranchDiscoveryTrait/>
                  </traits>
                </source>
                <strategy class="jenkins.branch.DefaultBranchPropertyStrategy">
                  <properties class="empty-list"/>
                </strategy>
              </jenkins.branch.BranchSource>
            </data>
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </sources>
          <factory class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
            <scriptPath>Jenkinsfile</scriptPath>
          </factory>
        </org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject>
      molgenis-ops-tomcat: |-
        <?xml version='1.1' encoding='UTF-8'?>
        <org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject plugin="workflow-multibranch@2.19">
          <actions/>
          <description>MOLGENIS tomcat package to manage tomcat version on CentOS</description>
          <displayName>molgenis-ops-tomcat</displayName>
          <properties>
            <org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig plugin="pipeline-model-definition@1.3.1">
              <dockerLabel></dockerLabel>
              <registry plugin="docker-commons@1.13"/>
            </org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig>
          </properties>
          <folderViews class="jenkins.branch.MultiBranchProjectViewHolder" plugin="branch-api@2.0.20">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </folderViews>
          <healthMetrics>
            <com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder@6.5.1">
              <nonRecursive>false</nonRecursive>
            </com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
          </healthMetrics>
          <icon class="jenkins.branch.MetadataActionFolderIcon" plugin="branch-api@2.0.20">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </icon>
          <orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder@6.5.1">
            <pruneDeadBranches>true</pruneDeadBranches>
            <daysToKeep>-1</daysToKeep>
            <numToKeep>-1</numToKeep>
          </orphanedItemStrategy>
          <triggers/>
          <disabled>false</disabled>
          <sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api@2.0.20">
            <data>
              <jenkins.branch.BranchSource>
                <source class="jenkins.plugins.git.GitSCMSource" plugin="git@3.9.1">
                  <id>4702479a-6988-4a85-b4b7-e77fa2d05ffa</id>
                  <remote>https://git.webhosting.rug.nl/molgenis/molgenis-ops-tomcat.git</remote>
                  <credentialsId>molgenis-jenkins-gogs-secret</credentialsId>
                  <traits>
                    <jenkins.plugins.git.traits.BranchDiscoveryTrait/>
                  </traits>
                </source>
                <strategy class="jenkins.branch.DefaultBranchPropertyStrategy">
                  <properties class="empty-list"/>
                </strategy>
              </jenkins.branch.BranchSource>
            </data>
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </sources>
          <factory class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
            <scriptPath>Jenkinsfile</scriptPath>
          </factory>
        </org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject>
      molgenis-ops-tools: |-
        <?xml version='1.1' encoding='UTF-8'?>
        <org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject plugin="workflow-multibranch@2.19">
          <actions/>
          <description>MOLGENIS operations tools-package to configure firewall, apache, sudoers, etc.</description>
          <displayName>molgenis-ops-tools</displayName>
          <properties>
            <org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig plugin="pipeline-model-definition@1.3.1">
              <dockerLabel></dockerLabel>
              <registry plugin="docker-commons@1.13"/>
            </org.jenkinsci.plugins.pipeline.modeldefinition.config.FolderConfig>
          </properties>
          <folderViews class="jenkins.branch.MultiBranchProjectViewHolder" plugin="branch-api@2.0.20">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </folderViews>
          <healthMetrics>
            <com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder@6.5.1">
              <nonRecursive>false</nonRecursive>
            </com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
          </healthMetrics>
          <icon class="jenkins.branch.MetadataActionFolderIcon" plugin="branch-api@2.0.20">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </icon>
          <orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder@6.5.1">
            <pruneDeadBranches>true</pruneDeadBranches>
            <daysToKeep>-1</daysToKeep>
            <numToKeep>-1</numToKeep>
          </orphanedItemStrategy>
          <triggers/>
          <disabled>false</disabled>
          <sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api@2.0.20">
            <data>
              <jenkins.branch.BranchSource>
                <source class="jenkins.plugins.git.GitSCMSource" plugin="git@3.9.1">
                  <id>4702479a-6988-4a85-b4b7-e77fa2d05ffa</id>
                  <remote>https://git.webhosting.rug.nl/molgenis/molgenis-ops-tools.git</remote>
                  <credentialsId>molgenis-jenkins-gogs-secret</credentialsId>
                  <traits>
                    <jenkins.plugins.git.traits.BranchDiscoveryTrait/>
                  </traits>
                </source>
                <strategy class="jenkins.branch.DefaultBranchPropertyStrategy">
                  <properties class="empty-list"/>
                </strategy>
              </jenkins.branch.BranchSource>
            </data>
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
          </sources>
          <factory class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory">
            <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
            <scriptPath>Jenkinsfile</scriptPath>
          </factory>
        </org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject>
    # Kubernetes secret that contains a 'credentials.xml' for Jenkins
    # CredentialsXmlSecret: jenkins-credentials
    # Kubernetes secret that contains files to be put in the Jenkins 'secrets' directory,
    # useful to manage encryption keys used for credentials.xml for instance (such as
    # master.key and hudson.util.Secret)
    # SecretsFilesSecret: jenkins-secrets
    CustomConfigMap: true
  rbac:
    install: true
  Pods:
    molgenis:
      Label: molgenis
      NodeUsageMode: NORMAL
      volumes:
        - type: HostPath
          hostPath: "/var/run/docker.sock"
          mountPath: "/var/run/docker.sock"
      Containers:
        maven:
          Image: "registry.webhosting.rug.nl/molgenis/maven"
          ImageTag: lts
          AlwaysPullImage: true
          Command: cat
          WorkingDir: /home/jenkins
          TTY: true
          resources:
            requests:
              cpu: "1"
              memory: "4Gi"
          EnvVars:
            - type: KeyValue
              key: MAVEN_OPTS
              value: "-Duser.home=/home/jenkins"
            - type: KeyValue
              key: MAVEN_CONFIG
              value: "/home/jenkins/.m2"
        alpine:
          Image: "spotify/alpine"
          Command: cat
          WorkingDir: /home/jenkins
          TTY: true
        vault:
          Image: "vault"
          Command: cat
          WorkingDir: /home/jenkins
          TTY: true
          EnvVars:
            - type: Secret
              key: VAULT_TOKEN
              secretName: molgenis-pipeline-vault-secret
              secretKey: token
            - type: Secret
              key: VAULT_SKIP_VERIFY
              secretName: molgenis-pipeline-vault-secret
              secretKey: skipVerify
            - type: Secret
              key: VAULT_ADDR
              secretName: molgenis-pipeline-vault-secret
              secretKey: addr
      NodeSelector: {}
    node:
      Label: node-carbon
      NodeUsageMode: EXCLUSIVE
      Containers:
        node:
          Image: "registry.webhosting.rug.nl/molgenis/node"
          ImageTag: lts
          AlwaysPullImage: true
          Command: cat
          WorkingDir: /home/jenkins
          TTY: true
        vault:
          Image: "vault"
          Command: cat
          WorkingDir: /home/jenkins
          TTY: true
          EnvVars:
            - type: Secret
              key: VAULT_TOKEN
              secretName: molgenis-pipeline-vault-secret
              secretKey: token
            - type: Secret
              key: VAULT_SKIP_VERIFY
              secretName: molgenis-pipeline-vault-secret
              secretKey: skipVerify
            - type: Secret
              key: VAULT_ADDR
              secretName: molgenis-pipeline-vault-secret
              secretKey: addr
      NodeSelector: {}
#secret contains configuration for the kubernetes secrets that jenkins can access
secret:
  # vault configures the vault secret
  vault:
    token: xxxx
    addr: "https://vault-operator.vault-operator.svc:8200"
    skipVerify: "1"
  # githubToken contains access token for jenkins bot account on github.com
  gitHub:
    user: "molgenis-jenkins"
    token: xxxx
  # gogs contains access token for jenkins bot account on RuG GoGs
  gogs:
    user: p281392
    token: xxxx
  # registry contains credentials for registry.molgenis.org
  registry:
    user: admin
    password: xxxx
  # dockerHubPassword contains password for hub.docker.com
  dockerHub:
    user: molgenisci
    password: xxxx