Files
awesome-kubernetes/kubernetes-based-devel.html
2026-05-18 19:32:46 +00:00

8418 lines
148 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="A curated list of awesome IT projects and resources. Inspired by the awesome list.">
<meta name="author" content="nubenetes@gmail.com">
<link rel="canonical" href="https://nubenetes.com/kubernetes-based-devel.html">
<link rel="prev" href="kubernetes-operators-controllers.html">
<link rel="next" href="kubernetes-on-premise.html">
<link rel="icon" href="images/favicon-car.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
<title>Kubernetes Based Development - Nubenetes</title>
<link rel="stylesheet" href="assets/stylesheets/main.484c7ddc.min.css">
<link rel="stylesheet" href="assets/stylesheets/palette.ab4e12ef.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="static/extra.css">
<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script id="__analytics">function __md_analytics(){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config",""),document.addEventListener("DOMContentLoaded",(function(){document.forms.search&&document.forms.search.query.addEventListener("blur",(function(){this.value&&e("event","search",{search_term:this.value})}));document$.subscribe((function(){var t=document.forms.feedback;if(void 0!==t)for(var a of t.querySelectorAll("[type=submit]"))a.addEventListener("click",(function(a){a.preventDefault();var n=document.location.pathname,d=this.getAttribute("data-md-value");e("event","feedback",{page:n,data:d}),t.firstElementChild.disabled=!0;var r=t.querySelector(".md-feedback__note [data-md-value='"+d+"']");r&&(r.hidden=!1)})),t.hidden=!1})),location$.subscribe((function(t){e("config","",{page_path:t.pathname})}))}));var t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id=",document.getElementById("__analytics").insertAdjacentElement("afterEnd",t)}</script>
<script>if("undefined"!=typeof __md_analytics){var consent=__md_get("__consent");consent&&consent.analytics&&__md_analytics()}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="red">
<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" for="__drawer"></label>
<div data-md-component="skip">
<a href="#kubernetes-based-development-kubernetes-distributions-for-local-environments-kubernetes-development-tools-and-dashboards" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="index.html" title="Nubenetes" class="md-header__button md-logo" aria-label="Nubenetes" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 89 89">
<path d="M3.136,17.387l0,42.932l42.932,21.467l-42.932,-64.399Z" />
<path d="M21.91,8l42.933,64.398l-18.775,9.388l-42.932,-64.399l18.774,-9.387Z" style="fill-opacity: 0.5" />
<path d="M67.535,17.387l-27.262,18.156l21.878,32.818l5.384,2.691l0,-53.665Z" />
<path d="M67.535,17.387l0,53.666l18.774,-9.388l0,-53.665l-18.774,9.387Z" style="fill-opacity: 0.25" />
</svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Nubenetes
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Kubernetes Based Development
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="red" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6m0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4M7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"/></svg>
</label>
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="light-blue" data-md-color-accent="yellow" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h10a5 5 0 0 0 5-5 5 5 0 0 0-5-5m0 8a3 3 0 0 1-3-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3 3 3 0 0 1-3 3"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</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" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<a href="javascript:void(0)" class="md-search__icon md-icon" title="Share" aria-label="Share" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08"/></svg>
</a>
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/nubenetes/awesome-kubernetes" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</div>
<div class="md-source__repository">
nubenetes/awesome-kubernetes
</div>
</a>
</div>
</nav>
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="https://nubenetes.com/v2/" class="md-tabs__link">
🚀 Try Nubenetes V2 (Elite)
</a>
</li>
<li class="md-tabs__item">
<a href="index.html" class="md-tabs__link">
Home
</a>
</li>
<li class="md-tabs__item">
<a href="introduction.html" class="md-tabs__link">
Intro
</a>
</li>
<li class="md-tabs__item">
<a href="sre.html" class="md-tabs__link">
SRE
</a>
</li>
<li class="md-tabs__item">
<a href="devops.html" class="md-tabs__link">
DevOps
</a>
</li>
<li class="md-tabs__item">
<a href="devsecops.html" class="md-tabs__link">
DevSecOps
</a>
</li>
<li class="md-tabs__item">
<a href="noops.html" class="md-tabs__link">
NoOps
</a>
</li>
<li class="md-tabs__item">
<a href="docker.html" class="md-tabs__link">
Docker
</a>
</li>
<li class="md-tabs__item md-tabs__item--active">
<a href="kubernetes.html" class="md-tabs__link">
K8s
</a>
</li>
<li class="md-tabs__item">
<a href="openshift.html" class="md-tabs__link">
OpenShift
</a>
</li>
<li class="md-tabs__item">
<a href="rancher.html" class="md-tabs__link">
Rancher
</a>
</li>
<li class="md-tabs__item">
<a href="cicd.html" class="md-tabs__link">
CI/CD
</a>
</li>
<li class="md-tabs__item">
<a href="monitoring.html" class="md-tabs__link">
Montrg
</a>
</li>
<li class="md-tabs__item">
<a href="iac.html" class="md-tabs__link">
Infra Prov
</a>
</li>
<li class="md-tabs__item">
<a href="ansible.html" class="md-tabs__link">
Config Mgmt
</a>
</li>
<li class="md-tabs__item">
<a href="databases.html" class="md-tabs__link">
DB
</a>
</li>
<li class="md-tabs__item">
<a href="message-queue.html" class="md-tabs__link">
Data Pipeline
</a>
</li>
<li class="md-tabs__item">
<a href="servicemesh.html" class="md-tabs__link">
Service Mesh
</a>
</li>
<li class="md-tabs__item">
<a href="demos.html" class="md-tabs__link">
Demos
</a>
</li>
<li class="md-tabs__item">
<a href="public-cloud-solutions.html" class="md-tabs__link">
Cloud
</a>
</li>
<li class="md-tabs__item">
<a href="api.html" class="md-tabs__link">
APIs
</a>
</li>
<li class="md-tabs__item">
<a href="devel-sites.html" class="md-tabs__link">
Dev
</a>
</li>
<li class="md-tabs__item">
<a href="qa.html" class="md-tabs__link">
QA
</a>
</li>
<li class="md-tabs__item">
<a href="ai.html" class="md-tabs__link">
AI
</a>
</li>
<li class="md-tabs__item">
<a href="project-management-methodology.html" class="md-tabs__link">
Project Mgmt
</a>
</li>
<li class="md-tabs__item">
<a href="other-awesome-lists.html" class="md-tabs__link">
Refs+
</a>
</li>
<li class="md-tabs__item">
<a href="recruitment.html" class="md-tabs__link">
Hiring
</a>
</li>
<li class="md-tabs__item">
<a href="customer.html" class="md-tabs__link">
Clients
</a>
</li>
<li class="md-tabs__item">
<a href="about.html" class="md-tabs__link">
About
</a>
</li>
</ul>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="index.html" title="Nubenetes" class="md-nav__button md-logo" aria-label="Nubenetes" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 89 89">
<path d="M3.136,17.387l0,42.932l42.932,21.467l-42.932,-64.399Z" />
<path d="M21.91,8l42.933,64.398l-18.775,9.388l-42.932,-64.399l18.774,-9.387Z" style="fill-opacity: 0.5" />
<path d="M67.535,17.387l-27.262,18.156l21.878,32.818l5.384,2.691l0,-53.665Z" />
<path d="M67.535,17.387l0,53.666l18.774,-9.388l0,-53.665l-18.774,9.387Z" style="fill-opacity: 0.25" />
</svg>
</a>
Nubenetes
</label>
<div class="md-nav__source">
<a href="https://github.com/nubenetes/awesome-kubernetes" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</div>
<div class="md-source__repository">
nubenetes/awesome-kubernetes
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="https://nubenetes.com/v2/" class="md-nav__link">
<span class="md-ellipsis">
🚀 Try Nubenetes V2 (Elite)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="index.html" class="md-nav__link">
<span class="md-ellipsis">
Home
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-ellipsis">
Intro
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Intro
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="introduction.html" class="md-nav__link">
<span class="md-ellipsis">
Microservice Architecture. From Java EE To Cloud Native. Openshift VS Kubernetes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" class="md-nav__link">
<span class="md-ellipsis">
Microservices FAQ & Kubernetes Native
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-ellipsis">
SRE
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
SRE
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="sre.html" class="md-nav__link">
<span class="md-ellipsis">
SRE Site Reliability Engineering
</span>
</a>
</li>
<li class="md-nav__item">
<a href="networking.html" class="md-nav__link">
<span class="md-ellipsis">
Networking
</span>
</a>
</li>
<li class="md-nav__item">
<a href="finops.html" class="md-nav__link">
<span class="md-ellipsis">
FinOps. Cloud Financial Management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="chaos-engineering.html" class="md-nav__link">
<span class="md-ellipsis">
Chaos Engineering
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-ellipsis">
DevOps
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
DevOps
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="devops.html" class="md-nav__link">
<span class="md-ellipsis">
DevOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="gitops.html" class="md-nav__link">
<span class="md-ellipsis">
GitOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="mlops.html" class="md-nav__link">
<span class="md-ellipsis">
MLOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="cheatsheets.html" class="md-nav__link">
<span class="md-ellipsis">
Cheat Sheets
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-ellipsis">
DevSecOps
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
DevSecOps
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="devsecops.html" class="md-nav__link">
<span class="md-ellipsis">
DevSecOps. Container Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="securityascode.html" class="md-nav__link">
<span class="md-ellipsis">
Security Policy as Code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="oauth.html" class="md-nav__link">
<span class="md-ellipsis">
OAuth2
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
NoOps
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
NoOps
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="noops.html" class="md-nav__link">
<span class="md-ellipsis">
NoOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="serverless.html" class="md-nav__link">
<span class="md-ellipsis">
Serverless Architectures & Frameworks. OpenFaaS, Knative & Kubeless
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="docker.html" class="md-nav__link">
<span class="md-ellipsis">
Docker
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" checked>
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="">
<span class="md-ellipsis">
K8s
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
K8s
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="kubernetes.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-tutorials.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Tutorials
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-tools.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Plugins, Tools, Extensions and Projects
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubectl-commands.html" class="md-nav__link">
<span class="md-ellipsis">
kubectl Commands
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-networking.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Networking
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-monitoring.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Monitoring and Logging
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-security.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-storage.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Storage
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-backup-migrations.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Backup and Migrations
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-autoscaling.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Autoscaling
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-operators-controllers.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Operators and Controllers
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Kubernetes Based Development
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="kubernetes-based-devel.html" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Kubernetes Based Development
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#non-production-kubernetes-local-installers-kubernetes-distributions-for-local-environments-desktop-k8s" class="md-nav__link">
<span class="md-ellipsis">
Non-production Kubernetes Local Installers. Kubernetes distributions for local environments. Desktop K8s
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#kubernetes-based-development-kubernetes-development-tools" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Based Development. Kubernetes Development Tools
</span>
</a>
<nav class="md-nav" aria-label="Kubernetes Based Development. Kubernetes Development Tools">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#skaffold-local-kubernetes-development" class="md-nav__link">
<span class="md-ellipsis">
Skaffold. Local Kubernetes Development
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#devspace" class="md-nav__link">
<span class="md-ellipsis">
DevSpace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#telepresence-local-development-for-k8s-and-openshift-microservices" class="md-nav__link">
<span class="md-ellipsis">
Telepresence local development for k8s and openshift microservices
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#bridge-to-kubernetes" class="md-nav__link">
<span class="md-ellipsis">
Bridge to Kubernetes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#garden" class="md-nav__link">
<span class="md-ellipsis">
Garden
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#kubernetes-clients-and-dashboards" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Clients and Dashboards
</span>
</a>
<nav class="md-nav" aria-label="Kubernetes Clients and Dashboards">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#octant" class="md-nav__link">
<span class="md-ellipsis">
Octant
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#okteto-local-kubernetes-development" class="md-nav__link">
<span class="md-ellipsis">
Okteto local kubernetes development
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#monokle" class="md-nav__link">
<span class="md-ellipsis">
Monokle
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#k8studio" class="md-nav__link">
<span class="md-ellipsis">
K8Studio
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#lens-and-openlens-kubernetes-ide" class="md-nav__link">
<span class="md-ellipsis">
Lens and OpenLens Kubernetes IDE
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#kubenav" class="md-nav__link">
<span class="md-ellipsis">
Kubenav
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#aptakube" class="md-nav__link">
<span class="md-ellipsis">
Aptakube
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#cloud-manager" class="md-nav__link">
<span class="md-ellipsis">
Cloud Manager
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#yaki" class="md-nav__link">
<span class="md-ellipsis">
Yaki
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#images" class="md-nav__link">
<span class="md-ellipsis">
Images
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tweets" class="md-nav__link">
<span class="md-ellipsis">
Tweets
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#videos" class="md-nav__link">
<span class="md-ellipsis">
Videos
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="kubernetes-on-premise.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes On Premise
</span>
</a>
</li>
<li class="md-nav__item">
<a href="managed-kubernetes-in-public-cloud.html" class="md-nav__link">
<span class="md-ellipsis">
Managed kubernetes in public clouds
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-troubleshooting.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Troubleshooting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-releases.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Releases
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-newsletters.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Newsletters
</span>
</a>
</li>
<li class="md-nav__item">
<a href="matrix-table.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Distributions & Installers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-bigdata.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Big Data
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-alternatives.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes alternatives
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
<label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">
<span class="md-ellipsis">
OpenShift
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_10">
<span class="md-nav__icon md-icon"></span>
OpenShift
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="openshift.html" class="md-nav__link">
<span class="md-ellipsis">
OpenShift docs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="ocp3.html" class="md-nav__link">
<span class="md-ellipsis">
OCP 3
</span>
</a>
</li>
<li class="md-nav__item">
<a href="ocp4.html" class="md-nav__link">
<span class="md-ellipsis">
OCP 4
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
<label class="md-nav__link" for="__nav_11" id="__nav_11_label" tabindex="0">
<span class="md-ellipsis">
Rancher
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_11">
<span class="md-nav__icon md-icon"></span>
Rancher
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="rancher.html" class="md-nav__link">
<span class="md-ellipsis">
Rancher - Enterprise management for Kubernetes
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
<label class="md-nav__link" for="__nav_12" id="__nav_12_label" tabindex="0">
<span class="md-ellipsis">
CI/CD
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12">
<span class="md-nav__icon md-icon"></span>
CI/CD
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="cicd.html" class="md-nav__link">
<span class="md-ellipsis">
CI/CD - Continuous Integration & Continuous Delivery
</span>
</a>
</li>
<li class="md-nav__item">
<a href="git.html" class="md-nav__link">
<span class="md-ellipsis">
Git & Git Patterns. Trunk Devel, Git Flow & Feature Flags. Merge BOTs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="jenkins.html" class="md-nav__link">
<span class="md-ellipsis">
Jenkins & Cloudbees
</span>
</a>
</li>
<li class="md-nav__item">
<a href="performance-testing-with-jenkins-and-jmeter.html" class="md-nav__link">
<span class="md-ellipsis">
Performance testing with Jenkins, JMeter, Gatling, Azure Load Testing, etc
</span>
</a>
</li>
<li class="md-nav__item">
<a href="openshift-pipelines.html" class="md-nav__link">
<span class="md-ellipsis">
OpenShift Pipelines with Jenkins, Tekton and more...
</span>
</a>
</li>
<li class="md-nav__item">
<a href="performance-testing-with-jenkins-and-jmeter.html" class="md-nav__link">
<span class="md-ellipsis">
Performance testing with Jenkins, JMeter, Gatling, Azure Load Testing, etc
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12_7" >
<label class="md-nav__link" for="__nav_12_7" id="__nav_12_7_label" tabindex="0">
<span class="md-ellipsis">
DevOps Tools aka Toolchain. Jenkins Alternatives. Cloud Native CI/CD Tools
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_12_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12_7">
<span class="md-nav__icon md-icon"></span>
DevOps Tools aka Toolchain. Jenkins Alternatives. Cloud Native CI/CD Tools
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="devops-tools.html" class="md-nav__link">
<span class="md-ellipsis">
DevOps Tools
</span>
</a>
</li>
<li class="md-nav__item">
<a href="jenkins-alternatives.html" class="md-nav__link">
<span class="md-ellipsis">
Jenkins Alternatives for Continuous Integration & Deployment
</span>
</a>
</li>
<li class="md-nav__item">
<a href="argo.html" class="md-nav__link">
<span class="md-ellipsis">
Argo - Declarative GitOps for Kubernetes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="flux.html" class="md-nav__link">
<span class="md-ellipsis">
Flux CD - The GitOps Operator for Kubernetes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="tekton.html" class="md-nav__link">
<span class="md-ellipsis">
Tekton - Cloud Native CI/CD
</span>
</a>
</li>
<li class="md-nav__item">
<a href="keptn.html" class="md-nav__link">
<span class="md-ellipsis">
Keptn
</span>
</a>
</li>
<li class="md-nav__item">
<a href="container-managers.html" class="md-nav__link">
<span class="md-ellipsis">
Container Runtimes/Managers & Base Images. Podman, Buildah & Skopeo
</span>
</a>
</li>
<li class="md-nav__item">
<a href="maven-gradle.html" class="md-nav__link">
<span class="md-ellipsis">
Maven, Gradle & SDKMAN
</span>
</a>
</li>
<li class="md-nav__item">
<a href="sonarqube.html" class="md-nav__link">
<span class="md-ellipsis">
SonarQube
</span>
</a>
</li>
<li class="md-nav__item">
<a href="registries.html" class="md-nav__link">
<span class="md-ellipsis">
Docker Registries. Quay, Nexus, JFrog Artifactory, Harbor and more
</span>
</a>
</li>
<li class="md-nav__item">
<a href="linux.html" class="md-nav__link">
<span class="md-ellipsis">
Linux & SSH
</span>
</a>
</li>
<li class="md-nav__item">
<a href="mkdocs.html" class="md-nav__link">
<span class="md-ellipsis">
MkDocs & GitHub Pages
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12_8" >
<label class="md-nav__link" for="__nav_12_8" id="__nav_12_8_label" tabindex="0">
<span class="md-ellipsis">
Web Servers, Reverse Proxies, Java Runtimes & Caching Solutions
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_12_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12_8">
<span class="md-nav__icon md-icon"></span>
Web Servers, Reverse Proxies, Java Runtimes & Caching Solutions
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="web-servers.html" class="md-nav__link">
<span class="md-ellipsis">
Web Servers & Reverse Proxies - Apache, Nginx, HAProxy, Traefik and more
</span>
</a>
</li>
<li class="md-nav__item">
<a href="java_app_servers.html" class="md-nav__link">
<span class="md-ellipsis">
Java EE/Jakarta EE and MicroProfile Runtimes - Payara, JBoss EAP, WebSphere Liberty, WildFly and more
</span>
</a>
</li>
<li class="md-nav__item">
<a href="embedded-servlet-containers.html" class="md-nav__link">
<span class="md-ellipsis">
Embedded Servlet Containers in SpringBoot
</span>
</a>
</li>
<li class="md-nav__item">
<a href="caching.html" class="md-nav__link">
<span class="md-ellipsis">
Caching Solutions
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
<label class="md-nav__link" for="__nav_13" id="__nav_13_label" tabindex="0">
<span class="md-ellipsis">
Montrg
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_13">
<span class="md-nav__icon md-icon"></span>
Montrg
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="monitoring.html" class="md-nav__link">
<span class="md-ellipsis">
Monitoring and Performance
</span>
</a>
</li>
<li class="md-nav__item">
<a href="prometheus.html" class="md-nav__link">
<span class="md-ellipsis">
Prometheus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="grafana.html" class="md-nav__link">
<span class="md-ellipsis">
Grafana
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
<label class="md-nav__link" for="__nav_14" id="__nav_14_label" tabindex="0">
<span class="md-ellipsis">
Infra Prov
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_14">
<span class="md-nav__icon md-icon"></span>
Infra Prov
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="iac.html" class="md-nav__link">
<span class="md-ellipsis">
IaC Infrastructure as Code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="terraform.html" class="md-nav__link">
<span class="md-ellipsis">
Terraform & Packer.Kubernetes Boilerplates
</span>
</a>
</li>
<li class="md-nav__item">
<a href="pulumi.html" class="md-nav__link">
<span class="md-ellipsis">
Pulumi
</span>
</a>
</li>
<li class="md-nav__item">
<a href="crossplane.html" class="md-nav__link">
<span class="md-ellipsis">
Crossplane
</span>
</a>
</li>
<li class="md-nav__item">
<a href="cloud-arch-diagrams.html" class="md-nav__link">
<span class="md-ellipsis">
Cloud Architecture Diagram Tools
</span>
</a>
</li>
<li class="md-nav__item">
<a href="cloud-asset-inventory.html" class="md-nav__link">
<span class="md-ellipsis">
Cloud Asset Inventory
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
<label class="md-nav__link" for="__nav_15" id="__nav_15_label" tabindex="0">
<span class="md-ellipsis">
Config Mgmt
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_15_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_15">
<span class="md-nav__icon md-icon"></span>
Config Mgmt
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="ansible.html" class="md-nav__link">
<span class="md-ellipsis">
Ansible
</span>
</a>
</li>
<li class="md-nav__item">
<a href="helm.html" class="md-nav__link">
<span class="md-ellipsis">
Helm Kubernetes Tool
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kustomize.html" class="md-nav__link">
<span class="md-ellipsis">
Kustomize - Template-Free Kubernetes Configuration Customization
</span>
</a>
</li>
<li class="md-nav__item">
<a href="stackstorm.html" class="md-nav__link">
<span class="md-ellipsis">
StackStorm
</span>
</a>
</li>
<li class="md-nav__item">
<a href="chef.html" class="md-nav__link">
<span class="md-ellipsis">
Chef
</span>
</a>
</li>
<li class="md-nav__item">
<a href="cicd-kubernetes-plugins.html" class="md-nav__link">
<span class="md-ellipsis">
CI/CD Kubernetes Plugins
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-client-libraries.html" class="md-nav__link">
<span class="md-ellipsis">
Client Libraries for Kubernetes - Go client, Python, Fabric8, JKube & Java Operator SDK
</span>
</a>
</li>
<li class="md-nav__item">
<a href="liquibase.html" class="md-nav__link">
<span class="md-ellipsis">
Database Version Control. Liquibase, Flyway and PlanetScale
</span>
</a>
</li>
<li class="md-nav__item">
<a href="yaml.html" class="md-nav__link">
<span class="md-ellipsis">
YAML and JSON
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
<label class="md-nav__link" for="__nav_16" id="__nav_16_label" tabindex="0">
<span class="md-ellipsis">
DB
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_16">
<span class="md-nav__icon md-icon"></span>
DB
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="databases.html" class="md-nav__link">
<span class="md-ellipsis">
Relational Databases and Database DevOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="crunchydata.html" class="md-nav__link">
<span class="md-ellipsis">
Crunchy Data PostgreSQL Operator
</span>
</a>
</li>
<li class="md-nav__item">
<a href="nosql.html" class="md-nav__link">
<span class="md-ellipsis">
NoSQL Databases
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="message-queue.html" class="md-nav__link">
<span class="md-ellipsis">
Data Pipeline
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
<label class="md-nav__link" for="__nav_18" id="__nav_18_label" tabindex="0">
<span class="md-ellipsis">
Service Mesh
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<span class="md-nav__icon md-icon"></span>
Service Mesh
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="servicemesh.html" class="md-nav__link">
<span class="md-ellipsis">
Service Mesh
</span>
</a>
</li>
<li class="md-nav__item">
<a href="istio.html" class="md-nav__link">
<span class="md-ellipsis">
Istio
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
<label class="md-nav__link" for="__nav_19" id="__nav_19_label" tabindex="0">
<span class="md-ellipsis">
Demos
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<span class="md-nav__icon md-icon"></span>
Demos
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="demos.html" class="md-nav__link">
<span class="md-ellipsis">
Demos, Boilerplates & Screencasts
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_20" >
<label class="md-nav__link" for="__nav_20" id="__nav_20_label" tabindex="0">
<span class="md-ellipsis">
Cloud
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_20_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_20">
<span class="md-nav__icon md-icon"></span>
Cloud
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="public-cloud-solutions.html" class="md-nav__link">
<span class="md-ellipsis">
Public Cloud Solutions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="private-cloud-solutions.html" class="md-nav__link">
<span class="md-ellipsis">
Private Cloud Solutions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="edge-computing.html" class="md-nav__link">
<span class="md-ellipsis">
Edge Computing
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_20_4" >
<label class="md-nav__link" for="__nav_20_4" id="__nav_20_4_label" tabindex="0">
<span class="md-ellipsis">
AWS Cloud
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_20_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_20_4">
<span class="md-nav__icon md-icon"></span>
AWS Cloud
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="aws.html" class="md-nav__link">
<span class="md-ellipsis">
AWS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-miscellaneous.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Miscellaneous
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-architecture.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Architecture and Best Practices
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-networking.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Networking
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-databases.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Databases
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-storage.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Storage
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-security.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-monitoring.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Monitoring
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-iac.html" class="md-nav__link">
<span class="md-ellipsis">
AWS IaC
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-tools-scripts.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Tools Scripts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-messaging.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Messaging
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-data.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Data
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-devops.html" class="md-nav__link">
<span class="md-ellipsis">
AWS DevOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-serverless.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Serverless
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-pricing.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Pricing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-containers.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Containers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-backup.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Backup and Migrations
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-training.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Training and Certification
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-newfeatures.html" class="md-nav__link">
<span class="md-ellipsis">
AWS New Features
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-spain.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Spain
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="azure.html" class="md-nav__link">
<span class="md-ellipsis">
Microsoft Azure
</span>
</a>
</li>
<li class="md-nav__item">
<a href="GoogleCloudPlatform.html" class="md-nav__link">
<span class="md-ellipsis">
Google Cloud Platform
</span>
</a>
</li>
<li class="md-nav__item">
<a href="ibm_cloud.html" class="md-nav__link">
<span class="md-ellipsis">
IBM & IBM Cloud
</span>
</a>
</li>
<li class="md-nav__item">
<a href="oraclecloud.html" class="md-nav__link">
<span class="md-ellipsis">
Oracle Cloud
</span>
</a>
</li>
<li class="md-nav__item">
<a href="digitalocean.html" class="md-nav__link">
<span class="md-ellipsis">
Digital Ocean
</span>
</a>
</li>
<li class="md-nav__item">
<a href="cloudflare.html" class="md-nav__link">
<span class="md-ellipsis">
Cloudflare
</span>
</a>
</li>
<li class="md-nav__item">
<a href="scaleway.html" class="md-nav__link">
<span class="md-ellipsis">
Scaleway
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_21" >
<label class="md-nav__link" for="__nav_21" id="__nav_21_label" tabindex="0">
<span class="md-ellipsis">
APIs
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_21_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_21">
<span class="md-nav__icon md-icon"></span>
APIs
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="api.html" class="md-nav__link">
<span class="md-ellipsis">
APIs with SOAP, REST and gRPC
</span>
</a>
</li>
<li class="md-nav__item">
<a href="swagger-code-generator-for-rest-apis.html" class="md-nav__link">
<span class="md-ellipsis">
Swagger code generator for REST APIs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="postman.html" class="md-nav__link">
<span class="md-ellipsis">
API Test Automation with Postman and REST Assured
</span>
</a>
</li>
<li class="md-nav__item">
<a href="developerportals.html" class="md-nav__link">
<span class="md-ellipsis">
API Marketplaces. API Management with API Gateways & Developer Portals
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_22" >
<label class="md-nav__link" for="__nav_22" id="__nav_22_label" tabindex="0">
<span class="md-ellipsis">
Dev
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_22_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_22">
<span class="md-nav__icon md-icon"></span>
Dev
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="devel-sites.html" class="md-nav__link">
<span class="md-ellipsis">
Websites for web developers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="angular.html" class="md-nav__link">
<span class="md-ellipsis">
Angular
</span>
</a>
</li>
<li class="md-nav__item">
<a href="dom.html" class="md-nav__link">
<span class="md-ellipsis">
Document Object Model (DOM)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="golang.html" class="md-nav__link">
<span class="md-ellipsis">
Golang
</span>
</a>
</li>
<li class="md-nav__item">
<a href="javascript.html" class="md-nav__link">
<span class="md-ellipsis">
JavaScript - node.js & npm
</span>
</a>
</li>
<li class="md-nav__item">
<a href="python.html" class="md-nav__link">
<span class="md-ellipsis">
Python - Django & Flask
</span>
</a>
</li>
<li class="md-nav__item">
<a href="react.html" class="md-nav__link">
<span class="md-ellipsis">
React
</span>
</a>
</li>
<li class="md-nav__item">
<a href="lowcode-nocode.html" class="md-nav__link">
<span class="md-ellipsis">
Low Code and No Code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="web3.html" class="md-nav__link">
<span class="md-ellipsis">
Web 3
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_22_10" >
<label class="md-nav__link" for="__nav_22_10" id="__nav_22_10_label" tabindex="0">
<span class="md-ellipsis">
Microsoft
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_22_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_22_10">
<span class="md-nav__icon md-icon"></span>
Microsoft
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="dotnet.html" class="md-nav__link">
<span class="md-ellipsis">
Microsoft .NET
</span>
</a>
</li>
<li class="md-nav__item">
<a href="xamarin.html" class="md-nav__link">
<span class="md-ellipsis">
Microsoft Xamarin
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_22_11" >
<label class="md-nav__link" for="__nav_22_11" id="__nav_22_11_label" tabindex="0">
<span class="md-ellipsis">
Java
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_22_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_22_11">
<span class="md-nav__icon md-icon"></span>
Java
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="java_frameworks.html" class="md-nav__link">
<span class="md-ellipsis">
Java & Open Source Microservices Frameworks. SpringBoot, MicroProfile, Quarkus and more
</span>
</a>
</li>
<li class="md-nav__item">
<a href="java-and-java-performance-optimization.html" class="md-nav__link">
<span class="md-ellipsis">
Java Memory Management & Java Performance Optimization
</span>
</a>
</li>
<li class="md-nav__item">
<a href="jvm-parameters-matrix-table.html" class="md-nav__link">
<span class="md-ellipsis">
Java Parameters Matrix Table
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_22_12" >
<label class="md-nav__link" for="__nav_22_12" id="__nav_22_12_label" tabindex="0">
<span class="md-ellipsis">
Dev Environment
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_22_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_22_12">
<span class="md-nav__icon md-icon"></span>
Dev Environment
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="visual-studio.html" class="md-nav__link">
<span class="md-ellipsis">
Visual Studio Code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="linux-dev-env.html" class="md-nav__link">
<span class="md-ellipsis">
WSL - Linux Dev Environment on Windows
</span>
</a>
</li>
<li class="md-nav__item">
<a href="scaffolding.html" class="md-nav__link">
<span class="md-ellipsis">
Scaffolding Tools
</span>
</a>
</li>
<li class="md-nav__item">
<a href="ChromeDevTools.html" class="md-nav__link">
<span class="md-ellipsis">
Chrome & Firefox DevTools. HTTP Protocols & WebSockets
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_23" >
<label class="md-nav__link" for="__nav_23" id="__nav_23_label" tabindex="0">
<span class="md-ellipsis">
QA
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_23_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_23">
<span class="md-nav__icon md-icon"></span>
QA
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="qa.html" class="md-nav__link">
<span class="md-ellipsis">
QA
</span>
</a>
</li>
<li class="md-nav__item">
<a href="testops.html" class="md-nav__link">
<span class="md-ellipsis">
TestOps and Continuous Testing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="test-automation-frameworks.html" class="md-nav__link">
<span class="md-ellipsis">
Test Automation Frameworks and BDD
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_24" >
<label class="md-nav__link" for="__nav_24" id="__nav_24_label" tabindex="0">
<span class="md-ellipsis">
AI
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_24_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_24">
<span class="md-nav__icon md-icon"></span>
AI
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="ai.html" class="md-nav__link">
<span class="md-ellipsis">
AI
</span>
</a>
</li>
<li class="md-nav__item">
<a href="ai-agents-mcp.html" class="md-nav__link">
<span class="md-ellipsis">
Model Context Protocol (MCP) & AI Agents
</span>
</a>
</li>
<li class="md-nav__item">
<a href="mlops.html" class="md-nav__link">
<span class="md-ellipsis">
MLOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="chatgpt.html" class="md-nav__link">
<span class="md-ellipsis">
ChatGPT
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_25" >
<label class="md-nav__link" for="__nav_25" id="__nav_25_label" tabindex="0">
<span class="md-ellipsis">
Project Mgmt
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_25_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_25">
<span class="md-nav__icon md-icon"></span>
Project Mgmt
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="project-management-methodology.html" class="md-nav__link">
<span class="md-ellipsis">
Project Management Methodology
</span>
</a>
</li>
<li class="md-nav__item">
<a href="project-management-tools.html" class="md-nav__link">
<span class="md-ellipsis">
Project Management Tools
</span>
</a>
</li>
<li class="md-nav__item">
<a href="appointment-scheduling.html" class="md-nav__link">
<span class="md-ellipsis">
Appointment Scheduling
</span>
</a>
</li>
<li class="md-nav__item">
<a href="workfromhome.html" class="md-nav__link">
<span class="md-ellipsis">
Work From Home
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_26" >
<label class="md-nav__link" for="__nav_26" id="__nav_26_label" tabindex="0">
<span class="md-ellipsis">
Refs+
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_26_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_26">
<span class="md-nav__icon md-icon"></span>
Refs+
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="other-awesome-lists.html" class="md-nav__link">
<span class="md-ellipsis">
Other Awesome Lists
</span>
</a>
</li>
<li class="md-nav__item">
<a href="interview-questions.html" class="md-nav__link">
<span class="md-ellipsis">
Interview Questions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="newsfeeds.html" class="md-nav__link">
<span class="md-ellipsis">
Subreddits
</span>
</a>
</li>
<li class="md-nav__item">
<a href="elearning.html" class="md-nav__link">
<span class="md-ellipsis">
E-Learning
</span>
</a>
</li>
<li class="md-nav__item">
<a href="digital-money.html" class="md-nav__link">
<span class="md-ellipsis">
Digital Money
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_27" >
<label class="md-nav__link" for="__nav_27" id="__nav_27_label" tabindex="0">
<span class="md-ellipsis">
Hiring
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_27_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_27">
<span class="md-nav__icon md-icon"></span>
Hiring
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="recruitment.html" class="md-nav__link">
<span class="md-ellipsis">
Recruitment
</span>
</a>
</li>
<li class="md-nav__item">
<a href="hr.html" class="md-nav__link">
<span class="md-ellipsis">
Human Resources
</span>
</a>
</li>
<li class="md-nav__item">
<a href="freelancing.html" class="md-nav__link">
<span class="md-ellipsis">
Freelancing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="remote-tech-jobs.html" class="md-nav__link">
<span class="md-ellipsis">
Remote Tech Jobs
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="customer.html" class="md-nav__link">
<span class="md-ellipsis">
Clients
</span>
</a>
</li>
<li class="md-nav__item">
<a href="about.html" class="md-nav__link">
<span class="md-ellipsis">
About
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="kubernetes-based-development-kubernetes-distributions-for-local-environments-kubernetes-development-tools-and-dashboards">Kubernetes Based Development. Kubernetes Distributions for local environments. Kubernetes Development Tools and Dashboards</h1>
<ol>
<li><a href="#non-production-kubernetes-local-installers-kubernetes-distributions-for-local-environments-desktop-k8s">Non-production Kubernetes Local Installers. Kubernetes distributions for local environments. Desktop K8s</a></li>
<li><a href="#kubernetes-based-development-kubernetes-development-tools">Kubernetes Based Development. Kubernetes Development Tools</a><ol>
<li><a href="#skaffold-local-kubernetes-development">Skaffold. Local Kubernetes Development</a></li>
<li><a href="#devspace">DevSpace</a></li>
<li><a href="#telepresence-local-development-for-k8s-and-openshift-microservices">Telepresence local development for k8s and openshift microservices</a></li>
<li><a href="#bridge-to-kubernetes">Bridge to Kubernetes</a></li>
<li><a href="#garden">Garden</a></li>
</ol>
</li>
<li><a href="#kubernetes-clients-and-dashboards">Kubernetes Clients and Dashboards</a><ol>
<li><a href="#octant">Octant</a></li>
<li><a href="#okteto-local-kubernetes-development">Okteto local kubernetes development</a></li>
<li><a href="#monokle">Monokle</a></li>
<li><a href="#lens-and-openlens-kubernetes-ide">Lens and OpenLens Kubernetes IDE</a></li>
<li><a href="#kubenav">Kubenav</a></li>
<li><a href="#aptakube">Aptakube</a></li>
<li><a href="#cloud-manager">Cloud Manager</a></li>
<li><a href="#yaki">Yaki</a></li>
</ol>
</li>
<li><a href="#images">Images</a></li>
<li><a href="#tweets">Tweets</a></li>
<li><a href="#videos">Videos</a></li>
</ol>
<h2 id="non-production-kubernetes-local-installers-kubernetes-distributions-for-local-environments-desktop-k8s">Non-production Kubernetes Local Installers. Kubernetes distributions for local environments. Desktop K8s</h2>
<ul>
<li><a href="https://github.com/kubernetes/minikube">Minikube</a> A tool that makes it easy to run Kubernetes locally inside a Linux VM. It&rsquo;s aimed on users who want to just test it out or use it for development. It cannot spin up a production cluster, it&rsquo;s a one node machine with no high availability.<ul>
<li><a href="https://murchie85.github.io/Kubernetes.html">murchie85.github.io: Installling minikube</a></li>
<li><a href="https://itnext.io/how-to-experiment-locally-on-kubernetes-with-minikube-and-your-local-dockerfiles-48833fcd90c9">itnext.io: How to experiment locally on Kubernetes with minikube and your local Dockerfiles</a></li>
<li><a href="https://nfrankel.medium.com/goodbye-minikube-340070edc5af">nfrankel.medium.com: Goodbye minikube</a> Ive been using minikube as my local cluster since I started to learn Kubernetes. But Ive decided to let it go in favor of kind. Heres the story.</li>
<li><a href="https://www.linux.com/audience/devops/getting-started-kubernetes-easy-minikube">linux.com: Getting Started With Kubernetes Is Easy With Minikube</a></li>
<li><a href="https://faun.pub/accessing-a-remote-minikube-from-a-local-computer-fd6180dd66dd"><mark>faun.pub: Accessing a remote minikube from a local computer</mark></a> Minikube is a lightweight Kubernetes implementation that creates a VM on your local machine. In this article, you will learn how to connect to a remote computer with minikube installed.</li>
<li><a href="https://adamtheautomator.com/minikube-tutorial"><mark>adamtheautomator.com: Jumpstart Kubernetes Locally with this MiniKube Tutorial</mark></a> You&rsquo;ll usually find Kubernetes where it makes sense — i.e. in cloud environments. But how do you speed up development for Kubernetes? Could you test deployments locally?</li>
<li><a href="https://devopscube.com/kubernetes-minikube-tutorial">devopscube.com: Kubernetes Minikube Tutorial for Beginners</a></li>
</ul>
</li>
<li><a href="https://github.com/kubernetes-sigs/kind"><strong>kind</strong></a> Kubernetes IN Docker - local clusters for testing Kubernetes. Kind is a tool for running local Kubernetes clusters using Docker container “nodes”. kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI.<ul>
<li><a href="https://github.com/ManagedKube/kubernetes-development-environment-in-a-box">kubernetes-development-environment-in-a-box</a> This project is geared toward running multiple isolated KinD cluster on a single instance. This project produces an AMI image that can run an instance that has Docker and multiple isolated Kubernetes clusters running in it using KinD. The main use case is to setup one node that can run multiple fully isolated Kubernetes cluster on it for development purposes.</li>
<li><a href="https://faun.pub/finally-successfully-setup-docker-registry-inside-kind-kubernetes-cluster-5b0381dbb2ec">faun.pub: Finally, (successfully…) setup docker registry inside kind Kubernetes cluster</a></li>
<li><a href="https://blog.kubesimplify.com/yours-kindly-drone"><mark>blog.kubesimplify.com: Yours Kindly Drone</mark></a> <strong>Kubernetes Native Continuous Integration (CI) on your laptops. A hands-on tutorial on how to use KinD and Drone to set up CI with Kubernetes on your local machine. At the end of these steps, you will have a completely functional Kubernetes &amp; CI to build and deploy cloud-native apps on K8s</strong></li>
<li><a href="https://github.com/medyagh/setup-minikube">medyagh/setup-minikube</a> setup-minikube is a Github action that creates a temporary minikube cluster for testing</li>
<li><a href="https://dev.to/everythingdevops/how-to-run-minikube-on-apple-m1-chip-without-docker-desktop-h76">dev.to: How to run Minikube on Apple M1 chip without Docker Desktop using Colima</a></li>
</ul>
</li>
<li><a href="https://docs.docker.com/desktop/setup/install/windows-install">store.docker.com: Docker Community Edition EDGE with kubernetes. Installing Kubernetes using the Docker Client</a> Currently only available in <strong>Edge</strong> edition.</li>
<li><a href="https://medium.com/containers-101/local-kubernetes-for-linux-minikube-vs-microk8s-1b2acad068d3">medium.com: Local Kubernetes for LinuxMiniKube vs MicroK8s</a></li>
<li><a href="https://itnext.io/run-kubernetes-on-your-machine-7ee463af21a2">itnext.io: Run Kubernetes On Your Machine</a> Several options to start playing with K8s in no time</li>
<li><a href="https://www.theodo.com/en-fr/blog/kubernetes-technologies-kubeadm-vs-minikube-kind-and-k3s">padok.fr: MiniKube, Kubeadm, Kind, K3S, how to get started on Kubernetes?</a></li>
<li><a href="https://website.vcluster.com/blog/kubernetes-development-environments-a-comparison">loft.sh: Kubernetes Development Environments A Comparison</a></li>
<li><a href="https://opensource.com/article/20/11/run-kubernetes-locally">opensource.com: 4 ways to run Kubernetes locally</a> Set up a local development environment or just try out the container orchestration platform with these tools.</li>
<li><a href="https://www.dex.dev/dex-videos/development-clusters">dex.dev: Local Development Clusters</a></li>
<li><a href="https://itnext.io/kubernetes-local-playground-alternatives-e1a590632b9f">itnext.io: Kubernetes local playground alternatives</a></li>
<li><a href="https://www.dex.dev/dex-videos/development-clusters">dex.dev: Local Development Clusters</a></li>
<li><a href="https://blog.radwell.codes/2021/05/best-kubernetes-distribution-for-local-environments">blog.radwell.codes: Whats the best Kubernetes distribution for local environments? 🌟</a></li>
<li><a href="https://github.com/shank-git/metal-kubes">Metal Kubes</a> Create OnPrem Kubernetes Cluster. Install Kubernetes Cluster on Bare Metal Machines</li>
<li><a href="https://palark.com/blog/small-local-kubernetes-comparison">blog.flant.com: Small Kubernetes for your local experiments: k0s, MicroK8s, kind, k3s, and Minikube</a></li>
<li><a href="https://github.com/dj-wasabi/vagrant-kubernetes">dj-wasabi/vagrant-kubernetes</a> Playground for setting up small Kubernetes cluster on some <strong>vagrant</strong> boxes and practice with various examples to get familiar with K8s.</li>
</ul>
<h2 id="kubernetes-based-development-kubernetes-development-tools">Kubernetes Based Development. Kubernetes Development Tools</h2>
<ul>
<li><a href="https://itnext.io/software-development-in-containers-a-cookbook-2ba14d07e535">itnext.io: Software development in containers — a cookbook 🌟🌟🌟</a> A guide to developing containerized software</li>
<li><a href="https://github.com/kubevious/kubevious"><mark>kubevious</mark> 🌟🌟</a> Kubevious is a read-only dashboard and config validator. Kubevious gives deep insights on app config and structure.</li>
<li><a href="https://tilt.dev"><mark>tilt.dev</mark></a> You can use Tilt to easily build and run your application on Kubernetes. In comparison with similar tools, it provides <a href="https://cloud.tilt.dev">UI for managing the process and cloud platform</a> to share data with your team.<ul>
<li><a href="https://medium.com/condorlabs-engineering/happy-trip-to-kubernetes-in-our-company-85ecfde573fd">medium: Happy trip to Kubernetes in our company</a> Kubernetes Local Development Made Easy! Not Minikube, neither Skaffold, but Tilt to the rescue.<ul>
<li>Minikube: Initially, they found Minikube as the first solution to manipulate K8s and test everything in our local environment. To manually deploy a service in Minikube they had to build the image in docker every time they made a change. If you are only managing one service this would be easy to handle, but if we work with many services in a repository that needs to be running to work as expected, we should have a way to run those builds automatically and restart the pods to take the new image.</li>
<li>Skaffold: They researched how to automatize this and found Skaffold, a tool to create a complete dev environment fully integrated with Kubernetes and Minikube. Skaffold takes over to build all the images that you need, restart the pods and listen for more changes. With this, you can achieve a hot-building feature sending everything to minikube, the devs wont have to take care of this task. It was a win for them to find this tool.</li>
<li>Challenge: Something that caused friction for the developers was the way they had to run all the code locally. They had to make changes using docker-compose and then, test using Skaffold. This may generate little delays in the development workflow.</li>
<li>Tilt to the rescue: Finally, they found Tilt - An open-source tool that is focused on generating a comfortable and customizable rebuild for Docker and Kubernetes. Tilt makes really easy to manage development in a local environment of many services that need to communicate among them. Also, its focused on the Developer Experience. Once they implemented Tilt, they were able to use their services in the dev phase by running: tilt up. With a well-written configuration and settings, you can get reloads in a few milliseconds using the sync feature. Also, it has easy integration with Helm which is the most used package manager for K8s.</li>
</ul>
</li>
</ul>
</li>
<li><a href="https://docs.garden.io"><mark>garden.io</mark></a></li>
<li><a href="https://microcks.io">microcks.io</a> K8s-based API mock/test tool.<ul>
<li><a href="https://microcks.io/blog/podman-compose-support">microcks.io: Podman Compose support in Microcks</a></li>
</ul>
</li>
<li><a href="https://www.vcluster.com/blog/checklist-for-kubernetes-based-development">loft.sh: Checklist for Kubernetes-Based Development 🌟</a></li>
<li><a href="https://website.vcluster.com/blog/kubernetes-development-environments-a-comparison">loft.sh: Kubernetes Development Environments A Comparison</a></li>
<li><a href="https://www.vcluster.com/blog/skaffold-vs-tilt-vs-devspace">loft.sh: Skaffold vs Tilt vs DevSpace</a></li>
<li><a href="https://yitaek.medium.com/useful-tools-for-better-kubernetes-development-87820c2b9435">yitaek.medium.com: Useful Tools for Better Kubernetes Development 🌟</a> Lens, Polaris, kube-hunter, kube-bench, Trivy, Goldilocks, Kyverno, kube-ps1, kubectx + kubens , krew, kubectl-neat, kube-no-trouble, helm-mapkubeapis, kube-diff + helm-diff , kube forwarder, kubecost, kubespy.</li>
<li><a href="https://www.cncf.io/blog/2021/05/10/tools-to-develop-apps-on-kubernetes">cncf.io: Tools to develop apps on Kubernetes 🌟</a></li>
<li><a href="https://blog.usejournal.com/useful-tools-for-better-kubernetes-development-87820c2b9435">blog.usejournal.com: Useful Tools for Better Kubernetes Development</a></li>
<li><a href="https://www.dynatrace.com/solutions/observability-for-developers">rookout.com: Developer Tools for Kubernetes in 2021: Helm, Kustomize, and Skaffold (Part 1)</a><ul>
<li><a href="https://www.dynatrace.com/solutions/observability-for-developers/-part-2">rookout.com: Developer Tools for Kubernetes in 2021 Skaffold, Tilt, and Garden (Part 2)</a> In that previous blog post, I also mentioned another tool Skaffold. While Skaffold has limited ability to define Kubernetes applications and build and deploy them in CI/CD pipelines, its core functionality is creating a development environment for Kubernetes. In this blog post, Ill discuss the alternative tools of doing just that spinning up a development environment on Kubernetes. So lets go into an in-depth comparison of Skaffold, Tilt, and Garden. <strong>I will not be covering Microsoft Draft, as the Github repository appears to be archived and has had no new versions in 2020.</strong></li>
<li><a href="https://www.dynatrace.com/solutions/observability-for-developers/-part-3">rookout.com: Developer Tools for Kubernetes in 2021: Lens, VSCode, IntelliJ, &amp; Gitpod (Part 3)</a></li>
<li><a href="https://www.dynatrace.com/solutions/observability-for-developers">rookout.com: Developer Tools for Kubernetes in 2021: Docker, Kaniko, Buildpack &amp; Jib (Part 4)</a></li>
<li><a href="https://www.dynatrace.com/solutions/observability-for-developers/-development-machines-part-5">rookout.com: Developer Tools for Kubernetes in 2021: Development Machines (Part 5)</a></li>
</ul>
</li>
<li><a href="https://yitaek.medium.com/useful-tools-for-better-kubernetes-development-87820c2b9435">yitaek.medium.com: Useful Tools for Better Kubernetes Development</a></li>
<li><a href="https://www.okteto.com/blog/kubernetes-basics">okteto.com: Kubernetes for Developers Blog Series by Okteto</a></li>
<li><a href="https://www.docker.com/blog/dear-moby-2-kubernetes-in-production">docker.com: Kubernetes in Production Environments</a> What is the best way to develop if my prod environment runs Kubernetes? Using Docker Compose does come with conditions:<ul>
<li>Its another tool in your arsenal. This means another set of manifests to maintain and update. If you need to define a new environment variable, youll need to add it to both your Compose file and Kubernetes manifests.</li>
<li>Youll have to vet changes against either prod or a staging environment since youre not running Kubernetes locally.</li>
</ul>
</li>
<li><a href="https://itnext.io/kubernetes-in-a-box-7a146ba9f681">itnext.io: Kubernetes in a box</a> This article will be helpful for anyone interested in setting up a local Kubernetes dev/test environment in a reproducible and easy way.</li>
<li><a href="https://yash-kukreja-98.medium.com/develop-on-kubernetes-series-demystifying-the-for-vs-owns-vs-watches-controller-builders-in-c11ab32a046e">yash-kukreja-98.medium.com: Develop on Kubernetes Series — Demystifying the For vs Owns vs Watches controller-builders in controller-runtime</a></li>
</ul>
<h3 id="skaffold-local-kubernetes-development">Skaffold. Local Kubernetes Development</h3>
<ul>
<li><a href="https://skaffold.dev"><mark>Skaffold</mark> 🌟</a></li>
<li><a href="https://www.infracloud.io/blogs/skaffold-usecases">infracloud.io: Build and deploy Kubernetes apps with Skaffold</a></li>
<li><a href="https://testingclouds.wordpress.com/2021/03/09/migrating-from-docker-compose-to-skaffold">testingclouds.wordpress.com: Migrating from Docker Compose to Skaffold 🌟</a></li>
<li><a href="https://dev.to/otomato_io/local-kubernetes-development-with-skaffold-i0k">dev.to: How to Simplify Your Local Kubernetes Development With Skaffold</a> Skaffold is a tool that does everything with one single command:<ul>
<li>Builds Docker images</li>
<li>Pushes them</li>
<li>Deploys your Kubernetes resources with the docker images it just built</li>
</ul>
</li>
</ul>
<h3 id="devspace">DevSpace</h3>
<ul>
<li><a href="https://www.devspace.sh"><mark>devspace.sh</mark></a></li>
<li><a href="https://thenewstack.io/devspace-designed-to-lower-the-kubernetes-learning-curve">thenewstack.io: DevSpace Designed to Lower the Kubernetes Learning Curve</a></li>
<li><a href="https://www.cloudsavvyit.com/14690/how-to-get-started-with-devspace-and-rapidly-develop-kubernetes-apps"><mark>cloudsavvyit.com: How to Get Started With DevSpace and Rapidly Develop Kubernetes Apps</mark></a></li>
</ul>
<h3 id="telepresence-local-development-for-k8s-and-openshift-microservices">Telepresence local development for k8s and openshift microservices</h3>
<ul>
<li><a href="https://telepresence.io">telepresence.io 🌟</a> Fast, local development for kubernetes and openshift microservices.</li>
<li><a href="https://betterprogramming.pub/do-faster-development-and-testing-on-kubernetes-apps-with-telepresence-b7eac604dca4">betterprogramming.pub: Do Faster Development and Testing on Kubernetes Apps With Telepresence</a> Use Telepresence to instantly deploy your code change to a Kubernetes cluster</li>
<li><a href="https://thenewstack.io/cloud-native-debugging-challenges-from-local-to-remocal">thenewstack.io: Cloud Native Debugging Challenges: From Local to Remocal</a> Making remote clusters accessible, as though local, and giving developers tools to work locally in familiar ways are key ways to zap bugs and ship faster.</li>
<li><a href="https://dev.to/dsudia/how-to-integrate-docker-jetbrains-into-telepresence-31op">dev.to/dsudia: How to Integrate Docker &amp; JetBrains into Telepresence</a> Learn to debug Kubernetes containerized apps with Telepresence, set remote IDE breakpoints, manage Docker builds, and access cluster services. This guide covers environment setup, development practices, and IDE support for JVM and Go applications.</li>
</ul>
<h3 id="bridge-to-kubernetes">Bridge to Kubernetes</h3>
<ul>
<li><a href="https://learn.microsoft.com/en-us/previous-versions/visualstudio/bridge">Bridge to Kubernetes 🌟🌟</a></li>
</ul>
<h3 id="garden">Garden</h3>
<ul>
<li><a href="https://docs.garden.io">garden.io: cloud native devops platform</a></li>
<li><a href="https://venturebeat.com/2022/03/30/garden-io-an-end-to-end-devops-platform-for-kubernetes-and-containers-raises-16m">venturebeat.com: Garden.io, an end-to-end devops platform for Kubernetes and containers, raises $16M</a></li>
</ul>
<h2 id="kubernetes-clients-and-dashboards">Kubernetes Clients and Dashboards</h2>
<ul>
<li><a href="https://ordina-jworks.github.io/cloud/2020/08/28/kubernetes-clients-comparison.html">ordina-jworks.github.io: A comparison of Kubernetes clients and dashboards</a></li>
<li><a href="https://kccncna20.sched.com/event/ekAd/a-walk-through-the-kubernetes-ui-landscape-joaquim-rocha-kinvolk-henning-jacobs-zalando-se">kccncna20.sched.com: A Walk Through the Kubernetes UI Landscape</a> Working with Kubernetes clusters and workloads can be overwhelming, both for operators, as well as application developers. While kubectl is the de-facto standard interface to interact with Kubernetes&rsquo; API, a graphical user interface can provide a better experience for newcomers and advanced users alike. This talk will look at the current landscape of Open Source Kubernetes web and desktop UIs, including Kubernetes Dashboard, Lens, Octant, Kubernetes Web View, and Headlamp. Particularly, how different dashboards are built, for what purpose they can be used, and how they compare in terms of functionality, so attendees can get the most out of the vast landscape of Kubernetes UIs.<ul>
<li><a href="https://static.sched.com/hosted_files/kccncna20/02/A%20Walk%20Through%20the%20Kubernetes%20UI%20Landscape%20%28KubeCon%20Talk%202020%29.pdf">PDF</a></li>
</ul>
</li>
<li><a href="https://www.vcluster.com/blog/kubernetes-dashboards-headlamp">loft.sh: Kubernetes Dashboards: Headlamp</a> - <a href="https://kinvolk.io/docs/headlamp/latest">Headlamp Dashboard</a></li>
<li><a href="https://blog.tekspace.io/deploying-kubernetes-dashboard-in-k3s-cluster">blog.tekspace.io: Deploying Kubernetes Dashboard in K3S Cluster</a></li>
<li><a href="https://williamlam.com/2020/04/useful-interactive-terminal-and-graphical-ui-tools-for-kubernetes.html">williamlam.com: Useful Interactive Terminal and Graphical UI Tools for Kubernetes</a></li>
<li><a href="https://www.hackerxone.com/2021/07/10/how-install-kubernetes-dashboard-nodeport-linux">hackerxone.com: How To Install Kubernetes Dashboard with NodePort in Linux</a></li>
<li><a href="https://www.vcluster.com/blog/kubernetes-monitoring-dashboards-5-best-open-source-tools">loft.sh: Kubernetes Monitoring Dashboards - 5 Best Open-Source Tools</a></li>
<li><a href="https://medium.com/geekculture/yakd-yet-another-kubernetes-dashboard-7766bd071f30">medium: YAKD: Yet Another Kubernetes Dashboard</a> A list of most popular opensource kubernetes dashboard both for local development &amp; in production as well</li>
<li><a href="https://adamtheautomator.com/kubernetes-dashboard">adamtheautomator.com: How to Install and Set Up Kubernetes Dashboard [Step by Step]</a></li>
<li><a href="https://thenewstack.io/who-needs-a-dashboard-why-the-kubernetes-command-line-is-not-enough">thenewstack.io: Who Needs a Dashboard? Why the Kubernetes Command Line Is Not Enough</a></li>
<li><a href="https://kui.tools">kui.tools 🌟</a> Kui: CLI-driven Graphics for Kubernetes. Tired of working with Kubernetes in cli mode only? Try kui - a hybrid tool that allows you to interact with any Kubernetes cluster easily with more advanced features available only in GUI.<ul>
<li><a href="https://palark.com/blog/kui-hybrid-cli-gui-for-kubernetes">blog.flant.com: Kui — a “hybrid” CLI/GUI application for working with Kubernetes</a> Kui is a GUI-enhanced CLI interface for managing Kubernetes clusters
Kui enriches the good old terminal experience with GUI features, giving you a different perspective of your Kubernetes cluster</li>
</ul>
</li>
<li><a href="https://blog.aquasec.com/kubernetes-ui-tools-security-threat">blog.aquasec.com: RATs (remote access tools) in the Cloud: Kubernetes UI Tools Turn into a Weapon</a></li>
<li><a href="https://medium.com/@satyakommula/deploy-kubernetes-dashboard-with-nodeport-382f447d2ff8">medium.com/@satyakommula: Deploy Kubernetes dashboard with NodePort</a></li>
<li><a href="https://rigorousthemes.com/blog/best-kubernetes-dashboard-alternatives">rigorousthemes.com: 10 Best Kubernetes Dashboard Alternatives 2022</a></li>
<li><a href="https://palark.com/blog/kubenav-managing-kubernetes-from-smartphone">blog.flant.com: kubenav as a tool for managing Kubernetes clusters from your smartphone</a></li>
<li><a href="https://kubeapps.dev"><mark>kubeapps.dev</mark> 🌟</a> Kubeapps is an in-cluster web-based application that enables users with a one-time installation to deploy, manage, and upgrade applications on a Kubernetes cluster</li>
<li><a href="https://github.com/openshift/console"><mark>github.com/openshift/console</mark> 🌟</a><ul>
<li><a href="https://engineering.cloudflight.io/running-the-openshift-console-in-plain-kubernetes">engineering.cloudflight.io: Running the OpenShift console in plain Kubernetes 🌟</a></li>
</ul>
</li>
<li><a href="https://levelup.gitconnected.com/step-by-step-slow-guide-kubernetes-dashboard-on-raspberry-pi-cluster-part-2-acdc8f9b5b99">levelup.gitconnected.com: Step by Step Slow Guide: Kubernetes Dashboard on Raspberry Pi Cluster (Part 2)</a> How to setup self-signed certificate for Kubernetes Dashboard and expose it via load-balancer</li>
<li><a href="https://getseabird.github.io">getseabird.github.io 🌟</a> - <a href="https://github.com/getseabird/seabird">github.com/getseabird/seabird</a> Seabird is a native cross-platform Kubernetes desktop client that makes it super easy to explore your cluster&rsquo;s resources. We aim to visualize all common resource types in a simple, bloat-free user interface.</li>
<li><a href="https://github.com/cyclops-ui/cyclops"><mark>github.com/cyclops-ui/cyclops</mark> 🌟</a><ul>
<li>Cyclops is a powerful user interface for managing and interacting with Kubernetes clusters</li>
<li>It&rsquo;s designed to simplify the management of containerized apps, providing an intuitive experience for developers, system administrators, and DevOps</li>
</ul>
</li>
<li><a href="https://k8z.dev">k8z.dev: A lightweight, modern mobile and desktop application for manage kubernetes. Easily for use fast, secure</a> - <a href="https://github.com/k8zdev/k8z">github.com/k8zdev/k8z</a></li>
<li><a href="https://github.com/unxsist/jet-pilot">github.com/unxsist/jet-pilot</a> JET Pilot is an open-source Kubernetes IDE that focuses on less clutter, speed and good looks. Features:<ul>
<li>Real-time Logs</li>
<li>Kubernetes Object Management</li>
<li>Container Shell</li>
<li>Command Palette</li>
</ul>
</li>
</ul>
<h3 id="octant">Octant</h3>
<ul>
<li><a href="https://octant.dev"><mark>octant.dev</mark></a> Octant is an open source developer-centric web interface for Kubernetes that lets you inspect a Kubernetes cluster and its applications.</li>
<li><a href="https://www.linode.com/docs/guides/using-octant-with-kubernetes-a-tutorial">linode.com: A Overview of Using Octant with Kubernetes</a></li>
</ul>
<h3 id="okteto-local-kubernetes-development">Okteto local kubernetes development</h3>
<ul>
<li><a href="https://octopus.com/devops">codefresh.io: Tutorial - Local Kubernetes Development with Okteto 🌟</a></li>
<li><a href="https://github.com/marketplace?query=publisher%3Aokteto&amp;type=actions">github.com/marketplace: Automating your Kubernetes dev environments with the open source oktetohq Cloud got easier with GitHub Actions</a></li>
<li><a href="https://palark.com/blog/okteto-cloud-for-local-development-in-kubernetes">blog.palark.com: Okteto Cloud as another way for local development in Kubernetes</a> This article explores an approach featuring application development performed right inside the Kubernetes without needing separate build and deploy steps using Okteto</li>
</ul>
<h3 id="monokle">Monokle</h3>
<ul>
<li><a href="https://github.com/K8Studio/K8studio">k8studio.github.io/k8studio</a> Welcome to Monokle - your friendly desktop UI for managing k8s manifests!</li>
<li><a href="https://medium.com/kubeshop-i/monokle-vs-lens-vs-k9s-1d5d94d84b5c">medium.com/kubeshop-i: Monokle vs. Lens vs. K9s 🌟</a> Finding the right tools to optimize Kubernetes deployment workflows is challenging. Heres a look at what these key players offer to handle everything from configuration tasks to cluster management.</li>
</ul>
<h3 id="k8studio">K8Studio</h3>
<ul>
<li><a href="https://docs.monokle.io">kubeshop.github.io/monokle</a> Welcome to Monokle - your friendly desktop UI for managing k8s manifests!</li>
<li><a href="https://k8studio.io/blogs/k8studio-vs-lens-kubernetes-ide">k8studio.io/blogs: K8studio vs. Lens vs. K9s 🌟</a> K8studio vs Lens and K9s, probably the best tool to manage kubernetes</li>
</ul>
<h3 id="lens-and-openlens-kubernetes-ide">Lens and OpenLens Kubernetes IDE</h3>
<ul>
<li><a href="https://lenshq.io">Lens Kubernetes IDE 🌟</a> Lens is the only IDE youll ever need to take control of your Kubernetes clusters. It&rsquo;s open source and free. Download it today!</li>
<li><a href="https://medium.com/k8slens/lens-5-released-f7e58e8842cf">medium: Lens 5 Released</a></li>
<li><a href="https://medium.com/k8slens/how-to-give-developers-secure-access-to-kubernetes-clusters-c6025f0dd288">medium: How To Give Developers Secure Access to Kubernetes Clusters</a></li>
<li><a href="https://github.com/nevalla/lens-resource-map-extension">Lens Resource Map extension</a> Lens - The Kubernetes IDE extension that displays Kubernetes resources and their relations as a force graph.</li>
<li><a href="https://thedevopslife.com/kubernetes-gui-lens-ide">thedevopslife.com: Kubernetes IDE and UI Lens IDE</a></li>
<li><a href="https://medium.com/k8slens/lens-6-released-vision-for-the-future-new-subscription-model-and-features-available-628ff21fe14a">medium.com/k8slens: Lens 6 Released, Vision for the Future, New Subscription Model and Features Available</a> Over 650,000 people and tens-of-thousands of businesses develop and operate their Kubernetes on k8slens. Lens for Web Browsers — Enable new use cases for people preferring the Lens experience via web browsers. Even tablets and mobile phones!</li>
<li><a href="https://blog.devgenius.io/is-it-time-to-migrate-from-lens-to-openlens-75496e5758d8">blog.devgenius.io: Is it time to migrate from Lens to OpenLens to manage your Kubernetes clusters?</a></li>
<li><a href="https://medium.com/k8slens/eliminating-kubernetes-complexity-for-developers-using-lens-5c199e5aff4e">medium.com/k8slens: Eliminating Kubernetes Complexity for Developers Using Lens</a></li>
<li><a href="https://medium.com/k8slens/lens-kubernetes-is-all-you-need-in-the-development-env-to-build-ship-and-run-5c1980a12fcf">medium.com/k8slens: Lens Kubernetes is all you need in the development env to build, ship, and run</a></li>
</ul>
<h3 id="kubenav">Kubenav</h3>
<ul>
<li><a href="https://github.com/kubenav/kubenav">kubenav</a> is the navigator for your Kubernetes clusters right in your pocket. kubenav is a mobile, desktop and web app to manage Kubernetes clusters and to get an overview of the status of your resources.</li>
</ul>
<h3 id="aptakube">Aptakube</h3>
<ul>
<li><a href="https://aptakube.com">Aptakube</a> is a modern, lightweight and multi-cluster desktop client for Kubernetes. Connect to multiple clusters simultaneously to view, edit and manage all your resources.</li>
</ul>
<h3 id="cloud-manager">Cloud Manager</h3>
<ul>
<li><a href="https://thenewstack.io/cloud-manager-a-new-multicloud-paas-platform-built-on-kubernetes">thenewstack.io: Cloud Manager: A New Multicloud PaaS Platform Built on Kubernetes</a></li>
<li><a href="https://medium.com/faun/do-it-all-kubernetes-dashboard-81375833e01c">medium: Do It All Kubernetes Dashboard</a></li>
</ul>
<h3 id="yaki">Yaki</h3>
<ul>
<li><a href="https://github.com/vivekagate/yakiapp">nirops/yakiapp</a> Yaki stands for &ldquo;Yet Another Kubernetes IDE&rdquo;. Open Source, Cross platform, Native Kubernetes IDE. Yaki is a desktop application that allows DevOps, Developers, SREs and anyone who wish the manage the applications deployed in their Kubernetes Cluster</li>
</ul>
<h2 id="images">Images</h2>
<details class="note">
<summary>Click to expand!</summary>
<center markdown="1">
<p><a href="https://lenshq.io"><img alt="lens ide" src="images/header-lens.png" /></a></p>
</center>
</details>
<h2 id="tweets">Tweets</h2>
<details class="note">
<summary>Click to expand!</summary>
<center markdown="1">
<p><blockquote class="twitter-tweet"><p lang="en" dir="ltr">I made a thing: Web UI for Learning &amp; Exploring Kubernetes 🧙‍♂️<br><br>It&#39;s hell-interactive - (multi-)cluster updates shown in real-time.<br><br>Tailored for:<br>- Experiments<br>- Education<br>- Postman REST client but for K8s<br><br>Demo use case: learn what happens to Pods when Deployment is updated 🔽 <a href="https://t.co/0373JRh3P7">pic.twitter.com/0373JRh3P7</a></p>&mdash; Ivan Velichko (@iximiuz) <a href="https://twitter.com/iximiuz/status/1542236802207072256?ref_src=twsrc%5Etfw">June 29, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
</center>
</details>
<h2 id="videos">Videos</h2>
<details>
<summary>Click to expand!</summary>
<center markdown="1">
<iframe width="560" height="315" src="https://www.youtube.com/embed/FRpUJoDdI1o" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/e1bavPwQmVc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/RjqDpF6_ZHs" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</center>
</details>
<form class="md-feedback" name="feedback" hidden>
<fieldset>
<legend class="md-feedback__title">
Was this page helpful?
</legend>
<div class="md-feedback__inner">
<div class="md-feedback__list">
<button class="md-feedback__icon md-icon" type="submit" title="This page was helpful" data-md-value="1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81"/></svg>
</button>
<button class="md-feedback__icon md-icon" type="submit" title="This page could be improved" data-md-value="0">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14"/></svg>
</button>
</div>
<div class="md-feedback__note">
<div data-md-value="1" hidden>
Thanks for your feedback!
</div>
<div data-md-value="0" hidden>
Thanks for your feedback! Help us improve this page by using our <a href="..." target=_blank>feedback form</a>.
</div>
</div>
</div>
</fieldset>
</form>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
2026 <a href="https://twitter.com/nubenetes">Nubenetes</a>, <a href="https://nubenetes.com/about/">about</a>.
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
<div class="md-social">
<a href="https://www.youtube.com/channel/UCnrc0CFnNJSG2Kt4Ohdr3UA/playlists?view=1" target="_blank" rel="noopener" title="www.youtube.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M549.7 124.1c-6.2-23.7-24.8-42.3-48.3-48.6C458.9 64 288.1 64 288.1 64S117.3 64 74.7 75.5c-23.5 6.3-42 24.9-48.3 48.6C15 167 15 256.4 15 256.4s0 89.4 11.4 132.3c6.3 23.6 24.8 41.5 48.3 47.8C117.3 448 288.1 448 288.1 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zM232.2 337.6V175.2l142.7 81.2z"/></svg>
</a>
<a href="https://twitter.com/nubenetes" target="_blank" rel="noopener" title="twitter.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg>
</a>
<a href="https://github.com/nubenetes" target="_blank" rel="noopener" title="github.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M202.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1M496 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2m-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3m-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1"/></svg>
</a>
<a href="https://speakerdeck.com/nubenetes/stars" target="_blank" rel="noopener" title="speakerdeck.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M213.9 296H100c-26.5 0-52-10.5-70.7-29.3S0 222.5 0 196s10.5-52 29.3-70.7S73.5 96 100 96h132.8c10.6 0 20.8 4.2 28.3 11.7s11.7 17.7 11.7 28.3-4.2 20.8-11.7 28.3-17.7 11.7-28.3 11.7H98c-26.5 0-26.4 40 0 40h113.8c26.5 0 52 10.5 70.7 29.3s29.3 44.2 29.3 70.7-10.5 52-29.3 70.7-44.2 29.3-70.7 29.3H40c-10.6 0-20.8-4.2-28.3-11.7S0 386.6 0 376s4.2-20.8 11.7-28.3S29.4 336 40 336h173.9c26.5 0 26.5-40 0-40M298 416c13.5-9.2 25-21 33.8-34.7s14.7-29.2 17.3-45.3h64.6c2.6 0 5.2-.6 7.6-1.6s4.6-2.5 6.4-4.4 3.3-4.1 4.2-6.5 1.5-5 1.4-7.6v-120c0-2.6-.5-5.2-1.4-7.6s-2.4-4.6-4.2-6.5-4-3.3-6.4-4.4-5-1.6-7.6-1.6H296.5c9.7-11.1 15-25.3 15-40s-5.3-28.9-15-40h136.9c43.4 0 78.6 35.8 78.6 80v160c0 44.2-35.2 80-78.6 80z"/></svg>
</a>
<a href="https://www.slideshare.net/nubenetes/favorites" target="_blank" rel="noopener" title="www.slideshare.net" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M187.9 153.7c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7s61.7-26 61.7-57.7c0-32-27.7-57.7-61.7-57.7m143.4 0c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7 34.3 0 61.7-26 61.7-57.7.1-32-27.4-57.7-61.7-57.7m156.6 90-6 4.3V49.7c0-27.4-20.6-49.7-46-49.7H76.8c-25.4 0-46 22.3-46 49.7V248c-2-1.4-4.3-2.9-6.3-4.3-15.1-10.6-25.1 4-16 17.7 18.3 22.6 53.1 50.3 106.3 72-56.3 191.7 137.4 222.3 134.3 124.1 0-.7.3-56.6.3-96.6 5.1 1.1 9.4 2.3 13.7 3.1 0 39.7.3 92.8.3 93.5-3.1 98.3 190.6 67.7 134.3-124 53.1-21.7 88-49.4 106.3-72 9.1-13.8-.9-28.3-16.1-17.8m-30.5 19.2c-68.9 37.4-128.3 31.1-160.6 29.7-23.7-.9-32.6 9.1-33.7 24.9-10.3-7.7-18.6-15.5-20.3-17.1-5.1-5.4-13.7-8-27.1-7.7-31.7 1.1-89.7 7.4-157.4-28V72.3c0-34.9 8.9-45.7 40.6-45.7h317.7c30.3 0 40.9 12.9 40.9 45.7v190.6z"/></svg>
</a>
<a href="https://twitter.com/redhatspain" target="_blank" rel="noopener" title="twitter.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg>
</a>
<a href="https://www.linkedin.com/groups/1937212/" target="_blank" rel="noopener" title="www.linkedin.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3M135.4 416H69V202.2h66.5V416zM102.2 96a38.5 38.5 0 1 1 0 77 38.5 38.5 0 1 1 0-77m282.1 320h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9z"/></svg>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<div class="md-consent" data-md-component="consent" id="__consent" hidden>
<div class="md-consent__overlay"></div>
<aside class="md-consent__inner">
<form class="md-consent__form md-grid md-typeset" name="consent">
<h4>Cookie consent</h4>
<p>We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.</p>
<input class="md-toggle" type="checkbox" id="__settings" >
<div class="md-consent__settings">
<ul class="task-list">
<li class="task-list-item">
<label class="task-list-control">
<input type="checkbox" name="analytics" checked>
<span class="task-list-indicator"></span>
Google Analytics
</label>
</li>
<li class="task-list-item">
<label class="task-list-control">
<input type="checkbox" name="github" checked>
<span class="task-list-indicator"></span>
GitHub
</label>
</li>
</ul>
</div>
<div class="md-consent__controls">
<button class="md-button md-button--primary">Accept</button>
<label class="md-button" for="__settings">Manage settings</label>
</div>
</form>
</aside>
</div>
<script>var consent=__md_get("__consent");if(consent)for(var input of document.forms.consent.elements)input.name&&(input.checked=consent[input.name]||!1);else"file:"!==location.protocol&&setTimeout((function(){document.querySelector("[data-md-component=consent]").hidden=!1}),250);var form=document.forms.consent;for(var action of["submit","reset"])form.addEventListener(action,(function(e){if(e.preventDefault(),"reset"===e.type)for(var n of document.forms.consent.elements)n.name&&(n.checked=!1);__md_set("__consent",Object.fromEntries(Array.from(new FormData(form).keys()).map((function(e){return[e,!0]})))),location.hash="",location.reload()}))</script>
<script id="__config" type="application/json">{"annotate": null, "base": ".", "features": ["navigation.instant", "navigation.tracking", "navigation.tabs", "navigation.tabs.sticky", "navigation.sections", "toc.integrate", "navigation.top", "content.code.annotate", "navigation.indexes", "search.highlight", "search.share", "search.suggest"], "search": "assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
<script src="assets/javascripts/bundle.79ae519e.min.js"></script>
<script src="javascript/extra.js"></script>
</body>
</html>