Updated links and versions of plugins.
Added Operator's restart commands to developer guide installation.
This commit is contained in:
		
							parent
							
								
									6f65d1c892
								
							
						
					
					
						commit
						1bfdd3a404
					
				|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -26,9 +26,7 @@ | |||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/404.html" /> | ||||
| <meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="404 Page not found"> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="404 Page not found"/> | ||||
| <meta name="twitter:description" content="A native operator for Kubernetes to manage Jenkins"/> | ||||
| 
 | ||||
|  | @ -36,8 +34,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -27,9 +27,7 @@ | |||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/about/" /> | ||||
| <meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="What's the Jenkins Operator?"> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="What's the Jenkins Operator?"/> | ||||
| <meta name="twitter:description" content="A native operator for Kubernetes to manage Jenkins"/> | ||||
| 
 | ||||
|  | @ -37,8 +35,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Another Great Release"> | ||||
| <meta itemprop="description" content="A short lead description about this content page. Text here can also be **bold** or _italic_ and can even be split over multiple paragraphs. | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2018-01-04T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2018-01-04T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="1234"> | ||||
| <meta itemprop="wordCount" content="1233"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Another Great Release"/> | ||||
| <meta name="twitter:description" content="A short lead description about this content page. Text here can also be **bold** or _italic_ and can even be split over multiple paragraphs. | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -272,7 +269,7 @@ | |||
| 	</div> | ||||
| 	 | ||||
| 
 | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com" target="_blank">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| 
 | ||||
| <p>There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.</p> | ||||
| 
 | ||||
|  | @ -308,10 +305,7 @@ Dixi ad aestum.</p> | |||
| </blockquote> | ||||
| 
 | ||||
| <h3 id="header-3">Header 3</h3> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header.</code></pre> | ||||
| <h4 id="header-4">Header 4</h4> | ||||
| 
 | ||||
| <ul> | ||||
|  | @ -514,28 +508,22 @@ Dixi ad aestum.</p> | |||
| <p>Also, <code>this should vertically align</code> <del><code>with this</code></del> <del>and this</del>.</p> | ||||
| 
 | ||||
| <p>Code can also be shown in a block element.</p> | ||||
| 
 | ||||
| <pre><code>foo := "bar"; | ||||
| bar := "foo"; | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>foo := "bar"; | ||||
| bar := "foo";</code></pre> | ||||
| <p>Code can also use syntax highlighting.</p> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">()</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`var foo = "bar";`</span> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`</span><span style="color:#4e9a06">var foo = "bar";</span><span style="color:#4e9a06">`</span> | ||||
| 
 | ||||
|   <span style="color:#000">lexer</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexers</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">"javascript"</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">_</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexer</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Tokenise</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">nil</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">input</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">style</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">styles</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">"github"</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">())</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#204a87;font-weight:bold">var</span> <span style="color:#000">buff</span> <span style="color:#000">bytes</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Buffer</span> | ||||
|   <span style="color:#000">formatter</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Format</span><span style="color:#000;font-weight:bold">(</span><span style="color:#ce5c00;font-weight:bold">&</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">style</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">())</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div> | ||||
| <pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. | ||||
| </code></pre> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div><pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.</code></pre> | ||||
| <p>Inline code inside table cells should still be distinguishable.</p> | ||||
| 
 | ||||
| <table> | ||||
|  | @ -640,10 +628,7 @@ This is a warning with a title! | |||
| <h3 id="used-ram">Used RAM</h3> | ||||
| 
 | ||||
| <p>Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.</p> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this.</code></pre> | ||||
| 	 | ||||
| 
 | ||||
| 	<ul class="list-unstyled d-flex justify-content-between align-items-center mb-0 pt-5"> | ||||
|  |  | |||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 27 KiB | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB | 
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -24,20 +24,19 @@ | |||
| <meta property="og:description" content="The Docsy Hugo theme lets project maintainers and contributors focus on content, not on reinventing a website infrastructure from scratch" /> | ||||
| <meta property="og:type" content="article" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/blog/2018/10/06/easy-documentation-with-docsy/" /> | ||||
| <meta property="og:image" content="https://jenkinsci.github.io/kubernetes-operator/blog/2018/10/06/easy-documentation-with-docsy/featured-sunset-get.png"/> | ||||
| <meta property="article:published_time" content="2018-10-06T00:00:00+00:00" /> | ||||
| <meta property="article:modified_time" content="2018-10-06T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="Easy documentation with Docsy"> | ||||
| <meta itemprop="description" content="The Docsy Hugo theme lets project maintainers and contributors focus on content, not on reinventing a website infrastructure from scratch"> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2018-10-06T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2018-10-06T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="135"> | ||||
| <meta itemprop="image" content="https://jenkinsci.github.io/kubernetes-operator/blog/2018/10/06/easy-documentation-with-docsy/featured-sunset-get.png"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary_large_image"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary_large_image"/> | ||||
| <meta name="twitter:image" content="https://jenkinsci.github.io/kubernetes-operator/blog/2018/10/06/easy-documentation-with-docsy/featured-sunset-get.png"/> | ||||
| <meta name="twitter:title" content="Easy documentation with Docsy"/> | ||||
| <meta name="twitter:description" content="The Docsy Hugo theme lets project maintainers and contributors focus on content, not on reinventing a website infrastructure from scratch"/> | ||||
|  | @ -46,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -227,7 +226,7 @@ | |||
| 	<h1>Easy documentation with Docsy</h1> | ||||
| 	<div class="lead">The Docsy Hugo theme lets project maintainers and contributors focus on content, not on reinventing a website infrastructure from scratch</div> | ||||
| 	<div class="td-byline mb-4"> | ||||
| 		By <b>Riona MacNamara (<a href="https://twitter.com/bepsays" target="_blank">@rionam</a>)</b> | | ||||
| 		By <b>Riona MacNamara (<a href="https://twitter.com/bepsays">@rionam</a>)</b> | | ||||
| 		<time datetime="2018-10-06" class="text-muted">Saturday, October 06, 2018</time> | ||||
| 	</div> | ||||
| 	 | ||||
|  | @ -259,16 +258,12 @@ Fetch and scale an image in the upcoming Hugo 0.43. | |||
| </div> | ||||
| 
 | ||||
| <p>The front matter of this post specifies properties to be assigned to all image resources:</p> | ||||
| 
 | ||||
| <pre><code>resources: | ||||
| - src: "**.{png,jpg}" | ||||
|   title: "Image #:counter" | ||||
| - src: "**.{png,jpg}" | ||||
|   title: "Image #:counter" | ||||
|   params: | ||||
|     byline: "Photo: Riona MacNamara / CC-BY-CA" | ||||
| </code></pre> | ||||
| 
 | ||||
|     byline: "Photo: Riona MacNamara / CC-BY-CA"</code></pre> | ||||
| <p>To include the image in a page, specify its details like this:</p> | ||||
| 
 | ||||
| <pre><code> | ||||
| 
 | ||||
| 
 | ||||
|  | @ -285,9 +280,7 @@ Fetch and scale an image in the upcoming Hugo 0.43. | |||
| <small class="text-muted"><br/>Photo: Riona MacNamara / CC-BY-CA</small></p> | ||||
| 	</div> | ||||
| 	 | ||||
| </div> | ||||
| </code></pre> | ||||
| 
 | ||||
| </div></code></pre> | ||||
| <p>The image will be rendered at the size and byline specified in the front matter.</p> | ||||
| 
 | ||||
| 	 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="The second blog post"> | ||||
| <meta itemprop="description" content="A short lead description about this content page. Text here can also be **bold** or _italic_ and can even be split over multiple paragraphs. | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2018-10-06T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2018-10-06T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="1234"> | ||||
| <meta itemprop="wordCount" content="1233"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="The second blog post"/> | ||||
| <meta name="twitter:description" content="A short lead description about this content page. Text here can also be **bold** or _italic_ and can even be split over multiple paragraphs. | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -272,7 +269,7 @@ | |||
| 	</div> | ||||
| 	 | ||||
| 
 | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com" target="_blank">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| 
 | ||||
| <p>There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.</p> | ||||
| 
 | ||||
|  | @ -308,10 +305,7 @@ Dixi ad aestum.</p> | |||
| </blockquote> | ||||
| 
 | ||||
| <h3 id="header-3">Header 3</h3> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header.</code></pre> | ||||
| <h4 id="header-4">Header 4</h4> | ||||
| 
 | ||||
| <ul> | ||||
|  | @ -514,28 +508,22 @@ Dixi ad aestum.</p> | |||
| <p>Also, <code>this should vertically align</code> <del><code>with this</code></del> <del>and this</del>.</p> | ||||
| 
 | ||||
| <p>Code can also be shown in a block element.</p> | ||||
| 
 | ||||
| <pre><code>foo := "bar"; | ||||
| bar := "foo"; | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>foo := "bar"; | ||||
| bar := "foo";</code></pre> | ||||
| <p>Code can also use syntax highlighting.</p> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">()</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`var foo = "bar";`</span> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`</span><span style="color:#4e9a06">var foo = "bar";</span><span style="color:#4e9a06">`</span> | ||||
| 
 | ||||
|   <span style="color:#000">lexer</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexers</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">"javascript"</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">_</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexer</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Tokenise</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">nil</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">input</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">style</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">styles</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">"github"</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">())</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#204a87;font-weight:bold">var</span> <span style="color:#000">buff</span> <span style="color:#000">bytes</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Buffer</span> | ||||
|   <span style="color:#000">formatter</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Format</span><span style="color:#000;font-weight:bold">(</span><span style="color:#ce5c00;font-weight:bold">&</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">style</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">())</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div> | ||||
| <pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. | ||||
| </code></pre> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div><pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.</code></pre> | ||||
| <p>Inline code inside table cells should still be distinguishable.</p> | ||||
| 
 | ||||
| <table> | ||||
|  | @ -640,10 +628,7 @@ This is a warning with a title! | |||
| <h3 id="used-ram">Used RAM</h3> | ||||
| 
 | ||||
| <p>Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.</p> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this.</code></pre> | ||||
| 	 | ||||
| 
 | ||||
| 	<ul class="list-unstyled d-flex justify-content-between align-items-center mb-0 pt-5"> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -27,9 +27,7 @@ | |||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/blog/" /> | ||||
| <meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="Docsy Blog"> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Docsy Blog"/> | ||||
| <meta name="twitter:description" content="A native operator for Kubernetes to manage Jenkins"/> | ||||
| 
 | ||||
|  | @ -37,8 +35,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -59,16 +59,12 @@ Fetch and scale an image in the upcoming Hugo 0.43. | |||
| </div> | ||||
| 
 | ||||
| <p>The front matter of this post specifies properties to be assigned to all image resources:</p> | ||||
| 
 | ||||
| <pre><code>resources: | ||||
| - src: &quot;**.{png,jpg}&quot; | ||||
|   title: &quot;Image #:counter&quot; | ||||
| - src: "**.{png,jpg}" | ||||
|   title: "Image #:counter" | ||||
|   params: | ||||
|     byline: &quot;Photo: Riona MacNamara / CC-BY-CA&quot; | ||||
| </code></pre> | ||||
| 
 | ||||
|     byline: "Photo: Riona MacNamara / CC-BY-CA"</code></pre> | ||||
| <p>To include the image in a page, specify its details like this:</p> | ||||
| 
 | ||||
| <pre><code> | ||||
| 
 | ||||
| 
 | ||||
|  | @ -85,9 +81,7 @@ Fetch and scale an image in the upcoming Hugo 0.43. | |||
| <small class="text-muted"><br/>Photo: Riona MacNamara / CC-BY-CA</small></p> | ||||
| 	</div> | ||||
| 	 | ||||
| </div> | ||||
| </code></pre> | ||||
| 
 | ||||
| </div></code></pre> | ||||
| <p>The image will be rendered at the size and byline specified in the front matter.</p> | ||||
| 
 | ||||
|       </description> | ||||
|  | @ -104,7 +98,7 @@ Fetch and scale an image in the upcoming Hugo 0.43. | |||
|          | ||||
|          | ||||
| 
 | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com" target="_blank">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| 
 | ||||
| <p>There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.</p> | ||||
| 
 | ||||
|  | @ -140,10 +134,7 @@ Dixi ad aestum.</p> | |||
| </blockquote> | ||||
| 
 | ||||
| <h3 id="header-3">Header 3</h3> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header.</code></pre> | ||||
| <h4 id="header-4">Header 4</h4> | ||||
| 
 | ||||
| <ul> | ||||
|  | @ -346,28 +337,22 @@ Dixi ad aestum.</p> | |||
| <p>Also, <code>this should vertically align</code> <del><code>with this</code></del> <del>and this</del>.</p> | ||||
| 
 | ||||
| <p>Code can also be shown in a block element.</p> | ||||
| 
 | ||||
| <pre><code>foo := &quot;bar&quot;; | ||||
| bar := &quot;foo&quot;; | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>foo := "bar"; | ||||
| bar := "foo";</code></pre> | ||||
| <p>Code can also use syntax highlighting.</p> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">()</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`var foo = &#34;bar&#34;;`</span> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`</span><span style="color:#4e9a06">var foo = &#34;bar&#34;;</span><span style="color:#4e9a06">`</span> | ||||
| 
 | ||||
|   <span style="color:#000">lexer</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexers</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;javascript&#34;</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">_</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexer</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Tokenise</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">nil</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">input</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">style</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">styles</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;github&#34;</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">())</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#204a87;font-weight:bold">var</span> <span style="color:#000">buff</span> <span style="color:#000">bytes</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Buffer</span> | ||||
|   <span style="color:#000">formatter</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Format</span><span style="color:#000;font-weight:bold">(</span><span style="color:#ce5c00;font-weight:bold">&amp;</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">style</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">())</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div> | ||||
| <pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. | ||||
| </code></pre> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div><pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.</code></pre> | ||||
| <p>Inline code inside table cells should still be distinguishable.</p> | ||||
| 
 | ||||
| <table> | ||||
|  | @ -472,10 +457,7 @@ This is a warning with a title! | |||
| <h3 id="used-ram">Used RAM</h3> | ||||
| 
 | ||||
| <p>Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.</p> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this.</code></pre> | ||||
|       </description> | ||||
|     </item> | ||||
|      | ||||
|  | @ -490,7 +472,7 @@ This is a warning with a title! | |||
|          | ||||
|          | ||||
| 
 | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com" target="_blank">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| 
 | ||||
| <p>There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.</p> | ||||
| 
 | ||||
|  | @ -526,10 +508,7 @@ Dixi ad aestum.</p> | |||
| </blockquote> | ||||
| 
 | ||||
| <h3 id="header-3">Header 3</h3> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header.</code></pre> | ||||
| <h4 id="header-4">Header 4</h4> | ||||
| 
 | ||||
| <ul> | ||||
|  | @ -732,28 +711,22 @@ Dixi ad aestum.</p> | |||
| <p>Also, <code>this should vertically align</code> <del><code>with this</code></del> <del>and this</del>.</p> | ||||
| 
 | ||||
| <p>Code can also be shown in a block element.</p> | ||||
| 
 | ||||
| <pre><code>foo := &quot;bar&quot;; | ||||
| bar := &quot;foo&quot;; | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>foo := "bar"; | ||||
| bar := "foo";</code></pre> | ||||
| <p>Code can also use syntax highlighting.</p> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">()</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`var foo = &#34;bar&#34;;`</span> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`</span><span style="color:#4e9a06">var foo = &#34;bar&#34;;</span><span style="color:#4e9a06">`</span> | ||||
| 
 | ||||
|   <span style="color:#000">lexer</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexers</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;javascript&#34;</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">_</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexer</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Tokenise</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">nil</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">input</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">style</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">styles</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;github&#34;</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">())</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#204a87;font-weight:bold">var</span> <span style="color:#000">buff</span> <span style="color:#000">bytes</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Buffer</span> | ||||
|   <span style="color:#000">formatter</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Format</span><span style="color:#000;font-weight:bold">(</span><span style="color:#ce5c00;font-weight:bold">&amp;</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">style</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">())</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div> | ||||
| <pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. | ||||
| </code></pre> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div><pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.</code></pre> | ||||
| <p>Inline code inside table cells should still be distinguishable.</p> | ||||
| 
 | ||||
| <table> | ||||
|  | @ -858,10 +831,7 @@ This is a warning with a title! | |||
| <h3 id="used-ram">Used RAM</h3> | ||||
| 
 | ||||
| <p>Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.</p> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this.</code></pre> | ||||
|       </description> | ||||
|     </item> | ||||
|      | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -25,12 +25,9 @@ | |||
| <meta property="og:description" content="A native operator for Kubernetes to manage Jenkins" /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/blog/news/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2018-10-06T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="News About Docsy"> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="News About Docsy"/> | ||||
| <meta name="twitter:description" content="A native operator for Kubernetes to manage Jenkins"/> | ||||
| 
 | ||||
|  | @ -38,8 +35,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -60,16 +60,12 @@ Fetch and scale an image in the upcoming Hugo 0.43. | |||
| </div> | ||||
| 
 | ||||
| <p>The front matter of this post specifies properties to be assigned to all image resources:</p> | ||||
| 
 | ||||
| <pre><code>resources: | ||||
| - src: &quot;**.{png,jpg}&quot; | ||||
|   title: &quot;Image #:counter&quot; | ||||
| - src: "**.{png,jpg}" | ||||
|   title: "Image #:counter" | ||||
|   params: | ||||
|     byline: &quot;Photo: Riona MacNamara / CC-BY-CA&quot; | ||||
| </code></pre> | ||||
| 
 | ||||
|     byline: "Photo: Riona MacNamara / CC-BY-CA"</code></pre> | ||||
| <p>To include the image in a page, specify its details like this:</p> | ||||
| 
 | ||||
| <pre><code> | ||||
| 
 | ||||
| 
 | ||||
|  | @ -86,9 +82,7 @@ Fetch and scale an image in the upcoming Hugo 0.43. | |||
| <small class="text-muted"><br/>Photo: Riona MacNamara / CC-BY-CA</small></p> | ||||
| 	</div> | ||||
| 	 | ||||
| </div> | ||||
| </code></pre> | ||||
| 
 | ||||
| </div></code></pre> | ||||
| <p>The image will be rendered at the size and byline specified in the front matter.</p> | ||||
| 
 | ||||
|       </description> | ||||
|  | @ -105,7 +99,7 @@ Fetch and scale an image in the upcoming Hugo 0.43. | |||
|          | ||||
|          | ||||
| 
 | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com" target="_blank">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| 
 | ||||
| <p>There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.</p> | ||||
| 
 | ||||
|  | @ -141,10 +135,7 @@ Dixi ad aestum.</p> | |||
| </blockquote> | ||||
| 
 | ||||
| <h3 id="header-3">Header 3</h3> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header.</code></pre> | ||||
| <h4 id="header-4">Header 4</h4> | ||||
| 
 | ||||
| <ul> | ||||
|  | @ -347,28 +338,22 @@ Dixi ad aestum.</p> | |||
| <p>Also, <code>this should vertically align</code> <del><code>with this</code></del> <del>and this</del>.</p> | ||||
| 
 | ||||
| <p>Code can also be shown in a block element.</p> | ||||
| 
 | ||||
| <pre><code>foo := &quot;bar&quot;; | ||||
| bar := &quot;foo&quot;; | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>foo := "bar"; | ||||
| bar := "foo";</code></pre> | ||||
| <p>Code can also use syntax highlighting.</p> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">()</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`var foo = &#34;bar&#34;;`</span> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`</span><span style="color:#4e9a06">var foo = &#34;bar&#34;;</span><span style="color:#4e9a06">`</span> | ||||
| 
 | ||||
|   <span style="color:#000">lexer</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexers</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;javascript&#34;</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">_</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexer</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Tokenise</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">nil</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">input</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">style</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">styles</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;github&#34;</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">())</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#204a87;font-weight:bold">var</span> <span style="color:#000">buff</span> <span style="color:#000">bytes</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Buffer</span> | ||||
|   <span style="color:#000">formatter</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Format</span><span style="color:#000;font-weight:bold">(</span><span style="color:#ce5c00;font-weight:bold">&amp;</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">style</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">())</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div> | ||||
| <pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. | ||||
| </code></pre> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div><pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.</code></pre> | ||||
| <p>Inline code inside table cells should still be distinguishable.</p> | ||||
| 
 | ||||
| <table> | ||||
|  | @ -473,10 +458,7 @@ This is a warning with a title! | |||
| <h3 id="used-ram">Used RAM</h3> | ||||
| 
 | ||||
| <p>Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.</p> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this.</code></pre> | ||||
|       </description> | ||||
|     </item> | ||||
|      | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -25,12 +25,9 @@ | |||
| <meta property="og:description" content="A native operator for Kubernetes to manage Jenkins" /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/blog/releases/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2018-01-04T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="New Releases"> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="New Releases"/> | ||||
| <meta name="twitter:description" content="A native operator for Kubernetes to manage Jenkins"/> | ||||
| 
 | ||||
|  | @ -38,8 +35,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -30,7 +30,7 @@ | |||
|          | ||||
|          | ||||
| 
 | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com" target="_blank">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| 
 | ||||
| <p>There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.</p> | ||||
| 
 | ||||
|  | @ -66,10 +66,7 @@ Dixi ad aestum.</p> | |||
| </blockquote> | ||||
| 
 | ||||
| <h3 id="header-3">Header 3</h3> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header.</code></pre> | ||||
| <h4 id="header-4">Header 4</h4> | ||||
| 
 | ||||
| <ul> | ||||
|  | @ -272,28 +269,22 @@ Dixi ad aestum.</p> | |||
| <p>Also, <code>this should vertically align</code> <del><code>with this</code></del> <del>and this</del>.</p> | ||||
| 
 | ||||
| <p>Code can also be shown in a block element.</p> | ||||
| 
 | ||||
| <pre><code>foo := &quot;bar&quot;; | ||||
| bar := &quot;foo&quot;; | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>foo := "bar"; | ||||
| bar := "foo";</code></pre> | ||||
| <p>Code can also use syntax highlighting.</p> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">()</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`var foo = &#34;bar&#34;;`</span> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`</span><span style="color:#4e9a06">var foo = &#34;bar&#34;;</span><span style="color:#4e9a06">`</span> | ||||
| 
 | ||||
|   <span style="color:#000">lexer</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexers</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;javascript&#34;</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">_</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexer</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Tokenise</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">nil</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">input</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">style</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">styles</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;github&#34;</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">())</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#204a87;font-weight:bold">var</span> <span style="color:#000">buff</span> <span style="color:#000">bytes</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Buffer</span> | ||||
|   <span style="color:#000">formatter</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Format</span><span style="color:#000;font-weight:bold">(</span><span style="color:#ce5c00;font-weight:bold">&amp;</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">style</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">())</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div> | ||||
| <pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. | ||||
| </code></pre> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div><pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.</code></pre> | ||||
| <p>Inline code inside table cells should still be distinguishable.</p> | ||||
| 
 | ||||
| <table> | ||||
|  | @ -398,10 +389,7 @@ This is a warning with a title! | |||
| <h3 id="used-ram">Used RAM</h3> | ||||
| 
 | ||||
| <p>Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.</p> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this.</code></pre> | ||||
|       </description> | ||||
|     </item> | ||||
|      | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -27,9 +27,7 @@ | |||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/community/" /> | ||||
| <meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="Community"> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Community"/> | ||||
| <meta name="twitter:description" content="A native operator for Kubernetes to manage Jenkins"/> | ||||
| 
 | ||||
|  | @ -37,8 +35,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -26,13 +26,10 @@ | |||
| " /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2019-08-05T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="Developer Guide"> | ||||
| <meta itemprop="description" content="Jenkins Operator for developers | ||||
| "> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| "><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Developer Guide"/> | ||||
| <meta name="twitter:description" content="Jenkins Operator for developers | ||||
| "/> | ||||
|  | @ -41,8 +38,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -664,12 +661,12 @@ | |||
| <h2 id="prerequisites">Prerequisites</h2> | ||||
| 
 | ||||
| <ul> | ||||
| <li><a href="https://github.com/operator-framework/operator-sdk" target="_blank">operator_sdk</a> version v0.15.1</li> | ||||
| <li><a href="https://git-scm.com/downloads" target="_blank">git</a></li> | ||||
| <li><a href="https://golang.org/dl/" target="_blank">go</a> version v1.13+</li> | ||||
| <li><a href="https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/tools/" target="_blank">goimports, golint, checkmake and staticcheck</a></li> | ||||
| <li><a href="https://kubernetes.io/docs/tasks/tools/install-minikube/" target="_blank">minikube</a> version v1.1.0+ (preferred Hypervisor - <a href="https://www.virtualbox.org/wiki/Downloads" target="_blank">virtualbox</a>)</li> | ||||
| <li><a href="https://docs.docker.com/install/" target="_blank">docker</a> version 17.03+</li> | ||||
| <li><a href="https://github.com/operator-framework/operator-sdk">operator_sdk</a> version v0.17.0</li> | ||||
| <li><a href="https://git-scm.com/downloads">git</a></li> | ||||
| <li><a href="https://golang.org/dl/">go</a> version v1.14+</li> | ||||
| <li><a href="https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/tools/">goimports, golint, checkmake and staticcheck</a></li> | ||||
| <li><a href="https://kubernetes.io/docs/tasks/tools/install-minikube/">minikube</a> version v1.1.0+ (preferred Hypervisor - <a href="https://www.virtualbox.org/wiki/Downloads">virtualbox</a>)</li> | ||||
| <li><a href="https://docs.docker.com/install/">docker</a> version 17.03+</li> | ||||
| </ul> | ||||
| 
 | ||||
| <h2 id="clone-repository-and-download-dependencies">Clone repository and download dependencies</h2> | ||||
|  | @ -681,54 +678,54 @@ make go-dependencies</code></pre></div> | |||
| <p>Build and run <strong>Jenkins Operator</strong> locally:</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">make build minikube-run | ||||
| 
 | ||||
| INFO<span style="color:#ce5c00;font-weight:bold">[</span><span style="color:#0000cf;font-weight:bold">0000</span><span style="color:#ce5c00;font-weight:bold">]</span> Running deepcopy code-generation <span style="color:#204a87;font-weight:bold">for</span> Custom Resource group versions: <span style="color:#ce5c00;font-weight:bold">[</span>jenkins:<span style="color:#ce5c00;font-weight:bold">[</span>v1alpha2<span style="color:#ce5c00;font-weight:bold">]</span>, <span style="color:#ce5c00;font-weight:bold">]</span>  | ||||
| INFO<span style="color:#ce5c00;font-weight:bold">[</span><span style="color:#0000cf;font-weight:bold">0005</span><span style="color:#ce5c00;font-weight:bold">]</span> Code-generation complete.                     | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:26.520+0200	INFO	controller-jenkins	manager/main.go:51	Version: v0.4.0 | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:26.520+0200	INFO	controller-jenkins	manager/main.go:52	Git commit: 4ffc58e-dirty | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:26.520+0200	INFO	controller-jenkins	manager/main.go:53	Go Version: go1.13.1 | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:26.520+0200	INFO	controller-jenkins	manager/main.go:54	Go OS/Arch: linux/amd64 | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:26.520+0200	INFO	controller-jenkins	manager/main.go:55	operator-sdk Version: v0.15.1 | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:26.520+0200	INFO	controller-jenkins	manager/main.go:80	Watch namespace: default | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:26.527+0200	INFO	leader	leader/leader.go:46	Trying to become the leader. | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:26.527+0200	INFO	leader	leader/leader.go:51	Skipping leader election<span style="color:#000;font-weight:bold">;</span> not running in a cluster. | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:26.887+0200	INFO	controller-runtime.metrics	metrics/listener.go:40	metrics server is starting to listen	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"addr"</span>: <span style="color:#4e9a06">"0.0.0.0:8383"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:26.887+0200	INFO	controller-jenkins	manager/main.go:105	Registering Components. | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:26.897+0200	WARN	controller-jenkins	manager/main.go:138	Could not generate and serve custom resource metrics	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"error"</span>: <span style="color:#4e9a06">"namespace not found for current environment"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:27.250+0200	INFO	metrics	metrics/metrics.go:55	Skipping metrics Service creation<span style="color:#000;font-weight:bold">;</span> not running in a cluster. | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:27.601+0200	WARN	controller-jenkins	manager/main.go:157	Could not create ServiceMonitor object	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"error"</span>: <span style="color:#4e9a06">"no ServiceMonitor registered with the API"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:27.601+0200	WARN	controller-jenkins	manager/main.go:161	Install prometheus-operator in your cluster to create ServiceMonitor objects	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"error"</span>: <span style="color:#4e9a06">"no ServiceMonitor registered with the API"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:27.601+0200	INFO	controller-jenkins	manager/main.go:165	Starting the Cmd. | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:27.601+0200	INFO	controller-runtime.manager	manager/internal.go:356	starting metrics server	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"path"</span>: <span style="color:#4e9a06">"/metrics"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:27.601+0200	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: jenkins.io/v1alpha2, Kind=Jenkins"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:27.702+0200	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=Pod"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:27.803+0200	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=Secret"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:27.903+0200	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=Secret"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:27.903+0200	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=ConfigMap"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:28.005+0200	INFO	controller-runtime.controller	controller/controller.go:171	Starting Controller	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:52:28.005+0200	INFO	controller-runtime.controller	controller/controller.go:190	Starting workers	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"worker count"</span>: <span style="color:#0000cf;font-weight:bold">1</span><span style="color:#ce5c00;font-weight:bold">}</span></code></pre></div><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">kubectl apply -f deploy/crds/jenkins_v1alpha2_jenkins_cr.yaml | ||||
| INFO<span style="color:#ce5c00;font-weight:bold">[</span>0000<span style="color:#ce5c00;font-weight:bold">]</span> Running deepcopy code-generation <span style="color:#204a87;font-weight:bold">for</span> Custom Resource group versions: <span style="color:#ce5c00;font-weight:bold">[</span>jenkins:<span style="color:#ce5c00;font-weight:bold">[</span>v1alpha2<span style="color:#ce5c00;font-weight:bold">]</span>, <span style="color:#ce5c00;font-weight:bold">]</span>  | ||||
| INFO<span style="color:#ce5c00;font-weight:bold">[</span>0005<span style="color:#ce5c00;font-weight:bold">]</span> Code-generation complete.                     | ||||
| 2020-04-27T09:52:26.520+0200	INFO	controller-jenkins	manager/main.go:51	Version: v0.4.0 | ||||
| 2020-04-27T09:52:26.520+0200	INFO	controller-jenkins	manager/main.go:52	Git commit: 4ffc58e-dirty | ||||
| 2020-04-27T09:52:26.520+0200	INFO	controller-jenkins	manager/main.go:53	Go Version: go1.13.1 | ||||
| 2020-04-27T09:52:26.520+0200	INFO	controller-jenkins	manager/main.go:54	Go OS/Arch: linux/amd64 | ||||
| 2020-04-27T09:52:26.520+0200	INFO	controller-jenkins	manager/main.go:55	operator-sdk Version: v0.15.1 | ||||
| 2020-04-27T09:52:26.520+0200	INFO	controller-jenkins	manager/main.go:80	Watch namespace: default | ||||
| 2020-04-27T09:52:26.527+0200	INFO	leader	leader/leader.go:46	Trying to become the leader. | ||||
| 2020-04-27T09:52:26.527+0200	INFO	leader	leader/leader.go:51	Skipping leader election<span style="color:#000;font-weight:bold">;</span> not running in a cluster. | ||||
| 2020-04-27T09:52:26.887+0200	INFO	controller-runtime.metrics	metrics/listener.go:40	metrics server is starting to listen	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"addr"</span>: <span style="color:#4e9a06">"0.0.0.0:8383"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:52:26.887+0200	INFO	controller-jenkins	manager/main.go:105	Registering Components. | ||||
| 2020-04-27T09:52:26.897+0200	WARN	controller-jenkins	manager/main.go:138	Could not generate and serve custom resource metrics	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"error"</span>: <span style="color:#4e9a06">"namespace not found for current environment"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:52:27.250+0200	INFO	metrics	metrics/metrics.go:55	Skipping metrics Service creation<span style="color:#000;font-weight:bold">;</span> not running in a cluster. | ||||
| 2020-04-27T09:52:27.601+0200	WARN	controller-jenkins	manager/main.go:157	Could not create ServiceMonitor object	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"error"</span>: <span style="color:#4e9a06">"no ServiceMonitor registered with the API"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:52:27.601+0200	WARN	controller-jenkins	manager/main.go:161	Install prometheus-operator in your cluster to create ServiceMonitor objects	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"error"</span>: <span style="color:#4e9a06">"no ServiceMonitor registered with the API"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:52:27.601+0200	INFO	controller-jenkins	manager/main.go:165	Starting the Cmd. | ||||
| 2020-04-27T09:52:27.601+0200	INFO	controller-runtime.manager	manager/internal.go:356	starting metrics server	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"path"</span>: <span style="color:#4e9a06">"/metrics"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:52:27.601+0200	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: jenkins.io/v1alpha2, Kind=Jenkins"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:52:27.702+0200	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=Pod"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:52:27.803+0200	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=Secret"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:52:27.903+0200	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=Secret"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:52:27.903+0200	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=ConfigMap"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:52:28.005+0200	INFO	controller-runtime.controller	controller/controller.go:171	Starting Controller	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:52:28.005+0200	INFO	controller-runtime.controller	controller/controller.go:190	Starting workers	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"worker count"</span>: 1<span style="color:#ce5c00;font-weight:bold">}</span></code></pre></div><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">kubectl apply -f deploy/crds/jenkins_v1alpha2_jenkins_cr.yaml | ||||
| 
 | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:56:40.153+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:404	Setting default Jenkins container <span style="color:#204a87">command</span>	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:56:40.153+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:409	Setting default Jenkins container JAVA_OPTS environment variable	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:56:40.153+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:417	Setting default operator plugins	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:56:40.153+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:436	Setting default Jenkins master service	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:56:40.153+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:449	Setting default Jenkins slave service	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:56:40.153+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:479	Setting default Jenkins API settings	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:56:40.158+0200	INFO	controller-jenkins	jenkins/handler.go:89	*v1alpha2.Jenkins/example has been updated	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:56:40.562+0200	INFO	controller-jenkins	base/pod.go:161	Creating a new Jenkins Master Pod default/jenkins-example	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:56:40.575+0200	INFO	controller-jenkins	base/reconcile.go:528	The Admission controller has changed the Jenkins master pod spec.securityContext, changing the Jenkinc CR spec.master.securityContext to <span style="color:#4e9a06">'&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,}'</span>	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:56:40.584+0200	INFO	controller-jenkins	jenkins/handler.go:89	*v1alpha2.Jenkins/example has been updated	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:59:40.409+0200	INFO	controller-jenkins	base/reconcile.go:466	Generating Jenkins API token <span style="color:#204a87;font-weight:bold">for</span> operator	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:59:40.410+0200	WARN	controller-jenkins	jenkins/jenkins_controller.go:171	Reconcile loop failed: couldn<span style="color:#4e9a06">'t init Jenkins API client: Get http://192.168.99.100:32380/api/json: dial tcp 192.168.99.100:32380: connect: connection refused	{"cr": "example"} | ||||
| 2020-04-27T09:56:40.153+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:404	Setting default Jenkins container <span style="color:#204a87">command</span>	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:56:40.153+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:409	Setting default Jenkins container JAVA_OPTS environment variable	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:56:40.153+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:417	Setting default operator plugins	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:56:40.153+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:436	Setting default Jenkins master service	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:56:40.153+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:449	Setting default Jenkins slave service	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:56:40.153+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:479	Setting default Jenkins API settings	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:56:40.158+0200	INFO	controller-jenkins	jenkins/handler.go:89	*v1alpha2.Jenkins/example has been updated	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:56:40.562+0200	INFO	controller-jenkins	base/pod.go:161	Creating a new Jenkins Master Pod default/jenkins-example	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:56:40.575+0200	INFO	controller-jenkins	base/reconcile.go:528	The Admission controller has changed the Jenkins master pod spec.securityContext, changing the Jenkinc CR spec.master.securityContext to <span style="color:#4e9a06">'&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,}'</span>	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:56:40.584+0200	INFO	controller-jenkins	jenkins/handler.go:89	*v1alpha2.Jenkins/example has been updated	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:59:40.409+0200	INFO	controller-jenkins	base/reconcile.go:466	Generating Jenkins API token <span style="color:#204a87;font-weight:bold">for</span> operator	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:59:40.410+0200	WARN	controller-jenkins	jenkins/jenkins_controller.go:171	Reconcile loop failed: couldn<span style="color:#4e9a06">'t init Jenkins API client: Get http://192.168.99.100:32380/api/json: dial tcp 192.168.99.100:32380: connect: connection refused	{"cr": "example"} | ||||
| </span><span style="color:#4e9a06">2020-04-27T09:59:40.455+0200	INFO	controller-jenkins	base/reconcile.go:466	Generating Jenkins API token for operator	{"cr": "example"} | ||||
| </span><span style="color:#4e9a06">2020-04-27T09:59:41.415+0200	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap '</span>jenkins-operator-base-configuration-example<span style="color:#4e9a06">' name '</span><span style="color:#0000cf;font-weight:bold">1</span>-basic-settings.groovy<span style="color:#4e9a06">' running groovy script	{"cr": "example"} | ||||
| </span><span style="color:#4e9a06">2020-04-27T09:59:41.415+0200	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap '</span>jenkins-operator-base-configuration-example<span style="color:#4e9a06">' name '</span>1-basic-settings.groovy<span style="color:#4e9a06">' running groovy script	{"cr": "example"} | ||||
| </span><span style="color:#4e9a06">... | ||||
| </span><span style="color:#4e9a06">2020-04-27T09:59:49.030+0200	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap '</span>jenkins-operator-base-configuration-example<span style="color:#4e9a06">' name '</span><span style="color:#0000cf;font-weight:bold">8</span>-disable-job-dsl-script-approval.groovy<span style="color:#a40000">'</span> running groovy script	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| </span><span style="color:#4e9a06">2020-04-27T09:59:49.030+0200	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap '</span>jenkins-operator-base-configuration-example<span style="color:#4e9a06">' name '</span>8-disable-job-dsl-script-approval.groovy<span style="color:#a40000">'</span> running groovy script	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 
 | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:59:49.257+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:289	Base configuration phase is complete, took 3m9s	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T09:59:51.165+0200	INFO	controller-jenkins	seedjobs/seedjobs.go:232	Waiting <span style="color:#204a87;font-weight:bold">for</span> Seed Job Agent <span style="color:#4e9a06">`</span>seed-job-agent<span style="color:#4e9a06">`</span>...	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:59:49.257+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:289	Base configuration phase is complete, took 3m9s	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T09:59:51.165+0200	INFO	controller-jenkins	seedjobs/seedjobs.go:232	Waiting <span style="color:#204a87;font-weight:bold">for</span> Seed Job Agent <span style="color:#4e9a06">`</span>seed-job-agent<span style="color:#4e9a06">`</span>...	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| ... | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T10:00:03.886+0200	INFO	controller-jenkins	seedjobs/seedjobs.go:232	Waiting <span style="color:#204a87;font-weight:bold">for</span> Seed Job Agent <span style="color:#4e9a06">`</span>seed-job-agent<span style="color:#4e9a06">`</span>...	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| <span style="color:#0000cf;font-weight:bold">2020</span>-04-27T10:00:06.140+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:338	User configuration phase is complete, took 3m26s	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span></code></pre></div> | ||||
| 2020-04-27T10:00:03.886+0200	INFO	controller-jenkins	seedjobs/seedjobs.go:232	Waiting <span style="color:#204a87;font-weight:bold">for</span> Seed Job Agent <span style="color:#4e9a06">`</span>seed-job-agent<span style="color:#4e9a06">`</span>...	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
| 2020-04-27T10:00:06.140+0200	INFO	controller-jenkins	jenkins/jenkins_controller.go:338	User configuration phase is complete, took 3m26s	<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span></code></pre></div> | ||||
| <p>Two log lines says that Jenkins Operator works correctly:</p> | ||||
| 
 | ||||
| <ul> | ||||
|  | @ -737,7 +734,7 @@ INFO<span style="color:#ce5c00;font-weight:bold">[</span><span style="color:#000 | |||
| </ul> | ||||
| 
 | ||||
| <blockquote> | ||||
| <p>Details about base and user phase can be found <a href="https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/architecture-and-design/" target="_blank">here</a>.</p> | ||||
| <p>Details about base and user phase can be found <a href="https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/architecture-and-design/">here</a>.</p> | ||||
| </blockquote> | ||||
| <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">kubectl get jenkins -o yaml | ||||
| 
 | ||||
|  | @ -749,7 +746,7 @@ items: | |||
|     ... | ||||
|   spec: | ||||
|     backup: | ||||
|       action: <span style="color:#ce5c00;font-weight:bold">{}</span> | ||||
|       action: <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
|       containerName: <span style="color:#4e9a06">""</span> | ||||
|       interval: <span style="color:#0000cf;font-weight:bold">0</span> | ||||
|       makeBackupBeforePodDeletion: <span style="color:#204a87">false</span> | ||||
|  | @ -789,9 +786,9 @@ items: | |||
|             cpu: <span style="color:#4e9a06">"1"</span> | ||||
|             memory: 500Mi | ||||
|       disableCSRFProtection: <span style="color:#204a87">false</span> | ||||
|       securityContext: <span style="color:#ce5c00;font-weight:bold">{}</span> | ||||
|       securityContext: <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
|     restore: | ||||
|       action: <span style="color:#ce5c00;font-weight:bold">{}</span> | ||||
|       action: <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
|       containerName: <span style="color:#4e9a06">""</span> | ||||
|     seedJobs: | ||||
|     - additionalClasspath: <span style="color:#4e9a06">""</span> | ||||
|  | @ -810,7 +807,7 @@ items: | |||
|     service: | ||||
|       port: <span style="color:#0000cf;font-weight:bold">8080</span> | ||||
|       type: NodePort | ||||
|     serviceAccount: <span style="color:#ce5c00;font-weight:bold">{}</span> | ||||
|     serviceAccount: <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#ce5c00;font-weight:bold">}</span> | ||||
|     slaveService: | ||||
|       port: <span style="color:#0000cf;font-weight:bold">50000</span> | ||||
|       type: ClusterIP | ||||
|  | @ -818,7 +815,7 @@ items: | |||
|     appliedGroovyScripts: | ||||
|     - configurationType: base-groovy | ||||
|       hash: <span style="color:#000">2ownqpRyBjQYmzTRttUx7axok3CKe2E45frI5iRwH0w</span><span style="color:#ce5c00;font-weight:bold">=</span> | ||||
|       name: <span style="color:#0000cf;font-weight:bold">1</span>-basic-settings.groovy | ||||
|       name: 1-basic-settings.groovy | ||||
|       source: jenkins-operator-base-configuration-example | ||||
|         ... | ||||
|     baseConfigurationCompletedTime: <span style="color:#4e9a06">"2020-04-27T07:59:49Z"</span> | ||||
|  | @ -834,8 +831,11 @@ metadata: | |||
|   selfLink: <span style="color:#4e9a06">""</span></code></pre></div><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">kubectl get po | ||||
| 
 | ||||
| NAME                                      READY   STATUS    RESTARTS   AGE | ||||
| jenkins-example                           <span style="color:#0000cf;font-weight:bold">1</span>/1     Running   <span style="color:#0000cf;font-weight:bold">0</span>          15m | ||||
| seed-job-agent-example-56569459c9-l69qf   <span style="color:#0000cf;font-weight:bold">1</span>/1     Running   <span style="color:#0000cf;font-weight:bold">0</span>          12m</code></pre></div> | ||||
| jenkins-example                           1/1     Running   <span style="color:#0000cf;font-weight:bold">0</span>          15m | ||||
| seed-job-agent-example-56569459c9-l69qf   1/1     Running   <span style="color:#0000cf;font-weight:bold">0</span>          12m</code></pre></div> | ||||
| <p>Upon every next start of local <strong>Jenkins Operator</strong> switch first command with:</p> | ||||
| <pre><code>make minikube-start | ||||
| make minikube-run</code></pre> | ||||
| <h3 id="debug-jenkins-operator">Debug Jenkins Operator</h3> | ||||
| <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">make build minikube-run <span style="color:#000">OPERATOR_EXTRA_ARGS</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#4e9a06">"--debug"</span></code></pre></div> | ||||
| <h2 id="build-and-run-with-a-remote-kubernetes-cluster">Build and run with a remote Kubernetes cluster</h2> | ||||
|  | @ -875,10 +875,10 @@ kubectl get secret jenkins-operator-credentials-<cr_name> -o <span style=" | |||
| <h2 id="self-learning">Self-learning</h2> | ||||
| 
 | ||||
| <ul> | ||||
| <li><p><a href="https://www.youtube.com/watch?v=8_DaCcRMp5I" target="_blank">Tutorial: Deep Dive into the Operator Framework for… Melvin Hillsman, Michael Hrivnak, & Matt Dorn | ||||
| <li><p><a href="https://www.youtube.com/watch?v=8_DaCcRMp5I">Tutorial: Deep Dive into the Operator Framework for… Melvin Hillsman, Michael Hrivnak, & Matt Dorn | ||||
| </a></p></li> | ||||
| 
 | ||||
| <li><p><a href="https://www.katacoda.com/openshift/courses/operatorframework" target="_blank">Operator Framework Training By OpenShift</a></p></li> | ||||
| <li><p><a href="https://www.katacoda.com/openshift/courses/operatorframework">Operator Framework Training By OpenShift</a></p></li> | ||||
| </ul> | ||||
| 
 | ||||
|         <div class="section-index"> | ||||
|  |  | |||
|  | @ -43,39 +43,27 @@ | |||
| <span style="color:#204a87">export</span> <span style="color:#000">GOROOT</span><span style="color:#ce5c00;font-weight:bold">=</span>/usr/lib/go-1.12 <span style="color:#8f5902;font-style:italic"># example value</span> | ||||
| <span style="color:#204a87">export</span> <span style="color:#000">PATH</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">$GOPATH</span>/bin:<span style="color:#000">$PATH</span></code></pre></div> | ||||
| <h2 id="goimports">goimports</h2> | ||||
| 
 | ||||
| <pre><code>go get golang.org/x/tools/cmd/goimports | ||||
| cd $GOPATH/src/golang.org/x/tools/cmd/goimports | ||||
| go build | ||||
| go install | ||||
| </code></pre> | ||||
| 
 | ||||
| go install</code></pre> | ||||
| <h2 id="golint">golint</h2> | ||||
| 
 | ||||
| <pre><code>go get -u golang.org/x/lint/golint | ||||
| cd  $GOPATH/src/golang.org/x/lint/golint | ||||
| go build | ||||
| go install | ||||
| </code></pre> | ||||
| 
 | ||||
| go install</code></pre> | ||||
| <h2 id="checkmake">checkmake</h2> | ||||
| 
 | ||||
| <pre><code>go get github.com/mrtazz/checkmake | ||||
| cd $GOPATH/src/github.com/mrtazz/checkmake | ||||
| go build | ||||
| go install | ||||
| </code></pre> | ||||
| 
 | ||||
| go install</code></pre> | ||||
| <h2 id="staticcheck">staticcheck</h2> | ||||
| 
 | ||||
| <pre><code>mkdir -p $GOPATH/src/github.com/dominikh/ | ||||
| cd $GOPATH/src/github.com/dominikh/ | ||||
| git clone https://github.com/dominikh/go-tools.git | ||||
| cd  $GOPATH/src/github.com/dominikh/go-tools/staticcheck | ||||
| go build | ||||
| go install | ||||
| </code></pre> | ||||
| 
 | ||||
| go install</code></pre> | ||||
|       </description> | ||||
|     </item> | ||||
|      | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Tools"> | ||||
| <meta itemprop="description" content="Required tools for building and running Jenkins Operator | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="75"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Tools"/> | ||||
| <meta name="twitter:description" content="Required tools for building and running Jenkins Operator | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -670,39 +667,27 @@ | |||
| <span style="color:#204a87">export</span> <span style="color:#000">GOROOT</span><span style="color:#ce5c00;font-weight:bold">=</span>/usr/lib/go-1.12 <span style="color:#8f5902;font-style:italic"># example value</span> | ||||
| <span style="color:#204a87">export</span> <span style="color:#000">PATH</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">$GOPATH</span>/bin:<span style="color:#000">$PATH</span></code></pre></div> | ||||
| <h2 id="goimports">goimports</h2> | ||||
| 
 | ||||
| <pre><code>go get golang.org/x/tools/cmd/goimports | ||||
| cd $GOPATH/src/golang.org/x/tools/cmd/goimports | ||||
| go build | ||||
| go install | ||||
| </code></pre> | ||||
| 
 | ||||
| go install</code></pre> | ||||
| <h2 id="golint">golint</h2> | ||||
| 
 | ||||
| <pre><code>go get -u golang.org/x/lint/golint | ||||
| cd  $GOPATH/src/golang.org/x/lint/golint | ||||
| go build | ||||
| go install | ||||
| </code></pre> | ||||
| 
 | ||||
| go install</code></pre> | ||||
| <h2 id="checkmake">checkmake</h2> | ||||
| 
 | ||||
| <pre><code>go get github.com/mrtazz/checkmake | ||||
| cd $GOPATH/src/github.com/mrtazz/checkmake | ||||
| go build | ||||
| go install | ||||
| </code></pre> | ||||
| 
 | ||||
| go install</code></pre> | ||||
| <h2 id="staticcheck">staticcheck</h2> | ||||
| 
 | ||||
| <pre><code>mkdir -p $GOPATH/src/github.com/dominikh/ | ||||
| cd $GOPATH/src/github.com/dominikh/ | ||||
| git clone https://github.com/dominikh/go-tools.git | ||||
| cd  $GOPATH/src/github.com/dominikh/go-tools/staticcheck | ||||
| go build | ||||
| go install | ||||
| </code></pre> | ||||
| 
 | ||||
| go install</code></pre> | ||||
| 	 | ||||
| 	 | ||||
| 	<div class="text-muted mt-5 pt-3 border-top">Last modified August 5, 2019 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -26,13 +26,10 @@ | |||
| " /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2019-08-05T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="Getting Started"> | ||||
| <meta itemprop="description" content="How to work with jenkins-operator | ||||
| "> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| "><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Getting Started"/> | ||||
| <meta name="twitter:description" content="How to work with jenkins-operator | ||||
| "/> | ||||
|  | @ -41,8 +38,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="AKS"> | ||||
| <meta itemprop="description" content="Additional configuration for Azure Kubernetes Service | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="47"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="AKS"/> | ||||
| <meta name="twitter:description" content="Additional configuration for Azure Kubernetes Service | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Configuration"> | ||||
| <meta itemprop="description" content="How to configure Jenkins with Operator | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="747"> | ||||
| <meta itemprop="wordCount" content="755"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Configuration"/> | ||||
| <meta name="twitter:description" content="How to configure Jenkins with Operator | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -682,22 +679,18 @@ | |||
| 
 | ||||
| <h2 id="configure-seed-jobs-and-pipelines">Configure Seed Jobs and Pipelines</h2> | ||||
| 
 | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin" target="_blank">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/" target="_blank">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| and deploy keys.</p> | ||||
| 
 | ||||
| <h2 id="prepare-job-definitions-and-pipelines">Prepare job definitions and pipelines</h2> | ||||
| 
 | ||||
| <p>First you have to prepare pipelines and job definition in your GitHub repository using the following structure:</p> | ||||
| 
 | ||||
| <pre><code>cicd/ | ||||
| ├── jobs | ||||
| │   └── build.jenkins | ||||
| └── pipelines | ||||
|     └── build.jenkins | ||||
| </code></pre> | ||||
| 
 | ||||
|     └── build.jenkins</code></pre> | ||||
| <p><strong><code>cicd/jobs/build.jenkins</code></strong> is a job definition:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| pipelineJob('build-jenkins-operator') { | ||||
|  | @ -717,17 +710,14 @@ pipelineJob('build-jenkins-operator') { | |||
|             scriptPath('cicd/pipelines/build.jenkins') | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <p><strong><code>cicd/pipelines/build.jenkins</code></strong> is an actual Jenkins pipeline:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| def label = "build-jenkins-operator-${UUID.randomUUID().toString()}" | ||||
| def home = "/home/jenkins" | ||||
| def workspace = "${home}/workspace/build-jenkins-operator" | ||||
| def workdir = "${workspace}/src/github.com/jenkinsci/kubernetes-operator/" | ||||
| def label = "build-jenkins-operator-${UUID.randomUUID().toString()}" | ||||
| def home = "/home/jenkins" | ||||
| def workspace = "${home}/workspace/build-jenkins-operator" | ||||
| def workdir = "${workspace}/src/github.com/jenkinsci/kubernetes-operator/" | ||||
| 
 | ||||
| podTemplate(label: label, | ||||
|         containers: [ | ||||
|  | @ -769,13 +759,10 @@ podTemplate(label: label, | |||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <h2 id="configure-seed-jobs">Configure Seed Jobs</h2> | ||||
| 
 | ||||
| <p>Jenkins Seed Jobs are configured using <code>Jenkins.spec.seedJobs</code> section from your custom resource manifest:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -783,12 +770,10 @@ metadata: | |||
| spec: | ||||
|   seedJobs: | ||||
|   - id: jenkins-operator | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p><strong>Jenkins Operator</strong> will automatically discover and configure all the seed jobs.</p> | ||||
| 
 | ||||
| <p>You can verify if deploy keys were successfully configured in the Jenkins <strong>Credentials</strong> tab.</p> | ||||
|  | @ -823,7 +808,6 @@ $ ssh-keygen -p -f <filename> -m pem</code></pre></div> | |||
| <h4 id="configure-ssh-authentication">Configure SSH authentication</h4> | ||||
| 
 | ||||
| <p>Configure a seed job like this:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -833,31 +817,29 @@ spec: | |||
|   - id: jenkins-operator-ssh | ||||
|     credentialType: basicSSHUserPrivateKey | ||||
|     credentialID: k8s-ssh | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: ssh://git@github.com:jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: ssh://git@github.com:jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|   name: k8s-ssh | ||||
|   labels: | ||||
|     "jenkins.io/credentials-type": "basicSSHUserPrivateKey" | ||||
|   annotations: | ||||
|     "jenkins.io/credentials-description" : "ssh github.com:jenkinsci/kubernetes-operator" | ||||
| stringData: | ||||
|   privateKey: | | ||||
|     -----BEGIN RSA PRIVATE KEY----- | ||||
|     MIIJKAIBAAKCAgEAxxDpleJjMCN5nusfW/AtBAZhx8UVVlhhhIKXvQ+dFODQIdzO | ||||
|     oDXybs1zVHWOj31zqbbJnsfsVZ9Uf3p9k6xpJ3WFY9b85WasqTDN1xmSd6swD4N8 | ||||
|     ... | ||||
|   username: github_user_name | ||||
| </code></pre> | ||||
| 
 | ||||
|   username: github_user_name</code></pre> | ||||
| <h3 id="username-password-authentication">Username & password authentication</h3> | ||||
| 
 | ||||
| <p>Configure the seed job like:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -867,23 +849,18 @@ spec: | |||
|   - id: jenkins-operator-user-pass | ||||
|     credentialType: usernamePassword | ||||
|     credentialID: k8s-user-pass | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|   name: k8s-user-pass | ||||
| stringData: | ||||
|   username: github_user_name | ||||
|   password: password_or_token | ||||
| </code></pre> | ||||
| 
 | ||||
|   password: password_or_token</code></pre> | ||||
| <h3 id="external-authentication">External authentication</h3> | ||||
| 
 | ||||
| <p>You can use <code>external</code> credential type if you want to configure authentication using Configuration As Code or Groovy Script.</p> | ||||
|  | @ -904,7 +881,7 @@ stringData: | |||
| 
 | ||||
| <p>To pull a Docker Image from private repository you can use <code>imagePullSecrets</code>.</p> | ||||
| 
 | ||||
| <p>Please follow the instructions on <a href="https://kubernetes.io/docs/concepts/containers/images/?origin_team=T42NTAGHM#creating-a-secret-with-a-docker-config" target="_blank">creating a secret with a docker config</a>.</p> | ||||
| <p>Please follow the instructions on <a href="https://kubernetes.io/docs/concepts/containers/images/?origin_team=T42NTAGHM#creating-a-secret-with-a-docker-config">creating a secret with a docker config</a>.</p> | ||||
| 
 | ||||
| <h3 id="docker-hub-configuration">Docker Hub Configuration</h3> | ||||
| 
 | ||||
|  | @ -917,61 +894,58 @@ stringData: | |||
| <p>After modifications, it needs to be encoded as a Base64 value before setting the <code>.dockerconfigjson</code> key.</p> | ||||
| 
 | ||||
| <p>Example config file to modify and use:</p> | ||||
| 
 | ||||
| <pre><code>{ | ||||
|     "auths":{ | ||||
|         "https://index.docker.io/v1/":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|     "auths":{ | ||||
|         "https://index.docker.io/v1/":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "auth.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "auth.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "registry.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "registry.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "https://registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "https://registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "https://registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "https://registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| 	 | ||||
| 	 | ||||
| 	<div class="text-muted mt-5 pt-3 border-top">Last modified April 13, 2020 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Configure backup and restore"> | ||||
| <meta itemprop="description" content="Prevent loss of job history | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="156"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Configure backup and restore"/> | ||||
| <meta name="twitter:description" content="Prevent loss of job history | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -681,7 +678,7 @@ | |||
| </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>PersistentVolumeClaim<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"> | ||||
| </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><pvc_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>accessModes<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>ReadWriteOnce<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -695,7 +692,7 @@ | |||
| </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"> | ||||
| </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><cr_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>securityContext<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -712,7 +709,7 @@ | |||
| </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>/jenkins-home<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>BACKUP_COUNT<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><span style="color:#4e9a06">"3"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># keep only the 2 most recent backups</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0</span><span style="color:#0000cf;font-weight:bold">.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>imagePullPolicy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IfNotPresent<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>volumeMounts<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>mountPath<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/jenkins-home<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># Jenkins home volume</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -723,7 +720,7 @@ | |||
| </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>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># PVC volume where backups will be stored</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>persistentVolumeClaim<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>claimName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><pvc_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>containerName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># container name is responsible for backup</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>action<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>exec<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Custom Backup and Restore Providers"> | ||||
| <meta itemprop="description" content="Custom backup and restore provider | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="511"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Custom Backup and Restore Providers"/> | ||||
| <meta name="twitter:description" content="Custom backup and restore provider | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -726,7 +723,7 @@ for backup and restore are required, e.g.:</p> | |||
| </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>...<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>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># container responsible for backup and restore</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>quay.io/virtuslab/aws-cli<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16.263-2</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>quay.io/virtuslab/aws-cli<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16</span><span style="color:#0000cf;font-weight:bold">.263</span><span style="color:#0000cf;font-weight:bold">-2</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>workingDir<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/home/user/bin/<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>command<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># our container entry point</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>sleep<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -789,11 +786,11 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>app<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins-operator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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>backup.sh<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>|<span style="color:#8f5902;font-style:italic">- | ||||
| </span><span style="color:#8f5902;font-style:italic">    #!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><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:#8f5902;font-style:italic"># -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_BUCKET}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_BUCKET' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_PATH}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_PATH' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${JENKINS_HOME}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'JENKINS_HOME' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">#!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><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:#8f5902;font-style:italic"># -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_BUCKET}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_BUCKET' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_PATH}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_PATH' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${JENKINS_HOME}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'JENKINS_HOME' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</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>backup_number=$<span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Running backup #${backup_number}"</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -805,11 +802,11 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span>Done<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">  </span>restore.sh<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>|<span style="color:#8f5902;font-style:italic">- | ||||
| </span><span style="color:#8f5902;font-style:italic">    #!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><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:#8f5902;font-style:italic"># -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_BUCKET}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_BUCKET' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_PATH}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_PATH' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${JENKINS_HOME}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'JENKINS_HOME' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">#!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><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:#8f5902;font-style:italic"># -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_BUCKET}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_BUCKET' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_PATH}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_PATH' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${JENKINS_HOME}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'JENKINS_HOME' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</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>backup_number=$<span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Running restore #${backup_number}"</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -821,7 +818,7 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span>Done</code></pre></div> | ||||
| <p>In our example we will use S3 bucket lifecycle policy to keep | ||||
| the number of backups under control, e.g. Cloud Formation fragment:</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"><span style="color:#f8f8f8;text-decoration:underline">    </span>Type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>AWS<span style="color:#000;font-weight:bold">::</span>S3<span style="color:#000;font-weight:bold">::</span>Bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| <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"><span style="color:#f8f8f8;text-decoration:underline">    </span>Type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>AWS<span style="color:#000;font-weight:bold">:</span><span style="color:#000;font-weight:bold">:</span>S3<span style="color:#000;font-weight:bold">:</span><span style="color:#000;font-weight:bold">:</span>Bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>Properties<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>BucketName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>my-example-bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>...<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Customization"> | ||||
| <meta itemprop="description" content="How to customize Jenkins | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="309"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Customization"/> | ||||
| <meta name="twitter:description" content="How to customize Jenkins | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -674,7 +671,7 @@ | |||
| <h2 id="how-to-customize-jenkins">How to customize Jenkins</h2> | ||||
| 
 | ||||
| <p>Jenkins can be customized with plugins. | ||||
| Plugin’s configuration is applied as groovy scripts or the <a href="https://github.com/jenkinsci/configuration-as-code-plugin" target="_blank">configuration as code plugin</a>. | ||||
| Plugin’s configuration is applied as groovy scripts or the <a href="https://github.com/jenkinsci/configuration-as-code-plugin">configuration as code plugin</a>. | ||||
| Any plugin working for Jenkins can be installed by the Jenkins Operator.</p> | ||||
| 
 | ||||
| <p>Pre-installed plugins: | ||||
|  | @ -686,12 +683,11 @@ Any plugin working for Jenkins can be installed by the Jenkins Operator.</p> | |||
| * workflow-aggregator v2.6 | ||||
| * workflow-job v2.38</p> | ||||
| 
 | ||||
| <p>Rest of the plugins can be found in <a href="https://plugins.jenkins.io/" target="_blank">plugins repository</a>.</p> | ||||
| <p>Rest of the plugins can be found in <a href="https://plugins.jenkins.io/">plugins repository</a>.</p> | ||||
| 
 | ||||
| <h4 id="install-plugins">Install plugins</h4> | ||||
| 
 | ||||
| <p>Edit Custom Resource under <code>spec.master.plugins</code>:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -700,9 +696,7 @@ spec: | |||
|   master: | ||||
|    plugins: | ||||
|    - name: simple-theme-plugin | ||||
|      version: 0.5.1 | ||||
| </code></pre> | ||||
| 
 | ||||
|      version: 0.5.1</code></pre> | ||||
| <p>Under <code>spec.master.basePlugins</code> you can find plugins for a valid <strong>Jenkins Operator</strong>:</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"> | ||||
|  | @ -712,26 +706,26 @@ spec: | |||
| </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>basePlugins<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>kubernetes<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18.3</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18</span><span style="color:#0000cf;font-weight:bold">.3</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>workflow-job<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"2.34"</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>workflow-aggregator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"2.6"</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>git<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12.0</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12</span><span style="color:#0000cf;font-weight:bold">.0</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>job-dsl<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"1.76"</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>configuration-as-code<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"1.29"</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>kubernetes-credentials-provider<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.1</span></code></pre></div> | ||||
| </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 their versions.</p> | ||||
| 
 | ||||
| <p>The <strong>Jenkins Operator</strong> will then automatically install plugins after the Jenkins master pod restart.</p> | ||||
| 
 | ||||
| <h4 id="apply-plugin-s-config">Apply plugin’s config</h4> | ||||
| 
 | ||||
| <p>By using a <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/" target="_blank">ConfigMap</a> you can create your own <strong>Jenkins</strong> customized configuration. | ||||
| <p>By using a <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/">ConfigMap</a> you can create your own <strong>Jenkins</strong> customized configuration. | ||||
| Then you must reference the <strong><code>ConfigMap</code></strong> in the <strong>Jenkins</strong> pod customization file in <code>spec.groovyScripts</code> or <code>spec.configurationAsCode</code></p> | ||||
| 
 | ||||
| <p>Create a <strong><code>ConfigMap</code></strong> with specific name (eg. <code>jenkins-operator-user-configuration</code>). Then, modify the <strong>Jenkins</strong> manifest:</p> | ||||
|  | @ -753,7 +747,7 @@ Then you must reference the <strong><code>ConfigMap</code></strong> in the <stro | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-configure-theme.groovy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">|  | ||||
| </span><span style="color:#8f5902;font-style:italic">    import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -773,7 +767,7 @@ Then you must reference the <strong><code>ConfigMap</code></strong> in the <stro | |||
| </span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>jenkins.save()<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">  </span><span style="color:#0000cf;font-weight:bold">1</span>-system-message.yaml<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">| | ||||
| </span><span style="color:#8f5902;font-style:italic">    jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>systemMessage<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Configuration as Code integration works!!!"</span></code></pre></div> | ||||
| <ul> | ||||
| <li><code>*.groovy</code> is Groovy script configuration</li> | ||||
|  | @ -788,7 +782,7 @@ Jenkins will reconcile and apply the new configuration.</p> | |||
| <p>If you configured <code>spec.groovyScripts.secret.name</code>, then this secret is available to use from map Groovy scripts. | ||||
| The secrets are loaded to <code>secrets</code> map.</p> | ||||
| 
 | ||||
| <p>Create a <a href="https://kubernetes.io/docs/concepts/configuration/secret/" target="_blank">secret</a> with for example the name <code>jenkins-conf-secrets</code>.</p> | ||||
| <p>Create a <a href="https://kubernetes.io/docs/concepts/configuration/secret/">secret</a> with for example the name <code>jenkins-conf-secrets</code>.</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">kind<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Secret<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>apiVersion<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>v1<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Opaque<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -820,7 +814,7 @@ The secrets are loaded to <code>secrets</code> map.</p> | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-system-message.groovy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">|  | ||||
| </span><span style="color:#8f5902;font-style:italic">    import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -835,7 +829,7 @@ The secrets are loaded to <code>secrets</code> map.</p> | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-system-message.yaml<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">| | ||||
| </span><span style="color:#8f5902;font-style:italic">    jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>systemMessage<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>${SYSTEM_MESSAGE}</code></pre></div> | ||||
| <p>After this, you should see the <code>Hello world</code> system message from the <strong>Jenkins</strong> homepage.</p> | ||||
| 
 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Deploy Jenkins"> | ||||
| <meta itemprop="description" content="Deploy production ready Jenkins Operator manifest | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="171"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Deploy Jenkins"/> | ||||
| <meta name="twitter:description" content="Deploy production ready Jenkins Operator manifest | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -705,7 +702,7 @@ kubectl get secret jenkins-operator-credentials-<cr_name> -o <span style=" | |||
| <p>Connect to the Jenkins instance (minikube):</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">minikube service jenkins-operator-http-<cr_name> --url</code></pre></div> | ||||
| <p>Connect to the Jenkins instance (actual Kubernetes cluster):</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">kubectl port-forward jenkins-<cr_name> <span style="color:#0000cf;font-weight:bold">8080</span>:8080</code></pre></div> | ||||
| <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">kubectl port-forward jenkins-<cr_name> 8080:8080</code></pre></div> | ||||
| <p>Then open browser with address <code>http://localhost:8080</code>.</p> | ||||
| 
 | ||||
| <p><img src="/kubernetes-operator/img/jenkins.png" alt="jenkins" /></p> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Diagnostics"> | ||||
| <meta itemprop="description" content="How to deal with Jenkins Operator problems | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="57"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Diagnostics"/> | ||||
| <meta name="twitter:description" content="How to deal with Jenkins Operator problems | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -26,13 +26,10 @@ | |||
| " /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2020-04-13T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="Latest (v0.4.x)"> | ||||
| <meta itemprop="description" content="How to work with jenkins-operator latest version | ||||
| "> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| "><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Latest (v0.4.x)"/> | ||||
| <meta name="twitter:description" content="How to work with jenkins-operator latest version | ||||
| "/> | ||||
|  | @ -41,8 +38,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Notifications"> | ||||
| <meta itemprop="description" content="How to setup operator notifications. | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="208"> | ||||
| <meta itemprop="wordCount" content="192"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Notifications"/> | ||||
| <meta name="twitter:description" content="How to setup operator notifications. | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -669,67 +666,58 @@ | |||
| 
 | ||||
| <h2 id="slack">Slack</h2> | ||||
| 
 | ||||
| <p>Please follow <a href="https://api.slack.com/incoming-webhooks" target="_blank">this</a> instructions to get web hook URL.</p> | ||||
| <p>Please follow <a href="https://api.slack.com/incoming-webhooks">this</a> instructions to get web hook URL.</p> | ||||
| 
 | ||||
| <p>Create web hook secret with name <code>jenkins-operator-notification-data</code>. Contains key <code>url</code> with provided web hook URL.</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">$ kubectl create secret generic jenkins-operator-notification-data --from-literal<span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">url</span><span style="color:#ce5c00;font-weight:bold">=</span><webhook_url></code></pre></div> | ||||
| <p>Example configuration for Slack:</p> | ||||
| 
 | ||||
| <pre><code>kind: Jenkins | ||||
| spec: | ||||
|   master: | ||||
|     notifications: | ||||
|     - level: info | ||||
|       verbose: true | ||||
|       name: <name> | ||||
|       name: <name> | ||||
|       slack: | ||||
|         webHookURLSecretKeySelector: | ||||
|           secret: | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
| </code></pre> | ||||
| 
 | ||||
|             name: <secret_name> | ||||
|           key: <key></code></pre> | ||||
| <h2 id="microsoft-teams">Microsoft Teams</h2> | ||||
| 
 | ||||
| <p>Please follow <a href="https://docs.microsoft.com/en-gb/outlook/actionable-messages/send-via-connectors" target="_blank">this</a> instructions to get web hook URL.</p> | ||||
| <p>Please follow <a href="https://docs.microsoft.com/en-gb/outlook/actionable-messages/send-via-connectors">this</a> instructions to get web hook URL.</p> | ||||
| 
 | ||||
| <p>Example configuration for Microsoft Teams:</p> | ||||
| 
 | ||||
| <pre><code>kind: Jenkins | ||||
| spec: | ||||
|   master: | ||||
|     notifications: | ||||
|     - level: info | ||||
|       verbose: true | ||||
|       name: <name> | ||||
|       name: <name> | ||||
|       teams: | ||||
|         webHookURLSecretKeySelector: | ||||
|           secret: | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
| </code></pre> | ||||
| 
 | ||||
|             name: <secret_name> | ||||
|           key: <key></code></pre> | ||||
| <h2 id="mailgun">Mailgun</h2> | ||||
| 
 | ||||
| <p>Example configuration for Mailgun:</p> | ||||
| 
 | ||||
| <pre><code>kind: Jenkins | ||||
| spec: | ||||
|   master: | ||||
|     notifications: | ||||
|     - level: info | ||||
|       verbose: true | ||||
|       name: <name> | ||||
|       name: <name> | ||||
|       mailgun: | ||||
|         domain: <domain> | ||||
|         domain: <domain> | ||||
|         apiKeySecretKeySelector: | ||||
|           secret: | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
|         recipient: <your_email> | ||||
|         from: <mailgun_email> | ||||
| </code></pre> | ||||
| 
 | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
|         recipient: <your_email> | ||||
|         from: <mailgun_email></code></pre> | ||||
| <h2 id="debug-options">Debug options</h2> | ||||
| 
 | ||||
| <p>As you see there is two debugging options:</p> | ||||
|  | @ -744,7 +732,6 @@ spec: | |||
| 
 | ||||
| <p>You can use multiple providers to send notification to another communication channels at the same time. | ||||
| For example you will send notifications to Slack and Teams.</p> | ||||
| 
 | ||||
| <pre><code>kind: Jenkins | ||||
| spec: | ||||
|   master: | ||||
|  | @ -755,18 +742,16 @@ spec: | |||
|       slack: | ||||
|         webHookURLSecretKeySelector: | ||||
|           secret: | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
|     - level: info | ||||
|       verbose: true | ||||
|       name: nteams | ||||
|       teams: | ||||
|         webHookURLSecretKeySelector: | ||||
|           secret: | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
| </code></pre> | ||||
| 
 | ||||
|             name: <secret_name> | ||||
|           key: <key></code></pre> | ||||
| 	 | ||||
| 	 | ||||
| 	<div class="text-muted mt-5 pt-3 border-top">Last modified April 13, 2020 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="OpenShift"> | ||||
| <meta itemprop="description" content="Additional configuration for OpenShift | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2020-04-29T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2020-04-29T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="256"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="OpenShift"/> | ||||
| <meta name="twitter:description" content="Additional configuration for OpenShift | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -737,7 +734,7 @@ the route is named <code>jenkins-route</code></p></li> | |||
| </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>/var/lib/jenkins<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>JAVA_OPTS<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>><span style="color:#8f5902;font-style:italic">- | ||||
| </span><span style="color:#8f5902;font-style:italic">          -XX:+UnlockExperimentalVMOptions -XX:+UnlockExperimentalVMOptions</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">         </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">-XX:+UnlockExperimentalVMOptions -XX:+UnlockExperimentalVMOptions</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">          </span>-XX<span style="color:#000;font-weight:bold">:</span>+UseCGroupMemoryLimitForHeap<span style="color:#f8f8f8;text-decoration:underline"> </span>-XX<span style="color:#000;font-weight:bold">:</span>MaxRAMFraction=<span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">          </span>-Djenkins.install.runSetupWizard=<span style="color:#204a87;font-weight:bold">false</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-Djava.awt.headless=<span style="color:#204a87;font-weight:bold">true</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>imagePullPolicy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Always<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Schema"> | ||||
| <meta itemprop="description" content="API Schema definitions for Jenkins CRD | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2020-04-13T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="2839"> | ||||
| <meta itemprop="wordCount" content="2939"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Schema"/> | ||||
| <meta name="twitter:description" content="API Schema definitions for Jenkins CRD | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -706,7 +703,7 @@ string | |||
| <td> | ||||
| <code>metadata</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#objectmeta-v1-meta"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta"> | ||||
| Kubernetes meta/v1.ObjectMeta | ||||
| </a> | ||||
| </em> | ||||
|  | @ -756,7 +753,7 @@ Every single change here requires a pod restart.</p> | |||
| <td> | ||||
| <em>(Optional)</em> | ||||
| <p>SeedJobs defines list of Jenkins Seed Job configurations | ||||
| More info: <a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines">https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines</a></p> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration#configure-seed-jobs-and-pipelines">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration#configure-seed-jobs-and-pipelines</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -820,7 +817,7 @@ Backup | |||
| <td> | ||||
| <em>(Optional)</em> | ||||
| <p>Backup defines configuration of Jenkins backup | ||||
| 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> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -835,7 +832,7 @@ Restore | |||
| <td> | ||||
| <em>(Optional)</em> | ||||
| <p>Backup defines configuration of Jenkins backup 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> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -870,7 +867,7 @@ ConfigurationAsCode | |||
| <td> | ||||
| <code>roles</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#roleref-v1-rbac"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#roleref-v1-rbac"> | ||||
| []Kubernetes rbac/v1.RoleRef | ||||
| </a> | ||||
| </em> | ||||
|  | @ -932,7 +929,7 @@ JenkinsStatus | |||
| <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>AppliedGroovyScript is the applied groovy script in Jenkins by the operator.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1004,7 +1001,7 @@ string | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsSpec">JenkinsSpec</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Backup defines configuration of Jenkins backup</p> | ||||
| <p>Backup defines configuration of Jenkins backup.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1070,7 +1067,7 @@ bool | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Customization">Customization</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>ConfigMapRef is reference to Kubernetes ConfigMap</p> | ||||
| <p>ConfigMapRef is reference to Kubernetes ConfigMap.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1099,7 +1096,7 @@ string | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsSpec">JenkinsSpec</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin</p> | ||||
| <p>ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1133,7 +1130,7 @@ Customization | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsMaster">JenkinsMaster</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Container defines Kubernetes container attributes</p> | ||||
| <p>Container defines Kubernetes container attributes.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1171,7 +1168,7 @@ More info: <a href="https://kubernetes.io/docs/concepts/containers/images">https | |||
| <td> | ||||
| <code>imagePullPolicy</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#pullpolicy-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#pullpolicy-v1-core"> | ||||
| Kubernetes core/v1.PullPolicy | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1186,7 +1183,7 @@ Defaults to Always.</p> | |||
| <td> | ||||
| <code>resources</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#resourcerequirements-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#resourcerequirements-v1-core"> | ||||
| Kubernetes core/v1.ResourceRequirements | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1250,7 +1247,7 @@ might be configured in the container image.</p> | |||
| <td> | ||||
| <code>ports</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#containerport-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#containerport-v1-core"> | ||||
| []Kubernetes core/v1.ContainerPort | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1269,7 +1266,7 @@ accessible from the network.</p> | |||
| <td> | ||||
| <code>envFrom</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#envfromsource-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#envfromsource-v1-core"> | ||||
| []Kubernetes core/v1.EnvFromSource | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1287,7 +1284,7 @@ Values defined by an Env with a duplicate key will take precedence.</p> | |||
| <td> | ||||
| <code>env</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#envvar-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#envvar-v1-core"> | ||||
| []Kubernetes core/v1.EnvVar | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1301,7 +1298,7 @@ Values defined by an Env with a duplicate key will take precedence.</p> | |||
| <td> | ||||
| <code>volumeMounts</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#volumemount-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#volumemount-v1-core"> | ||||
| []Kubernetes core/v1.VolumeMount | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1315,7 +1312,7 @@ Values defined by an Env with a duplicate key will take precedence.</p> | |||
| <td> | ||||
| <code>livenessProbe</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#probe-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#probe-v1-core"> | ||||
| Kubernetes core/v1.Probe | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1330,7 +1327,7 @@ Container will be restarted if the probe fails.</p> | |||
| <td> | ||||
| <code>readinessProbe</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#probe-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#probe-v1-core"> | ||||
| Kubernetes core/v1.Probe | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1345,7 +1342,7 @@ Container will be removed from service endpoints if the probe fails.</p> | |||
| <td> | ||||
| <code>lifecycle</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#lifecycle-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#lifecycle-v1-core"> | ||||
| Kubernetes core/v1.Lifecycle | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1359,7 +1356,7 @@ Kubernetes core/v1.Lifecycle | |||
| <td> | ||||
| <code>securityContext</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#securitycontext-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#securitycontext-v1-core"> | ||||
| Kubernetes core/v1.SecurityContext | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1381,7 +1378,7 @@ More info: <a href="https://kubernetes.io/docs/tasks/configure-pod-container/sec | |||
| <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>Customization defines configuration of Jenkins customization.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1424,7 +1421,7 @@ SecretRef | |||
| <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>GroovyScripts defines configuration of Jenkins customization via groovy scripts.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1459,7 +1456,7 @@ Customization | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Restore">Restore</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Handler defines a specific action that should be taken</p> | ||||
| <p>Handler defines a specific action that should be taken.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1473,7 +1470,7 @@ Customization | |||
| <td> | ||||
| <code>exec</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#execaction-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#execaction-v1-core"> | ||||
| Kubernetes core/v1.ExecAction | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1484,6 +1481,45 @@ Kubernetes core/v1.ExecAction | |||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Image">Image | ||||
| </h3> | ||||
| <p> | ||||
| (<em>Appears on:</em> | ||||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsImageSpec">JenkinsImageSpec</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Defines Jenkins Plugin structure</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> | ||||
| <tr> | ||||
| <td> | ||||
| <code>version</code></br> | ||||
| <em> | ||||
| string | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsAPISettings">JenkinsAPISettings | ||||
| </h3> | ||||
| <p> | ||||
|  | @ -1522,8 +1558,183 @@ AuthorizationStrategy | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.SeedJob">SeedJob</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>JenkinsCredentialType defines type of Jenkins credential used to seed job mechanism</p> | ||||
| <p>JenkinsCredentialType defines type of Jenkins credential used to seed job mechanism.</p> | ||||
| </p> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsImage">JenkinsImage | ||||
| </h3> | ||||
| <p> | ||||
| <p>JenkinsImage is the Schema for the jenkinsimages API</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
| <tr> | ||||
| <th>Field</th> | ||||
| <th>Description</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td> | ||||
| <code>metadata</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta"> | ||||
| Kubernetes meta/v1.ObjectMeta | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| Refer to the Kubernetes API documentation for the fields of the | ||||
| <code>metadata</code> field. | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td> | ||||
| <code>spec</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsImageSpec"> | ||||
| JenkinsImageSpec | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| <br/> | ||||
| <br/> | ||||
| <table> | ||||
| <tr> | ||||
| <td> | ||||
| <code>image</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Image"> | ||||
| Image | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td> | ||||
| <code>plugins</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin"> | ||||
| [][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| </table> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td> | ||||
| <code>status</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsImageStatus"> | ||||
| JenkinsImageStatus | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsImageSpec">JenkinsImageSpec | ||||
| </h3> | ||||
| <p> | ||||
| (<em>Appears on:</em> | ||||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsImage">JenkinsImage</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>JenkinsImageSpec defines the desired state of JenkinsImage</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
| <tr> | ||||
| <th>Field</th> | ||||
| <th>Description</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td> | ||||
| <code>image</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Image"> | ||||
| Image | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td> | ||||
| <code>plugins</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin"> | ||||
| [][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsImageStatus">JenkinsImageStatus | ||||
| </h3> | ||||
| <p> | ||||
| (<em>Appears on:</em> | ||||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsImage">JenkinsImage</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>JenkinsImageStatus defines the observed state of JenkinsImage</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
| <tr> | ||||
| <th>Field</th> | ||||
| <th>Description</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td> | ||||
| <code>image</code></br> | ||||
| <em> | ||||
| string | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td> | ||||
| <code>md5sum</code></br> | ||||
| <em> | ||||
| string | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td> | ||||
| <code>installedPlugins</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin"> | ||||
| [][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsMaster">JenkinsMaster | ||||
| </h3> | ||||
| <p> | ||||
|  | @ -1532,7 +1743,7 @@ AuthorizationStrategy | |||
| </p> | ||||
| <p> | ||||
| <p>JenkinsMaster defines the Jenkins master pod attributes and plugins, | ||||
| every single change requires a Jenkins master pod restart</p> | ||||
| every single change requires a Jenkins master pod restart.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1606,7 +1817,7 @@ More info: <a href="https://kubernetes.io/docs/concepts/configuration/assign-pod | |||
| <td> | ||||
| <code>securityContext</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#podsecuritycontext-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#podsecuritycontext-v1-core"> | ||||
| Kubernetes core/v1.PodSecurityContext | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1672,7 +1883,7 @@ memory: 600Mi</p> | |||
| <td> | ||||
| <code>imagePullSecrets</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#localobjectreference-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#localobjectreference-v1-core"> | ||||
| []Kubernetes core/v1.LocalObjectReference | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1689,7 +1900,7 @@ More info: <a href="https://kubernetes.io/docs/concepts/containers/images#specif | |||
| <td> | ||||
| <code>volumes</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#volume-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#volume-v1-core"> | ||||
| []Kubernetes core/v1.Volume | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1704,7 +1915,7 @@ More info: <a href="https://kubernetes.io/docs/concepts/storage/volumes">https:/ | |||
| <td> | ||||
| <code>tolerations</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#toleration-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#toleration-v1-core"> | ||||
| []Kubernetes core/v1.Toleration | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1728,19 +1939,19 @@ More info: <a href="https://kubernetes.io/docs/concepts/storage/volumes">https:/ | |||
| <p>BasePlugins contains plugins required by operator | ||||
| Defaults to : | ||||
| - name: kubernetes | ||||
| version: 1.15.7 | ||||
| version: 1.25.2 | ||||
| - name: workflow-job | ||||
| version: “2.32” | ||||
| version: “2.39” | ||||
| - name: workflow-aggregator | ||||
| version: “2.6” | ||||
| - name: git | ||||
| version: 3.10.0 | ||||
| version: 4.2.2 | ||||
| - name: job-dsl | ||||
| version: “1.74” | ||||
| version: “1.77” | ||||
| - name: configuration-as-code | ||||
| version: “1.19” | ||||
| version: “1.38” | ||||
| - name: kubernetes-credentials-provider | ||||
| version: 0.12.1</p> | ||||
| version: 0.13</p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -1782,6 +1993,46 @@ string | |||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin">JenkinsPlugin | ||||
| </h3> | ||||
| <p> | ||||
| (<em>Appears on:</em> | ||||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsImageSpec">JenkinsImageSpec</a>,  | ||||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsImageStatus">JenkinsImageStatus</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Defines Jenkins Plugin structure</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> | ||||
| <tr> | ||||
| <td> | ||||
| <code>version</code></br> | ||||
| <em> | ||||
| string | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsSpec">JenkinsSpec | ||||
| </h3> | ||||
| <p> | ||||
|  | @ -1789,7 +2040,7 @@ string | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Jenkins">Jenkins</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>JenkinsSpec defines the desired state of the Jenkins</p> | ||||
| <p>JenkinsSpec defines the desired state of the Jenkins.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1825,7 +2076,7 @@ Every single change here requires a pod restart.</p> | |||
| <td> | ||||
| <em>(Optional)</em> | ||||
| <p>SeedJobs defines list of Jenkins Seed Job configurations | ||||
| More info: <a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines">https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines</a></p> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration#configure-seed-jobs-and-pipelines">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration#configure-seed-jobs-and-pipelines</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -1889,7 +2140,7 @@ Backup | |||
| <td> | ||||
| <em>(Optional)</em> | ||||
| <p>Backup defines configuration of Jenkins backup | ||||
| 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> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -1904,7 +2155,7 @@ Restore | |||
| <td> | ||||
| <em>(Optional)</em> | ||||
| <p>Backup defines configuration of Jenkins backup 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> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -1939,7 +2190,7 @@ ConfigurationAsCode | |||
| <td> | ||||
| <code>roles</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#roleref-v1-rbac"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#roleref-v1-rbac"> | ||||
| []Kubernetes rbac/v1.RoleRef | ||||
| </a> | ||||
| </em> | ||||
|  | @ -2011,7 +2262,7 @@ string | |||
| <td> | ||||
| <code>provisionStartTime</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#time-v1-meta"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#time-v1-meta"> | ||||
| Kubernetes meta/v1.Time | ||||
| </a> | ||||
| </em> | ||||
|  | @ -2025,7 +2276,7 @@ Kubernetes meta/v1.Time | |||
| <td> | ||||
| <code>baseConfigurationCompletedTime</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#time-v1-meta"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#time-v1-meta"> | ||||
| Kubernetes meta/v1.Time | ||||
| </a> | ||||
| </em> | ||||
|  | @ -2039,7 +2290,7 @@ Kubernetes meta/v1.Time | |||
| <td> | ||||
| <code>userConfigurationCompletedTime</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#time-v1-meta"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#time-v1-meta"> | ||||
| Kubernetes meta/v1.Time | ||||
| </a> | ||||
| </em> | ||||
|  | @ -2144,7 +2395,7 @@ string | |||
| <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>Mailgun is handler for Mailgun email service notification channel.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -2205,7 +2456,7 @@ string | |||
| <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>MicrosoftTeams is handler for Microsoft MicrosoftTeams notification channel.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -2237,7 +2488,7 @@ SecretKeySelector | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsSpec">JenkinsSpec</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Notification is a service configuration used to send notifications about Jenkins status</p> | ||||
| <p>Notification is a service configuration used to send notifications about Jenkins status.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -2336,7 +2587,7 @@ github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SMTP | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Notification">Notification</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>NotificationLevel defines the level of a Notification</p> | ||||
| <p>NotificationLevel defines the level of a Notification.</p> | ||||
| </p> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Plugin">Plugin | ||||
| </h3> | ||||
|  | @ -2345,7 +2596,7 @@ github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SMTP | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsMaster">JenkinsMaster</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Plugin defines Jenkins plugin</p> | ||||
| <p>Plugin defines Jenkins plugin.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -2397,7 +2648,7 @@ string | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsSpec">JenkinsSpec</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Restore defines configuration of Jenkins backup restore operation</p> | ||||
| <p>Restore defines configuration of Jenkins backup restore operation.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -2452,7 +2703,7 @@ uint64 | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Notification">Notification</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>SMTP is handler for sending emails via this protocol</p> | ||||
| <p>SMTP is handler for sending emails via this protocol.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -2562,7 +2813,7 @@ string | |||
| <td> | ||||
| <code>secret</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#localobjectreference-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#localobjectreference-v1-core"> | ||||
| Kubernetes core/v1.LocalObjectReference | ||||
| </a> | ||||
| </em> | ||||
|  | @ -2591,7 +2842,7 @@ string | |||
| <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>SecretRef is reference to Kubernetes secret.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -2621,7 +2872,7 @@ string | |||
| </p> | ||||
| <p> | ||||
| <p>SeedJob defines configuration for seed job | ||||
| More info: <a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines">https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines</a></p> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/#configure-seed-jobs-and-pipelines">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/#configure-seed-jobs-and-pipelines</a>.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -2863,7 +3114,7 @@ More info: <a href="https://kubernetes.io/docs/concepts/services-networking/serv | |||
| <td> | ||||
| <code>type</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#servicetype-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#servicetype-v1-core"> | ||||
| Kubernetes core/v1.ServiceType | ||||
| </a> | ||||
| </em> | ||||
|  | @ -2926,7 +3177,7 @@ More info: <a href="https://kubernetes.io/docs/concepts/services-networking/serv | |||
| <p>If specified and supported by the platform, this will restrict traffic through the cloud-provider | ||||
| load-balancer will be restricted to the specified client IPs. This field will be ignored if the | ||||
| cloud-provider does not support the feature.” | ||||
| More info: <a href="https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/">https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/</a></p> | ||||
| More info: <a href="https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/#restricting-cloud-metadata-api-access">https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/#restricting-cloud-metadata-api-access</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -2988,7 +3239,7 @@ More info: <a href="http://kubernetes.io/docs/user-guide/annotations">http://kub | |||
| <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>Slack is handler for Slack notification channel.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -3016,7 +3267,7 @@ SecretKeySelector | |||
| <hr/> | ||||
| <p><em> | ||||
| Generated with <code>gen-crd-api-reference-docs</code> | ||||
| on git commit <code>8404b97</code>. | ||||
| on git commit <code>1c853e69</code>. | ||||
| </em></p> | ||||
| 
 | ||||
| 	 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="AKS"> | ||||
| <meta itemprop="description" content="Additional configuration for Azure Kubernetes Service | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="47"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="AKS"/> | ||||
| <meta name="twitter:description" content="Additional configuration for Azure Kubernetes Service | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Configuration"> | ||||
| <meta itemprop="description" content="How to configure Jenkins with Operator | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="675"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Configuration"/> | ||||
| <meta name="twitter:description" content="How to configure Jenkins with Operator | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -676,22 +673,18 @@ | |||
| 	<div class="lead">How to configure Jenkins with Operator</div> | ||||
| 	 | ||||
| 
 | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin" target="_blank">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/" target="_blank">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| and deploy keys.</p> | ||||
| 
 | ||||
| <h2 id="prepare-job-definitions-and-pipelines">Prepare job definitions and pipelines</h2> | ||||
| 
 | ||||
| <p>First you have to prepare pipelines and job definition in your GitHub repository using the following structure:</p> | ||||
| 
 | ||||
| <pre><code>cicd/ | ||||
| ├── jobs | ||||
| │   └── build.jenkins | ||||
| └── pipelines | ||||
|     └── build.jenkins | ||||
| </code></pre> | ||||
| 
 | ||||
|     └── build.jenkins</code></pre> | ||||
| <p><strong>cicd/jobs/build.jenkins</strong> it’s a job definition:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| pipelineJob('build-jenkins-operator') { | ||||
|  | @ -711,17 +704,14 @@ pipelineJob('build-jenkins-operator') { | |||
|             scriptPath('cicd/pipelines/build.jenkins') | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <p><strong>cicd/pipelines/build.jenkins</strong> is an actual Jenkins pipeline:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| def label = "build-jenkins-operator-${UUID.randomUUID().toString()}" | ||||
| def home = "/home/jenkins" | ||||
| def workspace = "${home}/workspace/build-jenkins-operator" | ||||
| def workdir = "${workspace}/src/github.com/jenkinsci/kubernetes-operator/" | ||||
| def label = "build-jenkins-operator-${UUID.randomUUID().toString()}" | ||||
| def home = "/home/jenkins" | ||||
| def workspace = "${home}/workspace/build-jenkins-operator" | ||||
| def workdir = "${workspace}/src/github.com/jenkinsci/kubernetes-operator/" | ||||
| 
 | ||||
| podTemplate(label: label, | ||||
|         containers: [ | ||||
|  | @ -763,13 +753,10 @@ podTemplate(label: label, | |||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <h2 id="configure-seed-jobs">Configure Seed Jobs</h2> | ||||
| 
 | ||||
| <p>Jenkins Seed Jobs are configured using <code>Jenkins.spec.seedJobs</code> section from your custom resource manifest:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -777,12 +764,10 @@ metadata: | |||
| spec: | ||||
|   seedJobs: | ||||
|   - id: jenkins-operator | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p><strong>Jenkins Operator</strong> will automatically discover and configure all the seed jobs.</p> | ||||
| 
 | ||||
| <p>You can verify if deploy keys were successfully configured in the Jenkins <strong>Credentials</strong> tab.</p> | ||||
|  | @ -817,7 +802,6 @@ $ ssh-keygen -p -f <filename> -m pem</code></pre></div> | |||
| <h4 id="configure-ssh-authentication">Configure SSH authentication</h4> | ||||
| 
 | ||||
| <p>Configure a seed job like this:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -827,14 +811,11 @@ spec: | |||
|   - id: jenkins-operator-ssh | ||||
|     credentialType: basicSSHUserPrivateKey | ||||
|     credentialID: k8s-ssh | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: git@github.com:jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: git@github.com:jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|  | @ -845,13 +826,10 @@ stringData: | |||
|     MIIJKAIBAAKCAgEAxxDpleJjMCN5nusfW/AtBAZhx8UVVlhhhIKXvQ+dFODQIdzO | ||||
|     oDXybs1zVHWOj31zqbbJnsfsVZ9Uf3p9k6xpJ3WFY9b85WasqTDN1xmSd6swD4N8 | ||||
|     ... | ||||
|   username: github_user_name | ||||
| </code></pre> | ||||
| 
 | ||||
|   username: github_user_name</code></pre> | ||||
| <h3 id="username-password-authentication">Username & password authentication</h3> | ||||
| 
 | ||||
| <p>Configure a seed job like this:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -861,23 +839,18 @@ spec: | |||
|   - id: jenkins-operator-user-pass | ||||
|     credentialType: usernamePassword | ||||
|     credentialID: k8s-user-pass | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|   name: k8s-user-pass | ||||
| stringData: | ||||
|   username: github_user_name | ||||
|   password: password_or_token | ||||
| </code></pre> | ||||
| 
 | ||||
|   password: password_or_token</code></pre> | ||||
| <h2 id="http-proxy-for-downloading-plugins">HTTP Proxy for downloading plugins</h2> | ||||
| 
 | ||||
| <p>To use forwarding proxy with an operator to download plugins you need to add the following environment variable to Jenkins CR, for e.g.:</p> | ||||
|  | @ -900,10 +873,10 @@ stringData: | |||
| </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>Secret<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"> | ||||
| </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-operator-credentials-<cr-name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><base64-encoded-new-username<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  password: <base64-encoded-new-password></span></code></pre></div> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">password: <base64-encoded-new-password></span></code></pre></div> | ||||
| <p>If needed <strong>Jenkins Operator</strong> will restart the Jenkins master pod and then you can login with the new username and password | ||||
| credentials.</p> | ||||
| 
 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Configure backup and restore"> | ||||
| <meta itemprop="description" content="Prevent loss of job history | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="158"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Configure backup and restore"/> | ||||
| <meta name="twitter:description" content="Prevent loss of job history | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -679,7 +676,7 @@ | |||
| </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>PersistentVolumeClaim<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"> | ||||
| </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><pvc_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>accessModes<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>ReadWriteOnce<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -693,7 +690,7 @@ | |||
| </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"> | ||||
| </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><cr_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>securityContext<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -710,7 +707,7 @@ | |||
| </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>/jenkins-home<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>BACKUP_COUNT<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><span style="color:#4e9a06">"3"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># keep only the 2 most recent backups</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0</span><span style="color:#0000cf;font-weight:bold">.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>imagePullPolicy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IfNotPresent<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>volumeMounts<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>mountPath<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/jenkins-home<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># Jenkins home volume</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -721,7 +718,7 @@ | |||
| </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>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># PVC volume where backups will be stored</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>persistentVolumeClaim<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>claimName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><pvc_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>containerName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># container name is responsible for backup</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>action<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>exec<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Customization"> | ||||
| <meta itemprop="description" content="How to customize Jenkins | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="244"> | ||||
| <meta itemprop="wordCount" content="243"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Customization"/> | ||||
| <meta name="twitter:description" content="How to customize Jenkins | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -660,21 +657,16 @@ the <strong>jenkins-operator-user-configuration-<cr_name></strong> ConfigMap, wh | |||
| <p>The <strong>Jenkins Operator</strong> creates a <strong>jenkins-operator-user-configuration-<cr_name></strong> secret where the user can store sensitive | ||||
| information used for custom configuration. If you have an entry in the secret named <code>PASSWORD</code> then you can use it in the | ||||
| Jenkins Configuration as a Code Plugin as <code>adminAddress: "${PASSWORD}"</code>.</p> | ||||
| 
 | ||||
| <pre><code>kubectl get secret jenkins-operator-user-configuration-<cr_name> -o yaml | ||||
| <pre><code>kubectl get secret jenkins-operator-user-configuration-<cr_name> -o yaml | ||||
| 
 | ||||
| kind: Secret | ||||
| apiVersion: v1 | ||||
| type: Opaque | ||||
| metadata: | ||||
|   name: jenkins-operator-user-configuration-<cr_name> | ||||
|   name: jenkins-operator-user-configuration-<cr_name> | ||||
|   namespace: default | ||||
| data: | ||||
|   SECRET_JENKINS_ADMIN_ADDRESS: YXNkZgo= | ||||
| 
 | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>kubectl get configmap jenkins-operator-user-configuration-<cr_name> -o yaml | ||||
|   SECRET_JENKINS_ADMIN_ADDRESS: YXNkZgo=</code></pre><pre><code>kubectl get configmap jenkins-operator-user-configuration-<cr_name> -o yaml | ||||
| 
 | ||||
| apiVersion: v1 | ||||
| data: | ||||
|  | @ -691,23 +683,21 @@ data: | |||
| 
 | ||||
|     def decorator = Jenkins.instance.getDescriptorByType(org.codefirst.SimpleThemeDecorator.class) | ||||
| 
 | ||||
|     List<ThemeElement> configElements = new ArrayList<>(); | ||||
|     configElements.add(new CssTextThemeElement("DEFAULT")); | ||||
|     configElements.add(new CssUrlThemeElement("https://cdn.rawgit.com/afonsof/jenkins-material-theme/gh-pages/dist/material-light-green.css")); | ||||
|     List<ThemeElement> configElements = new ArrayList<>(); | ||||
|     configElements.add(new CssTextThemeElement("DEFAULT")); | ||||
|     configElements.add(new CssUrlThemeElement("https://cdn.rawgit.com/afonsof/jenkins-material-theme/gh-pages/dist/material-light-green.css")); | ||||
|     decorator.setElements(configElements); | ||||
|     decorator.save(); | ||||
| 
 | ||||
|     jenkins.save() | ||||
|   1-system-message.yaml: |2 | ||||
|     jenkins: | ||||
|       systemMessage: "Configuration as Code integration works!!!" | ||||
|       adminAddress: "${SECRET_JENKINS_ADMIN_ADDRESS}" | ||||
|       systemMessage: "Configuration as Code integration works!!!" | ||||
|       adminAddress: "${SECRET_JENKINS_ADMIN_ADDRESS}" | ||||
| kind: ConfigMap | ||||
| metadata: | ||||
|   name: jenkins-operator-user-configuration-<cr_name> | ||||
|   namespace: default | ||||
| </code></pre> | ||||
| 
 | ||||
|   name: jenkins-operator-user-configuration-<cr_name> | ||||
|   namespace: default</code></pre> | ||||
| <p>When the <strong>jenkins-operator-user-configuration-<cr_name></strong> ConfigMap is updated, Jenkins automatically | ||||
| runs the <strong>jenkins-operator-user-configuration</strong> Jenkins Job which executes all scripts, and  then | ||||
| runs the <strong>jenkins-operator-user-configuration-casc</strong> Jenkins Job which applies the Configuration as Code configuration.</p> | ||||
|  | @ -715,7 +705,6 @@ runs the <strong>jenkins-operator-user-configuration-casc</strong> Jenkins Job w | |||
| <h2 id="install-plugins">Install Plugins</h2> | ||||
| 
 | ||||
| <p>Edit CR under <code>spec.master.plugins</code>:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -724,9 +713,7 @@ spec: | |||
|   master: | ||||
|    plugins: | ||||
|    - name: simple-theme-plugin | ||||
|      version: 0.5.1 | ||||
| </code></pre> | ||||
| 
 | ||||
|      version: 0.5.1</code></pre> | ||||
| <p>Under <code>spec.master.basePlugins</code> you can find plugins for a valid <strong>Jenkins Operator</strong>:</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"> | ||||
|  | @ -736,19 +723,19 @@ spec: | |||
| </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>basePlugins<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>kubernetes<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18.3</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18</span><span style="color:#0000cf;font-weight:bold">.3</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>workflow-job<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"2.34"</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>workflow-aggregator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"2.6"</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>git<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12.0</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12</span><span style="color:#0000cf;font-weight:bold">.0</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>job-dsl<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"1.76"</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>configuration-as-code<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"1.31"</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>kubernetes-credentials-provider<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.1</span></code></pre></div> | ||||
| </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 their versions.</p> | ||||
| 
 | ||||
| <p>The <strong>Jenkins Operator</strong> will then automatically install those plugins after the Jenkins master pod restart.</p> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Deploy Jenkins"> | ||||
| <meta itemprop="description" content="Deploy production ready Jenkins Operator manifest | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="176"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Deploy Jenkins"/> | ||||
| <meta name="twitter:description" content="Deploy production ready Jenkins Operator manifest | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -711,7 +708,7 @@ kubectl get secret jenkins-operator-credentials-<cr_name> -o <span style=" | |||
| <p>Connect to the Jenkins Operator (minikube):</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">minikube service jenkins-operator-http-<cr_name> --url</code></pre></div> | ||||
| <p>Connect to the Jenkins intance (actual Kubernetes cluster):</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">kubectl port-forward jenkins-<cr_name> <span style="color:#0000cf;font-weight:bold">8080</span>:8080</code></pre></div> | ||||
| <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">kubectl port-forward jenkins-<cr_name> 8080:8080</code></pre></div> | ||||
| <p>Then open browser with address <code>http://localhost:8080</code>. | ||||
| <img src="/kubernetes-operator/img/jenkins.png" alt="jenkins" /></p> | ||||
| 
 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Diagnostics"> | ||||
| <meta itemprop="description" content="How to deal with jenkins-operator problems | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="56"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Diagnostics"/> | ||||
| <meta name="twitter:description" content="How to deal with jenkins-operator problems | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -26,13 +26,10 @@ | |||
| " /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.1.x/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2019-08-05T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="v0.1.x"> | ||||
| <meta itemprop="description" content="How to work with an older version of jenkins-operator. We recommend migration to a newer version. | ||||
| "> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| "><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="v0.1.x"/> | ||||
| <meta name="twitter:description" content="How to work with an older version of jenkins-operator. We recommend migration to a newer version. | ||||
| "/> | ||||
|  | @ -41,8 +38,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -87,7 +87,7 @@ kubectl get secret jenkins-operator-credentials-&lt;cr_name&gt; -o <s | |||
| <p>Connect to the Jenkins Operator (minikube):</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">minikube service jenkins-operator-http-&lt;cr_name&gt; --url</code></pre></div> | ||||
| <p>Connect to the Jenkins intance (actual Kubernetes cluster):</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">kubectl port-forward jenkins-&lt;cr_name&gt; <span style="color:#0000cf;font-weight:bold">8080</span>:8080</code></pre></div> | ||||
| <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">kubectl port-forward jenkins-&lt;cr_name&gt; 8080:8080</code></pre></div> | ||||
| <p>Then open browser with address <code>http://localhost:8080</code>. | ||||
| <img src="https://jenkinsci.github.io/kubernetes-operator/kubernetes-operator/img/jenkins.png" alt="jenkins" /></p> | ||||
| 
 | ||||
|  | @ -105,22 +105,18 @@ kubectl get secret jenkins-operator-credentials-&lt;cr_name&gt; -o <s | |||
|          | ||||
|          | ||||
| 
 | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin" target="_blank">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/" target="_blank">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| and deploy keys.</p> | ||||
| 
 | ||||
| <h2 id="prepare-job-definitions-and-pipelines">Prepare job definitions and pipelines</h2> | ||||
| 
 | ||||
| <p>First you have to prepare pipelines and job definition in your GitHub repository using the following structure:</p> | ||||
| 
 | ||||
| <pre><code>cicd/ | ||||
| ├── jobs | ||||
| │   └── build.jenkins | ||||
| └── pipelines | ||||
|     └── build.jenkins | ||||
| </code></pre> | ||||
| 
 | ||||
|     └── build.jenkins</code></pre> | ||||
| <p><strong>cicd/jobs/build.jenkins</strong> it&rsquo;s a job definition:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| pipelineJob('build-jenkins-operator') { | ||||
|  | @ -140,17 +136,14 @@ pipelineJob('build-jenkins-operator') { | |||
|             scriptPath('cicd/pipelines/build.jenkins') | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <p><strong>cicd/pipelines/build.jenkins</strong> is an actual Jenkins pipeline:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| def label = &quot;build-jenkins-operator-${UUID.randomUUID().toString()}&quot; | ||||
| def home = &quot;/home/jenkins&quot; | ||||
| def workspace = &quot;${home}/workspace/build-jenkins-operator&quot; | ||||
| def workdir = &quot;${workspace}/src/github.com/jenkinsci/kubernetes-operator/&quot; | ||||
| def label = "build-jenkins-operator-${UUID.randomUUID().toString()}" | ||||
| def home = "/home/jenkins" | ||||
| def workspace = "${home}/workspace/build-jenkins-operator" | ||||
| def workdir = "${workspace}/src/github.com/jenkinsci/kubernetes-operator/" | ||||
| 
 | ||||
| podTemplate(label: label, | ||||
|         containers: [ | ||||
|  | @ -192,13 +185,10 @@ podTemplate(label: label, | |||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <h2 id="configure-seed-jobs">Configure Seed Jobs</h2> | ||||
| 
 | ||||
| <p>Jenkins Seed Jobs are configured using <code>Jenkins.spec.seedJobs</code> section from your custom resource manifest:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -206,12 +196,10 @@ metadata: | |||
| spec: | ||||
|   seedJobs: | ||||
|   - id: jenkins-operator | ||||
|     targets: &quot;cicd/jobs/*.jenkins&quot; | ||||
|     description: &quot;Jenkins Operator repository&quot; | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p><strong>Jenkins Operator</strong> will automatically discover and configure all the seed jobs.</p> | ||||
| 
 | ||||
| <p>You can verify if deploy keys were successfully configured in the Jenkins <strong>Credentials</strong> tab.</p> | ||||
|  | @ -246,7 +234,6 @@ $ ssh-keygen -p -f &lt;filename&gt; -m pem</code></pre></ | |||
| <h4 id="configure-ssh-authentication">Configure SSH authentication</h4> | ||||
| 
 | ||||
| <p>Configure a seed job like this:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -256,14 +243,11 @@ spec: | |||
|   - id: jenkins-operator-ssh | ||||
|     credentialType: basicSSHUserPrivateKey | ||||
|     credentialID: k8s-ssh | ||||
|     targets: &quot;cicd/jobs/*.jenkins&quot; | ||||
|     description: &quot;Jenkins Operator repository&quot; | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: git@github.com:jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: git@github.com:jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|  | @ -274,13 +258,10 @@ stringData: | |||
|     MIIJKAIBAAKCAgEAxxDpleJjMCN5nusfW/AtBAZhx8UVVlhhhIKXvQ+dFODQIdzO | ||||
|     oDXybs1zVHWOj31zqbbJnsfsVZ9Uf3p9k6xpJ3WFY9b85WasqTDN1xmSd6swD4N8 | ||||
|     ... | ||||
|   username: github_user_name | ||||
| </code></pre> | ||||
| 
 | ||||
|   username: github_user_name</code></pre> | ||||
| <h3 id="username-password-authentication">Username &amp; password authentication</h3> | ||||
| 
 | ||||
| <p>Configure a seed job like this:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -290,23 +271,18 @@ spec: | |||
|   - id: jenkins-operator-user-pass | ||||
|     credentialType: usernamePassword | ||||
|     credentialID: k8s-user-pass | ||||
|     targets: &quot;cicd/jobs/*.jenkins&quot; | ||||
|     description: &quot;Jenkins Operator repository&quot; | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|   name: k8s-user-pass | ||||
| stringData: | ||||
|   username: github_user_name | ||||
|   password: password_or_token | ||||
| </code></pre> | ||||
| 
 | ||||
|   password: password_or_token</code></pre> | ||||
| <h2 id="http-proxy-for-downloading-plugins">HTTP Proxy for downloading plugins</h2> | ||||
| 
 | ||||
| <p>To use forwarding proxy with an operator to download plugins you need to add the following environment variable to Jenkins CR, for e.g.:</p> | ||||
|  | @ -329,10 +305,10 @@ stringData: | |||
| </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>Secret<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"> | ||||
| </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-operator-credentials-&lt;cr-name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </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 the Jenkins master pod and then you can login with the new username and password | ||||
| credentials.</p> | ||||
| 
 | ||||
|  | @ -372,21 +348,16 @@ the <strong>jenkins-operator-user-configuration-<cr_name></strong | |||
| <p>The <strong>Jenkins Operator</strong> creates a <strong>jenkins-operator-user-configuration-<cr_name></strong> secret where the user can store sensitive | ||||
| information used for custom configuration. If you have an entry in the secret named <code>PASSWORD</code> then you can use it in the | ||||
| Jenkins Configuration as a Code Plugin as <code>adminAddress: &quot;${PASSWORD}&quot;</code>.</p> | ||||
| 
 | ||||
| <pre><code>kubectl get secret jenkins-operator-user-configuration-&lt;cr_name&gt; -o yaml | ||||
| <pre><code>kubectl get secret jenkins-operator-user-configuration-<cr_name> -o yaml | ||||
| 
 | ||||
| kind: Secret | ||||
| apiVersion: v1 | ||||
| type: Opaque | ||||
| metadata: | ||||
|   name: jenkins-operator-user-configuration-&lt;cr_name&gt; | ||||
|   name: jenkins-operator-user-configuration-<cr_name> | ||||
|   namespace: default | ||||
| data: | ||||
|   SECRET_JENKINS_ADMIN_ADDRESS: YXNkZgo= | ||||
| 
 | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>kubectl get configmap jenkins-operator-user-configuration-&lt;cr_name&gt; -o yaml | ||||
|   SECRET_JENKINS_ADMIN_ADDRESS: YXNkZgo=</code></pre><pre><code>kubectl get configmap jenkins-operator-user-configuration-<cr_name> -o yaml | ||||
| 
 | ||||
| apiVersion: v1 | ||||
| data: | ||||
|  | @ -403,23 +374,21 @@ data: | |||
| 
 | ||||
|     def decorator = Jenkins.instance.getDescriptorByType(org.codefirst.SimpleThemeDecorator.class) | ||||
| 
 | ||||
|     List&lt;ThemeElement&gt; configElements = new ArrayList&lt;&gt;(); | ||||
|     configElements.add(new CssTextThemeElement(&quot;DEFAULT&quot;)); | ||||
|     configElements.add(new CssUrlThemeElement(&quot;https://cdn.rawgit.com/afonsof/jenkins-material-theme/gh-pages/dist/material-light-green.css&quot;)); | ||||
|     List<ThemeElement> configElements = new ArrayList<>(); | ||||
|     configElements.add(new CssTextThemeElement("DEFAULT")); | ||||
|     configElements.add(new CssUrlThemeElement("https://cdn.rawgit.com/afonsof/jenkins-material-theme/gh-pages/dist/material-light-green.css")); | ||||
|     decorator.setElements(configElements); | ||||
|     decorator.save(); | ||||
| 
 | ||||
|     jenkins.save() | ||||
|   1-system-message.yaml: |2 | ||||
|     jenkins: | ||||
|       systemMessage: &quot;Configuration as Code integration works!!!&quot; | ||||
|       adminAddress: &quot;${SECRET_JENKINS_ADMIN_ADDRESS}&quot; | ||||
|       systemMessage: "Configuration as Code integration works!!!" | ||||
|       adminAddress: "${SECRET_JENKINS_ADMIN_ADDRESS}" | ||||
| kind: ConfigMap | ||||
| metadata: | ||||
|   name: jenkins-operator-user-configuration-&lt;cr_name&gt; | ||||
|   namespace: default | ||||
| </code></pre> | ||||
| 
 | ||||
|   name: jenkins-operator-user-configuration-<cr_name> | ||||
|   namespace: default</code></pre> | ||||
| <p>When the <strong>jenkins-operator-user-configuration-<cr_name></strong> ConfigMap is updated, Jenkins automatically | ||||
| runs the <strong>jenkins-operator-user-configuration</strong> Jenkins Job which executes all scripts, and  then | ||||
| runs the <strong>jenkins-operator-user-configuration-casc</strong> Jenkins Job which applies the Configuration as Code configuration.</p> | ||||
|  | @ -427,7 +396,6 @@ runs the <strong>jenkins-operator-user-configuration-casc</strong> J | |||
| <h2 id="install-plugins">Install Plugins</h2> | ||||
| 
 | ||||
| <p>Edit CR under <code>spec.master.plugins</code>:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -436,9 +404,7 @@ spec: | |||
|   master: | ||||
|    plugins: | ||||
|    - name: simple-theme-plugin | ||||
|      version: 0.5.1 | ||||
| </code></pre> | ||||
| 
 | ||||
|      version: 0.5.1</code></pre> | ||||
| <p>Under <code>spec.master.basePlugins</code> you can find plugins for a valid <strong>Jenkins Operator</strong>:</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"> | ||||
|  | @ -448,19 +414,19 @@ spec: | |||
| </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>basePlugins<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>kubernetes<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18.3</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18</span><span style="color:#0000cf;font-weight:bold">.3</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>workflow-job<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;2.34&#34;</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>workflow-aggregator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;2.6&#34;</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>git<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12.0</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12</span><span style="color:#0000cf;font-weight:bold">.0</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>job-dsl<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;1.76&#34;</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>configuration-as-code<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;1.31&#34;</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>kubernetes-credentials-provider<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.1</span></code></pre></div> | ||||
| </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 their versions.</p> | ||||
| 
 | ||||
| <p>The <strong>Jenkins Operator</strong> will then automatically install those plugins after the Jenkins master pod restart.</p> | ||||
|  | @ -512,7 +478,7 @@ the restart of a Jenkins pod over and over again.</p> | |||
| </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>PersistentVolumeClaim<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"> | ||||
| </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>&lt;pvc_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>accessModes<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>ReadWriteOnce<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -526,7 +492,7 @@ the restart of a Jenkins pod over and over again.</p> | |||
| </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"> | ||||
| </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>&lt;cr_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>securityContext<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -543,7 +509,7 @@ the restart of a Jenkins pod over and over again.</p> | |||
| </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>/jenkins-home<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>BACKUP_COUNT<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><span style="color:#4e9a06">&#34;3&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># keep only the 2 most recent backups</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0</span><span style="color:#0000cf;font-weight:bold">.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>imagePullPolicy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IfNotPresent<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>volumeMounts<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>mountPath<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/jenkins-home<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># Jenkins home volume</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -554,7 +520,7 @@ the restart of a Jenkins pod over and over again.</p> | |||
| </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>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># PVC volume where backups will be stored</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>persistentVolumeClaim<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>claimName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;pvc_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>containerName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># container name is responsible for backup</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>action<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>exec<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -2076,7 +2042,7 @@ No resources found.</code></pre></div> | |||
| <p>Run command:</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">$ kubectl -n &lt;namespace&gt; get po | ||||
| NAME                       READY     STATUS        RESTARTS   AGE | ||||
| jenkins-operator-&lt;cr_name&gt;   <span style="color:#0000cf;font-weight:bold">2</span>/2       Running       <span style="color:#0000cf;font-weight:bold">0</span>          3m35s | ||||
| jenkins-operator-&lt;cr_name&gt;   2/2       Running       <span style="color:#0000cf;font-weight:bold">0</span>          3m35s | ||||
| $ kubectl -n &lt;namespace&gt; get delete po jenkins-operator-&lt;cr_name&gt; | ||||
| pod <span style="color:#4e9a06">&#34;jenkins-operator-&lt;cr_name&gt;&#34;</span> deleted</code></pre></div> | ||||
| <p>Verify the desired state, by running this command:</p> | ||||
|  | @ -2094,25 +2060,20 @@ No resources found.</code></pre></div> | |||
| 
 | ||||
| <ul> | ||||
| <li><p><code>spec.master.basePlugins</code> example:</p> | ||||
| 
 | ||||
| <pre><code>spec: | ||||
| master: | ||||
| basePlugins: | ||||
|   - name: a-plugin-name | ||||
|     version: &quot;1.0.0&quot; | ||||
|   ... | ||||
| </code></pre></li> | ||||
|     version: "1.0.0" | ||||
|   ...</code></pre></li> | ||||
| 
 | ||||
| <li><p><code>spec.master.plugins</code> example:</p> | ||||
| 
 | ||||
| <pre><code> | ||||
| spec: | ||||
| <pre><code>spec: | ||||
| master: | ||||
| plugins: | ||||
|   - name: a-plugin-name | ||||
|      version: &quot;1.0.0&quot; | ||||
| ... | ||||
| </code></pre></li> | ||||
|      version: "1.0.0" | ||||
| ...</code></pre></li> | ||||
| </ul> | ||||
| 
 | ||||
| <p>Move Jenkins <code>master</code> container properties to <code>spec.master.containers[jenkins-master]</code> (non exhaustive list): | ||||
|  | @ -2122,17 +2083,14 @@ plugins: | |||
| - <code>spec.master.readinessProbe</code> -&gt; <code>spec.master.containers[jenkins-master].readinessProbe</code> | ||||
| - <code>spec.master.resources</code> -&gt; <code>spec.master.containers[jenkins-master].resources</code> | ||||
| - <code>spec.master.env</code> -&gt; <code>spec.master.containers[jenkins-master].env</code></p> | ||||
| 
 | ||||
| <pre><code>spec: | ||||
|   master: | ||||
|     containers: | ||||
|       - name: jenkins-master | ||||
|         image: jenkins/jenkins:lts | ||||
|       ... | ||||
| </code></pre> | ||||
| 
 | ||||
|       ...</code></pre> | ||||
| <p>See also the examples below for more details. For even more details please look at the source code. | ||||
| Code that defines the data structures can be found <a href="v0.1.1/jenkins-v1alpha2-scheme.md" target="_blank">here</a></p> | ||||
| Code that defines the data structures can be found <a href="v0.1.1/jenkins-v1alpha2-scheme.md">here</a></p> | ||||
| 
 | ||||
| <h3 id="examples">Examples</h3> | ||||
| 
 | ||||
|  | @ -2141,22 +2099,22 @@ Code that defines the data structures can be found <a href="v0.1.1/jenkin | |||
| </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"> | ||||
| </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>&lt;cr_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>basePlugins<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>configuration-as-code<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.17</span><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>configuration-as-code-support<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.17</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>git<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">3.10.0</span><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>apache-httpcomponents-client<span style="color:#0000cf;font-weight:bold">-4</span>-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">4.5.5-3.0</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1.19</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>display-url-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3.1</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>git-client<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.7.7</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>jsch<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.1.55</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>git<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">3.10</span><span style="color:#0000cf;font-weight:bold">.0</span><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>apache-httpcomponents-client<span style="color:#0000cf;font-weight:bold">-4</span>-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">4.5</span><span style="color:#0000cf;font-weight:bold">.5</span><span style="color:#0000cf;font-weight:bold">-3.0</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1</span><span style="color:#0000cf;font-weight:bold">.19</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>display-url-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3</span><span style="color:#0000cf;font-weight:bold">.1</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>git-client<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.7</span><span style="color:#0000cf;font-weight:bold">.7</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>jsch<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.1</span><span style="color:#0000cf;font-weight:bold">.55</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>junit<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.28</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>mailer<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.23</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>matrix-project<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.14</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>scm-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.4.1</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>scm-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.4</span><span style="color:#0000cf;font-weight:bold">.1</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>script-security<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.59</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>ssh-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16</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>structs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.19</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -2166,58 +2124,58 @@ Code that defines the data structures can be found <a href="v0.1.1/jenkin | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>job-dsl<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.74</span><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>script-security<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.59</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>structs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.19</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>kubernetes-credentials-provider<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.12.1</span><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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1.19</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>kubernetes-credentials-provider<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.12</span><span style="color:#0000cf;font-weight:bold">.1</span><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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1</span><span style="color:#0000cf;font-weight:bold">.19</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>structs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.19</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>variant<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.2</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>kubernetes<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.15.5</span><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>apache-httpcomponents-client<span style="color:#0000cf;font-weight:bold">-4</span>-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">4.5.5-3.0</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>kubernetes<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.15</span><span style="color:#0000cf;font-weight:bold">.5</span><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>apache-httpcomponents-client<span style="color:#0000cf;font-weight:bold">-4</span>-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">4.5</span><span style="color:#0000cf;font-weight:bold">.5</span><span style="color:#0000cf;font-weight:bold">-3.0</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>cloudbees-folder<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">6.8</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1.19</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1</span><span style="color:#0000cf;font-weight:bold">.19</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>durable-task<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.29</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>jackson2-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.9.9</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>kubernetes-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.4.0</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>jackson2-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.9</span><span style="color:#0000cf;font-weight:bold">.9</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>kubernetes-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.4</span><span style="color:#0000cf;font-weight:bold">.0</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>plain-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.5</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>structs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.19</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>variant<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.2</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>workflow-step-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.19</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>workflow-aggregator<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.6</span><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>ace-editor<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1</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>apache-httpcomponents-client<span style="color:#0000cf;font-weight:bold">-4</span>-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">4.5.5-3.0</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>apache-httpcomponents-client<span style="color:#0000cf;font-weight:bold">-4</span>-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">4.5</span><span style="color:#0000cf;font-weight:bold">.5</span><span style="color:#0000cf;font-weight:bold">-3.0</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>authentication-tokens<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3</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>branch-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.5.2</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>branch-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.5</span><span style="color:#0000cf;font-weight:bold">.2</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>cloudbees-folder<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">6.8</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>credentials-binding<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.18</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1.19</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>display-url-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3.1</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1</span><span style="color:#0000cf;font-weight:bold">.19</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>display-url-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3</span><span style="color:#0000cf;font-weight:bold">.1</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>docker-commons<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.15</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>docker-workflow<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.18</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>durable-task<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.29</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>git-client<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.7.7</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>git-client<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.7</span><span style="color:#0000cf;font-weight:bold">.7</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>git-server<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.7</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>handlebars<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1.1</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>jackson2-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.9.9</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>jquery-detached<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.2.1</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>jsch<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.1.55</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>handlebars<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1</span><span style="color:#0000cf;font-weight:bold">.1</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>jackson2-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.9</span><span style="color:#0000cf;font-weight:bold">.9</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>jquery-detached<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.2</span><span style="color:#0000cf;font-weight:bold">.1</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>jsch<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.1</span><span style="color:#0000cf;font-weight:bold">.55</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>junit<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.28</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>lockable-resources<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.5</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>mailer<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.23</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>matrix-project<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.14</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>momentjs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1.1</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>momentjs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1</span><span style="color:#0000cf;font-weight:bold">.1</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>pipeline-build-step<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.9</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>pipeline-graph-analysis<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.10</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>pipeline-input-step<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.10</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>pipeline-milestone-step<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3.1</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>pipeline-model-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3.8</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>pipeline-model-declarative-agent<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1.1</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>pipeline-model-definition<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3.8</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>pipeline-model-extensions<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3.8</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>pipeline-milestone-step<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3</span><span style="color:#0000cf;font-weight:bold">.1</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>pipeline-model-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3</span><span style="color:#0000cf;font-weight:bold">.8</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>pipeline-model-declarative-agent<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1</span><span style="color:#0000cf;font-weight:bold">.1</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>pipeline-model-definition<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3</span><span style="color:#0000cf;font-weight:bold">.8</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>pipeline-model-extensions<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3</span><span style="color:#0000cf;font-weight:bold">.8</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>pipeline-rest-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.11</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>pipeline-stage-step<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3</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>pipeline-stage-tags-metadata<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3.8</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>pipeline-stage-tags-metadata<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3</span><span style="color:#0000cf;font-weight:bold">.8</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>pipeline-stage-view<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.11</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>plain-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.5</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>scm-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.4.1</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>scm-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.4</span><span style="color:#0000cf;font-weight:bold">.1</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>script-security<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.59</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>ssh-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16</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>structs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.19</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -2232,7 +2190,7 @@ Code that defines the data structures can be found <a href="v0.1.1/jenkin | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>workflow-step-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.19</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>workflow-support<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">3.3</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>workflow-job<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.32</span><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>scm-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.4.1</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>scm-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.4</span><span style="color:#0000cf;font-weight:bold">.1</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>script-security<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.59</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>structs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.19</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>workflow-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.34</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -2251,11 +2209,11 @@ Code that defines the data structures can be found <a href="v0.1.1/jenkin | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>successThreshold<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>timeoutSeconds<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">5</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>plugins<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>simple-theme-plugin<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.5.1</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">[]</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>simple-theme-plugin<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.5</span><span style="color:#0000cf;font-weight:bold">.1</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>slack<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.24</span><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>workflow-step-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.19</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1.19</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>display-url-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3.1</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1</span><span style="color:#0000cf;font-weight:bold">.19</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>display-url-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3</span><span style="color:#0000cf;font-weight:bold">.1</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>junit<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.28</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>plain-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.5</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>script-security<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.59</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -2283,26 +2241,24 @@ Code that defines the data structures can be found <a href="v0.1.1/jenkin | |||
| </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"> | ||||
| </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>&lt;cr_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>basePlugins<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>kubernetes<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.15.7</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.15</span><span style="color:#0000cf;font-weight:bold">.7</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>workflow-job<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;2.32&#34;</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>workflow-aggregator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;2.6&#34;</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>git<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.10.0</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.10</span><span style="color:#0000cf;font-weight:bold">.0</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>job-dsl<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;1.74&#34;</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>configuration-as-code<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;1.19&#34;</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>configuration-as-code-support<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;1.19&#34;</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>kubernetes-credentials-provider<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><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>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins/jenkins<span style="color:#000;font-weight:bold">:</span>lts<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -2336,38 +2292,29 @@ Code that defines the data structures can be found <a href="v0.1.1/jenkin | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">          </span>memory<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>500Mi<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>plugins<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>simple-theme-plugin<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.5.1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.5</span><span style="color:#0000cf;font-weight:bold">.1</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>slack<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">2.24</span></code></pre></div> | ||||
| <h2 id="update-crd-to-a-new-version">Update CRD to a new version</h2> | ||||
| 
 | ||||
| <p>A new version of the Custom Resource Definition for the operator needs to be applied: | ||||
| -<a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/crds/jenkins_v1alpha2_jenkins_crd.yaml" target="_blank">Jenkins CRD v1alpha2</a></p> | ||||
| -<a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/crds/jenkins_v1alpha2_jenkins_crd.yaml">Jenkins CRD v1alpha2</a></p> | ||||
| 
 | ||||
| <p>To use the default CRD file:</p> | ||||
| 
 | ||||
| <pre><code>kubectl -n &lt;namespace&gt; apply -f https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/crds/jenkins_v1alpha2_jenkins_crd.yaml | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>kubectl -n <namespace> apply -f https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/crds/jenkins_v1alpha2_jenkins_crd.yaml</code></pre> | ||||
| <h2 id="update-rbac-to-a-new-version">Update RBAC to a new version</h2> | ||||
| 
 | ||||
| <p>A new operator version requires updated RBAC permissions:</p> | ||||
| 
 | ||||
| <p>To use the default Role file:</p> | ||||
| 
 | ||||
| <pre><code>$ kubectl -n &lt;namespace&gt; apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/deploy/role.yaml | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>$ kubectl -n <namespace> apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/deploy/role.yaml</code></pre> | ||||
| <h2 id="deploy-new-operator-manifests">Deploy new operator manifests</h2> | ||||
| 
 | ||||
| <p>Replace your modified operator configuration file:</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">$ kubectl -n &lt;namespace&gt; replace -f jenkins.yaml</code></pre></div> | ||||
| <p>Update operator version in the deployment file to <code>image: virtuslab/jenkins-operator:v0.1.0</code> and scale up, | ||||
| or use the default deployment manifest:</p> | ||||
| 
 | ||||
| <pre><code>$ kubectl -n &lt;namespace&gt; apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/deploy/operator.yaml | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>$ kubectl -n <namespace> apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/deploy/operator.yaml</code></pre> | ||||
|       </description> | ||||
|     </item> | ||||
|      | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Migration guide from v1alpha1 to v1alpha2"> | ||||
| <meta itemprop="description" content="How to migrate to new CRD manifest | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="361"> | ||||
| <meta itemprop="wordCount" content="358"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Migration guide from v1alpha1 to v1alpha2"/> | ||||
| <meta name="twitter:description" content="How to migrate to new CRD manifest | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -688,7 +685,7 @@ No resources found.</code></pre></div> | |||
| <p>Run command:</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">$ kubectl -n <namespace> get po | ||||
| NAME                       READY     STATUS        RESTARTS   AGE | ||||
| jenkins-operator-<cr_name>   <span style="color:#0000cf;font-weight:bold">2</span>/2       Running       <span style="color:#0000cf;font-weight:bold">0</span>          3m35s | ||||
| jenkins-operator-<cr_name>   2/2       Running       <span style="color:#0000cf;font-weight:bold">0</span>          3m35s | ||||
| $ kubectl -n <namespace> get delete po jenkins-operator-<cr_name> | ||||
| pod <span style="color:#4e9a06">"jenkins-operator-<cr_name>"</span> deleted</code></pre></div> | ||||
| <p>Verify the desired state, by running this command:</p> | ||||
|  | @ -706,25 +703,20 @@ No resources found.</code></pre></div> | |||
| 
 | ||||
| <ul> | ||||
| <li><p><code>spec.master.basePlugins</code> example:</p> | ||||
| 
 | ||||
| <pre><code>spec: | ||||
| master: | ||||
| basePlugins: | ||||
|   - name: a-plugin-name | ||||
|     version: "1.0.0" | ||||
|   ... | ||||
| </code></pre></li> | ||||
|     version: "1.0.0" | ||||
|   ...</code></pre></li> | ||||
| 
 | ||||
| <li><p><code>spec.master.plugins</code> example:</p> | ||||
| 
 | ||||
| <pre><code> | ||||
| spec: | ||||
| <pre><code>spec: | ||||
| master: | ||||
| plugins: | ||||
|   - name: a-plugin-name | ||||
|      version: "1.0.0" | ||||
| ... | ||||
| </code></pre></li> | ||||
|      version: "1.0.0" | ||||
| ...</code></pre></li> | ||||
| </ul> | ||||
| 
 | ||||
| <p>Move Jenkins <code>master</code> container properties to <code>spec.master.containers[jenkins-master]</code> (non exhaustive list): | ||||
|  | @ -734,17 +726,14 @@ plugins: | |||
| - <code>spec.master.readinessProbe</code> -> <code>spec.master.containers[jenkins-master].readinessProbe</code> | ||||
| - <code>spec.master.resources</code> -> <code>spec.master.containers[jenkins-master].resources</code> | ||||
| - <code>spec.master.env</code> -> <code>spec.master.containers[jenkins-master].env</code></p> | ||||
| 
 | ||||
| <pre><code>spec: | ||||
|   master: | ||||
|     containers: | ||||
|       - name: jenkins-master | ||||
|         image: jenkins/jenkins:lts | ||||
|       ... | ||||
| </code></pre> | ||||
| 
 | ||||
|       ...</code></pre> | ||||
| <p>See also the examples below for more details. For even more details please look at the source code. | ||||
| Code that defines the data structures can be found <a href="v0.1.1/jenkins-v1alpha2-scheme.md" target="_blank">here</a></p> | ||||
| Code that defines the data structures can be found <a href="v0.1.1/jenkins-v1alpha2-scheme.md">here</a></p> | ||||
| 
 | ||||
| <h3 id="examples">Examples</h3> | ||||
| 
 | ||||
|  | @ -753,22 +742,22 @@ Code that defines the data structures can be found <a href="v0.1.1/jenkins-v1alp | |||
| </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"> | ||||
| </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><cr_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>basePlugins<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>configuration-as-code<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.17</span><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>configuration-as-code-support<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.17</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>git<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">3.10.0</span><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>apache-httpcomponents-client<span style="color:#0000cf;font-weight:bold">-4</span>-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">4.5.5-3.0</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1.19</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>display-url-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3.1</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>git-client<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.7.7</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>jsch<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.1.55</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>git<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">3.10</span><span style="color:#0000cf;font-weight:bold">.0</span><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>apache-httpcomponents-client<span style="color:#0000cf;font-weight:bold">-4</span>-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">4.5</span><span style="color:#0000cf;font-weight:bold">.5</span><span style="color:#0000cf;font-weight:bold">-3.0</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1</span><span style="color:#0000cf;font-weight:bold">.19</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>display-url-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3</span><span style="color:#0000cf;font-weight:bold">.1</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>git-client<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.7</span><span style="color:#0000cf;font-weight:bold">.7</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>jsch<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.1</span><span style="color:#0000cf;font-weight:bold">.55</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>junit<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.28</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>mailer<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.23</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>matrix-project<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.14</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>scm-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.4.1</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>scm-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.4</span><span style="color:#0000cf;font-weight:bold">.1</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>script-security<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.59</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>ssh-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16</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>structs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.19</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -778,58 +767,58 @@ Code that defines the data structures can be found <a href="v0.1.1/jenkins-v1alp | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>job-dsl<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.74</span><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>script-security<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.59</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>structs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.19</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>kubernetes-credentials-provider<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.12.1</span><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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1.19</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>kubernetes-credentials-provider<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.12</span><span style="color:#0000cf;font-weight:bold">.1</span><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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1</span><span style="color:#0000cf;font-weight:bold">.19</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>structs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.19</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>variant<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.2</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>kubernetes<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.15.5</span><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>apache-httpcomponents-client<span style="color:#0000cf;font-weight:bold">-4</span>-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">4.5.5-3.0</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>kubernetes<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.15</span><span style="color:#0000cf;font-weight:bold">.5</span><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>apache-httpcomponents-client<span style="color:#0000cf;font-weight:bold">-4</span>-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">4.5</span><span style="color:#0000cf;font-weight:bold">.5</span><span style="color:#0000cf;font-weight:bold">-3.0</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>cloudbees-folder<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">6.8</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1.19</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1</span><span style="color:#0000cf;font-weight:bold">.19</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>durable-task<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.29</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>jackson2-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.9.9</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>kubernetes-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.4.0</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>jackson2-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.9</span><span style="color:#0000cf;font-weight:bold">.9</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>kubernetes-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.4</span><span style="color:#0000cf;font-weight:bold">.0</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>plain-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.5</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>structs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.19</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>variant<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.2</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>workflow-step-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.19</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>workflow-aggregator<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.6</span><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>ace-editor<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1</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>apache-httpcomponents-client<span style="color:#0000cf;font-weight:bold">-4</span>-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">4.5.5-3.0</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>apache-httpcomponents-client<span style="color:#0000cf;font-weight:bold">-4</span>-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">4.5</span><span style="color:#0000cf;font-weight:bold">.5</span><span style="color:#0000cf;font-weight:bold">-3.0</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>authentication-tokens<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3</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>branch-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.5.2</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>branch-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.5</span><span style="color:#0000cf;font-weight:bold">.2</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>cloudbees-folder<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">6.8</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>credentials-binding<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.18</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1.19</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>display-url-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3.1</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1</span><span style="color:#0000cf;font-weight:bold">.19</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>display-url-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3</span><span style="color:#0000cf;font-weight:bold">.1</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>docker-commons<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.15</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>docker-workflow<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.18</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>durable-task<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.29</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>git-client<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.7.7</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>git-client<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.7</span><span style="color:#0000cf;font-weight:bold">.7</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>git-server<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.7</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>handlebars<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1.1</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>jackson2-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.9.9</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>jquery-detached<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.2.1</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>jsch<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.1.55</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>handlebars<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1</span><span style="color:#0000cf;font-weight:bold">.1</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>jackson2-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.9</span><span style="color:#0000cf;font-weight:bold">.9</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>jquery-detached<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.2</span><span style="color:#0000cf;font-weight:bold">.1</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>jsch<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.1</span><span style="color:#0000cf;font-weight:bold">.55</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>junit<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.28</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>lockable-resources<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.5</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>mailer<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.23</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>matrix-project<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.14</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>momentjs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1.1</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>momentjs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1</span><span style="color:#0000cf;font-weight:bold">.1</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>pipeline-build-step<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.9</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>pipeline-graph-analysis<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.10</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>pipeline-input-step<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.10</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>pipeline-milestone-step<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3.1</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>pipeline-model-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3.8</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>pipeline-model-declarative-agent<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1.1</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>pipeline-model-definition<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3.8</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>pipeline-model-extensions<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3.8</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>pipeline-milestone-step<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3</span><span style="color:#0000cf;font-weight:bold">.1</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>pipeline-model-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3</span><span style="color:#0000cf;font-weight:bold">.8</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>pipeline-model-declarative-agent<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.1</span><span style="color:#0000cf;font-weight:bold">.1</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>pipeline-model-definition<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3</span><span style="color:#0000cf;font-weight:bold">.8</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>pipeline-model-extensions<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3</span><span style="color:#0000cf;font-weight:bold">.8</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>pipeline-rest-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.11</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>pipeline-stage-step<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3</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>pipeline-stage-tags-metadata<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3.8</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>pipeline-stage-tags-metadata<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.3</span><span style="color:#0000cf;font-weight:bold">.8</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>pipeline-stage-view<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.11</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>plain-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.5</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>scm-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.4.1</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>scm-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.4</span><span style="color:#0000cf;font-weight:bold">.1</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>script-security<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.59</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>ssh-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16</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>structs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.19</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -844,7 +833,7 @@ Code that defines the data structures can be found <a href="v0.1.1/jenkins-v1alp | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>workflow-step-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.19</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>workflow-support<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">3.3</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>workflow-job<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.32</span><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>scm-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.4.1</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>scm-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.4</span><span style="color:#0000cf;font-weight:bold">.1</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>script-security<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.59</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>structs<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.19</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>workflow-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.34</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -863,11 +852,11 @@ Code that defines the data structures can be found <a href="v0.1.1/jenkins-v1alp | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>successThreshold<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>timeoutSeconds<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">5</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>plugins<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>simple-theme-plugin<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.5.1</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">[]</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>simple-theme-plugin<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">0.5</span><span style="color:#0000cf;font-weight:bold">.1</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>slack<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.24</span><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>workflow-step-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.19</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1.19</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>display-url-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3.1</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>credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.1</span><span style="color:#0000cf;font-weight:bold">.19</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>display-url-api<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">2.3</span><span style="color:#0000cf;font-weight:bold">.1</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>junit<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.28</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>plain-credentials<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.5</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>script-security<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.59</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -895,26 +884,24 @@ Code that defines the data structures can be found <a href="v0.1.1/jenkins-v1alp | |||
| </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"> | ||||
| </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><cr_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>basePlugins<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>kubernetes<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.15.7</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.15</span><span style="color:#0000cf;font-weight:bold">.7</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>workflow-job<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"2.32"</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>workflow-aggregator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"2.6"</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>git<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.10.0</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.10</span><span style="color:#0000cf;font-weight:bold">.0</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>job-dsl<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"1.74"</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>configuration-as-code<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"1.19"</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>configuration-as-code-support<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"1.19"</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>kubernetes-credentials-provider<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><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>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins/jenkins<span style="color:#000;font-weight:bold">:</span>lts<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -948,38 +935,29 @@ Code that defines the data structures can be found <a href="v0.1.1/jenkins-v1alp | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">          </span>memory<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>500Mi<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>plugins<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>simple-theme-plugin<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.5.1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.5</span><span style="color:#0000cf;font-weight:bold">.1</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>slack<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">2.24</span></code></pre></div> | ||||
| <h2 id="update-crd-to-a-new-version">Update CRD to a new version</h2> | ||||
| 
 | ||||
| <p>A new version of the Custom Resource Definition for the operator needs to be applied: | ||||
| -<a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/crds/jenkins_v1alpha2_jenkins_crd.yaml" target="_blank">Jenkins CRD v1alpha2</a></p> | ||||
| -<a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/crds/jenkins_v1alpha2_jenkins_crd.yaml">Jenkins CRD v1alpha2</a></p> | ||||
| 
 | ||||
| <p>To use the default CRD file:</p> | ||||
| 
 | ||||
| <pre><code>kubectl -n <namespace> apply -f https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/crds/jenkins_v1alpha2_jenkins_crd.yaml | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>kubectl -n <namespace> apply -f https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/crds/jenkins_v1alpha2_jenkins_crd.yaml</code></pre> | ||||
| <h2 id="update-rbac-to-a-new-version">Update RBAC to a new version</h2> | ||||
| 
 | ||||
| <p>A new operator version requires updated RBAC permissions:</p> | ||||
| 
 | ||||
| <p>To use the default Role file:</p> | ||||
| 
 | ||||
| <pre><code>$ kubectl -n <namespace> apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/deploy/role.yaml | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>$ kubectl -n <namespace> apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/deploy/role.yaml</code></pre> | ||||
| <h2 id="deploy-new-operator-manifests">Deploy new operator manifests</h2> | ||||
| 
 | ||||
| <p>Replace your modified operator configuration file:</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">$ kubectl -n <namespace> replace -f jenkins.yaml</code></pre></div> | ||||
| <p>Update operator version in the deployment file to <code>image: virtuslab/jenkins-operator:v0.1.0</code> and scale up, | ||||
| or use the default deployment manifest:</p> | ||||
| 
 | ||||
| <pre><code>$ kubectl -n <namespace> apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/deploy/operator.yaml | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>$ kubectl -n <namespace> apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/deploy/operator.yaml</code></pre> | ||||
| 	 | ||||
| 	 | ||||
| 	<div class="text-muted mt-5 pt-3 border-top">Last modified August 5, 2019 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Scheme"> | ||||
| <meta itemprop="description" content="API Schema definitions for Jenkins CR | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="2031"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Scheme"/> | ||||
| <meta name="twitter:description" content="API Schema definitions for Jenkins CR | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="AKS"> | ||||
| <meta itemprop="description" content="Additional configuration for Azure Kubernetes Service | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="47"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="AKS"/> | ||||
| <meta name="twitter:description" content="Additional configuration for Azure Kubernetes Service | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Configuration"> | ||||
| <meta itemprop="description" content="How to configure Jenkins with Operator | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="726"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Configuration"/> | ||||
| <meta name="twitter:description" content="How to configure Jenkins with Operator | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -681,22 +678,18 @@ | |||
| 
 | ||||
| <h2 id="configure-seed-jobs-and-pipelines">Configure Seed Jobs and Pipelines</h2> | ||||
| 
 | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin" target="_blank">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/" target="_blank">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| and deploy keys.</p> | ||||
| 
 | ||||
| <h2 id="prepare-job-definitions-and-pipelines">Prepare job definitions and pipelines</h2> | ||||
| 
 | ||||
| <p>First you have to prepare pipelines and job definition in your GitHub repository using the following structure:</p> | ||||
| 
 | ||||
| <pre><code>cicd/ | ||||
| ├── jobs | ||||
| │   └── build.jenkins | ||||
| └── pipelines | ||||
|     └── build.jenkins | ||||
| </code></pre> | ||||
| 
 | ||||
|     └── build.jenkins</code></pre> | ||||
| <p><strong><code>cicd/jobs/build.jenkins</code></strong> is a job definition:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| pipelineJob('build-jenkins-operator') { | ||||
|  | @ -716,17 +709,14 @@ pipelineJob('build-jenkins-operator') { | |||
|             scriptPath('cicd/pipelines/build.jenkins') | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <p><strong><code>cicd/pipelines/build.jenkins</code></strong> is an actual Jenkins pipeline:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| def label = "build-jenkins-operator-${UUID.randomUUID().toString()}" | ||||
| def home = "/home/jenkins" | ||||
| def workspace = "${home}/workspace/build-jenkins-operator" | ||||
| def workdir = "${workspace}/src/github.com/jenkinsci/kubernetes-operator/" | ||||
| def label = "build-jenkins-operator-${UUID.randomUUID().toString()}" | ||||
| def home = "/home/jenkins" | ||||
| def workspace = "${home}/workspace/build-jenkins-operator" | ||||
| def workdir = "${workspace}/src/github.com/jenkinsci/kubernetes-operator/" | ||||
| 
 | ||||
| podTemplate(label: label, | ||||
|         containers: [ | ||||
|  | @ -768,13 +758,10 @@ podTemplate(label: label, | |||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <h2 id="configure-seed-jobs">Configure Seed Jobs</h2> | ||||
| 
 | ||||
| <p>Jenkins Seed Jobs are configured using <code>Jenkins.spec.seedJobs</code> section from your custom resource manifest:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -782,12 +769,10 @@ metadata: | |||
| spec: | ||||
|   seedJobs: | ||||
|   - id: jenkins-operator | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p><strong>Jenkins Operator</strong> will automatically discover and configure all the seed jobs.</p> | ||||
| 
 | ||||
| <p>You can verify if deploy keys were successfully configured in the Jenkins <strong>Credentials</strong> tab.</p> | ||||
|  | @ -822,7 +807,6 @@ $ ssh-keygen -p -f <filename> -m pem</code></pre></div> | |||
| <h4 id="configure-ssh-authentication">Configure SSH authentication</h4> | ||||
| 
 | ||||
| <p>Configure a seed job like this:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -832,14 +816,11 @@ spec: | |||
|   - id: jenkins-operator-ssh | ||||
|     credentialType: basicSSHUserPrivateKey | ||||
|     credentialID: k8s-ssh | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: git@github.com:jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: git@github.com:jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|  | @ -850,13 +831,10 @@ stringData: | |||
|     MIIJKAIBAAKCAgEAxxDpleJjMCN5nusfW/AtBAZhx8UVVlhhhIKXvQ+dFODQIdzO | ||||
|     oDXybs1zVHWOj31zqbbJnsfsVZ9Uf3p9k6xpJ3WFY9b85WasqTDN1xmSd6swD4N8 | ||||
|     ... | ||||
|   username: github_user_name | ||||
| </code></pre> | ||||
| 
 | ||||
|   username: github_user_name</code></pre> | ||||
| <h3 id="username-password-authentication">Username & password authentication</h3> | ||||
| 
 | ||||
| <p>Configure the seed job like:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -866,23 +844,18 @@ spec: | |||
|   - id: jenkins-operator-user-pass | ||||
|     credentialType: usernamePassword | ||||
|     credentialID: k8s-user-pass | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|   name: k8s-user-pass | ||||
| stringData: | ||||
|   username: github_user_name | ||||
|   password: password_or_token | ||||
| </code></pre> | ||||
| 
 | ||||
|   password: password_or_token</code></pre> | ||||
| <h2 id="http-proxy-for-downloading-plugins">HTTP Proxy for downloading plugins</h2> | ||||
| 
 | ||||
| <p>To use forwarding proxy with an operator to download plugins you need to add the following environment variable to Jenkins Custom Resource (CR), e.g.:</p> | ||||
|  | @ -899,7 +872,7 @@ stringData: | |||
| 
 | ||||
| <p>To pull a Docker Image from private repository you can use <code>imagePullSecrets</code>.</p> | ||||
| 
 | ||||
| <p>Please follow the instructions on <a href="https://kubernetes.io/docs/concepts/containers/images/?origin_team=T42NTAGHM#creating-a-secret-with-a-docker-config" target="_blank">creating a secret with a docker config</a>.</p> | ||||
| <p>Please follow the instructions on <a href="https://kubernetes.io/docs/concepts/containers/images/?origin_team=T42NTAGHM#creating-a-secret-with-a-docker-config">creating a secret with a docker config</a>.</p> | ||||
| 
 | ||||
| <h3 id="docker-hub-configuration">Docker Hub Configuration</h3> | ||||
| 
 | ||||
|  | @ -912,61 +885,58 @@ stringData: | |||
| <p>After modifications, it needs to be encoded as a Base64 value before setting the <code>.dockerconfigjson</code> key.</p> | ||||
| 
 | ||||
| <p>Example config file to modify and use:</p> | ||||
| 
 | ||||
| <pre><code>{ | ||||
|     "auths":{ | ||||
|         "https://index.docker.io/v1/":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|     "auths":{ | ||||
|         "https://index.docker.io/v1/":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "auth.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "auth.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "registry.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "registry.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "https://registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "https://registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "https://registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "https://registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| 	 | ||||
| 	 | ||||
| 	<div class="text-muted mt-5 pt-3 border-top">Last modified August 5, 2019 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Configure backup and restore"> | ||||
| <meta itemprop="description" content="Prevent loss of job history | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="156"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Configure backup and restore"/> | ||||
| <meta name="twitter:description" content="Prevent loss of job history | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -681,7 +678,7 @@ | |||
| </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>PersistentVolumeClaim<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"> | ||||
| </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><pvc_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>accessModes<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>ReadWriteOnce<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -695,7 +692,7 @@ | |||
| </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"> | ||||
| </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><cr_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>securityContext<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -712,7 +709,7 @@ | |||
| </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>/jenkins-home<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>BACKUP_COUNT<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><span style="color:#4e9a06">"3"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># keep only the 2 most recent backups</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0</span><span style="color:#0000cf;font-weight:bold">.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>imagePullPolicy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IfNotPresent<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>volumeMounts<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>mountPath<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/jenkins-home<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># Jenkins home volume</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -723,7 +720,7 @@ | |||
| </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>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># PVC volume where backups will be stored</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>persistentVolumeClaim<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>claimName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><pvc_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>containerName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># container name is responsible for backup</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>action<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>exec<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Custom Backup and Restore Providers"> | ||||
| <meta itemprop="description" content="Custom backup and restore provider | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="511"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Custom Backup and Restore Providers"/> | ||||
| <meta name="twitter:description" content="Custom backup and restore provider | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -726,7 +723,7 @@ for backup and restore are required, e.g.:</p> | |||
| </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>...<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>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># container responsible for backup and restore</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>quay.io/virtuslab/aws-cli<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16.263-2</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>quay.io/virtuslab/aws-cli<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16</span><span style="color:#0000cf;font-weight:bold">.263</span><span style="color:#0000cf;font-weight:bold">-2</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>workingDir<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/home/user/bin/<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>command<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># our container entry point</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>sleep<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -789,11 +786,11 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>app<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins-operator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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>backup.sh<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>|<span style="color:#8f5902;font-style:italic">- | ||||
| </span><span style="color:#8f5902;font-style:italic">    #!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><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:#8f5902;font-style:italic"># -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_BUCKET}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_BUCKET' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_PATH}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_PATH' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${JENKINS_HOME}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'JENKINS_HOME' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">#!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><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:#8f5902;font-style:italic"># -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_BUCKET}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_BUCKET' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_PATH}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_PATH' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${JENKINS_HOME}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'JENKINS_HOME' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</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>backup_number=$<span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Running backup #${backup_number}"</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -805,11 +802,11 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span>Done<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">  </span>restore.sh<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>|<span style="color:#8f5902;font-style:italic">- | ||||
| </span><span style="color:#8f5902;font-style:italic">    #!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><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:#8f5902;font-style:italic"># -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_BUCKET}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_BUCKET' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_PATH}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_PATH' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${JENKINS_HOME}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'JENKINS_HOME' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">#!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><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:#8f5902;font-style:italic"># -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_BUCKET}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_BUCKET' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_PATH}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_PATH' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${JENKINS_HOME}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'JENKINS_HOME' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</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>backup_number=$<span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Running restore #${backup_number}"</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -821,7 +818,7 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span>Done</code></pre></div> | ||||
| <p>In our example we will use S3 bucket lifecycle policy to keep | ||||
| the number of backups under control, e.g. Cloud Formation fragment:</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"><span style="color:#f8f8f8;text-decoration:underline">    </span>Type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>AWS<span style="color:#000;font-weight:bold">::</span>S3<span style="color:#000;font-weight:bold">::</span>Bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| <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"><span style="color:#f8f8f8;text-decoration:underline">    </span>Type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>AWS<span style="color:#000;font-weight:bold">:</span><span style="color:#000;font-weight:bold">:</span>S3<span style="color:#000;font-weight:bold">:</span><span style="color:#000;font-weight:bold">:</span>Bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>Properties<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>BucketName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>my-example-bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>...<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Customization"> | ||||
| <meta itemprop="description" content="How to customize Jenkins | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="253"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Customization"/> | ||||
| <meta name="twitter:description" content="How to customize Jenkins | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -667,8 +664,8 @@ | |||
| 	<div class="lead">How to customize Jenkins</div> | ||||
| 	 | ||||
| 
 | ||||
| <p>Jenkins can be customized using groovy scripts or the <a href="https://github.com/jenkinsci/configuration-as-code-plugin" target="_blank">configuration as code plugin</a>. | ||||
| By using a <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/" target="_blank">ConfigMap</a> you can create your own <strong>Jenkins</strong> customized configuration. | ||||
| <p>Jenkins can be customized using groovy scripts or the <a href="https://github.com/jenkinsci/configuration-as-code-plugin">configuration as code plugin</a>. | ||||
| By using a <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/">ConfigMap</a> you can create your own <strong>Jenkins</strong> customized configuration. | ||||
| Then you must reference the <strong><code>ConfigMap</code></strong> in the <strong>Jenkins</strong> pod customization file in <code>spec.groovyScripts</code> or <code>spec.configurationAsCode</code></p> | ||||
| 
 | ||||
| <p>For example create a <strong><code>ConfigMap</code></strong> with name <code>jenkins-operator-user-configuration</code>. Then, modify the <strong>Jenkins</strong> manifest to look like this:</p> | ||||
|  | @ -690,7 +687,7 @@ Then you must reference the <strong><code>ConfigMap</code></strong> in the <stro | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-configure-theme.groovy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">|  | ||||
| </span><span style="color:#8f5902;font-style:italic">    import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -710,7 +707,7 @@ Then you must reference the <strong><code>ConfigMap</code></strong> in the <stro | |||
| </span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>jenkins.save()<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">  </span><span style="color:#0000cf;font-weight:bold">1</span>-system-message.yaml<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">| | ||||
| </span><span style="color:#8f5902;font-style:italic">    jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>systemMessage<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Configuration as Code integration works!!!"</span></code></pre></div> | ||||
| <ul> | ||||
| <li><code>*.groovy</code> is Groovy script configuration</li> | ||||
|  | @ -725,7 +722,7 @@ Jenkins will reconcile and apply the new configuration.</p> | |||
| <p>If you configured <code>spec.groovyScripts.secret.name</code>, then this secret is available to use from map Groovy scripts. | ||||
| The secrets are loaded to <code>secrets</code> map.</p> | ||||
| 
 | ||||
| <p>Create a <a href="https://kubernetes.io/docs/concepts/configuration/secret/" target="_blank">secret</a> with for example the name <code>jenkins-conf-secrets</code>.</p> | ||||
| <p>Create a <a href="https://kubernetes.io/docs/concepts/configuration/secret/">secret</a> with for example the name <code>jenkins-conf-secrets</code>.</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">kind<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Secret<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>apiVersion<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>v1<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Opaque<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -757,7 +754,7 @@ The secrets are loaded to <code>secrets</code> map.</p> | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-system-message.groovy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">|  | ||||
| </span><span style="color:#8f5902;font-style:italic">    import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -772,14 +769,13 @@ The secrets are loaded to <code>secrets</code> map.</p> | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-system-message.yaml<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">| | ||||
| </span><span style="color:#8f5902;font-style:italic">    jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>systemMessage<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>${SYSTEM_MESSAGE}</code></pre></div> | ||||
| <p>After this, you should see the <code>Hello world</code> system message from the <strong>Jenkins</strong> homepage.</p> | ||||
| 
 | ||||
| <h2 id="install-plugins">Install Plugins</h2> | ||||
| 
 | ||||
| <p>Edit Custom Resource under <code>spec.master.plugins</code>:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -788,9 +784,7 @@ spec: | |||
|   master: | ||||
|    plugins: | ||||
|    - name: simple-theme-plugin | ||||
|      version: 0.5.1 | ||||
| </code></pre> | ||||
| 
 | ||||
|      version: 0.5.1</code></pre> | ||||
| <p>Under <code>spec.master.basePlugins</code> you can find plugins for a valid <strong>Jenkins Operator</strong>:</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"> | ||||
|  | @ -800,19 +794,19 @@ spec: | |||
| </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>basePlugins<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>kubernetes<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18.3</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18</span><span style="color:#0000cf;font-weight:bold">.3</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>workflow-job<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"2.34"</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>workflow-aggregator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"2.6"</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>git<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12.0</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12</span><span style="color:#0000cf;font-weight:bold">.0</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>job-dsl<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"1.76"</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>configuration-as-code<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"1.29"</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>kubernetes-credentials-provider<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.1</span></code></pre></div> | ||||
| </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 their versions.</p> | ||||
| 
 | ||||
| <p>The <strong>Jenkins Operator</strong> will then automatically install plugins after the Jenkins master pod restarts.</p> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Deploy Jenkins"> | ||||
| <meta itemprop="description" content="Deploy production ready Jenkins Operator manifest | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="171"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Deploy Jenkins"/> | ||||
| <meta name="twitter:description" content="Deploy production ready Jenkins Operator manifest | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -705,7 +702,7 @@ kubectl get secret jenkins-operator-credentials-<cr_name> -o <span style=" | |||
| <p>Connect to the Jenkins instance (minikube):</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">minikube service jenkins-operator-http-<cr_name> --url</code></pre></div> | ||||
| <p>Connect to the Jenkins instance (actual Kubernetes cluster):</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">kubectl port-forward jenkins-<cr_name> <span style="color:#0000cf;font-weight:bold">8080</span>:8080</code></pre></div> | ||||
| <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">kubectl port-forward jenkins-<cr_name> 8080:8080</code></pre></div> | ||||
| <p>Then open browser with address <code>http://localhost:8080</code>. | ||||
| <img src="/img/jenkins.png" alt="jenkins" /></p> | ||||
| 
 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Diagnostics"> | ||||
| <meta itemprop="description" content="How to deal with Jenkins Operator problems | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="57"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Diagnostics"/> | ||||
| <meta name="twitter:description" content="How to deal with Jenkins Operator problems | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -26,13 +26,10 @@ | |||
| " /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.2.x/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2019-08-05T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="v0.2.x"> | ||||
| <meta itemprop="description" content="How to work with an older version of jenkins-operator. We recommend migration to a newer version. | ||||
| "> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| "><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="v0.2.x"/> | ||||
| <meta name="twitter:description" content="How to work with an older version of jenkins-operator. We recommend migration to a newer version. | ||||
| "/> | ||||
|  | @ -41,8 +38,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -83,7 +83,7 @@ kubectl get secret jenkins-operator-credentials-&lt;cr_name&gt; -o <s | |||
| <p>Connect to the Jenkins instance (minikube):</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">minikube service jenkins-operator-http-&lt;cr_name&gt; --url</code></pre></div> | ||||
| <p>Connect to the Jenkins instance (actual Kubernetes cluster):</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">kubectl port-forward jenkins-&lt;cr_name&gt; <span style="color:#0000cf;font-weight:bold">8080</span>:8080</code></pre></div> | ||||
| <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">kubectl port-forward jenkins-&lt;cr_name&gt; 8080:8080</code></pre></div> | ||||
| <p>Then open browser with address <code>http://localhost:8080</code>. | ||||
| <img src="https://jenkinsci.github.io/kubernetes-operator/img/jenkins.png" alt="jenkins" /></p> | ||||
| 
 | ||||
|  | @ -103,22 +103,18 @@ kubectl get secret jenkins-operator-credentials-&lt;cr_name&gt; -o <s | |||
| 
 | ||||
| <h2 id="configure-seed-jobs-and-pipelines">Configure Seed Jobs and Pipelines</h2> | ||||
| 
 | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin" target="_blank">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/" target="_blank">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| and deploy keys.</p> | ||||
| 
 | ||||
| <h2 id="prepare-job-definitions-and-pipelines">Prepare job definitions and pipelines</h2> | ||||
| 
 | ||||
| <p>First you have to prepare pipelines and job definition in your GitHub repository using the following structure:</p> | ||||
| 
 | ||||
| <pre><code>cicd/ | ||||
| ├── jobs | ||||
| │   └── build.jenkins | ||||
| └── pipelines | ||||
|     └── build.jenkins | ||||
| </code></pre> | ||||
| 
 | ||||
|     └── build.jenkins</code></pre> | ||||
| <p><strong><code>cicd/jobs/build.jenkins</code></strong> is a job definition:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| pipelineJob('build-jenkins-operator') { | ||||
|  | @ -138,17 +134,14 @@ pipelineJob('build-jenkins-operator') { | |||
|             scriptPath('cicd/pipelines/build.jenkins') | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <p><strong><code>cicd/pipelines/build.jenkins</code></strong> is an actual Jenkins pipeline:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| def label = &quot;build-jenkins-operator-${UUID.randomUUID().toString()}&quot; | ||||
| def home = &quot;/home/jenkins&quot; | ||||
| def workspace = &quot;${home}/workspace/build-jenkins-operator&quot; | ||||
| def workdir = &quot;${workspace}/src/github.com/jenkinsci/kubernetes-operator/&quot; | ||||
| def label = "build-jenkins-operator-${UUID.randomUUID().toString()}" | ||||
| def home = "/home/jenkins" | ||||
| def workspace = "${home}/workspace/build-jenkins-operator" | ||||
| def workdir = "${workspace}/src/github.com/jenkinsci/kubernetes-operator/" | ||||
| 
 | ||||
| podTemplate(label: label, | ||||
|         containers: [ | ||||
|  | @ -190,13 +183,10 @@ podTemplate(label: label, | |||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <h2 id="configure-seed-jobs">Configure Seed Jobs</h2> | ||||
| 
 | ||||
| <p>Jenkins Seed Jobs are configured using <code>Jenkins.spec.seedJobs</code> section from your custom resource manifest:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -204,12 +194,10 @@ metadata: | |||
| spec: | ||||
|   seedJobs: | ||||
|   - id: jenkins-operator | ||||
|     targets: &quot;cicd/jobs/*.jenkins&quot; | ||||
|     description: &quot;Jenkins Operator repository&quot; | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p><strong>Jenkins Operator</strong> will automatically discover and configure all the seed jobs.</p> | ||||
| 
 | ||||
| <p>You can verify if deploy keys were successfully configured in the Jenkins <strong>Credentials</strong> tab.</p> | ||||
|  | @ -244,7 +232,6 @@ $ ssh-keygen -p -f &lt;filename&gt; -m pem</code></pre></ | |||
| <h4 id="configure-ssh-authentication">Configure SSH authentication</h4> | ||||
| 
 | ||||
| <p>Configure a seed job like this:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -254,14 +241,11 @@ spec: | |||
|   - id: jenkins-operator-ssh | ||||
|     credentialType: basicSSHUserPrivateKey | ||||
|     credentialID: k8s-ssh | ||||
|     targets: &quot;cicd/jobs/*.jenkins&quot; | ||||
|     description: &quot;Jenkins Operator repository&quot; | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: git@github.com:jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: git@github.com:jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|  | @ -272,13 +256,10 @@ stringData: | |||
|     MIIJKAIBAAKCAgEAxxDpleJjMCN5nusfW/AtBAZhx8UVVlhhhIKXvQ+dFODQIdzO | ||||
|     oDXybs1zVHWOj31zqbbJnsfsVZ9Uf3p9k6xpJ3WFY9b85WasqTDN1xmSd6swD4N8 | ||||
|     ... | ||||
|   username: github_user_name | ||||
| </code></pre> | ||||
| 
 | ||||
|   username: github_user_name</code></pre> | ||||
| <h3 id="username-password-authentication">Username &amp; password authentication</h3> | ||||
| 
 | ||||
| <p>Configure the seed job like:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -288,23 +269,18 @@ spec: | |||
|   - id: jenkins-operator-user-pass | ||||
|     credentialType: usernamePassword | ||||
|     credentialID: k8s-user-pass | ||||
|     targets: &quot;cicd/jobs/*.jenkins&quot; | ||||
|     description: &quot;Jenkins Operator repository&quot; | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|   name: k8s-user-pass | ||||
| stringData: | ||||
|   username: github_user_name | ||||
|   password: password_or_token | ||||
| </code></pre> | ||||
| 
 | ||||
|   password: password_or_token</code></pre> | ||||
| <h2 id="http-proxy-for-downloading-plugins">HTTP Proxy for downloading plugins</h2> | ||||
| 
 | ||||
| <p>To use forwarding proxy with an operator to download plugins you need to add the following environment variable to Jenkins Custom Resource (CR), e.g.:</p> | ||||
|  | @ -321,7 +297,7 @@ stringData: | |||
| 
 | ||||
| <p>To pull a Docker Image from private repository you can use <code>imagePullSecrets</code>.</p> | ||||
| 
 | ||||
| <p>Please follow the instructions on <a href="https://kubernetes.io/docs/concepts/containers/images/?origin_team=T42NTAGHM#creating-a-secret-with-a-docker-config" target="_blank">creating a secret with a docker config</a>.</p> | ||||
| <p>Please follow the instructions on <a href="https://kubernetes.io/docs/concepts/containers/images/?origin_team=T42NTAGHM#creating-a-secret-with-a-docker-config">creating a secret with a docker config</a>.</p> | ||||
| 
 | ||||
| <h3 id="docker-hub-configuration">Docker Hub Configuration</h3> | ||||
| 
 | ||||
|  | @ -334,61 +310,58 @@ stringData: | |||
| <p>After modifications, it needs to be encoded as a Base64 value before setting the <code>.dockerconfigjson</code> key.</p> | ||||
| 
 | ||||
| <p>Example config file to modify and use:</p> | ||||
| 
 | ||||
| <pre><code>{ | ||||
|     &quot;auths&quot;:{ | ||||
|         &quot;https://index.docker.io/v1/&quot;:{ | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|     "auths":{ | ||||
|         "https://index.docker.io/v1/":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;auth.docker.io&quot;:{ | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "auth.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;registry.docker.io&quot;:{ | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "registry.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;docker.io&quot;:{ | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;https://registry-1.docker.io/v2/&quot;: { | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "https://registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;registry-1.docker.io/v2/&quot;: { | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;registry-1.docker.io&quot;: { | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;https://registry-1.docker.io&quot;: { | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "https://registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
|       </description> | ||||
|     </item> | ||||
|      | ||||
|  | @ -403,8 +376,8 @@ stringData: | |||
|          | ||||
|          | ||||
| 
 | ||||
| <p>Jenkins can be customized using groovy scripts or the <a href="https://github.com/jenkinsci/configuration-as-code-plugin" target="_blank">configuration as code plugin</a>. | ||||
| By using a <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/" target="_blank">ConfigMap</a> you can create your own <strong>Jenkins</strong> customized configuration. | ||||
| <p>Jenkins can be customized using groovy scripts or the <a href="https://github.com/jenkinsci/configuration-as-code-plugin">configuration as code plugin</a>. | ||||
| By using a <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/">ConfigMap</a> you can create your own <strong>Jenkins</strong> customized configuration. | ||||
| Then you must reference the <strong><code>ConfigMap</code></strong> in the <strong>Jenkins</strong> pod customization file in <code>spec.groovyScripts</code> or <code>spec.configurationAsCode</code></p> | ||||
| 
 | ||||
| <p>For example create a <strong><code>ConfigMap</code></strong> with name <code>jenkins-operator-user-configuration</code>. Then, modify the <strong>Jenkins</strong> manifest to look like this:</p> | ||||
|  | @ -426,7 +399,7 @@ Then you must reference the <strong><code>ConfigMap</code>< | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-configure-theme.groovy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">|  | ||||
| </span><span style="color:#8f5902;font-style:italic">    import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -446,7 +419,7 @@ Then you must reference the <strong><code>ConfigMap</code>< | |||
| </span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>jenkins.save()<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">  </span><span style="color:#0000cf;font-weight:bold">1</span>-system-message.yaml<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">| | ||||
| </span><span style="color:#8f5902;font-style:italic">    jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>systemMessage<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Configuration as Code integration works!!!&#34;</span></code></pre></div> | ||||
| <ul> | ||||
| <li><code>*.groovy</code> is Groovy script configuration</li> | ||||
|  | @ -461,7 +434,7 @@ Jenkins will reconcile and apply the new configuration.</p> | |||
| <p>If you configured <code>spec.groovyScripts.secret.name</code>, then this secret is available to use from map Groovy scripts. | ||||
| The secrets are loaded to <code>secrets</code> map.</p> | ||||
| 
 | ||||
| <p>Create a <a href="https://kubernetes.io/docs/concepts/configuration/secret/" target="_blank">secret</a> with for example the name <code>jenkins-conf-secrets</code>.</p> | ||||
| <p>Create a <a href="https://kubernetes.io/docs/concepts/configuration/secret/">secret</a> with for example the name <code>jenkins-conf-secrets</code>.</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">kind<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Secret<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>apiVersion<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>v1<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Opaque<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -493,7 +466,7 @@ The secrets are loaded to <code>secrets</code> map.</p> | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-system-message.groovy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">|  | ||||
| </span><span style="color:#8f5902;font-style:italic">    import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -508,14 +481,13 @@ The secrets are loaded to <code>secrets</code> map.</p> | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-system-message.yaml<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">| | ||||
| </span><span style="color:#8f5902;font-style:italic">    jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>systemMessage<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>${SYSTEM_MESSAGE}</code></pre></div> | ||||
| <p>After this, you should see the <code>Hello world</code> system message from the <strong>Jenkins</strong> homepage.</p> | ||||
| 
 | ||||
| <h2 id="install-plugins">Install Plugins</h2> | ||||
| 
 | ||||
| <p>Edit Custom Resource under <code>spec.master.plugins</code>:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -524,9 +496,7 @@ spec: | |||
|   master: | ||||
|    plugins: | ||||
|    - name: simple-theme-plugin | ||||
|      version: 0.5.1 | ||||
| </code></pre> | ||||
| 
 | ||||
|      version: 0.5.1</code></pre> | ||||
| <p>Under <code>spec.master.basePlugins</code> you can find plugins for a valid <strong>Jenkins Operator</strong>:</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"> | ||||
|  | @ -536,19 +506,19 @@ spec: | |||
| </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>basePlugins<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>kubernetes<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18.3</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18</span><span style="color:#0000cf;font-weight:bold">.3</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>workflow-job<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;2.34&#34;</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>workflow-aggregator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;2.6&#34;</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>git<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12.0</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12</span><span style="color:#0000cf;font-weight:bold">.0</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>job-dsl<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;1.76&#34;</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>configuration-as-code<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;1.29&#34;</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>kubernetes-credentials-provider<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.1</span></code></pre></div> | ||||
| </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 their versions.</p> | ||||
| 
 | ||||
| <p>The <strong>Jenkins Operator</strong> will then automatically install plugins after the Jenkins master pod restarts.</p> | ||||
|  | @ -602,7 +572,7 @@ restart of a Jenkins pod over and over again.</p> | |||
| </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>PersistentVolumeClaim<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"> | ||||
| </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>&lt;pvc_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>accessModes<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>ReadWriteOnce<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -616,7 +586,7 @@ restart of a Jenkins pod over and over again.</p> | |||
| </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"> | ||||
| </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>&lt;cr_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>securityContext<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -633,7 +603,7 @@ restart of a Jenkins pod over and over again.</p> | |||
| </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>/jenkins-home<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>BACKUP_COUNT<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><span style="color:#4e9a06">&#34;3&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># keep only the 2 most recent backups</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0</span><span style="color:#0000cf;font-weight:bold">.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>imagePullPolicy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IfNotPresent<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>volumeMounts<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>mountPath<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/jenkins-home<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># Jenkins home volume</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -644,7 +614,7 @@ restart of a Jenkins pod over and over again.</p> | |||
| </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>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># PVC volume where backups will be stored</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>persistentVolumeClaim<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>claimName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;pvc_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>containerName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># container name is responsible for backup</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>action<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>exec<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -734,7 +704,7 @@ for backup and restore are required, e.g.:</p> | |||
| </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>...<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>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># container responsible for backup and restore</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>quay.io/virtuslab/aws-cli<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16.263-2</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>quay.io/virtuslab/aws-cli<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16</span><span style="color:#0000cf;font-weight:bold">.263</span><span style="color:#0000cf;font-weight:bold">-2</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>workingDir<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/home/user/bin/<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>command<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># our container entry point</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>sleep<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -797,11 +767,11 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>app<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins-operator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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>backup.sh<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>|<span style="color:#8f5902;font-style:italic">- | ||||
| </span><span style="color:#8f5902;font-style:italic">    #!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><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:#8f5902;font-style:italic"># -eq 1 ]] &amp;&amp; echo &#34;Usage: $0 backup_number&#34; &amp;&amp; exit 1;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_BUCKET}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_BUCKET&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_PATH}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_PATH&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${JENKINS_HOME}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;JENKINS_HOME&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">#!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><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:#8f5902;font-style:italic"># -eq 1 ]] &amp;&amp; echo &#34;Usage: $0 backup_number&#34; &amp;&amp; exit 1;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_BUCKET}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_BUCKET&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_PATH}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_PATH&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${JENKINS_HOME}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;JENKINS_HOME&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</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>backup_number=$<span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Running backup #${backup_number}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -813,11 +783,11 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span>Done<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">  </span>restore.sh<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>|<span style="color:#8f5902;font-style:italic">- | ||||
| </span><span style="color:#8f5902;font-style:italic">    #!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><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:#8f5902;font-style:italic"># -eq 1 ]] &amp;&amp; echo &#34;Usage: $0 backup_number&#34; &amp;&amp; exit 1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_BUCKET}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_BUCKET&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_PATH}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_PATH&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${JENKINS_HOME}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;JENKINS_HOME&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">#!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><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:#8f5902;font-style:italic"># -eq 1 ]] &amp;&amp; echo &#34;Usage: $0 backup_number&#34; &amp;&amp; exit 1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_BUCKET}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_BUCKET&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_PATH}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_PATH&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${JENKINS_HOME}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;JENKINS_HOME&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</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>backup_number=$<span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Running restore #${backup_number}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -829,7 +799,7 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span>Done</code></pre></div> | ||||
| <p>In our example we will use S3 bucket lifecycle policy to keep | ||||
| the number of backups under control, e.g. Cloud Formation fragment:</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"><span style="color:#f8f8f8;text-decoration:underline">    </span>Type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>AWS<span style="color:#000;font-weight:bold">::</span>S3<span style="color:#000;font-weight:bold">::</span>Bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| <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"><span style="color:#f8f8f8;text-decoration:underline">    </span>Type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>AWS<span style="color:#000;font-weight:bold">:</span><span style="color:#000;font-weight:bold">:</span>S3<span style="color:#000;font-weight:bold">:</span><span style="color:#000;font-weight:bold">:</span>Bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>Properties<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>BucketName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>my-example-bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>...<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -897,14 +867,14 @@ and add explicit references to the existing <code>ConfigMap</code> a | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">  </span>configurationAsCode<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>configurations<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-operator-user-configuration-&lt;cr_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">    secret:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">secret:</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-operator-user-configuration-&lt;cr_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  groovyScripts:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">groovyScripts:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>configurations<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-operator-user-configuration-&lt;cr_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">    secret:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">secret:</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-operator-user-configuration-&lt;cr_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  ...</span></code></pre></div> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">...</span></code></pre></div> | ||||
|       </description> | ||||
|     </item> | ||||
|      | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Migration from v0.1.x"> | ||||
| <meta itemprop="description" content="How to migrate from v0.1.x to v0.2.x | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="234"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Migration from v0.1.x"/> | ||||
| <meta name="twitter:description" content="How to migrate from v0.1.x to v0.2.x | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -713,14 +710,14 @@ and add explicit references to the existing <code>ConfigMap</code> and <code>Sec | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">  </span>configurationAsCode<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>configurations<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-operator-user-configuration-<cr_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">    secret:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">secret:</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-operator-user-configuration-<cr_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  groovyScripts:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">groovyScripts:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>configurations<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-operator-user-configuration-<cr_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">    secret:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">secret:</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-operator-user-configuration-<cr_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  ...</span></code></pre></div> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">...</span></code></pre></div> | ||||
| 	 | ||||
| 	 | ||||
| 	<div class="text-muted mt-5 pt-3 border-top">Last modified August 5, 2019 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Schema"> | ||||
| <meta itemprop="description" content="API Schema definitions for Jenkins CRD | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="2438"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Schema"/> | ||||
| <meta name="twitter:description" content="API Schema definitions for Jenkins CRD | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="AKS"> | ||||
| <meta itemprop="description" content="Additional configuration for Azure Kubernetes Service | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="47"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="AKS"/> | ||||
| <meta name="twitter:description" content="Additional configuration for Azure Kubernetes Service | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Configuration"> | ||||
| <meta itemprop="description" content="How to configure Jenkins with Operator | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="726"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Configuration"/> | ||||
| <meta name="twitter:description" content="How to configure Jenkins with Operator | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -681,22 +678,18 @@ | |||
| 
 | ||||
| <h2 id="configure-seed-jobs-and-pipelines">Configure Seed Jobs and Pipelines</h2> | ||||
| 
 | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin" target="_blank">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/" target="_blank">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| and deploy keys.</p> | ||||
| 
 | ||||
| <h2 id="prepare-job-definitions-and-pipelines">Prepare job definitions and pipelines</h2> | ||||
| 
 | ||||
| <p>First you have to prepare pipelines and job definition in your GitHub repository using the following structure:</p> | ||||
| 
 | ||||
| <pre><code>cicd/ | ||||
| ├── jobs | ||||
| │   └── build.jenkins | ||||
| └── pipelines | ||||
|     └── build.jenkins | ||||
| </code></pre> | ||||
| 
 | ||||
|     └── build.jenkins</code></pre> | ||||
| <p><strong><code>cicd/jobs/build.jenkins</code></strong> is a job definition:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| pipelineJob('build-jenkins-operator') { | ||||
|  | @ -716,17 +709,14 @@ pipelineJob('build-jenkins-operator') { | |||
|             scriptPath('cicd/pipelines/build.jenkins') | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <p><strong><code>cicd/pipelines/build.jenkins</code></strong> is an actual Jenkins pipeline:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| def label = "build-jenkins-operator-${UUID.randomUUID().toString()}" | ||||
| def home = "/home/jenkins" | ||||
| def workspace = "${home}/workspace/build-jenkins-operator" | ||||
| def workdir = "${workspace}/src/github.com/jenkinsci/kubernetes-operator/" | ||||
| def label = "build-jenkins-operator-${UUID.randomUUID().toString()}" | ||||
| def home = "/home/jenkins" | ||||
| def workspace = "${home}/workspace/build-jenkins-operator" | ||||
| def workdir = "${workspace}/src/github.com/jenkinsci/kubernetes-operator/" | ||||
| 
 | ||||
| podTemplate(label: label, | ||||
|         containers: [ | ||||
|  | @ -768,13 +758,10 @@ podTemplate(label: label, | |||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <h2 id="configure-seed-jobs">Configure Seed Jobs</h2> | ||||
| 
 | ||||
| <p>Jenkins Seed Jobs are configured using <code>Jenkins.spec.seedJobs</code> section from your custom resource manifest:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -782,12 +769,10 @@ metadata: | |||
| spec: | ||||
|   seedJobs: | ||||
|   - id: jenkins-operator | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p><strong>Jenkins Operator</strong> will automatically discover and configure all the seed jobs.</p> | ||||
| 
 | ||||
| <p>You can verify if deploy keys were successfully configured in the Jenkins <strong>Credentials</strong> tab.</p> | ||||
|  | @ -822,7 +807,6 @@ $ ssh-keygen -p -f <filename> -m pem</code></pre></div> | |||
| <h4 id="configure-ssh-authentication">Configure SSH authentication</h4> | ||||
| 
 | ||||
| <p>Configure a seed job like this:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -832,14 +816,11 @@ spec: | |||
|   - id: jenkins-operator-ssh | ||||
|     credentialType: basicSSHUserPrivateKey | ||||
|     credentialID: k8s-ssh | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: ssh://git@github.com:jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: ssh://git@github.com:jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|  | @ -850,13 +831,10 @@ stringData: | |||
|     MIIJKAIBAAKCAgEAxxDpleJjMCN5nusfW/AtBAZhx8UVVlhhhIKXvQ+dFODQIdzO | ||||
|     oDXybs1zVHWOj31zqbbJnsfsVZ9Uf3p9k6xpJ3WFY9b85WasqTDN1xmSd6swD4N8 | ||||
|     ... | ||||
|   username: github_user_name | ||||
| </code></pre> | ||||
| 
 | ||||
|   username: github_user_name</code></pre> | ||||
| <h3 id="username-password-authentication">Username & password authentication</h3> | ||||
| 
 | ||||
| <p>Configure the seed job like:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -866,23 +844,18 @@ spec: | |||
|   - id: jenkins-operator-user-pass | ||||
|     credentialType: usernamePassword | ||||
|     credentialID: k8s-user-pass | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|   name: k8s-user-pass | ||||
| stringData: | ||||
|   username: github_user_name | ||||
|   password: password_or_token | ||||
| </code></pre> | ||||
| 
 | ||||
|   password: password_or_token</code></pre> | ||||
| <h2 id="http-proxy-for-downloading-plugins">HTTP Proxy for downloading plugins</h2> | ||||
| 
 | ||||
| <p>To use forwarding proxy with an operator to download plugins you need to add the following environment variable to Jenkins Custom Resource (CR), e.g.:</p> | ||||
|  | @ -899,7 +872,7 @@ stringData: | |||
| 
 | ||||
| <p>To pull a Docker Image from private repository you can use <code>imagePullSecrets</code>.</p> | ||||
| 
 | ||||
| <p>Please follow the instructions on <a href="https://kubernetes.io/docs/concepts/containers/images/?origin_team=T42NTAGHM#creating-a-secret-with-a-docker-config" target="_blank">creating a secret with a docker config</a>.</p> | ||||
| <p>Please follow the instructions on <a href="https://kubernetes.io/docs/concepts/containers/images/?origin_team=T42NTAGHM#creating-a-secret-with-a-docker-config">creating a secret with a docker config</a>.</p> | ||||
| 
 | ||||
| <h3 id="docker-hub-configuration">Docker Hub Configuration</h3> | ||||
| 
 | ||||
|  | @ -912,61 +885,58 @@ stringData: | |||
| <p>After modifications, it needs to be encoded as a Base64 value before setting the <code>.dockerconfigjson</code> key.</p> | ||||
| 
 | ||||
| <p>Example config file to modify and use:</p> | ||||
| 
 | ||||
| <pre><code>{ | ||||
|     "auths":{ | ||||
|         "https://index.docker.io/v1/":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|     "auths":{ | ||||
|         "https://index.docker.io/v1/":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "auth.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "auth.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "registry.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "registry.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "https://registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "https://registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         "https://registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         "https://registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| 	 | ||||
| 	 | ||||
| 	<div class="text-muted mt-5 pt-3 border-top">Last modified December 20, 2019 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Configure backup and restore"> | ||||
| <meta itemprop="description" content="Prevent loss of job history | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="156"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Configure backup and restore"/> | ||||
| <meta name="twitter:description" content="Prevent loss of job history | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -681,7 +678,7 @@ | |||
| </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>PersistentVolumeClaim<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"> | ||||
| </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><pvc_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>accessModes<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>ReadWriteOnce<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -695,7 +692,7 @@ | |||
| </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"> | ||||
| </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><cr_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: <namespace></span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>securityContext<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -712,7 +709,7 @@ | |||
| </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>/jenkins-home<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>BACKUP_COUNT<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><span style="color:#4e9a06">"3"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># keep only the 2 most recent backups</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0</span><span style="color:#0000cf;font-weight:bold">.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>imagePullPolicy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IfNotPresent<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>volumeMounts<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>mountPath<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/jenkins-home<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># Jenkins home volume</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -723,7 +720,7 @@ | |||
| </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>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># PVC volume where backups will be stored</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>persistentVolumeClaim<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>claimName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><pvc_name<span style="color:#8f5902;font-style:italic">> | ||||
| </span><span style="color:#8f5902;font-style:italic">  backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>containerName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># container name is responsible for backup</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>action<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>exec<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Custom Backup and Restore Providers"> | ||||
| <meta itemprop="description" content="Custom backup and restore provider | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="511"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Custom Backup and Restore Providers"/> | ||||
| <meta name="twitter:description" content="Custom backup and restore provider | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -726,7 +723,7 @@ for backup and restore are required, e.g.:</p> | |||
| </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>...<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>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># container responsible for backup and restore</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>quay.io/virtuslab/aws-cli<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16.263-2</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>quay.io/virtuslab/aws-cli<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16</span><span style="color:#0000cf;font-weight:bold">.263</span><span style="color:#0000cf;font-weight:bold">-2</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>workingDir<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/home/user/bin/<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>command<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># our container entry point</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>sleep<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -789,11 +786,11 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>app<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins-operator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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>backup.sh<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>|<span style="color:#8f5902;font-style:italic">- | ||||
| </span><span style="color:#8f5902;font-style:italic">    #!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><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:#8f5902;font-style:italic"># -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_BUCKET}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_BUCKET' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_PATH}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_PATH' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${JENKINS_HOME}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'JENKINS_HOME' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">#!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><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:#8f5902;font-style:italic"># -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_BUCKET}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_BUCKET' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_PATH}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_PATH' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${JENKINS_HOME}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'JENKINS_HOME' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</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>backup_number=$<span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Running backup #${backup_number}"</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -805,11 +802,11 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span>Done<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">  </span>restore.sh<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>|<span style="color:#8f5902;font-style:italic">- | ||||
| </span><span style="color:#8f5902;font-style:italic">    #!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><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:#8f5902;font-style:italic"># -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_BUCKET}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_BUCKET' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_PATH}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_PATH' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${JENKINS_HOME}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'JENKINS_HOME' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">#!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><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:#8f5902;font-style:italic"># -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_BUCKET}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_BUCKET' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${BACKUP_PATH}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'BACKUP_PATH' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"${JENKINS_HOME}"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Required 'JENKINS_HOME' env not set"</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&&</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</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>backup_number=$<span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Running restore #${backup_number}"</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -821,7 +818,7 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span>Done</code></pre></div> | ||||
| <p>In our example we will use S3 bucket lifecycle policy to keep | ||||
| the number of backups under control, e.g. Cloud Formation fragment:</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"><span style="color:#f8f8f8;text-decoration:underline">    </span>Type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>AWS<span style="color:#000;font-weight:bold">::</span>S3<span style="color:#000;font-weight:bold">::</span>Bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| <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"><span style="color:#f8f8f8;text-decoration:underline">    </span>Type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>AWS<span style="color:#000;font-weight:bold">:</span><span style="color:#000;font-weight:bold">:</span>S3<span style="color:#000;font-weight:bold">:</span><span style="color:#000;font-weight:bold">:</span>Bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>Properties<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>BucketName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>my-example-bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>...<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Customization"> | ||||
| <meta itemprop="description" content="How to customize Jenkins | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="253"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Customization"/> | ||||
| <meta name="twitter:description" content="How to customize Jenkins | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -667,8 +664,8 @@ | |||
| 	<div class="lead">How to customize Jenkins</div> | ||||
| 	 | ||||
| 
 | ||||
| <p>Jenkins can be customized using groovy scripts or the <a href="https://github.com/jenkinsci/configuration-as-code-plugin" target="_blank">configuration as code plugin</a>. | ||||
| By using a <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/" target="_blank">ConfigMap</a> you can create your own <strong>Jenkins</strong> customized configuration. | ||||
| <p>Jenkins can be customized using groovy scripts or the <a href="https://github.com/jenkinsci/configuration-as-code-plugin">configuration as code plugin</a>. | ||||
| By using a <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/">ConfigMap</a> you can create your own <strong>Jenkins</strong> customized configuration. | ||||
| Then you must reference the <strong><code>ConfigMap</code></strong> in the <strong>Jenkins</strong> pod customization file in <code>spec.groovyScripts</code> or <code>spec.configurationAsCode</code></p> | ||||
| 
 | ||||
| <p>For example create a <strong><code>ConfigMap</code></strong> with name <code>jenkins-operator-user-configuration</code>. Then, modify the <strong>Jenkins</strong> manifest to look like this:</p> | ||||
|  | @ -690,7 +687,7 @@ Then you must reference the <strong><code>ConfigMap</code></strong> in the <stro | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-configure-theme.groovy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">|  | ||||
| </span><span style="color:#8f5902;font-style:italic">    import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -710,7 +707,7 @@ Then you must reference the <strong><code>ConfigMap</code></strong> in the <stro | |||
| </span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>jenkins.save()<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">  </span><span style="color:#0000cf;font-weight:bold">1</span>-system-message.yaml<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">| | ||||
| </span><span style="color:#8f5902;font-style:italic">    jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>systemMessage<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"Configuration as Code integration works!!!"</span></code></pre></div> | ||||
| <ul> | ||||
| <li><code>*.groovy</code> is Groovy script configuration</li> | ||||
|  | @ -725,7 +722,7 @@ Jenkins will reconcile and apply the new configuration.</p> | |||
| <p>If you configured <code>spec.groovyScripts.secret.name</code>, then this secret is available to use from map Groovy scripts. | ||||
| The secrets are loaded to <code>secrets</code> map.</p> | ||||
| 
 | ||||
| <p>Create a <a href="https://kubernetes.io/docs/concepts/configuration/secret/" target="_blank">secret</a> with for example the name <code>jenkins-conf-secrets</code>.</p> | ||||
| <p>Create a <a href="https://kubernetes.io/docs/concepts/configuration/secret/">secret</a> with for example the name <code>jenkins-conf-secrets</code>.</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">kind<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Secret<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>apiVersion<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>v1<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Opaque<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -757,7 +754,7 @@ The secrets are loaded to <code>secrets</code> map.</p> | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-system-message.groovy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">|  | ||||
| </span><span style="color:#8f5902;font-style:italic">    import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -772,14 +769,13 @@ The secrets are loaded to <code>secrets</code> map.</p> | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-system-message.yaml<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">| | ||||
| </span><span style="color:#8f5902;font-style:italic">    jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>systemMessage<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>${SYSTEM_MESSAGE}</code></pre></div> | ||||
| <p>After this, you should see the <code>Hello world</code> system message from the <strong>Jenkins</strong> homepage.</p> | ||||
| 
 | ||||
| <h2 id="install-plugins">Install Plugins</h2> | ||||
| 
 | ||||
| <p>Edit Custom Resource under <code>spec.master.plugins</code>:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -788,9 +784,7 @@ spec: | |||
|   master: | ||||
|    plugins: | ||||
|    - name: simple-theme-plugin | ||||
|      version: 0.5.1 | ||||
| </code></pre> | ||||
| 
 | ||||
|      version: 0.5.1</code></pre> | ||||
| <p>Under <code>spec.master.basePlugins</code> you can find plugins for a valid <strong>Jenkins Operator</strong>:</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"> | ||||
|  | @ -800,19 +794,19 @@ spec: | |||
| </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>basePlugins<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>kubernetes<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18.3</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18</span><span style="color:#0000cf;font-weight:bold">.3</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>workflow-job<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"2.34"</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>workflow-aggregator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"2.6"</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>git<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12.0</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12</span><span style="color:#0000cf;font-weight:bold">.0</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>job-dsl<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"1.76"</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>configuration-as-code<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">"1.29"</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>kubernetes-credentials-provider<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.1</span></code></pre></div> | ||||
| </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 their versions.</p> | ||||
| 
 | ||||
| <p>The <strong>Jenkins Operator</strong> will then automatically install plugins after the Jenkins master pod restarts.</p> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Deploy Jenkins"> | ||||
| <meta itemprop="description" content="Deploy production ready Jenkins Operator manifest | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="171"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Deploy Jenkins"/> | ||||
| <meta name="twitter:description" content="Deploy production ready Jenkins Operator manifest | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -705,7 +702,7 @@ kubectl get secret jenkins-operator-credentials-<cr_name> -o <span style=" | |||
| <p>Connect to the Jenkins instance (minikube):</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">minikube service jenkins-operator-http-<cr_name> --url</code></pre></div> | ||||
| <p>Connect to the Jenkins instance (actual Kubernetes cluster):</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">kubectl port-forward jenkins-<cr_name> <span style="color:#0000cf;font-weight:bold">8080</span>:8080</code></pre></div> | ||||
| <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">kubectl port-forward jenkins-<cr_name> 8080:8080</code></pre></div> | ||||
| <p>Then open browser with address <code>http://localhost:8080</code>.</p> | ||||
| 
 | ||||
| <p><img src="/kubernetes-operator/img/jenkins.png" alt="jenkins" /></p> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Diagnostics"> | ||||
| <meta itemprop="description" content="How to deal with Jenkins Operator problems | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="57"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Diagnostics"/> | ||||
| <meta name="twitter:description" content="How to deal with Jenkins Operator problems | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -26,13 +26,10 @@ | |||
| " /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.3.x/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2019-12-20T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="v0.3.x"> | ||||
| <meta itemprop="description" content="How to work with an older version of jenkins-operator. We recommend migration to a newer version. | ||||
| "> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| "><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="v0.3.x"/> | ||||
| <meta name="twitter:description" content="How to work with an older version of jenkins-operator. We recommend migration to a newer version. | ||||
| "/> | ||||
|  | @ -41,8 +38,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -83,7 +83,7 @@ kubectl get secret jenkins-operator-credentials-&lt;cr_name&gt; -o <s | |||
| <p>Connect to the Jenkins instance (minikube):</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">minikube service jenkins-operator-http-&lt;cr_name&gt; --url</code></pre></div> | ||||
| <p>Connect to the Jenkins instance (actual Kubernetes cluster):</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">kubectl port-forward jenkins-&lt;cr_name&gt; <span style="color:#0000cf;font-weight:bold">8080</span>:8080</code></pre></div> | ||||
| <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">kubectl port-forward jenkins-&lt;cr_name&gt; 8080:8080</code></pre></div> | ||||
| <p>Then open browser with address <code>http://localhost:8080</code>.</p> | ||||
| 
 | ||||
| <p><img src="https://jenkinsci.github.io/kubernetes-operator/kubernetes-operator/img/jenkins.png" alt="jenkins" /></p> | ||||
|  | @ -104,22 +104,18 @@ kubectl get secret jenkins-operator-credentials-&lt;cr_name&gt; -o <s | |||
| 
 | ||||
| <h2 id="configure-seed-jobs-and-pipelines">Configure Seed Jobs and Pipelines</h2> | ||||
| 
 | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin" target="_blank">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/" target="_blank">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| <p>Jenkins operator uses <a href="https://github.com/jenkinsci/job-dsl-plugin">job-dsl</a> and <a href="https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/">kubernetes-credentials-provider</a> plugins for configuring jobs | ||||
| and deploy keys.</p> | ||||
| 
 | ||||
| <h2 id="prepare-job-definitions-and-pipelines">Prepare job definitions and pipelines</h2> | ||||
| 
 | ||||
| <p>First you have to prepare pipelines and job definition in your GitHub repository using the following structure:</p> | ||||
| 
 | ||||
| <pre><code>cicd/ | ||||
| ├── jobs | ||||
| │   └── build.jenkins | ||||
| └── pipelines | ||||
|     └── build.jenkins | ||||
| </code></pre> | ||||
| 
 | ||||
|     └── build.jenkins</code></pre> | ||||
| <p><strong><code>cicd/jobs/build.jenkins</code></strong> is a job definition:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| pipelineJob('build-jenkins-operator') { | ||||
|  | @ -139,17 +135,14 @@ pipelineJob('build-jenkins-operator') { | |||
|             scriptPath('cicd/pipelines/build.jenkins') | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <p><strong><code>cicd/pipelines/build.jenkins</code></strong> is an actual Jenkins pipeline:</p> | ||||
| 
 | ||||
| <pre><code>#!/usr/bin/env groovy | ||||
| 
 | ||||
| def label = &quot;build-jenkins-operator-${UUID.randomUUID().toString()}&quot; | ||||
| def home = &quot;/home/jenkins&quot; | ||||
| def workspace = &quot;${home}/workspace/build-jenkins-operator&quot; | ||||
| def workdir = &quot;${workspace}/src/github.com/jenkinsci/kubernetes-operator/&quot; | ||||
| def label = "build-jenkins-operator-${UUID.randomUUID().toString()}" | ||||
| def home = "/home/jenkins" | ||||
| def workspace = "${home}/workspace/build-jenkins-operator" | ||||
| def workdir = "${workspace}/src/github.com/jenkinsci/kubernetes-operator/" | ||||
| 
 | ||||
| podTemplate(label: label, | ||||
|         containers: [ | ||||
|  | @ -191,13 +184,10 @@ podTemplate(label: label, | |||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
| <h2 id="configure-seed-jobs">Configure Seed Jobs</h2> | ||||
| 
 | ||||
| <p>Jenkins Seed Jobs are configured using <code>Jenkins.spec.seedJobs</code> section from your custom resource manifest:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -205,12 +195,10 @@ metadata: | |||
| spec: | ||||
|   seedJobs: | ||||
|   - id: jenkins-operator | ||||
|     targets: &quot;cicd/jobs/*.jenkins&quot; | ||||
|     description: &quot;Jenkins Operator repository&quot; | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p><strong>Jenkins Operator</strong> will automatically discover and configure all the seed jobs.</p> | ||||
| 
 | ||||
| <p>You can verify if deploy keys were successfully configured in the Jenkins <strong>Credentials</strong> tab.</p> | ||||
|  | @ -245,7 +233,6 @@ $ ssh-keygen -p -f &lt;filename&gt; -m pem</code></pre></ | |||
| <h4 id="configure-ssh-authentication">Configure SSH authentication</h4> | ||||
| 
 | ||||
| <p>Configure a seed job like this:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -255,14 +242,11 @@ spec: | |||
|   - id: jenkins-operator-ssh | ||||
|     credentialType: basicSSHUserPrivateKey | ||||
|     credentialID: k8s-ssh | ||||
|     targets: &quot;cicd/jobs/*.jenkins&quot; | ||||
|     description: &quot;Jenkins Operator repository&quot; | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: ssh://git@github.com:jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: ssh://git@github.com:jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|  | @ -273,13 +257,10 @@ stringData: | |||
|     MIIJKAIBAAKCAgEAxxDpleJjMCN5nusfW/AtBAZhx8UVVlhhhIKXvQ+dFODQIdzO | ||||
|     oDXybs1zVHWOj31zqbbJnsfsVZ9Uf3p9k6xpJ3WFY9b85WasqTDN1xmSd6swD4N8 | ||||
|     ... | ||||
|   username: github_user_name | ||||
| </code></pre> | ||||
| 
 | ||||
|   username: github_user_name</code></pre> | ||||
| <h3 id="username-password-authentication">Username &amp; password authentication</h3> | ||||
| 
 | ||||
| <p>Configure the seed job like:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -289,23 +270,18 @@ spec: | |||
|   - id: jenkins-operator-user-pass | ||||
|     credentialType: usernamePassword | ||||
|     credentialID: k8s-user-pass | ||||
|     targets: &quot;cicd/jobs/*.jenkins&quot; | ||||
|     description: &quot;Jenkins Operator repository&quot; | ||||
|     targets: "cicd/jobs/*.jenkins" | ||||
|     description: "Jenkins Operator repository" | ||||
|     repositoryBranch: master | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git | ||||
| </code></pre> | ||||
| 
 | ||||
|     repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git</code></pre> | ||||
| <p>and create a Kubernetes Secret (name of secret should be the same from <code>credentialID</code> field):</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: v1 | ||||
| kind: Secret | ||||
| metadata: | ||||
|   name: k8s-user-pass | ||||
| stringData: | ||||
|   username: github_user_name | ||||
|   password: password_or_token | ||||
| </code></pre> | ||||
| 
 | ||||
|   password: password_or_token</code></pre> | ||||
| <h2 id="http-proxy-for-downloading-plugins">HTTP Proxy for downloading plugins</h2> | ||||
| 
 | ||||
| <p>To use forwarding proxy with an operator to download plugins you need to add the following environment variable to Jenkins Custom Resource (CR), e.g.:</p> | ||||
|  | @ -322,7 +298,7 @@ stringData: | |||
| 
 | ||||
| <p>To pull a Docker Image from private repository you can use <code>imagePullSecrets</code>.</p> | ||||
| 
 | ||||
| <p>Please follow the instructions on <a href="https://kubernetes.io/docs/concepts/containers/images/?origin_team=T42NTAGHM#creating-a-secret-with-a-docker-config" target="_blank">creating a secret with a docker config</a>.</p> | ||||
| <p>Please follow the instructions on <a href="https://kubernetes.io/docs/concepts/containers/images/?origin_team=T42NTAGHM#creating-a-secret-with-a-docker-config">creating a secret with a docker config</a>.</p> | ||||
| 
 | ||||
| <h3 id="docker-hub-configuration">Docker Hub Configuration</h3> | ||||
| 
 | ||||
|  | @ -335,61 +311,58 @@ stringData: | |||
| <p>After modifications, it needs to be encoded as a Base64 value before setting the <code>.dockerconfigjson</code> key.</p> | ||||
| 
 | ||||
| <p>Example config file to modify and use:</p> | ||||
| 
 | ||||
| <pre><code>{ | ||||
|     &quot;auths&quot;:{ | ||||
|         &quot;https://index.docker.io/v1/&quot;:{ | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|     "auths":{ | ||||
|         "https://index.docker.io/v1/":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;auth.docker.io&quot;:{ | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "auth.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;registry.docker.io&quot;:{ | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "registry.docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;docker.io&quot;:{ | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "docker.io":{ | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;https://registry-1.docker.io/v2/&quot;: { | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "https://registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;registry-1.docker.io/v2/&quot;: { | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "registry-1.docker.io/v2/": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;registry-1.docker.io&quot;: { | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         }, | ||||
|         &quot;https://registry-1.docker.io&quot;: { | ||||
|             &quot;username&quot;:&quot;user&quot;, | ||||
|             &quot;password&quot;:&quot;password&quot;, | ||||
|             &quot;email&quot;:&quot;yourdockeremail@gmail.com&quot;, | ||||
|             &quot;auth&quot;:&quot;base64 of string user:password&quot; | ||||
|         "https://registry-1.docker.io": { | ||||
|             "username":"user", | ||||
|             "password":"password", | ||||
|             "email":"yourdockeremail@gmail.com", | ||||
|             "auth":"base64 of string user:password" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </code></pre> | ||||
| 
 | ||||
| }</code></pre> | ||||
|       </description> | ||||
|     </item> | ||||
|      | ||||
|  | @ -404,8 +377,8 @@ stringData: | |||
|          | ||||
|          | ||||
| 
 | ||||
| <p>Jenkins can be customized using groovy scripts or the <a href="https://github.com/jenkinsci/configuration-as-code-plugin" target="_blank">configuration as code plugin</a>. | ||||
| By using a <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/" target="_blank">ConfigMap</a> you can create your own <strong>Jenkins</strong> customized configuration. | ||||
| <p>Jenkins can be customized using groovy scripts or the <a href="https://github.com/jenkinsci/configuration-as-code-plugin">configuration as code plugin</a>. | ||||
| By using a <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/">ConfigMap</a> you can create your own <strong>Jenkins</strong> customized configuration. | ||||
| Then you must reference the <strong><code>ConfigMap</code></strong> in the <strong>Jenkins</strong> pod customization file in <code>spec.groovyScripts</code> or <code>spec.configurationAsCode</code></p> | ||||
| 
 | ||||
| <p>For example create a <strong><code>ConfigMap</code></strong> with name <code>jenkins-operator-user-configuration</code>. Then, modify the <strong>Jenkins</strong> manifest to look like this:</p> | ||||
|  | @ -427,7 +400,7 @@ Then you must reference the <strong><code>ConfigMap</code>< | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-configure-theme.groovy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">|  | ||||
| </span><span style="color:#8f5902;font-style:italic">    import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -447,7 +420,7 @@ Then you must reference the <strong><code>ConfigMap</code>< | |||
| </span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>jenkins.save()<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">  </span><span style="color:#0000cf;font-weight:bold">1</span>-system-message.yaml<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">| | ||||
| </span><span style="color:#8f5902;font-style:italic">    jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>systemMessage<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Configuration as Code integration works!!!&#34;</span></code></pre></div> | ||||
| <ul> | ||||
| <li><code>*.groovy</code> is Groovy script configuration</li> | ||||
|  | @ -462,7 +435,7 @@ Jenkins will reconcile and apply the new configuration.</p> | |||
| <p>If you configured <code>spec.groovyScripts.secret.name</code>, then this secret is available to use from map Groovy scripts. | ||||
| The secrets are loaded to <code>secrets</code> map.</p> | ||||
| 
 | ||||
| <p>Create a <a href="https://kubernetes.io/docs/concepts/configuration/secret/" target="_blank">secret</a> with for example the name <code>jenkins-conf-secrets</code>.</p> | ||||
| <p>Create a <a href="https://kubernetes.io/docs/concepts/configuration/secret/">secret</a> with for example the name <code>jenkins-conf-secrets</code>.</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">kind<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Secret<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>apiVersion<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>v1<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Opaque<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -494,7 +467,7 @@ The secrets are loaded to <code>secrets</code> map.</p> | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-system-message.groovy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">|  | ||||
| </span><span style="color:#8f5902;font-style:italic">    import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">import jenkins.*</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>import<span style="color:#f8f8f8;text-decoration:underline"> </span>hudson.model.*<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -509,14 +482,13 @@ The secrets are loaded to <code>secrets</code> map.</p> | |||
| </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-operator-user-configuration<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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><span style="color:#0000cf;font-weight:bold">1</span>-system-message.yaml<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">| | ||||
| </span><span style="color:#8f5902;font-style:italic">    jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">jenkins:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>systemMessage<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>${SYSTEM_MESSAGE}</code></pre></div> | ||||
| <p>After this, you should see the <code>Hello world</code> system message from the <strong>Jenkins</strong> homepage.</p> | ||||
| 
 | ||||
| <h2 id="install-plugins">Install Plugins</h2> | ||||
| 
 | ||||
| <p>Edit Custom Resource under <code>spec.master.plugins</code>:</p> | ||||
| 
 | ||||
| <pre><code>apiVersion: jenkins.io/v1alpha2 | ||||
| kind: Jenkins | ||||
| metadata: | ||||
|  | @ -525,9 +497,7 @@ spec: | |||
|   master: | ||||
|    plugins: | ||||
|    - name: simple-theme-plugin | ||||
|      version: 0.5.1 | ||||
| </code></pre> | ||||
| 
 | ||||
|      version: 0.5.1</code></pre> | ||||
| <p>Under <code>spec.master.basePlugins</code> you can find plugins for a valid <strong>Jenkins Operator</strong>:</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"> | ||||
|  | @ -537,19 +507,19 @@ spec: | |||
| </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>basePlugins<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>kubernetes<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18.3</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">1.18</span><span style="color:#0000cf;font-weight:bold">.3</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>workflow-job<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;2.34&#34;</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>workflow-aggregator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;2.6&#34;</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>git<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12.0</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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">3.12</span><span style="color:#0000cf;font-weight:bold">.0</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>job-dsl<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;1.76&#34;</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>configuration-as-code<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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:#4e9a06">&#34;1.29&#34;</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>kubernetes-credentials-provider<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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.1</span></code></pre></div> | ||||
| </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 their versions.</p> | ||||
| 
 | ||||
| <p>The <strong>Jenkins Operator</strong> will then automatically install plugins after the Jenkins master pod restarts.</p> | ||||
|  | @ -639,7 +609,7 @@ restart of a Jenkins pod over and over again.</p> | |||
| </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>PersistentVolumeClaim<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"> | ||||
| </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>&lt;pvc_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>accessModes<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>ReadWriteOnce<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -653,7 +623,7 @@ restart of a Jenkins pod over and over again.</p> | |||
| </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"> | ||||
| </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>&lt;cr_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">namespace: &lt;namespace&gt;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"></span>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>securityContext<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -670,7 +640,7 @@ restart of a Jenkins pod over and over again.</p> | |||
| </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>/jenkins-home<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>BACKUP_COUNT<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><span style="color:#4e9a06">&#34;3&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># keep only the 2 most recent backups</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>virtuslab/jenkins-operator-backup-pvc<span style="color:#000;font-weight:bold">:</span>v0<span style="color:#0000cf;font-weight:bold">.0</span><span style="color:#0000cf;font-weight:bold">.8</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># look at backup/pvc directory</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>imagePullPolicy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IfNotPresent<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>volumeMounts<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>mountPath<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/jenkins-home<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># Jenkins home volume</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -681,7 +651,7 @@ restart of a Jenkins pod over and over again.</p> | |||
| </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>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># PVC volume where backups will be stored</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>persistentVolumeClaim<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>claimName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;pvc_name<span style="color:#8f5902;font-style:italic">&gt; | ||||
| </span><span style="color:#8f5902;font-style:italic">  backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">backup:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>containerName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># container name is responsible for backup</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>action<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>exec<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -771,7 +741,7 @@ for backup and restore are required, e.g.:</p> | |||
| </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>...<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>backup<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># container responsible for backup and restore</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>quay.io/virtuslab/aws-cli<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16.263-2</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>quay.io/virtuslab/aws-cli<span style="color:#000;font-weight:bold">:</span><span style="color:#0000cf;font-weight:bold">1.16</span><span style="color:#0000cf;font-weight:bold">.263</span><span style="color:#0000cf;font-weight:bold">-2</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>workingDir<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/home/user/bin/<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">        </span>command<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># our container entry point</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>sleep<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -834,11 +804,11 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>app<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins-operator<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </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>backup.sh<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>|<span style="color:#8f5902;font-style:italic">- | ||||
| </span><span style="color:#8f5902;font-style:italic">    #!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><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:#8f5902;font-style:italic"># -eq 1 ]] &amp;&amp; echo &#34;Usage: $0 backup_number&#34; &amp;&amp; exit 1;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_BUCKET}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_BUCKET&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_PATH}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_PATH&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${JENKINS_HOME}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;JENKINS_HOME&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">#!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><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:#8f5902;font-style:italic"># -eq 1 ]] &amp;&amp; echo &#34;Usage: $0 backup_number&#34; &amp;&amp; exit 1;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_BUCKET}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_BUCKET&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_PATH}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_PATH&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${JENKINS_HOME}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;JENKINS_HOME&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</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>backup_number=$<span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Running backup #${backup_number}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -850,11 +820,11 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span>Done<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">  </span>restore.sh<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>|<span style="color:#8f5902;font-style:italic">- | ||||
| </span><span style="color:#8f5902;font-style:italic">    #!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><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:#8f5902;font-style:italic"># -eq 1 ]] &amp;&amp; echo &#34;Usage: $0 backup_number&#34; &amp;&amp; exit 1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_BUCKET}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_BUCKET&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_PATH}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_PATH&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${JENKINS_HOME}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;JENKINS_HOME&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#8f5902;font-style:italic">   </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">#!/bin/bash -xeu</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><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:#8f5902;font-style:italic"># -eq 1 ]] &amp;&amp; echo &#34;Usage: $0 backup_number&#34; &amp;&amp; exit 1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_BUCKET}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_BUCKET&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${BACKUP_PATH}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;BACKUP_PATH&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span>;<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span><span style="color:#000;font-weight:bold">[</span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-z<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;${JENKINS_HOME}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">]</span><span style="color:#000;font-weight:bold">]</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Required &#39;JENKINS_HOME&#39; env not set&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">&amp;&amp;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>exit<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</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>backup_number=$<span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;Running restore #${backup_number}&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -866,7 +836,7 @@ for backup and restore are required, e.g.:</p> | |||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>echo<span style="color:#f8f8f8;text-decoration:underline"> </span>Done</code></pre></div> | ||||
| <p>In our example we will use S3 bucket lifecycle policy to keep | ||||
| the number of backups under control, e.g. Cloud Formation fragment:</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"><span style="color:#f8f8f8;text-decoration:underline">    </span>Type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>AWS<span style="color:#000;font-weight:bold">::</span>S3<span style="color:#000;font-weight:bold">::</span>Bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| <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"><span style="color:#f8f8f8;text-decoration:underline">    </span>Type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>AWS<span style="color:#000;font-weight:bold">:</span><span style="color:#000;font-weight:bold">:</span>S3<span style="color:#000;font-weight:bold">:</span><span style="color:#000;font-weight:bold">:</span>Bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">    </span>Properties<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>BucketName<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>my-example-bucket<span style="color:#f8f8f8;text-decoration:underline"> | ||||
| </span><span style="color:#f8f8f8;text-decoration:underline">      </span>...<span style="color:#f8f8f8;text-decoration:underline"> | ||||
|  | @ -895,67 +865,58 @@ the number of backups under control, e.g. Cloud Formation fragment:</p> | |||
| 
 | ||||
| <h2 id="slack">Slack</h2> | ||||
| 
 | ||||
| <p>Please follow <a href="https://api.slack.com/incoming-webhooks" target="_blank">this</a> instructions to get web hook URL.</p> | ||||
| <p>Please follow <a href="https://api.slack.com/incoming-webhooks">this</a> instructions to get web hook URL.</p> | ||||
| 
 | ||||
| <p>Create web hook secret with name <code>jenkins-operator-notification-data</code>. Contains key <code>url</code> with provided web hook URL.</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">$ kubectl create secret generic jenkins-operator-notification-data --from-literal<span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">url</span><span style="color:#ce5c00;font-weight:bold">=</span>&lt;webhook_url&gt;</code></pre></div> | ||||
| <p>Example configuration for Slack:</p> | ||||
| 
 | ||||
| <pre><code>kind: Jenkins | ||||
| spec: | ||||
|   master: | ||||
|     notifications: | ||||
|     - loggingLevel: info | ||||
|       verbose: true | ||||
|       name: &lt;name&gt; | ||||
|       name: <name> | ||||
|       slack: | ||||
|         webHookURLSecretKeySelector: | ||||
|           secret: | ||||
|             name: &lt;secret_name&gt; | ||||
|           key: &lt;key&gt; | ||||
| </code></pre> | ||||
| 
 | ||||
|             name: <secret_name> | ||||
|           key: <key></code></pre> | ||||
| <h2 id="microsoft-teams">Microsoft Teams</h2> | ||||
| 
 | ||||
| <p>Please follow <a href="https://docs.microsoft.com/en-gb/outlook/actionable-messages/send-via-connectors" target="_blank">this</a> instructions to get web hook URL.</p> | ||||
| <p>Please follow <a href="https://docs.microsoft.com/en-gb/outlook/actionable-messages/send-via-connectors">this</a> instructions to get web hook URL.</p> | ||||
| 
 | ||||
| <p>Example configuration for Microsoft Teams:</p> | ||||
| 
 | ||||
| <pre><code>kind: Jenkins | ||||
| spec: | ||||
|   master: | ||||
|     notifications: | ||||
|     - loggingLevel: info | ||||
|       verbose: true | ||||
|       name: &lt;name&gt; | ||||
|       name: <name> | ||||
|       teams: | ||||
|         webHookURLSecretKeySelector: | ||||
|           secret: | ||||
|             name: &lt;secret_name&gt; | ||||
|           key: &lt;key&gt; | ||||
| </code></pre> | ||||
| 
 | ||||
|             name: <secret_name> | ||||
|           key: <key></code></pre> | ||||
| <h2 id="mailgun">Mailgun</h2> | ||||
| 
 | ||||
| <p>Example configuration for Mailgun:</p> | ||||
| 
 | ||||
| <pre><code>kind: Jenkins | ||||
| spec: | ||||
|   master: | ||||
|     notifications: | ||||
|     - loggingLevel: info | ||||
|       verbose: true | ||||
|       name: &lt;name&gt; | ||||
|       name: <name> | ||||
|       mailgun: | ||||
|         domain: &lt;domain&gt; | ||||
|         domain: <domain> | ||||
|         apiKeySecretKeySelector: | ||||
|           secret: | ||||
|             name: &lt;secret_name&gt; | ||||
|           key: &lt;key&gt; | ||||
|         recipient: &lt;your_email&gt; | ||||
|         from: &lt;mailgun_email&gt; | ||||
| </code></pre> | ||||
| 
 | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
|         recipient: <your_email> | ||||
|         from: <mailgun_email></code></pre> | ||||
| <h2 id="debug-options">Debug options</h2> | ||||
| 
 | ||||
| <p>As you see there is two debugging options:</p> | ||||
|  | @ -970,7 +931,6 @@ spec: | |||
| 
 | ||||
| <p>You can use multiple providers to send notification to another communication channels at the same time. | ||||
| For example you will send notifications to Slack and Teams.</p> | ||||
| 
 | ||||
| <pre><code>kind: Jenkins | ||||
| spec: | ||||
|   master: | ||||
|  | @ -981,18 +941,16 @@ spec: | |||
|       slack: | ||||
|         webHookURLSecretKeySelector: | ||||
|           secret: | ||||
|             name: &lt;secret_name&gt; | ||||
|           key: &lt;key&gt; | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
|     - loggingLevel: info | ||||
|       verbose: true | ||||
|       name: nteams | ||||
|       teams: | ||||
|         webHookURLSecretKeySelector: | ||||
|           secret: | ||||
|             name: &lt;secret_name&gt; | ||||
|           key: &lt;key&gt; | ||||
| </code></pre> | ||||
| 
 | ||||
|             name: <secret_name> | ||||
|           key: <key></code></pre> | ||||
|       </description> | ||||
|     </item> | ||||
|      | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Migration from v0.2.x"> | ||||
| <meta itemprop="description" content="How to migrate from v0.2.x to v0.3.x | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2020-01-03T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2020-01-03T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="54"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Migration from v0.2.x"/> | ||||
| <meta name="twitter:description" content="How to migrate from v0.2.x to v0.3.x | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Notifications"> | ||||
| <meta itemprop="description" content="How to setup operator notifications. | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="208"> | ||||
| <meta itemprop="wordCount" content="192"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Notifications"/> | ||||
| <meta name="twitter:description" content="How to setup operator notifications. | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -669,67 +666,58 @@ | |||
| 
 | ||||
| <h2 id="slack">Slack</h2> | ||||
| 
 | ||||
| <p>Please follow <a href="https://api.slack.com/incoming-webhooks" target="_blank">this</a> instructions to get web hook URL.</p> | ||||
| <p>Please follow <a href="https://api.slack.com/incoming-webhooks">this</a> instructions to get web hook URL.</p> | ||||
| 
 | ||||
| <p>Create web hook secret with name <code>jenkins-operator-notification-data</code>. Contains key <code>url</code> with provided web hook URL.</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">$ kubectl create secret generic jenkins-operator-notification-data --from-literal<span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">url</span><span style="color:#ce5c00;font-weight:bold">=</span><webhook_url></code></pre></div> | ||||
| <p>Example configuration for Slack:</p> | ||||
| 
 | ||||
| <pre><code>kind: Jenkins | ||||
| spec: | ||||
|   master: | ||||
|     notifications: | ||||
|     - loggingLevel: info | ||||
|       verbose: true | ||||
|       name: <name> | ||||
|       name: <name> | ||||
|       slack: | ||||
|         webHookURLSecretKeySelector: | ||||
|           secret: | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
| </code></pre> | ||||
| 
 | ||||
|             name: <secret_name> | ||||
|           key: <key></code></pre> | ||||
| <h2 id="microsoft-teams">Microsoft Teams</h2> | ||||
| 
 | ||||
| <p>Please follow <a href="https://docs.microsoft.com/en-gb/outlook/actionable-messages/send-via-connectors" target="_blank">this</a> instructions to get web hook URL.</p> | ||||
| <p>Please follow <a href="https://docs.microsoft.com/en-gb/outlook/actionable-messages/send-via-connectors">this</a> instructions to get web hook URL.</p> | ||||
| 
 | ||||
| <p>Example configuration for Microsoft Teams:</p> | ||||
| 
 | ||||
| <pre><code>kind: Jenkins | ||||
| spec: | ||||
|   master: | ||||
|     notifications: | ||||
|     - loggingLevel: info | ||||
|       verbose: true | ||||
|       name: <name> | ||||
|       name: <name> | ||||
|       teams: | ||||
|         webHookURLSecretKeySelector: | ||||
|           secret: | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
| </code></pre> | ||||
| 
 | ||||
|             name: <secret_name> | ||||
|           key: <key></code></pre> | ||||
| <h2 id="mailgun">Mailgun</h2> | ||||
| 
 | ||||
| <p>Example configuration for Mailgun:</p> | ||||
| 
 | ||||
| <pre><code>kind: Jenkins | ||||
| spec: | ||||
|   master: | ||||
|     notifications: | ||||
|     - loggingLevel: info | ||||
|       verbose: true | ||||
|       name: <name> | ||||
|       name: <name> | ||||
|       mailgun: | ||||
|         domain: <domain> | ||||
|         domain: <domain> | ||||
|         apiKeySecretKeySelector: | ||||
|           secret: | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
|         recipient: <your_email> | ||||
|         from: <mailgun_email> | ||||
| </code></pre> | ||||
| 
 | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
|         recipient: <your_email> | ||||
|         from: <mailgun_email></code></pre> | ||||
| <h2 id="debug-options">Debug options</h2> | ||||
| 
 | ||||
| <p>As you see there is two debugging options:</p> | ||||
|  | @ -744,7 +732,6 @@ spec: | |||
| 
 | ||||
| <p>You can use multiple providers to send notification to another communication channels at the same time. | ||||
| For example you will send notifications to Slack and Teams.</p> | ||||
| 
 | ||||
| <pre><code>kind: Jenkins | ||||
| spec: | ||||
|   master: | ||||
|  | @ -755,18 +742,16 @@ spec: | |||
|       slack: | ||||
|         webHookURLSecretKeySelector: | ||||
|           secret: | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
|     - loggingLevel: info | ||||
|       verbose: true | ||||
|       name: nteams | ||||
|       teams: | ||||
|         webHookURLSecretKeySelector: | ||||
|           secret: | ||||
|             name: <secret_name> | ||||
|           key: <key> | ||||
| </code></pre> | ||||
| 
 | ||||
|             name: <secret_name> | ||||
|           key: <key></code></pre> | ||||
| 	 | ||||
| 	 | ||||
| 	<div class="text-muted mt-5 pt-3 border-top">Last modified December 20, 2019 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Schema"> | ||||
| <meta itemprop="description" content="API Schema definitions for Jenkins CRD | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-12-20T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="2603"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Schema"/> | ||||
| <meta name="twitter:description" content="API Schema definitions for Jenkins CRD | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Architecture and design"> | ||||
| <meta itemprop="description" content="Jenkins Operator fundamentals | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="221"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Architecture and design"/> | ||||
| <meta name="twitter:description" content="Jenkins Operator fundamentals | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -26,13 +26,10 @@ | |||
| " /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2019-08-05T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="How it works"> | ||||
| <meta itemprop="description" content="How Jenkins Operator works | ||||
| "> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| "><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="How it works"/> | ||||
| <meta name="twitter:description" content="How Jenkins Operator works | ||||
| "/> | ||||
|  | @ -41,8 +38,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -30,16 +30,13 @@ | |||
| <meta itemprop="name" content="Jenkins Docker Images"> | ||||
| <meta itemprop="description" content="Jenkins default image details | ||||
| "> | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" /> | ||||
| <meta itemprop="wordCount" content="43"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Jenkins Docker Images"/> | ||||
| <meta name="twitter:description" content="Jenkins default image details | ||||
| "/> | ||||
|  | @ -48,8 +45,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -25,12 +25,9 @@ | |||
| <meta property="og:description" content="A native operator for Kubernetes to manage Jenkins" /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2019-09-03T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="Documentation"> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Documentation"/> | ||||
| <meta name="twitter:description" content="A native operator for Kubernetes to manage Jenkins"/> | ||||
| 
 | ||||
|  | @ -38,8 +35,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -613,7 +610,7 @@ | |||
| 	 | ||||
| 
 | ||||
| <div class="pageinfo pageinfo-primary"> | ||||
| <p>This project was originally developed by <a href="https://virtuslab.com" target="_blank">VirtusLab</a> and the following <a href="https://github.com/jenkinsci/kubernetes-operator/graphs/contributors" target="_blank">CONTRIBUTORS</a>.</p> | ||||
| <p>This project was originally developed by <a href="https://virtuslab.com">VirtusLab</a> and the following <a href="https://github.com/jenkinsci/kubernetes-operator/graphs/contributors">CONTRIBUTORS</a>.</p> | ||||
| 
 | ||||
| </div> | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										1371
									
								
								docs/docs/index.xml
								
								
								
								
							
							
						
						
									
										1371
									
								
								docs/docs/index.xml
								
								
								
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -26,13 +26,10 @@ | |||
| " /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/installation/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2019-08-05T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="Installation"> | ||||
| <meta itemprop="description" content="How to install Jenkins Operator | ||||
| "> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| "><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Installation"/> | ||||
| <meta name="twitter:description" content="How to install Jenkins Operator | ||||
| "/> | ||||
|  | @ -41,8 +38,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -646,7 +643,7 @@ | |||
| 
 | ||||
| <div class="pageinfo pageinfo-primary"> | ||||
| <p>This document describes installation procedure for <strong>Jenkins Operator</strong>. | ||||
| All container images can be found at <a href="https://hub.docker.com/r/virtuslab/jenkins-operator" target="_blank">virtuslab/jenkins-operator</a></p> | ||||
| All container images can be found at <a href="https://hub.docker.com/r/virtuslab/jenkins-operator">virtuslab/jenkins-operator</a></p> | ||||
| 
 | ||||
| </div> | ||||
| 
 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -26,13 +26,10 @@ | |||
| " /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/security/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2019-08-05T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="Security"> | ||||
| <meta itemprop="description" content="Jenkins security and hardening out of the box | ||||
| "> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| "><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Security"/> | ||||
| <meta name="twitter:description" content="Jenkins security and hardening out of the box | ||||
| "/> | ||||
|  | @ -41,8 +38,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  | @ -693,7 +690,7 @@ Any namespace to which the <code>jenkins-operator</code> is deployed must be con | |||
| possible permissions to any subject which can create a Pod in that namespace.</p> | ||||
| 
 | ||||
| <p>To mitigate this issue <strong>Jenkins Operator</strong> should be deployed in one namespace and the Jenkins CR should be created in separate namespace. | ||||
| To achieve it change watch namespace in <a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/operator.yaml#L25" target="_blank">https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/operator.yaml#L25</a></p> | ||||
| To achieve it change watch namespace in <a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/operator.yaml#L25">https://github.com/jenkinsci/kubernetes-operator/blob/master/deploy/operator.yaml#L25</a></p> | ||||
| 
 | ||||
| <h2 id="setup-jenkins-operator-and-jenkins-in-separated-namespaces">Setup Jenkins Operator and Jenkins in separated namespaces</h2> | ||||
| 
 | ||||
|  | @ -724,7 +721,7 @@ $ kubectl -n jenkins apply -f role_binding_jenkins.yaml</code></pre></div> | |||
| <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">$ kubectl -n jenkins -n jenkins-operator apply -f deploy/operator.yaml</code></pre></div> | ||||
| <h2 id="report-a-security-vulnerability">Report a Security Vulnerability</h2> | ||||
| 
 | ||||
| <p>If you find a vulnerability or any misconfiguration in Jenkins, please report it in the <a href="https://github.com/jenkinsci/kubernetes-operator/issues" target="_blank">issues</a>.</p> | ||||
| <p>If you find a vulnerability or any misconfiguration in Jenkins, please report it in the <a href="https://github.com/jenkinsci/kubernetes-operator/issues">issues</a>.</p> | ||||
| 
 | ||||
|         <div class="section-index"> | ||||
|      | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -25,12 +25,9 @@ | |||
| <meta property="og:description" content="A native operator for Kubernetes to manage Jenkins" /> | ||||
| <meta property="og:type" content="website" /> | ||||
| <meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/" /> | ||||
| 
 | ||||
| <meta property="og:updated_time" content="2020-04-29T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" /> | ||||
| <meta itemprop="name" content="Jenkins Kubernetes Operator"> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"> | ||||
| 
 | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="description" content="A native operator for Kubernetes to manage Jenkins"><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Jenkins Kubernetes Operator"/> | ||||
| <meta name="twitter:description" content="A native operator for Kubernetes to manage Jenkins"/> | ||||
| 
 | ||||
|  | @ -38,8 +35,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -59,16 +59,12 @@ Fetch and scale an image in the upcoming Hugo 0.43. | |||
| </div> | ||||
| 
 | ||||
| <p>The front matter of this post specifies properties to be assigned to all image resources:</p> | ||||
| 
 | ||||
| <pre><code>resources: | ||||
| - src: &quot;**.{png,jpg}&quot; | ||||
|   title: &quot;Image #:counter&quot; | ||||
| - src: "**.{png,jpg}" | ||||
|   title: "Image #:counter" | ||||
|   params: | ||||
|     byline: &quot;Photo: Riona MacNamara / CC-BY-CA&quot; | ||||
| </code></pre> | ||||
| 
 | ||||
|     byline: "Photo: Riona MacNamara / CC-BY-CA"</code></pre> | ||||
| <p>To include the image in a page, specify its details like this:</p> | ||||
| 
 | ||||
| <pre><code> | ||||
| 
 | ||||
| 
 | ||||
|  | @ -85,9 +81,7 @@ Fetch and scale an image in the upcoming Hugo 0.43. | |||
| <small class="text-muted"><br/>Photo: Riona MacNamara / CC-BY-CA</small></p> | ||||
| 	</div> | ||||
| 	 | ||||
| </div> | ||||
| </code></pre> | ||||
| 
 | ||||
| </div></code></pre> | ||||
| <p>The image will be rendered at the size and byline specified in the front matter.</p> | ||||
| 
 | ||||
|       </description> | ||||
|  | @ -104,7 +98,7 @@ Fetch and scale an image in the upcoming Hugo 0.43. | |||
|          | ||||
|          | ||||
| 
 | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com" target="_blank">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| 
 | ||||
| <p>There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.</p> | ||||
| 
 | ||||
|  | @ -140,10 +134,7 @@ Dixi ad aestum.</p> | |||
| </blockquote> | ||||
| 
 | ||||
| <h3 id="header-3">Header 3</h3> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header.</code></pre> | ||||
| <h4 id="header-4">Header 4</h4> | ||||
| 
 | ||||
| <ul> | ||||
|  | @ -346,28 +337,22 @@ Dixi ad aestum.</p> | |||
| <p>Also, <code>this should vertically align</code> <del><code>with this</code></del> <del>and this</del>.</p> | ||||
| 
 | ||||
| <p>Code can also be shown in a block element.</p> | ||||
| 
 | ||||
| <pre><code>foo := &quot;bar&quot;; | ||||
| bar := &quot;foo&quot;; | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>foo := "bar"; | ||||
| bar := "foo";</code></pre> | ||||
| <p>Code can also use syntax highlighting.</p> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">()</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`var foo = &#34;bar&#34;;`</span> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`</span><span style="color:#4e9a06">var foo = &#34;bar&#34;;</span><span style="color:#4e9a06">`</span> | ||||
| 
 | ||||
|   <span style="color:#000">lexer</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexers</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;javascript&#34;</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">_</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexer</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Tokenise</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">nil</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">input</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">style</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">styles</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;github&#34;</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">())</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#204a87;font-weight:bold">var</span> <span style="color:#000">buff</span> <span style="color:#000">bytes</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Buffer</span> | ||||
|   <span style="color:#000">formatter</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Format</span><span style="color:#000;font-weight:bold">(</span><span style="color:#ce5c00;font-weight:bold">&amp;</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">style</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">())</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div> | ||||
| <pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. | ||||
| </code></pre> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div><pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.</code></pre> | ||||
| <p>Inline code inside table cells should still be distinguishable.</p> | ||||
| 
 | ||||
| <table> | ||||
|  | @ -472,10 +457,7 @@ This is a warning with a title! | |||
| <h3 id="used-ram">Used RAM</h3> | ||||
| 
 | ||||
| <p>Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.</p> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this.</code></pre> | ||||
|       </description> | ||||
|     </item> | ||||
|      | ||||
|  | @ -490,7 +472,7 @@ This is a warning with a title! | |||
|          | ||||
|          | ||||
| 
 | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com" target="_blank">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| <p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>. <a href="https://github.com">Links</a> should be blue with no underlines (unless hovered over).</p> | ||||
| 
 | ||||
| <p>There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.</p> | ||||
| 
 | ||||
|  | @ -526,10 +508,7 @@ Dixi ad aestum.</p> | |||
| </blockquote> | ||||
| 
 | ||||
| <h3 id="header-3">Header 3</h3> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is a code block following a header.</code></pre> | ||||
| <h4 id="header-4">Header 4</h4> | ||||
| 
 | ||||
| <ul> | ||||
|  | @ -732,28 +711,22 @@ Dixi ad aestum.</p> | |||
| <p>Also, <code>this should vertically align</code> <del><code>with this</code></del> <del>and this</del>.</p> | ||||
| 
 | ||||
| <p>Code can also be shown in a block element.</p> | ||||
| 
 | ||||
| <pre><code>foo := &quot;bar&quot;; | ||||
| bar := &quot;foo&quot;; | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>foo := "bar"; | ||||
| bar := "foo";</code></pre> | ||||
| <p>Code can also use syntax highlighting.</p> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">()</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`var foo = &#34;bar&#34;;`</span> | ||||
| <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#204a87;font-weight:bold">func</span> <span style="color:#000">main</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">{</span> | ||||
|   <span style="color:#000">input</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#4e9a06">`</span><span style="color:#4e9a06">var foo = &#34;bar&#34;;</span><span style="color:#4e9a06">`</span> | ||||
| 
 | ||||
|   <span style="color:#000">lexer</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexers</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;javascript&#34;</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">_</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">lexer</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Tokenise</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">nil</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">input</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">style</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">styles</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Get</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;github&#34;</span><span style="color:#000;font-weight:bold">)</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">())</span> | ||||
|   <span style="color:#000">formatter</span> <span style="color:#ce5c00;font-weight:bold">:=</span> <span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">New</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">html</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">WithLineNumbers</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#204a87;font-weight:bold">var</span> <span style="color:#000">buff</span> <span style="color:#000">bytes</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Buffer</span> | ||||
|   <span style="color:#000">formatter</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Format</span><span style="color:#000;font-weight:bold">(</span><span style="color:#ce5c00;font-weight:bold">&amp;</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">style</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">iterator</span><span style="color:#000;font-weight:bold">)</span> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">())</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div> | ||||
| <pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. | ||||
| </code></pre> | ||||
| 
 | ||||
|   <span style="color:#000">fmt</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Println</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">buff</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">String</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000;font-weight:bold">)</span><span style="color:#000;font-weight:bold">)</span> | ||||
| <span style="color:#000;font-weight:bold">}</span></code></pre></div><pre><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.</code></pre> | ||||
| <p>Inline code inside table cells should still be distinguishable.</p> | ||||
| 
 | ||||
| <table> | ||||
|  | @ -858,10 +831,7 @@ This is a warning with a title! | |||
| <h3 id="used-ram">Used RAM</h3> | ||||
| 
 | ||||
| <p>Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.</p> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this. | ||||
| </code></pre> | ||||
| 
 | ||||
| <pre><code>This is the final element on the page and there should be no margin below this.</code></pre> | ||||
|       </description> | ||||
|     </item> | ||||
|      | ||||
|  |  | |||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -3,7 +3,7 @@ | |||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
| <meta name="generator" content="Hugo 0.57.2" /> | ||||
| <meta name="generator" content="Hugo 0.62.2" /> | ||||
| 
 | ||||
| <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> | ||||
| 
 | ||||
|  | @ -28,14 +28,11 @@ | |||
| <meta itemprop="name" content="Search Results"> | ||||
| <meta itemprop="description" content=""> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="wordCount" content="0"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <meta itemprop="keywords" content="" /> | ||||
| <meta name="twitter:card" content="summary"/> | ||||
| <meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> | ||||
| <meta name="twitter:title" content="Search Results"/> | ||||
| <meta name="twitter:description" content=""/> | ||||
| 
 | ||||
|  | @ -43,8 +40,8 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.76f9ae686f932b9aa67346ef8543e8a6b0302cb67aa119d21b053c31bc3f2448.css" rel="stylesheet" integrity=""> | ||||
| <link rel="preload" href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" as="style"> | ||||
| <link href="/kubernetes-operator/scss/main.min.fd69987024ae657af26227407273d5b4d1046115af0e0182839a91bb3e30e830.css" rel="stylesheet" integrity=""> | ||||
| 
 | ||||
| <script | ||||
|   src="https://code.jquery.com/jquery-3.3.1.min.js" | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| <?xml version="1.0" encoding="utf-8" standalone="yes" ?> | ||||
| <?xml version="1.0" encoding="utf-8" standalone="yes"?> | ||||
| <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" | ||||
|   xmlns:xhtml="http://www.w3.org/1999/xhtml"> | ||||
|    | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ | |||
|         }, | ||||
|         { | ||||
|             "typeMatchPrefix": "^k8s\\.io/(api|apimachinery/pkg/apis)/", | ||||
|             "docsURLTemplate": "https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#{{lower .TypeIdentifier}}-{{arrIndex .PackageSegments -1}}-{{arrIndex .PackageSegments -2}}" | ||||
|             "docsURLTemplate": "https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#{{lower .TypeIdentifier}}-{{arrIndex .PackageSegments -1}}-{{arrIndex .PackageSegments -2}}" | ||||
|         } | ||||
|     ], | ||||
|     "typeDisplayNamePrefixOverrides": { | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ type JenkinsSpec struct { | |||
| 	Master JenkinsMaster `json:"master"` | ||||
| 
 | ||||
| 	// SeedJobs defines list of Jenkins Seed Job configurations
 | ||||
| 	// More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines
 | ||||
| 	// More info: https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration#configure-seed-jobs-and-pipelines
 | ||||
| 	// +optional
 | ||||
| 	SeedJobs []SeedJob `json:"seedJobs,omitempty"` | ||||
| 
 | ||||
|  | @ -38,12 +38,12 @@ type JenkinsSpec struct { | |||
| 	SlaveService Service `json:"slaveService,omitempty"` | ||||
| 
 | ||||
| 	// Backup defines configuration of Jenkins backup
 | ||||
| 	// More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore
 | ||||
| 	// More info: https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/
 | ||||
| 	// +optional
 | ||||
| 	Backup Backup `json:"backup,omitempty"` | ||||
| 
 | ||||
| 	// Backup defines configuration of Jenkins backup restore
 | ||||
| 	// More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-backup-and-restore
 | ||||
| 	// More info: https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/
 | ||||
| 	// +optional
 | ||||
| 	Restore Restore `json:"restore,omitempty"` | ||||
| 
 | ||||
|  | @ -351,19 +351,19 @@ type JenkinsMaster struct { | |||
| 	// +optional
 | ||||
| 	// Defaults to :
 | ||||
| 	// - name: kubernetes
 | ||||
| 	// version: 1.15.7
 | ||||
| 	// version: 1.25.2
 | ||||
| 	// - name: workflow-job
 | ||||
| 	// version: "2.39"
 | ||||
| 	// - name: workflow-aggregator
 | ||||
| 	// version: "2.6"
 | ||||
| 	// - name: git
 | ||||
| 	// version: 3.10.0
 | ||||
| 	// version: 4.2.2
 | ||||
| 	// - name: job-dsl
 | ||||
| 	// version: "1.74"
 | ||||
| 	// version: "1.77"
 | ||||
| 	// - name: configuration-as-code
 | ||||
| 	// version: "1.19"
 | ||||
| 	// version: "1.38"
 | ||||
| 	// - name: kubernetes-credentials-provider
 | ||||
| 	// version: 0.12.1
 | ||||
| 	// version: 0.13
 | ||||
| 	BasePlugins []Plugin `json:"basePlugins,omitempty"` | ||||
| 
 | ||||
| 	// Plugins contains plugins required by user
 | ||||
|  | @ -428,7 +428,7 @@ type Service struct { | |||
| 	// If specified and supported by the platform, this will restrict traffic through the cloud-provider
 | ||||
| 	// load-balancer will be restricted to the specified client IPs. This field will be ignored if the
 | ||||
| 	// cloud-provider does not support the feature."
 | ||||
| 	// More info: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/
 | ||||
| 	// More info: https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/#restricting-cloud-metadata-api-access
 | ||||
| 	// +optional
 | ||||
| 	LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"` | ||||
| 
 | ||||
|  | @ -538,7 +538,7 @@ var AllowedJenkinsCredentialMap = map[string]string{ | |||
| } | ||||
| 
 | ||||
| // SeedJob defines configuration for seed job
 | ||||
| // More info: https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines.
 | ||||
| // More info: https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/#configure-seed-jobs-and-pipelines.
 | ||||
| type SeedJob struct { | ||||
| 	// ID is the unique seed job name
 | ||||
| 	ID string `json:"id,omitempty"` | ||||
|  |  | |||
|  | @ -35,11 +35,14 @@ pygmentsStyle = "tango" | |||
| blog = "/:section/:year/:month/:day/:slug/" | ||||
| 
 | ||||
| ## Configuration for BlackFriday markdown parser: https://github.com/russross/blackfriday | ||||
| [blackfriday] | ||||
| plainIDAnchors = true | ||||
| hrefTargetBlank = true | ||||
| angledQuotes = false | ||||
| latexDashes = true | ||||
| #[blackfriday] | ||||
| #plainIDAnchors = true | ||||
| #hrefTargetBlank = true | ||||
| #angledQuotes = false | ||||
| #latexDashes = true | ||||
| 
 | ||||
| [markup] | ||||
| defaultMarkdownHandler = "blackfriday" | ||||
| 
 | ||||
| # Image processing configuration. | ||||
| [imaging] | ||||
|  |  | |||
|  | @ -13,9 +13,9 @@ This document explains how to setup your development environment. | |||
| 
 | ||||
| ## Prerequisites | ||||
| 
 | ||||
| - [operator_sdk][operator_sdk] version v0.15.1 | ||||
| - [operator_sdk][operator_sdk] version v0.17.0 | ||||
| - [git][git_tool] | ||||
| - [go][go_tool] version v1.13+ | ||||
| - [go][go_tool] version v1.14+ | ||||
| - [goimports, golint, checkmake and staticcheck][install_dev_tools] | ||||
| - [minikube][minikube] version v1.1.0+ (preferred Hypervisor - [virtualbox][virtualbox]) | ||||
| - [docker][docker_tool] version 17.03+ | ||||
|  | @ -202,6 +202,12 @@ seed-job-agent-example-56569459c9-l69qf   1/1     Running   0          12m | |||
| 
 | ||||
| ``` | ||||
| 
 | ||||
| Upon every next start of local **Jenkins Operator** switch first command with: | ||||
| ``` | ||||
| make minikube-start | ||||
| make minikube-run | ||||
| ```  | ||||
| 
 | ||||
| ### Debug Jenkins Operator | ||||
| 
 | ||||
| ```bash | ||||
|  |  | |||
|  | @ -59,7 +59,7 @@ string | |||
| <td> | ||||
| <code>metadata</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#objectmeta-v1-meta"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta"> | ||||
| Kubernetes meta/v1.ObjectMeta | ||||
| </a> | ||||
| </em> | ||||
|  | @ -109,7 +109,7 @@ Every single change here requires a pod restart.</p> | |||
| <td> | ||||
| <em>(Optional)</em> | ||||
| <p>SeedJobs defines list of Jenkins Seed Job configurations | ||||
| More info: <a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines">https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines</a></p> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration#configure-seed-jobs-and-pipelines">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration#configure-seed-jobs-and-pipelines</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -173,7 +173,7 @@ Backup | |||
| <td> | ||||
| <em>(Optional)</em> | ||||
| <p>Backup defines configuration of Jenkins backup | ||||
| 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> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -188,7 +188,7 @@ Restore | |||
| <td> | ||||
| <em>(Optional)</em> | ||||
| <p>Backup defines configuration of Jenkins backup 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> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -223,7 +223,7 @@ ConfigurationAsCode | |||
| <td> | ||||
| <code>roles</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#roleref-v1-rbac"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#roleref-v1-rbac"> | ||||
| []Kubernetes rbac/v1.RoleRef | ||||
| </a> | ||||
| </em> | ||||
|  | @ -285,7 +285,7 @@ JenkinsStatus | |||
| <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>AppliedGroovyScript is the applied groovy script in Jenkins by the operator.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -357,7 +357,7 @@ string | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsSpec">JenkinsSpec</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Backup defines configuration of Jenkins backup</p> | ||||
| <p>Backup defines configuration of Jenkins backup.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -423,7 +423,7 @@ bool | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Customization">Customization</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>ConfigMapRef is reference to Kubernetes ConfigMap</p> | ||||
| <p>ConfigMapRef is reference to Kubernetes ConfigMap.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -452,7 +452,7 @@ string | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsSpec">JenkinsSpec</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin</p> | ||||
| <p>ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -486,7 +486,7 @@ Customization | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsMaster">JenkinsMaster</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Container defines Kubernetes container attributes</p> | ||||
| <p>Container defines Kubernetes container attributes.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -524,7 +524,7 @@ More info: <a href="https://kubernetes.io/docs/concepts/containers/images">https | |||
| <td> | ||||
| <code>imagePullPolicy</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#pullpolicy-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#pullpolicy-v1-core"> | ||||
| Kubernetes core/v1.PullPolicy | ||||
| </a> | ||||
| </em> | ||||
|  | @ -539,7 +539,7 @@ Defaults to Always.</p> | |||
| <td> | ||||
| <code>resources</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#resourcerequirements-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#resourcerequirements-v1-core"> | ||||
| Kubernetes core/v1.ResourceRequirements | ||||
| </a> | ||||
| </em> | ||||
|  | @ -603,7 +603,7 @@ might be configured in the container image.</p> | |||
| <td> | ||||
| <code>ports</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#containerport-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#containerport-v1-core"> | ||||
| []Kubernetes core/v1.ContainerPort | ||||
| </a> | ||||
| </em> | ||||
|  | @ -622,7 +622,7 @@ accessible from the network.</p> | |||
| <td> | ||||
| <code>envFrom</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#envfromsource-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#envfromsource-v1-core"> | ||||
| []Kubernetes core/v1.EnvFromSource | ||||
| </a> | ||||
| </em> | ||||
|  | @ -640,7 +640,7 @@ Values defined by an Env with a duplicate key will take precedence.</p> | |||
| <td> | ||||
| <code>env</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#envvar-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#envvar-v1-core"> | ||||
| []Kubernetes core/v1.EnvVar | ||||
| </a> | ||||
| </em> | ||||
|  | @ -654,7 +654,7 @@ Values defined by an Env with a duplicate key will take precedence.</p> | |||
| <td> | ||||
| <code>volumeMounts</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#volumemount-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#volumemount-v1-core"> | ||||
| []Kubernetes core/v1.VolumeMount | ||||
| </a> | ||||
| </em> | ||||
|  | @ -668,7 +668,7 @@ Values defined by an Env with a duplicate key will take precedence.</p> | |||
| <td> | ||||
| <code>livenessProbe</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#probe-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#probe-v1-core"> | ||||
| Kubernetes core/v1.Probe | ||||
| </a> | ||||
| </em> | ||||
|  | @ -683,7 +683,7 @@ Container will be restarted if the probe fails.</p> | |||
| <td> | ||||
| <code>readinessProbe</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#probe-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#probe-v1-core"> | ||||
| Kubernetes core/v1.Probe | ||||
| </a> | ||||
| </em> | ||||
|  | @ -698,7 +698,7 @@ Container will be removed from service endpoints if the probe fails.</p> | |||
| <td> | ||||
| <code>lifecycle</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#lifecycle-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#lifecycle-v1-core"> | ||||
| Kubernetes core/v1.Lifecycle | ||||
| </a> | ||||
| </em> | ||||
|  | @ -712,7 +712,7 @@ Kubernetes core/v1.Lifecycle | |||
| <td> | ||||
| <code>securityContext</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#securitycontext-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#securitycontext-v1-core"> | ||||
| Kubernetes core/v1.SecurityContext | ||||
| </a> | ||||
| </em> | ||||
|  | @ -734,7 +734,7 @@ More info: <a href="https://kubernetes.io/docs/tasks/configure-pod-container/sec | |||
| <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>Customization defines configuration of Jenkins customization.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -777,7 +777,7 @@ SecretRef | |||
| <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>GroovyScripts defines configuration of Jenkins customization via groovy scripts.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -812,7 +812,7 @@ Customization | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Restore">Restore</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Handler defines a specific action that should be taken</p> | ||||
| <p>Handler defines a specific action that should be taken.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -826,7 +826,7 @@ Customization | |||
| <td> | ||||
| <code>exec</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#execaction-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#execaction-v1-core"> | ||||
| Kubernetes core/v1.ExecAction | ||||
| </a> | ||||
| </em> | ||||
|  | @ -837,6 +837,45 @@ Kubernetes core/v1.ExecAction | |||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Image">Image | ||||
| </h3> | ||||
| <p> | ||||
| (<em>Appears on:</em> | ||||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsImageSpec">JenkinsImageSpec</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Defines Jenkins Plugin structure</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> | ||||
| <tr> | ||||
| <td> | ||||
| <code>version</code></br> | ||||
| <em> | ||||
| string | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsAPISettings">JenkinsAPISettings | ||||
| </h3> | ||||
| <p> | ||||
|  | @ -875,8 +914,183 @@ AuthorizationStrategy | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.SeedJob">SeedJob</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>JenkinsCredentialType defines type of Jenkins credential used to seed job mechanism</p> | ||||
| <p>JenkinsCredentialType defines type of Jenkins credential used to seed job mechanism.</p> | ||||
| </p> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsImage">JenkinsImage | ||||
| </h3> | ||||
| <p> | ||||
| <p>JenkinsImage is the Schema for the jenkinsimages API</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
| <tr> | ||||
| <th>Field</th> | ||||
| <th>Description</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td> | ||||
| <code>metadata</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta"> | ||||
| Kubernetes meta/v1.ObjectMeta | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| Refer to the Kubernetes API documentation for the fields of the | ||||
| <code>metadata</code> field. | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td> | ||||
| <code>spec</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsImageSpec"> | ||||
| JenkinsImageSpec | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| <br/> | ||||
| <br/> | ||||
| <table> | ||||
| <tr> | ||||
| <td> | ||||
| <code>image</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Image"> | ||||
| Image | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td> | ||||
| <code>plugins</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin"> | ||||
| [][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| </table> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td> | ||||
| <code>status</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsImageStatus"> | ||||
| JenkinsImageStatus | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsImageSpec">JenkinsImageSpec | ||||
| </h3> | ||||
| <p> | ||||
| (<em>Appears on:</em> | ||||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsImage">JenkinsImage</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>JenkinsImageSpec defines the desired state of JenkinsImage</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
| <tr> | ||||
| <th>Field</th> | ||||
| <th>Description</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td> | ||||
| <code>image</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Image"> | ||||
| Image | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td> | ||||
| <code>plugins</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin"> | ||||
| [][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsImageStatus">JenkinsImageStatus | ||||
| </h3> | ||||
| <p> | ||||
| (<em>Appears on:</em> | ||||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsImage">JenkinsImage</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>JenkinsImageStatus defines the observed state of JenkinsImage</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
| <tr> | ||||
| <th>Field</th> | ||||
| <th>Description</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td> | ||||
| <code>image</code></br> | ||||
| <em> | ||||
| string | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td> | ||||
| <code>md5sum</code></br> | ||||
| <em> | ||||
| string | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td> | ||||
| <code>installedPlugins</code></br> | ||||
| <em> | ||||
| <a href="#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin"> | ||||
| [][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin | ||||
| </a> | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsMaster">JenkinsMaster | ||||
| </h3> | ||||
| <p> | ||||
|  | @ -885,7 +1099,7 @@ AuthorizationStrategy | |||
| </p> | ||||
| <p> | ||||
| <p>JenkinsMaster defines the Jenkins master pod attributes and plugins, | ||||
| every single change requires a Jenkins master pod restart</p> | ||||
| every single change requires a Jenkins master pod restart.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -959,7 +1173,7 @@ More info: <a href="https://kubernetes.io/docs/concepts/configuration/assign-pod | |||
| <td> | ||||
| <code>securityContext</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#podsecuritycontext-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#podsecuritycontext-v1-core"> | ||||
| Kubernetes core/v1.PodSecurityContext | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1025,7 +1239,7 @@ memory: 600Mi</p> | |||
| <td> | ||||
| <code>imagePullSecrets</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#localobjectreference-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#localobjectreference-v1-core"> | ||||
| []Kubernetes core/v1.LocalObjectReference | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1042,7 +1256,7 @@ More info: <a href="https://kubernetes.io/docs/concepts/containers/images#specif | |||
| <td> | ||||
| <code>volumes</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#volume-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#volume-v1-core"> | ||||
| []Kubernetes core/v1.Volume | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1057,7 +1271,7 @@ More info: <a href="https://kubernetes.io/docs/concepts/storage/volumes">https:/ | |||
| <td> | ||||
| <code>tolerations</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#toleration-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#toleration-v1-core"> | ||||
| []Kubernetes core/v1.Toleration | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1081,19 +1295,19 @@ More info: <a href="https://kubernetes.io/docs/concepts/storage/volumes">https:/ | |||
| <p>BasePlugins contains plugins required by operator | ||||
| Defaults to : | ||||
| - name: kubernetes | ||||
| version: 1.15.7 | ||||
| version: 1.25.2 | ||||
| - name: workflow-job | ||||
| version: “2.39” | ||||
| - name: workflow-aggregator | ||||
| version: “2.6” | ||||
| - name: git | ||||
| version: 3.10.0 | ||||
| version: 4.2.2 | ||||
| - name: job-dsl | ||||
| version: “1.74” | ||||
| version: “1.77” | ||||
| - name: configuration-as-code | ||||
| version: “1.19” | ||||
| version: “1.38” | ||||
| - name: kubernetes-credentials-provider | ||||
| version: 0.12.1</p> | ||||
| version: 0.13</p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -1135,6 +1349,46 @@ string | |||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin">JenkinsPlugin | ||||
| </h3> | ||||
| <p> | ||||
| (<em>Appears on:</em> | ||||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsImageSpec">JenkinsImageSpec</a>,  | ||||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsImageStatus">JenkinsImageStatus</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Defines Jenkins Plugin structure</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> | ||||
| <tr> | ||||
| <td> | ||||
| <code>version</code></br> | ||||
| <em> | ||||
| string | ||||
| </em> | ||||
| </td> | ||||
| <td> | ||||
| </td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsSpec">JenkinsSpec | ||||
| </h3> | ||||
| <p> | ||||
|  | @ -1142,7 +1396,7 @@ string | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Jenkins">Jenkins</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>JenkinsSpec defines the desired state of the Jenkins</p> | ||||
| <p>JenkinsSpec defines the desired state of the Jenkins.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1178,7 +1432,7 @@ Every single change here requires a pod restart.</p> | |||
| <td> | ||||
| <em>(Optional)</em> | ||||
| <p>SeedJobs defines list of Jenkins Seed Job configurations | ||||
| More info: <a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines">https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines</a></p> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration#configure-seed-jobs-and-pipelines">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration#configure-seed-jobs-and-pipelines</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -1242,7 +1496,7 @@ Backup | |||
| <td> | ||||
| <em>(Optional)</em> | ||||
| <p>Backup defines configuration of Jenkins backup | ||||
| 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> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -1257,7 +1511,7 @@ Restore | |||
| <td> | ||||
| <em>(Optional)</em> | ||||
| <p>Backup defines configuration of Jenkins backup 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> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -1292,7 +1546,7 @@ ConfigurationAsCode | |||
| <td> | ||||
| <code>roles</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#roleref-v1-rbac"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#roleref-v1-rbac"> | ||||
| []Kubernetes rbac/v1.RoleRef | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1364,7 +1618,7 @@ string | |||
| <td> | ||||
| <code>provisionStartTime</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#time-v1-meta"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#time-v1-meta"> | ||||
| Kubernetes meta/v1.Time | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1378,7 +1632,7 @@ Kubernetes meta/v1.Time | |||
| <td> | ||||
| <code>baseConfigurationCompletedTime</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#time-v1-meta"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#time-v1-meta"> | ||||
| Kubernetes meta/v1.Time | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1392,7 +1646,7 @@ Kubernetes meta/v1.Time | |||
| <td> | ||||
| <code>userConfigurationCompletedTime</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#time-v1-meta"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#time-v1-meta"> | ||||
| Kubernetes meta/v1.Time | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1497,7 +1751,7 @@ string | |||
| <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>Mailgun is handler for Mailgun email service notification channel.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1558,7 +1812,7 @@ string | |||
| <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>MicrosoftTeams is handler for Microsoft MicrosoftTeams notification channel.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1590,7 +1844,7 @@ SecretKeySelector | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsSpec">JenkinsSpec</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Notification is a service configuration used to send notifications about Jenkins status</p> | ||||
| <p>Notification is a service configuration used to send notifications about Jenkins status.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1689,7 +1943,7 @@ github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SMTP | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Notification">Notification</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>NotificationLevel defines the level of a Notification</p> | ||||
| <p>NotificationLevel defines the level of a Notification.</p> | ||||
| </p> | ||||
| <h3 id="github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Plugin">Plugin | ||||
| </h3> | ||||
|  | @ -1698,7 +1952,7 @@ github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.SMTP | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsMaster">JenkinsMaster</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Plugin defines Jenkins plugin</p> | ||||
| <p>Plugin defines Jenkins plugin.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1750,7 +2004,7 @@ string | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.JenkinsSpec">JenkinsSpec</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>Restore defines configuration of Jenkins backup restore operation</p> | ||||
| <p>Restore defines configuration of Jenkins backup restore operation.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1805,7 +2059,7 @@ uint64 | |||
| <a href="#github.com%2fjenkinsci%2fkubernetes-operator%2fpkg%2fapis%2fjenkins%2fv1alpha2.Notification">Notification</a>) | ||||
| </p> | ||||
| <p> | ||||
| <p>SMTP is handler for sending emails via this protocol</p> | ||||
| <p>SMTP is handler for sending emails via this protocol.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1915,7 +2169,7 @@ string | |||
| <td> | ||||
| <code>secret</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#localobjectreference-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#localobjectreference-v1-core"> | ||||
| Kubernetes core/v1.LocalObjectReference | ||||
| </a> | ||||
| </em> | ||||
|  | @ -1944,7 +2198,7 @@ string | |||
| <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>SecretRef is reference to Kubernetes secret.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -1974,7 +2228,7 @@ string | |||
| </p> | ||||
| <p> | ||||
| <p>SeedJob defines configuration for seed job | ||||
| More info: <a href="https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines">https://github.com/jenkinsci/kubernetes-operator/blob/master/docs/getting-started.md#configure-seed-jobs-and-pipelines</a></p> | ||||
| More info: <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/#configure-seed-jobs-and-pipelines">https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/#configure-seed-jobs-and-pipelines</a>.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -2216,7 +2470,7 @@ More info: <a href="https://kubernetes.io/docs/concepts/services-networking/serv | |||
| <td> | ||||
| <code>type</code></br> | ||||
| <em> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#servicetype-v1-core"> | ||||
| <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#servicetype-v1-core"> | ||||
| Kubernetes core/v1.ServiceType | ||||
| </a> | ||||
| </em> | ||||
|  | @ -2279,7 +2533,7 @@ More info: <a href="https://kubernetes.io/docs/concepts/services-networking/serv | |||
| <p>If specified and supported by the platform, this will restrict traffic through the cloud-provider | ||||
| load-balancer will be restricted to the specified client IPs. This field will be ignored if the | ||||
| cloud-provider does not support the feature.” | ||||
| More info: <a href="https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/">https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/</a></p> | ||||
| More info: <a href="https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/#restricting-cloud-metadata-api-access">https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/#restricting-cloud-metadata-api-access</a></p> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | @ -2341,7 +2595,7 @@ More info: <a href="http://kubernetes.io/docs/user-guide/annotations">http://kub | |||
| <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>Slack is handler for Slack notification channel.</p> | ||||
| </p> | ||||
| <table> | ||||
| <thead> | ||||
|  | @ -2369,5 +2623,5 @@ SecretKeySelector | |||
| <hr/> | ||||
| <p><em> | ||||
| Generated with <code>gen-crd-api-reference-docs</code> | ||||
| on git commit <code>8404b97</code>. | ||||
| </em></p> | ||||
| on git commit <code>1c853e69</code>. | ||||
| </em></p> | ||||
|  | @ -259,6 +259,16 @@ | |||
|       "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "bindings": { | ||||
|       "version": "1.5.0", | ||||
|       "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", | ||||
|       "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "requires": { | ||||
|         "file-uri-to-path": "1.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "brace-expansion": { | ||||
|       "version": "1.1.11", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||
|  | @ -356,9 +366,9 @@ | |||
|       } | ||||
|     }, | ||||
|     "chokidar": { | ||||
|       "version": "2.1.6", | ||||
|       "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", | ||||
|       "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", | ||||
|       "version": "2.1.8", | ||||
|       "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", | ||||
|       "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "anymatch": "^2.0.0", | ||||
|  | @ -480,12 +490,14 @@ | |||
|       } | ||||
|     }, | ||||
|     "cross-spawn": { | ||||
|       "version": "5.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", | ||||
|       "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", | ||||
|       "version": "6.0.5", | ||||
|       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", | ||||
|       "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "lru-cache": "^4.0.1", | ||||
|         "nice-try": "^1.0.4", | ||||
|         "path-key": "^2.0.1", | ||||
|         "semver": "^5.5.0", | ||||
|         "shebang-command": "^1.2.0", | ||||
|         "which": "^1.2.9" | ||||
|       } | ||||
|  | @ -574,6 +586,15 @@ | |||
|       "integrity": "sha512-/QI4hMpAh48a1Sea6PALGv+kuVne9A2EWGd8HrWHMdYhIzGtbhVVHh6heL5fAzGaDnZuPyrlWJRl8WPm4RyiQQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "end-of-stream": { | ||||
|       "version": "1.4.4", | ||||
|       "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", | ||||
|       "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "once": "^1.4.0" | ||||
|       } | ||||
|     }, | ||||
|     "error-ex": { | ||||
|       "version": "1.3.2", | ||||
|       "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", | ||||
|  | @ -596,13 +617,13 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "execa": { | ||||
|       "version": "0.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", | ||||
|       "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", | ||||
|       "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "cross-spawn": "^5.0.1", | ||||
|         "get-stream": "^3.0.0", | ||||
|         "cross-spawn": "^6.0.0", | ||||
|         "get-stream": "^4.0.0", | ||||
|         "is-stream": "^1.1.0", | ||||
|         "npm-run-path": "^2.0.0", | ||||
|         "p-finally": "^1.0.0", | ||||
|  | @ -745,6 +766,13 @@ | |||
|         "micromatch": "^3.1.10" | ||||
|       } | ||||
|     }, | ||||
|     "file-uri-to-path": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", | ||||
|       "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", | ||||
|       "dev": true, | ||||
|       "optional": true | ||||
|     }, | ||||
|     "fill-range": { | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", | ||||
|  | @ -810,532 +838,14 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "fsevents": { | ||||
|       "version": "1.2.9", | ||||
|       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", | ||||
|       "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", | ||||
|       "version": "1.2.13", | ||||
|       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", | ||||
|       "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "requires": { | ||||
|         "nan": "^2.12.1", | ||||
|         "node-pre-gyp": "^0.12.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "abbrev": { | ||||
|           "version": "1.1.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "ansi-regex": { | ||||
|           "version": "2.1.1", | ||||
|           "bundled": true, | ||||
|           "dev": true | ||||
|         }, | ||||
|         "aproba": { | ||||
|           "version": "1.2.0", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "are-we-there-yet": { | ||||
|           "version": "1.1.5", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "delegates": "^1.0.0", | ||||
|             "readable-stream": "^2.0.6" | ||||
|           } | ||||
|         }, | ||||
|         "balanced-match": { | ||||
|           "version": "1.0.0", | ||||
|           "bundled": true, | ||||
|           "dev": true | ||||
|         }, | ||||
|         "brace-expansion": { | ||||
|           "version": "1.1.11", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "balanced-match": "^1.0.0", | ||||
|             "concat-map": "0.0.1" | ||||
|           } | ||||
|         }, | ||||
|         "chownr": { | ||||
|           "version": "1.1.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "code-point-at": { | ||||
|           "version": "1.1.0", | ||||
|           "bundled": true, | ||||
|           "dev": true | ||||
|         }, | ||||
|         "concat-map": { | ||||
|           "version": "0.0.1", | ||||
|           "bundled": true, | ||||
|           "dev": true | ||||
|         }, | ||||
|         "console-control-strings": { | ||||
|           "version": "1.1.0", | ||||
|           "bundled": true, | ||||
|           "dev": true | ||||
|         }, | ||||
|         "core-util-is": { | ||||
|           "version": "1.0.2", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "debug": { | ||||
|           "version": "4.1.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "ms": "^2.1.1" | ||||
|           } | ||||
|         }, | ||||
|         "deep-extend": { | ||||
|           "version": "0.6.0", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "delegates": { | ||||
|           "version": "1.0.0", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "detect-libc": { | ||||
|           "version": "1.0.3", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "fs-minipass": { | ||||
|           "version": "1.2.5", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "minipass": "^2.2.1" | ||||
|           } | ||||
|         }, | ||||
|         "fs.realpath": { | ||||
|           "version": "1.0.0", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "gauge": { | ||||
|           "version": "2.7.4", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "aproba": "^1.0.3", | ||||
|             "console-control-strings": "^1.0.0", | ||||
|             "has-unicode": "^2.0.0", | ||||
|             "object-assign": "^4.1.0", | ||||
|             "signal-exit": "^3.0.0", | ||||
|             "string-width": "^1.0.1", | ||||
|             "strip-ansi": "^3.0.1", | ||||
|             "wide-align": "^1.1.0" | ||||
|           } | ||||
|         }, | ||||
|         "glob": { | ||||
|           "version": "7.1.3", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "fs.realpath": "^1.0.0", | ||||
|             "inflight": "^1.0.4", | ||||
|             "inherits": "2", | ||||
|             "minimatch": "^3.0.4", | ||||
|             "once": "^1.3.0", | ||||
|             "path-is-absolute": "^1.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "has-unicode": { | ||||
|           "version": "2.0.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "iconv-lite": { | ||||
|           "version": "0.4.24", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "safer-buffer": ">= 2.1.2 < 3" | ||||
|           } | ||||
|         }, | ||||
|         "ignore-walk": { | ||||
|           "version": "3.0.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "minimatch": "^3.0.4" | ||||
|           } | ||||
|         }, | ||||
|         "inflight": { | ||||
|           "version": "1.0.6", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "once": "^1.3.0", | ||||
|             "wrappy": "1" | ||||
|           } | ||||
|         }, | ||||
|         "inherits": { | ||||
|           "version": "2.0.3", | ||||
|           "bundled": true, | ||||
|           "dev": true | ||||
|         }, | ||||
|         "ini": { | ||||
|           "version": "1.3.5", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "is-fullwidth-code-point": { | ||||
|           "version": "1.0.0", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "number-is-nan": "^1.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "isarray": { | ||||
|           "version": "1.0.0", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "minimatch": { | ||||
|           "version": "3.0.4", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "brace-expansion": "^1.1.7" | ||||
|           } | ||||
|         }, | ||||
|         "minimist": { | ||||
|           "version": "0.0.8", | ||||
|           "bundled": true, | ||||
|           "dev": true | ||||
|         }, | ||||
|         "minipass": { | ||||
|           "version": "2.3.5", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "safe-buffer": "^5.1.2", | ||||
|             "yallist": "^3.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "minizlib": { | ||||
|           "version": "1.2.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "minipass": "^2.2.1" | ||||
|           } | ||||
|         }, | ||||
|         "mkdirp": { | ||||
|           "version": "0.5.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "minimist": "0.0.8" | ||||
|           } | ||||
|         }, | ||||
|         "ms": { | ||||
|           "version": "2.1.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "needle": { | ||||
|           "version": "2.3.0", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "debug": "^4.1.0", | ||||
|             "iconv-lite": "^0.4.4", | ||||
|             "sax": "^1.2.4" | ||||
|           } | ||||
|         }, | ||||
|         "node-pre-gyp": { | ||||
|           "version": "0.12.0", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "detect-libc": "^1.0.2", | ||||
|             "mkdirp": "^0.5.1", | ||||
|             "needle": "^2.2.1", | ||||
|             "nopt": "^4.0.1", | ||||
|             "npm-packlist": "^1.1.6", | ||||
|             "npmlog": "^4.0.2", | ||||
|             "rc": "^1.2.7", | ||||
|             "rimraf": "^2.6.1", | ||||
|             "semver": "^5.3.0", | ||||
|             "tar": "^4" | ||||
|           } | ||||
|         }, | ||||
|         "nopt": { | ||||
|           "version": "4.0.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "abbrev": "1", | ||||
|             "osenv": "^0.1.4" | ||||
|           } | ||||
|         }, | ||||
|         "npm-bundled": { | ||||
|           "version": "1.0.6", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "npm-packlist": { | ||||
|           "version": "1.4.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "ignore-walk": "^3.0.1", | ||||
|             "npm-bundled": "^1.0.1" | ||||
|           } | ||||
|         }, | ||||
|         "npmlog": { | ||||
|           "version": "4.1.2", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "are-we-there-yet": "~1.1.2", | ||||
|             "console-control-strings": "~1.1.0", | ||||
|             "gauge": "~2.7.3", | ||||
|             "set-blocking": "~2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "number-is-nan": { | ||||
|           "version": "1.0.1", | ||||
|           "bundled": true, | ||||
|           "dev": true | ||||
|         }, | ||||
|         "object-assign": { | ||||
|           "version": "4.1.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "once": { | ||||
|           "version": "1.4.0", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "wrappy": "1" | ||||
|           } | ||||
|         }, | ||||
|         "os-homedir": { | ||||
|           "version": "1.0.2", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "os-tmpdir": { | ||||
|           "version": "1.0.2", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "osenv": { | ||||
|           "version": "0.1.5", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "os-homedir": "^1.0.0", | ||||
|             "os-tmpdir": "^1.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "path-is-absolute": { | ||||
|           "version": "1.0.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "process-nextick-args": { | ||||
|           "version": "2.0.0", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "rc": { | ||||
|           "version": "1.2.8", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "deep-extend": "^0.6.0", | ||||
|             "ini": "~1.3.0", | ||||
|             "minimist": "^1.2.0", | ||||
|             "strip-json-comments": "~2.0.1" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "minimist": { | ||||
|               "version": "1.2.0", | ||||
|               "bundled": true, | ||||
|               "dev": true, | ||||
|               "optional": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "readable-stream": { | ||||
|           "version": "2.3.6", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "core-util-is": "~1.0.0", | ||||
|             "inherits": "~2.0.3", | ||||
|             "isarray": "~1.0.0", | ||||
|             "process-nextick-args": "~2.0.0", | ||||
|             "safe-buffer": "~5.1.1", | ||||
|             "string_decoder": "~1.1.1", | ||||
|             "util-deprecate": "~1.0.1" | ||||
|           } | ||||
|         }, | ||||
|         "rimraf": { | ||||
|           "version": "2.6.3", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "glob": "^7.1.3" | ||||
|           } | ||||
|         }, | ||||
|         "safe-buffer": { | ||||
|           "version": "5.1.2", | ||||
|           "bundled": true, | ||||
|           "dev": true | ||||
|         }, | ||||
|         "safer-buffer": { | ||||
|           "version": "2.1.2", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "sax": { | ||||
|           "version": "1.2.4", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "semver": { | ||||
|           "version": "5.7.0", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "set-blocking": { | ||||
|           "version": "2.0.0", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "signal-exit": { | ||||
|           "version": "3.0.2", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "string-width": { | ||||
|           "version": "1.0.2", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "code-point-at": "^1.0.0", | ||||
|             "is-fullwidth-code-point": "^1.0.0", | ||||
|             "strip-ansi": "^3.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "string_decoder": { | ||||
|           "version": "1.1.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "safe-buffer": "~5.1.0" | ||||
|           } | ||||
|         }, | ||||
|         "strip-ansi": { | ||||
|           "version": "3.0.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "ansi-regex": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "strip-json-comments": { | ||||
|           "version": "2.0.1", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "tar": { | ||||
|           "version": "4.4.8", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "chownr": "^1.1.1", | ||||
|             "fs-minipass": "^1.2.5", | ||||
|             "minipass": "^2.3.4", | ||||
|             "minizlib": "^1.1.1", | ||||
|             "mkdirp": "^0.5.0", | ||||
|             "safe-buffer": "^5.1.2", | ||||
|             "yallist": "^3.0.2" | ||||
|           } | ||||
|         }, | ||||
|         "util-deprecate": { | ||||
|           "version": "1.0.2", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true | ||||
|         }, | ||||
|         "wide-align": { | ||||
|           "version": "1.1.3", | ||||
|           "bundled": true, | ||||
|           "dev": true, | ||||
|           "optional": true, | ||||
|           "requires": { | ||||
|             "string-width": "^1.0.2 || 2" | ||||
|           } | ||||
|         }, | ||||
|         "wrappy": { | ||||
|           "version": "1.0.2", | ||||
|           "bundled": true, | ||||
|           "dev": true | ||||
|         }, | ||||
|         "yallist": { | ||||
|           "version": "3.0.3", | ||||
|           "bundled": true, | ||||
|           "dev": true | ||||
|         } | ||||
|         "bindings": "^1.5.0", | ||||
|         "nan": "^2.12.1" | ||||
|       } | ||||
|     }, | ||||
|     "get-caller-file": { | ||||
|  | @ -1351,10 +861,13 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "get-stream": { | ||||
|       "version": "3.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", | ||||
|       "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", | ||||
|       "dev": true | ||||
|       "version": "4.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", | ||||
|       "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "pump": "^3.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "get-value": { | ||||
|       "version": "2.0.6", | ||||
|  | @ -1363,9 +876,9 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "glob": { | ||||
|       "version": "7.1.4", | ||||
|       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", | ||||
|       "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", | ||||
|       "version": "7.1.6", | ||||
|       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", | ||||
|       "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "fs.realpath": "^1.0.0", | ||||
|  | @ -1419,9 +932,9 @@ | |||
|       } | ||||
|     }, | ||||
|     "graceful-fs": { | ||||
|       "version": "4.2.1", | ||||
|       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.1.tgz", | ||||
|       "integrity": "sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw==", | ||||
|       "version": "4.2.4", | ||||
|       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", | ||||
|       "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "has-flag": { | ||||
|  | @ -1485,9 +998,9 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "invert-kv": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", | ||||
|       "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", | ||||
|       "version": "2.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", | ||||
|       "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "is-accessor-descriptor": { | ||||
|  | @ -1663,9 +1176,9 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "js-yaml": { | ||||
|       "version": "3.13.1", | ||||
|       "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", | ||||
|       "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", | ||||
|       "version": "3.14.0", | ||||
|       "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", | ||||
|       "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "argparse": "^1.0.7", | ||||
|  | @ -1682,18 +1195,18 @@ | |||
|       } | ||||
|     }, | ||||
|     "kind-of": { | ||||
|       "version": "6.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", | ||||
|       "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", | ||||
|       "version": "6.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", | ||||
|       "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "lcid": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", | ||||
|       "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", | ||||
|       "version": "2.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", | ||||
|       "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "invert-kv": "^1.0.0" | ||||
|         "invert-kv": "^2.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "locate-path": { | ||||
|  | @ -1707,9 +1220,9 @@ | |||
|       } | ||||
|     }, | ||||
|     "lodash": { | ||||
|       "version": "4.17.15", | ||||
|       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", | ||||
|       "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", | ||||
|       "version": "4.17.20", | ||||
|       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", | ||||
|       "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "log-symbols": { | ||||
|  | @ -1721,14 +1234,13 @@ | |||
|         "chalk": "^2.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "lru-cache": { | ||||
|       "version": "4.1.5", | ||||
|       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", | ||||
|       "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", | ||||
|     "map-age-cleaner": { | ||||
|       "version": "0.1.3", | ||||
|       "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", | ||||
|       "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "pseudomap": "^1.0.2", | ||||
|         "yallist": "^2.1.2" | ||||
|         "p-defer": "^1.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "map-cache": { | ||||
|  | @ -1747,18 +1259,20 @@ | |||
|       } | ||||
|     }, | ||||
|     "mem": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", | ||||
|       "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", | ||||
|       "version": "4.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", | ||||
|       "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "mimic-fn": "^1.0.0" | ||||
|         "map-age-cleaner": "^0.1.1", | ||||
|         "mimic-fn": "^2.0.0", | ||||
|         "p-is-promise": "^2.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "merge2": { | ||||
|       "version": "1.2.4", | ||||
|       "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.4.tgz", | ||||
|       "integrity": "sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A==", | ||||
|       "version": "1.4.1", | ||||
|       "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", | ||||
|       "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "micromatch": { | ||||
|  | @ -1783,9 +1297,9 @@ | |||
|       } | ||||
|     }, | ||||
|     "mimic-fn": { | ||||
|       "version": "1.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", | ||||
|       "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", | ||||
|       "version": "2.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", | ||||
|       "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "minimatch": { | ||||
|  | @ -1798,9 +1312,9 @@ | |||
|       } | ||||
|     }, | ||||
|     "minimist": { | ||||
|       "version": "1.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", | ||||
|       "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", | ||||
|       "version": "1.2.5", | ||||
|       "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||||
|       "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "mixin-deep": { | ||||
|  | @ -1831,9 +1345,9 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "nan": { | ||||
|       "version": "2.14.0", | ||||
|       "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", | ||||
|       "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", | ||||
|       "version": "2.14.1", | ||||
|       "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", | ||||
|       "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", | ||||
|       "dev": true, | ||||
|       "optional": true | ||||
|     }, | ||||
|  | @ -1856,6 +1370,12 @@ | |||
|         "to-regex": "^3.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "nice-try": { | ||||
|       "version": "1.0.5", | ||||
|       "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", | ||||
|       "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "node-releases": { | ||||
|       "version": "1.1.3", | ||||
|       "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.3.tgz", | ||||
|  | @ -1969,22 +1489,34 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "os-locale": { | ||||
|       "version": "2.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", | ||||
|       "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", | ||||
|       "version": "3.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", | ||||
|       "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "execa": "^0.7.0", | ||||
|         "lcid": "^1.0.0", | ||||
|         "mem": "^1.1.0" | ||||
|         "execa": "^1.0.0", | ||||
|         "lcid": "^2.0.0", | ||||
|         "mem": "^4.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "p-defer": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", | ||||
|       "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "p-finally": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", | ||||
|       "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "p-is-promise": { | ||||
|       "version": "2.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", | ||||
|       "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "p-limit": { | ||||
|       "version": "1.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", | ||||
|  | @ -2170,11 +1702,15 @@ | |||
|       "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "pseudomap": { | ||||
|       "version": "1.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", | ||||
|       "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", | ||||
|       "dev": true | ||||
|     "pump": { | ||||
|       "version": "3.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", | ||||
|       "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "end-of-stream": "^1.1.0", | ||||
|         "once": "^1.3.1" | ||||
|       } | ||||
|     }, | ||||
|     "read-cache": { | ||||
|       "version": "1.0.0", | ||||
|  | @ -2194,9 +1730,9 @@ | |||
|       } | ||||
|     }, | ||||
|     "readable-stream": { | ||||
|       "version": "2.3.6", | ||||
|       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | ||||
|       "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | ||||
|       "version": "2.3.7", | ||||
|       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||||
|       "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "core-util-is": "~1.0.0", | ||||
|  | @ -2343,9 +1879,9 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "signal-exit": { | ||||
|       "version": "3.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", | ||||
|       "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", | ||||
|       "version": "3.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", | ||||
|       "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "slash": { | ||||
|  | @ -2468,12 +2004,12 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "source-map-resolve": { | ||||
|       "version": "0.5.2", | ||||
|       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", | ||||
|       "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", | ||||
|       "version": "0.5.3", | ||||
|       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", | ||||
|       "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "atob": "^2.1.1", | ||||
|         "atob": "^2.1.2", | ||||
|         "decode-uri-component": "^0.2.0", | ||||
|         "resolve-url": "^0.2.1", | ||||
|         "source-map-url": "^0.4.0", | ||||
|  | @ -2666,9 +2202,9 @@ | |||
|       } | ||||
|     }, | ||||
|     "upath": { | ||||
|       "version": "1.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", | ||||
|       "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", | ||||
|       "version": "1.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", | ||||
|       "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "urix": { | ||||
|  | @ -2763,23 +2299,17 @@ | |||
|       "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "yallist": { | ||||
|       "version": "2.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", | ||||
|       "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "yargs": { | ||||
|       "version": "11.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", | ||||
|       "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", | ||||
|       "version": "11.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", | ||||
|       "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "cliui": "^4.0.0", | ||||
|         "decamelize": "^1.1.1", | ||||
|         "find-up": "^2.1.0", | ||||
|         "get-caller-file": "^1.0.1", | ||||
|         "os-locale": "^2.0.0", | ||||
|         "os-locale": "^3.1.0", | ||||
|         "require-directory": "^2.1.1", | ||||
|         "require-main-filename": "^1.0.1", | ||||
|         "set-blocking": "^2.0.0", | ||||
|  |  | |||
|  | @ -5,3 +5,4 @@ | |||
| [build.environment] | ||||
|   HUGO_VERSION = "0.55.6" | ||||
|   HUGO_THEME = "repo" | ||||
|   NODE_VERSION = "12.2.0" | ||||
|  |  | |||
|  | @ -19,6 +19,6 @@ | |||
|   "dependencies": {}, | ||||
|   "devDependencies": { | ||||
|     "autoprefixer": "^9.5.0", | ||||
|     "postcss-cli": "^5.0.1" | ||||
|     "postcss-cli": "^7.1.1" | ||||
|   } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue