<!DOCTYPE html>
<html lang="en">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-112407000-2"></script>
<script>
    window.dataLayer = window.dataLayer || [];

    function gtag() {
        dataLayer.push(arguments);
    }
    gtag('js', new Date());

    gtag('config', 'UA-112407000-2');
</script>

<!-- Google Tag Manager -->
<script>
    (function (w, d, s, l, i) {
        w[l] = w[l] || [];
        w[l].push({
            'gtm.start': new Date().getTime(),
            event: 'gtm.js'
        });
        var f = d.getElementsByTagName(s)[0],
            j = d.createElement(s),
            dl = l != 'dataLayer' ? '&l=' + l : '';
        j.async = true;
        j.src =
            'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
        f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-KS8HHSF');
</script>
<!-- End Google Tag Manager -->

<head>
    	<title>Deploying Codewind remotely | Codewind</title>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<meta name="description" content="Deploying Codewind remotely">
	<meta name="keywords" content="users, projects, Kubernetes, LDAP, user management, access management, login, deployment, pod, security, securing cloud connection, remote deployment of Code..."/>
	<link rel="icon" type="image/png" sizes="16x16" href="images/favicon/favicon-16x16.png">
	<link rel="icon" type="image/png" sizes="32x32" href="images/favicon/favicon-32x32.png">
	<link href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans:300,400,600&display=swap" rel="stylesheet">
	<!-- Bootstrap CSS CDN -->
	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
	integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
	<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
	<link rel="stylesheet" href="css/styles.css">
	<link rel="stylesheet" href="css/docs.css">
	<link rel="stylesheet" href="css/learn.css">
	<link rel="stylesheet" href="css/blog.css">
	<link rel="stylesheet" href="css/guides.css">
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/themes/prism.min.css">


</head>

<body data-spy="scroll" data-target="#toc">
    <!-- Google Tag Manager (noscript) -->
    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KS8HHSF"
        height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
        <!-- End Google Tag Manager (noscript) -->
    <div class="main">
    <!-- Bootstrap NavBar -->
	<nav class="navbar navbar-expand-lg navbar-light cw-banner fixed-top" aria-label="topnav">
    		        <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse"
            data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false"
            aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <a class="navbar-brand" href="/codewind/">
            <img alt="Codewind logo image"  title="Codewind logo image" src="images/header/header-logo.svg" class="cw-header-logo" alt="">
        </a>
        <div class="collapse navbar-collapse justify-content-end cw-navbar-padding" id="navbarNavDropdown">
            <ul class="navbar-nav cw-navbar-nav">

                <li class="nav-item cw-navbar-item cw-header-link-docs">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="learn.html">Learn</a>
                </li>
                <li class="nav-item cw-navbar-item cw-header-link-news">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="news.html">News</a>
                </li>

                <li class="nav-item cw-navbar-item cw-header-link-blog">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="blog.html">Blog</a>
                </li>

                <li class="nav-item cw-navbar-item cw-header-link-guides">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="guides.html">Guides</a>
                </li>

                 <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://github.com/eclipse/codewind"><img alt="Codewind Github"  class="banner-image"  title="Codewind Github" data-toggle="tooltip" data-placement="top" id="cw_github_stars" title="..." src="images/header/github.svg"/></a>
                </li>

                <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://twitter.com/EclipseCodewind"><img alt="Codewind Twitter"  class="banner-image" title="Codewind Twitter" src="images/header/twitter.png"/></a>
                </li>
                 <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="Codewind Mattermost"  class="banner-image"  title="Codewind Mattermost" src="images/header/mattermost.png"/></a>
                </li>
                <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="Codewind YouTube"  class="banner-image" title="Codewind YouTube" src="images/header/youtube.png"/></a>
                </li>


                <!-- li class="nav-item cw-navbar-item" id="download-li">
                    <button onClick="window.location.href='https://microclimate.dev/download/codewind';" type="button" class="btn cw-download-button">Download</button>
                    <a href="https://microclimate.dev/download/codewind" class="nav-link cw-nav-link cw-download-link" href="#">Download</a>
                </li>  -->



                <!-- Smaller devices menu END -->

            </ul>
        </div>

    	</nav>
    	<!-- End Bootstrap NavBar -->
<!-- Bootstrap row -->
<div class="row" id="body-row">
    <div id="sidebar-container" class="bg-light" role="navigation" aria-label="sidebar">
    <!-- Bootstrap List Group -->
    <ul class="list-group sticky-top bg-light cw-sticky-offset">

        

        
        <a href="overview.html"
            class="bg-light list-group-item list-group-item-action flex-column align-items-start"
            data-url="overview.html">
            What is Codewind?
        </a>
        

        

        


        <!-- must be a valid css selector, or will break collapse function -->
        

        <a href="#_getting_started" id="#_getting_started"
            class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse"
            aria-expanded="false">Getting started<span class="submenu-icon"></span></a>
        <div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_getting_started">

            

            
            <a href="gettingstarted-overview.html" class="bg-light list-group-item" data-parent="#_getting_started"
                data-url="gettingstarted-overview.html">Overview: Getting started</a>
            

            

            

            

            <a href="#_vs_code" id="#_vs_code"
                class="bg-light list-group-item list-group-item-action flex-column align-items-start"
                data-toggle="collapse" data-parent="#_getting_started" aria-expanded="false">VS Code<span
                    class="submenu-icon"></span></a>

            <div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_vs_code">

                
                <a href="vsc-getting-started.html" class="bg-light list-group-item" data-parent="#_vs_code"
                    data-url="vsc-getting-started.html">1. Installing Codewind for VS Code</a>
                
                <a href="vsc-firstproject.html" class="bg-light list-group-item" data-parent="#_vs_code"
                    data-url="vsc-firstproject.html">2. Creating your first Codewind project with Codewind for VS Code</a>
                
                <a href="vsc-codechange.html" class="bg-light list-group-item" data-parent="#_vs_code"
                    data-url="vsc-codechange.html">3. Making a code change with VS Code</a>
                
            </div>
            

            

            

            

            <a href="#_eclipse" id="#_eclipse"
                class="bg-light list-group-item list-group-item-action flex-column align-items-start"
                data-toggle="collapse" data-parent="#_getting_started" aria-expanded="false">Eclipse<span
                    class="submenu-icon"></span></a>

            <div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_eclipse">

                
                <a href="eclipse-getting-started.html" class="bg-light list-group-item" data-parent="#_eclipse"
                    data-url="eclipse-getting-started.html">1. Installing Codewind for Eclipse</a>
                
                <a href="eclipse-firstproject.html" class="bg-light list-group-item" data-parent="#_eclipse"
                    data-url="eclipse-firstproject.html">2. Creating your first Codewind project with Codewind for Eclipse</a>
                
                <a href="eclipse-codechange.html" class="bg-light list-group-item" data-parent="#_eclipse"
                    data-url="eclipse-codechange.html">3. Making a code change with Eclipse</a>
                
            </div>
            

            

            

            

            <a href="#_intellij" id="#_intellij"
                class="bg-light list-group-item list-group-item-action flex-column align-items-start"
                data-toggle="collapse" data-parent="#_getting_started" aria-expanded="false">IntelliJ<span
                    class="submenu-icon"></span></a>

            <div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_intellij">

                
                <a href="intellij-getting-started.html" class="bg-light list-group-item" data-parent="#_intellij"
                    data-url="intellij-getting-started.html">1. Installing Codewind for IntelliJ</a>
                
                <a href="intellij-firstproject.html" class="bg-light list-group-item" data-parent="#_intellij"
                    data-url="intellij-firstproject.html">2. Creating your first Codewind project with Codewind for IntelliJ</a>
                
                <a href="intellij-codechange.html" class="bg-light list-group-item" data-parent="#_intellij"
                    data-url="intellij-codechange.html">3. Making a code change with IntelliJ</a>
                
            </div>
            

            
        </div>
        

        

        
        <a href="remote-deploying-codewind.html"
            class="bg-light list-group-item list-group-item-action flex-column align-items-start"
            data-url="remote-deploying-codewind.html">
            Deploying Codewind remotely
        </a>
        

        

        


        <!-- must be a valid css selector, or will break collapse function -->
        

        <a href="#_using_codewind_remotely" id="#_using_codewind_remotely"
            class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse"
            aria-expanded="false">Using Codewind remotely<span class="submenu-icon"></span></a>
        <div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_using_codewind_remotely">

            

            
            <a href="remote-codewind-overview.html" class="bg-light list-group-item" data-parent="#_using_codewind_remotely"
                data-url="remote-codewind-overview.html">1. Overview: Using Codewind remotely</a>
            

            

            

            

            <a href="#_2_connecting_your_ide_to_remote_codewind" id="#_2_connecting_your_ide_to_remote_codewind"
                class="bg-light list-group-item list-group-item-action flex-column align-items-start"
                data-toggle="collapse" data-parent="#_using_codewind_remotely" aria-expanded="false">2. Connecting your IDE to remote Codewind<span
                    class="submenu-icon"></span></a>

            <div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_2_connecting_your_ide_to_remote_codewind">

                
                <a href="remotedeploy-vscode.html" class="bg-light list-group-item" data-parent="#_2_connecting_your_ide_to_remote_codewind"
                    data-url="remotedeploy-vscode.html">Connecting VS Code to remote Codewind</a>
                
                <a href="remotedeploy-eclipse.html" class="bg-light list-group-item" data-parent="#_2_connecting_your_ide_to_remote_codewind"
                    data-url="remotedeploy-eclipse.html">Connecting Eclipse to remote Codewind</a>
                
            </div>
            

            

            
            <a href="remote-setupregistries.html" class="bg-light list-group-item" data-parent="#_using_codewind_remotely"
                data-url="remote-setupregistries.html">3. Adding an image registry in remote Codewind</a>
            

            

            

            

            <a href="#_4_creating_and_importing_projects" id="#_4_creating_and_importing_projects"
                class="bg-light list-group-item list-group-item-action flex-column align-items-start"
                data-toggle="collapse" data-parent="#_using_codewind_remotely" aria-expanded="false">4. Creating and importing projects<span
                    class="submenu-icon"></span></a>

            <div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_4_creating_and_importing_projects">

                
                <a href="remotedeploy-projects-vscode.html" class="bg-light list-group-item" data-parent="#_4_creating_and_importing_projects"
                    data-url="remotedeploy-projects-vscode.html">VS Code</a>
                
                <a href="remotedeploy-projects-eclipse.html" class="bg-light list-group-item" data-parent="#_4_creating_and_importing_projects"
                    data-url="remotedeploy-projects-eclipse.html">Eclipse</a>
                
            </div>
            

            
        </div>
        

        

        


        <!-- must be a valid css selector, or will break collapse function -->
        

        <a href="#_using_codewind_on_eclipse_che" id="#_using_codewind_on_eclipse_che"
            class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse"
            aria-expanded="false">Using Codewind on Eclipse Che<span class="submenu-icon"></span></a>
        <div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_using_codewind_on_eclipse_che">

            

            
            <a href="che-installinfo.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                data-url="che-installinfo.html">1. Installing Eclipse Che for Codewind</a>
            

            

            
            <a href="che-setupregistries.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                data-url="che-setupregistries.html">2. Adding an image registry in Codewind on Eclipse Che</a>
            

            

            
            <a href="openshiftregistry.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                data-url="openshiftregistry.html">2a. Adding the OpenShift internal registry with Codewind</a>
            

            

            
            <a href="che-createcodewindworkspace.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                data-url="che-createcodewindworkspace.html">3. Creating a Codewind workspace in Eclipse Che</a>
            

            

            
            <a href="che-createfirstproject.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                data-url="che-createfirstproject.html">4. Creating your first Codewind project with Codewind for Eclipse Che</a>
            

            

            
            <a href="che-codechange.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                data-url="che-codechange.html">5. Making a code change with Codewind for Eclipse Che</a>
            

            

            
            <a href="che-uninstall.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                data-url="che-uninstall.html">6. Uninstalling Codewind for Eclipse Che</a>
            

            
        </div>
        

        

        
        <a href="che-odo-support.html"
            class="bg-light list-group-item list-group-item-action flex-column align-items-start"
            data-url="che-odo-support.html">
            OpenShift Do (odo) support in Codewind
        </a>
        

        

        
        <a href="workingwithtemplates.html"
            class="bg-light list-group-item list-group-item-action flex-column align-items-start"
            data-url="workingwithtemplates.html">
            Working with templates
        </a>
        

        

        


        <!-- must be a valid css selector, or will break collapse function -->
        

        <a href="#_developing_projects" id="#_developing_projects"
            class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse"
            aria-expanded="false">Developing projects<span class="submenu-icon"></span></a>
        <div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_developing_projects">

            

            
            <a href="checkingstatuses.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                data-url="checkingstatuses.html">Understanding application and build statuses</a>
            

            

            
            <a href="importing-existing-projects.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                data-url="importing-existing-projects.html">Importing existing projects</a>
            

            

            
            <a href="project-actions.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                data-url="project-actions.html">Project actions</a>
            

            

            
            <a href="project-settings.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                data-url="project-settings.html">Project settings</a>
            

            

            
            <a href="referencing-files.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                data-url="referencing-files.html">Referencing files external to a project</a>
            

            

            
            <a href="private-registries.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                data-url="private-registries.html">Developing with packages from private registries and repositories</a>
            

            

            
            <a href="offline-codewind.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                data-url="offline-codewind.html">Using Codewind offline</a>
            

            

            
            <a href="debugging.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                data-url="debugging.html">Debugging in Codewind</a>
            

            
        </div>
        

        

        


        <!-- must be a valid css selector, or will break collapse function -->
        

        <a href="#_performance_monitoring" id="#_performance_monitoring"
            class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse"
            aria-expanded="false">Performance monitoring<span class="submenu-icon"></span></a>
        <div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_performance_monitoring">

            

            
            <a href="metrics-dashboard.html" class="bg-light list-group-item" data-parent="#_performance_monitoring"
                data-url="metrics-dashboard.html">Understanding the Metrics Dashboard</a>
            

            

            
            <a href="performance.html" class="bg-light list-group-item" data-parent="#_performance_monitoring"
                data-url="performance.html">Monitoring applications with the Performance Dashboard</a>
            

            
        </div>
        

        

        


        <!-- must be a valid css selector, or will break collapse function -->
        

        <a href="#_openapi_tools" id="#_openapi_tools"
            class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse"
            aria-expanded="false">OpenAPI Tools<span class="submenu-icon"></span></a>
        <div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_openapi_tools">

            

            
            <a href="open-api-tools-for-vscode.html" class="bg-light list-group-item" data-parent="#_openapi_tools"
                data-url="open-api-tools-for-vscode.html">Codewind OpenAPI Tools for VS Code</a>
            

            

            
            <a href="open-api-tools-for-eclipse.html" class="bg-light list-group-item" data-parent="#_openapi_tools"
                data-url="open-api-tools-for-eclipse.html">Codewind OpenAPI Tools for Eclipse</a>
            

            
        </div>
        

        

        
        <a href="che-tektonpipelines.html"
            class="bg-light list-group-item list-group-item-action flex-column align-items-start"
            data-url="che-tektonpipelines.html">
            Configuring Codewind for Tekton pipelines
        </a>
        

        

        
        <a href="troubleshooting.html"
            class="bg-light list-group-item list-group-item-action flex-column align-items-start"
            data-url="troubleshooting.html">
            Troubleshooting
        </a>
        

        

    </ul>
    <!-- List Group END-->
</div>
    <!-- MAIN -->
    <div id="content-container">
        <div class="py-5 px-5">
            <div class="cw-docs-spacer"></div>
            <div role="main"><h1 id="deploying-codewind-remotely">Deploying Codewind remotely</h1>

<p>Codewind can be used in one of three ways: <a href="./gettingstarted.html">locally</a>, <a href="./che-installinfo.html">hosted</a> as an application on the cloud, or remotely.</p>

<p>By deploying and using Codewind remotely, you can develop your code locally by using your local Codewind installation and then build and run your application in the cloud. Remote use of Codewind frees up desktop resources by using the cloud’s resources to build and run applications.</p>

<p>Follow the instructions to deploy Codewind remotely. After you install your local IDE and configure Codewind for local use, you will:</p>

<ol>
  <li>Install the Codewind operator in your cloud.</li>
  <li>Deploy your Codewind instances.</li>
</ol>

<p><strong>To connect your local IDE to your remote deployment of Codewind after it is deployed remotely:</strong> See <a href="remote-codewind-overview.html">Using Codewind remotely</a>.</p>

<p><strong>To remove a remote deployment of Codewind:</strong> See <a href="https://github.com/eclipse/codewind-operator/blob/master/README.md#removing-a-codewind-instance">Removing a Codewind instance</a>.</p>

<h2 id="prerequisites">Prerequisites</h2>

<p>Complete these steps before you deploy Codewind to the cloud:</p>

<ol>
  <li><strong>Install Codewind into your preferred IDE on your local computer.</strong> 
For more information, select from the following IDEs:
    <ul>
      <li><a href="./eclipse-getting-started.html">Getting started with Codewind for Eclipse</a></li>
      <li><a href="./vsc-getting-started.html">Getting started with Codewind for VS Code</a></li>
      <li><a href="./intellij-getting-started.html">Getting started with Codewind for IntelliJ</a></li>
    </ul>
  </li>
  <li><strong>Have an active Kubernetes context and log in to the cluster.</strong>
    <ul>
      <li>Codewind is validated on the following Kubernetes distributions:
        <ul>
          <li>IBM Cloud Kubernetes Service</li>
          <li>OpenShift 3.11</li>
          <li>OpenShift 4.3</li>
          <li>OpenShift in IBM Public Cloud</li>
          <li>Stand-alone Kubernetes</li>
          <li>Kubernetes in Docker</li>
        </ul>
      </li>
      <li>However, Codewind can run on any Kubernetes distribution that meets the following requirements:
        <ul>
          <li>Kubernetes 1.11 or later is included.</li>
          <li>ReadWriteMany (RWX) persistent volumes are supported.</li>
          <li>The Nginx Ingress Controller is installed.</li>
        </ul>
      </li>
      <li>If you want to test and document support for other clouds, you can <a href="https://github.com/eclipse/codewind">contribute in GitHub</a>.</li>
    </ul>
  </li>
  <li>
    <p><strong>For Linux desktop, ensure that your workstation is set up to use a Keyring.</strong> An example of a Keyring on Linux is Secret Service.</p>
  </li>
  <li><strong>Optional:</strong> Install a Git command line client. To download the Git command line client, see <a href="https://git-scm.com/download">https://git-scm.com/download</a>.</li>
</ol>

<h2 id="1-clone-or-download-the-codewind-operator-repository">1. Clone or download the Codewind operator repository</h2>

<p>The Codewind operator helps with the deployment of Codewind instances in an OpenShift or Kubernetes cluster. Your system administrator usually installs the Codewind operator.</p>

<p>Download the Codewind operator from the <a href="https://github.com/eclipse/codewind-operator">codewind-operator repository</a>, or if you installed Git, clone the <code class="highlighter-rouge">codewind-operator</code> repository, for example:</p>

<p><code class="highlighter-rouge">$ git clone https://github.com/eclipse/codewind-operator -b 0.12.0</code></p>

<p>For more information about the Codewind operator and the installation process, see the <a href="https://github.com/eclipse/codewind-operator/blob/master/README.md">Codewind operator readme file</a>.</p>

<h2 id="2-install-the-operator-into-your-cluster-and-deploy-keycloak">2. Install the operator into your cluster and deploy Keycloak</h2>

<ol>
  <li><a href="#2a-install-the-operator">Install the operator</a>.</li>
  <li><a href="#2b-change-the-admin-password-for-the-admin-user">Change the admin password for the admin user</a>.</li>
  <li><a href="#2c-update-the-keycloak-password-in-the-operator-secret-with-the-new-password">Update the Keycloak password in the operator secret with the new password</a>.</li>
</ol>

<h3 id="2a-install-the-operator">2a. Install the operator</h3>
<p>Use the <code class="highlighter-rouge">install.sh</code> script that is located in your cloned Codewind operator repository <code class="highlighter-rouge">deploy</code> folder to install the operator into your cluster and deploy Keycloak. If you use Windows, use a Unix-like shell such as Windows Subsystem for Linux, Git Bash, or MinGW to run the operator installer shell script. For example:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span><span class="nb">cd </span>deploy
<span class="nv">$ </span>./install.sh operator <span class="nt">-i</span> &lt;ingress_domain&gt;
</code></pre></div></div>

<p>Add the option <code class="highlighter-rouge">-o</code> flag if you are installing into an OpenShift 3.11 cluster, for example:</p>

<p><code class="highlighter-rouge">$ ./install.sh operator -i &lt;ingress_domain&gt; -o</code></p>

<p>The script installs the operator into your cluster, deploys Keycloak, and returns the Keycloak <strong>Access URL</strong>. The command returns the following example output:</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>NAME       NAMESPACE   AGE    ACCESS
devex001   codewind    122m   https://codewind-keycloak-devex001.&lt;ingress-domain&gt;
</code></pre></div></div>

<h3 id="2b-change-the-admin-password-for-the-admin-user">2b. Change the admin password for the admin user</h3>

<p>You must prepare Keycloak for Codewind by changing the admin password that is given to the <code class="highlighter-rouge">admin</code> user in the previous step.</p>

<ol>
  <li>
    <p>Access the Administration Console by clicking the <strong>Access URL</strong> link provided by Step 2a. To locate the <strong>Access URL</strong> link, enter the <code class="highlighter-rouge">$ kubectl get keycloaks -n codewind</code> command.</p>
  </li>
  <li>
    <p>Log in to Keycloak by using the Keycloak admin credentials.
     username: <code class="highlighter-rouge">admin</code>
     password: <code class="highlighter-rouge">admin</code></p>
  </li>
  <li>
    <p><strong>Important:</strong> After you log in, change the admin password by clicking the <strong>Admin</strong> link on the page. Then, click <strong>Manage Account</strong>&gt;<strong>Password</strong> and set a new replacement administrator password:</p>

    <p><img src="./images/remote/admin_link_manage_account.png" alt="Admin link" /></p>
  </li>
  <li>
    <p>Switch back to the admin console using the link or log out and log back in to Keycloak as the admin user with your new admin password.</p>
  </li>
</ol>

<p>You updated the Keycloak password. The next step updates the Keycloak password in the operator secret to match it.</p>

<h3 id="2c-update-the-keycloak-password-in-the-operator-secret-with-the-new-password">2c. Update the Keycloak password in the operator secret with the new password</h3>

<p>When the Codewind operator needs to update Keycloak, it uses login credentials that are saved in a Kubernetes secret. By default during initial deployment, that secret has a username and password of <strong>admin</strong>. If you changed your admin password in a previous step, you need to update the Keycloak secret to match.</p>

<p>The secret is installed in the same namespace as the Codewind operator and is named <code class="highlighter-rouge">secret-keycloak-user-&lt;keycloakname&gt;</code>.</p>

<p>If you have an administration UI for your cluster, you can use it to locate the secret and edit the <code class="highlighter-rouge">keycloak-admin-password</code> field, or you can use the command line tools:</p>

<p><code class="highlighter-rouge">$ kubectl edit secret secret-keycloak-user-&lt;keycloakname&gt; -n codewind</code></p>

<p>or</p>

<p><code class="highlighter-rouge">$ oc edit secret secret-keycloak-user-&lt;keycloakname&gt; -n codewind</code></p>

<p><strong>Note:</strong> Using the command line tools requires an extra step to base64 encode your password string before you save it into the secret. You can base64 encode your new password by using this command:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span><span class="nb">echo</span> <span class="nt">-n</span> <span class="s1">'&lt;myNewPassword&gt;'</span> | <span class="nb">base64
</span><span class="nv">bXlOZXdQYXNzd29yZA</span><span class="o">==</span>
</code></pre></div></div>

<p>Then, save <code class="highlighter-rouge">bXlOZXdQYXNzd29yZA==</code> as the value for <code class="highlighter-rouge">keycloak-admin-password</code> rather than the clear text <code class="highlighter-rouge">&lt;myNewPassword&gt;</code>.</p>

<h2 id="3-add-a-user-to-keycloak">3. Add a user to Keycloak</h2>

<ol>
  <li>
    <p>Access the Administration Console by clicking the <strong>Access URL</strong> link provided by Step 2a. To locate the <strong>Access URL</strong> link, enter the <code class="highlighter-rouge">$ kubectl get keycloaks -n codewind</code> command.</p>
  </li>
  <li>
    <p>Click <strong>Administration Console</strong> and log in to Keycloak with <code class="highlighter-rouge">admin</code> as the default login username and <code class="highlighter-rouge">password</code>, which is the new password that you set in Step 2b.</p>
  </li>
  <li>
    <p>Ensure that the <code class="highlighter-rouge">Realm</code> is set to <strong>Codewind</strong> by clicking the Codewind arrow on the <strong>Administration Console</strong> page:</p>

    <p><img src="./images/remote/codewind_dropdown.png" alt="Codewind arrow" /></p>

    <p>Select <strong>Codewind</strong> if necessary and complete these steps:</p>
    <ul>
      <li>Click <strong>Users</strong>.</li>
      <li>Click <strong>Add user</strong>.</li>
      <li>Complete the <strong>username</strong> field.</li>
      <li>Complete the <strong>email</strong>, <strong>Firstname</strong>, and <strong>Lastname</strong> fields as required.</li>
      <li>Ensure <strong>user enabled</strong> is <strong>On</strong>.</li>
      <li>Click <strong>Save</strong>.</li>
    </ul>
  </li>
  <li>
    <p>Assign an initial password to the user account by clicking <strong>Credentials</strong>. Then, add the initial password.</p>
  </li>
  <li>
    <p>The <strong>Temporary = On</strong> field requires you to change your password during first connection. Set <strong>Temporary = Off</strong> to make this password valid for continuous use and to prevent the need to change it on first connection.</p>
  </li>
  <li>
    <p>Click <strong>Set Password</strong> to save the changes. Log out of the Keycloak admin page.</p>
  </li>
</ol>

<h2 id="4-deploy-a-codewind-instance">4. Deploy a Codewind instance</h2>

<p>Use the <code class="highlighter-rouge">install.sh</code> script in the Codewind operator repository to deploy a Codewind instance:</p>

<p><code class="highlighter-rouge">$ ./install.sh codewind -n &lt;instanceName&gt; -u &lt;registeredUsername&gt;</code></p>

<ul>
  <li><code class="highlighter-rouge">instanceName</code> is the unique name that you specify for this Codewind instance.</li>
  <li><code class="highlighter-rouge">registeredUsername</code> is the name of the user that you added in <a href="#3-add-a-new-user-to-keycloak">Step 3</a>.</li>
</ul>

<p>Your Codewind instance is deployed. Access it by way of the <strong>Access URL</strong> returned by the script in a browser or by copying the URL into a new connection in your IDE.</p>

<p><strong>Note:</strong> When you are installing on Windows, the script runs and then closes the Git Bash window. To retrieve the Access URLs for Codewind, enter the following command:</p>

<p><code class="highlighter-rouge">$ kubectl get codewind -n codewind</code></p>

<p>This command returns output in the format of the following example:</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>NAME       USERNAME   NAMESPACE   AGE    KEYCLOAK   REGISTRATION   ACCESSURL
devex001   jane       codewind    119m   devex001   Complete       https://codewind-gatekeeper-devex001.&lt;ingress-domain&gt;
</code></pre></div></div>

<h2 id="next-steps">Next steps</h2>

<p>You finished installing the Codewind operator and deployed a Codewind instance.</p>

<p>In the next topic, you learn how to <a href="./remote-codewind-overview.html">use Codewind remotely</a>.</p>

<p>You can configure your IDE to connect to Codewind in the cloud. For more information, see <a href="remotedeploy-vscode.html">Connecting your VS Code to remote Codewind</a> or <a href="./remotedeploy-eclipse.html">Connecting your Eclipse to remote Codewind</a>.</p>

<p>If you want to remove a Codewind instance, see <a href="https://github.com/eclipse/codewind-operator/blob/master/README.md#removing-a-codewind-instance">Removing a Codewind instance</a>.</p>
</div>
        </div>

        <div class="py-5 px-5 text-right">
            Last update: Jun 02, 2020
        </div>

    </div>
</div>
<!-- footer row -->
<footer>

<div id="footer-div-mobile">
        
        <div class="row">
	        <div class="col-sm-12 text-center">
		        <span>Useful Links:</span>
		        <br/><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org">Eclipse Foundation</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal/termsofuse.php">Website Terms of Use</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal">Legal</a><br/>
		    </div>
        </div>
        <div class="cw_footer_display_flex cw-footer-same-height cw-footer-center">
        
        <div class="cw_footer_display_icons row">
    		<div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="mailto:codewind-dev@eclipse.org"><img alt="Send us an email"  title="Send us an email" src="images/footer/email-icon.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://twitter.com/EclipseCodewind"><img alt="Codewind Twitter"  title="Codewind Twitter" src="images/footer/twitter-logo.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://github.com/eclipse/codewind"><img alt="Codewind Github"  title="Codewind Github" src="images/footer/github-logo.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        

        <div class=" cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="Codewind Mattermost"  title="Codewind Mattermost" src="images/footer/mattermost-logo.png" class="cw-logo-mm" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="Codewind YouTube"  title="Codewind YouTube" src="images/footer/youtube-logo-dark.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    
                    <a href="http://www.eclipse.org"><img class="cw-logo-eclipse-mobile" alt="Eclipse"  title="Eclipse" src="images/footer/eclipse.svg"/></a>
                </div>
            </div>
        </div>
        </div>
        
		</div>
		
    </div>
    
    
    <div class="row cw-footer-desktop" id="footer-div">
        <div class="cw-footer-left">
        		<div class="px-5 cw-font-12>
	        <span class="cw-font-14">Useful Links:</span>
	        <br/><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org">Eclipse Foundation</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal/termsofuse.php">Website Terms of Use</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal">Legal</a><br/>
	        </div>
	        
        </div>
        <div class="cw-footer-border-right"></div>
        <div class="cw_footer_display_flex cw-footer-same-height cw-footer-center">
        <div class="cw_footer_display_icons">
    		<div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="mailto:codewind-dev@eclipse.org"><img alt="Send us an email"  title="Send us an email" src="images/footer/email-icon.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="https://twitter.com/EclipseCodewind"><img alt="Codewind Twitter"  title="Codewind Twitter" src="images/footer/twitter-logo.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        
        <div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="https://github.com/eclipse/codewind"><img alt="Codewind Github"  title="Codewind Github" src="images/footer/github-logo.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        

        <div class=" cw-footer-col text-center">
            <div class="cw-logo-mm" >
                <div class="cw-logo-mm" >
                    <a href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="Codewind Mattermost"  title="Codewind Mattermost" src="images/footer/mattermost-logo.png" class="cw-logo-mm" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="Codewind YouTube"   title="Codewind YouTube" src="images/footer/youtube-logo-dark.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        
        </div>
        
		</div>
		<div class="cw-footer-border-right"></div>
		<div class="cw-footer-right cw-footer-same-height cw-footer-vcenter">
		<div class="cw-footer-eclipse-img cw-footer-same-height px-5 ">
	        
		<a href="http://www.eclipse.org">
		<img alt="Eclipse"  title="Eclipse" src="images/footer/eclipse.svg"/>
		</a>
	        </div>
		</div>
    </div>
</footer>
<!-- footer row END -->
<!-- Main Col END -->
<!-- Jquery -->
<script
  src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
    integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous">
</script>



<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
    integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous">
</script>


<!-- Font Awesome JS -->
<script defer src="https://use.fontawesome.com/releases/v5.0.13/js/solid.js"
    integrity="sha384-tzzSw1/Vo+0N5UhStP3bvwWPq+uvzCMfrN1fEFe+xBmv1C/AtVX5K0uZtmcHitFZ" crossorigin="anonymous">
</script>
<script defer src="https://use.fontawesome.com/releases/v5.0.13/js/fontawesome.js"
    integrity="sha384-6OIrr52G08NpOFSZdxxz1xdNSndlD4vdcf/q2myIUVO0VsqaGHJsB0RaBE01VTOY" crossorigin="anonymous">
</script>

<script src="js/jquery.matchHeight-min.js"></script>
<script src="js/index.js"></script>
<script src="js/docs.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/prism.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/components/prism-docker.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/components/prism-json.min.js"></script>

</div>
</body>

</html>



<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.2.0/anchor.min.js"></script>
<script>
    $(document).ready(function () {

        anchors.options.placement = 'left';
        anchors.add('h1');
        anchors.add('h2');
        anchors.add('h3');
        anchors.add('h4');
    });
</script>