diff --git a/docs/docs/developer-guide/index.html b/docs/docs/developer-guide/index.html index 78adb6b0..72b470fd 100644 --- a/docs/docs/developer-guide/index.html +++ b/docs/docs/developer-guide/index.html @@ -458,9 +458,9 @@ git clone git@github.com:jenkinsci/kubernetes-operator.git make go-dependencies

Build and run with a minikube

-

Build and run jenkins-operator locally:

+

Build and run Jenkins Operator locally:

make minikube-run EXTRA_ARGS='--minikube --local'
-

Once minikube and jenkins-operator are up and running, apply Jenkins custom resource:

+

Once minikube and Jenkins Operator are up and running, apply Jenkins custom resource:

kubectl apply -f deploy/crds/jenkins_v1alpha2_jenkins_cr.yaml
 kubectl get jenkins -o yaml
 kubectl get po
@@ -468,7 +468,7 @@ kubectl get po

You can also run the controller locally and make it listen to a remote Kubernetes server.

make run NAMESPACE=default KUBECTL_CONTEXT=remote-k8s EXTRA_ARGS='--kubeconfig ~/.kube/config'
-

Once minikube and jenkins-operator are up and running, apply Jenkins custom resource:

+

Once minikube and Jenkins Operator are up and running, apply Jenkins custom resource:

kubectl --context remote-k8s --namespace default apply -f deploy/crds/jenkins_v1alpha2_jenkins_cr.yaml
 kubectl --context remote-k8s --namespace default get jenkins -o yaml
 kubectl --context remote-k8s --namespace default get po
@@ -491,7 +491,7 @@ make build e2e $ eval $(minikube docker-env)

Build Docker image inside provided Linux container by:

$ make indocker
-

Build jenkins-operator inside container using:

+

Build Jenkins Operator inside container using:

$ make build

Then exit the container and run:

diff --git a/docs/docs/getting-started/index.html b/docs/docs/getting-started/index.html index afc3452c..1c2b56b6 100644 --- a/docs/docs/getting-started/index.html +++ b/docs/docs/getting-started/index.html @@ -434,7 +434,7 @@
-

This document describes a getting started guide for jenkins-operator

+

This document describes a getting started guide for Jenkins Operator

@@ -442,7 +442,7 @@

First Steps

Prepare your Kubernetes cluster and set up access. -Once you have running Kubernetes cluster you can focus on installing jenkins-operator according to the Installation guide.

+Once you have running Kubernetes cluster you can focus on installing Jenkins Operator according to the Installation guide.

diff --git a/docs/docs/getting-started/v0.1.1/configuration/index.html b/docs/docs/getting-started/v0.1.1/configuration/index.html index 9aa41323..8f524ac8 100644 --- a/docs/docs/getting-started/v0.1.1/configuration/index.html +++ b/docs/docs/getting-started/v0.1.1/configuration/index.html @@ -35,7 +35,7 @@ - + @@ -565,7 +565,7 @@ spec: repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git -

jenkins-operator will automatically discover and configure all seed jobs.

+

Jenkins Operator will automatically discover and configure all seed jobs.

You can verify if deploy keys were successfully configured in Jenkins Credentials tab.

@@ -660,6 +660,18 @@ stringData: password: password_or_token +

HTTP Proxy

+ +

To use forwarding proxy with operator you need to put environment var to Jenkins CR, for e.g.:

+
spec:
+  master:
+    containers:
+      - name: jenkins-master
+        env:
+          - name: CURL_OPTIONS
+            value: -L -x <proxy_url>
+

In CURL_OPTIONS var you can set additional arguments to curl command.

+

Jenkins login credentials

The operator automatically generate Jenkins user name and password and stores it in Kubernetes secret named @@ -674,7 +686,7 @@ stringData: data: user: <base64-encoded-new-username> password: <base64-encoded-new-password>

-

If needed jenkins-operator will restart Jenkins master pod and then you can login with the new user and password +

If needed Jenkins Operator will restart Jenkins master pod and then you can login with the new user and password credentials.

Override default Jenkins container command

diff --git a/docs/docs/getting-started/v0.1.1/customization/index.html b/docs/docs/getting-started/v0.1.1/customization/index.html index cf2963df..180b74b1 100644 --- a/docs/docs/getting-started/v0.1.1/customization/index.html +++ b/docs/docs/getting-started/v0.1.1/customization/index.html @@ -35,7 +35,7 @@ - + @@ -459,9 +459,9 @@

Jenkins can be customized using groovy scripts or configuration as code plugin. All custom configuration is stored in -the jenkins-operator-user-configuration- ConfigMap which is automatically created by jenkins-operator.

+the jenkins-operator-user-configuration- ConfigMap which is automatically created by Jenkins Operator.

-

jenkins-operator creates jenkins-operator-user-configuration- secret where user can store sensitive +

Jenkins Operator creates jenkins-operator-user-configuration- secret where user can store sensitive information used for custom configuration. If you have entry in secret named PASSWORD then you can use it in Configuration as Plugin as adminAddress: "${PASSWORD}".

@@ -531,7 +531,7 @@ spec: version: 0.5.1 -

Under spec.master.basePlugins you can find plugins for valid jenkins-operator work:

+

Under spec.master.basePlugins you can find plugins for valid Jenkins Operator work:

apiVersion: jenkins.io/v1alpha2
 kind: Jenkins
 metadata:
@@ -557,7 +557,7 @@ spec:
       version: 0.12.1

You can change version of them.

-

Then jenkins-operator will automatically install plugins after Jenkins master pod restart.

+

Then Jenkins Operator will automatically install plugins after Jenkins master pod restart.

diff --git a/docs/docs/getting-started/v0.1.1/diagnostics/index.html b/docs/docs/getting-started/v0.1.1/diagnostics/index.html index b24e43b4..e5e232fd 100644 --- a/docs/docs/getting-started/v0.1.1/diagnostics/index.html +++ b/docs/docs/getting-started/v0.1.1/diagnostics/index.html @@ -35,7 +35,7 @@ - + @@ -458,7 +458,7 @@
How to deal with jenkins-operator problems
-

Turn on debug in jenkins-operator deployment:

+

Turn on debug in Jenkins Operator deployment:

sed -i 's|\(args:\).*|\1\ ["--debug"\]|' deploy/operator.yaml
 kubectl apply -f deploy/operator.yaml

Watch Kubernetes events:

diff --git a/docs/docs/getting-started/v0.1.1/index.html b/docs/docs/getting-started/v0.1.1/index.html index 12b7f053..56d2ae4a 100644 --- a/docs/docs/getting-started/v0.1.1/index.html +++ b/docs/docs/getting-started/v0.1.1/index.html @@ -444,7 +444,7 @@
-

This document describes a getting started guide for jenkins-operator v0.1.1 and an additional configuration.

+

This document describes a getting started guide for Jenkins Operator v0.1.1 and an additional configuration.

@@ -452,7 +452,7 @@

First Steps

Prepare your Kubernetes cluster and set up access. -Once you have running Kubernetes cluster you can focus on installing jenkins-operator according to the Installation guide.

+Once you have running Kubernetes cluster you can focus on installing Jenkins Operator according to the Installation guide.

diff --git a/docs/docs/getting-started/v0.1.1/index.xml b/docs/docs/getting-started/v0.1.1/index.xml index d3b413a2..3bc56d4a 100644 --- a/docs/docs/getting-started/v0.1.1/index.xml +++ b/docs/docs/getting-started/v0.1.1/index.xml @@ -212,7 +212,7 @@ spec: repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git </code></pre> -<p><strong>jenkins-operator</strong> will automatically discover and configure all seed jobs.</p> +<p><strong>Jenkins Operator</strong> will automatically discover and configure all seed jobs.</p> <p>You can verify if deploy keys were successfully configured in Jenkins <strong>Credentials</strong> tab.</p> @@ -307,6 +307,18 @@ stringData: password: password_or_token </code></pre> +<h2 id="http-proxy">HTTP Proxy</h2> + +<p>To use forwarding proxy with operator you need to put environment var to Jenkins CR, for e.g.:</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">spec<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>master<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>containers<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins-master<span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>env<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>CURL_OPTIONS<span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-L<span style="color:#f8f8f8;text-decoration:underline"> </span>-x<span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;proxy_url&gt;</code></pre></div> +<p>In <code>CURL_OPTIONS</code> var you can set additional arguments to curl command.</p> + <h2 id="jenkins-login-credentials">Jenkins login credentials</h2> <p>The operator automatically generate Jenkins user name and password and stores it in Kubernetes secret named @@ -321,7 +333,7 @@ stringData: </span><span style="color:#f8f8f8;text-decoration:underline"></span>data<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#f8f8f8;text-decoration:underline"> </span>user<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;base64-encoded-new-username<span style="color:#8f5902;font-style:italic">&gt; </span><span style="color:#8f5902;font-style:italic"> password: &lt;base64-encoded-new-password&gt;</span></code></pre></div> -<p>If needed <strong>jenkins-operator</strong> will restart Jenkins master pod and then you can login with the new user and password +<p>If needed <strong>Jenkins Operator</strong> will restart Jenkins master pod and then you can login with the new user and password credentials.</p> <h2 id="override-default-jenkins-container-command">Override default Jenkins container command</h2> @@ -355,9 +367,9 @@ The <code>/sbin/tini -s -- /usr/local/bin/jenkins.sh</code> command <p>Jenkins can be customized using groovy scripts or configuration as code plugin. All custom configuration is stored in -the <strong>jenkins-operator-user-configuration-<cr_name></strong> ConfigMap which is automatically created by <strong>jenkins-operator</strong>.</p> +the <strong>jenkins-operator-user-configuration-<cr_name></strong> ConfigMap which is automatically created by <strong>Jenkins Operator</strong>.</p> -<p><strong>jenkins-operator</strong> creates <strong>jenkins-operator-user-configuration-<cr_name></strong> secret where user can store sensitive +<p><strong>Jenkins Operator</strong> creates <strong>jenkins-operator-user-configuration-<cr_name></strong> secret where user can store sensitive information used for custom configuration. If you have entry in secret named <code>PASSWORD</code> then you can use it in Configuration as Plugin as <code>adminAddress: &quot;${PASSWORD}&quot;</code>.</p> @@ -427,7 +439,7 @@ spec: version: 0.5.1 </code></pre> -<p>Under <code>spec.master.basePlugins</code> you can find plugins for valid <strong>jenkins-operator</strong> work:</p> +<p>Under <code>spec.master.basePlugins</code> you can find plugins for valid <strong>Jenkins Operator</strong> work:</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">apiVersion<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.io/v1alpha2<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#f8f8f8;text-decoration:underline"></span>kind<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Jenkins<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#f8f8f8;text-decoration:underline"></span>metadata<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> @@ -453,7 +465,7 @@ spec: </span><span style="color:#f8f8f8;text-decoration:underline"> </span>version<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0.12</span>.<span style="color:#0000cf;font-weight:bold">1</span></code></pre></div> <p>You can change version of them.</p> -<p>Then <strong>jenkins-operator</strong> will automatically install plugins after Jenkins master pod restart.</p> +<p>Then <strong>Jenkins Operator</strong> will automatically install plugins after Jenkins master pod restart.</p> @@ -573,7 +585,7 @@ restart Jenkins pod over and over again.</p> -<p>Turn on debug in <strong>jenkins-operator</strong> deployment:</p> +<p>Turn on debug in <strong>Jenkins Operator</strong> deployment:</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">sed -i <span style="color:#4e9a06">&#39;s|\(args:\).*|\1\ [&#34;--debug&#34;\]|&#39;</span> deploy/operator.yaml kubectl apply -f deploy/operator.yaml</code></pre></div> <p>Watch Kubernetes events:</p> diff --git a/docs/docs/getting-started/v0.2.0/configuration/index.html b/docs/docs/getting-started/v0.2.0/configuration/index.html index dc33e5fc..1837699e 100644 --- a/docs/docs/getting-started/v0.2.0/configuration/index.html +++ b/docs/docs/getting-started/v0.2.0/configuration/index.html @@ -35,7 +35,7 @@ - + @@ -567,7 +567,7 @@ spec: repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git -

jenkins-operator will automatically discover and configure all seed jobs.

+

Jenkins Operator will automatically discover and configure all seed jobs.

You can verify if deploy keys were successfully configured in Jenkins Credentials tab.

@@ -662,6 +662,18 @@ stringData: password: password_or_token +

HTTP Proxy

+ +

To use forwarding proxy with operator you need to put environment var to Jenkins CR, for e.g.:

+
spec:
+  master:
+    containers:
+      - name: jenkins-master
+        env:
+          - name: CURL_OPTIONS
+            value: -L -x <proxy_url>
+

In CURL_OPTIONS var you can set additional arguments to curl command.

+

Pulling Docker images from private repositories

To pull Docker Image from private repository you can use imagePullSecrets.

diff --git a/docs/docs/getting-started/v0.2.0/customization/index.html b/docs/docs/getting-started/v0.2.0/customization/index.html index adbf2f22..60dc223a 100644 --- a/docs/docs/getting-started/v0.2.0/customization/index.html +++ b/docs/docs/getting-started/v0.2.0/customization/index.html @@ -35,7 +35,7 @@ - + @@ -508,7 +508,7 @@ Then you must reference the ConfigMap in Jenkins pod c
  • *.yaml is configuration as code
  • -

    If you want to correct your configuration you can edit it while jenkins-operator is running. +

    If you want to correct your configuration you can edit it while Jenkins Operator is running. Jenkins will reconcile and apply new configuration.

    Using secrets inside Groovy script

    @@ -582,7 +582,7 @@ spec: version: 0.5.1 -

    Under spec.master.basePlugins you can find plugins for valid jenkins-operator work:

    +

    Under spec.master.basePlugins you can find plugins for valid Jenkins Operator work:

    apiVersion: jenkins.io/v1alpha2
     kind: Jenkins
     metadata:
    @@ -608,7 +608,7 @@ spec:
           version: 0.12.1

    You can change version of them.

    -

    Then jenkins-operator will automatically install plugins after Jenkins master pod restart.

    +

    Then Jenkins Operator will automatically install plugins after Jenkins master pod restart.

    diff --git a/docs/docs/getting-started/v0.2.0/diagnostics/index.html b/docs/docs/getting-started/v0.2.0/diagnostics/index.html index aeb9a49b..07cd64c3 100644 --- a/docs/docs/getting-started/v0.2.0/diagnostics/index.html +++ b/docs/docs/getting-started/v0.2.0/diagnostics/index.html @@ -35,7 +35,7 @@ - + @@ -458,7 +458,7 @@
    How to deal with jenkins-operator problems
    -

    Turn on debug in jenkins-operator deployment:

    +

    Turn on debug in Jenkins Operator deployment:

    sed -i 's|\(args:\).*|\1\ ["--debug"\]|' deploy/operator.yaml
     kubectl apply -f deploy/operator.yaml

    Watch Kubernetes events:

    diff --git a/docs/docs/getting-started/v0.2.0/index.html b/docs/docs/getting-started/v0.2.0/index.html index a1e3c016..61140088 100644 --- a/docs/docs/getting-started/v0.2.0/index.html +++ b/docs/docs/getting-started/v0.2.0/index.html @@ -444,7 +444,7 @@
    -

    This document describes a getting started guide for jenkins-operator v0.2.0 and an additional configuration.

    +

    This document describes a getting started guide for Jenkins Operator v0.2.0 and an additional configuration.

    @@ -452,7 +452,7 @@

    First Steps

    Prepare your Kubernetes cluster and set up access. -Once you have running Kubernetes cluster you can focus on installing jenkins-operator according to the Installation guide.

    +Once you have running Kubernetes cluster you can focus on installing Jenkins Operator according to the Installation guide.

    diff --git a/docs/docs/getting-started/v0.2.0/index.xml b/docs/docs/getting-started/v0.2.0/index.xml index 4fb9a3c4..1339689f 100644 --- a/docs/docs/getting-started/v0.2.0/index.xml +++ b/docs/docs/getting-started/v0.2.0/index.xml @@ -210,7 +210,7 @@ spec: repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git </code></pre> -<p><strong>jenkins-operator</strong> will automatically discover and configure all seed jobs.</p> +<p><strong>Jenkins Operator</strong> will automatically discover and configure all seed jobs.</p> <p>You can verify if deploy keys were successfully configured in Jenkins <strong>Credentials</strong> tab.</p> @@ -305,6 +305,18 @@ stringData: password: password_or_token </code></pre> +<h2 id="http-proxy">HTTP Proxy</h2> + +<p>To use forwarding proxy with operator you need to put environment var to Jenkins CR, for e.g.:</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">spec<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>master<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>containers<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins-master<span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>env<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>CURL_OPTIONS<span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-L<span style="color:#f8f8f8;text-decoration:underline"> </span>-x<span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;proxy_url&gt;</code></pre></div> +<p>In <code>CURL_OPTIONS</code> var you can set additional arguments to curl command.</p> + <h2 id="pulling-docker-images-from-private-repositories">Pulling Docker images from private repositories</h2> <p>To pull Docker Image from private repository you can use <code>imagePullSecrets</code>.</p> @@ -441,7 +453,7 @@ Then you must reference the <em>ConfigMap</em> in <strong>Jenk <li>*.yaml is configuration as code</li> </ul> -<p>If you want to correct your configuration you can edit it while <strong>jenkins-operator</strong> is running. +<p>If you want to correct your configuration you can edit it while <strong>Jenkins Operator</strong> is running. Jenkins will reconcile and apply new configuration.</p> <h3 id="using-secrets-inside-groovy-script">Using secrets inside Groovy script</h3> @@ -515,7 +527,7 @@ spec: version: 0.5.1 </code></pre> -<p>Under <code>spec.master.basePlugins</code> you can find plugins for valid <strong>jenkins-operator</strong> work:</p> +<p>Under <code>spec.master.basePlugins</code> you can find plugins for valid <strong>Jenkins Operator</strong> work:</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">apiVersion<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.io/v1alpha2<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#f8f8f8;text-decoration:underline"></span>kind<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Jenkins<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#f8f8f8;text-decoration:underline"></span>metadata<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> @@ -541,7 +553,7 @@ spec: </span><span style="color:#f8f8f8;text-decoration:underline"> </span>version<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0.12</span>.<span style="color:#0000cf;font-weight:bold">1</span></code></pre></div> <p>You can change version of them.</p> -<p>Then <strong>jenkins-operator</strong> will automatically install plugins after Jenkins master pod restart.</p> +<p>Then <strong>Jenkins Operator</strong> will automatically install plugins after Jenkins master pod restart.</p> @@ -671,7 +683,7 @@ restart Jenkins pod over and over again.</p> <p>We have removed hardcoded configuration by <strong>Jenkins</strong> jobs.</p> -<p>In <code>v0.1.1</code> <strong>jenkins-operator</strong> configuration was stored in <code>jenkins-operator-user-configuration-&lt;cr_name&gt;</code> +<p>In <code>v0.1.1</code> <strong>Jenkins Operator</strong> configuration was stored in <code>jenkins-operator-user-configuration-&lt;cr_name&gt;</code> If you want to use <code>v0.2.0</code> or newer you must simply write refer to old ConfigMap by modifying CR, for example:</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">apiVersion<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.io/v1alpha2<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#f8f8f8;text-decoration:underline"></span>kind<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Jenkins<span style="color:#f8f8f8;text-decoration:underline"> @@ -703,7 +715,7 @@ Now, when Jenkins configuration jobs are removed, you must use this command to s -<p>Turn on debug in <strong>jenkins-operator</strong> deployment:</p> +<p>Turn on debug in <strong>Jenkins Operator</strong> deployment:</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">sed -i <span style="color:#4e9a06">&#39;s|\(args:\).*|\1\ [&#34;--debug&#34;\]|&#39;</span> deploy/operator.yaml kubectl apply -f deploy/operator.yaml</code></pre></div> <p>Watch Kubernetes events:</p> @@ -901,6 +913,34 @@ Restore More info: <a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore">https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore</a></p> </td> </tr> +<tr> +<td> +<code>groovyScripts</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.GroovyScripts"> +GroovyScripts +</a> +</em> +</td> +<td> +<em>(Optional)</em> +<p>GroovyScripts defines configuration of Jenkins customization via groovy scripts</p> +</td> +</tr> +<tr> +<td> +<code>configurationAsCode</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigurationAsCode"> +ConfigurationAsCode +</a> +</em> +</td> +<td> +<em>(Optional)</em> +<p>ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin</p> +</td> +</tr> </table> </td> </tr> @@ -919,6 +959,69 @@ JenkinsStatus </tr> </tbody> </table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.AppliedGroovyScript">AppliedGroovyScript +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsStatus">JenkinsStatus</a>) +</p> +<p> +<p>AppliedGroovyScript is the applied groovy script in Jenkins by the operator</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>configurationType</code></br> +<em> +string +</em> +</td> +<td> +<p>ConfigurationType is the name of the configuration type(base-groovy, user-groovy, user-casc)</p> +</td> +</tr> +<tr> +<td> +<code>source</code></br> +<em> +string +</em> +</td> +<td> +<p>Source is the name of source where is located groovy script</p> +</td> +</tr> +<tr> +<td> +<code>name</code></br> +<em> +string +</em> +</td> +<td> +<p>Name is the name of the groovy script</p> +</td> +</tr> +<tr> +<td> +<code>Hash</code></br> +<em> +string +</em> +</td> +<td> +<p>Hash is the hash of the groovy script and secrets which it uses</p> +</td> +</tr> +</tbody> +</table> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Backup">Backup </h3> <p> @@ -985,14 +1088,14 @@ bool </tr> </tbody> </table> -<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Build">Build +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigMapRef">ConfigMapRef </h3> <p> (<em>Appears on:</em> -<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsStatus">JenkinsStatus</a>) +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Customization">Customization</a>) </p> <p> -<p>Build defines Jenkins Build status with corresponding metadata</p> +<p>ConfigMapRef is reference to Kubernetes ConfigMap</p> </p> <table> <thead> @@ -1004,98 +1107,47 @@ bool <tbody> <tr> <td> -<code>jobName</code></br> +<code>name</code></br> <em> string </em> </td> <td> -<p>JobName is the Jenkins job name</p> -</td> -</tr> -<tr> -<td> -<code>hash</code></br> -<em> -string -</em> -</td> -<td> -<p>Hash is the unique data identifier used in build</p> -</td> -</tr> -<tr> -<td> -<code>number</code></br> -<em> -int64 -</em> -</td> -<td> -<p>Number is the Jenkins build number</p> -</td> -</tr> -<tr> -<td> -<code>status</code></br> -<em> -<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.BuildStatus"> -BuildStatus -</a> -</em> -</td> -<td> -<p>Status is the status of Jenkins build</p> -</td> -</tr> -<tr> -<td> -<code>retries</code></br> -<em> -int -</em> -</td> -<td> -<p>Retires is the amount of Jenkins job build retries</p> -</td> -</tr> -<tr> -<td> -<code>createTime</code></br> -<em> -<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#time-v1-meta"> -Kubernetes meta/v1.Time -</a> -</em> -</td> -<td> -<p>CreateTime is the time when the first build has been created</p> -</td> -</tr> -<tr> -<td> -<code>lastUpdateTime</code></br> -<em> -<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#time-v1-meta"> -Kubernetes meta/v1.Time -</a> -</em> -</td> -<td> -<p>LastUpdateTime is the last update status time</p> </td> </tr> </tbody> </table> -<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.BuildStatus">BuildStatus -(<code>string</code> alias)</p></h3> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigurationAsCode">ConfigurationAsCode +</h3> <p> (<em>Appears on:</em> -<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Build">Build</a>) +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsSpec">JenkinsSpec</a>) </p> <p> -<p>BuildStatus defines type of Jenkins build job status</p> +<p>ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin</p> </p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>Customization</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Customization"> +Customization +</a> +</em> +</td> +<td> +</td> +</tr> +</tbody> +</table> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Container">Container </h3> <p> @@ -1343,6 +1395,81 @@ More info: <a href="https://kubernetes.io/docs/tasks/configure-pod-contai </tr> </tbody> </table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Customization">Customization +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.ConfigurationAsCode">ConfigurationAsCode</a>, +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.GroovyScripts">GroovyScripts</a>) +</p> +<p> +<p>Customization defines configuration of Jenkins customization</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>secret</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SecretRef"> +SecretRef +</a> +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>configurations</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigMapRef"> +[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigMapRef +</a> +</em> +</td> +<td> +</td> +</tr> +</tbody> +</table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.GroovyScripts">GroovyScripts +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsSpec">JenkinsSpec</a>) +</p> +<p> +<p>GroovyScripts defines configuration of Jenkins customization via groovy scripts</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>Customization</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Customization"> +Customization +</a> +</em> +</td> +<td> +</td> +</tr> +</tbody> +</table> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Handler">Handler </h3> <p> @@ -1499,6 +1626,23 @@ memory: 600Mi</p> </tr> <tr> <td> +<code>imagePullSecrets</code></br> +<em> +<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#localobjectreference-v1-core"> +[]Kubernetes core/v1.LocalObjectReference +</a> +</em> +</td> +<td> +<em>(Optional)</em> +<p>ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. +If specified, these secrets will be passed to individual puller implementations for them to use. For example, +in the case of docker, only DockerConfig type secrets are honored. +More info: <a href="https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod">https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod</a></p> +</td> +</tr> +<tr> +<td> <code>volumes</code></br> <em> <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#volume-v1-core"> @@ -1668,6 +1812,34 @@ Restore More info: <a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore">https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore</a></p> </td> </tr> +<tr> +<td> +<code>groovyScripts</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.GroovyScripts"> +GroovyScripts +</a> +</em> +</td> +<td> +<em>(Optional)</em> +<p>GroovyScripts defines configuration of Jenkins customization via groovy scripts</p> +</td> +</tr> +<tr> +<td> +<code>configurationAsCode</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigurationAsCode"> +ConfigurationAsCode +</a> +</em> +</td> +<td> +<em>(Optional)</em> +<p>ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin</p> +</td> +</tr> </tbody> </table> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsStatus">JenkinsStatus @@ -1743,20 +1915,6 @@ Kubernetes meta/v1.Time </tr> <tr> <td> -<code>builds</code></br> -<em> -<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Build"> -[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Build -</a> -</em> -</td> -<td> -<em>(Optional)</em> -<p>Builds contains Jenkins builds statues</p> -</td> -</tr> -<tr> -<td> <code>restoredBackup</code></br> <em> uint64 @@ -1827,8 +1985,207 @@ string <p>CreatedSeedJobs contains list of seed job id already created in Jenkins</p> </td> </tr> +<tr> +<td> +<code>appliedGroovyScripts</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.AppliedGroovyScript"> +[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.AppliedGroovyScript +</a> +</em> +</td> +<td> +<em>(Optional)</em> +<p>AppliedGroovyScripts is a list with all applied groovy scripts in Jenkins by the operator</p> +</td> +</tr> </tbody> </table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Mailgun">Mailgun +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Notification">Notification</a>) +</p> +<p> +<p>Mailgun is handler for Mailgun email service notification channel</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>domain</code></br> +<em> +string +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>apiKeySecretKeySelector</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SecretKeySelector"> +SecretKeySelector +</a> +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>recipient</code></br> +<em> +string +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>from</code></br> +<em> +string +</em> +</td> +<td> +</td> +</tr> +</tbody> +</table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.MicrosoftTeams">MicrosoftTeams +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Notification">Notification</a>) +</p> +<p> +<p>MicrosoftTeams is handler for Microsoft MicrosoftTeams notification channel</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>webHookURLSecretKeySelector</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SecretKeySelector"> +SecretKeySelector +</a> +</em> +</td> +<td> +<p>The web hook URL to MicrosoftTeams App</p> +</td> +</tr> +</tbody> +</table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Notification">Notification +</h3> +<p> +<p>Notification is a service configuration used to send notifications about Jenkins status</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>loggingLevel</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.NotificationLogLevel"> +NotificationLogLevel +</a> +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>verbose</code></br> +<em> +bool +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>name</code></br> +<em> +string +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>slack</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Slack"> +github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Slack +</a> +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>teams</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.MicrosoftTeams"> +github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.MicrosoftTeams +</a> +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>mailgun</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Mailgun"> +github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Mailgun +</a> +</em> +</td> +<td> +</td> +</tr> +</tbody> +</table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.NotificationLogLevel">NotificationLogLevel +(<code>string</code> alias)</p></h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Notification">Notification</a>) +</p> +<p> +<p>NotificationLogLevel defines logging level of Notification</p> +</p> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Plugin">Plugin </h3> <p> @@ -1925,6 +2282,80 @@ uint64 </tr> </tbody> </table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SecretKeySelector">SecretKeySelector +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Mailgun">Mailgun</a>, +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.MicrosoftTeams">MicrosoftTeams</a>, +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Slack">Slack</a>) +</p> +<p> +<p>SecretKeySelector selects a key of a Secret.</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>secret</code></br> +<em> +<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#localobjectreference-v1-core"> +Kubernetes core/v1.LocalObjectReference +</a> +</em> +</td> +<td> +<p>The name of the secret in the pod&rsquo;s namespace to select from.</p> +</td> +</tr> +<tr> +<td> +<code>key</code></br> +<em> +string +</em> +</td> +<td> +<p>The key of the secret to select from. Must be a valid secret key.</p> +</td> +</tr> +</tbody> +</table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SecretRef">SecretRef +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Customization">Customization</a>) +</p> +<p> +<p>SecretRef is reference to Kubernetes secret</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>name</code></br> +<em> +string +</em> +</td> +<td> +</td> +</tr> +</tbody> +</table> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SeedJob">SeedJob </h3> <p> @@ -2024,6 +2455,90 @@ JenkinsCredentialType <p>JenkinsCredentialType is the <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/">https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/</a> credential type</p> </td> </tr> +<tr> +<td> +<code>githubPushTrigger</code></br> +<em> +bool +</em> +</td> +<td> +<em>(Optional)</em> +<p>GitHubPushTrigger is used for GitHub web hooks</p> +</td> +</tr> +<tr> +<td> +<code>buildPeriodically</code></br> +<em> +string +</em> +</td> +<td> +<em>(Optional)</em> +<p>BuildPeriodically is setting for scheduled trigger</p> +</td> +</tr> +<tr> +<td> +<code>pollSCM</code></br> +<em> +string +</em> +</td> +<td> +<em>(Optional)</em> +<p>PollSCM is setting for polling changes in SCM</p> +</td> +</tr> +<tr> +<td> +<code>ignoreMissingFiles</code></br> +<em> +bool +</em> +</td> +<td> +<em>(Optional)</em> +<p>IgnoreMissingFiles is setting for Job DSL API plugin to ignore files that miss</p> +</td> +</tr> +<tr> +<td> +<code>additionalClasspath</code></br> +<em> +string +</em> +</td> +<td> +<em>(Optional)</em> +<p>AdditionalClasspath is setting for Job DSL API plugin to set Additional Classpath</p> +</td> +</tr> +<tr> +<td> +<code>failOnMissingPlugin</code></br> +<em> +bool +</em> +</td> +<td> +<em>(Optional)</em> +<p>FailOnMissingPlugin is setting for Job DSL API plugin that fails job if required plugin is missing</p> +</td> +</tr> +<tr> +<td> +<code>unstableOnDeprecation</code></br> +<em> +bool +</em> +</td> +<td> +<em>(Optional)</em> +<p>UnstableOnDeprecation is setting for Job DSL API plugin that sets build status as unstable if build using deprecated features</p> +</td> +</tr> </tbody> </table> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Service">Service @@ -2162,10 +2677,42 @@ This field will be ignored if the cloud-provider does not support the feature.&l </tr> </tbody> </table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Slack">Slack +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Notification">Notification</a>) +</p> +<p> +<p>Slack is handler for Slack notification channel</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>webHookURLSecretKeySelector</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SecretKeySelector"> +SecretKeySelector +</a> +</em> +</td> +<td> +<p>The web hook URL to Slack App</p> +</td> +</tr> +</tbody> +</table> <hr/> <p><em> Generated with <code>gen-crd-api-reference-docs</code> -on git commit <code>37e531a</code>. +on git commit <code>f4c4235</code>. </em></p> diff --git a/docs/docs/getting-started/v0.2.0/migration/index.html b/docs/docs/getting-started/v0.2.0/migration/index.html index c3811762..24d6769a 100644 --- a/docs/docs/getting-started/v0.2.0/migration/index.html +++ b/docs/docs/getting-started/v0.2.0/migration/index.html @@ -35,7 +35,7 @@ - + @@ -466,7 +466,7 @@

    We have removed hardcoded configuration by Jenkins jobs.

    -

    In v0.1.1 jenkins-operator configuration was stored in jenkins-operator-user-configuration-<cr_name> +

    In v0.1.1 Jenkins Operator configuration was stored in jenkins-operator-user-configuration-<cr_name> If you want to use v0.2.0 or newer you must simply write refer to old ConfigMap by modifying CR, for example:

    apiVersion: jenkins.io/v1alpha2
     kind: Jenkins
    diff --git a/docs/docs/getting-started/v0.2.0/scheme/index.html b/docs/docs/getting-started/v0.2.0/scheme/index.html
    index bc1db6f4..01b36d85 100644
    --- a/docs/docs/getting-started/v0.2.0/scheme/index.html
    +++ b/docs/docs/getting-started/v0.2.0/scheme/index.html
    @@ -35,7 +35,7 @@
     
     
     
    -
    +
     
     
     
    @@ -629,6 +629,34 @@ Restore
     More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore

    + + +groovyScripts
    + + +GroovyScripts + + + + +(Optional) +

    GroovyScripts defines configuration of Jenkins customization via groovy scripts

    + + + + +configurationAsCode
    + + +ConfigurationAsCode + + + + +(Optional) +

    ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin

    + + @@ -647,6 +675,69 @@ JenkinsStatus +

    AppliedGroovyScript +

    +

    +(Appears on: +JenkinsStatus) +

    +

    +

    AppliedGroovyScript is the applied groovy script in Jenkins by the operator

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +configurationType
    + +string + +
    +

    ConfigurationType is the name of the configuration type(base-groovy, user-groovy, user-casc)

    +
    +source
    + +string + +
    +

    Source is the name of source where is located groovy script

    +
    +name
    + +string + +
    +

    Name is the name of the groovy script

    +
    +Hash
    + +string + +
    +

    Hash is the hash of the groovy script and secrets which it uses

    +

    Backup

    @@ -713,14 +804,14 @@ bool -

    Build +

    ConfigMapRef

    (Appears on: -JenkinsStatus) +Customization)

    -

    Build defines Jenkins Build status with corresponding metadata

    +

    ConfigMapRef is reference to Kubernetes ConfigMap

    @@ -732,98 +823,47 @@ bool - - - - - - - - - - - - - - - - - - - - - - - -
    -jobName
    +name
    string
    -

    JobName is the Jenkins job name

    -
    -hash
    - -string - -
    -

    Hash is the unique data identifier used in build

    -
    -number
    - -int64 - -
    -

    Number is the Jenkins build number

    -
    -status
    - - -BuildStatus - - -
    -

    Status is the status of Jenkins build

    -
    -retries
    - -int - -
    -

    Retires is the amount of Jenkins job build retries

    -
    -createTime
    - - -Kubernetes meta/v1.Time - - -
    -

    CreateTime is the time when the first build has been created

    -
    -lastUpdateTime
    - - -Kubernetes meta/v1.Time - - -
    -

    LastUpdateTime is the last update status time

    -

    BuildStatus -(string alias)

    +

    ConfigurationAsCode +

    (Appears on: -Build) +JenkinsSpec)

    -

    BuildStatus defines type of Jenkins build job status

    +

    ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin

    + + + + + + + + + + + + + +
    FieldDescription
    +Customization
    + + +Customization + + +
    +

    Container

    @@ -1071,6 +1111,81 @@ More info: Customization + +

    +(Appears on: +ConfigurationAsCode, +GroovyScripts) +

    +

    +

    Customization defines configuration of Jenkins customization

    +

    + + + + + + + + + + + + + + + + + +
    FieldDescription
    +secret
    + + +SecretRef + + +
    +
    +configurations
    + + +[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigMapRef + + +
    +
    +

    GroovyScripts +

    +

    +(Appears on: +JenkinsSpec) +

    +

    +

    GroovyScripts defines configuration of Jenkins customization via groovy scripts

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +Customization
    + + +Customization + + +
    +

    Handler

    @@ -1227,6 +1342,23 @@ memory: 600Mi

    +imagePullSecrets
    + + +[]Kubernetes core/v1.LocalObjectReference + + + + +(Optional) +

    ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. +If specified, these secrets will be passed to individual puller implementations for them to use. For example, +in the case of docker, only DockerConfig type secrets are honored. +More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod

    + + + + volumes
    @@ -1396,6 +1528,34 @@ Restore More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore

    + + +groovyScripts
    + + +GroovyScripts + + + + +(Optional) +

    GroovyScripts defines configuration of Jenkins customization via groovy scripts

    + + + + +configurationAsCode
    + + +ConfigurationAsCode + + + + +(Optional) +

    ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin

    + +

    JenkinsStatus @@ -1471,20 +1631,6 @@ Kubernetes meta/v1.Time -builds
    - - -[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Build - - - - -(Optional) -

    Builds contains Jenkins builds statues

    - - - - restoredBackup
    uint64 @@ -1555,8 +1701,207 @@ string

    CreatedSeedJobs contains list of seed job id already created in Jenkins

    + + +appliedGroovyScripts
    + + +[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.AppliedGroovyScript + + + + +(Optional) +

    AppliedGroovyScripts is a list with all applied groovy scripts in Jenkins by the operator

    + + +

    Mailgun +

    +

    +(Appears on: +Notification) +

    +

    +

    Mailgun is handler for Mailgun email service notification channel

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +domain
    + +string + +
    +
    +apiKeySecretKeySelector
    + + +SecretKeySelector + + +
    +
    +recipient
    + +string + +
    +
    +from
    + +string + +
    +
    +

    MicrosoftTeams +

    +

    +(Appears on: +Notification) +

    +

    +

    MicrosoftTeams is handler for Microsoft MicrosoftTeams notification channel

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +webHookURLSecretKeySelector
    + + +SecretKeySelector + + +
    +

    The web hook URL to MicrosoftTeams App

    +
    +

    Notification +

    +

    +

    Notification is a service configuration used to send notifications about Jenkins status

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +loggingLevel
    + + +NotificationLogLevel + + +
    +
    +verbose
    + +bool + +
    +
    +name
    + +string + +
    +
    +slack
    + + +github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Slack + + +
    +
    +teams
    + + +github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.MicrosoftTeams + + +
    +
    +mailgun
    + + +github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Mailgun + + +
    +
    +

    NotificationLogLevel +(string alias)

    +

    +(Appears on: +Notification) +

    +

    +

    NotificationLogLevel defines logging level of Notification

    +

    Plugin

    @@ -1653,6 +1998,80 @@ uint64 +

    SecretKeySelector +

    +

    +(Appears on: +Mailgun, +MicrosoftTeams, +Slack) +

    +

    +

    SecretKeySelector selects a key of a Secret.

    +

    + + + + + + + + + + + + + + + + + +
    FieldDescription
    +secret
    + + +Kubernetes core/v1.LocalObjectReference + + +
    +

    The name of the secret in the pod’s namespace to select from.

    +
    +key
    + +string + +
    +

    The key of the secret to select from. Must be a valid secret key.

    +
    +

    SecretRef +

    +

    +(Appears on: +Customization) +

    +

    +

    SecretRef is reference to Kubernetes secret

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +name
    + +string + +
    +

    SeedJob

    @@ -1752,6 +2171,90 @@ JenkinsCredentialType

    JenkinsCredentialType is the https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/ credential type

    + + +githubPushTrigger
    + +bool + + + +(Optional) +

    GitHubPushTrigger is used for GitHub web hooks

    + + + + +buildPeriodically
    + +string + + + +(Optional) +

    BuildPeriodically is setting for scheduled trigger

    + + + + +pollSCM
    + +string + + + +(Optional) +

    PollSCM is setting for polling changes in SCM

    + + + + +ignoreMissingFiles
    + +bool + + + +(Optional) +

    IgnoreMissingFiles is setting for Job DSL API plugin to ignore files that miss

    + + + + +additionalClasspath
    + +string + + + +(Optional) +

    AdditionalClasspath is setting for Job DSL API plugin to set Additional Classpath

    + + + + +failOnMissingPlugin
    + +bool + + + +(Optional) +

    FailOnMissingPlugin is setting for Job DSL API plugin that fails job if required plugin is missing

    + + + + +unstableOnDeprecation
    + +bool + + + +(Optional) +

    UnstableOnDeprecation is setting for Job DSL API plugin that sets build status as unstable if build using deprecated features

    + +

    Service @@ -1890,10 +2393,42 @@ This field will be ignored if the cloud-provider does not support the feature. +

    Slack +

    +

    +(Appears on: +Notification) +

    +

    +

    Slack is handler for Slack notification channel

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +webHookURLSecretKeySelector
    + + +SecretKeySelector + + +
    +

    The web hook URL to Slack App

    +

    Generated with gen-crd-api-reference-docs -on git commit 37e531a. +on git commit f4c4235.

    diff --git a/docs/docs/how-it-works/architecture-and-design/index.html b/docs/docs/how-it-works/architecture-and-design/index.html index e4da9f32..3d73a388 100644 --- a/docs/docs/how-it-works/architecture-and-design/index.html +++ b/docs/docs/how-it-works/architecture-and-design/index.html @@ -35,7 +35,7 @@ - + @@ -448,7 +448,7 @@
    Jenkins Operator fundamentals
    -

    The jenkins-operator design incorporates the following concepts: +

    The Jenkins Operator design incorporates the following concepts: - watches any changes of manifests and maintain the desired state according to deployed custom resource manifest - implements the main reconciliation loop which consists of two smaller reconciliation loops - base and user

    diff --git a/docs/docs/how-it-works/index.xml b/docs/docs/how-it-works/index.xml index f3664a64..ba74a795 100644 --- a/docs/docs/how-it-works/index.xml +++ b/docs/docs/how-it-works/index.xml @@ -30,7 +30,7 @@ -<p>The <strong>jenkins-operator</strong> design incorporates the following concepts: +<p>The <strong>Jenkins Operator</strong> design incorporates the following concepts: - watches any changes of manifests and maintain the desired state according to deployed custom resource manifest - implements the main reconciliation loop which consists of two smaller reconciliation loops - base and user</p> @@ -67,7 +67,7 @@ It helps to maintain or recover desired state even after operator or Jenkins res - <p><strong>jenkins-operator</strong> is fully compatible with <strong>jenkins:lts</strong> docker image and does not introduce any hidden changes there. + <p><strong>Jenkins Operator</strong> is fully compatible with <strong>jenkins:lts</strong> docker image and does not introduce any hidden changes there. If needed, the docker image can easily be changed in custom resource manifest as long as it supports standard Jenkins file system structure.</p> diff --git a/docs/docs/how-it-works/jenkins-docker-images/index.html b/docs/docs/how-it-works/jenkins-docker-images/index.html index b741720b..4650d3be 100644 --- a/docs/docs/how-it-works/jenkins-docker-images/index.html +++ b/docs/docs/how-it-works/jenkins-docker-images/index.html @@ -35,7 +35,7 @@ - + @@ -446,7 +446,7 @@

    Jenkins Docker Images

    Jenkins default image details
    -

    jenkins-operator is fully compatible with jenkins:lts docker image and does not introduce any hidden changes there. +

    Jenkins Operator is fully compatible with jenkins:lts docker image and does not introduce any hidden changes there. If needed, the docker image can easily be changed in custom resource manifest as long as it supports standard Jenkins file system structure.

    diff --git a/docs/docs/index.xml b/docs/docs/index.xml index f36821db..e0287314 100644 --- a/docs/docs/index.xml +++ b/docs/docs/index.xml @@ -30,7 +30,7 @@ -<p>The <strong>jenkins-operator</strong> design incorporates the following concepts: +<p>The <strong>Jenkins Operator</strong> design incorporates the following concepts: - watches any changes of manifests and maintain the desired state according to deployed custom resource manifest - implements the main reconciliation loop which consists of two smaller reconciliation loops - base and user</p> @@ -322,7 +322,7 @@ spec: repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git </code></pre> -<p><strong>jenkins-operator</strong> will automatically discover and configure all seed jobs.</p> +<p><strong>Jenkins Operator</strong> will automatically discover and configure all seed jobs.</p> <p>You can verify if deploy keys were successfully configured in Jenkins <strong>Credentials</strong> tab.</p> @@ -417,6 +417,18 @@ stringData: password: password_or_token </code></pre> +<h2 id="http-proxy">HTTP Proxy</h2> + +<p>To use forwarding proxy with operator you need to put environment var to Jenkins CR, for e.g.:</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">spec<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>master<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>containers<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins-master<span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>env<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>CURL_OPTIONS<span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-L<span style="color:#f8f8f8;text-decoration:underline"> </span>-x<span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;proxy_url&gt;</code></pre></div> +<p>In <code>CURL_OPTIONS</code> var you can set additional arguments to curl command.</p> + <h2 id="jenkins-login-credentials">Jenkins login credentials</h2> <p>The operator automatically generate Jenkins user name and password and stores it in Kubernetes secret named @@ -431,7 +443,7 @@ stringData: </span><span style="color:#f8f8f8;text-decoration:underline"></span>data<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#f8f8f8;text-decoration:underline"> </span>user<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;base64-encoded-new-username<span style="color:#8f5902;font-style:italic">&gt; </span><span style="color:#8f5902;font-style:italic"> password: &lt;base64-encoded-new-password&gt;</span></code></pre></div> -<p>If needed <strong>jenkins-operator</strong> will restart Jenkins master pod and then you can login with the new user and password +<p>If needed <strong>Jenkins Operator</strong> will restart Jenkins master pod and then you can login with the new user and password credentials.</p> <h2 id="override-default-jenkins-container-command">Override default Jenkins container command</h2> @@ -573,7 +585,7 @@ spec: repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git </code></pre> -<p><strong>jenkins-operator</strong> will automatically discover and configure all seed jobs.</p> +<p><strong>Jenkins Operator</strong> will automatically discover and configure all seed jobs.</p> <p>You can verify if deploy keys were successfully configured in Jenkins <strong>Credentials</strong> tab.</p> @@ -668,6 +680,18 @@ stringData: password: password_or_token </code></pre> +<h2 id="http-proxy">HTTP Proxy</h2> + +<p>To use forwarding proxy with operator you need to put environment var to Jenkins CR, for e.g.:</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">spec<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>master<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>containers<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins-master<span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>env<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>CURL_OPTIONS<span style="color:#f8f8f8;text-decoration:underline"> +</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-L<span style="color:#f8f8f8;text-decoration:underline"> </span>-x<span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;proxy_url&gt;</code></pre></div> +<p>In <code>CURL_OPTIONS</code> var you can set additional arguments to curl command.</p> + <h2 id="pulling-docker-images-from-private-repositories">Pulling Docker images from private repositories</h2> <p>To pull Docker Image from private repository you can use <code>imagePullSecrets</code>.</p> @@ -755,9 +779,9 @@ stringData: <p>Jenkins can be customized using groovy scripts or configuration as code plugin. All custom configuration is stored in -the <strong>jenkins-operator-user-configuration-<cr_name></strong> ConfigMap which is automatically created by <strong>jenkins-operator</strong>.</p> +the <strong>jenkins-operator-user-configuration-<cr_name></strong> ConfigMap which is automatically created by <strong>Jenkins Operator</strong>.</p> -<p><strong>jenkins-operator</strong> creates <strong>jenkins-operator-user-configuration-<cr_name></strong> secret where user can store sensitive +<p><strong>Jenkins Operator</strong> creates <strong>jenkins-operator-user-configuration-<cr_name></strong> secret where user can store sensitive information used for custom configuration. If you have entry in secret named <code>PASSWORD</code> then you can use it in Configuration as Plugin as <code>adminAddress: &quot;${PASSWORD}&quot;</code>.</p> @@ -827,7 +851,7 @@ spec: version: 0.5.1 </code></pre> -<p>Under <code>spec.master.basePlugins</code> you can find plugins for valid <strong>jenkins-operator</strong> work:</p> +<p>Under <code>spec.master.basePlugins</code> you can find plugins for valid <strong>Jenkins Operator</strong> work:</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">apiVersion<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.io/v1alpha2<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#f8f8f8;text-decoration:underline"></span>kind<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Jenkins<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#f8f8f8;text-decoration:underline"></span>metadata<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> @@ -853,7 +877,7 @@ spec: </span><span style="color:#f8f8f8;text-decoration:underline"> </span>version<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0.12</span>.<span style="color:#0000cf;font-weight:bold">1</span></code></pre></div> <p>You can change version of them.</p> -<p>Then <strong>jenkins-operator</strong> will automatically install plugins after Jenkins master pod restart.</p> +<p>Then <strong>Jenkins Operator</strong> will automatically install plugins after Jenkins master pod restart.</p> @@ -919,7 +943,7 @@ Then you must reference the <em>ConfigMap</em> in <strong>Jenk <li>*.yaml is configuration as code</li> </ul> -<p>If you want to correct your configuration you can edit it while <strong>jenkins-operator</strong> is running. +<p>If you want to correct your configuration you can edit it while <strong>Jenkins Operator</strong> is running. Jenkins will reconcile and apply new configuration.</p> <h3 id="using-secrets-inside-groovy-script">Using secrets inside Groovy script</h3> @@ -993,7 +1017,7 @@ spec: version: 0.5.1 </code></pre> -<p>Under <code>spec.master.basePlugins</code> you can find plugins for valid <strong>jenkins-operator</strong> work:</p> +<p>Under <code>spec.master.basePlugins</code> you can find plugins for valid <strong>Jenkins Operator</strong> work:</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">apiVersion<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.io/v1alpha2<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#f8f8f8;text-decoration:underline"></span>kind<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Jenkins<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#f8f8f8;text-decoration:underline"></span>metadata<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> @@ -1019,7 +1043,7 @@ spec: </span><span style="color:#f8f8f8;text-decoration:underline"> </span>version<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0.12</span>.<span style="color:#0000cf;font-weight:bold">1</span></code></pre></div> <p>You can change version of them.</p> -<p>Then <strong>jenkins-operator</strong> will automatically install plugins after Jenkins master pod restart.</p> +<p>Then <strong>Jenkins Operator</strong> will automatically install plugins after Jenkins master pod restart.</p> @@ -1243,7 +1267,7 @@ restart Jenkins pod over and over again.</p> - <p><strong>jenkins-operator</strong> is fully compatible with <strong>jenkins:lts</strong> docker image and does not introduce any hidden changes there. + <p><strong>Jenkins Operator</strong> is fully compatible with <strong>jenkins:lts</strong> docker image and does not introduce any hidden changes there. If needed, the docker image can easily be changed in custom resource manifest as long as it supports standard Jenkins file system structure.</p> @@ -1268,7 +1292,7 @@ If needed, the docker image can easily be changed in custom resource manifest as <p>We have removed hardcoded configuration by <strong>Jenkins</strong> jobs.</p> -<p>In <code>v0.1.1</code> <strong>jenkins-operator</strong> configuration was stored in <code>jenkins-operator-user-configuration-&lt;cr_name&gt;</code> +<p>In <code>v0.1.1</code> <strong>Jenkins Operator</strong> configuration was stored in <code>jenkins-operator-user-configuration-&lt;cr_name&gt;</code> If you want to use <code>v0.2.0</code> or newer you must simply write refer to old ConfigMap by modifying CR, for example:</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">apiVersion<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.io/v1alpha2<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#f8f8f8;text-decoration:underline"></span>kind<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Jenkins<span style="color:#f8f8f8;text-decoration:underline"> @@ -1360,7 +1384,7 @@ go install -<p>Turn on debug in <strong>jenkins-operator</strong> deployment:</p> +<p>Turn on debug in <strong>Jenkins Operator</strong> deployment:</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">sed -i <span style="color:#4e9a06">&#39;s|\(args:\).*|\1\ [&#34;--debug&#34;\]|&#39;</span> deploy/operator.yaml kubectl apply -f deploy/operator.yaml</code></pre></div> <p>Watch Kubernetes events:</p> @@ -1387,7 +1411,7 @@ kubectl apply -f deploy/operator.yaml</code></pre></div> -<p>Turn on debug in <strong>jenkins-operator</strong> deployment:</p> +<p>Turn on debug in <strong>Jenkins Operator</strong> deployment:</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">sed -i <span style="color:#4e9a06">&#39;s|\(args:\).*|\1\ [&#34;--debug&#34;\]|&#39;</span> deploy/operator.yaml kubectl apply -f deploy/operator.yaml</code></pre></div> <p>Watch Kubernetes events:</p> @@ -3037,6 +3061,34 @@ Restore More info: <a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore">https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore</a></p> </td> </tr> +<tr> +<td> +<code>groovyScripts</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.GroovyScripts"> +GroovyScripts +</a> +</em> +</td> +<td> +<em>(Optional)</em> +<p>GroovyScripts defines configuration of Jenkins customization via groovy scripts</p> +</td> +</tr> +<tr> +<td> +<code>configurationAsCode</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigurationAsCode"> +ConfigurationAsCode +</a> +</em> +</td> +<td> +<em>(Optional)</em> +<p>ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin</p> +</td> +</tr> </table> </td> </tr> @@ -3055,6 +3107,69 @@ JenkinsStatus </tr> </tbody> </table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.AppliedGroovyScript">AppliedGroovyScript +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsStatus">JenkinsStatus</a>) +</p> +<p> +<p>AppliedGroovyScript is the applied groovy script in Jenkins by the operator</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>configurationType</code></br> +<em> +string +</em> +</td> +<td> +<p>ConfigurationType is the name of the configuration type(base-groovy, user-groovy, user-casc)</p> +</td> +</tr> +<tr> +<td> +<code>source</code></br> +<em> +string +</em> +</td> +<td> +<p>Source is the name of source where is located groovy script</p> +</td> +</tr> +<tr> +<td> +<code>name</code></br> +<em> +string +</em> +</td> +<td> +<p>Name is the name of the groovy script</p> +</td> +</tr> +<tr> +<td> +<code>Hash</code></br> +<em> +string +</em> +</td> +<td> +<p>Hash is the hash of the groovy script and secrets which it uses</p> +</td> +</tr> +</tbody> +</table> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Backup">Backup </h3> <p> @@ -3121,14 +3236,14 @@ bool </tr> </tbody> </table> -<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Build">Build +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigMapRef">ConfigMapRef </h3> <p> (<em>Appears on:</em> -<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsStatus">JenkinsStatus</a>) +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Customization">Customization</a>) </p> <p> -<p>Build defines Jenkins Build status with corresponding metadata</p> +<p>ConfigMapRef is reference to Kubernetes ConfigMap</p> </p> <table> <thead> @@ -3140,98 +3255,47 @@ bool <tbody> <tr> <td> -<code>jobName</code></br> +<code>name</code></br> <em> string </em> </td> <td> -<p>JobName is the Jenkins job name</p> -</td> -</tr> -<tr> -<td> -<code>hash</code></br> -<em> -string -</em> -</td> -<td> -<p>Hash is the unique data identifier used in build</p> -</td> -</tr> -<tr> -<td> -<code>number</code></br> -<em> -int64 -</em> -</td> -<td> -<p>Number is the Jenkins build number</p> -</td> -</tr> -<tr> -<td> -<code>status</code></br> -<em> -<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.BuildStatus"> -BuildStatus -</a> -</em> -</td> -<td> -<p>Status is the status of Jenkins build</p> -</td> -</tr> -<tr> -<td> -<code>retries</code></br> -<em> -int -</em> -</td> -<td> -<p>Retires is the amount of Jenkins job build retries</p> -</td> -</tr> -<tr> -<td> -<code>createTime</code></br> -<em> -<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#time-v1-meta"> -Kubernetes meta/v1.Time -</a> -</em> -</td> -<td> -<p>CreateTime is the time when the first build has been created</p> -</td> -</tr> -<tr> -<td> -<code>lastUpdateTime</code></br> -<em> -<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#time-v1-meta"> -Kubernetes meta/v1.Time -</a> -</em> -</td> -<td> -<p>LastUpdateTime is the last update status time</p> </td> </tr> </tbody> </table> -<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.BuildStatus">BuildStatus -(<code>string</code> alias)</p></h3> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigurationAsCode">ConfigurationAsCode +</h3> <p> (<em>Appears on:</em> -<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Build">Build</a>) +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsSpec">JenkinsSpec</a>) </p> <p> -<p>BuildStatus defines type of Jenkins build job status</p> +<p>ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin</p> </p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>Customization</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Customization"> +Customization +</a> +</em> +</td> +<td> +</td> +</tr> +</tbody> +</table> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Container">Container </h3> <p> @@ -3479,6 +3543,81 @@ More info: <a href="https://kubernetes.io/docs/tasks/configure-pod-contai </tr> </tbody> </table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Customization">Customization +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.ConfigurationAsCode">ConfigurationAsCode</a>, +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.GroovyScripts">GroovyScripts</a>) +</p> +<p> +<p>Customization defines configuration of Jenkins customization</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>secret</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SecretRef"> +SecretRef +</a> +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>configurations</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigMapRef"> +[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigMapRef +</a> +</em> +</td> +<td> +</td> +</tr> +</tbody> +</table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.GroovyScripts">GroovyScripts +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsSpec">JenkinsSpec</a>) +</p> +<p> +<p>GroovyScripts defines configuration of Jenkins customization via groovy scripts</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>Customization</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Customization"> +Customization +</a> +</em> +</td> +<td> +</td> +</tr> +</tbody> +</table> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Handler">Handler </h3> <p> @@ -3635,6 +3774,23 @@ memory: 600Mi</p> </tr> <tr> <td> +<code>imagePullSecrets</code></br> +<em> +<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#localobjectreference-v1-core"> +[]Kubernetes core/v1.LocalObjectReference +</a> +</em> +</td> +<td> +<em>(Optional)</em> +<p>ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. +If specified, these secrets will be passed to individual puller implementations for them to use. For example, +in the case of docker, only DockerConfig type secrets are honored. +More info: <a href="https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod">https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod</a></p> +</td> +</tr> +<tr> +<td> <code>volumes</code></br> <em> <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#volume-v1-core"> @@ -3804,6 +3960,34 @@ Restore More info: <a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore">https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore</a></p> </td> </tr> +<tr> +<td> +<code>groovyScripts</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.GroovyScripts"> +GroovyScripts +</a> +</em> +</td> +<td> +<em>(Optional)</em> +<p>GroovyScripts defines configuration of Jenkins customization via groovy scripts</p> +</td> +</tr> +<tr> +<td> +<code>configurationAsCode</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigurationAsCode"> +ConfigurationAsCode +</a> +</em> +</td> +<td> +<em>(Optional)</em> +<p>ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin</p> +</td> +</tr> </tbody> </table> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsStatus">JenkinsStatus @@ -3879,20 +4063,6 @@ Kubernetes meta/v1.Time </tr> <tr> <td> -<code>builds</code></br> -<em> -<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Build"> -[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Build -</a> -</em> -</td> -<td> -<em>(Optional)</em> -<p>Builds contains Jenkins builds statues</p> -</td> -</tr> -<tr> -<td> <code>restoredBackup</code></br> <em> uint64 @@ -3963,8 +4133,207 @@ string <p>CreatedSeedJobs contains list of seed job id already created in Jenkins</p> </td> </tr> +<tr> +<td> +<code>appliedGroovyScripts</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.AppliedGroovyScript"> +[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.AppliedGroovyScript +</a> +</em> +</td> +<td> +<em>(Optional)</em> +<p>AppliedGroovyScripts is a list with all applied groovy scripts in Jenkins by the operator</p> +</td> +</tr> </tbody> </table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Mailgun">Mailgun +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Notification">Notification</a>) +</p> +<p> +<p>Mailgun is handler for Mailgun email service notification channel</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>domain</code></br> +<em> +string +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>apiKeySecretKeySelector</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SecretKeySelector"> +SecretKeySelector +</a> +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>recipient</code></br> +<em> +string +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>from</code></br> +<em> +string +</em> +</td> +<td> +</td> +</tr> +</tbody> +</table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.MicrosoftTeams">MicrosoftTeams +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Notification">Notification</a>) +</p> +<p> +<p>MicrosoftTeams is handler for Microsoft MicrosoftTeams notification channel</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>webHookURLSecretKeySelector</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SecretKeySelector"> +SecretKeySelector +</a> +</em> +</td> +<td> +<p>The web hook URL to MicrosoftTeams App</p> +</td> +</tr> +</tbody> +</table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Notification">Notification +</h3> +<p> +<p>Notification is a service configuration used to send notifications about Jenkins status</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>loggingLevel</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.NotificationLogLevel"> +NotificationLogLevel +</a> +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>verbose</code></br> +<em> +bool +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>name</code></br> +<em> +string +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>slack</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Slack"> +github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Slack +</a> +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>teams</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.MicrosoftTeams"> +github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.MicrosoftTeams +</a> +</em> +</td> +<td> +</td> +</tr> +<tr> +<td> +<code>mailgun</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Mailgun"> +github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Mailgun +</a> +</em> +</td> +<td> +</td> +</tr> +</tbody> +</table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.NotificationLogLevel">NotificationLogLevel +(<code>string</code> alias)</p></h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Notification">Notification</a>) +</p> +<p> +<p>NotificationLogLevel defines logging level of Notification</p> +</p> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Plugin">Plugin </h3> <p> @@ -4061,6 +4430,80 @@ uint64 </tr> </tbody> </table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SecretKeySelector">SecretKeySelector +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Mailgun">Mailgun</a>, +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.MicrosoftTeams">MicrosoftTeams</a>, +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Slack">Slack</a>) +</p> +<p> +<p>SecretKeySelector selects a key of a Secret.</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>secret</code></br> +<em> +<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#localobjectreference-v1-core"> +Kubernetes core/v1.LocalObjectReference +</a> +</em> +</td> +<td> +<p>The name of the secret in the pod&rsquo;s namespace to select from.</p> +</td> +</tr> +<tr> +<td> +<code>key</code></br> +<em> +string +</em> +</td> +<td> +<p>The key of the secret to select from. Must be a valid secret key.</p> +</td> +</tr> +</tbody> +</table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SecretRef">SecretRef +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Customization">Customization</a>) +</p> +<p> +<p>SecretRef is reference to Kubernetes secret</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>name</code></br> +<em> +string +</em> +</td> +<td> +</td> +</tr> +</tbody> +</table> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SeedJob">SeedJob </h3> <p> @@ -4160,6 +4603,90 @@ JenkinsCredentialType <p>JenkinsCredentialType is the <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/">https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/</a> credential type</p> </td> </tr> +<tr> +<td> +<code>githubPushTrigger</code></br> +<em> +bool +</em> +</td> +<td> +<em>(Optional)</em> +<p>GitHubPushTrigger is used for GitHub web hooks</p> +</td> +</tr> +<tr> +<td> +<code>buildPeriodically</code></br> +<em> +string +</em> +</td> +<td> +<em>(Optional)</em> +<p>BuildPeriodically is setting for scheduled trigger</p> +</td> +</tr> +<tr> +<td> +<code>pollSCM</code></br> +<em> +string +</em> +</td> +<td> +<em>(Optional)</em> +<p>PollSCM is setting for polling changes in SCM</p> +</td> +</tr> +<tr> +<td> +<code>ignoreMissingFiles</code></br> +<em> +bool +</em> +</td> +<td> +<em>(Optional)</em> +<p>IgnoreMissingFiles is setting for Job DSL API plugin to ignore files that miss</p> +</td> +</tr> +<tr> +<td> +<code>additionalClasspath</code></br> +<em> +string +</em> +</td> +<td> +<em>(Optional)</em> +<p>AdditionalClasspath is setting for Job DSL API plugin to set Additional Classpath</p> +</td> +</tr> +<tr> +<td> +<code>failOnMissingPlugin</code></br> +<em> +bool +</em> +</td> +<td> +<em>(Optional)</em> +<p>FailOnMissingPlugin is setting for Job DSL API plugin that fails job if required plugin is missing</p> +</td> +</tr> +<tr> +<td> +<code>unstableOnDeprecation</code></br> +<em> +bool +</em> +</td> +<td> +<em>(Optional)</em> +<p>UnstableOnDeprecation is setting for Job DSL API plugin that sets build status as unstable if build using deprecated features</p> +</td> +</tr> </tbody> </table> <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Service">Service @@ -4298,10 +4825,42 @@ This field will be ignored if the cloud-provider does not support the feature.&l </tr> </tbody> </table> +<h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Slack">Slack +</h3> +<p> +(<em>Appears on:</em> +<a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Notification">Notification</a>) +</p> +<p> +<p>Slack is handler for Slack notification channel</p> +</p> +<table> +<thead> +<tr> +<th>Field</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td> +<code>webHookURLSecretKeySelector</code></br> +<em> +<a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SecretKeySelector"> +SecretKeySelector +</a> +</em> +</td> +<td> +<p>The web hook URL to Slack App</p> +</td> +</tr> +</tbody> +</table> <hr/> <p><em> Generated with <code>gen-crd-api-reference-docs</code> -on git commit <code>37e531a</code>. +on git commit <code>f4c4235</code>. </em></p> diff --git a/docs/docs/installation/index.html b/docs/docs/installation/index.html index 3756728a..ab480b17 100644 --- a/docs/docs/installation/index.html +++ b/docs/docs/installation/index.html @@ -441,7 +441,7 @@

    Requirements

    -

    To run jenkins-operator, you will need:

    +

    To run Jenkins Operator, you will need:

    • running Kubernetes cluster version 1.11+

    • @@ -457,9 +457,9 @@

      Apply Service Account and RBAC roles:

      kubectl apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/deploy/all-in-one-v1alpha2.yaml
      -

      Watch jenkins-operator instance being created:

      +

      Watch Jenkins Operator instance being created:

      kubectl get pods -w
      -

      Now jenkins-operator should be up and running in default namespace.

      +

      Now Jenkins Operator should be up and running in default namespace.

      diff --git a/docs/docs/security/index.html b/docs/docs/security/index.html index 264180be..e6232b66 100644 --- a/docs/docs/security/index.html +++ b/docs/docs/security/index.html @@ -431,20 +431,20 @@
      Jenkins security and hardening out of the box
      -

      By default jenkins-operator performs an initial security hardening of Jenkins instance via groovy scripts to prevent any security gaps.

      +

      By default Jenkins Operator performs an initial security hardening of Jenkins instance via groovy scripts to prevent any security gaps.

      Jenkins Access Control

      -

      Currently jenkins-operator generates a username and random password and stores them in a Kubernetes Secret. +

      Currently Jenkins Operator generates a username and random password and stores them in a Kubernetes Secret. However any other authorization mechanisms are possible and can be done via groovy scripts or configuration as code plugin. For more information take a look at getting-started#jenkins-customization.

      Any change to Security Realm or Authorization requires that user called jenkins-operator must have admin rights -because jenkins-operator calls Jenkins API.

      +because Jenkins Operator calls Jenkins API.

      Jenkins Hardening

      -

      The list below describes all the default security setting configured by the jenkins-operator: +

      The list below describes all the default security setting configured by the Jenkins Operator: - basic settings - use Mode.EXCLUSIVE - Jobs must specify that they want to run on master node - enable CSRF - Cross Site Request Forgery Protection is enabled - disable usage stats - Jenkins usage stats submitting is disabled @@ -457,7 +457,7 @@ because jenkins-operator calls Jenkins API.

      Jenkins API

      -

      The jenkins-operator generates and configures Basic Authentication token for Jenkins go client and stores it in a Kubernetes Secret.

      +

      The Jenkins Operator generates and configures Basic Authentication token for Jenkins go client and stores it in a Kubernetes Secret.

      Kubernetes

      @@ -465,22 +465,22 @@ because jenkins-operator calls Jenkins API.

      - jenkins-operator role
      - Jenkins Master role

      -

      Since jenkins-operator must be able to grant permission for its’ deployed Jenkins masters to spawn pods (the Jenkins Master role above), +

      Since Jenkins Operator must be able to grant permission for its’ deployed Jenkins masters to spawn pods (the Jenkins Master role above), the operator itself requires permission to create RBAC resources (the jenkins-operator role above). Deployed this way, any subject which may create a Pod (including a Jenkins job) may assume the jenkins-operator role by using its’ ServiceAccount, create RBAC rules, and thus escape its granted permissions. Any namespace to which the jenkins-operator is deployed must be considered to implicitly grant all possible permissions to any subject which can create a Pod in that namespace.

      -

      To mitigate this issue jenkins-operator should be deployed in one namespace and the Jenkins CR should be created in separate namespace. +

      To mitigate this issue Jenkins Operator should be deployed in one namespace and the Jenkins CR should be created in separate namespace. To achieve it change watch namespace in https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/operator.yaml#L25

      Setup Jenkins Operator and Jenkins in separated namespaces

      -

      You need to create two namespaces, for example we’ll call them jenkins for Jenkins and jenkins-operator for Jenkins Operator.

      +

      You need to create two namespaces, for example we’ll call them jenkins for Jenkins and Jenkins Operator for Jenkins Operator.

      $ kubectl create ns jenkins-operator
       $ kubectl create ns jenkins
      -

      Next, apply the RBAC manifests for jenkins-operator namespace

      +

      Next, apply the RBAC manifests for Jenkins Operator namespace

      $ kubectl -n jenkins-operator apply -f deploy/service_account.yaml
       $ kubectl -n jenkins-operator apply -f deploy/role_binding.yaml

      Create file role_binding_jenkins.yaml in deploy folder:

      diff --git a/website/content/en/docs/Getting Started/v0.1.1/configuration.md b/website/content/en/docs/Getting Started/v0.1.1/configuration.md index b261b6b7..e3316221 100644 --- a/website/content/en/docs/Getting Started/v0.1.1/configuration.md +++ b/website/content/en/docs/Getting Started/v0.1.1/configuration.md @@ -229,6 +229,22 @@ stringData: password: password_or_token ``` +## HTTP Proxy + +To use forwarding proxy with operator you need to put environment var to Jenkins CR, for e.g.: + +```yaml +spec: + master: + containers: + - name: jenkins-master + env: + - name: CURL_OPTIONS + value: -L -x +``` + +In `CURL_OPTIONS` var you can set additional arguments to curl command. + ## Jenkins login credentials The operator automatically generate Jenkins user name and password and stores it in Kubernetes secret named diff --git a/website/content/en/docs/Getting Started/v0.2.0/configuration.md b/website/content/en/docs/Getting Started/v0.2.0/configuration.md index 77548470..d78477e4 100644 --- a/website/content/en/docs/Getting Started/v0.2.0/configuration.md +++ b/website/content/en/docs/Getting Started/v0.2.0/configuration.md @@ -231,6 +231,22 @@ stringData: password: password_or_token ``` +## HTTP Proxy + +To use forwarding proxy with operator you need to put environment var to Jenkins CR, for e.g.: + +```yaml +spec: + master: + containers: + - name: jenkins-master + env: + - name: CURL_OPTIONS + value: -L -x +``` + +In `CURL_OPTIONS` var you can set additional arguments to curl command. + ## Pulling Docker images from private repositories To pull Docker Image from private repository you can use `imagePullSecrets`. diff --git a/website/content/en/docs/Getting Started/v0.2.0/scheme.md b/website/content/en/docs/Getting Started/v0.2.0/scheme.md index 4bf11afd..c5d6cccc 100644 --- a/website/content/en/docs/Getting Started/v0.2.0/scheme.md +++ b/website/content/en/docs/Getting Started/v0.2.0/scheme.md @@ -176,6 +176,34 @@ Restore More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore

      + + +groovyScripts
      + + +GroovyScripts + + + + +(Optional) +

      GroovyScripts defines configuration of Jenkins customization via groovy scripts

      + + + + +configurationAsCode
      + + +ConfigurationAsCode + + + + +(Optional) +

      ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin

      + + @@ -194,6 +222,69 @@ JenkinsStatus +

      AppliedGroovyScript +

      +

      +(Appears on: +JenkinsStatus) +

      +

      +

      AppliedGroovyScript is the applied groovy script in Jenkins by the operator

      +

      + + + + + + + + + + + + + + + + + + + + + + + + + +
      FieldDescription
      +configurationType
      + +string + +
      +

      ConfigurationType is the name of the configuration type(base-groovy, user-groovy, user-casc)

      +
      +source
      + +string + +
      +

      Source is the name of source where is located groovy script

      +
      +name
      + +string + +
      +

      Name is the name of the groovy script

      +
      +Hash
      + +string + +
      +

      Hash is the hash of the groovy script and secrets which it uses

      +

      Backup

      @@ -260,14 +351,14 @@ bool -

      Build +

      ConfigMapRef

      (Appears on: -JenkinsStatus) +Customization)

      -

      Build defines Jenkins Build status with corresponding metadata

      +

      ConfigMapRef is reference to Kubernetes ConfigMap

      @@ -279,98 +370,47 @@ bool - - - - - - - - - - - - - - - - - - - - - - - -
      -jobName
      +name
      string
      -

      JobName is the Jenkins job name

      -
      -hash
      - -string - -
      -

      Hash is the unique data identifier used in build

      -
      -number
      - -int64 - -
      -

      Number is the Jenkins build number

      -
      -status
      - - -BuildStatus - - -
      -

      Status is the status of Jenkins build

      -
      -retries
      - -int - -
      -

      Retires is the amount of Jenkins job build retries

      -
      -createTime
      - - -Kubernetes meta/v1.Time - - -
      -

      CreateTime is the time when the first build has been created

      -
      -lastUpdateTime
      - - -Kubernetes meta/v1.Time - - -
      -

      LastUpdateTime is the last update status time

      -

      BuildStatus -(string alias)

      +

      ConfigurationAsCode +

      (Appears on: -Build) +JenkinsSpec)

      -

      BuildStatus defines type of Jenkins build job status

      +

      ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin

      + + + + + + + + + + + + + +
      FieldDescription
      +Customization
      + + +Customization + + +
      +

      Container

      @@ -618,6 +658,81 @@ More info: Customization +

    +

    +(Appears on: +ConfigurationAsCode, +GroovyScripts) +

    +

    +

    Customization defines configuration of Jenkins customization

    +

    + + + + + + + + + + + + + + + + + +
    FieldDescription
    +secret
    + + +SecretRef + + +
    +
    +configurations
    + + +[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.ConfigMapRef + + +
    +
    +

    GroovyScripts +

    +

    +(Appears on: +JenkinsSpec) +

    +

    +

    GroovyScripts defines configuration of Jenkins customization via groovy scripts

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +Customization
    + + +Customization + + +
    +

    Handler

    @@ -774,6 +889,23 @@ memory: 600Mi

    +imagePullSecrets
    + + +[]Kubernetes core/v1.LocalObjectReference + + + + +(Optional) +

    ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. +If specified, these secrets will be passed to individual puller implementations for them to use. For example, +in the case of docker, only DockerConfig type secrets are honored. +More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod

    + + + + volumes
    @@ -943,6 +1075,34 @@ Restore More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore

    + + +groovyScripts
    + + +GroovyScripts + + + + +(Optional) +

    GroovyScripts defines configuration of Jenkins customization via groovy scripts

    + + + + +configurationAsCode
    + + +ConfigurationAsCode + + + + +(Optional) +

    ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin

    + +

    JenkinsStatus @@ -1018,20 +1178,6 @@ Kubernetes meta/v1.Time -builds
    - - -[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Build - - - - -(Optional) -

    Builds contains Jenkins builds statues

    - - - - restoredBackup
    uint64 @@ -1102,8 +1248,207 @@ string

    CreatedSeedJobs contains list of seed job id already created in Jenkins

    + + +appliedGroovyScripts
    + + +[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.AppliedGroovyScript + + + + +(Optional) +

    AppliedGroovyScripts is a list with all applied groovy scripts in Jenkins by the operator

    + + +

    Mailgun +

    +

    +(Appears on: +Notification) +

    +

    +

    Mailgun is handler for Mailgun email service notification channel

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +domain
    + +string + +
    +
    +apiKeySecretKeySelector
    + + +SecretKeySelector + + +
    +
    +recipient
    + +string + +
    +
    +from
    + +string + +
    +
    +

    MicrosoftTeams +

    +

    +(Appears on: +Notification) +

    +

    +

    MicrosoftTeams is handler for Microsoft MicrosoftTeams notification channel

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +webHookURLSecretKeySelector
    + + +SecretKeySelector + + +
    +

    The web hook URL to MicrosoftTeams App

    +
    +

    Notification +

    +

    +

    Notification is a service configuration used to send notifications about Jenkins status

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    +loggingLevel
    + + +NotificationLogLevel + + +
    +
    +verbose
    + +bool + +
    +
    +name
    + +string + +
    +
    +slack
    + + +github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Slack + + +
    +
    +teams
    + + +github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.MicrosoftTeams + + +
    +
    +mailgun
    + + +github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Mailgun + + +
    +
    +

    NotificationLogLevel +(string alias)

    +

    +(Appears on: +Notification) +

    +

    +

    NotificationLogLevel defines logging level of Notification

    +

    Plugin

    @@ -1200,6 +1545,80 @@ uint64 +

    SecretKeySelector +

    +

    +(Appears on: +Mailgun, +MicrosoftTeams, +Slack) +

    +

    +

    SecretKeySelector selects a key of a Secret.

    +

    + + + + + + + + + + + + + + + + + +
    FieldDescription
    +secret
    + + +Kubernetes core/v1.LocalObjectReference + + +
    +

    The name of the secret in the pod’s namespace to select from.

    +
    +key
    + +string + +
    +

    The key of the secret to select from. Must be a valid secret key.

    +
    +

    SecretRef +

    +

    +(Appears on: +Customization) +

    +

    +

    SecretRef is reference to Kubernetes secret

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +name
    + +string + +
    +

    SeedJob

    @@ -1299,6 +1718,90 @@ JenkinsCredentialType

    JenkinsCredentialType is the https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/ credential type

    + + +githubPushTrigger
    + +bool + + + +(Optional) +

    GitHubPushTrigger is used for GitHub web hooks

    + + + + +buildPeriodically
    + +string + + + +(Optional) +

    BuildPeriodically is setting for scheduled trigger

    + + + + +pollSCM
    + +string + + + +(Optional) +

    PollSCM is setting for polling changes in SCM

    + + + + +ignoreMissingFiles
    + +bool + + + +(Optional) +

    IgnoreMissingFiles is setting for Job DSL API plugin to ignore files that miss

    + + + + +additionalClasspath
    + +string + + + +(Optional) +

    AdditionalClasspath is setting for Job DSL API plugin to set Additional Classpath

    + + + + +failOnMissingPlugin
    + +bool + + + +(Optional) +

    FailOnMissingPlugin is setting for Job DSL API plugin that fails job if required plugin is missing

    + + + + +unstableOnDeprecation
    + +bool + + + +(Optional) +

    UnstableOnDeprecation is setting for Job DSL API plugin that sets build status as unstable if build using deprecated features

    + +

    Service @@ -1437,8 +1940,40 @@ This field will be ignored if the cloud-provider does not support the feature. +

    Slack +

    +

    +(Appears on: +Notification) +

    +

    +

    Slack is handler for Slack notification channel

    +

    + + + + + + + + + + + + + +
    FieldDescription
    +webHookURLSecretKeySelector
    + + +SecretKeySelector + + +
    +

    The web hook URL to Slack App

    +

    Generated with gen-crd-api-reference-docs -on git commit 37e531a. +on git commit f4c4235.