forked from SW/traefik
2474 lines
134 KiB
HTML
2474 lines
134 KiB
HTML
|
|
|
|
|
|
|
|
<!doctype html>
|
|
<html lang="en" class="no-js">
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
|
|
|
<meta name="description" content="Traefik Documentation">
|
|
|
|
|
|
|
|
<meta name="author" content="containo.us">
|
|
|
|
|
|
<meta name="lang:clipboard.copy" content="Copy to clipboard">
|
|
|
|
<meta name="lang:clipboard.copied" content="Copied to clipboard">
|
|
|
|
<meta name="lang:search.language" content="en">
|
|
|
|
<meta name="lang:search.pipeline.stopwords" content="True">
|
|
|
|
<meta name="lang:search.pipeline.trimmer" content="True">
|
|
|
|
<meta name="lang:search.result.none" content="No matching documents">
|
|
|
|
<meta name="lang:search.result.one" content="1 matching document">
|
|
|
|
<meta name="lang:search.result.other" content="# matching documents">
|
|
|
|
<meta name="lang:search.tokenizer" content="[\s\-]+">
|
|
|
|
<link rel="shortcut icon" href="../../assets/img/traefik.icon.png">
|
|
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.3">
|
|
|
|
|
|
|
|
<title>Quick Start - Traefik</title>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../assets/stylesheets/application.30686662.css">
|
|
|
|
<link rel="stylesheet" href="../../assets/stylesheets/application-palette.a8b3c06d.css">
|
|
|
|
|
|
|
|
|
|
<meta name="theme-color" content="#00bcd4">
|
|
|
|
|
|
|
|
<script src="../../assets/javascripts/modernizr.74668098.js"></script>
|
|
|
|
|
|
|
|
<link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback">
|
|
<style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
|
|
|
|
|
|
<link rel="stylesheet" href="../../assets/fonts/material-icons.css">
|
|
|
|
|
|
<link rel="stylesheet" href="../../assets/styles/root.css">
|
|
|
|
<link rel="stylesheet" href="../../assets/styles/header.css">
|
|
|
|
<link rel="stylesheet" href="../../assets/styles/footer.css">
|
|
|
|
<link rel="stylesheet" href="../../assets/styles/menu.css">
|
|
|
|
<link rel="stylesheet" href="../../assets/styles/content.css">
|
|
|
|
<link rel="stylesheet" href="../../assets/styles/product-switcher.css">
|
|
|
|
<link rel="stylesheet" href="../../assets/styles/atom-one-light.css">
|
|
|
|
|
|
<!-- 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-NMWC63S');</script>
|
|
<!-- End Google Tag Manager -->
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body dir="ltr" data-md-color-primary="cyan" data-md-color-accent="cyan">
|
|
|
|
<svg class="md-svg">
|
|
<defs>
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="__github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
|
|
|
|
</defs>
|
|
</svg>
|
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|
<label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
|
|
|
|
<a href="#quick-start" tabindex="1" class="md-skip">
|
|
Skip to content
|
|
</a>
|
|
|
|
|
|
<div class="site-header-and-placeholder-wrapper">
|
|
<div class="header-placeholder">
|
|
{/* Do not remove this. It serves an important purpose. */}
|
|
</div>
|
|
|
|
<header class="site-header">
|
|
<div class="wrapper-1200">
|
|
<div class="left">
|
|
<div class="site-header__main">
|
|
<label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
|
|
<a href="https://containo.us/">
|
|
<img
|
|
class="site-header__logo"
|
|
alt="Load Balancer + Kubernetes Ingress + Service Mesh with Traefik and Maesh"
|
|
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNzciIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAxNzcgMzIiPgogICAgPHBhdGggZmlsbD0iIzA2MTAyQSIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMTIuNTM3IDhjLjQzMi0uNzU2IDEuMDQtLjc3IDEuNzg4LS43N0gyMS4ybDIuMzQ3LTQuMDFoLTEyLjkyTDMuMjg4IDE2bDcuMzM4IDEyLjc4aDEyLjkybC0yLjM0NC00LjAwNGgtNy4zNDV2LS4wMDNhMS41MjIgMS41MjIgMCAwIDEtMS4zMi0uNzczbC00LjEtNy4yMDVhMS41NjggMS41NjggMCAwIDEtLjAxLTEuNTcxTDEyLjUzNiA4ek04LjM3IDMxLjEyNUwuMjE2IDE2Ljc5NWExLjU3NCAxLjU3NCAwIDAgMS0uMDY1LS4xMjN2LS4wMDFsLS4wMTMtLjAyOHYtLjAwMmwtLjAxNS0uMDMyQTEuNTU1IDEuNTU1IDAgMCAxIDAgMTYuMDMzdi0uMDY2Yy4wMDQtLjE5NC4wNDQtLjM5LjEyMy0uNTc2bC4wMTQtLjAzMi4wMDEtLjAwMi4wMTMtLjAyOHYtLjAwMmMuMDItLjA0MS4wNDItLjA4Mi4wNjUtLjEyMkw4LjM3Ljg3NUExLjUyOCAxLjUyOCAwIDAgMSA5Ljc0NyAwaDE2LjQ0MWMuODQ1IDAgMS41My42OTUgMS41MyAxLjU1MiAwIC4zMzUtLjEwNS42NDYtLjI4My45bC0zLjU5OCA2LjMyNCAzLjY2IDYuNDMzYy4yNzIuNDY0LjI5NiAxLjA2LjAxMiAxLjU2MWwtMy42NzIgNi40NTQgMy41OTggNi4zMjRjLjE3OC4yNTQuMjgzLjU2NC4yODMuOSAwIC44NTctLjY4NSAxLjU1Mi0xLjUzIDEuNTUySDkuNzQ3YTEuNTI4IDEuNTI4IDAgMCAxLTEuMzc3LS44NzV6bTE1Ljc4NC0xNC42NEgxOC4yNGwtMi45NSA1LjE4N2g1LjkxMWwyLjk1Mi01LjE4N3ptLTkuNjkgNC43MDdsMi45NTQtNS4xOTEtMi45NTUtNS4xOTNMMTEuNTEgMTZsMi45NTUgNS4xOTJ6bTMuNzc4LTUuNjc3aDUuOTEybC0yLjk1NS01LjE5M2gtNS45MTFsMi45NTQgNS4xOTN6TTQyLjE2IDI0Yy0yLjAzNCAwLTMuNjA3LS41MjItNC43Mi0xLjU2Ny0xLjExMi0xLjA0NC0xLjcwNi0yLjUzLTEuNzgtNC40NTUtLjAxNC0uNC0uMDIxLTEuMDUyLS4wMjEtMS45NTYgMC0uOTE4LjAwNy0xLjU4NS4wMjItMiAuMDczLTEuODk2LjY3LTMuMzc0IDEuNzktNC40MzNDMzguNTcgOC41MjkgNDAuMTQgOCA0Mi4xNiA4YzEuMzExIDAgMi40NTMuMjI2IDMuNDI2LjY3OC45NzMuNDUyIDEuNzI4IDEuMDcgMi4yNjYgMS44NTVhNC44NCA0Ljg0IDAgMCAxIC44NSAyLjY0NXYuMDQ0YS4zOC4zOCAwIDAgMS0uMTQzLjMuNDgzLjQ4MyAwIDAgMS0uMzIuMTIyaC0yLjE0NWMtLjE3NyAwLS4zMS0uMDQtLjM5OC0uMTIyLS4wODgtLjA4MS0uMTYyLS4yMjYtLjIyLS40MzMtLjIyMi0uOTE5LS42MDUtMS41NjctMS4xNS0xLjk0NS0uNTQ1LS4zNzctMS4yNjctLjU2Ni0yLjE2Ni0uNTY2LTIuMTA4IDAtMy4yMDYgMS4xODUtMy4yOTQgMy41NTUtLjAxNS40LS4wMjIgMS4wMTUtLjAyMiAxLjg0NSAwIC44My4wMDcgMS40NTkuMDIyIDEuODg5LjA4OCAyLjM3IDEuMTg2IDMuNTU1IDMuMjk0IDMuNTU1Ljg4NCAwIDEuNjAyLS4xODkgMi4xNTUtLjU2Ni41NTMtLjM3OC45NC0xLjAyNiAxLjE2LTEuOTQ1LjA2LS4yMDcuMTMzLS4zNTIuMjIxLS40MzMuMDg5LS4wODIuMjIxLS4xMjIuMzk4LS4xMjJoMi4xNDVjLjEzMiAwIC4yNDYuMDQ0LjM0Mi4xMzMuMDk2LjA4OS4xMzYuMi4xMjIuMzMzYTQuODQgNC44NCAwIDAgMS0uODUxIDIuNjQ1Yy0uNTM4Ljc4NS0xLjI5MyAxLjQwMy0yLjI2NiAxLjg1NS0uOTczLjQ1Mi0yLjExNS42NzgtMy40MjYuNjc4em0xNS40NDQgMGMtMi4wMjYgMC0zLjYwMS0uNTExLTQuNzI1LTEuNTMzLTEuMTI1LTEuMDIzLTEuNzE2LTIuNTQxLTEuNzc1LTQuNTU2LS4wMTUtLjQzLS4wMjItMS4wNi0uMDIyLTEuODg5IDAtLjg0NC4wMDctMS40ODEuMDIyLTEuOTEuMDU5LTEuOTcxLjY2NS0zLjQ4MiAxLjgxOS00LjUzNEM1NC4wNzYgOC41MjYgNTUuNjM2IDggNTcuNjAzIDhjMS45NTIgMCAzLjUwOS41MjYgNC42NyAxLjU3OHMxLjc3MSAyLjU2MyAxLjgzIDQuNTMzYy4wMy44Ni4wNDUgMS40OTYuMDQ1IDEuOTExIDAgLjQtLjAxNSAxLjAzLS4wNDUgMS44OS0uMDU5IDIuMDE0LS42NTQgMy41MzItMS43ODYgNC41NTVDNjEuMTg2IDIzLjQ4OSA1OS42MTQgMjQgNTcuNjAzIDI0em0tLjA5OS0yLjZjLjk3NiAwIDEuNzQ4LS4yOTUgMi4zMTYtLjg4NS41NjktLjU5Ljg3NC0xLjQ5OC45MTgtMi43MjIuMDMtLjg4Ni4wNDQtMS40ODMuMDQ0LTEuNzkzIDAtLjM0LS4wMTUtLjkzNy0uMDQ0LTEuNzkzLS4wNDQtMS4yMS0uMzU3LTIuMTEzLS45NC0yLjcxLS41ODItLjU5OC0xLjM0Ny0uODk3LTIuMjk0LS44OTctLjk2MSAwLTEuNzMzLjI5OS0yLjMxNi44OTYtLjU4My41OTgtLjg4OSAxLjUwMi0uOTE4IDIuNzExQTU2LjEzMiA1Ni4xMzIgMCAwIDAgNTQuMjQ4IDE2YzAgLjc1Mi4wMDggMS4zNS4wMjIgMS43OTMuMDMgMS4yMS4zMzIgMi4xMTMuOTA3IDIuNzEuNTc1LjU5OCAxLjM1MS44OTcgMi4zMjcuODk3em0xMC4zMzcgMi40YS41MDIuNTAyIDAgMCAxLS4zNzItLjE1Ni41Mi41MiAwIDAgMS0uMTU0LS4zNzlWOC43NTdjMC0uMTYzLjA0OC0uMjk3LjE0My0uNDAxYS40OTMuNDkzIDAgMCAxIC4zODMtLjE1NmgxLjcwNmMuMjc3IDAgLjQ4OS4xMjYuNjM1LjM3OWw2LjI1NyA5Ljg5NVY4Ljc1N2MwLS4xNjMuMDQ3LS4yOTcuMTQyLS40MDFhLjQ5My40OTMgMCAwIDEgLjM4My0uMTU2aDEuODgyYS41MjguNTI4IDAgMCAxIC41NDcuNTU3djE0LjQ4NmEuNTQ4LjU0OCAwIDAgMS0uMTU0LjQwMS41MDIuNTAyIDAgMCAxLS4zNzEuMTU2aC0xLjcyOWEuNzExLjcxMSAwIDAgMS0uNjU2LS4zNzlsLTYuMjM2LTkuNjcydjkuNTE2YS41NDIuNTQyIDAgMCAxLS4xNDIuMzc5LjQ5My40OTMgMCAwIDEtLjM4My4xNTZoLTEuODgxem0xOS4yMzMgMGEuNTAzLjUwMyAwIDAgMS0uMzczLS4xNTYuNTIuNTIgMCAwIDEtLjE1My0uMzc5di0xMi4yOGgtNC4wNTVhLjUwMy41MDMgMCAwIDEtLjM3My0uMTU1LjU0OC41NDggMCAwIDEtLjE1NC0uNDAxVjguNzU3YzAtLjE2My4wNDgtLjI5Ny4xNDMtLjQwMWEuNDk0LjQ5NCAwIDAgMSAuMzg0LS4xNTZoMTEuMmEuNTMuNTMgMCAwIDEgLjU0OS41NTd2MS42NzJhLjUzLjUzIDAgMCAxLS41NDguNTU3SDg5LjY2djEyLjI4YS41NDIuNTQyIDAgMCAxLS4xNDIuMzc4LjQ5NC40OTQgMCAwIDEtLjM4NC4xNTZoLTIuMDZ6bTcuMDM2IDBhLjQ1Ny40NTcgMCAwIDEtLjQ2Mi0uNDY4bC4wNDQtLjIgNS4yOC0xNC4zNzVjLjE0Ni0uMzcxLjQxLS41NTcuNzkxLS41NTdoMi40MmMuMzgxIDAgLjY0NS4xODYuNzkyLjU1N2w1LjI4IDE0LjM3NC4wNDQuMjAxYS40MzkuNDM5IDAgMCAxLS4xNDMuMzM0LjQ1Ni40NTYgMCAwIDEtLjMyLjEzNGgtMS45NTdjLS4zMDggMC0uNTItLjE0MS0uNjM4LS40MjNsLTEuMDEyLTIuNjk3aC02LjUxMmwtMS4wMTIgMi42OTdjLS4xMTcuMjgyLS4zMy40MjMtLjYzOC40MjNIOTQuMTF6bTQuNDg3LTUuOGg0Ljk1bC0yLjQ3NS02LjgtMi40NzUgNi44em0xMi44MDMgNS44YS41MDYuNTA2IDAgMCAxLS4zNzQtLjE1Ni41Mi41MiAwIDAgMS0uMTU0LS4zNzlWOC43MzVhLjUxLjUxIDAgMCAxIC41MjgtLjUzNWgyLjExMmMuMTYyIDAgLjI5LjA0OC4zODUuMTQ1YS41My41MyAwIDAgMSAuMTQzLjM5djE0LjUzYS41NC41NCAwIDAgMS0uMTQzLjM3OS40OTcuNDk3IDAgMCAxLS4zODUuMTU2SDExMS40em02LjkyNyAwYS41MDIuNTAyIDAgMCAxLS4zNzItLjE1Ni41Mi41MiAwIDAgMS0uMTUzLS4zNzlWOC43NTdjMC0uMTYzLjA0Ny0uMjk3LjE0Mi0uNDAxYS40OTMuNDkzIDAgMCAxIC4zODMtLjE1NmgxLjcwN2MuMjc3IDAgLjQ4OC4xMjYuNjM0LjM3OWw2LjI1OCA5Ljg5NVY4Ljc1N2MwLS4xNjMuMDQ3LS4yOTcuMTQyLS40MDFhLjQ5My40OTMgMCAwIDEgLjM4My0uMTU2aDEuODgxYS41MjguNTI4IDAgMCAxIC41NDcuNTU3djE0LjQ4NmEuNTQ4LjU0OCAwIDAgMS0uMTUzLjQwMS41MDIuNTAyIDAgMCAxLS4zNzIuMTU2aC0xLjcyOGEuNzExLjcxMSAwIDAgMS0uNjU3LS4zNzlsLTYuMjM1LTkuNjcydjkuNTE2YS41NDIuNTQyIDAgMCAxLS4xNDIuMzc5LjQ5My40OTMgMCAwIDEtLjM4My4xNTZoLTEuODgyem0yMS4yNDIuMmMtMi4wMjYgMC0zLjYwMS0uNTExLTQuNzI1LTEuNTMzLTEuMTI0LTEuMDIzLTEuNzE2LTIuNTQxLTEuNzc1LTQuNTU2LS4wMTUtLjQzLS4wMjItMS4wNi0uMDIyLTEuODg5IDAtLjg0NC4wMDctMS40ODEuMDIyLTEuOTEuMDYtMS45NzEuNjY2LTMuNDgyIDEuODItNC41MzRDMTM2LjA0MSA4LjUyNiAxMzcuNjAxIDggMTM5LjU2OCA4YzEuOTUzIDAgMy41MS41MjYgNC42NyAxLjU3OCAxLjE2MSAxLjA1MiAxLjc3MiAyLjU2MyAxLjgzIDQuNTMzLjAzLjg2LjA0NSAxLjQ5Ni4wNDUgMS45MTEgMCAuNC0uMDE1IDEuMDMtLjA0NCAxLjg5LS4wNiAyLjAxNC0uNjU1IDMuNTMyLTEuNzg2IDQuNTU1LTEuMTMyIDEuMDIyLTIuNzAzIDEuNTMzLTQuNzE1IDEuNTMzem0uMS0yLjZjLjk3NiAwIDEuNzQ4LS4yOTUgMi4zMTYtLjg4NS41NjgtLjU5Ljg3NC0xLjQ5OC45MTgtMi43MjIuMDI5LS44ODYuMDQzLTEuNDgzLjA0My0xLjc5MyAwLS4zNC0uMDE0LS45MzctLjA0My0xLjc5My0uMDQ0LTEuMjEtLjM1Ny0yLjExMy0uOTQtMi43MS0uNTgzLS41OTgtMS4zNDctLjg5Ny0yLjI5NC0uODk3LS45NjIgMC0xLjczNC4yOTktMi4zMTcuODk2LS41ODIuNTk4LS44ODggMS41MDItLjkxNyAyLjcxMWE1Ni4xMzEgNTYuMTMxIDAgMCAwLS4wMjIgMS43OTNjMCAuNzUyLjAwNyAxLjM1LjAyMiAxLjc5My4wMjkgMS4yMS4zMzEgMi4xMTMuOTA2IDIuNzEuNTc2LjU5OCAxLjM1Mi44OTcgMi4zMjguODk3ek0xNTUuNTQgMjRjLTEuOTg0IDAtMy41MjMtLjUxMi00LjYxNy0xLjUzNS0xLjA5NC0xLjAyNC0xLjY0MS0yLjU3NC0xLjY0MS00LjY1MVY4Ljc1NmMwLS4xNjMuMDQ3LS4yOTYuMTQyLS40YS40OTMuNDkzIDAgMCAxIC4zODMtLjE1NmgyLjAxM2EuNTI4LjUyOCAwIDAgMSAuNTQ3LjU1NnY5LjA1OGMwIDEuMTcyLjI3NCAyLjA1NC44MiAyLjY0OC41NDguNTkzIDEuMzI1Ljg5IDIuMzMxLjg5IDEuMDA3IDAgMS43ODQtLjI5NyAyLjMzMS0uODkuNTQ3LS41OTQuODItMS40NzYuODItMi42NDhWOC43NTZhLjUyOC41MjggMCAwIDEgLjU0Ny0uNTU2aDIuMDE0Yy4xNiAwIC4yODguMDUyLjM4My4xNTZhLjU3MS41NzEgMCAwIDEgLjE0Mi40djkuMDU4YzAgMi4wNzctLjU0MyAzLjYyNy0xLjYzIDQuNjVDMTU5LjAzOCAyMy40ODkgMTU3LjUxIDI0IDE1NS41NCAyNHptMTUuMTM2IDBjLTEuMzMyIDAtMi40NzEtLjItMy40MTgtLjYtLjk0Ny0uNC0xLjY2NC0uOTI2LTIuMTUyLTEuNTc4LS40ODktLjY1Mi0uNzQ4LTEuMzYzLS43NzctMi4xMzMgMC0uMTE5LjA0NC0uMjI2LjEzMy0uMzIyYS40MzQuNDM0IDAgMCAxIC4zMzMtLjE0NWgyLjAyYS42Ny42NyAwIDAgMSAuMzk5LjExMWMuMTAzLjA3NC4yLjE3OC4yODguMzExLjE0OC41MDQuNDg1LjkyNiAxLjAxIDEuMjY3LjUyNS4zNCAxLjI0Ni41MTEgMi4xNjQuNTExIDEuMDM1IDAgMS44MTUtLjE3NCAyLjM0LS41MjIuNTI2LS4zNDguNzg4LS44MjYuNzg4LTEuNDMzIDAtLjQtLjEzMy0uNzM0LS4zOTktMS0uMjY2LS4yNjctLjY3LS41LTEuMjEtLjctLjU0LS4yLTEuMzQyLS40NDEtMi40MDctLjcyMy0xLjc0Ni0uNDE0LTMuMDI2LS45NjMtMy44NC0xLjY0NC0uODEzLS42ODEtMS4yMi0xLjY2LTEuMjItMi45MzMgMC0uODYuMjM3LTEuNjI2LjcxLTIuMy40NzQtLjY3NCAxLjE1LTEuMjA0IDIuMDMtMS41OS44ODEtLjM4NCAxLjkwNi0uNTc3IDMuMDc0LS41NzcgMS4yMjggMCAyLjI5LjIxNSAzLjE4NS42NDQuODk1LjQzIDEuNTc1Ljk2NyAyLjA0MSAxLjYxMi40NjYuNjQ0LjcxNCAxLjI4NS43NDQgMS45MjJhLjQ2NC40NjQgMCAwIDEtLjEzMy4zMjIuNDM0LjQzNCAwIDAgMS0uMzMzLjE0NGgtMi4xMDhjLS4zMjYgMC0uNTQ4LS4xMzMtLjY2Ni0uNC0uMDc0LS40NzQtLjM2My0uODctLjg2Ni0xLjE4OC0uNTAzLS4zMTktMS4xMjQtLjQ3OC0xLjg2NC0uNDc4LS44MTMgMC0xLjQ1My4xNTUtMS45Mi40NjYtLjQ2NS4zMTItLjY5OC43NjMtLjY5OCAxLjM1NiAwIC40LjExOC43MzMuMzU1IDFzLjYwNi41IDEuMTEuN2MuNTAyLjIgMS4yMzUuNDI2IDIuMTk2LjY3OCAxLjMxNy4yOTYgMi4zNjQuNjMgMy4xNCAxIC43NzcuMzcgMS4zNS44MzcgMS43MiAxLjQuMzcuNTYzLjU1NSAxLjI4MS41NTUgMi4xNTUgMCAuOTYzLS4yNjMgMS43OTctLjc4OCAyLjUtLjUyNS43MDQtMS4yNjUgMS4yNDEtMi4yMTkgMS42MTEtLjk1NC4zNy0yLjA2LjU1Ni0zLjMxNy41NTZ6Ii8+Cjwvc3ZnPgo="
|
|
/>
|
|
</a>
|
|
</div>
|
|
|
|
<nav class="site-header__nav">
|
|
<div class="menu-item-wrapper menu-item-wrapper--dropdown">
|
|
<a class="menu-item menu-item--with-icon">
|
|
<span class="title">Products</span>
|
|
<span class="icon">
|
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down">
|
|
<polyline points="6 9 12 15 18 9"></polyline>
|
|
</svg>
|
|
</span>
|
|
</a>
|
|
|
|
<div class="nav-dropdown-menu nav-dropdown-menu--products">
|
|
<div class="nav-dropdown-menu-wrapper">
|
|
<div class="dm-header">Products</div>
|
|
<div class="dm-items">
|
|
<div class="dm-item dm-item--traefikee">
|
|
<div class="dmi-image">
|
|
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3OSIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDc5IDE2Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgPHBhdGggZmlsbD0iIzA2MTAyQSIgZD0iTTQuNzYyIDE2Yy0uODI4IDAtMS40ODctLjI3LTEuOTc2LS44MTEtLjQ5LS41NDgtLjczNC0xLjM4OC0uNzM0LTIuNTIxVjYuMzU0SC43MzRjLS4yMzcgMC0uNDItLjA1OC0uNTUtLjE3NUEuNjIxLjYyMSAwIDAgMSAwIDUuNzA4YzAtLjE5LjA2MS0uMzQ0LjE4NC0uNDYuMTIyLS4xMjUuMzAyLS4xODcuNTQtLjE4N2gxLjMyOGwuMjU5LTMuMTEzYS44NTkuODU5IDAgMCAxIC4zMDItLjYwMy45NTQuOTU0IDAgMCAxIC42MzctLjI1MmMuMjE2IDAgLjM5Ni4wNy41NC4yMDguMTQ0LjEzMi4yMTYuMzI2LjIxNi41ODF2My4xNzloMS45ODdjLjIzNyAwIC40MTMuMDYyLjUyOS4xODZhLjY1OC42NTggMCAwIDEgLjE4My40ODNjMCAuNDE2LS4yMzcuNjI0LS43MTIuNjI0SDQuMDA2djUuOTc0YzAgLjc1My4xMDQgMS4yOTcuMzEzIDEuNjMzLjIwOS4zMy41NC40OTQuOTkzLjQ5NGguMTJsLjczMy0uMDMzaC4wNjVjLjIzOCAwIC40MjUuMDc2LjU2Mi4yM2EuNzgyLjc4MiAwIDAgMSAuMjA1LjUzN2MwIC4xODMtLjA0LjMzMi0uMTIuNDVhLjY4My42ODMgMCAwIDEtLjM2Ni4yNGMtLjE1OS4wNTItLjMyLjA4NC0uNDg2LjFhNy4xMiA3LjEyIDAgMCAxLS42MjYuMDIxaC0uNjM3em01LjE4IDBjLS4yNyAwLS41LS4wOC0uNjktLjIzOC0uMTktLjE2LS4yODQtLjM4My0uMjg0LS42NzJWNi4xNTJjMC0uMjkuMDk4LS41MS4yOTUtLjY2MS4xOTctLjE1OS40My0uMjM4LjcwMS0uMjM4LjI3IDAgLjUuMDc5LjY5LjIzOC4xOTcuMTUyLjI5NS4zNjUuMjk1LjY0bC0uMDEgMS4zYTMuMjEgMy4yMSAwIDAgMSAxLjA5NC0xLjY4Yy41NTUtLjQ1NSAxLjIyLS42ODMgMS45OTMtLjY4My4yMzQgMCAuNDE2LjA4Ny41NDguMjZhLjk0My45NDMgMCAwIDEgLjIwOC42MDcuODg4Ljg4OCAwIDAgMS0uMTg2LjU2M2MtLjEyNC4xNTItLjMwMy4yMjgtLjUzNy4yMjgtLjk4NSAwLTEuNzUyLjI1My0yLjMuNzU4LS41NC41MDYtLjgxIDEuMTgxLS44MSAyLjAyNnY1LjU4YzAgLjI4OS0uMTAyLjUxMy0uMzA2LjY3Mi0uMTk3LjE1OS0uNDMuMjM4LS43LjIzOHptMjcuMDc0LS4yNTVjLS4xOTUuMTctLjQyNS4yNTUtLjY5Mi4yNTUtLjI2NiAwLS40OTctLjA4NS0uNjkxLS4yNTUtLjE4Ny0uMTc4LS4yOC0uNDIyLS4yOC0uNzMzVjYuMzg0aC0xLjQxNmMtLjIzOCAwLS40MTQtLjA1OS0uNTMtLjE3N2EuNjY1LjY2NSAwIDAgMS0uMTcyLS40NjcuNjguNjggMCAwIDEgLjE3My0uNDc3Yy4xMTUtLjEyNi4yOTEtLjE4OS41My0uMTg5aDEuNDE0di0xLjQxYzAtMS4zMjUuMjc0LTIuMjY1LjgyMS0yLjgyQzM2LjcyLjI4IDM3LjQ3NiAwIDM4LjQ0MSAwaDEuMzE4YS41Ny41NyAwIDAgMSAuNDg2LjIzMy44MS44MSAwIDAgMSAuMTg0LjUzMy44MS44MSAwIDAgMS0uMTg0LjUzM2MtLjExNS4xNDgtLjI4LjIyMi0uNDk3LjIyMmgtLjkxOGMtLjMxIDAtLjU1LjAzLS43MjMuMDg5LS4xNzMuMDUyLS4zMjguMTc0LS40NjUuMzY2LS4xMy4xODUtLjIyLjQ1Ni0uMjcuODExLS4wNDMuMzQ4LS4wNjUuODIyLS4wNjUgMS40MjF2Ljg2NmgxLjgyNmMuMjM3IDAgLjQxLjA2My41MTguMTg5YS42OC42OCAwIDAgMSAuMTczLjQ3N2MwIC40My0uMjMuNjQ0LS42OTEuNjQ0aC0xLjgyNnY4LjYyOGMwIC4zMS0uMDk3LjU1NS0uMjkxLjczM3ptNi4zNy0xMy4zNmMtLjM4NiAwLS42OTYtLjEwOC0uOTMtLjMyNC0uMjMzLS4yMjMtLjM1LS41MS0uMzUtLjg2M3MuMTE3LS42NC4zNS0uODYzYy4yNDEtLjIyMy41NTUtLjMzNS45NDItLjMzNS4zOCAwIC42ODYuMTEyLjkyLjMzNS4yMzMuMjE1LjM1LjUwMy4zNS44NjMgMCAuMzUzLS4xMTcuNjQtLjM1Ljg2My0uMjM0LjIxNi0uNTQ0LjMyNC0uOTMxLjMyNHpNNDMuMzcyIDE2YS45OTMuOTkzIDAgMCAxLS42ODYtLjI1M2MtLjE5LS4xNzYtLjI4NC0uNDI1LS4yODQtLjc0OFY2LjA2YzAtLjMwOS4wOTgtLjU1LjI5NC0uNzI3LjIwNC0uMTc2LjQ0LS4yNjQuNzA4LS4yNjQuMjYyIDAgLjQ4Ny4wODguNjc1LjI2NC4xOTYuMTc2LjI5NC40MTguMjk0LjcyNlYxNWMwIC4zMDgtLjEwMS41NTQtLjMwNS43MzdhMS4wMDkgMS4wMDkgMCAwIDEtLjY5Ni4yNjR6bTUuNjI2LS4yNzFhMS4wMiAxLjAyIDAgMCAxLS42OTguMjZjLS4yNyAwLS40OTgtLjA4My0uNjg3LS4yNS0uMTktLjE3My0uMjg0LS40MTktLjI4NC0uNzM3Vi45NzZjMC0uMzAzLjA5OC0uNTQyLjI5NS0uNzE2LjIwMy0uMTczLjQ0LS4yNi43MDktLjI2LjI2MSAwIC40ODcuMDg3LjY3Ni4yNi4xOTYuMTc0LjI5NC40MTMuMjk0LjcxNnY4Ljc5OGw0Ljk1My00LjUxM2EuNzc1Ljc3NSAwIDAgMSAuNTEyLS4yMDZjLjIzMyAwIC40MzcuMDkuNjExLjI3MS4xODIuMTguMjczLjM4My4yNzMuNjA4IDAgLjIwMi0uMDg3LjM4Ni0uMjYyLjU1M2wtMy45NiAzLjUyNSA0LjMzMSA0LjUzNGMuMTYuMTY3LjI0LjM1NS4yNC41NjVhLjgzNS44MzUgMCAwIDEtLjI4NC42MTguODcuODcgMCAwIDEtLjYzMi4yNzEuODUuODUgMCAwIDEtLjY1NS0uMzA0bC01LjEyNy01LjQyM3Y0LjcyOWMwIC4zMTEtLjEwMS41NTMtLjMwNS43Mjd6Ii8+CiAgICAgICAgPHBhdGggZmlsbD0iIzFFNTRENSIgZD0iTTE4LjgyNyAxNS45OTVjLTEuMjU0LS4xMS0yLjIxMi0uNDkyLTIuOTA4LTEuMTYxLS43MS0uNjgxLTEuMDE0LTEuNTctLjg5My0yLjYwNy4xMzgtMS4xOTUuNjk5LTIuMDM4IDEuNjgzLTIuNTMuNzU4LS4zOCAxLjUxNS0uNTI0IDIuNzQ3LS41MjQuODc1IDAgMS42MDguMDcyIDIuNzI3LjI2OS4yNzcuMDQ4LjUxNi4wODguNTMyLjA4OC4wMjQgMCAuMDQyLS4wODkuMDkzLS40NDUuMDkyLS42NDQuMTA4LS44NjYuMDgzLTEuMTI0YTEuNjggMS42OCAwIDAgMC0uMTgtLjY3NmMtLjI5LS42MDEtLjk3OS0uOTY4LTIuMDg1LTEuMTEzYTguMDE1IDguMDE1IDAgMCAwLTEuMzY0LS4wMWMtLjUzLjA2LS44MjcuMTM4LTEuNDg4LjM4OC0uMzg3LjE0Ny0uMzg5LjE0Ny0uNTQzLjEzOGEuNjE4LjYxOCAwIDAgMS0uNTYyLS4zNzcuNDkuNDkgMCAwIDEtLjA1Ni0uMjczYzAtLjIuMDUxLS4zMDYuMjMtLjQ3Ni40MDItLjM4IDEuMDc5LS43MDQgMS43NjEtLjg0My40MzgtLjA5LjY1My0uMTA4IDEuMjI5LS4xMDdhNy4zOCA3LjM4IDAgMCAxIDEuNTA3LjEzNWMuODguMTY1IDEuNTUuNDU3IDIuMDU0Ljg5Ni4xNS4xMy4zNzUuMzg3LjQ3Mi41MzcuMDMuMDQ1LjA2LjA4My4wNjcuMDgzYS42NzcuNjc3IDAgMCAwIC4xMS0uMTIyYy43NjMtLjk4NSAyLjA1LTEuNTQyIDMuNTU2LTEuNTQxIDEuMDY2IDAgMi4wNTcuMjczIDIuNzk2Ljc3LjU4NS4zOTMgMS4wNjEgMSAxLjI1NCAxLjU5Ny4xMS4zNDMuMTI3LjQ3LjEyOC45NjkgMCAuMzEtLjAwOC41Mi0uMDI1LjYxNi0uMTczLjk4LS41ODUgMS42NTktMS4zIDIuMTQyLS41NzQuMzg5LTEuMjk2LjYxNi0yLjI0LjcwNi0uNDc2LjA0NS0xLjM0NS4wNDEtMS45MDktLjAxYTE1LjczIDE1LjczIDAgMCAxLTEuMzE1LS4xNjggMjEuMjUgMjEuMjUgMCAwIDAtLjkzMy0uMTU3Yy0uMDAzLjAwMi0uMDM3LjIyLS4wNzYuNDgyLS4wNjMuNDItLjA3MS41MjQtLjA3My44Ni0uMDAxLjM0LjAwNC40LjA0NC41NTcuMTMuNTA2LjQxOS44NDQuOTQxIDEuMTA1LjUxNC4yNTcgMS4wNTMuMzY5IDEuODY3LjM4Ni4zNi4wMDcuNTQ1LjAwMi43Ny0uMDIyLjU0Ny0uMDU5Ljc5Ni0uMTIzIDEuNTIyLS4zOTMuMTgxLS4wNjcuMzY2LS4xMjguNDEtLjEzNmEuNzUuNzUgMCAwIDEgLjM4LjA3LjcwMy43MDMgMCAwIDEgLjM0NC41NjRjMCAuMjQzLS4wODIuMzktLjMyLjU4Mi0uNTcuNDYtMS4yOTguNzQtMi4xNjcuODM4LS4zMS4wMzUtMS4wMTcuMDQtMS4zNTguMDEtLjk2Mi0uMDg1LTEuNjMtLjI1MS0yLjI0LS41NTktLjQ3Ny0uMjQtLjg0LS41MzctMS4xMTItLjkwOWExNi41MDggMTYuNTA4IDAgMCAwLS4xMjYtLjE3MS44NjMuODYzIDAgMCAwLS4wOTguMTE3IDMuOTkxIDMuOTkxIDAgMCAxLS45MTkuODQyYy0uNDkyLjMyNC0xLjIuNTcxLTEuOTE0LjY3LS4yMTQuMDI5LS45MjIuMDUzLTEuMTAzLjAzN3ptMS4yMjgtMS4zOTRhMi44NDMgMi44NDMgMCAwIDAgMS40ODMtLjg0Yy4zNDQtLjM3OC42MjctLjk0NS43ODItMS41NjkuMDg4LS4zNTIuMjM0LTEuMzMuMjAyLTEuMzVhLjc5Mi43OTIgMCAwIDAtLjE3Mi0uMDI5IDE5LjUwNCAxOS41MDQgMCAwIDEtLjUxNS0uMDYxYy0xLjItLjE1Ny0xLjkzNy0uMjE5LTIuMzUtLjE5NS0uNzg1LjA0NC0xLjEwNi4xMTQtMS41NzcuMzQxYTEuNDU2IDEuNDU2IDAgMCAwLS41NC40MWMtLjE5LjI0LS4zMDMuNDc4LS4zODMuNzk5LS4wNTguMjMzLS4wNjQuODQ0LS4wMSAxLjA0LjA5LjMzMi4xOTguNTIuNDQuNzY4LjMzLjM0Ljc2Ny41NjggMS4zMDkuNjgxLjI3Ni4wNTguMjY4LjA1Ny43MzIuMDUuMzM2LS4wMDUuNDYyLS4wMTQuNi0uMDQ1em03LjY1LTQuNTljLjQ5LS4wNDQuNzktLjEyIDEuMTU5LS4yOTYuMzA2LS4xNDYuNDg1LS4yOTUuNjU0LS41NDcuMjQ4LS4zNy4zNDUtLjcyMS4zNDMtMS4yNDItLjAwMi0uMzcxLS4wMzMtLjUyNi0uMTYtLjc5Mi0uMjgzLS41OTYtLjk0OS0xLjAyMy0xLjgyMS0xLjE2OGE0LjU0MiA0LjU0MiAwIDAgMC0xLjAyNS4wMTFjLS40My4wOC0uNzkzLjIyNC0xLjExMy40NDMtLjU5LjQwNC0uOTk5IDEuMDE0LTEuMjI2IDEuODMzLS4wOS4zMjEtLjExMy40NDUtLjE5My45OTlsLS4wNzMuNTExLjA5OC4wMTFjLjI5Ny4wMzMuOTY3LjExNSAxLjM1Ni4xNjYuMjQ0LjAzMi41NDUuMDY2LjY2Ny4wNzYuMzU0LjAyOC45ODguMDI1IDEuMzM1LS4wMDZ6TTYwLjE4NiAxaDE3LjQ5N0M3OC40MSAxIDc5IDEuNjE4IDc5IDIuMzh2MTIuMjRjMCAuNzYyLS41OSAxLjM4LTEuMzE4IDEuMzhINjAuMTg1Yy0uNzI3IDAtMS4zMTctLjYxOC0xLjMxNy0xLjM4VjIuMzhjMC0uNzYyLjU5LTEuMzggMS4zMTctMS4zOHptMS4zOTggMTMuMDAzaDUuNzZjLjE2Ny4wMS4zMy0uMDU1LjQ0Ny0uMTc3YS42MzUuNjM1IDAgMCAwIC4xNTYtLjQ1My42NDQuNjQ0IDAgMCAwLS4xNTYtLjQ1My41Ni41NiAwIDAgMC0uNDQ3LS4xOEg2Mi4zN1Y4Ljk0Mmg0LjUzNWEuNTYzLjU2MyAwIDAgMCAuNDQ3LS4xNzYuNjExLjYxMSAwIDAgMCAuMTctLjQyNi41NzcuNTc3IDAgMCAwLS42MDgtLjU5OEg2Mi4zN1Y0LjI1NWg0Ljc5YS41NjQuNTY0IDAgMCAwIC40NDctLjE4Ni42MzUuNjM1IDAgMCAwIC4xNTYtLjQ1Mi42MTYuNjE2IDAgMCAwLS4xNTYtLjQzLjU2LjU2IDAgMCAwLS40NDctLjE4MmgtNS42MDNhLjY3LjY3IDAgMCAwLS41MTQuMjI2Ljc1My43NTMgMCAwIDAtLjIwMS41MjF2OS40NWMwIC4yLjA4My4zOTIuMjI3LjUzYS43MzQuNzM0IDAgMCAwIC41MTQuMjcxem05LjA4IDBoNS43NmMuMTY2LjAxLjMzLS4wNTUuNDQ2LS4xNzdhLjYzNS42MzUgMCAwIDAgLjE1Ni0uNDUzLjY0NC42NDQgMCAwIDAtLjE1Ni0uNDUzLjU2LjU2IDAgMCAwLS40NDctLjE4SDcxLjQ1VjguOTQyaDQuNTM1YS41NjMuNTYzIDAgMCAwIC40NDctLjE3Ni42MTEuNjExIDAgMCAwIC4xNy0uNDI2LjU3Ny41NzcgMCAwIDAtLjYwOC0uNTk4SDcxLjQ1VjQuMjU1aDQuNzlhLjU2NC41NjQgMCAwIDAgLjQ0Ny0uMTg2LjYzNS42MzUgMCAwIDAgLjE1Ni0uNDUyLjYxNi42MTYgMCAwIDAtLjE1Ni0uNDMuNTYuNTYgMCAwIDAtLjQ0Ny0uMTgyaC01LjYwM2EuNjcuNjcgMCAwIDAtLjUxNC4yMjYuNzUzLjc1MyAwIDAgMC0uMjAxLjUyMXY5LjQ1YzAgLjIuMDgzLjM5Mi4yMjguNTNhLjczNC43MzQgMCAwIDAgLjUxNC4yNzF6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=" alt="traefikee" />
|
|
</div>
|
|
<a class="dmi-details" href="https://containo.us/traefikee/">
|
|
<div class="dmi-title">
|
|
Traefik Enterprise Edition
|
|
</div>
|
|
<div class="dmi-description">
|
|
Ensure high availability, scalability, and security
|
|
of your microservices
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="dm-item">
|
|
<div class="dmi-image">
|
|
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MyIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDYzIDE4Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgPHBhdGggZmlsbD0iIzA3MjAyNiIgZD0iTTUuMzU3IDE4aC43MTdjLjI5MSAwIC41MjYtLjAwOC43MDQtLjAyNS4xODYtLjAxNi4zNjktLjA1My41NDctLjExYS43NjguNzY4IDAgMCAwIC40MTMtLjI3MmMuMDg5LS4xMzEuMTMzLS4zLjEzMy0uNTA1YS44OC44OCAwIDAgMC0uMjMtLjYwNWMtLjE1NC0uMTcyLS4zNjUtLjI1OS0uNjMyLS4yNTloLS4wNzNsLS44MjYuMDM3aC0uMTM0Yy0uNTEgMC0uODgyLS4xODUtMS4xMTctLjU1NS0uMjM1LS4zNzgtLjM1Mi0uOTktLjM1Mi0xLjgzN1Y3LjE1aDIuMjM1Yy41MzQgMCAuODAxLS4yMzUuODAxLS43MDNhLjc0Ljc0IDAgMCAwLS4yMDYtLjU0M2MtLjEzLS4xNC0uMzI4LS4yMS0uNTk1LS4yMUg0LjUwN1YyLjExOWMwLS4yODgtLjA4MS0uNTA2LS4yNDMtLjY1NGEuODQuODQgMCAwIDAtLjYwOC0uMjM0Yy0uMjU5IDAtLjQ5OC4wOTQtLjcxNi4yODNhLjk2Ni45NjYgMCAwIDAtLjM0LjY3OWwtLjI5MiAzLjUwMkguODE0Yy0uMjY3IDAtLjQ3LjA3LS42MDcuMjFBLjY4NC42ODQgMCAwIDAgMCA2LjQyYzAgLjIyMi4wNjkuMzk5LjIwNy41My4xNDUuMTMyLjM1Mi4xOTguNjE5LjE5OGgxLjQ4MnY3LjEwMmMwIDEuMjc1LjI3NSAyLjIyLjgyNiAyLjgzNy41NS42MDggMS4yOTIuOTEyIDIuMjIzLjkxMm01LjgyOCAwYy4zMDQgMCAuNTY3LS4wOS43ODgtLjI2OC4yMy0uMTc5LjM0NS0uNDMuMzQ1LS43NTZWMTAuN2MwLS45NS4zMDQtMS43MS45MTItMi4yOC42MTYtLjU2OCAxLjQ3OC0uODUyIDIuNTg3LS44NTIuMjYyIDAgLjQ2My0uMDg2LjYwMy0uMjU2YTEgMSAwIDAgMCAuMjEtLjYzNGMwLS4yNi0uMDc5LS40ODgtLjIzNS0uNjgzYS43My43MyAwIDAgMC0uNjE1LS4yOTJjLS44NyAwLTEuNjE4LjI1Ni0yLjI0Mi43NjhhMy42MTEgMy42MTEgMCAwIDAtMS4yMzIgMS44ODlsLjAxMi0xLjQ2M2MwLS4zMDgtLjExLS41NDgtLjMzMi0uNzE5YTEuMTY5IDEuMTY5IDAgMCAwLS43NzYtLjI2OGMtLjMwNCAwLS41NjcuMDktLjc4OS4yNjgtLjIyMi4xNy0uMzMyLjQxOS0uMzMyLjc0NHYxMC4wNTVjMCAuMzI1LjEwNi41NzcuMzIuNzU2LjIxMy4xNzkuNDcyLjI2OC43NzYuMjY4bTMwLjQ1Ny0uMjg3Yy4yMi0uMi4zMjktLjQ3NS4zMjktLjgyNVY3LjE4M2gyLjA1M2MuNTE5IDAgLjc3OC0uMjQyLjc3OC0uNzI1YS43NjUuNzY1IDAgMCAwLS4xOTQtLjUzN2MtLjEyMi0uMTQyLS4zMTYtLjIxMi0uNTg0LS4yMTJoLTIuMDUzdi0uOTc1YzAtLjY3NC4wMjQtMS4yMDcuMDczLTEuNTk5LjA1Ni0uNC4xNTctLjcwMy4zMDMtLjkxMi4xNTQtLjIxNi4zMjgtLjM1My41MjMtLjQxMi4xOTQtLjA2Ni40NjYtLjEuODE0LS4xaDEuMDMzYy4yNDMgMCAuNDMtLjA4My41NTktLjI1YS45MS45MSAwIDAgMCAuMjA2LS42LjkxLjkxIDAgMCAwLS4yMDYtLjU5OS42NDEuNjQxIDAgMCAwLS41NDctLjI2MmgtMS40ODJjLTEuMDg2IDAtMS45MzcuMzE2LTIuNTUyLjk1LS42MTYuNjI0LS45MjQgMS42ODItLjkyNCAzLjE3MlY1LjcxSDM4LjE4Yy0uMjY3IDAtLjQ2Ni4wNy0uNTk1LjIxMmEuNzY1Ljc2NSAwIDAgMC0uMTk1LjUzN2MwIC4yMDguMDY1LjM4My4xOTUuNTI1LjEzLjEzMy4zMjguMi41OTUuMmgxLjU5MnY5LjcwNWMwIC4zNS4xMDUuNjI1LjMxNi44MjUuMjE5LjE5MS40NzguMjg3Ljc3OC4yODcuMyAwIC41NTktLjA5Ni43NzctLjI4N3ptNy4xNjgtMTUuMDNjLjQzNiAwIC43ODUtLjEyMSAxLjA0Ny0uMzY0LjI2My0uMjUuMzk1LS41NzUuMzk1LS45NzEgMC0uNDA1LS4xMzItLjcyOS0uMzk1LS45NzJDNDkuNTk1LjEyNiA0OS4yNSAwIDQ4LjgyMyAwYy0uNDM2IDAtLjc4OS4xMjUtMS4wNi4zNzYtLjI2My4yNTEtLjM5NC41NzUtLjM5NC45NzIgMCAuMzk2LjEzMS43Mi4zOTQuOTcxLjI2My4yNDMuNjEyLjM2NCAxLjA0Ny4zNjRNNDguNzkyIDE4Yy4zMDIgMCAuNTYzLS4wOTkuNzg0LS4yOTcuMjI5LS4yMDYuMzQzLS40ODIuMzQzLS44MjlWNi44MTVjMC0uMzQ2LS4xMS0uNjE4LS4zMy0uODE2YTEuMDc2IDEuMDc2IDAgMCAwLS43Ni0uMjk3IDEuMTggMS4xOCAwIDAgMC0uNzk3LjI5N2MtLjIyLjE5OC0uMzMuNDctLjMzLjgxNnYxMC4wNmMwIC4zNjIuMTA2LjY0Mi4zMTguODQuMjEyLjE5LjQ3LjI4NS43NzIuMjg1bTYuMzMtLjMwNWMuMjI5LS4xOTUuMzQzLS40NjguMzQzLS44MTh2LTUuMzJsNS43NjggNi4xMDFjLjIwNC4yMjguNDUuMzQyLjczNi4zNDJhLjk4Ljk4IDAgMCAwIC43MTItLjMwNWMuMjEzLS4yMDMuMzE5LS40MzUuMzE5LS42OTZhLjg5Mi44OTIgMCAwIDAtLjI3LS42MzRsLTQuODcyLTUuMTAxIDQuNDU1LTMuOTY2Yy4xOTYtLjE4Ny4yOTQtLjM5NS4yOTQtLjYyMyAwLS4yNTItLjEwMi0uNDgtLjMwNi0uNjgzYS45MjcuOTI3IDAgMCAwLS42ODgtLjMwNS44NzIuODcyIDAgMCAwLS41NzYuMjMybC01LjU3MiA1LjA3NlYxLjA5OGMwLS4zNDEtLjExLS42MS0uMzMxLS44MDVBMS4wODcgMS4wODcgMCAwIDAgNTQuMzczIDBjLS4zMDMgMC0uNTY5LjA5OC0uNzk4LjI5My0uMjIuMTk1LS4zMzEuNDY0LS4zMzEuODA1djE1Ljc4YzAgLjM1Ny4xMDYuNjM0LjMyLjgzLjIxMi4xODYuNDcuMjguNzcyLjI4LjMwMyAwIC41NjUtLjA5OC43ODYtLjI5M3oiLz4KICAgICAgICA8cGF0aCBmaWxsPSIjMjRBMUMxIiBkPSJNMjEuMzM0IDE3Ljk5NGMtMS40Mi0uMTI0LTIuNTA1LS41Ni0zLjI5NC0xLjMyNC0uODAzLS43NzctMS4xNDctMS43OS0xLjAxMS0yLjk3My4xNTYtMS4zNjIuNzkyLTIuMzI0IDEuOTA2LTIuODg1Ljg1OS0uNDMzIDEuNzE2LS41OTcgMy4xMTEtLjU5Ny45OTEgMCAxLjgyMi4wODIgMy4wODkuMzA2LjMxMy4wNTYuNTg0LjEwMS42MDMuMTAxLjAyNiAwIC4wNDctLjEwMS4xMDUtLjUwNy4xMDQtLjczNS4xMjItLjk4OC4wOTQtMS4yODMtLjAzMy0uMzQyLS4wNzYtLjUwNS0uMjAzLS43Ny0uMzMtLjY4NS0xLjExLTEuMTA0LTIuMzYzLTEuMjY5YTkuMDE1IDkuMDE1IDAgMCAwLTEuNTQ0LS4wMTJjLS42MDEuMDY5LS45MzcuMTU3LTEuNjg2LjQ0My0uNDM4LjE2Ny0uNDQuMTY3LS42MTQuMTU3YS43LjcgMCAwIDEtLjYzNy0uNDMuNTYxLjU2MSAwIDAgMS0uMDY0LS4zMTFjMC0uMjI4LjA1OS0uMzUuMjYyLS41NDMuNDU1LS40MzMgMS4yMi0uODAzIDEuOTk0LS45NjEuNDk1LS4xMDIuNzM5LS4xMjMgMS4zOTEtLjEyMi42NzUuMDAyIDEuMTA3LjA0IDEuNzA3LjE1My45OTcuMTkgMS43NTUuNTIyIDIuMzI2IDEuMDIzLjE3LjE0OC40MjUuNDQuNTM1LjYxMWEuMzI3LjMyNyAwIDAgMCAuMDc2LjA5NS43Ny43NyAwIDAgMCAuMTIzLS4xMzlDMjguMTA1IDUuNjM0IDI5LjU2MiA0Ljk5OSAzMS4yNyA1YzEuMjA3IDAgMi4zMy4zMTIgMy4xNjYuODc4LjY2My40NDggMS4yMDIgMS4xNCAxLjQyIDEuODIxLjEyNS4zOTIuMTQ0LjUzNi4xNDUgMS4xMDUgMCAuMzU0LS4wMDkuNTkyLS4wMjguNzAzLS4xOTYgMS4xMTctLjY2MiAxLjg5MS0xLjQ3MiAyLjQ0Mi0uNjUuNDQzLTEuNDY4LjcwMy0yLjUzOC44MDUtLjUzOC4wNTItMS41MjMuMDQ3LTIuMTYtLjAxYTE3LjY5OSAxNy42OTkgMCAwIDEtMS40OS0uMTkyIDIzLjkxNCAyMy45MTQgMCAwIDAtMS4wNTctLjE4Yy0uMDAzLjAwMy0uMDQyLjI1LS4wODYuNTUtLjA3MS40NzktLjA4MS41OTgtLjA4My45OC0uMDAxLjM4OS4wMDQuNDU3LjA1LjYzNi4xNDguNTc2LjQ3NC45NjIgMS4wNjYgMS4yNi41ODIuMjkzIDEuMTkyLjQyIDIuMTE0LjQ0LjQwOC4wMDkuNjE3LjAwMy44NzMtLjAyNS42MTktLjA2Ny45LS4xNCAxLjcyMy0uNDQ4LjIwNS0uMDc3LjQxNC0uMTQ3LjQ2NS0uMTU1YS44NDUuODQ1IDAgMCAxIC40MjkuMDhjLjIxMy4xMS4zOTIuNDA1LjM5LjY0MiAwIC4yNzgtLjA5My40NDYtLjM2My42NjUtLjY0NS41MjMtMS40Ny44NDQtMi40NTMuOTU1LS4zNTEuMDQtMS4xNTIuMDQ1LTEuNTM5LjAxMS0xLjA5LS4wOTYtMS44NDYtLjI4Ni0yLjUzNy0uNjM2LS41NC0uMjc0LS45NTEtLjYxMy0xLjI1OS0xLjAzOGwtLjE0Mi0uMTk1YS45ODIuOTgyIDAgMCAwLS4xMTIuMTM0Yy0uMjU4LjM0LS42NTQuNzA0LTEuMDQuOTYtLjU1Ny4zNy0xLjM1OC42NTEtMi4xNjguNzYzLS4yNDIuMDM0LTEuMDQzLjA2MS0xLjI0OS4wNDN6bTEuMzkxLTEuNTlhMy4yMTUgMy4yMTUgMCAwIDAgMS42NzktLjk1OGMuMzktLjQzLjcxLTEuMDc3Ljg4Ny0xLjc4OC4wOTktLjQwMS4yNjQtMS41MTguMjI3LTEuNTRhLjg5MS44OTEgMCAwIDAtLjE5NC0uMDMzYy0uMDkyLS4wMDgtLjM1NC0uMDQtLjU4My0uMDctMS4zNi0uMTgtMi4xOTQtLjI0OS0yLjY2Mi0uMjIyLS44OS4wNS0xLjI1Mi4xMy0xLjc4Ni4zOS0uMjczLjEzMi0uNDYyLjI3Ny0uNjExLjQ2N2EyLjI1OCAyLjI1OCAwIDAgMC0uNDM0LjkxYy0uMDY1LjI2Ni0uMDcyLjk2My0uMDExIDEuMTg3LjEwMi4zNzguMjI0LjU5Mi40OTguODc2LjM3NS4zODguODY5LjY0NyAxLjQ4Mi43NzYuMzEzLjA2Ni4zMDQuMDY2LjgzLjA1Ny4zOC0uMDA1LjUyMi0uMDE2LjY3OC0uMDUxem04LjY2NS01LjIzNGMuNTUzLS4wNS44OTMtLjEzNyAxLjMxLS4zMzcuMzQ4LS4xNjcuNTUtLjMzNy43NDEtLjYyNC4yODItLjQyMi4zOTEtLjgyMi4zODktMS40MTYtLjAwMi0uNDI0LS4wMzgtLjYtLjE4MS0uOTA0LS4zMi0uNjgtMS4wNzQtMS4xNjYtMi4wNjItMS4zMzJhNS4xMSA1LjExIDAgMCAwLTEuMTYxLjAxM2MtLjQ4Ny4wOS0uODk4LjI1NS0xLjI2LjUwNS0uNjcuNDYxLTEuMTMyIDEuMTU3LTEuMzkgMi4wOS0uMS4zNjctLjEyNy41MDgtLjIxNyAxLjE0bC0uMDg0LjU4My4xMTIuMDEyYy4zMzYuMDM4IDEuMDk1LjEzMiAxLjUzNS4xOS4yNzcuMDM2LjYxNy4wNzUuNzU2LjA4Ni40LjAzMiAxLjExOS4wMjkgMS41MTItLjAwNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==" alt="traefik" />
|
|
</div>
|
|
<a class="dmi-details" href="https://containo.us/traefik/">
|
|
<div class="dmi-title">Traefik</div>
|
|
<div class="dmi-description">
|
|
Expose, Secure and Monitor your modern applications
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="dm-item">
|
|
<div class="dmi-image">
|
|
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDEiIGhlaWdodD0iMzkiIHZpZXdCb3g9IjAgMCAxNDEgMzkiPgogICAgPGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cGF0aCBmaWxsPSIjMUYwMzIzIiBkPSJNMzAuMDEzIDExLjE0M2M1Ljk4IDAgOC45NyAzLjU1NiA4Ljk3IDEwLjY2N3YxNC45OGMwIC43LS4yMDIgMS4yNDMtLjYwOCAxLjYzLS40MDYuMzg3LS45NDIuNTgtMS42MDYuNTgtLjY2NSAwLTEuMjEtLjE5My0xLjYzNC0uNTgtLjQyNC0uMzg3LS42MzctLjkzLS42MzctMS42M1YyMS45MmMwLTIuNDY4LS40NDMtNC4yNTUtMS4zMjktNS4zNi0uODg2LTEuMTA2LTIuMjctMS42NTktNC4xNTMtMS42NTktMi4yNTIgMC00LjAyNC43NTYtNS4zMTYgMi4yNjctMS4yOTIgMS41MS0xLjkzOCAzLjU1NS0xLjkzOCA2LjEzNXYxMy40ODZjMCAuNy0uMjEyIDEuMjQ0LS42MzcgMS42My0uNDI0LjM4OC0uOTY5LjU4MS0xLjYzMy41ODEtLjY2NSAwLTEuMi0uMTkzLTEuNjA2LS41OC0uNDA2LS4zODctLjYxLS45My0uNjEtMS42M1YyMS45MmMwLTIuNDY4LS40NDItNC4yNTUtMS4zMjgtNS4zNi0uODg2LTEuMTA2LTIuMjg5LTEuNjU5LTQuMjA5LTEuNjU5LTIuMjE1IDAtMy45NzcuNzU2LTUuMjg4IDIuMjY3LTEuMzEgMS41MS0xLjk2NiAzLjU1NS0xLjk2NiA2LjEzNXYxMy40ODZjMCAuNy0uMjAzIDEuMjQ0LS42MDkgMS42My0uNDA2LjM4OC0uOTQxLjU4MS0xLjYwNi41ODEtLjY2NCAwLTEuMjA5LS4xOTMtMS42MzMtLjU4Qy4yMTIgMzguMDMzIDAgMzcuNDkgMCAzNi43OVYxMy40NjNjMC0uNjYzLjIxMi0xLjE5Ny42MzctMS42MDMuNDI0LS40MDUuOTY5LS42MDggMS42MzMtLjYwOC42MjggMCAxLjE0NS4xOTQgMS41NS41OC40MDcuMzg4LjYxLjkxMy42MSAxLjU3NnYyLjY1M2MuODEyLTEuNTg0IDEuOTM4LTIuOCAzLjM3OC0zLjY0OCAxLjQ0LS44NDcgMy4xLTEuMjcxIDQuOTg0LTEuMjcxIDQuMjA4IDAgNi45NTggMS43NjkgOC4yNSA1LjMwNi43NzYtMS42MjEgMS45NTctMi45MTEgMy41NDQtMy44NyAxLjU4OC0uOTU3IDMuMzk3LTEuNDM2IDUuNDI3LTEuNDM2em03My4wODYgMGMxLjQyOSAwIDIuODEyLjE5MyA0LjE0OS41NzggMS4zMzcuMzg1IDIuNTE4LjkyNyAzLjU0NCAxLjYyNCAxLjI0NS44OCAxLjg2OCAxLjc5OCAxLjg2OCAyLjc1MyAwIC40NzctLjE0Ny44OC0uNDQgMS4yMS0uMjkzLjMzMS0uNjQuNDk2LTEuMDQ0LjQ5Ni0uNDQgMC0xLjA5OS0uMzEyLTEuOTc4LS45MzYtMS4wMjUtLjY2LTEuOTk2LTEuMTc0LTIuOTEyLTEuNTQxLS45MTYtLjM2Ny0yLjA1MS0uNTUtMy40MDYtLjU1LTEuNzIyIDAtMy4xMDUuMzg1LTQuMTQ5IDEuMTU2LTEuMDQ0Ljc3LTEuNTY2IDEuNzk4LTEuNTY2IDMuMDgzIDAgLjgwNy4xOTMgMS40NTguNTc3IDEuOTU0LjM4NS40OTUgMS4wMjYuOTM2IDEuOTIzIDEuMzIxLjg5OC4zODYgMi4xODkuNzYyIDMuODc0IDEuMTI5IDIuNDkuNTUgNC40MjMgMS4xNTYgNS43OTcgMS44MTcgMS4zNzMuNjYgMi4zNTMgMS40NjggMi45NCAyLjQyMi41ODUuOTU0Ljg3OCAyLjE2NS44NzggMy42MzMgMCAyLjMxMy0uOTcgNC4xNzUtMi45MTIgNS41ODgtMS45NDEgMS40MTMtNC41MDUgMi4xMi03LjY5MiAyLjEyLTEuNjg1IDAtMy4yODgtLjIwMi00LjgwOC0uNjA2LTEuNTItLjQwMy0yLjg2Ni0uOTcyLTQuMDM4LTEuNzA2LS42Ni0uNDQtMS4xMjctLjg1NC0xLjQwMS0xLjIzOS0uMjc1LS4zODUtLjQxMy0uODUzLS40MTMtMS40MDQgMC0uNDc3LjEzOC0uODcyLjQxMy0xLjE4My4yNzQtLjMxMi42MzEtLjQ2OCAxLjA3MS0uNDY4LjQ0IDAgMS4wOC4yNzUgMS45MjMuODI1YTE4LjI3NiAxOC4yNzYgMCAwIDAgMy4yNyAxLjU3YzEuMDguMzg1IDIuNDI2LjU3NyA0LjAzOC41NzcgMS45NzggMCAzLjUxNi0uMzQ4IDQuNjE1LTEuMDQ2IDEuMS0uNjk3IDEuNjQ5LTEuNzA2IDEuNjQ5LTMuMDI4IDAtLjgwNy0uMjAyLTEuNDU4LS42MDUtMS45NTQtLjQwMy0uNDk1LTEuMDk5LS45MzYtMi4wODgtMS4zMjEtLjk4OS0uMzg2LTIuNDM2LS43OC00LjM0LTEuMTg0LTMuMjI0LS42OTctNS41MzItMS42MzMtNi45MjQtMi44MDgtMS4zOTEtMS4xNzQtMi4wODctMi43Ny0yLjA4Ny00Ljc5IDAtMS41NzcuNDQtMi45NzIgMS4zMTgtNC4xODMuODgtMS4yMTIgMi4wOTctMi4xNjYgMy42NTQtMi44NjMgMS41NTctLjY5NyAzLjMyNC0xLjA0NiA1LjMwMi0xLjA0NnpNMTIwLjQ0MSAwYy42ODcgMCAxLjIyLjE5IDEuNi41NzMuMzguMzgyLjU3LjkuNTcgMS41NTR2MTQuMjkxYy44NjgtMS42IDIuMDgtMi44MTggMy42MzQtMy42NTQgMS41NTUtLjgzNyAzLjMyNy0xLjI1NSA1LjMxNi0xLjI1NSAzLjExIDAgNS40NjEuODgyIDcuMDUyIDIuNjQ2IDEuNTkxIDEuNzYzIDIuMzg3IDQuMzkgMi4zODcgNy44ODF2MTQuNzgyYzAgLjY5MS0uMTk5IDEuMjI3LS41OTcgMS42MS0uMzk3LjM4MS0uOTIyLjU3Mi0xLjU3My41NzItLjY4NyAwLTEuMjMtLjE5LTEuNjI3LS41NzMtLjM5OC0uMzgyLS41OTctLjkxOC0uNTk3LTEuNjA5VjIyLjE0NWMwLTIuMzYzLS40NzktNC4xMDktMS40MzctNS4yMzYtLjk1OS0xLjEyNy0yLjQ4Ny0xLjY5LTQuNTg0LTEuNjktMi40MjMgMC00LjM1OC43NDUtNS44MDQgMi4yMzYtMS40NDcgMS40OS0yLjE3IDMuNTA5LTIuMTcgNi4wNTR2MTMuMzFjMCAuNjktLjE5IDEuMjI2LS41NyAxLjYwOC0uMzguMzgyLS45MTMuNTczLTEuNi41NzNzLTEuMjMtLjE5LTEuNjI3LS41NzNjLS4zOTgtLjM4Mi0uNTk3LS45MTgtLjU5Ny0xLjYwOVYyLjEyOGMwLS42MTkuMjA4LTEuMTI4LjYyNC0xLjUyOC40MTYtLjQuOTUtLjYgMS42LS42eiIvPgogICAgICAgIDxwYXRoIGZpbGw9IiM5RDBGQjAiIGQ9Ik01NC42NzkgMzguOTg3Yy0zLjE4LS4yOC01LjYwOS0xLjI2Mi03LjM3Ni0yLjk4LTEuNzk3LTEuNzQ3LTIuNTY5LTQuMDI1LTIuMjY0LTYuNjg5LjM1LTMuMDY0IDEuNzczLTUuMjI5IDQuMjY4LTYuNDkxIDEuOTIzLS45NzMgMy44NDItMS4zNDQgNi45NjYtMS4zNDQgMi4yMi0uMDAxIDQuMDguMTg1IDYuOTE2LjY5LjcwMi4xMjUgMS4zMDkuMjI3IDEuMzUuMjI3LjA2IDAgLjEwNi0uMjI4LjIzNS0xLjE0Mi4yMzMtMS42NTMuMjc1LTIuMjIzLjIxMS0yLjg4NS0uMDc0LS43Ny0uMTctMS4xMzgtLjQ1NS0xLjczNS0uNzM2LTEuNTQtMi40ODQtMi40ODQtNS4yOS0yLjg1NC0uODAyLS4xMDYtMi42NTQtLjEyLTMuNDU4LS4wMjctMS4zNDYuMTU1LTIuMDk4LjM1NC0zLjc3NC45OTctLjk4LjM3Ni0uOTg1LjM3Ny0xLjM3Ni4zNTMtLjY3My0uMDQtMS4xMzItLjM1Mi0xLjQyNi0uOTY3LS4xMjEtLjI1NC0uMTQzLS4zNTktLjE0My0uNyAwLS41MTMuMTMtLjc4Ni41ODUtMS4yMjEgMS4wMi0uOTc2IDIuNzM1LTEuODA3IDQuNDY2LTIuMTY0IDEuMTEtLjIyOCAxLjY1NS0uMjc2IDMuMTE1LS4yNzQgMS41MTIuMDA0IDIuNDc4LjA5IDMuODIxLjM0NSAyLjIzNC40MjUgMy45MyAxLjE3NSA1LjIxIDIuMzAxLjM3OS4zMzQuOTUxLjk5MiAxLjE5NiAxLjM3Ni4wNzUuMTE4LjE1Mi4yMTQuMTcyLjIxNC4wMiAwIC4xNDMtLjE0MS4yNzUtLjMxNCAxLjkzNy0yLjUyNSA1LjItMy45NTUgOS4wMi0zLjk1MyAyLjcwNCAwIDUuMjE2LjcwMSA3LjA5IDEuOTc1IDEuNDg1IDEuMDEgMi42OTIgMi41NjUgMy4xNzkgNC4wOTkuMjguODguMzIzIDEuMjA2LjMyNSAyLjQ4NS4wMDIuNzk2LS4wMiAxLjMzMi0uMDYzIDEuNTgxLS40MzggMi41MTQtMS40ODIgNC4yNTUtMy4yOTUgNS40OTUtMS40NTcuOTk4LTMuMjg4IDEuNTgyLTUuNjgzIDEuODEyLTEuMjA1LjExNi0zLjQxLjEwNS00LjgzOC0uMDI0LTEuMjEzLS4xMS0yLjcwMS0uMzAyLTMuMzM2LS40MzItLjUzMi0uMTA5LTIuMzUyLS40Mi0yLjM2Ny0uNDA0YTM5LjkyIDM5LjkyIDAgMCAwLS4xOTIgMS4yMzhjLS4xNTggMS4wNzYtLjE4IDEuMzQ1LS4xODQgMi4yMDUtLjAwNC44NzQuMDA4IDEuMDI3LjExMSAxLjQzLjMzMiAxLjI5OCAxLjA2MiAyLjE2NSAyLjM4NyAyLjgzNiAxLjMwMy42NiAyLjY2OS45NDUgNC43MzMuOTkuOTE0LjAxOSAxLjM4Mi4wMDUgMS45NTQtLjA1NyAxLjM4Ni0uMTUgMi4wMTgtLjMxNSAzLjg2LTEuMDA4LjQ1OC0uMTcyLjkyNi0uMzMgMS4wNC0uMzQ5LjI0Mi0uMDQxLjY5Ni4wNDQuOTYuMTgyLjQ3Ny4yNDguODc4LjkwOS44NzUgMS40NDQtLjAwMy42MjUtLjIwOSAxLjAwMy0uODEzIDEuNDk1LTEuNDQ1IDEuMTc3LTMuMjkgMS44OTktNS40OTQgMi4xNDktLjc4NS4wODktMi41NzkuMTAyLTMuNDQ1LjAyNS0yLjQ0LS4yMTctNC4xMzQtLjY0NC01LjY4MS0xLjQzMi0xLjIwOC0uNjE1LTIuMTMtMS4zNzktMi44MTgtMi4zMzRsLS4zMi0uNDRjLS4wMDYtLjAwNy0uMTE4LjEyOS0uMjUuMzAyLS41NzguNzY0LTEuNDYzIDEuNTg1LTIuMzI4IDIuMTYtMS4yNDkuODMyLTMuMDQxIDEuNDY2LTQuODU1IDEuNzE4LS41NDEuMDc1LTIuMzM2LjEzNy0yLjc5Ni4wOTZ6bTMuMTE0LTMuNTc3YzEuNDgxLS4zMzYgMi44MDEtMS4wOTMgMy43Ni0yLjE1Ni44NzMtLjk3IDEuNTktMi40MjMgMS45ODUtNC4wMjQuMjIyLS45MDMuNTkyLTMuNDE1LjUxLTMuNDY2LS4wMzMtLjAyLS4yMjgtLjA1My0uNDM0LS4wNzItLjIwNy0uMDItLjc5NS0uMDktMS4zMDgtLjE1OC0zLjA0NC0uNDAzLTQuOTEyLS41Ni01Ljk2LS41LTEuOTkuMTE0LTIuODAyLjI5Mi0zLjk5Ny44NzYtLjYxMy4zLTEuMDM1LjYyNC0xLjM3IDEuMDUzLS40OC42MTQtLjc3IDEuMjI1LS45NzEgMi4wNDctLjE0Ny41OTktLjE2MiAyLjE2Ni0uMDI2IDIuNjcxLjIzLjg1MS41MDMgMS4zMzMgMS4xMTYgMS45Ny44NC44NzMgMS45NDYgMS40NTUgMy4zMTggMS43NDcuNzAyLjE0OS42ODIuMTQ3IDEuODU3LjEyOS44NTMtLjAxMyAxLjE3Mi0uMDM4IDEuNTItLjExN3ptMTkuNC0xMS43NzhjMS4yNC0uMTEyIDIuMDAxLS4zMDkgMi45MzctLjc1OS43NzgtLjM3NCAxLjIzLS43NTYgMS42NTgtMS40MDIuNjMtLjk1Ljg3Ni0xLjg1Ljg3LTMuMTg3LS4wMDUtLjk1My0uMDg0LTEuMzUtLjQwNS0yLjAzMy0uNzE4LTEuNTI5LTIuNDA1LTIuNjIzLTQuNjE4LTIuOTk3LS41NTItLjA5My0yLjAzNC0uMDc3LTIuNi4wMjktMS4wODguMjAzLTIuMDA4LjU3NC0yLjgyIDEuMTM2LTEuNSAxLjAzOC0yLjUzNCAyLjYwMi0zLjExIDQuNzAzLS4yMjcuODI1LS4yODcgMS4xNDEtLjQ5IDIuNTY0bC0uMTg1IDEuMzExLjI1LjAyOGMuNzUyLjA4NiAyLjQ1LjI5NiAzLjQzNy40MjcuNjIuMDgxIDEuMzgyLjE2OSAxLjY5Mi4xOTQuODk3LjA3MiAyLjUwNS4wNjUgMy4zODUtLjAxNHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==" alt="maesh" />
|
|
</div>
|
|
<a class="dmi-details" href="https://containo.us/maesh/">
|
|
<div class="dmi-title">Maesh</div>
|
|
<div class="dmi-description">
|
|
Route and Monitor communications inside your
|
|
Kubernetes cluster
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="menu-item-wrapper menu-item-wrapper--dropdown">
|
|
<a class="menu-item menu-item--with-icon">
|
|
<span class="title">Solutions</span>
|
|
<span class="icon">
|
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down">
|
|
<polyline points="6 9 12 15 18 9"></polyline>
|
|
</svg>
|
|
</span>
|
|
</a>
|
|
|
|
<div class="nav-dropdown-menu nav-dropdown-menu--solutions">
|
|
<div class="nav-dropdown-menu-wrapper">
|
|
<div class="dm-header">Solutions</div>
|
|
<div class="dm-items">
|
|
<div class="dm-item">
|
|
<div class="dmi-image">
|
|
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDM2IDM2Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgPHBhdGggZmlsbD0iIzYxOEZGRSIgZD0iTTE0LjIzNSAzMy4xNDZjLjM0MS0uNDEzLjg4LS42MSAxLjQwNy0uNTE0LjgzMy4xMzYgMS42NzYuMTk4IDIuNTIuMTg3aC4wMTFBMS40ODQgMS40ODQgMCAxIDEgMTggMzUuNzgyYy0uOTQ4IDAtMS44OTQtLjA3NC0yLjgzLS4yMjVhMS40ODIgMS40ODIgMCAwIDEtLjkzNS0yLjQxem0xMS4zMTItMi40MDJhMS40ODIgMS40ODIgMCAwIDEgMS41MTIgMi41NWMtLjg3LjUxNi0xLjc4My45NTYtMi43MjggMS4zMTYtLjc2NS4yOC0xLjYxMy0uMS0xLjkxNC0uODU2YTEuNDgyIDEuNDgyIDAgMCAxIC44NTgtMS45MTMgMTQuOTIgMTQuOTIgMCAwIDAgMi4yNzItMS4wOTd6bS0xOC40MDQtMS41NmExLjQ4MiAxLjQ4MiAwIDAgMSAxLjUwMi4zMDUgMTUuMDggMTUuMDggMCAwIDAgMi4wODUgMS40MjFjLjQ2MS4yNTQuNzUuNzQuNzU1IDEuMjdhMS40ODIgMS40ODIgMCAwIDEtMi4yMDkgMS4zMDcgMTcuOTA0IDE3LjkwNCAwIDAgMS0yLjUwMS0xLjcwNiAxLjQ4MiAxLjQ4MiAwIDAgMSAuMzY4LTIuNTk3em0yMy43Ny0zLjkxOGExLjQ4MiAxLjQ4MiAwIDAgMSAyLjU4MyAxLjQ1NSAxNy44MTYgMTcuODE2IDAgMCAxLTEuNzA2IDIuNTAxIDEuNDgyIDEuNDgyIDAgMSAxLTIuMjk4LTEuODcxIDE0Ljc3OSAxNC43NzkgMCAwIDAgMS40MjEtMi4wODV6TTIuMjQgMjIuNDE0YTEuNDgyIDEuNDgyIDAgMCAxIDEuOTEyLjg1N2MuMzAyLjc4OC42NzIgMS41NSAxLjEwNCAyLjI3NWExLjQ4NSAxLjQ4NSAwIDEgMS0yLjU1OCAxLjUwOCAxNy43ODIgMTcuNzgyIDAgMCAxLTEuMzE2LTIuNzI4IDEuNDgyIDEuNDgyIDAgMCAxIC44NTgtMS45MTJ6bTMyLjA0NC02LjA3NWExLjQ5NyAxLjQ5NyAwIDAgMSAxLjQ5OCAxLjQ2NSAxNy45MyAxNy45MyAwIDAgMS0uMjI1IDMuMDIgMS40ODIgMS40ODIgMCAwIDEtMi45MjctLjQ3Yy4xMzQtLjgzMi4xOTctMS42NzUuMTg5LTIuNTE4YTEuNDgyIDEuNDgyIDAgMCAxIDEuNDY1LTEuNDk3ek0uNDQzIDE1LjE2OWExLjQ4MiAxLjQ4MiAwIDEgMSAyLjkyNy40NjkgMTQuOTI4IDE0LjkyOCAwIDAgMC0uMTg5IDIuNTIgMS40ODIgMS40ODIgMCAwIDEtMS40NjUgMS40OTdIMS43QTEuNDgyIDEuNDgyIDAgMCAxIC4yMTggMTguMTlhMTcuOTMgMTcuOTMgMCAwIDEgLjIyNS0zLjAyMnpNMzEuMzA3IDguNDdhMS40ODIgMS40ODIgMCAwIDEgMS45OTUuNDY3Yy41MTUuODcuOTU1IDEuNzgzIDEuMzE2IDIuNzI5LjI5Ljc2NC0uMDk0IDEuNjItLjg1OCAxLjkxMWExLjUgMS41IDAgMCAxLTEuOTEyLS44NTZjLS4zLS43OS0uNjY2LTEuNTUzLTEuMDk3LTIuMjhhMS40ODIgMS40ODIgMCAwIDEgLjU1Ni0xLjk3MXpNNC4yMSA2Ljc3YTEuNDgyIDEuNDgyIDAgMSAxIDIuMjk4IDEuODcxIDE0Ljc5MyAxNC43OTMgMCAwIDAtMS40MjEgMi4wODcgMS40ODIgMS40ODIgMCAwIDEtMi41ODMtMS40NTZBMTcuNzMgMTcuNzMgMCAwIDEgNC4yMSA2Ljc3MnptMjEuMDMyLTQuMjU0YTEuNDgyIDEuNDgyIDAgMCAxIDEuNDgyLS4wMTZjLjg4LjQ5NyAxLjcxNyAxLjA2NyAyLjUwMSAxLjcwNGExLjQ4MiAxLjQ4MiAwIDEgMS0xLjg3IDIuMyAxNC45NTIgMTQuOTUyIDAgMCAwLTIuMDg1LTEuNDIgMS40ODIgMS40ODIgMCAwIDEtLjAyOC0yLjU2OHpNMTEuNjY5IDEuMzhhMS40ODIgMS40ODIgMCAxIDEgMS4wNTYgMi43N2MtLjc4Ny4zLTEuNTQ3LjY2Ni0yLjI3MiAxLjA5NUExLjQ4MiAxLjQ4MiAwIDEgMSA4Ljk0IDIuNjk1Yy44Ny0uNTE1IDEuNzgzLS45NTUgMi43MjgtMS4zMTZ6TTE3LjgwNy4yMThhMTcuOTc0IDE3Ljk3NCAwIDAgMSAzLjAyLjIyMiAxLjQ4MyAxLjQ4MyAwIDEgMS0uNDcgMi45MjggMTQuNTYgMTQuNTYgMCAwIDAtMi41MTktLjE4N2gtLjAxNmExLjQ4MiAxLjQ4MiAwIDAgMS0uMDE1LTIuOTYzeiIvPgogICAgICAgIDxwYXRoIGZpbGw9IiMxRTU0RDUiIGQ9Ik0yOC42MjkgMTkuNTA2Yy0uMDM0IDAtLjA2OCAwLS4wNjgtLjAzMnMtLjA2OC0uMDMyLS4xMzUtLjAzMmMtLjEzNi0uMDMzLS4yNzEtLjAzMy0uNDA2LS4wMzMtLjA2OCAwLS4xMzYgMC0uMjAzLS4wMzJoLS4wMzRhNy4xNDIgNy4xNDIgMCAwIDEtMS4xNS0uMTkzLjQuNCAwIDAgMS0uMjM3LS4yMjZjLjAzNCAwIDAgMCAwIDBsLS4yNy0uMDY1Yy4xMzQtLjkzNS4wNjctMS45MDItLjEzNi0yLjgzN2E4LjUyNSA4LjUyNSAwIDAgMC0xLjE4NC0yLjY0NWwuMjAzLS4xOTN2LS4wMzJjMC0uMDk3LjAzMy0uMjI2LjEwMS0uMjkuMzA1LS4yNTguNjEtLjQ1Mi45NDctLjY0NWwuMjAzLS4wOTdjLjEzNi0uMDY1LjIzNy0uMTMuMzczLS4xOTQuMDMzLS4wMzIuMDY3LS4wMzIuMTAxLS4wNjRzMC0uMDMyIDAtLjA2NWMuMzA0LS4yMjUuMzcyLS42MTIuMTM1LS45MDNhLjY1OC42NTggMCAwIDAtLjQ3My0uMjI1LjgzMy44MzMgMCAwIDAtLjQ3NC4xNjFsLS4wMzQuMDMyYy0uMDM0LjAzMi0uMDY3LjA2NS0uMTAxLjA2NS0uMTAyLjA5Ni0uMjAzLjE5My0uMjcuMjktLjAzNS4wNjQtLjEwMi4wOTctLjEzNi4xMjlhNC4zOSA0LjM5IDAgMCAxLS44NDYuNzFjLS4wNjguMDMyLS4xMzUuMDY0LS4yMDMuMDY0LS4wMzQgMC0uMTAxIDAtLjEzNS0uMDMyaC0uMDM0bC0uMjcuMTZjLS4yNzEtLjI1Ny0uNTc2LS41MTUtLjg0Ny0uNzczLTEuMjUxLS45MzUtMi44MDctMS41MTYtNC4zOTctMS42NzdsLS4wMzQtLjI1OHYuMDMyYy0uMTAyLS4wNjQtLjEzNi0uMTYtLjE3LS4yNTggMC0uMzU0IDAtLjcwOS4wNjgtMS4wOTZWOC4yMmMwLS4wNjUuMDM0LS4xMy4wMzQtLjE5NC4wMzQtLjEyOS4wMzQtLjI1OC4wNjgtLjM4N3YtLjE5M2MuMDM0LS4zMjMtLjIzNy0uNjQ1LS41NzUtLjY3Ny0uMjAzLS4wMzMtLjQwNi4wNjQtLjU3Ni4yMjVhLjYyMi42MjIgMCAwIDAtLjIwMy40NTJ2LjE2MWMwIC4xMy4wMzQuMjU4LjA2OC4zODcuMDM0LjA2NS4wMzQuMTMuMDM0LjE5NHYuMDMyYy4wNjguMzU1LjA2OC43MS4wNjggMS4wOTYtLjAzNC4wOTctLjA2OC4xOTQtLjE3LjI1OHYuMDY1bC0uMDMzLjI1OGMtLjM3Mi4wMzItLjc0NS4wOTYtMS4xNS4xNmE4LjE3IDguMTcgMCAwIDAtNC4xNjIgMi4yNThsLS4yMDMtLjEyOWgtLjAzNGMtLjAzMyAwLS4wNjcuMDMyLS4xMzUuMDMycy0uMTM1LS4wMzItLjIwMy0uMDY0YTYuMTM2IDYuMTM2IDAgMCAxLS44NDYtLjc0MmMtLjAzMy0uMDY0LS4xMDEtLjA5Ny0uMTM1LS4xMjktLjEwMS0uMDk3LS4xNy0uMTkzLS4yNy0uMjktLjAzNC0uMDMyLS4wNjgtLjAzMi0uMTAyLS4wNjVsLS4wMzQtLjAzMmEuODMzLjgzMyAwIDAgMC0uNDc0LS4xNjFjLS4yMDIgMC0uMzcyLjA2NS0uNDczLjIyNmEuNjcuNjcgMCAwIDAgLjEzNS45MDNjLjAzNCAwIC4wMzQuMDMyLjAzNC4wMzJzLjA2OC4wNjQuMTAyLjA2NGMuMTAxLjA2NS4yMzYuMTMuMzcyLjE5NGwuMjAzLjA5N2MuMzM4LjE5My42NzYuMzg3Ljk0Ny42NDUuMDY4LjA2NC4xMzUuMTkzLjEwMS4yOXYtLjAzM2wuMjAzLjE5NGMtLjAzMy4wNjQtLjA2Ny4wOTctLjEwMS4xNjEtMS4wNDkgMS41OC0xLjQ4OSAzLjQ1LTEuMTg0IDUuMjg5bC0uMjcuMDY0YzAgLjAzMi0uMDM1LjAzMi0uMDM1LjAzMi0uMDM0LjA5Ny0uMTM1LjE2Mi0uMjM2LjIyNmE2LjU2NCA2LjU2NCAwIDAgMS0xLjE1LjE5NGMtLjA2OCAwLS4xMzYgMC0uMjA0LjAzMi0uMTM1IDAtLjI3LjAzMi0uNDA2LjAzMi0uMDMzIDAtLjA2Ny4wMzItLjEzNS4wMzItLjAzNCAwLS4wMzQgMC0uMDY4LjAzMy0uMzcyLjA2NC0uNjA5LjM4Ni0uNTQuNzQxLjA2Ny4yOS4zNzEuNDg0LjY3Ni40NTIuMDY3IDAgLjEwMSAwIC4xNjktLjAzMy4wMzQgMCAuMDM0IDAgLjAzNC0uMDMycy4xMDEgMCAuMTM1IDBjLjEzNS0uMDMyLjI3LS4wOTcuMzcyLS4xMjlhLjQ5Ny40OTcgMCAwIDEgLjIwMy0uMDY0aC4wMzRjLjM3Mi0uMTMuNzEtLjIyNiAxLjExNi0uMjloLjAzNGMuMTAyIDAgLjIwMy4wMzIuMjcuMDk2LjAzNSAwIC4wMzUuMDMyLjAzNS4wMzJsLjMwNC0uMDMyYTcuNzk1IDcuNzk1IDAgMCAwIDIuNzc0IDMuNzczYy4zMDUuMjI2LjU3NS40Mi45MTQuNThsLS4xNy4yMjZjMCAuMDMyLjAzNC4wMzIuMDM0LjAzMmEuMzY2LjM2NiAwIDAgMSAuMDM0LjMyMyA1LjIyMyA1LjIyMyAwIDAgMS0uNTQxLjkzNXYuMDMyYS41NzEuNTcxIDAgMCAxLS4xMzUuMTYyYy0uMDY4LjA2NC0uMTM2LjE5My0uMjM3LjMyMi0uMDM0LjAzMi0uMDM0LjA2NC0uMDY4LjA5NyAwIDAgMCAuMDMyLS4wMzQuMDMyYS42NDguNjQ4IDAgMCAwIC4yNy44Ny42NS42NSAwIDAgMCAuMjM4LjA2NWMuMjcgMCAuNTA3LS4xNjEuNjQyLS4zODcgMCAwIDAtLjAzMi4wMzQtLjAzMiAwLS4wMzIuMDM0LS4wNjUuMDY4LS4wOTcuMDM0LS4xMjkuMTAxLS4yMjYuMTM1LS4zNTVsLjA2OC0uMTkzYy4xMDEtLjM1NS4yNy0uNjc3LjQ0LTFhLjUyNS41MjUgMCAwIDEgLjI3LS4xOTNjLjAzNCAwIC4wMzQgMCAuMDM0LS4wMzJsLjEzNi0uMjU4YTguMzEgOC4zMSAwIDAgMCAyLjk0My41MTZjLjYwOSAwIDEuMjE4LS4wNjUgMS44MjctLjIyNi4zNzItLjA2NS43NDQtLjE5NCAxLjA4Mi0uMjlsLjEzNS4yMjVjLjAzNCAwIC4wMzQgMCAuMDM0LjAzM2EuNTI1LjUyNSAwIDAgMSAuMjcxLjE5M2MuMTcuMzIzLjMzOC42NDUuNDQgMXYuMDMybC4wNjcuMTkzYy4wMzQuMTMuMDY4LjI1OC4xMzYuMzU1LjAzNC4wMzIuMDM0LjA2NS4wNjcuMDk3IDAgMCAwIC4wMzIuMDM0LjAzMmEuNzYyLjc2MiAwIDAgMCAuNjQzLjM4N2MuMTAyIDAgLjE3LS4wMzIuMjctLjA2NC4xMzYtLjA2NS4yNzEtLjE5NC4zMDUtLjM1NWEuNzkzLjc5MyAwIDAgMC0uMDM0LS40ODRjMC0uMDMyLS4wMzQtLjAzMi0uMDM0LS4wMzIgMC0uMDMyLS4wMzMtLjA2NS0uMDY3LS4wOTdhMS4xNiAxLjE2IDAgMCAwLS4yMzctLjMyMmMtLjAzNC0uMDY1LS4wNjgtLjA5Ny0uMTM1LS4xNjF2LS4wNjVhMy43NiAzLjc2IDAgMCAxLS41NDItLjkzNS4zNjYuMzY2IDAgMCAxIC4wMzQtLjMyM2MwLS4wMzIuMDM0LS4wMzIuMDM0LS4wMzJsLS4xMDEtLjI1OGMxLjcyNS0xIDMuMDQ0LTIuNTQ3IDMuNjUzLTQuMzg1bC4yNy4wMzJjLjAzNSAwIC4wMzUtLjAzMi4wMzUtLjAzMmEuMzk1LjM5NSAwIDAgMSAuMjctLjA5N2guMDM0Yy4zNzIuMDY0Ljc0NC4xNjEgMS4wODMuMjloLjAzNGMuMDY3LjAzMi4xMzUuMDY1LjIwMy4wNjUuMTM1LjA2NC4yMzYuMTI5LjM3Mi4xNi4wMzQgMCAuMDY3LjAzMy4xMzUuMDMzLjAzNCAwIC4wMzQgMCAuMDY4LjAzMmEuMzE4LjMxOCAwIDAgMCAuMTY5LjAzMy43MzUuNzM1IDAgMCAwIC42NzYtLjQ1Mi43NzMuNzczIDAgMCAwLS42MDgtLjY3N3ptLTkuNzc3LTFsLS45MTQuNDItLjkxMy0uNDItLjIzNy0uOTM1LjY0My0uNzc0aDEuMDE1bC42NDIuNzc0LS4yMzYuOTM1em01LjUxNC0yLjA5NmMuMTY5LjY3OC4yMDMgMS4zNTUuMTM1IDIuMDMybC0zLjIxNC0uODdhLjUyNi41MjYgMCAwIDEtLjQwNi0uNjQ2LjUxNC41MTQgMCAwIDEgLjEzNi0uMjI1bDIuNTM3LTIuMTkzYTYuMzkgNi4zOSAwIDAgMSAuODEyIDEuOTAyem0tMS44MjctMy4wOTVsLTIuNzc0IDEuODdjLS4yMzcuMTI5LS41NzUuMDk3LS43NDQtLjEyOWEuMjg3LjI4NyAwIDAgMS0uMTAyLS4yMjZsLS4yMDMtMy4yNTdjMS40ODkuMTYyIDIuODA4Ljc3NCAzLjgyMyAxLjc0MnptLTYuMTIzLTEuNjQ1bC42NzYtLjEyOS0uMTY5IDMuMjI1YzAgLjI5LS4yNy41MTYtLjU3NS41MTYtLjEwMSAwLS4xNy0uMDMyLS4yNy0uMDY1bC0yLjgwOC0xLjkwMmE2LjgyIDYuODIgMCAwIDEgMy4xNDYtMS42NDV6bS00LjEyOCAyLjgzOGwyLjUwNCAyLjEyOGMuMjM3LjE5NC4yNy41MTYuMDY4Ljc0Mi0uMDY4LjA5Ny0uMTM2LjEyOS0uMjcxLjE2MWwtMy4yODIuOTAzYTYuNTM1IDYuNTM1IDAgMCAxIC45ODEtMy45MzR6bS0uNTc1IDUuNDVsMy4zNS0uNTQ5Yy4yNyAwIC41NC4xNjIuNTc1LjQyYS4zNjYuMzY2IDAgMCAxLS4wMzQuMzIybC0xLjI4NiAyLjk2N2MtMS4xODQtLjc0Mi0yLjEzMS0xLjg3LTIuNjA1LTMuMTZ6bTcuNjggMy45OThhNy4xNjcgNy4xNjcgMCAwIDEtMS40NTUuMTYxYy0uNzEgMC0xLjQ1NS0uMTI5LTIuMTMxLS4zMjJsMS42NTctMi44N2EuNTQyLjU0MiAwIDAgMSAuNjc3LS4xM2MuMTAyLjA2NS4xNy4xMy4yNy4yMjdsMS42MjUgMi44MDVjLS4yMDMuMDMyLS40MDYuMDY1LS42NDMuMTI5em00LjEyNy0yLjgwNWE2LjMxNyA2LjMxNyAwIDAgMS0yLjAzIDEuOTM0bC0xLjMyLTMuMDNhLjUxOC41MTggMCAwIDEgLjMwNS0uNjEzIDEuMDMgMS4wMyAwIDAgMSAuMzA1LS4wNjVsMy4zODMuNTQ4Yy0uMTcuNDUyLS4zNzIuODctLjY0MyAxLjIyNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==" alt="Kubernetes Ingress" />
|
|
</div>
|
|
<a
|
|
href="https://containo.us/solutions/kubernetes-ingress/"
|
|
class="dmi-details"
|
|
>
|
|
<div class="dmi-title">Kubernetes Ingress</div>
|
|
<div class="dmi-description">
|
|
A centralized routing solution for your Kubernetes
|
|
deployment
|
|
</div>
|
|
</a>
|
|
</div>
|
|
<div class="dm-item">
|
|
<div class="dmi-image">
|
|
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDM2IDM2Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgPHBhdGggZmlsbD0iIzYxOEZGRSIgZD0iTTI2LjI1IDI0LjcydjYuMDNhLjc1Ljc1IDAgMCAxLS43NS43NWgtMi45MTdhMS41IDEuNSAwIDEgMCAuMDAxIDNIMjUuNWEzLjc1IDMuNzUgMCAwIDAgMy43NS0zLjc1di02LjAzYTEuNSAxLjUgMCAwIDAtMyAweiIvPgogICAgICAgIDxwYXRoIGZpbGw9IiMxRTU0RDUiIGQ9Ik0xOCA2YTIuMjUgMi4yNSAwIDAgMCAyLjI1LTIuMjV2LTEuNUEyLjI1IDIuMjUgMCAwIDAgMTggMEgyLjI1QTIuMjUgMi4yNSAwIDAgMCAwIDIuMjV2MS41QTIuMjUgMi4yNSAwIDAgMCAyLjI1IDZIMTh6TTMzLjc1IDIyLjVBMi4yNSAyLjI1IDAgMCAwIDM2IDIwLjI1di0xLjVhMi4yNSAyLjI1IDAgMCAwLTIuMjUtMi4yNUgxOGEyLjI1IDIuMjUgMCAwIDAtMi4yNSAyLjI1djEuNUEyLjI1IDIuMjUgMCAwIDAgMTggMjIuNWgxNS43NXoiLz4KICAgICAgICA8cGF0aCBmaWxsPSIjNjE4RkZFIiBkPSJNMjIuNSAxNC4yNDdWMTMuNWEzLjc1IDMuNzUgMCAwIDAtMy43NS0zLjc1aC02QS43NS43NSAwIDAgMSAxMiA5di0uNzYxYTEuNSAxLjUgMCAwIDAtMyAwVjlhMy43NSAzLjc1IDAgMCAwIDMuNzUgMy43NWg2YS43NS43NSAwIDAgMSAuNzUuNzV2Ljc0N2ExLjUgMS41IDAgMCAwIDMgMHoiLz4KICAgICAgICA8cGF0aCBmaWxsPSIjMUU1NEQ1IiBkPSJNMTggMzZhMi4yNSAyLjI1IDAgMCAwIDIuMjUtMi4yNXYtMS41QTIuMjUgMi4yNSAwIDAgMCAxOCAzMEgyLjI1QTIuMjUgMi4yNSAwIDAgMCAwIDMyLjI1djEuNUEyLjI1IDIuMjUgMCAwIDAgMi4yNSAzNkgxOHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==" alt="Service Mesh" />
|
|
</div>
|
|
<a href="https://containo.us/maesh/" class="dmi-details">
|
|
<div class="dmi-title">Service Mesh</div>
|
|
<div class="dmi-description">
|
|
Monitor and route your internal communications
|
|
easily
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="menu-item-wrapper menu-item-wrapper--dropdown">
|
|
<a class="menu-item menu-item--with-icon">
|
|
<span class="title">Learn</span>
|
|
<span class="icon">
|
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down">
|
|
<polyline points="6 9 12 15 18 9"></polyline>
|
|
</svg>
|
|
</span>
|
|
</a>
|
|
|
|
<div class="nav-dropdown-menu nav-dropdown-menu--learn">
|
|
<div class="nav-dropdown-menu-wrapper">
|
|
<div class="dm-left">
|
|
<div class="dm-header">Learn</div>
|
|
<div class="dm-items">
|
|
<a href="https://containo.us/blog/" class="dm-item">
|
|
Blog
|
|
</a>
|
|
<a href="https://containo.us/resources/" class="dm-item">
|
|
Resource Library
|
|
</a>
|
|
<a href="https://containo.us/success-stories/" class="dm-item">
|
|
Success Stories
|
|
</a>
|
|
<a href="https://docs.containo.us/" class="dm-item">
|
|
Docs
|
|
</a>
|
|
<a href="https://containo.us/community/" class="dm-item">
|
|
Community
|
|
</a>
|
|
<a href="https://containo.us/events/" class="dm-item">
|
|
Events
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="menu-item-wrapper">
|
|
<a href="https://containo.us/pricing/" class="menu-item">
|
|
Pricing
|
|
</a>
|
|
</div>
|
|
|
|
<div class="menu-item-wrapper menu-item-wrapper--dropdown">
|
|
<a class="menu-item menu-item--with-icon">
|
|
<span class="title">Company</span>
|
|
<span class="icon">
|
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down">
|
|
<polyline points="6 9 12 15 18 9"></polyline>
|
|
</svg>
|
|
</span>
|
|
</a>
|
|
|
|
<div class="nav-dropdown-menu nav-dropdown-menu--company">
|
|
<div class="nav-dropdown-menu-wrapper">
|
|
<div class="dm-left">
|
|
<div class="dm-header">Company</div>
|
|
<div class="dm-items">
|
|
<a href="https://containo.us/about-us/" class="dm-item">
|
|
About
|
|
</a>
|
|
<a href="https://containo.us/partners/" class="dm-item">
|
|
Partners
|
|
</a>
|
|
<a href="https://containo.us/careers/" class="dm-item">
|
|
Careers
|
|
</a>
|
|
<a href="https://containo.us/press/" class="dm-item">
|
|
Press
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="dm-right">
|
|
<p>Interested in joining Containous?</p>
|
|
<a
|
|
class="btn-type-1"
|
|
href="https://containo.us/careers/#open-positions"
|
|
>
|
|
View Open Positions
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</div>
|
|
|
|
<div class="right">
|
|
<label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
|
|
<div class="site-header__demo-button">
|
|
<a
|
|
class="button--secondary"
|
|
href="https://info.containo.us/request-demo-traefikee"
|
|
>
|
|
Get a demo
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- <div class="drawer">
|
|
<div
|
|
class={"drawer-handle " + (isDrawerOpen ? "open" : "")}
|
|
onClick={() => toggleDrawer(!isDrawerOpen)}
|
|
>
|
|
<span class="first"></span>
|
|
<span class="second"></span>
|
|
</div>
|
|
</div> -->
|
|
</div>
|
|
</header>
|
|
<!-- <DrawerNav isDrawerOpen={isDrawerOpen} /> -->
|
|
</div>
|
|
<header class="md-header" data-md-component="header">
|
|
<nav class="md-header-nav md-grid">
|
|
<div class="md-flex">
|
|
<div class="md-flex__cell md-flex__cell--shrink">
|
|
<a href="../.." title="Traefik" class="md-header-nav__button md-logo">
|
|
|
|
<img src="../../assets/img/traefik.logo.png" width="24" height="24">
|
|
|
|
</a>
|
|
</div>
|
|
<div class="md-flex__cell md-flex__cell--shrink">
|
|
<label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
|
|
</div>
|
|
<div class="md-flex__cell md-flex__cell--stretch">
|
|
<div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
|
|
|
|
<span class="md-header-nav__topic">
|
|
Traefik
|
|
</span>
|
|
<span class="md-header-nav__topic">
|
|
|
|
Quick Start
|
|
|
|
</span>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="md-flex__cell md-flex__cell--shrink">
|
|
|
|
<label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
|
|
|
|
<div class="md-search" data-md-component="search" role="dialog">
|
|
<label class="md-search__overlay" for="__search"></label>
|
|
<div class="md-search__inner" role="search">
|
|
<form class="md-search__form" name="search">
|
|
<input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
|
|
<label class="md-icon md-search__icon" for="__search"></label>
|
|
<button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
|
|

|
|
</button>
|
|
</form>
|
|
<div class="md-search__output">
|
|
<div class="md-search__scrollwrap" data-md-scrollfix>
|
|
<div class="md-search-result" data-md-component="result">
|
|
<div class="md-search-result__meta">
|
|
Type to start searching
|
|
</div>
|
|
<ol class="md-search-result__list"></ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="md-flex__cell md-flex__cell--shrink">
|
|
<div class="md-header-nav__source">
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://github.com/containous/traefik/" title="Go to repository" class="md-source" data-md-source="github">
|
|
|
|
<div class="md-source__icon">
|
|
<svg viewBox="0 0 24 24" width="24" height="24">
|
|
<use xlink:href="#__github" width="24" height="24"></use>
|
|
</svg>
|
|
</div>
|
|
|
|
<div class="md-source__repository">
|
|
GitHub
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
|
|
<div class="md-container">
|
|
|
|
|
|
|
|
|
|
<main class="md-main" role="main">
|
|
<div class="md-main__inner md-grid" data-md-component="container">
|
|
|
|
|
|
<nav class="site-header__nav product-switcher">
|
|
<div class="menu-item-wrapper menu-item-wrapper--dropdown">
|
|
|
|
<a class="menu-item menu-item--with-icon">
|
|
<img src="data:image/png;base64,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" height="28px" width="auto" />
|
|
<span class="icon">
|
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down">
|
|
<polyline points="6 9 12 15 18 9"></polyline>
|
|
</svg>
|
|
</span>
|
|
</a>
|
|
|
|
<div class="nav-dropdown-menu nav-dropdown-menu--products">
|
|
<div class="nav-dropdown-menu-wrapper">
|
|
<div class="dm-header">Product Documentations</div>
|
|
<div class="dm-items">
|
|
<div class="dm-item dm-item--traefikee">
|
|
<div class="dmi-image">
|
|
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3OSIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDc5IDE2Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgPHBhdGggZmlsbD0iIzA2MTAyQSIgZD0iTTQuNzYyIDE2Yy0uODI4IDAtMS40ODctLjI3LTEuOTc2LS44MTEtLjQ5LS41NDgtLjczNC0xLjM4OC0uNzM0LTIuNTIxVjYuMzU0SC43MzRjLS4yMzcgMC0uNDItLjA1OC0uNTUtLjE3NUEuNjIxLjYyMSAwIDAgMSAwIDUuNzA4YzAtLjE5LjA2MS0uMzQ0LjE4NC0uNDYuMTIyLS4xMjUuMzAyLS4xODcuNTQtLjE4N2gxLjMyOGwuMjU5LTMuMTEzYS44NTkuODU5IDAgMCAxIC4zMDItLjYwMy45NTQuOTU0IDAgMCAxIC42MzctLjI1MmMuMjE2IDAgLjM5Ni4wNy41NC4yMDguMTQ0LjEzMi4yMTYuMzI2LjIxNi41ODF2My4xNzloMS45ODdjLjIzNyAwIC40MTMuMDYyLjUyOS4xODZhLjY1OC42NTggMCAwIDEgLjE4My40ODNjMCAuNDE2LS4yMzcuNjI0LS43MTIuNjI0SDQuMDA2djUuOTc0YzAgLjc1My4xMDQgMS4yOTcuMzEzIDEuNjMzLjIwOS4zMy41NC40OTQuOTkzLjQ5NGguMTJsLjczMy0uMDMzaC4wNjVjLjIzOCAwIC40MjUuMDc2LjU2Mi4yM2EuNzgyLjc4MiAwIDAgMSAuMjA1LjUzN2MwIC4xODMtLjA0LjMzMi0uMTIuNDVhLjY4My42ODMgMCAwIDEtLjM2Ni4yNGMtLjE1OS4wNTItLjMyLjA4NC0uNDg2LjFhNy4xMiA3LjEyIDAgMCAxLS42MjYuMDIxaC0uNjM3em01LjE4IDBjLS4yNyAwLS41LS4wOC0uNjktLjIzOC0uMTktLjE2LS4yODQtLjM4My0uMjg0LS42NzJWNi4xNTJjMC0uMjkuMDk4LS41MS4yOTUtLjY2MS4xOTctLjE1OS40My0uMjM4LjcwMS0uMjM4LjI3IDAgLjUuMDc5LjY5LjIzOC4xOTcuMTUyLjI5NS4zNjUuMjk1LjY0bC0uMDEgMS4zYTMuMjEgMy4yMSAwIDAgMSAxLjA5NC0xLjY4Yy41NTUtLjQ1NSAxLjIyLS42ODMgMS45OTMtLjY4My4yMzQgMCAuNDE2LjA4Ny41NDguMjZhLjk0My45NDMgMCAwIDEgLjIwOC42MDcuODg4Ljg4OCAwIDAgMS0uMTg2LjU2M2MtLjEyNC4xNTItLjMwMy4yMjgtLjUzNy4yMjgtLjk4NSAwLTEuNzUyLjI1My0yLjMuNzU4LS41NC41MDYtLjgxIDEuMTgxLS44MSAyLjAyNnY1LjU4YzAgLjI4OS0uMTAyLjUxMy0uMzA2LjY3Mi0uMTk3LjE1OS0uNDMuMjM4LS43LjIzOHptMjcuMDc0LS4yNTVjLS4xOTUuMTctLjQyNS4yNTUtLjY5Mi4yNTUtLjI2NiAwLS40OTctLjA4NS0uNjkxLS4yNTUtLjE4Ny0uMTc4LS4yOC0uNDIyLS4yOC0uNzMzVjYuMzg0aC0xLjQxNmMtLjIzOCAwLS40MTQtLjA1OS0uNTMtLjE3N2EuNjY1LjY2NSAwIDAgMS0uMTcyLS40NjcuNjguNjggMCAwIDEgLjE3My0uNDc3Yy4xMTUtLjEyNi4yOTEtLjE4OS41My0uMTg5aDEuNDE0di0xLjQxYzAtMS4zMjUuMjc0LTIuMjY1LjgyMS0yLjgyQzM2LjcyLjI4IDM3LjQ3NiAwIDM4LjQ0MSAwaDEuMzE4YS41Ny41NyAwIDAgMSAuNDg2LjIzMy44MS44MSAwIDAgMSAuMTg0LjUzMy44MS44MSAwIDAgMS0uMTg0LjUzM2MtLjExNS4xNDgtLjI4LjIyMi0uNDk3LjIyMmgtLjkxOGMtLjMxIDAtLjU1LjAzLS43MjMuMDg5LS4xNzMuMDUyLS4zMjguMTc0LS40NjUuMzY2LS4xMy4xODUtLjIyLjQ1Ni0uMjcuODExLS4wNDMuMzQ4LS4wNjUuODIyLS4wNjUgMS40MjF2Ljg2NmgxLjgyNmMuMjM3IDAgLjQxLjA2My41MTguMTg5YS42OC42OCAwIDAgMSAuMTczLjQ3N2MwIC40My0uMjMuNjQ0LS42OTEuNjQ0aC0xLjgyNnY4LjYyOGMwIC4zMS0uMDk3LjU1NS0uMjkxLjczM3ptNi4zNy0xMy4zNmMtLjM4NiAwLS42OTYtLjEwOC0uOTMtLjMyNC0uMjMzLS4yMjMtLjM1LS41MS0uMzUtLjg2M3MuMTE3LS42NC4zNS0uODYzYy4yNDEtLjIyMy41NTUtLjMzNS45NDItLjMzNS4zOCAwIC42ODYuMTEyLjkyLjMzNS4yMzMuMjE1LjM1LjUwMy4zNS44NjMgMCAuMzUzLS4xMTcuNjQtLjM1Ljg2My0uMjM0LjIxNi0uNTQ0LjMyNC0uOTMxLjMyNHpNNDMuMzcyIDE2YS45OTMuOTkzIDAgMCAxLS42ODYtLjI1M2MtLjE5LS4xNzYtLjI4NC0uNDI1LS4yODQtLjc0OFY2LjA2YzAtLjMwOS4wOTgtLjU1LjI5NC0uNzI3LjIwNC0uMTc2LjQ0LS4yNjQuNzA4LS4yNjQuMjYyIDAgLjQ4Ny4wODguNjc1LjI2NC4xOTYuMTc2LjI5NC40MTguMjk0LjcyNlYxNWMwIC4zMDgtLjEwMS41NTQtLjMwNS43MzdhMS4wMDkgMS4wMDkgMCAwIDEtLjY5Ni4yNjR6bTUuNjI2LS4yNzFhMS4wMiAxLjAyIDAgMCAxLS42OTguMjZjLS4yNyAwLS40OTgtLjA4My0uNjg3LS4yNS0uMTktLjE3My0uMjg0LS40MTktLjI4NC0uNzM3Vi45NzZjMC0uMzAzLjA5OC0uNTQyLjI5NS0uNzE2LjIwMy0uMTczLjQ0LS4yNi43MDktLjI2LjI2MSAwIC40ODcuMDg3LjY3Ni4yNi4xOTYuMTc0LjI5NC40MTMuMjk0LjcxNnY4Ljc5OGw0Ljk1My00LjUxM2EuNzc1Ljc3NSAwIDAgMSAuNTEyLS4yMDZjLjIzMyAwIC40MzcuMDkuNjExLjI3MS4xODIuMTguMjczLjM4My4yNzMuNjA4IDAgLjIwMi0uMDg3LjM4Ni0uMjYyLjU1M2wtMy45NiAzLjUyNSA0LjMzMSA0LjUzNGMuMTYuMTY3LjI0LjM1NS4yNC41NjVhLjgzNS44MzUgMCAwIDEtLjI4NC42MTguODcuODcgMCAwIDEtLjYzMi4yNzEuODUuODUgMCAwIDEtLjY1NS0uMzA0bC01LjEyNy01LjQyM3Y0LjcyOWMwIC4zMTEtLjEwMS41NTMtLjMwNS43Mjd6Ii8+CiAgICAgICAgPHBhdGggZmlsbD0iIzFFNTRENSIgZD0iTTE4LjgyNyAxNS45OTVjLTEuMjU0LS4xMS0yLjIxMi0uNDkyLTIuOTA4LTEuMTYxLS43MS0uNjgxLTEuMDE0LTEuNTctLjg5My0yLjYwNy4xMzgtMS4xOTUuNjk5LTIuMDM4IDEuNjgzLTIuNTMuNzU4LS4zOCAxLjUxNS0uNTI0IDIuNzQ3LS41MjQuODc1IDAgMS42MDguMDcyIDIuNzI3LjI2OS4yNzcuMDQ4LjUxNi4wODguNTMyLjA4OC4wMjQgMCAuMDQyLS4wODkuMDkzLS40NDUuMDkyLS42NDQuMTA4LS44NjYuMDgzLTEuMTI0YTEuNjggMS42OCAwIDAgMC0uMTgtLjY3NmMtLjI5LS42MDEtLjk3OS0uOTY4LTIuMDg1LTEuMTEzYTguMDE1IDguMDE1IDAgMCAwLTEuMzY0LS4wMWMtLjUzLjA2LS44MjcuMTM4LTEuNDg4LjM4OC0uMzg3LjE0Ny0uMzg5LjE0Ny0uNTQzLjEzOGEuNjE4LjYxOCAwIDAgMS0uNTYyLS4zNzcuNDkuNDkgMCAwIDEtLjA1Ni0uMjczYzAtLjIuMDUxLS4zMDYuMjMtLjQ3Ni40MDItLjM4IDEuMDc5LS43MDQgMS43NjEtLjg0My40MzgtLjA5LjY1My0uMTA4IDEuMjI5LS4xMDdhNy4zOCA3LjM4IDAgMCAxIDEuNTA3LjEzNWMuODguMTY1IDEuNTUuNDU3IDIuMDU0Ljg5Ni4xNS4xMy4zNzUuMzg3LjQ3Mi41MzcuMDMuMDQ1LjA2LjA4My4wNjcuMDgzYS42NzcuNjc3IDAgMCAwIC4xMS0uMTIyYy43NjMtLjk4NSAyLjA1LTEuNTQyIDMuNTU2LTEuNTQxIDEuMDY2IDAgMi4wNTcuMjczIDIuNzk2Ljc3LjU4NS4zOTMgMS4wNjEgMSAxLjI1NCAxLjU5Ny4xMS4zNDMuMTI3LjQ3LjEyOC45NjkgMCAuMzEtLjAwOC41Mi0uMDI1LjYxNi0uMTczLjk4LS41ODUgMS42NTktMS4zIDIuMTQyLS41NzQuMzg5LTEuMjk2LjYxNi0yLjI0LjcwNi0uNDc2LjA0NS0xLjM0NS4wNDEtMS45MDktLjAxYTE1LjczIDE1LjczIDAgMCAxLTEuMzE1LS4xNjggMjEuMjUgMjEuMjUgMCAwIDAtLjkzMy0uMTU3Yy0uMDAzLjAwMi0uMDM3LjIyLS4wNzYuNDgyLS4wNjMuNDItLjA3MS41MjQtLjA3My44Ni0uMDAxLjM0LjAwNC40LjA0NC41NTcuMTMuNTA2LjQxOS44NDQuOTQxIDEuMTA1LjUxNC4yNTcgMS4wNTMuMzY5IDEuODY3LjM4Ni4zNi4wMDcuNTQ1LjAwMi43Ny0uMDIyLjU0Ny0uMDU5Ljc5Ni0uMTIzIDEuNTIyLS4zOTMuMTgxLS4wNjcuMzY2LS4xMjguNDEtLjEzNmEuNzUuNzUgMCAwIDEgLjM4LjA3LjcwMy43MDMgMCAwIDEgLjM0NC41NjRjMCAuMjQzLS4wODIuMzktLjMyLjU4Mi0uNTcuNDYtMS4yOTguNzQtMi4xNjcuODM4LS4zMS4wMzUtMS4wMTcuMDQtMS4zNTguMDEtLjk2Mi0uMDg1LTEuNjMtLjI1MS0yLjI0LS41NTktLjQ3Ny0uMjQtLjg0LS41MzctMS4xMTItLjkwOWExNi41MDggMTYuNTA4IDAgMCAwLS4xMjYtLjE3MS44NjMuODYzIDAgMCAwLS4wOTguMTE3IDMuOTkxIDMuOTkxIDAgMCAxLS45MTkuODQyYy0uNDkyLjMyNC0xLjIuNTcxLTEuOTE0LjY3LS4yMTQuMDI5LS45MjIuMDUzLTEuMTAzLjAzN3ptMS4yMjgtMS4zOTRhMi44NDMgMi44NDMgMCAwIDAgMS40ODMtLjg0Yy4zNDQtLjM3OC42MjctLjk0NS43ODItMS41NjkuMDg4LS4zNTIuMjM0LTEuMzMuMjAyLTEuMzVhLjc5Mi43OTIgMCAwIDAtLjE3Mi0uMDI5IDE5LjUwNCAxOS41MDQgMCAwIDEtLjUxNS0uMDYxYy0xLjItLjE1Ny0xLjkzNy0uMjE5LTIuMzUtLjE5NS0uNzg1LjA0NC0xLjEwNi4xMTQtMS41NzcuMzQxYTEuNDU2IDEuNDU2IDAgMCAwLS41NC40MWMtLjE5LjI0LS4zMDMuNDc4LS4zODMuNzk5LS4wNTguMjMzLS4wNjQuODQ0LS4wMSAxLjA0LjA5LjMzMi4xOTguNTIuNDQuNzY4LjMzLjM0Ljc2Ny41NjggMS4zMDkuNjgxLjI3Ni4wNTguMjY4LjA1Ny43MzIuMDUuMzM2LS4wMDUuNDYyLS4wMTQuNi0uMDQ1em03LjY1LTQuNTljLjQ5LS4wNDQuNzktLjEyIDEuMTU5LS4yOTYuMzA2LS4xNDYuNDg1LS4yOTUuNjU0LS41NDcuMjQ4LS4zNy4zNDUtLjcyMS4zNDMtMS4yNDItLjAwMi0uMzcxLS4wMzMtLjUyNi0uMTYtLjc5Mi0uMjgzLS41OTYtLjk0OS0xLjAyMy0xLjgyMS0xLjE2OGE0LjU0MiA0LjU0MiAwIDAgMC0xLjAyNS4wMTFjLS40My4wOC0uNzkzLjIyNC0xLjExMy40NDMtLjU5LjQwNC0uOTk5IDEuMDE0LTEuMjI2IDEuODMzLS4wOS4zMjEtLjExMy40NDUtLjE5My45OTlsLS4wNzMuNTExLjA5OC4wMTFjLjI5Ny4wMzMuOTY3LjExNSAxLjM1Ni4xNjYuMjQ0LjAzMi41NDUuMDY2LjY2Ny4wNzYuMzU0LjAyOC45ODguMDI1IDEuMzM1LS4wMDZ6TTYwLjE4NiAxaDE3LjQ5N0M3OC40MSAxIDc5IDEuNjE4IDc5IDIuMzh2MTIuMjRjMCAuNzYyLS41OSAxLjM4LTEuMzE4IDEuMzhINjAuMTg1Yy0uNzI3IDAtMS4zMTctLjYxOC0xLjMxNy0xLjM4VjIuMzhjMC0uNzYyLjU5LTEuMzggMS4zMTctMS4zOHptMS4zOTggMTMuMDAzaDUuNzZjLjE2Ny4wMS4zMy0uMDU1LjQ0Ny0uMTc3YS42MzUuNjM1IDAgMCAwIC4xNTYtLjQ1My42NDQuNjQ0IDAgMCAwLS4xNTYtLjQ1My41Ni41NiAwIDAgMC0uNDQ3LS4xOEg2Mi4zN1Y4Ljk0Mmg0LjUzNWEuNTYzLjU2MyAwIDAgMCAuNDQ3LS4xNzYuNjExLjYxMSAwIDAgMCAuMTctLjQyNi41NzcuNTc3IDAgMCAwLS42MDgtLjU5OEg2Mi4zN1Y0LjI1NWg0Ljc5YS41NjQuNTY0IDAgMCAwIC40NDctLjE4Ni42MzUuNjM1IDAgMCAwIC4xNTYtLjQ1Mi42MTYuNjE2IDAgMCAwLS4xNTYtLjQzLjU2LjU2IDAgMCAwLS40NDctLjE4MmgtNS42MDNhLjY3LjY3IDAgMCAwLS41MTQuMjI2Ljc1My43NTMgMCAwIDAtLjIwMS41MjF2OS40NWMwIC4yLjA4My4zOTIuMjI3LjUzYS43MzQuNzM0IDAgMCAwIC41MTQuMjcxem05LjA4IDBoNS43NmMuMTY2LjAxLjMzLS4wNTUuNDQ2LS4xNzdhLjYzNS42MzUgMCAwIDAgLjE1Ni0uNDUzLjY0NC42NDQgMCAwIDAtLjE1Ni0uNDUzLjU2LjU2IDAgMCAwLS40NDctLjE4SDcxLjQ1VjguOTQyaDQuNTM1YS41NjMuNTYzIDAgMCAwIC40NDctLjE3Ni42MTEuNjExIDAgMCAwIC4xNy0uNDI2LjU3Ny41NzcgMCAwIDAtLjYwOC0uNTk4SDcxLjQ1VjQuMjU1aDQuNzlhLjU2NC41NjQgMCAwIDAgLjQ0Ny0uMTg2LjYzNS42MzUgMCAwIDAgLjE1Ni0uNDUyLjYxNi42MTYgMCAwIDAtLjE1Ni0uNDMuNTYuNTYgMCAwIDAtLjQ0Ny0uMTgyaC01LjYwM2EuNjcuNjcgMCAwIDAtLjUxNC4yMjYuNzUzLjc1MyAwIDAgMC0uMjAxLjUyMXY5LjQ1YzAgLjIuMDgzLjM5Mi4yMjguNTNhLjczNC43MzQgMCAwIDAgLjUxNC4yNzF6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=" alt="TraefikEE Doc" />
|
|
</div>
|
|
<a class="dmi-details" href="https://docs.containo.us/">
|
|
<div class="dmi-title">
|
|
TraefikEE Documentation
|
|
</div>
|
|
<div class="dmi-description">
|
|
Ensure high availability, scalability, and security
|
|
of your microservices
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="dm-item">
|
|
<div class="dmi-image">
|
|
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDEiIGhlaWdodD0iMzkiIHZpZXdCb3g9IjAgMCAxNDEgMzkiPgogICAgPGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cGF0aCBmaWxsPSIjMUYwMzIzIiBkPSJNMzAuMDEzIDExLjE0M2M1Ljk4IDAgOC45NyAzLjU1NiA4Ljk3IDEwLjY2N3YxNC45OGMwIC43LS4yMDIgMS4yNDMtLjYwOCAxLjYzLS40MDYuMzg3LS45NDIuNTgtMS42MDYuNTgtLjY2NSAwLTEuMjEtLjE5My0xLjYzNC0uNTgtLjQyNC0uMzg3LS42MzctLjkzLS42MzctMS42M1YyMS45MmMwLTIuNDY4LS40NDMtNC4yNTUtMS4zMjktNS4zNi0uODg2LTEuMTA2LTIuMjctMS42NTktNC4xNTMtMS42NTktMi4yNTIgMC00LjAyNC43NTYtNS4zMTYgMi4yNjctMS4yOTIgMS41MS0xLjkzOCAzLjU1NS0xLjkzOCA2LjEzNXYxMy40ODZjMCAuNy0uMjEyIDEuMjQ0LS42MzcgMS42My0uNDI0LjM4OC0uOTY5LjU4MS0xLjYzMy41ODEtLjY2NSAwLTEuMi0uMTkzLTEuNjA2LS41OC0uNDA2LS4zODctLjYxLS45My0uNjEtMS42M1YyMS45MmMwLTIuNDY4LS40NDItNC4yNTUtMS4zMjgtNS4zNi0uODg2LTEuMTA2LTIuMjg5LTEuNjU5LTQuMjA5LTEuNjU5LTIuMjE1IDAtMy45NzcuNzU2LTUuMjg4IDIuMjY3LTEuMzEgMS41MS0xLjk2NiAzLjU1NS0xLjk2NiA2LjEzNXYxMy40ODZjMCAuNy0uMjAzIDEuMjQ0LS42MDkgMS42My0uNDA2LjM4OC0uOTQxLjU4MS0xLjYwNi41ODEtLjY2NCAwLTEuMjA5LS4xOTMtMS42MzMtLjU4Qy4yMTIgMzguMDMzIDAgMzcuNDkgMCAzNi43OVYxMy40NjNjMC0uNjYzLjIxMi0xLjE5Ny42MzctMS42MDMuNDI0LS40MDUuOTY5LS42MDggMS42MzMtLjYwOC42MjggMCAxLjE0NS4xOTQgMS41NS41OC40MDcuMzg4LjYxLjkxMy42MSAxLjU3NnYyLjY1M2MuODEyLTEuNTg0IDEuOTM4LTIuOCAzLjM3OC0zLjY0OCAxLjQ0LS44NDcgMy4xLTEuMjcxIDQuOTg0LTEuMjcxIDQuMjA4IDAgNi45NTggMS43NjkgOC4yNSA1LjMwNi43NzYtMS42MjEgMS45NTctMi45MTEgMy41NDQtMy44NyAxLjU4OC0uOTU3IDMuMzk3LTEuNDM2IDUuNDI3LTEuNDM2em03My4wODYgMGMxLjQyOSAwIDIuODEyLjE5MyA0LjE0OS41NzggMS4zMzcuMzg1IDIuNTE4LjkyNyAzLjU0NCAxLjYyNCAxLjI0NS44OCAxLjg2OCAxLjc5OCAxLjg2OCAyLjc1MyAwIC40NzctLjE0Ny44OC0uNDQgMS4yMS0uMjkzLjMzMS0uNjQuNDk2LTEuMDQ0LjQ5Ni0uNDQgMC0xLjA5OS0uMzEyLTEuOTc4LS45MzYtMS4wMjUtLjY2LTEuOTk2LTEuMTc0LTIuOTEyLTEuNTQxLS45MTYtLjM2Ny0yLjA1MS0uNTUtMy40MDYtLjU1LTEuNzIyIDAtMy4xMDUuMzg1LTQuMTQ5IDEuMTU2LTEuMDQ0Ljc3LTEuNTY2IDEuNzk4LTEuNTY2IDMuMDgzIDAgLjgwNy4xOTMgMS40NTguNTc3IDEuOTU0LjM4NS40OTUgMS4wMjYuOTM2IDEuOTIzIDEuMzIxLjg5OC4zODYgMi4xODkuNzYyIDMuODc0IDEuMTI5IDIuNDkuNTUgNC40MjMgMS4xNTYgNS43OTcgMS44MTcgMS4zNzMuNjYgMi4zNTMgMS40NjggMi45NCAyLjQyMi41ODUuOTU0Ljg3OCAyLjE2NS44NzggMy42MzMgMCAyLjMxMy0uOTcgNC4xNzUtMi45MTIgNS41ODgtMS45NDEgMS40MTMtNC41MDUgMi4xMi03LjY5MiAyLjEyLTEuNjg1IDAtMy4yODgtLjIwMi00LjgwOC0uNjA2LTEuNTItLjQwMy0yLjg2Ni0uOTcyLTQuMDM4LTEuNzA2LS42Ni0uNDQtMS4xMjctLjg1NC0xLjQwMS0xLjIzOS0uMjc1LS4zODUtLjQxMy0uODUzLS40MTMtMS40MDQgMC0uNDc3LjEzOC0uODcyLjQxMy0xLjE4My4yNzQtLjMxMi42MzEtLjQ2OCAxLjA3MS0uNDY4LjQ0IDAgMS4wOC4yNzUgMS45MjMuODI1YTE4LjI3NiAxOC4yNzYgMCAwIDAgMy4yNyAxLjU3YzEuMDguMzg1IDIuNDI2LjU3NyA0LjAzOC41NzcgMS45NzggMCAzLjUxNi0uMzQ4IDQuNjE1LTEuMDQ2IDEuMS0uNjk3IDEuNjQ5LTEuNzA2IDEuNjQ5LTMuMDI4IDAtLjgwNy0uMjAyLTEuNDU4LS42MDUtMS45NTQtLjQwMy0uNDk1LTEuMDk5LS45MzYtMi4wODgtMS4zMjEtLjk4OS0uMzg2LTIuNDM2LS43OC00LjM0LTEuMTg0LTMuMjI0LS42OTctNS41MzItMS42MzMtNi45MjQtMi44MDgtMS4zOTEtMS4xNzQtMi4wODctMi43Ny0yLjA4Ny00Ljc5IDAtMS41NzcuNDQtMi45NzIgMS4zMTgtNC4xODMuODgtMS4yMTIgMi4wOTctMi4xNjYgMy42NTQtMi44NjMgMS41NTctLjY5NyAzLjMyNC0xLjA0NiA1LjMwMi0xLjA0NnpNMTIwLjQ0MSAwYy42ODcgMCAxLjIyLjE5IDEuNi41NzMuMzguMzgyLjU3LjkuNTcgMS41NTR2MTQuMjkxYy44NjgtMS42IDIuMDgtMi44MTggMy42MzQtMy42NTQgMS41NTUtLjgzNyAzLjMyNy0xLjI1NSA1LjMxNi0xLjI1NSAzLjExIDAgNS40NjEuODgyIDcuMDUyIDIuNjQ2IDEuNTkxIDEuNzYzIDIuMzg3IDQuMzkgMi4zODcgNy44ODF2MTQuNzgyYzAgLjY5MS0uMTk5IDEuMjI3LS41OTcgMS42MS0uMzk3LjM4MS0uOTIyLjU3Mi0xLjU3My41NzItLjY4NyAwLTEuMjMtLjE5LTEuNjI3LS41NzMtLjM5OC0uMzgyLS41OTctLjkxOC0uNTk3LTEuNjA5VjIyLjE0NWMwLTIuMzYzLS40NzktNC4xMDktMS40MzctNS4yMzYtLjk1OS0xLjEyNy0yLjQ4Ny0xLjY5LTQuNTg0LTEuNjktMi40MjMgMC00LjM1OC43NDUtNS44MDQgMi4yMzYtMS40NDcgMS40OS0yLjE3IDMuNTA5LTIuMTcgNi4wNTR2MTMuMzFjMCAuNjktLjE5IDEuMjI2LS41NyAxLjYwOC0uMzguMzgyLS45MTMuNTczLTEuNi41NzNzLTEuMjMtLjE5LTEuNjI3LS41NzNjLS4zOTgtLjM4Mi0uNTk3LS45MTgtLjU5Ny0xLjYwOVYyLjEyOGMwLS42MTkuMjA4LTEuMTI4LjYyNC0xLjUyOC40MTYtLjQuOTUtLjYgMS42LS42eiIvPgogICAgICAgIDxwYXRoIGZpbGw9IiM5RDBGQjAiIGQ9Ik01NC42NzkgMzguOTg3Yy0zLjE4LS4yOC01LjYwOS0xLjI2Mi03LjM3Ni0yLjk4LTEuNzk3LTEuNzQ3LTIuNTY5LTQuMDI1LTIuMjY0LTYuNjg5LjM1LTMuMDY0IDEuNzczLTUuMjI5IDQuMjY4LTYuNDkxIDEuOTIzLS45NzMgMy44NDItMS4zNDQgNi45NjYtMS4zNDQgMi4yMi0uMDAxIDQuMDguMTg1IDYuOTE2LjY5LjcwMi4xMjUgMS4zMDkuMjI3IDEuMzUuMjI3LjA2IDAgLjEwNi0uMjI4LjIzNS0xLjE0Mi4yMzMtMS42NTMuMjc1LTIuMjIzLjIxMS0yLjg4NS0uMDc0LS43Ny0uMTctMS4xMzgtLjQ1NS0xLjczNS0uNzM2LTEuNTQtMi40ODQtMi40ODQtNS4yOS0yLjg1NC0uODAyLS4xMDYtMi42NTQtLjEyLTMuNDU4LS4wMjctMS4zNDYuMTU1LTIuMDk4LjM1NC0zLjc3NC45OTctLjk4LjM3Ni0uOTg1LjM3Ny0xLjM3Ni4zNTMtLjY3My0uMDQtMS4xMzItLjM1Mi0xLjQyNi0uOTY3LS4xMjEtLjI1NC0uMTQzLS4zNTktLjE0My0uNyAwLS41MTMuMTMtLjc4Ni41ODUtMS4yMjEgMS4wMi0uOTc2IDIuNzM1LTEuODA3IDQuNDY2LTIuMTY0IDEuMTEtLjIyOCAxLjY1NS0uMjc2IDMuMTE1LS4yNzQgMS41MTIuMDA0IDIuNDc4LjA5IDMuODIxLjM0NSAyLjIzNC40MjUgMy45MyAxLjE3NSA1LjIxIDIuMzAxLjM3OS4zMzQuOTUxLjk5MiAxLjE5NiAxLjM3Ni4wNzUuMTE4LjE1Mi4yMTQuMTcyLjIxNC4wMiAwIC4xNDMtLjE0MS4yNzUtLjMxNCAxLjkzNy0yLjUyNSA1LjItMy45NTUgOS4wMi0zLjk1MyAyLjcwNCAwIDUuMjE2LjcwMSA3LjA5IDEuOTc1IDEuNDg1IDEuMDEgMi42OTIgMi41NjUgMy4xNzkgNC4wOTkuMjguODguMzIzIDEuMjA2LjMyNSAyLjQ4NS4wMDIuNzk2LS4wMiAxLjMzMi0uMDYzIDEuNTgxLS40MzggMi41MTQtMS40ODIgNC4yNTUtMy4yOTUgNS40OTUtMS40NTcuOTk4LTMuMjg4IDEuNTgyLTUuNjgzIDEuODEyLTEuMjA1LjExNi0zLjQxLjEwNS00LjgzOC0uMDI0LTEuMjEzLS4xMS0yLjcwMS0uMzAyLTMuMzM2LS40MzItLjUzMi0uMTA5LTIuMzUyLS40Mi0yLjM2Ny0uNDA0YTM5LjkyIDM5LjkyIDAgMCAwLS4xOTIgMS4yMzhjLS4xNTggMS4wNzYtLjE4IDEuMzQ1LS4xODQgMi4yMDUtLjAwNC44NzQuMDA4IDEuMDI3LjExMSAxLjQzLjMzMiAxLjI5OCAxLjA2MiAyLjE2NSAyLjM4NyAyLjgzNiAxLjMwMy42NiAyLjY2OS45NDUgNC43MzMuOTkuOTE0LjAxOSAxLjM4Mi4wMDUgMS45NTQtLjA1NyAxLjM4Ni0uMTUgMi4wMTgtLjMxNSAzLjg2LTEuMDA4LjQ1OC0uMTcyLjkyNi0uMzMgMS4wNC0uMzQ5LjI0Mi0uMDQxLjY5Ni4wNDQuOTYuMTgyLjQ3Ny4yNDguODc4LjkwOS44NzUgMS40NDQtLjAwMy42MjUtLjIwOSAxLjAwMy0uODEzIDEuNDk1LTEuNDQ1IDEuMTc3LTMuMjkgMS44OTktNS40OTQgMi4xNDktLjc4NS4wODktMi41NzkuMTAyLTMuNDQ1LjAyNS0yLjQ0LS4yMTctNC4xMzQtLjY0NC01LjY4MS0xLjQzMi0xLjIwOC0uNjE1LTIuMTMtMS4zNzktMi44MTgtMi4zMzRsLS4zMi0uNDRjLS4wMDYtLjAwNy0uMTE4LjEyOS0uMjUuMzAyLS41NzguNzY0LTEuNDYzIDEuNTg1LTIuMzI4IDIuMTYtMS4yNDkuODMyLTMuMDQxIDEuNDY2LTQuODU1IDEuNzE4LS41NDEuMDc1LTIuMzM2LjEzNy0yLjc5Ni4wOTZ6bTMuMTE0LTMuNTc3YzEuNDgxLS4zMzYgMi44MDEtMS4wOTMgMy43Ni0yLjE1Ni44NzMtLjk3IDEuNTktMi40MjMgMS45ODUtNC4wMjQuMjIyLS45MDMuNTkyLTMuNDE1LjUxLTMuNDY2LS4wMzMtLjAyLS4yMjgtLjA1My0uNDM0LS4wNzItLjIwNy0uMDItLjc5NS0uMDktMS4zMDgtLjE1OC0zLjA0NC0uNDAzLTQuOTEyLS41Ni01Ljk2LS41LTEuOTkuMTE0LTIuODAyLjI5Mi0zLjk5Ny44NzYtLjYxMy4zLTEuMDM1LjYyNC0xLjM3IDEuMDUzLS40OC42MTQtLjc3IDEuMjI1LS45NzEgMi4wNDctLjE0Ny41OTktLjE2MiAyLjE2Ni0uMDI2IDIuNjcxLjIzLjg1MS41MDMgMS4zMzMgMS4xMTYgMS45Ny44NC44NzMgMS45NDYgMS40NTUgMy4zMTggMS43NDcuNzAyLjE0OS42ODIuMTQ3IDEuODU3LjEyOS44NTMtLjAxMyAxLjE3Mi0uMDM4IDEuNTItLjExN3ptMTkuNC0xMS43NzhjMS4yNC0uMTEyIDIuMDAxLS4zMDkgMi45MzctLjc1OS43NzgtLjM3NCAxLjIzLS43NTYgMS42NTgtMS40MDIuNjMtLjk1Ljg3Ni0xLjg1Ljg3LTMuMTg3LS4wMDUtLjk1My0uMDg0LTEuMzUtLjQwNS0yLjAzMy0uNzE4LTEuNTI5LTIuNDA1LTIuNjIzLTQuNjE4LTIuOTk3LS41NTItLjA5My0yLjAzNC0uMDc3LTIuNi4wMjktMS4wODguMjAzLTIuMDA4LjU3NC0yLjgyIDEuMTM2LTEuNSAxLjAzOC0yLjUzNCAyLjYwMi0zLjExIDQuNzAzLS4yMjcuODI1LS4yODcgMS4xNDEtLjQ5IDIuNTY0bC0uMTg1IDEuMzExLjI1LjAyOGMuNzUyLjA4NiAyLjQ1LjI5NiAzLjQzNy40MjcuNjIuMDgxIDEuMzgyLjE2OSAxLjY5Mi4xOTQuODk3LjA3MiAyLjUwNS4wNjUgMy4zODUtLjAxNHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==" alt="Maesh Doc" />
|
|
</div>
|
|
<a class="dmi-details" href="https://docs.mae.sh/">
|
|
<div class="dmi-title">Maesh Documentation</div>
|
|
<div class="dmi-description">
|
|
Route and Monitor communications inside your
|
|
Kubernetes cluster
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</nav>
|
|
<div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
|
|
|
|
<div class="md-search" data-md-component="search" role="dialog">
|
|
<label class="md-search__overlay" for="__search"></label>
|
|
<div class="md-search__inner" role="search">
|
|
<form class="md-search__form" name="search">
|
|
<input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
|
|
<label class="md-icon md-search__icon" for="__search"></label>
|
|
<button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
|
|

|
|
</button>
|
|
</form>
|
|
<div class="md-search__output">
|
|
<div class="md-search__scrollwrap" data-md-scrollfix>
|
|
<div class="md-search-result" data-md-component="result">
|
|
<div class="md-search-result__meta">
|
|
Type to start searching
|
|
</div>
|
|
<ol class="md-search-result__list"></ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
|
|
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
<nav class="md-nav md-nav--primary" data-md-level="0">
|
|
<label class="md-nav__title md-nav__title--site" for="__drawer">
|
|
<a href="../.." title="Traefik" class="md-nav__button md-logo">
|
|
|
|
<img src="../../assets/img/traefik.logo.png" width="48" height="48">
|
|
|
|
</a>
|
|
Traefik
|
|
</label>
|
|
|
|
<div class="md-nav__source">
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://github.com/containous/traefik/" title="Go to repository" class="md-source" data-md-source="github">
|
|
|
|
<div class="md-source__icon">
|
|
<svg viewBox="0 0 24 24" width="24" height="24">
|
|
<use xlink:href="#__github" width="24" height="24"></use>
|
|
</svg>
|
|
</div>
|
|
|
|
<div class="md-source__repository">
|
|
GitHub
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../.." title="Welcome" class="md-nav__link">
|
|
Welcome
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2" checked>
|
|
|
|
<label class="md-nav__link" for="nav-2">
|
|
Getting Started
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-2">
|
|
Getting Started
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../concepts/" title="Concepts" class="md-nav__link">
|
|
Concepts
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
Quick Start
|
|
</label>
|
|
|
|
<a href="./" title="Quick Start" class="md-nav__link md-nav__link--active">
|
|
Quick Start
|
|
</a>
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary">
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">Table of contents</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#launch-traefik-with-the-docker-provider" class="md-nav__link">
|
|
Launch Traefik With the Docker Provider
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#traefik-detects-new-services-and-creates-the-route-for-you" class="md-nav__link">
|
|
Traefik Detects New Services and Creates the Route for You
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#more-instances-traefik-load-balances-them" class="md-nav__link">
|
|
More Instances? Traefik Load Balances Them
|
|
</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../configuration-overview/" title="Configuration Introduction" class="md-nav__link">
|
|
Configuration Introduction
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../install-traefik/" title="Install Traefik" class="md-nav__link">
|
|
Install Traefik
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
|
|
|
|
<label class="md-nav__link" for="nav-3">
|
|
Configuration Discovery
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-3">
|
|
Configuration Discovery
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/overview/" title="Overview" class="md-nav__link">
|
|
Overview
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/docker/" title="Docker" class="md-nav__link">
|
|
Docker
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/kubernetes-crd/" title="Kubernetes IngressRoute" class="md-nav__link">
|
|
Kubernetes IngressRoute
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/kubernetes-ingress/" title="Kubernetes Ingress" class="md-nav__link">
|
|
Kubernetes Ingress
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/consul-catalog/" title="Consul Catalog" class="md-nav__link">
|
|
Consul Catalog
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/marathon/" title="Marathon" class="md-nav__link">
|
|
Marathon
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/rancher/" title="Rancher" class="md-nav__link">
|
|
Rancher
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/file/" title="File" class="md-nav__link">
|
|
File
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/consul/" title="Consul" class="md-nav__link">
|
|
Consul
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/etcd/" title="Etcd" class="md-nav__link">
|
|
Etcd
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/zookeeper/" title="ZooKeeper" class="md-nav__link">
|
|
ZooKeeper
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/redis/" title="Redis" class="md-nav__link">
|
|
Redis
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
|
|
|
|
<label class="md-nav__link" for="nav-4">
|
|
Routing & Load Balancing
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-4">
|
|
Routing & Load Balancing
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../routing/overview/" title="Overview" class="md-nav__link">
|
|
Overview
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../routing/entrypoints/" title="EntryPoints" class="md-nav__link">
|
|
EntryPoints
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../routing/routers/" title="Routers" class="md-nav__link">
|
|
Routers
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../routing/services/" title="Services" class="md-nav__link">
|
|
Services
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-5" type="checkbox" id="nav-4-5">
|
|
|
|
<label class="md-nav__link" for="nav-4-5">
|
|
Providers
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="2">
|
|
<label class="md-nav__title" for="nav-4-5">
|
|
Providers
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../routing/providers/docker/" title="Docker" class="md-nav__link">
|
|
Docker
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../routing/providers/kubernetes-crd/" title="Kubernetes IngressRoute" class="md-nav__link">
|
|
Kubernetes IngressRoute
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../routing/providers/kubernetes-ingress/" title="Kubernetes Ingress" class="md-nav__link">
|
|
Kubernetes Ingress
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../routing/providers/consul-catalog/" title="Consul Catalog" class="md-nav__link">
|
|
Consul Catalog
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../routing/providers/marathon/" title="Marathon" class="md-nav__link">
|
|
Marathon
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../routing/providers/rancher/" title="Rancher" class="md-nav__link">
|
|
Rancher
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../routing/providers/kv/" title="KV" class="md-nav__link">
|
|
KV
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
|
|
|
|
<label class="md-nav__link" for="nav-5">
|
|
HTTPS & TLS
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-5">
|
|
HTTPS & TLS
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../https/overview/" title="Overview" class="md-nav__link">
|
|
Overview
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../https/tls/" title="TLS" class="md-nav__link">
|
|
TLS
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../https/acme/" title="Let's Encrypt" class="md-nav__link">
|
|
Let's Encrypt
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
|
|
|
|
<label class="md-nav__link" for="nav-6">
|
|
Middlewares
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-6">
|
|
Middlewares
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/overview/" title="Overview" class="md-nav__link">
|
|
Overview
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/addprefix/" title="AddPrefix" class="md-nav__link">
|
|
AddPrefix
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/basicauth/" title="BasicAuth" class="md-nav__link">
|
|
BasicAuth
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/buffering/" title="Buffering" class="md-nav__link">
|
|
Buffering
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/chain/" title="Chain" class="md-nav__link">
|
|
Chain
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/circuitbreaker/" title="CircuitBreaker" class="md-nav__link">
|
|
CircuitBreaker
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/compress/" title="Compress" class="md-nav__link">
|
|
Compress
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/contenttype/" title="ContentType" class="md-nav__link">
|
|
ContentType
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/digestauth/" title="DigestAuth" class="md-nav__link">
|
|
DigestAuth
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/errorpages/" title="Errors" class="md-nav__link">
|
|
Errors
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/forwardauth/" title="ForwardAuth" class="md-nav__link">
|
|
ForwardAuth
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/headers/" title="Headers" class="md-nav__link">
|
|
Headers
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/ipwhitelist/" title="IpWhitelist" class="md-nav__link">
|
|
IpWhitelist
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/inflightreq/" title="InFlightReq" class="md-nav__link">
|
|
InFlightReq
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/passtlsclientcert/" title="PassTLSClientCert" class="md-nav__link">
|
|
PassTLSClientCert
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/ratelimit/" title="RateLimit" class="md-nav__link">
|
|
RateLimit
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/redirectregex/" title="RedirectRegex" class="md-nav__link">
|
|
RedirectRegex
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/redirectscheme/" title="RedirectScheme" class="md-nav__link">
|
|
RedirectScheme
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/replacepath/" title="ReplacePath" class="md-nav__link">
|
|
ReplacePath
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/replacepathregex/" title="ReplacePathRegex" class="md-nav__link">
|
|
ReplacePathRegex
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/retry/" title="Retry" class="md-nav__link">
|
|
Retry
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/stripprefix/" title="StripPrefix" class="md-nav__link">
|
|
StripPrefix
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../middlewares/stripprefixregex/" title="StripPrefixRegex" class="md-nav__link">
|
|
StripPrefixRegex
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
|
|
|
|
<label class="md-nav__link" for="nav-7">
|
|
Operations
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-7">
|
|
Operations
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../operations/cli/" title="CLI" class="md-nav__link">
|
|
CLI
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../operations/dashboard/" title="Dashboard" class="md-nav__link">
|
|
Dashboard
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../operations/api/" title="API" class="md-nav__link">
|
|
API
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../operations/ping/" title="Ping" class="md-nav__link">
|
|
Ping
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
|
|
|
|
<label class="md-nav__link" for="nav-8">
|
|
Observability
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-8">
|
|
Observability
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/logs/" title="Logs" class="md-nav__link">
|
|
Logs
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/access-logs/" title="Access Logs" class="md-nav__link">
|
|
Access Logs
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-8-3" type="checkbox" id="nav-8-3">
|
|
|
|
<label class="md-nav__link" for="nav-8-3">
|
|
Metrics
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="2">
|
|
<label class="md-nav__title" for="nav-8-3">
|
|
Metrics
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/metrics/overview/" title="Overview" class="md-nav__link">
|
|
Overview
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/metrics/datadog/" title="Datadog" class="md-nav__link">
|
|
Datadog
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/metrics/influxdb/" title="InfluxDB" class="md-nav__link">
|
|
InfluxDB
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/metrics/prometheus/" title="Prometheus" class="md-nav__link">
|
|
Prometheus
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/metrics/statsd/" title="StatsD" class="md-nav__link">
|
|
StatsD
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-8-4" type="checkbox" id="nav-8-4">
|
|
|
|
<label class="md-nav__link" for="nav-8-4">
|
|
Tracing
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="2">
|
|
<label class="md-nav__title" for="nav-8-4">
|
|
Tracing
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/tracing/overview/" title="Overview" class="md-nav__link">
|
|
Overview
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/tracing/jaeger/" title="Jaeger" class="md-nav__link">
|
|
Jaeger
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/tracing/zipkin/" title="Zipkin" class="md-nav__link">
|
|
Zipkin
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/tracing/datadog/" title="Datadog" class="md-nav__link">
|
|
Datadog
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/tracing/instana/" title="Instana" class="md-nav__link">
|
|
Instana
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/tracing/haystack/" title="Haystack" class="md-nav__link">
|
|
Haystack
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../observability/tracing/elastic/" title="Elastic" class="md-nav__link">
|
|
Elastic
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
|
|
|
|
<label class="md-nav__link" for="nav-9">
|
|
User Guides
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-9">
|
|
User Guides
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../user-guides/crd-acme/" title="Kubernetes and Let's Encrypt" class="md-nav__link">
|
|
Kubernetes and Let's Encrypt
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../user-guides/grpc/" title="gRPC Examples" class="md-nav__link">
|
|
gRPC Examples
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../user-guides/marathon/" title="Marathon" class="md-nav__link">
|
|
Marathon
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-9-4" type="checkbox" id="nav-9-4">
|
|
|
|
<label class="md-nav__link" for="nav-9-4">
|
|
Docker
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="2">
|
|
<label class="md-nav__title" for="nav-9-4">
|
|
Docker
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../user-guides/docker-compose/basic-example/" title="Basic Example" class="md-nav__link">
|
|
Basic Example
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-9-4-2" type="checkbox" id="nav-9-4-2">
|
|
|
|
<label class="md-nav__link" for="nav-9-4-2">
|
|
HTTPS with Let's Encrypt
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="3">
|
|
<label class="md-nav__title" for="nav-9-4-2">
|
|
HTTPS with Let's Encrypt
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../user-guides/docker-compose/acme-tls/" title="TLS Challenge" class="md-nav__link">
|
|
TLS Challenge
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../user-guides/docker-compose/acme-http/" title="HTTP Challenge" class="md-nav__link">
|
|
HTTP Challenge
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../user-guides/docker-compose/acme-dns/" title="DNS Challenge" class="md-nav__link">
|
|
DNS Challenge
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
|
|
|
|
<label class="md-nav__link" for="nav-10">
|
|
Migration
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-10">
|
|
Migration
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../migration/v2/" title="Traefik v2 minor migrations" class="md-nav__link">
|
|
Traefik v2 minor migrations
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../migration/v1-to-v2/" title="Traefik v1 to v2" class="md-nav__link">
|
|
Traefik v1 to v2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-11" type="checkbox" id="nav-11">
|
|
|
|
<label class="md-nav__link" for="nav-11">
|
|
Contributing
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-11">
|
|
Contributing
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/thank-you/" title="Thank You!" class="md-nav__link">
|
|
Thank You!
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/submitting-issues/" title="Submitting Issues" class="md-nav__link">
|
|
Submitting Issues
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/submitting-pull-requests/" title="Submitting PRs" class="md-nav__link">
|
|
Submitting PRs
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/submitting-security-issues/" title="Security" class="md-nav__link">
|
|
Security
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/building-testing/" title="Building and Testing" class="md-nav__link">
|
|
Building and Testing
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/documentation/" title="Documentation" class="md-nav__link">
|
|
Documentation
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/data-collection/" title="Data Collection" class="md-nav__link">
|
|
Data Collection
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/advocating/" title="Advocating" class="md-nav__link">
|
|
Advocating
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/maintainers/" title="Maintainers" class="md-nav__link">
|
|
Maintainers
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-12" type="checkbox" id="nav-12">
|
|
|
|
<label class="md-nav__link" for="nav-12">
|
|
References
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-12">
|
|
References
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-12-1" type="checkbox" id="nav-12-1">
|
|
|
|
<label class="md-nav__link" for="nav-12-1">
|
|
Static Configuration
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="2">
|
|
<label class="md-nav__title" for="nav-12-1">
|
|
Static Configuration
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../reference/static-configuration/overview/" title="Overview" class="md-nav__link">
|
|
Overview
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../reference/static-configuration/file/" title="File" class="md-nav__link">
|
|
File
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../reference/static-configuration/cli/" title="CLI" class="md-nav__link">
|
|
CLI
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../reference/static-configuration/env/" title="Environment variables" class="md-nav__link">
|
|
Environment variables
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-12-2" type="checkbox" id="nav-12-2">
|
|
|
|
<label class="md-nav__link" for="nav-12-2">
|
|
Dynamic Configuration
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="2">
|
|
<label class="md-nav__title" for="nav-12-2">
|
|
Dynamic Configuration
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../reference/dynamic-configuration/file/" title="File" class="md-nav__link">
|
|
File
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../reference/dynamic-configuration/docker/" title="Docker" class="md-nav__link">
|
|
Docker
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../reference/dynamic-configuration/kubernetes-crd/" title="Kubernetes CRD" class="md-nav__link">
|
|
Kubernetes CRD
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../reference/dynamic-configuration/consul-catalog/" title="Consul Catalog" class="md-nav__link">
|
|
Consul Catalog
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../reference/dynamic-configuration/marathon/" title="Marathon" class="md-nav__link">
|
|
Marathon
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../reference/dynamic-configuration/rancher/" title="Rancher" class="md-nav__link">
|
|
Rancher
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../reference/dynamic-configuration/kv/" title="KV" class="md-nav__link">
|
|
KV
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
|
|
|
|
<div class="md-flex__cell md-flex__cell--shrink repo_url">
|
|
<div class="md-header-nav__source">
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://github.com/containous/traefik/" title="Go to repository" class="md-source" data-md-source="github">
|
|
|
|
<div class="md-source__icon">
|
|
<svg viewBox="0 0 24 24" width="24" height="24">
|
|
<use xlink:href="#__github" width="24" height="24"></use>
|
|
</svg>
|
|
</div>
|
|
|
|
<div class="md-source__repository">
|
|
GitHub
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
<nav class="md-nav md-nav--secondary">
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">Table of contents</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#launch-traefik-with-the-docker-provider" class="md-nav__link">
|
|
Launch Traefik With the Docker Provider
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#traefik-detects-new-services-and-creates-the-route-for-you" class="md-nav__link">
|
|
Traefik Detects New Services and Creates the Route for You
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#more-instances-traefik-load-balances-them" class="md-nav__link">
|
|
More Instances? Traefik Load Balances Them
|
|
</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="md-content">
|
|
<article class="md-content__inner md-typeset">
|
|
|
|
|
|
<a href="https://github.com/containous/traefik/edit/v2.2/docs/content/getting-started/quick-start.md" title="Edit this page" class="md-icon md-content__icon"></a>
|
|
|
|
|
|
<h1 id="quick-start">Quick Start<a class="headerlink" href="#quick-start" title="Permanent link">¶</a></h1>
|
|
<p class="subtitle">A Simple Use Case Using Docker</p>
|
|
<p><img alt="quickstart-diagram" src="../../assets/img/quickstart-diagram.png" /></p>
|
|
<h2 id="launch-traefik-with-the-docker-provider">Launch Traefik With the Docker Provider<a class="headerlink" href="#launch-traefik-with-the-docker-provider" title="Permanent link">¶</a></h2>
|
|
<p>Create a <code>docker-compose.yml</code> file where you will define a <code>reverse-proxy</code> service that uses the official Traefik image:</p>
|
|
<pre class="highlight"><code class="language-yaml">version: '3'
|
|
|
|
services:
|
|
reverse-proxy:
|
|
# The official v2 Traefik docker image
|
|
image: traefik:v2.2
|
|
# Enables the web UI and tells Traefik to listen to docker
|
|
command: --api.insecure=true --providers.docker
|
|
ports:
|
|
# The HTTP port
|
|
- "80:80"
|
|
# The Web UI (enabled by --api.insecure=true)
|
|
- "8080:8080"
|
|
volumes:
|
|
# So that Traefik can listen to the Docker events
|
|
- /var/run/docker.sock:/var/run/docker.sock</code></pre>
|
|
|
|
<p><strong>That's it. Now you can launch Traefik!</strong></p>
|
|
<p>Start your <code>reverse-proxy</code> with the following command:</p>
|
|
<pre class="highlight"><code class="language-shell">docker-compose up -d reverse-proxy</code></pre>
|
|
|
|
<p>You can open a browser and go to <a href="http://localhost:8080/api/rawdata">http://localhost:8080/api/rawdata</a> to see Traefik's API rawdata (we'll go back there once we have launched a service in step 2).</p>
|
|
<h2 id="traefik-detects-new-services-and-creates-the-route-for-you">Traefik Detects New Services and Creates the Route for You<a class="headerlink" href="#traefik-detects-new-services-and-creates-the-route-for-you" title="Permanent link">¶</a></h2>
|
|
<p>Now that we have a Traefik instance up and running, we will deploy new services.</p>
|
|
<p>Edit your <code>docker-compose.yml</code> file and add the following at the end of your file.</p>
|
|
<pre class="highlight"><code class="language-yaml"># ...
|
|
whoami:
|
|
# A container that exposes an API to show its IP address
|
|
image: containous/whoami
|
|
labels:
|
|
- "traefik.http.routers.whoami.rule=Host(`whoami.docker.localhost`)"</code></pre>
|
|
|
|
<p>The above defines <code>whoami</code>: a simple web service that outputs information about the machine it is deployed on (its IP address, host, and so on).</p>
|
|
<p>Start the <code>whoami</code> service with the following command:</p>
|
|
<pre class="highlight"><code class="language-shell">docker-compose up -d whoami</code></pre>
|
|
|
|
<p>Go back to your browser (<a href="http://localhost:8080/api/rawdata">http://localhost:8080/api/rawdata</a>) and see that Traefik has automatically detected the new container and updated its own configuration.</p>
|
|
<p>When Traefik detects new services, it creates the corresponding routes so you can call them ... <em>let's see!</em> (Here, we're using curl)</p>
|
|
<pre class="highlight"><code class="language-shell">curl -H Host:whoami.docker.localhost http://127.0.0.1</code></pre>
|
|
|
|
<p><em>Shows the following output:</em></p>
|
|
<pre class="highlight"><code class="language-yaml">Hostname: a656c8ddca6c
|
|
IP: 172.27.0.3
|
|
#...</code></pre>
|
|
|
|
<h2 id="more-instances-traefik-load-balances-them">More Instances? Traefik Load Balances Them<a class="headerlink" href="#more-instances-traefik-load-balances-them" title="Permanent link">¶</a></h2>
|
|
<p>Run more instances of your <code>whoami</code> service with the following command:</p>
|
|
<pre class="highlight"><code class="language-shell">docker-compose up -d --scale whoami=2</code></pre>
|
|
|
|
<p>Go back to your browser (<a href="http://localhost:8080/api/rawdata">http://localhost:8080/api/rawdata</a>) and see that Traefik has automatically detected the new instance of the container.</p>
|
|
<p>Finally, see that Traefik load-balances between the two instances of your service by running the following command twice:</p>
|
|
<pre class="highlight"><code class="language-shell">curl -H Host:whoami.docker.localhost http://127.0.0.1</code></pre>
|
|
|
|
<p>The output will show alternatively one of the followings:</p>
|
|
<pre class="highlight"><code class="language-yaml">Hostname: a656c8ddca6c
|
|
IP: 172.27.0.3
|
|
#...</code></pre>
|
|
|
|
<pre class="highlight"><code class="language-yaml">Hostname: s458f154e1f1
|
|
IP: 172.27.0.4
|
|
# ...</code></pre>
|
|
|
|
<div class="admonition question">
|
|
<p class="admonition-title">Where to Go Next?</p>
|
|
<p>Now that you have a basic understanding of how Traefik can automatically create the routes to your services and load balance them, it is time to dive into <a href="/">the documentation</a> and let Traefik work for you!</p>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
|
|
|
|
|
|
<!-- Application footer -->
|
|
<footer class="md-footer">
|
|
|
|
<!-- Further information -->
|
|
<div class="md-footer-meta md-typeset">
|
|
<div class="md-footer-meta__inner md-grid">
|
|
|
|
<!-- Copyright and theme information -->
|
|
<div class="md-footer-copyright">
|
|
|
|
<div class="md-footer-copyright__highlight">
|
|
Copyright © 2016-2020 Containous
|
|
</div>
|
|
|
|
powered by
|
|
<a href="https://www.mkdocs.org" title="MkDocs">MkDocs</a>
|
|
and
|
|
<a href="https://squidfunk.github.io/mkdocs-material/"
|
|
title="Material for MkDocs">
|
|
Material for MkDocs</a>
|
|
</div>
|
|
|
|
<div class="md-footer-privacy-policy">
|
|
<a href="https://containo.us/legal/privacy-and-cookie-policy/" title="Privacy Policy">Privacy Policy</a>
|
|
</div>
|
|
|
|
<!-- Social links -->
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
|
|
</div>
|
|
|
|
<script src="../../assets/javascripts/application.ac79c3b0.js"></script>
|
|
|
|
<script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script>
|
|
|
|
<script src="../../assets/js/hljs/highlight.pack.js"></script>
|
|
|
|
<script src="../../assets/js/extra.js"></script>
|
|
|
|
<script src="../../theme/js/structor-menu.js"></script>
|
|
|
|
|
|
</body>
|
|
</html> |