{"id":1501,"date":"2023-06-28T12:57:49","date_gmt":"2023-06-28T12:57:49","guid":{"rendered":"http:\/\/patriciocerda.com\/?p=1501"},"modified":"2023-06-28T13:03:46","modified_gmt":"2023-06-28T13:03:46","slug":"installing-kasten-on-openshift-using-kasten-operator-and-oauth","status":"publish","type":"post","link":"https:\/\/patriciocerda.com\/?p=1501","title":{"rendered":"Installing Kasten on OpenShift using Kasten Operator and OAuth"},"content":{"rendered":"<p>Hi all and welcome back!\u00a0 In a previous post I&#8217;ve already explained how to <a title=\"Instalar Kasten en Openshift con OAuth y Active Directory\" href=\"https:\/\/patriciocerda.com\/?p=1397\" target=\"_blank\" rel=\"noopener\">install Kasten on OpenShift using Helm.<\/a> \u00a0 In this post I&#8217;ll explain how to install Kasten on <strong>OpenShift<\/strong> using the <strong>Kasten Operator<\/strong>, and then how to enable authentication using OAuth.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contenidos<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/patriciocerda.com\/?p=1501\/#What_we_need\" >What we need:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/patriciocerda.com\/?p=1501\/#Installing_Kasten_Operator\" >Installing Kasten Operator<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/patriciocerda.com\/?p=1501\/#Creating_Service_Account_and_Secret_for_OAuth\" >Creating Service Account and Secret for OAuth<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/patriciocerda.com\/?p=1501\/#Installing_Kasten\" >Installing Kasten<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/patriciocerda.com\/?p=1501\/#Creating_OpenShift_Route\" >Creating OpenShift Route<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"What_we_need\"><\/span>What we need:<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Installing Kasten on OpenShift using the Kasten Operator is extremely easy, so all we need in this case is an OpenShift cluster up and running.<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Installing_Kasten_Operator\"><\/span>Installing Kasten Operator<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The first step of course is to install the Kasten Operator in the OpenShift cluster.\u00a0 So what we need to do is, in the OpenShift dashboard, go to <strong>Operators &gt; OperatorHub<\/strong> and search for Kasten.<\/p>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-15.59.10.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1502\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-15.59.10-300x138.png\" alt=\"Click to enlarge image\" width=\"439\" height=\"202\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-15.59.10-200x92.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-15.59.10-300x138.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-15.59.10-400x184.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-15.59.10-600x276.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-15.59.10-768x353.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-15.59.10-800x368.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-15.59.10-1024x471.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-15.59.10-1200x552.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-15.59.10-1536x706.png 1536w\" sizes=\"(max-width: 439px) 100vw, 439px\" \/><\/a><\/p>\n<p>For this post I&#8217;ll use the free option, so all we need to do is click in <strong>Kasten K10 (Free)<\/strong>.\u00a0 Then, in the pop-up windows you&#8217;ll get, just click in <strong>Install<\/strong> to install the operator.<\/p>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.33.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1505\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.33-300x218.png\" alt=\"Click to enlarge image\" width=\"376\" height=\"273\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.33-200x145.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.33-300x218.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.33-400x291.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.33-600x436.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.33-768x558.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.33-800x582.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.33-1024x745.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.33-1200x873.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.33-1536x1117.png 1536w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.33.png 1774w\" sizes=\"(max-width: 376px) 100vw, 376px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>In the next step, you can choose whether to install the Kasten operator in the &#8220;<strong>kasten-io<\/strong>&#8221; namespace (default) or in another namespace you want to use for this purpose.\u00a0\u00a0\u00a0 Then click in <strong>Install.<\/strong><\/p>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.45.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1506\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.45-300x134.png\" alt=\"\" width=\"399\" height=\"178\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.45-200x89.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.45-300x134.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.45-400x178.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.45-600x267.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.45-768x342.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.45-800x357.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.45-1024x456.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.45-1200x535.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-16.22.45-1536x685.png 1536w\" sizes=\"(max-width: 399px) 100vw, 399px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Creating_Service_Account_and_Secret_for_OAuth\"><\/span>Creating Service Account and Secret for OAuth<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In order to configure OAuth for Kasten authentication, first we need to create a Service Account and a Secret to be used by Kasten when integrating with OpenShift OAuth.\u00a0 Please run the following commands:<\/p>\n<ul>\n<li>Configure some variables to set the Kasten FQDN and specify the OpenShift API FQDN, in my case:\n<ul>\n<li>Kasten FQDN will be &#8220;kasten.apps.pcerda-ocp-demo.prcmdemolab.net&#8221;<\/li>\n<li>The OpenShift API FQDN is &#8220;api.pcerda-ocp-demo.prcmdemolab.net&#8221;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-1 > .CodeMirror, .fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-gutters {background-color:var(--awb-color1);}.fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-gutters { background-color: var(--awb-color2); }.fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color8); }<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-1 fusion-syntax-highlighter-theme-light\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:var(--awb-color3);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_1\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_1\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_1\" data-readOnly=\"nocursor\" data-lineNumbers=\"1\" data-lineWrapping=\"\" data-theme=\"default\" data-mode=\"text\/x-sh\">APPS_FQDN=kasten.apps.myopenshiftcluster.com\nAPI_FQDN=api.myopenshiftcluster.com<\/textarea><\/div>\n<ul>\n<li>Create a YAML file to create the Service Account called <strong>k10-dex-sa.\u00a0 <\/strong>This is the mandatory name for the SA used by Kasten for OAuth.<strong><br \/>\n<\/strong><\/li>\n<\/ul>\n<style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-2 > .CodeMirror, .fusion-syntax-highlighter-2 > .CodeMirror .CodeMirror-gutters {background-color:var(--awb-color1);}.fusion-syntax-highlighter-2 > .CodeMirror .CodeMirror-gutters { background-color: var(--awb-color2); }.fusion-syntax-highlighter-2 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color8); }<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-2 fusion-syntax-highlighter-theme-light\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:var(--awb-color3);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_2\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_2\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_2\" data-readOnly=\"nocursor\" data-lineNumbers=\"1\" data-lineWrapping=\"\" data-theme=\"default\" data-mode=\"text\/x-sh\">cat >   oauth-sa.yaml <<EOF\napiVersion: v1\nkind:   ServiceAccount\nmetadata:\n  name: k10-dex-sa\n  namespace: kasten-io\n  annotations:\n      serviceaccounts.openshift.io\/oauth-redirecturi.dex: http:\/\/${APPS_FQDN}\/k10\/dex\/callback\nEOF<\/textarea><\/div>\n<ul>\n<li>Create the Service Account from the YAML file created in the previous step.<\/li>\n<\/ul>\n<style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-3 > .CodeMirror, .fusion-syntax-highlighter-3 > .CodeMirror .CodeMirror-gutters {background-color:var(--awb-color1);}.fusion-syntax-highlighter-3 > .CodeMirror .CodeMirror-gutters { background-color: var(--awb-color2); }.fusion-syntax-highlighter-3 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color8); }<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-3 fusion-syntax-highlighter-theme-light\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:var(--awb-color3);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_3\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_3\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_3\" data-readOnly=\"nocursor\" data-lineNumbers=\"1\" data-lineWrapping=\"\" data-theme=\"default\" data-mode=\"text\/x-sh\">oc create -f   oauth-sa.yaml<\/textarea><\/div>\n<ul>\n<li>Create the Secret for the Service Account.<\/li>\n<\/ul>\n<style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-4 > .CodeMirror, .fusion-syntax-highlighter-4 > .CodeMirror .CodeMirror-gutters {background-color:var(--awb-color1);}.fusion-syntax-highlighter-4 > .CodeMirror .CodeMirror-gutters { background-color: var(--awb-color2); }.fusion-syntax-highlighter-4 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color8); }<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-4 fusion-syntax-highlighter-theme-light\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:var(--awb-color3);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_4\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_4\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_4\" data-readOnly=\"nocursor\" data-lineNumbers=\"1\" data-lineWrapping=\"\" data-theme=\"default\" data-mode=\"text\/x-sh\">desired_secret_name=\"k10-dex-sa-secret\"\n\nkubectl apply   --namespace=kasten-io --filename=- <<EOF\napiVersion: v1\nkind: Secret\ntype:   kubernetes.io\/service-account-token\nmetadata:\n  name: ${desired_secret_name}\n  annotations:\n    kubernetes.io\/service-account.name:   \"k10-dex-sa\"\nEOF<\/textarea><\/div>\n<ul>\n<li>Get the Secret token.<\/li>\n<\/ul>\n<style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-5 > .CodeMirror, .fusion-syntax-highlighter-5 > .CodeMirror .CodeMirror-gutters {background-color:var(--awb-color1);}.fusion-syntax-highlighter-5 > .CodeMirror .CodeMirror-gutters { background-color: var(--awb-color2); }.fusion-syntax-highlighter-5 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color8); }<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-5 fusion-syntax-highlighter-theme-light\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:var(--awb-color3);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_5\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_5\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_5\" data-readOnly=\"nocursor\" data-lineNumbers=\"1\" data-lineWrapping=\"\" data-theme=\"default\" data-mode=\"text\/x-sh\">k10token=$(kubectl -n kasten-io get secret   $desired_secret_name -o jsonpath='{.data.token}' | base64 -d)\n\necho $k10token<\/textarea><\/div>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.09.04.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1515\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.09.04-300x102.png\" alt=\"\" width=\"620\" height=\"211\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.09.04-200x68.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.09.04-300x102.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.09.04-400x136.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.09.04-600x203.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.09.04-768x260.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.09.04-800x271.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.09.04-1024x347.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.09.04-1200x407.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.09.04-1536x521.png 1536w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Installing_Kasten\"><\/span>Installing Kasten<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Once the operator is installed and we have created the Service Account and Secret for OAuth, the next step will be installing a Kasten instance.\u00a0\u00a0 Go to <strong>Operators &gt; Installed Operators<\/strong>.\u00a0\u00a0 You will the Kasten Operator installed in the previous step.<\/p>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.27.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1503\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.27-300x75.png\" alt=\"\" width=\"616\" height=\"154\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.27-200x50.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.27-300x75.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.27-400x101.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.27-600x151.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.27-768x193.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.27-800x201.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.27-1024x257.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.27-1200x302.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.27-1536x386.png 1536w\" sizes=\"(max-width: 616px) 100vw, 616px\" \/><\/a><\/p>\n<p>Click in the operator name (Kasten K10 Free) to get access to the Operator&#8217;s options.\u00a0\u00a0 Then, in the <strong>Details<\/strong> tab click in <strong>Create Instance<\/strong> in the K10 API.<\/p>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.40-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1507\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.40-1-300x213.png\" alt=\"\" width=\"458\" height=\"325\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.40-1-200x142.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.40-1-300x214.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.40-1-400x284.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.40-1-600x427.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.40-1-768x546.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.40-1-800x569.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.40-1-1024x728.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.40-1-1200x853.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.40-1-1536x1092.png 1536w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-17.08.40-1.png 2340w\" sizes=\"(max-width: 458px) 100vw, 458px\" \/><\/a><\/p>\n<p>In the Create K10 window, you can:<\/p>\n<ul>\n<li>Specify the <strong>name<\/strong> of the Kasten instance, by default <strong>k10<\/strong><\/li>\n<li>Set the<strong> authentication<\/strong> type.\u00a0 As you can see here, the only options you have are <strong>Basic Authentication<\/strong> and <strong>Token based Authentication<\/strong>.\u00a0 At this point <strong>we are not going<\/strong> to select any of these options.<\/li>\n<li>Enabling the <strong>Kasten Dashboard<\/strong>.\u00a0 The OpenShift route\u00a0 to access K10 Dashboard can be created automatically using the Operator, but the FQDN for the route will be set automatically by OpenShift.\u00a0 In theory, you could set in this step a custom FQDN for the route, but in all tests I&#8217;ve run the installation always fails when trying to use a custom FQDN.\u00a0 So at this point, <strong>I&#8217;ll not enable this option<\/strong>.<\/li>\n<\/ul>\n<p><strong>\u00a0<\/strong><\/p>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1509\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.12-300x233.png\" alt=\"\" width=\"466\" height=\"362\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.12-200x156.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.12-300x233.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.12-400x311.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.12-600x467.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.12-768x597.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.12-800x622.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.12-1024x796.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.12-1200x933.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.12-1536x1194.png 1536w\" sizes=\"(max-width: 466px) 100vw, 466px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Now, click in YAML View, as you can see in the image below.\u00a0 You can see the basic settings to install Kasten. <a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.45.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1512\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.45-300x276.png\" alt=\"\" width=\"479\" height=\"441\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.45-200x184.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.45-300x276.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.45-400x368.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.45-600x553.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.45-768x707.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.45-800x737.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.45-1024x943.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.45-1200x1105.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.22.45.png 1416w\" sizes=\"(max-width: 479px) 100vw, 479px\" \/><\/a><\/p>\n<p>From here you can include advance settings, including OAuth, as detailed in the Kasten documentation: <a href=\"https:\/\/docs.kasten.io\/latest\/install\/helm.html\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.kasten.io\/latest\/install\/helm.html<\/a><\/p>\n<p>In this point, we will include the following parameters in the auth section in order to enable OAuth for Kasten authentication.<\/p>\n<ul>\n<li><strong>clientSecret<\/strong>: The token we got after Secret creation.<\/li>\n<li><strong>dashboardURL<\/strong>: The URL to access Kasten dashboard.<\/li>\n<li><strong>enabled<\/strong>: true to enable Openshift authentication.<\/li>\n<li><strong>insecureCA<\/strong>: optional to enable or disabled the use of a valid CA certificate.<\/li>\n<li><strong>openshiftURL<\/strong>: The Openshift API URL.<\/li>\n<li><strong>serviceAccount<\/strong>: The name of the service account created in the previous section.\u00a0 For Kasten, the service account name must be <strong>k10-dex-sa<\/strong>.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-6 > .CodeMirror, .fusion-syntax-highlighter-6 > .CodeMirror .CodeMirror-gutters {background-color:var(--awb-color1);}.fusion-syntax-highlighter-6 > .CodeMirror .CodeMirror-gutters { background-color: var(--awb-color2); }.fusion-syntax-highlighter-6 > .CodeMirror .CodeMirror-linenumber { color: var(--awb-color8); }<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-6 fusion-syntax-highlighter-theme-light\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:var(--awb-color3);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_6\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_6\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_6\" data-readOnly=\"nocursor\" data-lineNumbers=\"1\" data-lineWrapping=\"\" data-theme=\"default\" data-mode=\"text\/x-sh\">    openshift:\n      clientSecret: \neyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rcTROWnRzZmRUQkJEc2F2emhpQzI3MGVkVDJXc0w5UGtWMm04ekpzMTAifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrYXN0ZW4taW8iLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlY3JldC5uYW1lIjoiazEwLWRleC1zYS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiazEwLWRleC1zYSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImQyN2QwMTViLTFlOTgtNDUyYy04YzhkLTIxMDEyMDkzN2IwNSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprYXN0ZW4taW86azEwLWRleC1zYSJ9.leqopkk-WyTaD09q5jPVhlr91fZ8kVX15PZFUwv_hy0USkisSPZiRZUI_0sSm7nr6IxWY3cqmGvS2c5AEu6YcCxppZScRs4d3VJej7q5PrT1Z9R5ZvF9bSUMjaB5X8Gy4DrkOrDSeAJVam6-SODNpx1XHy3wG7RjI-1zdiiiZyteBq_WsKXITBONq2pp6t0XgVnTwOL_9Pm2P9sOh_v_DY7Ad9Zom-kctcMEZdMF3m4kwS8nIdYhidxh91uqhZwTcFqATIHQj235X6cB9bNdc7X4eShwrKgibVk2lU5BolnDu52GDNFpV7d1_ESrZv7dIkVtEppknzdl-EFODAerOg5c-Srvf8m_QVZK5s7a8iEP-PLtCnCh8mlFvsdDza-yb2wwakzRMWkXMxBBnUb6y1ZmoiY6c4fFLyxXIJWtH5dlGsusbUv6N4ZrXzeCxRP2UqYWCWmUGqDiFJzG5105Khh8rHHq3hscS99FYt5DTvbFT64Yyr1V5IqikswbF5fH8gkQjIkMzS-ORSWRDy9MBl5dR89sgJCPu4HYEtq3AeQMJFSvMfSuHl_r7sk_N1nx0iBft3X4CJCJoD3H-CmrBnfkOLNSplxQmJLD6Ygjsbt2RfX0xvULXYVT-K0qVv4-OqoUyMX2P2XUxFnMFD-C5lsnA-hri46co1YEO70T1-M\n      dashboardURL: http:\/\/kasten.apps.pcerda-ocp-demo.prcmdemolab.net\/k10\/\n      enabled: true\n      insecureCA: true\n      openshiftURL: https:\/\/api.pcerda-ocp-demo.prcmdemolab.net:6443\n      serviceAccount: k10-dex-sa      <\/textarea><\/div>\n<p>&nbsp;<\/p>\n<p>The YAML file should look similar to the one in the picture bellow:<\/p>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.10.42.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1510\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.10.42-300x227.png\" alt=\"\" width=\"523\" height=\"396\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.10.42-200x151.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.10.42-300x227.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.10.42-400x303.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.10.42-600x454.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.10.42-768x581.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.10.42-800x605.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.10.42-1024x775.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.10.42-1200x908.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.10.42-1536x1162.png 1536w\" sizes=\"(max-width: 523px) 100vw, 523px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Click in <strong>Create<\/strong> to start Kasten installation.\u00a0 Then, make sure the K10 instance status is &#8220;initialized, Deployed&#8221; as you can see in the following picture:<\/p>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.11.38.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1516\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.11.38-300x125.png\" alt=\"\" width=\"300\" height=\"125\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.11.38-200x83.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.11.38-300x125.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.11.38-400x167.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.11.38-600x250.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.11.38-768x320.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.11.38-800x333.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.11.38-1024x426.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.11.38-1200x500.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.11.38-1536x640.png 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Creating_OpenShift_Route\"><\/span>Creating OpenShift Route<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>We already have Kasten up and running in our OpenShift cluster.\u00a0 The last step now, is to have Kasten accesible via dashboard, so we need to create the proper Route in OpenShift.\u00a0 So, we go to <strong>Networking &gt; Routes<\/strong> in the OpenShift dashboard.<\/p>\n<ul>\n<li>We make sure we are using in the <strong>kasten-io<\/strong> project.<\/li>\n<li>Click in &#8220;<strong>Create Route<\/strong>&#8220;<\/li>\n<li>Next we use the following setting:\n<ul>\n<li><strong>Name<\/strong>: Route name<\/li>\n<li><strong>Hostname<\/strong>: Kasten FQDN.\u00a0 This must match with the <strong>dashboardURL<\/strong> that we have set in the configuration during Kasten installation.<\/li>\n<li><strong>Path<\/strong>: Must be &#8220;\/k10\/&#8221;<\/li>\n<li><strong>Service<\/strong>: Select &#8220;gateway&#8221;<\/li>\n<li><strong>Target Port<\/strong>: Select 8000 -&gt; 8000<\/li>\n<\/ul>\n<\/li>\n<li>Finally click on <strong>Create<\/strong> to create the Route.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.12.15.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1517 aligncenter\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.12.15-300x289.png\" alt=\"\" width=\"388\" height=\"374\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.12.15-200x193.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.12.15-300x289.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.12.15-400x385.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.12.15-600x578.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.12.15-768x740.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.12.15-800x771.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.12.15-1024x987.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.12.15-1200x1156.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-27-a-las-17.12.15-1536x1480.png 1536w\" sizes=\"(max-width: 388px) 100vw, 388px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>Once the Route is created you should see something like this:<\/li>\n<\/ul>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-28-a-las-14.43.44.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1520\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-28-a-las-14.43.44-300x62.png\" alt=\"\" width=\"411\" height=\"85\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-28-a-las-14.43.44-200x41.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-28-a-las-14.43.44-300x62.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-28-a-las-14.43.44-400x83.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-28-a-las-14.43.44-600x124.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-28-a-las-14.43.44-768x158.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-28-a-las-14.43.44-800x165.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-28-a-las-14.43.44-1024x211.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-28-a-las-14.43.44-1200x248.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-28-a-las-14.43.44-1536x317.png 1536w\" sizes=\"(max-width: 411px) 100vw, 411px\" \/><\/a><\/p>\n<ul>\n<li>Click in the URL to access Kasten dashboard.\u00a0 The first thing you will see, it&#8217;s the OpenShift authentication page, where we should provide proper credentials with privileges to access Kasten.\u00a0 In my case, the OpenShift cluster isn&#8217;t integrated yet with any OIDC provider, so the only available user is kubeadmin:<\/li>\n<\/ul>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.12.37.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1518\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.12.37-300x173.png\" alt=\"\" width=\"300\" height=\"173\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.12.37-200x115.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.12.37-300x173.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.12.37-400x231.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.12.37-600x346.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.12.37-768x443.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.12.37-800x461.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.12.37-1024x590.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.12.37-1200x692.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.12.37-1536x885.png 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>Once the authentication is complete, you can start using Kasten:<\/li>\n<\/ul>\n<p><a href=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.13.08.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1519\" src=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.13.08-300x117.png\" alt=\"\" width=\"456\" height=\"178\" srcset=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.13.08-200x78.png 200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.13.08-300x117.png 300w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.13.08-400x156.png 400w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.13.08-600x234.png 600w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.13.08-768x300.png 768w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.13.08-800x312.png 800w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.13.08-1024x400.png 1024w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.13.08-1200x468.png 1200w, https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/Captura-de-pantalla-2023-06-26-a-las-22.13.08-1536x599.png 1536w\" sizes=\"(max-width: 456px) 100vw, 456px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>As you can see, Kasten installation using Operators in OpenShift is quite easy, and also is very simple to include OAuth integration for Kasten authentication.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hi all and welcome back!\u00a0 In a previous post I&#8217;ve<\/p>\n","protected":false},"author":1,"featured_media":1522,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[25,67,27,72,68,43],"tags":[37,33,32,29,31,70,75,69,30],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Installing Kasten on OpenShift using Kasten Operator and OAuth - vLatam<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/patriciocerda.com\/?p=1501\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Installing Kasten on OpenShift using Kasten Operator and OAuth - vLatam\" \/>\n<meta property=\"og:description\" content=\"Hi all and welcome back!\u00a0 In a previous post I&#8217;ve\" \/>\n<meta property=\"og:url\" content=\"https:\/\/patriciocerda.com\/?p=1501\" \/>\n<meta property=\"og:site_name\" content=\"vLatam\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-28T12:57:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-28T13:03:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/IntroBlog1501.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"pcerda\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"pcerda\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/patriciocerda.com\/?p=1501\",\"url\":\"https:\/\/patriciocerda.com\/?p=1501\",\"name\":\"Installing Kasten on OpenShift using Kasten Operator and OAuth - vLatam\",\"isPartOf\":{\"@id\":\"https:\/\/patriciocerda.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/patriciocerda.com\/?p=1501#primaryimage\"},\"image\":{\"@id\":\"https:\/\/patriciocerda.com\/?p=1501#primaryimage\"},\"thumbnailUrl\":\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/IntroBlog1501.png\",\"datePublished\":\"2023-06-28T12:57:49+00:00\",\"dateModified\":\"2023-06-28T13:03:46+00:00\",\"author\":{\"@id\":\"https:\/\/patriciocerda.com\/#\/schema\/person\/613aa192d7dbcedcd20e08318891aa2a\"},\"breadcrumb\":{\"@id\":\"https:\/\/patriciocerda.com\/?p=1501#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/patriciocerda.com\/?p=1501\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/patriciocerda.com\/?p=1501#primaryimage\",\"url\":\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/IntroBlog1501.png\",\"contentUrl\":\"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/IntroBlog1501.png\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/patriciocerda.com\/?p=1501#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/patriciocerda.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Installing Kasten on OpenShift using Kasten Operator and OAuth\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/patriciocerda.com\/#website\",\"url\":\"https:\/\/patriciocerda.com\/\",\"name\":\"vLatam\",\"description\":\"El Blog de Patricio Cerda\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/patriciocerda.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/patriciocerda.com\/#\/schema\/person\/613aa192d7dbcedcd20e08318891aa2a\",\"name\":\"pcerda\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/patriciocerda.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/patriciocerda.com\/wp-content\/litespeed\/avatar\/ce92117b9294544adeaad229a8fbac13.jpg?ver=1776167859\",\"contentUrl\":\"https:\/\/patriciocerda.com\/wp-content\/litespeed\/avatar\/ce92117b9294544adeaad229a8fbac13.jpg?ver=1776167859\",\"caption\":\"pcerda\"},\"url\":\"https:\/\/patriciocerda.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Installing Kasten on OpenShift using Kasten Operator and OAuth - vLatam","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/patriciocerda.com\/?p=1501","og_locale":"en_US","og_type":"article","og_title":"Installing Kasten on OpenShift using Kasten Operator and OAuth - vLatam","og_description":"Hi all and welcome back!\u00a0 In a previous post I&#8217;ve","og_url":"https:\/\/patriciocerda.com\/?p=1501","og_site_name":"vLatam","article_published_time":"2023-06-28T12:57:49+00:00","article_modified_time":"2023-06-28T13:03:46+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/IntroBlog1501.png","type":"image\/png"}],"author":"pcerda","twitter_card":"summary_large_image","twitter_misc":{"Written by":"pcerda","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/patriciocerda.com\/?p=1501","url":"https:\/\/patriciocerda.com\/?p=1501","name":"Installing Kasten on OpenShift using Kasten Operator and OAuth - vLatam","isPartOf":{"@id":"https:\/\/patriciocerda.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/patriciocerda.com\/?p=1501#primaryimage"},"image":{"@id":"https:\/\/patriciocerda.com\/?p=1501#primaryimage"},"thumbnailUrl":"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/IntroBlog1501.png","datePublished":"2023-06-28T12:57:49+00:00","dateModified":"2023-06-28T13:03:46+00:00","author":{"@id":"https:\/\/patriciocerda.com\/#\/schema\/person\/613aa192d7dbcedcd20e08318891aa2a"},"breadcrumb":{"@id":"https:\/\/patriciocerda.com\/?p=1501#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/patriciocerda.com\/?p=1501"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/patriciocerda.com\/?p=1501#primaryimage","url":"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/IntroBlog1501.png","contentUrl":"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/IntroBlog1501.png","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/patriciocerda.com\/?p=1501#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/patriciocerda.com\/"},{"@type":"ListItem","position":2,"name":"Installing Kasten on OpenShift using Kasten Operator and OAuth"}]},{"@type":"WebSite","@id":"https:\/\/patriciocerda.com\/#website","url":"https:\/\/patriciocerda.com\/","name":"vLatam","description":"El Blog de Patricio Cerda","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/patriciocerda.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/patriciocerda.com\/#\/schema\/person\/613aa192d7dbcedcd20e08318891aa2a","name":"pcerda","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/patriciocerda.com\/#\/schema\/person\/image\/","url":"https:\/\/patriciocerda.com\/wp-content\/litespeed\/avatar\/ce92117b9294544adeaad229a8fbac13.jpg?ver=1776167859","contentUrl":"https:\/\/patriciocerda.com\/wp-content\/litespeed\/avatar\/ce92117b9294544adeaad229a8fbac13.jpg?ver=1776167859","caption":"pcerda"},"url":"https:\/\/patriciocerda.com\/?author=1"}]}},"jetpack_featured_media_url":"https:\/\/patriciocerda.com\/wp-content\/uploads\/2023\/06\/IntroBlog1501.png","_links":{"self":[{"href":"https:\/\/patriciocerda.com\/index.php?rest_route=\/wp\/v2\/posts\/1501"}],"collection":[{"href":"https:\/\/patriciocerda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/patriciocerda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/patriciocerda.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/patriciocerda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1501"}],"version-history":[{"count":5,"href":"https:\/\/patriciocerda.com\/index.php?rest_route=\/wp\/v2\/posts\/1501\/revisions"}],"predecessor-version":[{"id":1524,"href":"https:\/\/patriciocerda.com\/index.php?rest_route=\/wp\/v2\/posts\/1501\/revisions\/1524"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/patriciocerda.com\/index.php?rest_route=\/wp\/v2\/media\/1522"}],"wp:attachment":[{"href":"https:\/\/patriciocerda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1501"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/patriciocerda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1501"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/patriciocerda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}