blob: 05c3767c7d9a16fcd2aaa87b8c84a3ba202a5f60 [file] [log] [blame]
<!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>
<base href="/codewind/" />
<title>Deploying Codewind components combined | 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 all Codewind components">
<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-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="images/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="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="">
<img alt="Codewind logo image" title="Codewind logo image" src="images/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="gettingstarted.html">Docs</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-news">
<a class="nav-link cw-nav-link cw-header-link-text" href="https://medium.com/codewind">Blog</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/banner/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/banner/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/banner/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/banner/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">
<!-- Sidebar -->
<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">
<!-- Start single page getting started -->
<a href="overview.html"
class="bg-light list-group-item list-group-item-action">
What is Codewind?
</a>
<a href="#getting_started" data-url="gettingstarted.html" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
<div class="d-flex w-100 justify-content-start align-items-center">
<span class="menu-collapsed">Getting started</span>
<span class="submenu-icon"></span>
</div>
</a>
<div id="getting_started" class="cw-sidebar-div cw-sidebar-submenu collapse" style="">
<a href="#vs_code" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
VS Code
<span class="submenu-icon"></span>
</a>
<!-- 3d level - eclipse -->
<div id="vs_code" class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" style="">
<a href="mdt-vsc-getting-started.html"
class="bg-light list-group-item list-group-item-action">
Installing Codewind for VS Code
</a>
<a href="mdt-vsc-firstproject.html"
class="bg-light list-group-item list-group-item-action">
Creating your first project
</a>
<a href="vsc-codechange.html"
class="bg-light list-group-item list-group-item-action">
Making a code change
</a>
</div>
<a href="#eclipse" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
Eclipse
<span class="submenu-icon"></span>
</a>
<!-- 3d level - eclipse -->
<div id="eclipse" class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" style="">
<a href="mdt-eclipse-getting-started.html"
class="bg-light list-group-item list-group-item-action">
Installing Codewind for Eclipse
</a>
<a href="mdt-eclipse-firstproject.html"
class="bg-light list-group-item list-group-item-action">
Creating your first project
</a>
<a href="mdt-eclipse-codechange.html"
class="bg-light list-group-item list-group-item-action">
Making a code change
</a>
</div>
<a href="#eclipse_che" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
Eclipse Che
<span class="submenu-icon"></span>
</a>
<!-- 3d level - eclipse -->
<div id="eclipse_che" class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" style="">
<a href="mdt-che-installinfo.html"
class="bg-light list-group-item list-group-item-action">
Installing Eclipse Che for Codewind
</a>
<a href="mdt-che-setupregistries.html"
class="bg-light list-group-item list-group-item-action">
Adding registries in Che
</a>
<a href="mdt-che-createcodewindworkspace.html"
class="bg-light list-group-item list-group-item-action">
Creating a Codewind workspace in Che
</a>
<a href="mdt-che-tektonpipelines.html"
class="bg-light list-group-item list-group-item-action">
Setup to use Tekton Pipelines
</a>
<a href="mdt-che-usingtheia.html"
class="bg-light list-group-item list-group-item-action">
Using Codewind in Theia
</a>
<a href="mdt-che-odo-support.html"
class="bg-light list-group-item list-group-item-action">
OpenShift Do (odo) support in Codewind
</a>
<a href="openshiftregistry.html"
class="bg-light list-group-item list-group-item-action">
Using the OpenShift Registry
</a>
<a href="supportingmultipleusers.html"
class="bg-light list-group-item list-group-item-action">
Support for multiple users
</a>
<a href="viewkibanalogs.html"
class="bg-light list-group-item list-group-item-action">
Installing Kibana and filtering logs in IBM Cloud Private
</a>
<a href="mdt-che-uninstall.html"
class="bg-light list-group-item list-group-item-action">
Uninstalling Codewind for Eclipse Che
</a>
</div>
<a href="#intellij" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
IntelliJ
<span class="submenu-icon"></span>
</a>
<!-- 3d level - eclipse -->
<div id="intellij" class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" style="">
<a href="mdt-intellij-getting-started.html"
class="bg-light list-group-item list-group-item-action">
Installing Codewind for IntelliJ
</a>
</div>
</div>
<a href="#local_to_remote_development" data-url="" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
<div class="d-flex w-100 justify-content-start align-items-center">
<span class="menu-collapsed">Local to remote development</span>
<span class="submenu-icon"></span>
</div>
</a>
<div id="local_to_remote_development" class="cw-sidebar-div cw-sidebar-submenu collapse" style="">
<a href="remote-overview.html"
class="bg-light list-group-item list-group-item-action">
Overview
</a>
<a href="remotedeploy-combo.html"
class="cw-current-page bg-light list-group-item list-group-item-action">
Deploying all-in-one
</a>
<a href="remotedeploy-single.html"
class="bg-light list-group-item list-group-item-action">
Deploying components individually
</a>
<a href="remotedeploy-vscode.html"
class="bg-light list-group-item list-group-item-action">
Connecting VS Code to a remote deployment
</a>
<a href="remotedeploy-eclipse.html"
class="bg-light list-group-item list-group-item-action">
Connecting Eclipse to a remote deployment
</a>
<a href="remote-removing.html"
class="bg-light list-group-item list-group-item-action">
Removing a remote deployment
</a>
</div>
<a href="workingwithtemplates.html"
class="bg-light list-group-item list-group-item-action">
Working with templates
</a>
<a href="#developing_projects" data-url="" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
<div class="d-flex w-100 justify-content-start align-items-center">
<span class="menu-collapsed">Developing projects</span>
<span class="submenu-icon"></span>
</div>
</a>
<div id="developing_projects" class="cw-sidebar-div cw-sidebar-submenu collapse" style="">
<a href="checkingstatuses.html"
class="bg-light list-group-item list-group-item-action">
Checking the application and build statuses
</a>
<a href="importing-existing-projects.html"
class="bg-light list-group-item list-group-item-action">
Importing existing projects
</a>
<a href="project-settings.html"
class="bg-light list-group-item list-group-item-action">
Project settings
</a>
<a href="referencing-files.html"
class="bg-light list-group-item list-group-item-action">
Referencing files external to a project
</a>
</div>
<a href="#performance_monitoring" data-url="" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
<div class="d-flex w-100 justify-content-start align-items-center">
<span class="menu-collapsed">Performance monitoring</span>
<span class="submenu-icon"></span>
</div>
</a>
<div id="performance_monitoring" class="cw-sidebar-div cw-sidebar-submenu collapse" style="">
<a href="metrics-dashboard.html"
class="bg-light list-group-item list-group-item-action">
Understanding the Metrics Dashboard
</a>
<a href="performance.html"
class="bg-light list-group-item list-group-item-action">
Monitoring applications with the performance dashboard
</a>
</div>
<a href="#openapi_tools" data-url="" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
<div class="d-flex w-100 justify-content-start align-items-center">
<span class="menu-collapsed">OpenAPI Tools</span>
<span class="submenu-icon"></span>
</div>
</a>
<div id="openapi_tools" class="cw-sidebar-div cw-sidebar-submenu collapse" style="">
<a href="open-api-tools-for-vscode.html"
class="bg-light list-group-item list-group-item-action">
Codewind OpenAPI Tools for VS Code
</a>
<a href="open-api-tools-for-eclipse.html"
class="bg-light list-group-item list-group-item-action">
Codewind OpenAPI Tools for Eclipse
</a>
</div>
<a href="troubleshooting.html"
class="bg-light list-group-item list-group-item-action">
Troubleshooting
</a>
</ul>
<!-- List Group END-->
</div>
<!-- sidebar-container END -->
<!-- MAIN -->
<div id="content-container">
<div class="py-5 px-5">
<div class="cw-docs-spacer"></div>
<div role="main"><h1 id="installing-a-codewind-remote-deployment-all-in-one">Installing a Codewind remote deployment all-in-one</h1>
<p>Codewind includes a CLI to simplify the installation process. Find the <code class="highlighter-rouge">cwctl</code> CLI in your <code class="highlighter-rouge">HOME</code> directory under the <code class="highlighter-rouge">~/.codewind/&lt;version&gt;</code> path.</p>
<p>Use the following command to install an all-in-one deployment with a new Keycloak and a new Codewind service:</p>
<p><code class="highlighter-rouge">cwctl --insecure install remote</code></p>
<p>This command requires various flags to specify where and what to install.</p>
<h2 id="deploying-codewind-with-cwctl">Deploying Codewind with CWCTL</h2>
<ol>
<li>Open a new terminal window on your local workstation.</li>
<li>Go to your home directory and then to the Codewind CLI:</li>
</ol>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd ~/.codewind/0.8.0
</code></pre></div></div>
<p>Ensure that you are logged in to your Kubernetes or OpenShift cluster:</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ kubectl get namespaces
</code></pre></div></div>
<p>or</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ oc get namespaces
</code></pre></div></div>
<p>If the command is successful, you see a list of current namespaces. If not, ensure that you are logged into your Kubernetes or OpenShift cluster.</p>
<h2 id="determine-your-cloud-ingress-domain">Determine your Cloud ingress domain</h2>
<p>The CLI command requires an ingress domain. Enter the <code class="highlighter-rouge">oc get routes -n default</code> command and find your ingress domain based on any of the existing routes:</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
registry-console registry-console-default.mycluster-12345-7674b4bd9abbdeea5be228236d5275c9-0001.eu-gb.containers.appdomain.cloud registry-console registry-console passthrough None
</code></pre></div></div>
<p>In the example the ingress domain is:</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mycluster-12345-7674b4bd9abbdeea5be228236d5275c9-0001.eu-gb.containers.appdomain.cloud
</code></pre></div></div>
<h2 id="running-the-cli-command">Running the CLI command</h2>
<p>Determine the following values for your cloud deployment:</p>
<ul>
<li><code class="highlighter-rouge">namespace</code>: The <code class="highlighter-rouge">cwctl</code> command creates the namespace if it does not yet exist.</li>
<li><code class="highlighter-rouge">kadminuser</code> and <code class="highlighter-rouge">kadminpass</code>: Initial Keycloak administrator user name and password.</li>
<li><code class="highlighter-rouge">kdevuser</code> and <code class="highlighter-rouge">kdevpass</code>: A developer username and password that will be granted access to this deployment of Codewind. The <code class="highlighter-rouge">cwctl</code> command creates the user and adds it to the realm if it does not exist.</li>
<li><code class="highlighter-rouge">ingress</code>: The ingress domain for your cloud environment.</li>
</ul>
<p>Codewind on IBM Public Cloud requires Keycloak and Codewind to be installed separately. For deploying in IBM Public Cloud, follow the instructions in <a href="./remotedeploy-single.html">Install Codewind components and authentication services individually</a>. If you are not deploying in IBM Pubic Cloud, to install Codewind, enter the following example command:</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./cwctl --insecure install remote \
--namespace codewind-0001 \
--krealm codewind \
--kclient codewind \
--kadminuser admin \
--kadminpass passw0rd \
--kdevuser developer \
--kdevpass passw0rd \
--ingress mycluster-12345-7674b4bd9abbdeea0be228236d5275c9-0001.eu-gb.containers.appdomain.cloud
</code></pre></div></div>
<p>This command performs the following actions:</p>
<ul>
<li>Deploys Codewind into the <code class="highlighter-rouge">codewind-0001 </code>namespace.</li>
<li>Configures Keycloak with a realm called <code class="highlighter-rouge">codewind</code>.</li>
<li>Configures a client prefix of <code class="highlighter-rouge">codewind</code>.</li>
<li>Creates an initial Keycloak administrator user called <code class="highlighter-rouge">admin</code> with password <code class="highlighter-rouge">passw0rd</code>.</li>
<li>Creates an initial Codewind user called <code class="highlighter-rouge">developer</code> with password <code class="highlighter-rouge">passw0rd</code>.</li>
<li>Uses the ingress appropriate to the deployment environment.</li>
</ul>
<p>Running the command, you see the following example output:</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>INFO[0000] Checking namespace codewind-0001 exists
INFO[0000] Creating codewind-0001 namespace
INFO[0000] Using namespace : codewind-0001
INFO[0000] Container images :
INFO[0000] eclipse/codewind-pfe-amd64:latest
INFO[0000] eclipse/codewind-performance-amd64:latest
INFO[0000] eclipse/codewind-keycloak-amd64:latest
INFO[0000] eclipse/codewind-gatekeeper-amd64:latest
INFO[0000] Running on OpenShift: true
...
INFO[0156] Waiting for Codewind Gatekeeper to start on https://codewind-gatekeeper-k55333j0.mycluster-12345-7674b4bd9abbdeea5be228236d5275c9-0001.eu-gb.containers.appdomain.cloud
INFO[0159] Waiting for Codewind PFE to start
INFO[0159] Codewind is available at: https://codewind-gatekeeper-k55333j0.mycluster-12345-7674b4bd9abbdeea5be228236d5275c9-0001.eu-gb.containers.appdomain.cloud
</code></pre></div></div>
<p>Codewind is successfully deployed and is available.</p>
<p>Make a note of the address provided because you need it for configuring your IDE in the next step, for example: <code class="highlighter-rouge">https://codewind-gatekeeper-k55333j0.mycluster-12345-7674b4bd9abbdeea5be228236d5275c9-0001.eu-gb.containers.appdomain.cloud</code></p>
<p>Next step: Connect your <a href="remotedeploy-vscode.html">VSCode</a> or <a href="remotedeploy-eclipse.html">Eclipse</a> IDE to the new Codewind deployment.</p>
</div>
</div>
<div class="py-5 px-5 text-right">
Last update: Feb 13, 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/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/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/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/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/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/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/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/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/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/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/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/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>