blob: 23f714790a045a3ddb21578067e5b62ba7ebccec [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>Installing Eclipse Che for Codewind | 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="Installing Eclipse Che for Codewind">
<meta name="keywords" content="build, deploy, install, installing, installation, chart, Helm, develop, cloud, public cloud, services, command line, cli, command, start, stop, update, open,..."/>
<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="cw-current-page 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="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-eclipse-che-for-codewind">Installing Eclipse Che for Codewind</h1>
<p>Install Che to use with Codewind or prepare to use Codewind with an existing Che installation.</p>
<h2 id="prerequisites">Prerequisites</h2>
<ol>
<li>Set up PersistentVolumes (PVs) that support both <code class="highlighter-rouge">ReadWriteOnce</code> (RWO) and <code class="highlighter-rouge">ReadWriteMany</code> (RWX) access modes and have a minimum of 1 Gi storage.
<ul>
<li>One volume is required for Che, and two volumes are required for each Codewind workspace.</li>
<li>For Network File System (NFS) shares, set 777 permissions for the exported folders and ownership of <code class="highlighter-rouge">nobody:nogroup</code>.</li>
<li>Because Codewind uses <code class="highlighter-rouge">ReadWriteMany</code> (RWX) volumes to provide persistent storage, use NFS for storage on OpenShift 4.</li>
</ul>
</li>
<li>Ensure that the cluster can pull images from the <code class="highlighter-rouge">docker.io/eclipse</code> and <code class="highlighter-rouge">quay.io/eclipse</code> registries.
<ul>
<li>Both Eclipse Che and Eclipse Codewind host Docker images at these locations.</li>
<li>Many clusters have image policies that control which registries you can use to pull images. Check your cluster documentation and ensure that the cluster image pull policies permit both of these registries.</li>
</ul>
</li>
<li>Set up the ClusterRole for Codewind:
<code class="highlighter-rouge">kubectl apply -f https://raw.githubusercontent.com/eclipse/codewind-che-plugin/0.9.0/setup/install_che/codewind-clusterrole.yaml</code></li>
</ol>
<h2 id="installing-che-with-chectl">Installing Che with chectl</h2>
<p>The fastest way to install Eclipse Che for Codewind is to use the <code class="highlighter-rouge">chectl</code> CLI. To install the <code class="highlighter-rouge">chectl</code> CLI tool, see <a href="https://www.eclipse.org/che/docs/che-7/installing-the-chectl-management-tool/">Installing the chectl management tool</a>.</p>
<p>After you install <code class="highlighter-rouge">chectl</code>, complete the following steps:</p>
<ol>
<li>Download the <a href="https://github.com/eclipse/codewind-che-plugin/blob/0.9.0/setup/install_che/che-operator/codewind-checluster.yaml">codewind-checluster.yaml</a> file.
<ul>
<li>You can modify this file, but leave the <code class="highlighter-rouge">spec.server.cheWorkspaceClusterRole</code> field set to <code class="highlighter-rouge">eclipse-codewind</code> and the <code class="highlighter-rouge">spec.storage.preCreateSubPaths</code> field set to <code class="highlighter-rouge">true</code>.</li>
</ul>
</li>
<li>If you’re installing Che on a Kubernetes platform other than OpenShift, determine your Ingress domain.
<ul>
<li>Set the <code class="highlighter-rouge">spec.server.ingressDomain</code> field in the Che <code class="highlighter-rouge">.yaml</code> file to the Ingress domain.</li>
<li>If you’re unsure of your Ingress domain, ask your cluster administrator.</li>
</ul>
</li>
<li>Install Che:
<ul>
<li>On OpenShift, run the following command: <code class="highlighter-rouge">chectl server:start --platform=openshift --installer=operator --che-operator-cr-yaml=codewind-checluster.yaml --che-operator-image=quay.io/eclipse/che-operator:7.5.1</code></li>
<li>On Kubernetes, run the following command: <code class="highlighter-rouge">chectl server:start --platform=k8s --installer=operator --domain=&lt;ingress-domain&gt; --che-operator-cr-yaml=codewind-checluster.yaml --che-operator-image=quay.io/eclipse/che-operator:7.5.1</code></li>
</ul>
</li>
</ol>
<h2 id="updating-an-existing-che-installation">Updating an existing Che installation</h2>
<p>If you already have a Che installation, you can update it for Codewind.</p>
<p>After creating the Codewind ClusterRole from the <a href="#prerequisites">Prerequisites</a>, run the following command, where <code class="highlighter-rouge">$NAMESPACE</code> is the namespace that your Che workspaces run in. By default, this namespace is <code class="highlighter-rouge">che</code>.</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>kubectl apply -f https://raw.githubusercontent.com/eclipse/codewind-che-plugin/0.9.0/setup/install_che/codewind-rolebinding.yaml -n $NAMESPACE
</code></pre></div></div>
<h2 id="enabling-privileged-and-root-containers-to-run">Enabling privileged and root containers to run</h2>
<p>Codewind needs to run as privileged and as root because it builds container images. If your cluster is running OpenShift, run the following commands, where <code class="highlighter-rouge">&lt;che namespace&gt;</code> is the namespace into which you installed Che.</p>
<ol>
<li>To enable privileged containers, enter <code class="highlighter-rouge">oc adm policy add-scc-to-user privileged system:serviceaccount:&lt;che namespace&gt;:che-workspace</code>.</li>
<li>To enable containers to run as root, enter <code class="highlighter-rouge">oc adm policy add-scc-to-user anyuid system:serviceaccount:&lt;che namespace&gt;:che-workspace</code>.</li>
</ol>
<p>Next step: <a href="mdt-che-setupregistries.html">Adding registries in Che</a></p>
</div>
</div>
<div class="py-5 px-5 text-right">
Last update: Feb 17, 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>