Files
awesome-kubernetes/docs/overrides/main.html
Nubenetes Bot fa1a473b91 feat(v2/nav): OpenShift submenu (3/4/legacy) + group K8s distros; deterministic 2-col grid
Addresses the OpenShift 'lío' (ocp3 deprecated · openshift overview · ocp4
current 29-link page) and groups the Kubernetes distributions:

- OpenShift is now a nested submenu inside the Kubernetes menu (OpenShift ▸ →
  OpenShift 4 (current) · Overview · OpenShift 3 (legacy)), so the substantial
  ocp4 page is finally reachable. Reuses the AWS nested-submenu mechanism.
- Distros/platforms grouped at the end of the Kubernetes menu: Managed K8s ·
  OpenShift ▸ · Rancher · Distros & Alternatives (kubernetes-alternatives moved
  here and relabeled). Rancher was already present.
- Switched the 2-column Kubernetes menu from CSS multicol to a deterministic
  column-major grid (11 rows × 2 cols) with overflow:visible / max-height:none,
  eliminating the sub-pixel balancing remainder that left a faint scrollbar.

Verified in Chrome 148 (Playwright + screenshot): menu renders as a clean 2-col
card with NO scrollbar at viewport heights 768–1080; the OpenShift submenu opens
to the side, stays on-screen, and keeps the parent open. Cache-bust ?v=2.9.38.
V2-only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 18:01:31 +02:00

283 lines
14 KiB
HTML
Raw 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.
{% extends "base.html" %}
{% block announce %}
<strong>New:</strong> <a href="./tech-digest/">Intelligence Digest</a> — AI-curated trending resources across 26 categories
{% endblock %}
{#-
Quick-nav bar rendered below the header on every page (via the `tabs` block,
which is empty here since navigation.tabs is disabled). Single slim row that
stays one row no matter how many destinations are added: the most-used
flagships are direct one-click pills, and the long-tail clusters collapse into
category menus built with the native HTML Popover API + CSS Anchor Positioning
(Baseline 2026) — zero JS, with free Esc/click-outside dismissal and focus
management. Adding a leaf grows a menu, never the bar.
Fully category-grouped: one direct pill (Topic Map) + 11 thematic dropdowns.
Related topics live together (CI/CD · GitOps · DevOps in Delivery; Terraform ·
IaC in IaC; Docker in Kubernetes; …). AWS is a NESTED submenu inside Cloud.
Pages may appear in more than one menu when that aids discovery.
Digest · Kubernetes (+Docker) · Delivery (CI/CD·GitOps·DevOps) · IaC
· Cloud (AWS▸ · Azure · GCP · …) · Network · Security · Observability & SRE
· AI & Data · Dev & Platform · More
-#}
{% block tabs %}
<nav class="nb-quicknav" aria-label="Quick navigation">
<div class="nb-quicknav__inner">
<a class="nb-quicknav__link" href="/topic-map/">🗺️ Topic Map</a>
<span class="nb-quicknav__group">
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-digest" type="button">📊 Digest <span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu" id="nb-pop-digest" popover>
<a href="/tech-digest/">📊 Tech &amp; Cloud Digest</a>
<a href="/industry-digest/">🌍 Industry &amp; Geo Digest</a>
</div>
</span>
<span class="nb-quicknav__group">
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-k8s" type="button">☸️ Kubernetes <span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu nb-quicknav__menu--cols" id="nb-pop-k8s" popover>
<a href="/kubernetes/">☸️ Overview</a>
<a href="/docker/">🐳 Docker</a>
<a href="/kubernetes-tools/">🧰 Tools</a>
<a href="/helm/">📦 Helm</a>
<a href="/kubectl-commands/">⌨️ kubectl</a>
<a href="/container-managers/">📦 Container Managers</a>
<a href="/kubernetes-networking/">🌐 Networking</a>
<a href="/kubernetes-security/">🔐 Security</a>
<a href="/kubernetes-monitoring/">📈 Monitoring</a>
<a href="/kubernetes-storage/">💾 Storage</a>
<a href="/kubernetes-autoscaling/">⚖️ Autoscaling</a>
<a href="/kubernetes-operators-controllers/">🎛️ Operators</a>
<a href="/kubernetes-bigdata/">📊 Big Data</a>
<a href="/kubernetes-tutorials/">🎓 Tutorials</a>
<a href="/kubernetes-backup-migrations/">🗄️ Backup &amp; Migrations</a>
<a href="/kubernetes-client-libraries/">📚 Client Libraries</a>
<a href="/kubernetes-based-devel/">💻 Local Dev</a>
<a href="/kubernetes-on-premise/">🏢 On-Premise</a>
<a href="/managed-kubernetes-in-public-cloud/">☁️ Managed K8s</a>
<span class="nb-quicknav__subwrap">
<button class="nb-quicknav__subtrigger" popovertarget="nb-pop-ocp" type="button"><span>🎩 OpenShift</span><span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu nb-quicknav__submenu" id="nb-pop-ocp" popover>
<a href="/ocp4/">🎩 OpenShift 4 (current)</a>
<a href="/openshift/">🎩 Overview</a>
<a href="/ocp3/">🎩 OpenShift 3 (legacy)</a>
</div>
</span>
<a href="/rancher/">🐮 Rancher</a>
<a href="/kubernetes-alternatives/">🔀 Distros &amp; Alternatives</a>
</div>
</span>
<span class="nb-quicknav__group">
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-delivery" type="button">🔄 Delivery <span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu" id="nb-pop-delivery" popover>
<a href="/gitops/">🔄 GitOps</a>
<a href="/cicd/">🚀 CI/CD</a>
<a href="/devops/">♾️ DevOps</a>
<a href="/argo/">🐙 Argo</a>
<a href="/flux/">🔱 Flux</a>
<a href="/tekton/">🛠️ Tekton</a>
<a href="/jenkins/">🤵 Jenkins</a>
<a href="/registries/">📦 Registries</a>
<a href="/sonarqube/">🔎 SonarQube</a>
<a href="/keptn/">🎯 Keptn</a>
</div>
</span>
<span class="nb-quicknav__group">
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-iac" type="button">🏗️ IaC <span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu" id="nb-pop-iac" popover>
<a href="/terraform/">🏗️ Terraform</a>
<a href="/iac/">📜 IaC</a>
<a href="/ansible/">📋 Ansible</a>
<a href="/pulumi/">🧩 Pulumi</a>
<a href="/crossplane/">✈️ Crossplane</a>
<a href="/kustomize/">🧱 Kustomize</a>
</div>
</span>
<span class="nb-quicknav__group">
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-cloud" type="button">☁️ Cloud <span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu" id="nb-pop-cloud" popover>
<span class="nb-quicknav__subwrap">
<button class="nb-quicknav__subtrigger" popovertarget="nb-pop-aws" type="button"><span>☁️ AWS</span><span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu nb-quicknav__submenu" id="nb-pop-aws" popover>
<a href="/aws/">☁️ AWS Overview</a>
<a href="/aws-serverless/">⚡ Serverless</a>
<a href="/aws-storage/">💾 Storage</a>
<a href="/aws-networking/">🌐 Networking</a>
<a href="/aws-security/">🔐 Security</a>
<a href="/aws-iac/">📜 IaC</a>
<a href="/aws-backup/">🗄️ Backup</a>
<a href="/aws-newfeatures/">🆕 New Features</a>
</div>
</span>
<a href="/azure/">☁️ Azure</a>
<a href="/GoogleCloudPlatform/">☁️ GCP</a>
<a href="/serverless/">⚡ Serverless</a>
<a href="/finops/">💰 FinOps</a>
<a href="/edge-computing/">🌍 Edge</a>
<a href="/digitalocean/">🌊 DigitalOcean</a>
<a href="/oraclecloud/">🔴 Oracle</a>
<a href="/ibm_cloud/">🔵 IBM Cloud</a>
</div>
</span>
<span class="nb-quicknav__group">
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-net" type="button">🌐 Network <span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu" id="nb-pop-net" popover>
<a href="/networking/">🌐 Networking</a>
<a href="/istio/">⛵ Istio</a>
<a href="/servicemesh/">🕸️ Service Mesh</a>
<a href="/kubernetes-networking/">🔗 K8s Net</a>
<a href="/caching/">⚡ Caching</a>
<a href="/web-servers/">🖥️ Web Servers</a>
</div>
</span>
<span class="nb-quicknav__group">
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-sec" type="button">🔐 Security <span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu" id="nb-pop-sec" popover>
<a href="/kubernetes-security/">🔐 K8s Security</a>
<a href="/devsecops/">🛡️ DevSecOps</a>
<a href="/securityascode/">📜 Security as Code</a>
<a href="/aws-security/">☁️ AWS Security</a>
</div>
</span>
<span class="nb-quicknav__group">
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-obs" type="button">📈 Observability <span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu" id="nb-pop-obs" popover>
<a href="/monitoring/">📈 Observability</a>
<a href="/prometheus/">🔥 Prometheus</a>
<a href="/grafana/">📊 Grafana</a>
<a href="/sre/">🛠️ SRE</a>
<a href="/chaos-engineering/">🌪️ Chaos Engineering</a>
<a href="/performance-testing-with-jenkins-and-jmeter/">⏱️ Performance Testing</a>
<a href="/qa/">✅ QA</a>
<a href="/test-automation-frameworks/">🤖 Test Automation</a>
</div>
</span>
<span class="nb-quicknav__group">
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-aidata" type="button">🤖 AI &amp; Data <span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu" id="nb-pop-aidata" popover>
<a href="/ai-agents-mcp/">🤖 AI &amp; MCP</a>
<a href="/mlops/">🧠 MLOps</a>
<a href="/ai/">🤖 AI</a>
<a href="/chatgpt/">💬 ChatGPT</a>
<a href="/databases/">🗃️ Databases</a>
<a href="/nosql/">🍃 NoSQL</a>
<a href="/message-queue/">📨 Messaging</a>
</div>
</span>
<span class="nb-quicknav__group">
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-dev" type="button">🧑‍💻 Dev <span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu" id="nb-pop-dev" popover>
<a href="/developerportals/">🏛️ Developer Portals</a>
<a href="/python/">🐍 Python</a>
<a href="/golang/">🐹 Go</a>
<a href="/java_frameworks/">☕ Java</a>
<a href="/javascript/">🟨 JavaScript</a>
<a href="/dotnet/">🟣 .NET</a>
<a href="/api/">🔌 API</a>
<a href="/postman/">📮 Postman</a>
</div>
</span>
<span class="nb-quicknav__group">
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-more" type="button">⋯ More <span class="nb-quicknav__caret" aria-hidden="true"></span></button>
<div class="nb-quicknav__menu" id="nb-pop-more" popover>
<a href="/tags/">🏷️ Technical Tags</a>
<a href="/demos/">🧪 Demos</a>
<a href="/videos/">🎥 Videos</a>
<a href="/methodology/">📐 Methodology</a>
<a href="/faq/">❓ FAQ</a>
<a href="/about/"> About</a>
<a href="/recruitment/">💼 Career</a>
<a class="nb-quicknav__menu-muted" href="/v1/">📚 V1 Archive</a>
</div>
</span>
</div>
</nav>
{% endblock %}
{#-
JSON-LD structured data (schema.org) for richer search results: declares the
WebSite (with a sitelinks SearchAction) and the publishing Organization.
Only the V2 portal uses this overrides dir (custom_dir: docs/overrides), so
this injects on the canonical nubenetes.com root; V1 uses the stock theme.
-#}
{% block extrahead %}
{{ super() }}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebSite",
"@id": "https://nubenetes.com/#website",
"url": "https://nubenetes.com/",
"name": "Nubenetes",
"description": "AI-curated portal for the modern Cloud Native ecosystem: high-density, ranked selection of top-tier Kubernetes, DevOps and Cloud resources.",
"publisher": { "@id": "https://nubenetes.com/#organization" },
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://nubenetes.com/?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
},
{
"@type": "Organization",
"@id": "https://nubenetes.com/#organization",
"name": "Nubenetes",
"url": "https://nubenetes.com/",
"logo": {
"@type": "ImageObject",
"url": "https://nubenetes.com/images/favicon-ultra.png"
},
"sameAs": [
"https://github.com/nubenetes/awesome-kubernetes",
"https://twitter.com/nubenetes",
"https://www.linkedin.com/groups/1937212/"
]
}
]
}
</script>
{#-
Per-page structured data: a CollectionPage (each V2 page is a curated
collection of resources) tied to the WebSite/Organization above, with
datePublished / dateModified fed by the git-revision-date plugin. Enables
richer search results. Skipped on the homepage (already the WebSite entity).
-#}
{% if page and not page.is_homepage and page.canonical_url %}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"@id": {{ (page.canonical_url ~ "#webpage") | tojson }},
"url": {{ page.canonical_url | tojson }},
"name": {{ (page.title or config.site_name) | tojson }},
"isPartOf": { "@id": "https://nubenetes.com/#website" },
"publisher": { "@id": "https://nubenetes.com/#organization" },
"inLanguage": "en"
{%- if page.meta and page.meta.description %},
"description": {{ page.meta.description | tojson }}
{%- endif %}
{%- if page.meta and page.meta.git_creation_date_localized_raw_iso_date %},
"datePublished": {{ page.meta.git_creation_date_localized_raw_iso_date | tojson }}
{%- endif %}
{%- if page.meta and page.meta.git_revision_date_localized_raw_iso_date %},
"dateModified": {{ page.meta.git_revision_date_localized_raw_iso_date | tojson }}
{%- endif %}
}
</script>
{% endif %}
{% endblock %}