mirror of
https://github.com/nubenetes/awesome-kubernetes.git
synced 2026-09-01 08:07:19 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2d6c1f16ab | ||
|
|
e5c5b94d46 | ||
|
|
8719fec736 | ||
|
|
ce82aa07ec | ||
|
|
0f57980748 | ||
|
|
9bc0ee991d | ||
|
|
0da202d00d | ||
|
|
42c0006340 | ||
|
|
ddbf3bdd3b | ||
|
|
3fb5fd8606 | ||
|
|
c271c69b1f | ||
|
|
8bda35ffb2 | ||
|
|
bf300df560 | ||
|
|
2963b905e5 | ||
|
|
8e6845a5cf | ||
|
|
72c80a0156 | ||
|
|
b394ee2b75 | ||
|
|
0e80915be8 | ||
|
|
79a13bd9ac | ||
|
|
c3149c3d25 | ||
|
|
76ff2c572d | ||
|
|
d36e33b3d0 | ||
|
|
8906200734 | ||
|
|
193560981c | ||
|
|
b0d1e9d5f8 | ||
|
|
a5b9841142 | ||
|
|
c737d4b52f | ||
|
|
8c44e3f665 | ||
|
|
84e5bd4d47 | ||
|
|
96e0c77d16 | ||
|
|
1c82f00594 | ||
|
|
c1ed9ce150 | ||
|
|
27be15380d | ||
|
|
8b39d2ae8e | ||
|
|
1cb2254877 | ||
|
|
ab53012f35 | ||
|
|
710ab6b536 | ||
|
|
9fdf528665 | ||
|
|
655166b83a | ||
|
|
fb6680e83e | ||
|
|
af4e2a2849 | ||
|
|
23508a4c1b | ||
|
|
cd81458560 | ||
|
|
4ff7402207 | ||
|
|
59b5508fe3 | ||
|
|
eb3efa310d | ||
|
|
56b0f539eb | ||
|
|
9f7d457819 | ||
|
|
27716bbb4c | ||
|
|
8ad4455049 | ||
|
|
59089c4918 | ||
|
|
2697f49e2c | ||
|
|
d5f71a6f84 | ||
|
|
d8fead1146 | ||
|
|
3edd424fd3 | ||
|
|
c80e1fd4b4 | ||
|
|
bba344afa8 | ||
|
|
ca83d27a3d | ||
|
|
7d28bd4e9c | ||
|
|
b015cec250 | ||
|
|
6637f3956b | ||
|
|
b111189475 | ||
|
|
049b994180 | ||
|
|
85e47f12af | ||
|
|
294b10dca5 | ||
|
|
ac1f6be919 | ||
|
|
c9bf1e46c7 | ||
|
|
84bb583cf6 | ||
|
|
466a315151 | ||
|
|
624e2ab543 | ||
|
|
40275974c0 | ||
|
|
0c5e17f874 | ||
|
|
ec8e38a1c2 | ||
|
|
f35c348ff1 | ||
|
|
9ba26201b5 | ||
|
|
a52bd87e00 | ||
|
|
16ed0cc9e1 | ||
|
|
98041bb7b4 | ||
|
|
2081c96b39 | ||
|
|
2d9d1cef09 | ||
|
|
d56192d7db | ||
|
|
088e35feac | ||
|
|
794734ad1c | ||
|
|
68b7029975 | ||
|
|
bfdec79f41 | ||
|
|
1e6c7bbd9a | ||
|
|
06f93282e2 | ||
|
|
8ee10a16ea | ||
|
|
0b3fe9c9c6 | ||
|
|
9971945e9f | ||
|
|
f721c5714b | ||
|
|
4e9d839f2e | ||
|
|
c377b4e4d9 | ||
|
|
bcbb3a2466 | ||
|
|
21a63a1992 | ||
|
|
6ef1580b43 | ||
|
|
1711eb594e | ||
|
|
680d5f83f5 | ||
|
|
b5f1a3d4a4 | ||
|
|
cedd14e128 | ||
|
|
6fb3808850 | ||
|
|
1698351fb9 | ||
|
|
48b1c80a80 | ||
|
|
b73d8315e5 | ||
|
|
d1e1ba5fb3 | ||
|
|
07ac1df305 | ||
|
|
e01f720655 | ||
|
|
8e065c5406 | ||
|
|
6b311deed5 | ||
|
|
2a90ce60ea | ||
|
|
f588a7254b | ||
|
|
a86f8f5c0a | ||
|
|
15aae43489 | ||
|
|
123d53848c | ||
|
|
7bf22fbe43 | ||
|
|
01c514b07b | ||
|
|
4d25baee03 | ||
|
|
3fa1370e30 | ||
|
|
a083fb2af4 | ||
|
|
f16a1ae9c0 | ||
|
|
a6e166661f | ||
|
|
f51d4094a1 | ||
|
|
fcdc4d0ec1 | ||
|
|
fcf47473da | ||
|
|
dcc323ead3 | ||
|
|
16784ce925 | ||
|
|
09d7a68ef8 | ||
|
|
a96919d3ad | ||
|
|
fdb93ccc16 | ||
|
|
e14e78c6e9 | ||
|
|
a07267dd2b | ||
|
|
58d1be6522 | ||
|
|
bff5d72a89 | ||
|
|
266499ac2f | ||
|
|
a6cf0d97ef | ||
|
|
41e4fc9502 | ||
|
|
15ffc91ec2 | ||
|
|
385c7f03da | ||
|
|
088dc12a8e | ||
|
|
a477989bc1 | ||
|
|
e7d9c0eccc | ||
|
|
7c8f36addd | ||
|
|
8643517e2e | ||
|
|
4ef377d62d | ||
|
|
ae0af172dc | ||
|
|
70f64d37b0 | ||
|
|
4d0be41548 | ||
|
|
b79209ab5e | ||
|
|
9bbb82b00c |
@@ -25,6 +25,9 @@ jobs:
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: true
|
||||
# Full history so mkdocs-git-revision-date-localized can compute the
|
||||
# real per-page "last updated" date (shallow clone => all build-date).
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v6
|
||||
|
||||
@@ -59,7 +59,10 @@ jobs:
|
||||
run: |
|
||||
git config --global user.name "nubenetes-bot"
|
||||
git config --global user.email "bot@nubenetes.com"
|
||||
git add docs/ v2-docs/ README.md data/inventory.yaml data/inventory.sql src/memory/
|
||||
# NOTE: v2-docs/ is deliberately excluded. It is generated by
|
||||
# src/v2_optimizer.py (single source of truth); re-formatting it here
|
||||
# caused a perpetual cosmetic develop<->master drift (see pr_guardian.py).
|
||||
git add docs/ README.md data/inventory.yaml data/inventory.sql src/memory/
|
||||
if ! git diff --cached --quiet; then
|
||||
git commit -m "style(cleaner): auto-correcting formatting & URL normalization"
|
||||
git push origin HEAD:${{ github.event.pull_request.head.ref }} || echo "⚠️ Push failed (likely fork permission limit)."
|
||||
|
||||
+113
@@ -5,6 +5,119 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [[2.9.35]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.35) - 2026-06-20
|
||||
|
||||
### Added
|
||||
- **Kubernetes provider hub**: A fragmentation audit found only two prefix clusters — `aws` (fixed in v2.9.34) and `kubernetes`. Unlike AWS, Kubernetes is well-classified (rich parent at 157 links + substantial distinct children: tools 144, networking 64, security 52, monitoring 24, …), so nothing is merged. This adds a "Deep-Dive Topic Pages" hub to `kubernetes.md` indexing its 14 substantial sub-pages (Tools · Networking · Security · Monitoring · Storage · Autoscaling · Operators · Alternatives · Big Data · Tutorials · Backup & Migrations · Client Libraries · Local Dev · On-Premise) — purely additive navigation, no merging or pruning. Other small pages (pulumi, kustomize, registries, …) are legitimate distinct topics and were intentionally left alone. Generator-only (`src/v2_optimizer.py`); republished on the next curation run.
|
||||
|
||||
## [[2.9.34]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.34) - 2026-06-20
|
||||
|
||||
### Changed
|
||||
- **AWS page de-fragmentation + provider hub**: The AWS landing page rendered with only ~3 links because AWS content was split across ~20 granular pages (Azure/GCP use a single rich page each), many with just 1-5 links. Two generator changes in `src/v2_optimizer.py` fix this: (A) `aws.md` now renders a "Deep-Dive Topic Pages" hub linking to the substantial sub-pages that remain (Serverless · Storage · Networking · Security · IaC · Backup · New Features) via a new `subpage_hubs` map; (B) the near-empty / junk-drawer AWS sub-pages (≤7 links + "miscellaneous": aws-pricing, aws-training, aws-data, aws-messaging, aws-tools-scripts, aws-monitoring, aws-architecture, aws-containers, aws-devops, aws-databases, aws-miscellaneous) merge into `aws.md` via the existing `merge_map`, with their slugs removed from `dimensions` so the pipeline prunes the orphans and auto-syncs the nav. Verified with `--render-only`: aws.md goes from 3 to 44 links plus the 7-child hub. V1 (`docs/`) is untouched by design (exhaustive archive + merge source). Generator-only; the AWS pages are republished on the next curation run.
|
||||
|
||||
## [[2.9.33]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.33) - 2026-06-20
|
||||
|
||||
### Added
|
||||
- **Quick-nav menu expansion — 38 destinations**: Data-driven expansion of the hybrid quick-nav (ranked by per-page link count + relevance). New 📊 Digest menu pairs both editions (Tech & Cloud Digest + Industry & Geo Digest); new 🧰 K8s menu surfaces the Kubernetes ecosystem (Kubernetes Tools · Helm · Managed K8s · OpenShift · Tutorials). Existing menus grew: ☁️ Cloud += Serverless · FinOps; 🌐 Network += Service Mesh (Istio emoji → ⛵); ⚙️ Ops += IaC · Developer Portals; ⋯ More += Technical Tags · Demos. 38 destinations total across 6 direct pills + 7 Popover menus; chip font trimmed to 0.62rem with tighter gap/padding so all 13 bar chips fit one row down to ~1280px. Verified in Chrome 148 (Playwright): every menu opens below its button, flips near the right edge, and closes on Esc. Cache-bust `?v=2.9.33`; V2-only.
|
||||
|
||||
## [[2.9.32]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.32) - 2026-06-20
|
||||
|
||||
### Fixed
|
||||
- **Quick-nav menus open below their button + fit one row**: Fixed two issues in the v2.9.31 hybrid quick-nav (verified in Chrome 148 via Playwright). (1) The Popover category menus did not visibly open on click — they used `position-area: bottom span-inline-end`, which mixes a physical keyword (`bottom`) with a logical one (`span-inline-end`); that is invalid CSS and silently computed to `none`, leaving the menu in its static position on top of the button. Fixed with a valid all-physical `position-area: bottom span-right` plus explicit `anchor-name` / `position-anchor` pairs per button↔menu, so each menu reliably drops below its trigger and auto-flips near the right edge. (2) The bar wrapped to a second row on common displays — reduced the chip font ~1pt (`0.7rem → 0.64rem`) and trimmed the column-gap/padding so all 7 pills + 5 menus fit a single row down to 1280px viewports. Cache-bust `?v=2.9.32`; V2-only, CSS-only.
|
||||
|
||||
## [[2.9.31]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.31) - 2026-06-20
|
||||
|
||||
### Changed
|
||||
- **Hybrid quick-nav — direct pills + Popover category menus**: Collapsed the 25-destination quick-nav from 3 wrapped rows to a single slim row that stays one row regardless of how many destinations are added. The most-used flagships remain direct one-click pills (Topic Map · Digest · Kubernetes · Docker · GitOps · Terraform · AI & MCP); the long-tail clusters fold into five category menus — ☁️ Cloud, 🌐 Network, 🔐 Security, ⚙️ Ops, ⋯ More — built with the native HTML Popover API + CSS Anchor Positioning (Baseline 2026), zero JS. Menus drop below their button via `position-area` with flip fallbacks, animate in with `@starting-style`, rotate their caret via `:has()`, and inherit the Popover API's built-in Esc / click-outside dismissal and focus management (identical on touch and desktop); `prefers-reduced-motion` honored. All 25 destinations preserved. Touches `docs/overrides/main.html` + `docs/static/v2_elite.css` (cache-bust `?v=2.9.31`); V2-only, no page regeneration.
|
||||
|
||||
## [[2.9.30]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.30) - 2026-06-20
|
||||
|
||||
### Changed
|
||||
- **Quick-nav — networking cluster + DevSecOps**: Grew the quick-nav bar to 25 destinations. Added a new networking cluster after the cloud providers (🌐 Networking · 🕸️ Istio · 🔗 K8s Net) and DevSecOps alongside Security (🔐 Security · 🛡️ DevSecOps), keeping short labels and category grouping. Template-only change to `docs/overrides/main.html` reusing the existing `.nb-quicknav` pill styling — no CSS change, no page regeneration. V2-only.
|
||||
|
||||
## [[2.9.29]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.29) - 2026-06-20
|
||||
|
||||
### Changed
|
||||
- **Quick-nav redesign — centered category-grouped pill chips**: Grew the quick-nav bar to 21 destinations and restyled it as a modern, centered chip bar. Added CI/CD, Ansible, and the three hyperscalers (AWS, Azure, GCP), and reordered every tab into related category clusters with short labels: discovery (Topic Map · Digest · Videos) → platform (Kubernetes · Docker) → delivery (GitOps · CI/CD) → IaC (Terraform · Ansible) → cloud (AWS · Azure · GCP) → security → ops (Observability · SRE · DevOps) → data (Messaging) → AI/ML (AI & MCP · MLOps) → Methodology → V1 Archive (muted). Chip background/border/glow are derived from the theme accent via `color-mix(in srgb, …)` (Chrome 111+) so the bar restyles automatically with the palette; rows are centered (`justify-content: center`) for a balanced multi-row layout, with hover lift, `:focus-visible` outline, `prefers-reduced-motion` support, and a mobile single-row horizontal scroll. Touches `docs/overrides/main.html` + `docs/static/v2_elite.css` (cache-bust `?v=2.9.29`); V2-only, no page regeneration.
|
||||
|
||||
## [[2.9.28]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.28) - 2026-06-20
|
||||
|
||||
### Changed
|
||||
- **Expanded quick-nav bar**: Grew the slim quick-nav bar from 6 to 16 curated one-click destinations, surfacing the principal topics across all of Nubenetes from any page. Added the cloud-native pillars (Kubernetes · Docker · GitOps · Terraform · K8s Security · Observability), the ops disciplines (SRE · DevOps), data/messaging (Message Queue), and MLOps alongside the existing AI & MCP hub. Template-only change to `docs/overrides/main.html` (no CSS change, no page regeneration); reuses the existing `.nb-quicknav__link` styling with `flex-wrap` handling density on narrow viewports. Still under the 18-tab overflow line the bar was designed to avoid. V2-only.
|
||||
|
||||
## [[2.9.27]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.27) - 2026-06-20
|
||||
|
||||
### Added
|
||||
- **Slim quick-nav bar**: A thin horizontal bar below the header on every V2 page with six curated one-click destinations (Topic Map · Intelligence Digest · Video Hub · AI & MCP · Methodology · V1 Archive). These cross-cutting destinations previously only existed as badge cards on the home; the bar makes them persistently reachable from any depth. Implemented by overriding Material's `tabs` block (empty since `navigation.tabs` is disabled) plus `.nb-quicknav` CSS — so it adds persistent shortcuts WITHOUT reintroducing the 18-tab overflow and WITHOUT collapsing the full collapsible left navigation tree. Template/CSS-only (no page regeneration); V2-only.
|
||||
|
||||
## [[2.9.26]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.26) - 2026-06-20
|
||||
|
||||
### Changed
|
||||
- **Collapsible, nested left navigation**: After moving the sections to the left sidebar in 2.9.25, they rendered as a *flat* list of 18 labels with no expand/indent — `navigation.sections` made them non-collapsible group labels and `navigation.prune` stripped the inactive children. Disabled both so the sidebar is now a proper collapsible, nested, indented tree (14 toggles / chevrons, collapsed by default, click to expand). No size penalty (88,213 vs 88,516 bytes per page).
|
||||
|
||||
### Added
|
||||
- **Home section headings**: The V2 home had a single H2, leaving its right-hand "On this page" TOC empty. Added `## Explore the Ecosystem` (badge cards) and `## Trending Now` (Intelligence Digest) alongside the existing `## The Cloud Native Universe We Track`, so the home's right TOC now lists three real sections. Net effect: both side columns are now useful on every page — left = full collapsible directory, right = per-page section map.
|
||||
|
||||
## [[2.9.25]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.25) - 2026-06-20
|
||||
|
||||
### Changed
|
||||
- **V2 navigation: tabs → left sidebar**: The 18 top-level sections were rendered as a horizontal tab bar (`navigation.tabs`), whose labels total ~3300px and overflowed a typical ~1400px laptop viewport — forcing horizontal scroll to reach the right-side dimensions and leaving the left sidebar nearly empty on top-level pages like the home. Disabled `navigation.tabs` (+ `.sticky`) so the sections render in the standard vertical left sidebar: it handles all 18 collapsed sections via normal scroll, stays populated on every page (the home's rendered nav goes from 23 links to the full 178-link tree), and nothing clips. Theme-only change preserved across publishes (the optimizer's nav-sync only rewrites the `nav:` block).
|
||||
|
||||
## [[2.9.24]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.24) - 2026-06-20
|
||||
|
||||
### Added
|
||||
- **Per-page JSON-LD structured data**: Each V2 content page now emits a second JSON-LD block — a schema.org `CollectionPage` tied to the existing `WebSite`/`Organization` `@graph` — carrying the page name, description, URL, and `datePublished` / `dateModified` fed by the `git-revision-date-localized` plugin's raw ISO dates (the creation/last-update dates from 2.9.23). This enables article/collection rich snippets in search results with real freshness dates. Template-only change (`docs/overrides/main.html`), applied at build time; the homepage is skipped (it is already the `WebSite` entity), and JSON is built with `| tojson` for safe escaping.
|
||||
|
||||
## [[2.9.23]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.23) - 2026-06-20
|
||||
|
||||
### Changed
|
||||
- **Richer per-page SEO meta descriptions**: The unique-but-templated descriptions from 2.9.22 now lead with each page's **top-ranked resource names** (long-tail keywords) — e.g. *"Top Kubernetes resources for 2026, AI-ranked: Helm, kube-prometheus and more — curated Cloud Native tools, guides and references."* URL/path-like and emoji-laden titles are filtered out, pages whose top links are all URL-like fall back to the clean template, and the text is capped at ~160 chars on a word boundary. (There is no per-page AI intro to mine, so the page's own top resources are the cleanest source.)
|
||||
|
||||
### Added
|
||||
- **Per-page creation dates**: Enabled `enable_creation_date` on the `git-revision-date-localized` plugin, so every V2 page footer now shows both **Created** and **Last update** — an additional age/freshness signal alongside the last-modified date introduced in 2.9.18.
|
||||
|
||||
## [[2.9.22]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.22) - 2026-06-20
|
||||
|
||||
### Added
|
||||
- **robots.txt**: Added `v2-docs/robots.txt` (deployed at the site root) that allows full crawl and references both the V2 (root) and V1 (`/v1/`) sitemaps — previously the site shipped a `sitemap.xml` with no `robots.txt` pointing at it.
|
||||
|
||||
### Changed
|
||||
- **Unique per-page SEO meta descriptions**: Every V2 page previously fell back to the identical global `site_description`, so ~140 pages shared one `<meta name="description">` (a duplicate-content SEO penalty). `v2_optimizer.py` now emits a unique `description:` front-matter per page — derived from the page title and its strategic dimension — which Material renders as `<meta name="description">` and `og:description`. The Topic Map and Methodology pages get tailored descriptions. The 12 redirect-stub pages were intentionally left untouched (they already 0s meta-refresh redirect with `canonical` pointing at the target, which passes authority better than `noindex`).
|
||||
|
||||
## [[2.9.21]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.21) - 2026-06-20
|
||||
|
||||
### Added
|
||||
- **README database & lifecycle diagrams**: Added two new collapsible Mermaid diagrams — a **Database Architecture** diagram (§6.1.3) detailing the YAML + SQLite coexistence engine (`inventory.sql` Git source-of-truth → in-memory SQLite → `inventory.yaml` mirror, plus the per-resource schema), and a **full Data Lifecycle** diagram (§6.3) tracing a resource from discovery and ingestion through cached maintenance/enrichment to render and deploy, with background garbage collection.
|
||||
|
||||
### Changed
|
||||
- **Grouped, compact Technical Tags Index TOC**: The `tags.md` table of contents was a flat 80-entry numbered list that buried the 8 maturity tags under a long tail of one-resource "X Content" language tags. It is now grouped into *Maturity and Quality* (numbered) plus *Technical Domains* / *Language and Format* (compact, count-sorted inline rows). Generator (`v2_optimizer.py`) now emits unique explicit heading anchors (`{#slug}`) shared by the TOC and section headers — fixing collisions where `C` / `C#` / `C++` all resolved to `#c-content` — corrects the `1 resource` grammar, and filters non-language values (`En`, `Not Applicable`, `Multi-Language`, `Polyglot`, …) that previously created meaningless tag buckets.
|
||||
- **README mermaid legibility & accuracy**: Fixed text overflow in four diagrams (Division of Labor, Agentic Data Flow, Debate Protocol, Deployment Lifecycle) by wrapping long node labels, removed a duplicate edge, and refreshed the V2 feature documentation with the v2.9.16–v2.9.20 work (Topic Map & Methodology pages, per-page last-updated dates, JSON-LD, branded 404, deterministic generated artifacts).
|
||||
|
||||
## [[2.9.20]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.20) - 2026-06-20
|
||||
|
||||
### Fixed
|
||||
- **RSS feed drift fully eliminated**: The 2.9.19 fix derived the feed's `<lastBuildDate>` from `_meta.last_updated`, but that analysis timestamp is bumped on every publish even when the ranked content is unchanged, so `v2-docs/feed.xml` still drifted between `develop` and `master`. `src/rss_generator.py` now derives `lastBuildDate` from the **freshest item's content date** (the items only change when the ranking actually changes), with `_meta.last_updated`/a constant as fallbacks. Verified deterministic across reruns, and the `develop` and `master` digests both yield `2026-06-18` — so `feed.xml` is now byte-identical across branches and no longer spawns no-op promotion diffs.
|
||||
|
||||
## [[2.9.19]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.19) - 2026-06-20
|
||||
|
||||
### Fixed
|
||||
- **Deterministic RSS `lastBuildDate` (residual develop↔master drift)**: `src/rss_generator.py` set the feed's `<lastBuildDate>` to `datetime.utcnow()`, so every republish rewrote it even when the digest was unchanged — leaving a perpetual 1-line diff in `v2-docs/feed.xml` (the last residual after the PR Guardian drift fix in 2.9.18). It now derives the date from the digest's `_meta.last_updated` (the actual analysis timestamp), falling back to the most recent item date then a fixed constant, making the feed a pure function of its input. Verified byte-identical output across repeated runs; the feed now changes only when the digest content actually changes.
|
||||
- **In-page filter no longer injected on Topic Map & Methodology**: The resource search / maturity-tag widget (`static/v2_filter.js`) auto-injects wherever a page has `<ul><li>` items. Topic Map lists category links (with counts) and Methodology lists legend rows — neither carries `.md-tag` maturity tags, so the pills always filtered to zero and the "Showing X of Y resources" counter mis-counted categories/rows as resources. Added both pages to the widget's existing `<h1>`-based skip-list (alongside the home, Video Hub, Tags and Digest pages). Cache-bust `v2_filter.js?v=2.9.19`.
|
||||
|
||||
## [[2.9.18]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.18) - 2026-06-20
|
||||
|
||||
### Added
|
||||
- **Per-page "Last update" dates (SEO freshness)**: Enabled the `git-revision-date-localized` MkDocs plugin on the V2 portal, surfacing a real last-modified date on every page. Added the dependency to `requirements.txt`, configured it in `v2-mkdocs.yml` (`type: date`, `fallback_to_build_date: true` so a missing git history never fails the build), and set `fetch-depth: 0` on the `06.deploy_final.yml` checkout so the plugin reads full history instead of collapsing every page to the build date.
|
||||
- **JSON-LD structured data**: Injected schema.org `WebSite` (with a sitelinks `SearchAction`) + publishing `Organization` markup via an `extrahead` block in `docs/overrides/main.html`, making the canonical `nubenetes.com` root eligible for richer search results and knowledge-panel association. Validated: build exits 0 and the emitted JSON-LD parses to `[WebSite, Organization]`.
|
||||
|
||||
### Fixed
|
||||
- **`develop ↔ master` cosmetic drift loop (recurring no-op release PRs)**: The PR Guardian (`07.1.pr_guardian.yml` → `src/pr_guardian.py`) ran its auto-formatter ("&"→"and" in headings, URL trailing-slash/tracking-param stripping) on every changed `.md` — including the **generated** `v2-docs/` tree — and committed the result back to the PR branch. Because feature PRs land on `develop` (Guardian runs) but release branches merge to `master` via plain `git merge` (Guardian does not run), `develop` accumulated the normalized form while `master` kept the generator's raw form, producing a perpetual cosmetic diff that spawned recurring no-op "🚀 Release: Agentic V2 Portal Update" PRs (e.g. #399). Since `v2_optimizer.py` is the single source of truth for `v2-docs/` formatting, the Guardian now skips that tree in its auto-format loop and drops it from the auto-commit `git add`; hand-authored `docs/` and `README`/`inventory` are unaffected.
|
||||
|
||||
## [[2.9.17]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.17) - 2026-06-20
|
||||
|
||||
### Fixed
|
||||
- **Topic Map heading increment (MD001 lint failure)**: The new `topic-map.md` page emitted its per-dimension headings as `###` (h3) directly under the page `#` (h1) title, skipping h2. This tripped `markdownlint` **MD001/heading-increment**, turning the `07.2. Markdown Linter` workflow red on both `develop` and `master` right after the v2.9.16 release. Fixed the generator (`v2_optimizer.py`) and the committed page to emit dimensions as `##` (h2), and updated the CSS selector to `.topic-map-dim h2`. As a bonus, the h2 dimensions now populate the right-hand "On this page" TOC with a clean per-dimension index. Verified with the exact CI `markdownlint` config (0 errors); cache-bust bumped to `?v=2.9.17`.
|
||||
|
||||
## [[2.9.16]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.16) - 2026-06-20
|
||||
|
||||
### Added
|
||||
|
||||
@@ -135,14 +135,14 @@ Additionally, as of May 2026, Nubenetes has reached the **Platinum Operational T
|
||||
## 2. Repository Metrics and Evolution
|
||||
|
||||
### 2.1. The "Heart" of Nubenetes
|
||||
(Stats as of 2026-06-19)
|
||||
(Stats as of 2026-06-20)
|
||||
|
||||
<!-- HEART_STATS_START -->
|
||||
| Metric | Value |
|
||||
| :--- | :--- |
|
||||
| **Total Technical Resources (Links)** | **18647+** |
|
||||
| **Specialized MD Pages** | **162** |
|
||||
| **Total Commits** | **6209+** |
|
||||
| **Total Commits** | **6359+** |
|
||||
| **Primary AI Engine** | **Google Gemini (Agentic)** |
|
||||
<!-- HEART_STATS_END -->
|
||||
|
||||
@@ -180,7 +180,7 @@ The growth of Nubenetes reflects the acceleration of the Cloud Native ecosystem.
|
||||
| 6 | 2023 | 30 | 123 | Maintenance & Refinement |
|
||||
| 7 | 2024 | 53 | 218 | Curation Strategy Pivot |
|
||||
| 8 | 2025 | 5 | 20 | Stability & Research Phase |
|
||||
| 9 | 2026 | 2650 | 10,944 | **Agentic AI Surge** (May 2026 Inception) |
|
||||
| 9 | 2026 | 2800 | 11,564 | **Agentic AI Surge** (May 2026 Inception) |
|
||||
<!-- ANNUAL_GROWTH_END -->
|
||||
|
||||
<!-- ANNUAL_CHART_START -->
|
||||
@@ -195,9 +195,9 @@ config:
|
||||
xychart-beta
|
||||
title "Nubenetes Annual Growth Metrics (2018–2026)"
|
||||
x-axis ["2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025", "2026"]
|
||||
y-axis "Volume (Commits / Estimated New Refs)" 0 --> 11000
|
||||
bar [1445, 586, 8449, 2193, 1660, 123, 218, 20, 10944]
|
||||
bar [350, 142, 2046, 531, 402, 30, 53, 5, 2650]
|
||||
y-axis "Volume (Commits / Estimated New Refs)" 0 --> 12000
|
||||
bar [1445, 586, 8449, 2193, 1660, 123, 218, 20, 11564]
|
||||
bar [350, 142, 2046, 531, 402, 30, 53, 5, 2800]
|
||||
```
|
||||
<!-- ANNUAL_CHART_END -->
|
||||
|
||||
@@ -207,7 +207,7 @@ xychart-beta
|
||||
| :--- | :---: | :---: | :--- |
|
||||
| 2026-04 | 25 | 103 | Active Curation |
|
||||
| 2026-05 | 2101 | 8,677 | **Agentic Inception (Gemini Era)** |
|
||||
| 2026-06 | 524 | 2,164 | Active Curation |
|
||||
| 2026-06 | 674 | 2,783 | Active Curation |
|
||||
<!-- MONTHLY_SURGE_END -->
|
||||
|
||||
### 2.4. Content Distribution and Semantic Clustering
|
||||
@@ -350,9 +350,9 @@ Nubenetes partitions AI Agent tasks between the automated cloud pipeline and loc
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A["awesome-kubernetes Repository"] --> B["GEMINI.md<br>(Curation & Data Mandates)"]
|
||||
A --> C[".gemini/skills/awesome-kubernetes-ops/SKILL.md<br>(Local Dev Operations Guide)"]
|
||||
|
||||
A["awesome-kubernetes Repository"] --> B["GEMINI.md<br>(Curation and Data Mandates)"]
|
||||
A --> C[".gemini/skills/<br>awesome-kubernetes-ops/SKILL.md<br>(Local Dev Operations Guide)"]
|
||||
|
||||
B --> D["Cloud Automation<br>(GitHub Actions runner)"]
|
||||
B --> E["Local Workspace<br>(Antigravity Coding Session)"]
|
||||
|
||||
@@ -443,6 +443,15 @@ The V2 portal includes an **AI-powered Intelligence Digest** system that surface
|
||||
- **Clean URLs enforced**: Both V1 and V2 use `use_directory_urls: true` producing SEO-friendly URLs (e.g., `/kubernetes/` not `/kubernetes.html`).
|
||||
- **Offline plugin permanently removed**: The MkDocs `offline` plugin forces `.html` suffixes on all URLs, breaking thousands of existing deep-links and SEO authority. It is explicitly forbidden in both `CLAUDE.md` and `GEMINI.md` mandates.
|
||||
|
||||
#### V2 Home Restructure and SEO (v2.9.16–v2.9.20)
|
||||
- **Category-first landing page**: The home leads with the dynamic **Trending Now / Intelligence Digest**, followed by the signature YouTube mosaic (now framed under a *"The Cloud Native Universe We Track"* heading with **visible per-group category labels** and `loading="lazy"` on its ~150 logos).
|
||||
- **Topic Map page** ([`topic-map.md`](v2-docs/topic-map.md)): The complete category directory grouped by strategic dimension in a **responsive multi-column CSS grid**, with a **per-category resource count** derived from a recursive walk of each category's link tree. Replaces the long flat "Strategic Dimensions" list that previously bloated the home.
|
||||
- **Methodology page** ([`methodology.md`](v2-docs/methodology.md)): The Maturity Taxonomy and Technical Impact (star-score) legend tables, moved off the home into a dedicated reference page.
|
||||
- **Per-page "Last update" dates**: The `git-revision-date-localized` plugin surfaces a real last-modified date on every page (freshness signal for SEO and readers); the deploy checkout uses `fetch-depth: 0` for full history.
|
||||
- **JSON-LD structured data**: schema.org `WebSite` (with a sitelinks `SearchAction`) + publishing `Organization` markup injected via `docs/overrides/main.html` for richer search results.
|
||||
- **Branded 404 page** and **privacy-friendly video embeds** (`youtube-nocookie.com` + lazy-loading + responsive `aspect-ratio` wrapper).
|
||||
- **Deterministic generated artifacts**: the RSS feed's `lastBuildDate` derives from item content dates (not wall-clock), and the PR Guardian no longer auto-formats the generated `v2-docs/` tree — both eliminating spurious `develop ↔ master` churn.
|
||||
|
||||
### 5.3. Architecture Comparison Matrix: V1 vs. V2
|
||||
To better understand the dual-nature of the project, the following matrix details the technical and philosophical differences between the two editions:
|
||||
|
||||
@@ -550,6 +559,41 @@ To guarantee backward compatibility and Git efficiency, the system operates on a
|
||||
* **Structural Intelligence**: `hierarchy` (Recursive JSON list), `tags` (JSON list), `v1_locations`, `v2_locations`, `youtube_mosaic` (JSON dict).
|
||||
* **Platinum Lifecycle**: `content_hash` (SHA256 fingerprint), `health_score` (0-100), `source_provenance`, `social_preview_url`, `mentions_count`, `addition_method`.
|
||||
|
||||
#### 6.1.3. Database Architecture Diagram (YAML + SQLite Coexistence)
|
||||
The following diagram details the dual-format storage engine: the flat `inventory.sql` text file is the Git source of truth, compiled into an in-memory SQLite database at runtime for relational queries, then decompiled back on save and mirrored to `inventory.yaml` for backward-compatible, high-speed parsing.
|
||||
|
||||
<details><summary>🗺️ <b>View Database Architecture Diagram</b></summary>
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph GIT["Git Source of Truth (versioned · 1 line per resource)"]
|
||||
SQL["data/inventory.sql<br/>flat SQL text"]
|
||||
YAML["data/inventory.yaml<br/>backward-compatible mirror"]
|
||||
end
|
||||
|
||||
SQL -->|"compile on load"| MEM[("In-memory SQLite<br/>relational schema + SQL queries")]
|
||||
MEM -->|"iterdump() on save"| SQL
|
||||
MEM -->|"dual-save sync"| YAML
|
||||
YAML -->|"CSafeLoader / CSafeDumper<br/>native C speed (10-20x)"| PARSE["Python consumers<br/>v2_optimizer · reorganize_mosaic<br/>safety_guard"]
|
||||
AI["Gemini AI agents"] -->|"JSON messages in / out"| MEM
|
||||
|
||||
subgraph SCHEMA["Per-resource record — url = Primary Key"]
|
||||
CORE["Core<br/>title · year · stars 0-5<br/>description V1 · ai_summary V2 · category"]
|
||||
STRUCT["Structural<br/>hierarchy JSON · tags JSON<br/>v1/v2_locations · youtube_mosaic JSON"]
|
||||
PLAT["Platinum lifecycle<br/>content_hash SHA256 · health_score<br/>discovered_at · last_ai_eval · addition_method"]
|
||||
end
|
||||
|
||||
MEM -.->|"defines"| CORE
|
||||
MEM -.->|"defines"| STRUCT
|
||||
MEM -.->|"defines"| PLAT
|
||||
|
||||
style SQL fill:#bbf,stroke:#333,stroke-width:2px
|
||||
style MEM fill:#f96,stroke:#333,stroke-width:2px
|
||||
style YAML fill:#86efac,stroke:#333,stroke-width:2px
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
### 6.2. The 'Database-First' Reasoning Protocol (Zero-Redundancy)
|
||||
To maximize economic efficiency and maintain the **30-minute execution standard**, all AI agents follow a **Database-First** and **Zero-Redundancy** protocol:
|
||||
1. **Local Lookup**: Before initiating any Gemini call, the agent queries the compiled SQLite/SQL database to see if the URL is already indexed.
|
||||
@@ -561,7 +605,48 @@ To maximize economic efficiency and maintain the **30-minute execution standard*
|
||||
7. **Mandatory Persistence**: Modified databases are automatically injected into Pull Requests, ensuring that "System Memory" is version-controlled and shared across all workflows.
|
||||
|
||||
### 6.3. Database Lifecycle and Hygiene
|
||||
To maintain a high-performance "Single Source of Truth", Nubenetes implements automated hygiene protocols:
|
||||
To maintain a high-performance "Single Source of Truth", Nubenetes implements automated hygiene protocols. The diagram below traces a resource's full lifecycle — from autonomous discovery and ingestion, through incremental (cached) maintenance and enrichment, to rendering and deployment — with continuous background garbage collection.
|
||||
|
||||
<details><summary>🗺️ <b>View Full Data Lifecycle Diagram</b></summary>
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph S1["1 · Discovery and Ingestion"]
|
||||
SRC["X.com · RSS · GitHub Trending<br/>autonomous source discovery"] --> CUR["Agentic Curator<br/>dedup · vaporware filter · scoring"]
|
||||
end
|
||||
CUR -->|"new resources"| DB[("Unified DB<br/>inventory.sql + inventory.yaml")]
|
||||
|
||||
subgraph S2["2 · Maintenance and Enrichment (incremental + cached)"]
|
||||
HEALTH["Health Monitor<br/>200 OK · rescue 404s"]
|
||||
META["Metadata Engine<br/>GitHub stars · license · CNCF status"]
|
||||
AIEVAL["AI Curator<br/>summary · hierarchy · tags · debate"]
|
||||
DRIFT["Drift and Staleness<br/>SHA256 · re-eval after 6 months"]
|
||||
end
|
||||
DB <--> HEALTH
|
||||
DB <--> META
|
||||
DB <--> AIEVAL
|
||||
DB <--> DRIFT
|
||||
|
||||
subgraph S3["3 · Render"]
|
||||
DB -->|"surgical line edits"| V1["V1 Archive<br/>docs/"]
|
||||
DB -->|"elite selection + rebuild"| V2["V2 Portal<br/>v2-docs/"]
|
||||
DB --> AUX["RSS feed · digest<br/>README metrics"]
|
||||
end
|
||||
|
||||
subgraph S4["4 · Publish and Deploy"]
|
||||
V1 --> REL["develop → master<br/>tag + GitHub Release"]
|
||||
V2 --> REL
|
||||
REL --> PAGES["Native GH Pages<br/>nubenetes.com"]
|
||||
end
|
||||
|
||||
GC["Bi-monthly GC<br/>orphan pruning · audit log"] -.->|"hygiene"| DB
|
||||
|
||||
style DB fill:#f96,stroke:#333,stroke-width:2px
|
||||
style PAGES fill:#86efac,stroke:#333,stroke-width:2px
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
- **Universal Rescue Protocol (The Resurrection Rule)**: For ALL technical resources, the engine refuses to delete a link immediately upon a 404 or generic redirect. Instead, it triggers a "Technical Resurrection" cycle using **Real-time Web Grounding** to identify specific paths on destination domains. This is essential for preserving legendary content during massive corporate site migrations (e.g., **Nginx** to **F5**, or the **Ansible Blog** move to personal domains).
|
||||
- **High-Value Preservation (The 'Review Required' Rule)**: Resources identified as **High-Value** (marked with 🌟 or bold formatting) are exempt from automatic deletion. If rescue fails, they are marked as `status: review_required` for manual verification, ensuring no significant technical assets are lost during autonomous cleaning.
|
||||
|
||||
@@ -761,10 +846,10 @@ graph TD
|
||||
end
|
||||
|
||||
subgraph "Agentic Tiering and Debate (Multi-Agent)"
|
||||
AA["Analyst Agent (Flash)"]
|
||||
AV["Auditor Agent (Pro)"]
|
||||
MCP[["MCP Grounding (Search)"]]
|
||||
DBT["Consensus and Debate (Flash and Pro)"]
|
||||
AA["Analyst Agent<br/>(Flash)"]
|
||||
AV["Auditor Agent<br/>(Pro)"]
|
||||
MCP[["MCP Grounding<br/>(Search)"]]
|
||||
DBT["Consensus and Debate<br/>(Flash and Pro)"]
|
||||
end
|
||||
|
||||
AC -->|"Raw Discovery"| AA
|
||||
@@ -876,19 +961,19 @@ To eliminate individual LLM rating bias, resolve borderline cases, and prevent a
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A["New Resource Found"] --> FP["Fast-Pass Evaluator (Flash)"]
|
||||
FP -->|Confident Score Outside 60-75| G["Accept / Reject Directly"]
|
||||
FP -->|Borderline Score 60-75| B["Persona 1: Security Architect"]
|
||||
FP -->|Borderline Score 60-75| C["Persona 2: Cloud Native SRE"]
|
||||
FP -->|Borderline Score 60-75| D["Persona 3: AI Platform Engineer"]
|
||||
B --> E["Independent expert Evaluations"]
|
||||
A["New Resource Found"] --> FP["Fast-Pass Evaluator<br/>(Flash)"]
|
||||
FP -->|Confident Score Outside 60-75| G["Accept /<br/>Reject Directly"]
|
||||
FP -->|Borderline Score 60-75| B["Persona 1:<br/>Security Architect"]
|
||||
FP -->|Borderline Score 60-75| C["Persona 2:<br/>Cloud Native SRE"]
|
||||
FP -->|Borderline Score 60-75| D["Persona 3:<br/>AI Platform Engineer"]
|
||||
B --> E["Independent Expert<br/>Evaluations"]
|
||||
C --> E
|
||||
D --> E
|
||||
E -->|Expert Scores Diverge >= 15 points| F["Trigger Debate Round"]
|
||||
E -->|Expert Scores Diverge >= 15 points| F["Trigger<br/>Debate Round"]
|
||||
E -->|Expert Scores Converge| G
|
||||
F --> H["Round-Robin Discussion: Argue Pros and Cons"]
|
||||
H --> I["Consensus Reached and Final Score Assigned"]
|
||||
I --> J["Save Decision to Persistent Memory JSON"]
|
||||
F --> H["Round-Robin Discussion:<br/>Argue Pros and Cons"]
|
||||
H --> I["Consensus Reached and<br/>Final Score Assigned"]
|
||||
I --> J["Save Decision to<br/>Persistent Memory JSON"]
|
||||
G --> J
|
||||
```
|
||||
|
||||
@@ -1079,11 +1164,10 @@ graph LR
|
||||
B --> D["V2 Vision Engine"]
|
||||
B --> Z["README Sync"]
|
||||
D --> E["V2 Update (develop)"]
|
||||
M["Sync to 'master'"] --> C["Pip Cache & CI/CD Build"]
|
||||
M["Sync to 'master'"] --> C["Pip Cache and<br/>CI/CD Build"]
|
||||
C --> F["Upload Pages Artifact"]
|
||||
F --> G["Native Deploy: V1 (Root/SEO), V2 (/v2/), V1 Fallback (/v1/)"]
|
||||
G --> H["Inject Root Redirect to /v2/"]
|
||||
Z --> B
|
||||
F --> G["Native Deploy:<br/>V1 (Root/SEO) · V2 (/v2/)<br/>· V1 Fallback (/v1/)"]
|
||||
G --> H["Inject Root<br/>Redirect to /v2/"]
|
||||
Z --> B
|
||||
```
|
||||
|
||||
|
||||
+516
-516
File diff suppressed because it is too large
Load Diff
+2064
File diff suppressed because it is too large
Load Diff
@@ -7440,6 +7440,6 @@
|
||||
"method": "fallback_small"
|
||||
}
|
||||
},
|
||||
"last_updated": "2026-06-19T19:39:37.292712+02:00"
|
||||
"last_updated": "2026-06-20T16:31:41.476968+02:00"
|
||||
}
|
||||
}
|
||||
@@ -3,3 +3,184 @@
|
||||
{% 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.
|
||||
|
||||
Direct pills: Topic Map · Kubernetes · Docker · GitOps · Terraform · AI & MCP
|
||||
Menus: Digest (Tech · Industry) · K8s (Tools · Helm · Managed · OpenShift · Tutorials)
|
||||
· Cloud (AWS · Azure · GCP · Serverless · FinOps)
|
||||
· Network (Networking · Istio · Service Mesh · K8s Net)
|
||||
· Security (K8s Security · DevSecOps)
|
||||
· Ops (CI/CD · IaC · Observability · SRE · DevOps · Dev Portals)
|
||||
· More (Tags · Demos · Videos · Ansible · Messaging · MLOps · Methodology · V1)
|
||||
-#}
|
||||
{% 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>
|
||||
<a class="nb-quicknav__link" href="/kubernetes/">☸️ Kubernetes</a>
|
||||
<a class="nb-quicknav__link" href="/docker/">🐳 Docker</a>
|
||||
<a class="nb-quicknav__link" href="/gitops/">🔄 GitOps</a>
|
||||
<a class="nb-quicknav__link" href="/terraform/">🏗️ Terraform</a>
|
||||
<a class="nb-quicknav__link" href="/ai-agents-mcp/">🤖 AI & MCP</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 & Cloud Digest</a>
|
||||
<a href="/industry-digest/">🌍 Industry & Geo Digest</a>
|
||||
</div>
|
||||
</span>
|
||||
|
||||
<span class="nb-quicknav__group">
|
||||
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-k8s" type="button">🧰 K8s <span class="nb-quicknav__caret" aria-hidden="true">▾</span></button>
|
||||
<div class="nb-quicknav__menu" id="nb-pop-k8s" popover>
|
||||
<a href="/kubernetes-tools/">🧰 Kubernetes Tools</a>
|
||||
<a href="/helm/">📦 Helm</a>
|
||||
<a href="/managed-kubernetes-in-public-cloud/">☁️ Managed K8s</a>
|
||||
<a href="/openshift/">🎩 OpenShift</a>
|
||||
<a href="/kubernetes-tutorials/">🎓 Tutorials</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>
|
||||
<a href="/aws/">☁️ AWS</a>
|
||||
<a href="/azure/">☁️ Azure</a>
|
||||
<a href="/GoogleCloudPlatform/">☁️ GCP</a>
|
||||
<a href="/serverless/">⚡ Serverless</a>
|
||||
<a href="/finops/">💰 FinOps</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>
|
||||
</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>
|
||||
</div>
|
||||
</span>
|
||||
|
||||
<span class="nb-quicknav__group">
|
||||
<button class="nb-quicknav__link nb-quicknav__btn" popovertarget="nb-pop-ops" type="button">⚙️ Ops <span class="nb-quicknav__caret" aria-hidden="true">▾</span></button>
|
||||
<div class="nb-quicknav__menu" id="nb-pop-ops" popover>
|
||||
<a href="/cicd/">🚀 CI/CD</a>
|
||||
<a href="/iac/">📜 IaC</a>
|
||||
<a href="/monitoring/">📈 Observability</a>
|
||||
<a href="/sre/">🛠️ SRE</a>
|
||||
<a href="/devops/">♾️ DevOps</a>
|
||||
<a href="/developerportals/">🏛️ Developer Portals</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="/ansible/">📋 Ansible</a>
|
||||
<a href="/message-queue/">📨 Messaging</a>
|
||||
<a href="/mlops/">🧠 MLOps</a>
|
||||
<a href="/methodology/">📐 Methodology</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 %}
|
||||
|
||||
Vendored
+176
-1
@@ -1226,8 +1226,183 @@ input[type="text"] {
|
||||
width: 100%;
|
||||
margin: 0 0 1.4rem;
|
||||
}
|
||||
.topic-map-dim h3 {
|
||||
.topic-map-dim h2 {
|
||||
margin-top: 0;
|
||||
font-size: 1.05rem;
|
||||
}
|
||||
|
||||
/* ===================================================================
|
||||
Slim quick-nav bar (rendered in the theme `tabs` block, below header)
|
||||
Persistent one-click access to key destinations on every page.
|
||||
=================================================================== */
|
||||
.nb-quicknav {
|
||||
background: var(--md-header-bg-color);
|
||||
border-bottom: 1px solid color-mix(in srgb, var(--md-accent-fg-color) 22%, transparent);
|
||||
}
|
||||
.nb-quicknav__inner {
|
||||
max-width: 1600px;
|
||||
margin-inline: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
justify-content: center; /* centered rows read as a balanced command bar */
|
||||
gap: 0.4rem 0.32rem;
|
||||
padding-block: 0.5rem;
|
||||
padding-inline: 0.7rem;
|
||||
}
|
||||
.nb-quicknav__link {
|
||||
/* chip colors derived from the theme accent via color-mix (Chrome 111+) */
|
||||
--nb-chip-bg: color-mix(in srgb, var(--md-accent-fg-color) 8%, transparent);
|
||||
--nb-chip-bd: color-mix(in srgb, var(--md-accent-fg-color) 18%, transparent);
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.3em;
|
||||
color: rgba(255, 255, 255, 0.82) !important;
|
||||
text-decoration: none;
|
||||
font-size: 0.62rem; /* sized so all pills + menus fit one row down to ~1280px */
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.01em;
|
||||
white-space: nowrap;
|
||||
padding: 0.22rem 0.55rem;
|
||||
border-radius: 999px;
|
||||
background: var(--nb-chip-bg);
|
||||
border: 1px solid var(--nb-chip-bd);
|
||||
transition: background 0.18s ease, border-color 0.18s ease,
|
||||
color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
|
||||
}
|
||||
.nb-quicknav__link:hover {
|
||||
color: #fff !important;
|
||||
background: color-mix(in srgb, var(--md-accent-fg-color) 32%, transparent);
|
||||
border-color: var(--md-accent-fg-color);
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 2px 10px color-mix(in srgb, var(--md-accent-fg-color) 40%, transparent);
|
||||
}
|
||||
.nb-quicknav__link:focus-visible {
|
||||
outline: 2px solid var(--md-accent-fg-color);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
.nb-quicknav__link--muted {
|
||||
opacity: 0.6;
|
||||
}
|
||||
.nb-quicknav__link--muted:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* ── Category menus: native Popover API + CSS Anchor Positioning (Baseline 2026)
|
||||
The long-tail clusters collapse behind category buttons so the bar stays one
|
||||
row. Opening is click-driven via the Popover API (free Esc / click-outside
|
||||
dismissal + focus management); zero JS. ── */
|
||||
.nb-quicknav__group {
|
||||
display: inline-flex;
|
||||
}
|
||||
/* thin divider between the direct pills and the category menus */
|
||||
.nb-quicknav__group:first-of-type {
|
||||
margin-inline-start: 0.3rem;
|
||||
padding-inline-start: 0.55rem;
|
||||
border-inline-start: 1px solid color-mix(in srgb, var(--md-accent-fg-color) 18%, transparent);
|
||||
}
|
||||
.nb-quicknav__btn {
|
||||
font-family: inherit;
|
||||
cursor: pointer;
|
||||
}
|
||||
.nb-quicknav__caret {
|
||||
font-size: 0.85em;
|
||||
opacity: 0.75;
|
||||
transition: transform 0.18s ease;
|
||||
}
|
||||
.nb-quicknav__group:has(.nb-quicknav__menu:popover-open) .nb-quicknav__caret {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
/* Explicit anchor pairing per button↔menu — do NOT rely on the popover's
|
||||
implicit anchor (it isn't established reliably, leaving the menu in its
|
||||
static position over the button). */
|
||||
[popovertarget="nb-pop-digest"] { anchor-name: --nb-a-digest; }
|
||||
#nb-pop-digest { position-anchor: --nb-a-digest; }
|
||||
[popovertarget="nb-pop-k8s"] { anchor-name: --nb-a-k8s; }
|
||||
#nb-pop-k8s { position-anchor: --nb-a-k8s; }
|
||||
[popovertarget="nb-pop-cloud"] { anchor-name: --nb-a-cloud; }
|
||||
#nb-pop-cloud { position-anchor: --nb-a-cloud; }
|
||||
[popovertarget="nb-pop-net"] { anchor-name: --nb-a-net; }
|
||||
#nb-pop-net { position-anchor: --nb-a-net; }
|
||||
[popovertarget="nb-pop-sec"] { anchor-name: --nb-a-sec; }
|
||||
#nb-pop-sec { position-anchor: --nb-a-sec; }
|
||||
[popovertarget="nb-pop-ops"] { anchor-name: --nb-a-ops; }
|
||||
#nb-pop-ops { position-anchor: --nb-a-ops; }
|
||||
[popovertarget="nb-pop-more"] { anchor-name: --nb-a-more; }
|
||||
#nb-pop-more { position-anchor: --nb-a-more; }
|
||||
.nb-quicknav__menu {
|
||||
inset: auto; /* reset the UA-centered popover defaults */
|
||||
margin: 0;
|
||||
/* drop below the invoking button, left-aligned. NB: position-area values must
|
||||
be all-physical or all-logical — mixing (e.g. `bottom span-inline-end`) is
|
||||
invalid and silently computes to `none`, leaving the menu over the button. */
|
||||
position-area: bottom span-right;
|
||||
position-try-fallbacks: flip-block, flip-inline; /* auto-flip near edges */
|
||||
margin-block-start: 0.45rem;
|
||||
min-width: 9.5rem;
|
||||
padding: 0.35rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.1rem;
|
||||
border: 1px solid color-mix(in srgb, var(--md-accent-fg-color) 30%, transparent);
|
||||
border-radius: 0.6rem;
|
||||
background: color-mix(in srgb, var(--md-header-bg-color) 86%, #000);
|
||||
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
|
||||
/* entry/exit animation across the display toggle */
|
||||
opacity: 0;
|
||||
transform: translateY(-4px);
|
||||
transition: opacity 0.16s ease, transform 0.16s ease,
|
||||
overlay 0.16s allow-discrete, display 0.16s allow-discrete;
|
||||
}
|
||||
.nb-quicknav__menu:popover-open {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
@starting-style {
|
||||
.nb-quicknav__menu:popover-open {
|
||||
opacity: 0;
|
||||
transform: translateY(-4px);
|
||||
}
|
||||
}
|
||||
.nb-quicknav__menu a {
|
||||
display: block;
|
||||
padding: 0.34rem 0.6rem;
|
||||
border-radius: 0.4rem;
|
||||
color: rgba(255, 255, 255, 0.86);
|
||||
text-decoration: none;
|
||||
font-size: 0.72rem;
|
||||
font-weight: 600;
|
||||
white-space: nowrap;
|
||||
transition: background 0.14s ease, color 0.14s ease;
|
||||
}
|
||||
.nb-quicknav__menu a:hover,
|
||||
.nb-quicknav__menu a:focus-visible {
|
||||
background: color-mix(in srgb, var(--md-accent-fg-color) 30%, transparent);
|
||||
color: #fff;
|
||||
outline: none;
|
||||
}
|
||||
.nb-quicknav__menu-muted {
|
||||
opacity: 0.62;
|
||||
margin-block-start: 0.15rem;
|
||||
padding-block-start: 0.42rem !important;
|
||||
border-block-start: 1px solid rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.nb-quicknav__link,
|
||||
.nb-quicknav__caret,
|
||||
.nb-quicknav__menu { transition: none; }
|
||||
.nb-quicknav__link:hover { transform: none; }
|
||||
}
|
||||
/* On phones the left drawer already exposes navigation; one scrollable row. */
|
||||
@media screen and (max-width: 44.9375em) {
|
||||
.nb-quicknav__inner {
|
||||
flex-wrap: nowrap;
|
||||
justify-content: flex-start;
|
||||
overflow-x: auto;
|
||||
scrollbar-width: none; /* Firefox */
|
||||
}
|
||||
.nb-quicknav__inner::-webkit-scrollbar { display: none; } /* WebKit/Blink */
|
||||
}
|
||||
.topic-map-dim ul {
|
||||
margin-top: 0.3rem;
|
||||
|
||||
Vendored
+7
-1
@@ -27,7 +27,13 @@
|
||||
h1.textContent.includes("Nubenetes Elite Portal (V2)") ||
|
||||
h1.textContent.includes("Agentic Video Hub") ||
|
||||
h1.textContent.includes("Technical Tags Index") ||
|
||||
h1.textContent.includes("Intelligence Digest")
|
||||
h1.textContent.includes("Intelligence Digest") ||
|
||||
// Topic Map / Methodology list categories and legend rows, not
|
||||
// tagged resources: their <li> items carry no .md-tag, so the
|
||||
// maturity pills would always filter to zero and the "X of Y
|
||||
// resources" count is misleading. Skip them.
|
||||
h1.textContent.includes("Topic Map") ||
|
||||
h1.textContent.includes("Methodology")
|
||||
)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -5,3 +5,4 @@ youtube-transcript-api
|
||||
mkdocs-redirects>=1.2.3
|
||||
mkdocs-minify-plugin>=0.8.0
|
||||
mkdocs-rss-plugin>=1.15.0
|
||||
mkdocs-git-revision-date-localized-plugin>=1.3.0
|
||||
|
||||
+7
-1
@@ -95,7 +95,13 @@ def main():
|
||||
files = pr.get_files()
|
||||
modified_files = [f.filename for f in files if f.status in ["modified", "added"]]
|
||||
for filepath in modified_files:
|
||||
if filepath.endswith(".md"):
|
||||
# The v2-docs/ tree is generated by src/v2_optimizer.py, which is its
|
||||
# single source of truth for formatting. Auto-formatting it here
|
||||
# ("&"->"and" in headings, URL trailing-slash stripping) only fights
|
||||
# the generator: the rewrite lands on develop via the PR while master
|
||||
# gets the generator's raw form via release merges, producing a
|
||||
# perpetual cosmetic develop<->master drift. Skip the generated tree.
|
||||
if filepath.endswith(".md") and not filepath.startswith("v2-docs/"):
|
||||
auto_format_file(filepath)
|
||||
except Exception as e:
|
||||
print(f"Warning: Failed to fetch files for auto-formatting: {e}")
|
||||
|
||||
+22
-1
@@ -61,7 +61,28 @@ def generate_rss() -> None:
|
||||
)
|
||||
items = items[:ITEMS_PER_FEED]
|
||||
|
||||
build_date = _rfc822(datetime.utcnow())
|
||||
# Deterministic build date = the freshest item's content date, so the feed
|
||||
# is a pure function of its items. (This used wall-clock now() — rewritten on
|
||||
# every republish — then _meta.last_updated, but that analysis timestamp is
|
||||
# itself bumped on each publish even when the ranked content is unchanged, so
|
||||
# the feed still drifted between develop and master. The item dates only move
|
||||
# when the content actually changes.) Falls back to _meta.last_updated, then
|
||||
# a fixed constant, only when no item carries a parseable date.
|
||||
item_dates = []
|
||||
for _it in items:
|
||||
try:
|
||||
item_dates.append(datetime.strptime(_it.get("date", ""), "%Y-%m-%d"))
|
||||
except Exception:
|
||||
pass
|
||||
if item_dates:
|
||||
build_dt = max(item_dates)
|
||||
else:
|
||||
meta_updated = digest.get("_meta", {}).get("last_updated", "")
|
||||
try:
|
||||
build_dt = datetime.fromisoformat(meta_updated) if meta_updated else datetime(2026, 1, 1)
|
||||
except Exception:
|
||||
build_dt = datetime(2026, 1, 1)
|
||||
build_date = _rfc822(build_dt)
|
||||
|
||||
lines = [
|
||||
'<?xml version="1.0" encoding="UTF-8"?>',
|
||||
|
||||
+206
-22
@@ -42,7 +42,7 @@ class V2VisionEngine:
|
||||
"Architectural Foundations": ["introduction", "faq", "kubernetes", "linux", "git", "cloud-arch-diagrams", "matrix-table", "other-awesome-lists", "about"],
|
||||
"Platform & Site Reliability": ["sre", "devops", "developerportals", "scaffolding", "finops", "chaos-engineering", "performance-testing-with-jenkins-and-jmeter", "project-management-methodology", "project-management-tools", "qa", "test-automation-frameworks", "testops"],
|
||||
"Hardened Infrastructure": ["iac", "terraform", "pulumi", "crossplane", "ansible", "securityascode", "kubernetes-security", "aws-security", "devsecops", "kustomize", "liquibase"],
|
||||
"Cloud Providers (Hyperscalers)": ["aws", "azure", "GoogleCloudPlatform", "ibm_cloud", "oraclecloud", "digitalocean", "cloudflare", "managed-kubernetes-in-public-cloud", "public-cloud-solutions", "edge-computing", "aws-architecture", "aws-security", "aws-networking", "aws-databases", "aws-storage", "aws-monitoring", "aws-iac", "aws-tools-scripts", "aws-messaging", "aws-data", "aws-devops", "aws-serverless", "aws-containers", "aws-backup", "aws-training", "aws-newfeatures", "aws-miscellaneous", "aws-pricing"],
|
||||
"Cloud Providers (Hyperscalers)": ["aws", "azure", "GoogleCloudPlatform", "ibm_cloud", "oraclecloud", "digitalocean", "cloudflare", "managed-kubernetes-in-public-cloud", "public-cloud-solutions", "edge-computing", "aws-security", "aws-networking", "aws-storage", "aws-iac", "aws-serverless", "aws-backup", "aws-newfeatures"],
|
||||
"Networking & Service Mesh": ["networking", "kubernetes-networking", "servicemesh", "istio", "caching", "web-servers", "cloudflare"],
|
||||
"The Container Stack": ["docker", "container-managers", "serverless", "kubernetes-autoscaling", "kubernetes-operators-controllers", "kubernetes-storage", "kubernetes-monitoring", "kubernetes-troubleshooting", "kubernetes-backup-migrations", "kubernetes-on-premise", "kubernetes-bigdata", "kubernetes-client-libraries", "kubernetes-releases", "kubernetes-based-devel", "kubernetes-alternatives", "kubectl-commands", "rancher", "openshift", "ocp3", "ocp4", "noops"],
|
||||
"Data & Advanced Analytics": ["databases", "nosql", "message-queue", "crunchydata", "yaml", "bigdata"],
|
||||
@@ -65,6 +65,57 @@ class V2VisionEngine:
|
||||
"oauth": "securityascode",
|
||||
"digital-money": "finops",
|
||||
"aws-spain": "aws",
|
||||
# AWS de-fragmentation: the near-empty / junk-drawer AWS sub-pages
|
||||
# (<=7 links, plus "miscellaneous") merge into the main aws page so
|
||||
# it stops being a 3-link stub. The substantial AWS topics
|
||||
# (serverless, storage, networking, security, iac, backup,
|
||||
# newfeatures) stay as their own pages and are surfaced via the
|
||||
# provider hub block (self.subpage_hubs) on aws.md.
|
||||
"aws-miscellaneous": "aws",
|
||||
"aws-databases": "aws",
|
||||
"aws-devops": "aws",
|
||||
"aws-containers": "aws",
|
||||
"aws-monitoring": "aws",
|
||||
"aws-architecture": "aws",
|
||||
"aws-tools-scripts": "aws",
|
||||
"aws-messaging": "aws",
|
||||
"aws-data": "aws",
|
||||
"aws-training": "aws",
|
||||
"aws-pricing": "aws",
|
||||
}
|
||||
|
||||
# Provider hub: pages that should render a "deep-dive topic pages" index
|
||||
# linking to the substantial sub-pages that remain after consolidation.
|
||||
# (slug, display label) — labels kept short and human-readable.
|
||||
self.subpage_hubs = {
|
||||
"aws": [
|
||||
("aws-serverless", "Serverless"),
|
||||
("aws-storage", "Storage"),
|
||||
("aws-networking", "Networking"),
|
||||
("aws-security", "Security"),
|
||||
("aws-iac", "IaC"),
|
||||
("aws-backup", "Backup"),
|
||||
("aws-newfeatures", "New Features"),
|
||||
],
|
||||
# Kubernetes is well-classified (rich parent + substantial distinct
|
||||
# children), so nothing is merged here — the hub is purely an index
|
||||
# so the flagship landing surfaces its deep-dive topic pages.
|
||||
"kubernetes": [
|
||||
("kubernetes-tools", "Tools"),
|
||||
("kubernetes-networking", "Networking"),
|
||||
("kubernetes-security", "Security"),
|
||||
("kubernetes-monitoring", "Monitoring"),
|
||||
("kubernetes-storage", "Storage"),
|
||||
("kubernetes-autoscaling", "Autoscaling"),
|
||||
("kubernetes-operators-controllers", "Operators"),
|
||||
("kubernetes-alternatives", "Alternatives"),
|
||||
("kubernetes-bigdata", "Big Data"),
|
||||
("kubernetes-tutorials", "Tutorials"),
|
||||
("kubernetes-backup-migrations", "Backup & Migrations"),
|
||||
("kubernetes-client-libraries", "Client Libraries"),
|
||||
("kubernetes-based-devel", "Local Dev"),
|
||||
("kubernetes-on-premise", "On-Premise"),
|
||||
],
|
||||
}
|
||||
|
||||
self.library_criteria = (
|
||||
@@ -1113,6 +1164,7 @@ class V2VisionEngine:
|
||||
" </div>\n"
|
||||
" </a>\n"
|
||||
"</div>\n\n"
|
||||
"## Explore the Ecosystem\n\n"
|
||||
"<div class=\"hero-badge-row\">\n"
|
||||
" <a href=\"./kubernetes/\" style=\"text-decoration: none; color: inherit; display: block;\">\n"
|
||||
" <div class=\"hero-badge-card hero-badge-card--cyan\">\n"
|
||||
@@ -1163,6 +1215,7 @@ class V2VisionEngine:
|
||||
f"{coverage_info}\n\n"
|
||||
# Altitude fix: surface the fresh, dynamic Trending/Digest BEFORE the
|
||||
# signature YouTube mosaic (which now closes the page as a brand showcase).
|
||||
"## Trending Now\n\n"
|
||||
f"{pulse_md}\n\n"
|
||||
"## The Cloud Native Universe We Track\n\n"
|
||||
f"<center markdown=\"1\">\n{mosaic_html}\n</center>\n\n"
|
||||
@@ -1189,6 +1242,10 @@ class V2VisionEngine:
|
||||
return total
|
||||
|
||||
topic_md = (
|
||||
"---\n"
|
||||
"description: \"The complete Nubenetes V2 directory: every curated Kubernetes, "
|
||||
"Cloud Native and DevOps category by strategic dimension, with resource counts.\"\n"
|
||||
"---\n"
|
||||
"# Topic Map\n\n"
|
||||
"!!! tip \"The complete Nubenetes V2 directory\"\n"
|
||||
" Every curated category across all strategic dimensions, with the number of "
|
||||
@@ -1199,7 +1256,10 @@ class V2VisionEngine:
|
||||
for dim in self.dimensions.keys():
|
||||
if dim in dim_groups:
|
||||
topic_md += "<section class=\"topic-map-dim\" markdown=\"1\">\n\n"
|
||||
topic_md += f"### {dim}\n\n"
|
||||
# h2 (not h3): the page H1 is "Topic Map", so dimensions must
|
||||
# increment by one level (markdownlint MD001). Also gives the
|
||||
# right-hand TOC a clean per-dimension index.
|
||||
topic_md += f"## {dim}\n\n"
|
||||
for f in sorted(dim_groups[dim]):
|
||||
count = _count_links(data[f]["content"])
|
||||
topic_md += f"- **[{data[f]['title']}](./{f})** <span class=\"topic-count\">{count}</span>\n"
|
||||
@@ -1210,6 +1270,10 @@ class V2VisionEngine:
|
||||
|
||||
# --- Methodology: maturity taxonomy + technical impact reference ---------
|
||||
methodology_md = (
|
||||
"---\n"
|
||||
"description: \"How Nubenetes V2 classifies and ranks resources: the maturity "
|
||||
"taxonomy and technical impact (star) scoring used across the Elite portal.\"\n"
|
||||
"---\n"
|
||||
"# Methodology\n\n"
|
||||
"!!! abstract \"How Nubenetes V2 classifies and ranks resources\"\n"
|
||||
" The reference legends below explain the maturity tags and the technical "
|
||||
@@ -1282,14 +1346,77 @@ class V2VisionEngine:
|
||||
used_headers = {info['long_title']} # Mandate 30: MD024 - Pre-populate with H1 to avoid duplicates
|
||||
# Formulate V1 counterpart link dynamically
|
||||
v1_link = f"/v1/{f_name.replace('.md', '/')}"
|
||||
# Unique per-page SEO meta description (front-matter) so each page no
|
||||
# longer falls back to the identical global site_description. Material
|
||||
# emits it as <meta name="description"> + og:description. Enrich it with
|
||||
# the page's top resource names (long-tail keywords), filtering out
|
||||
# URL/path-like titles for readability; fall back to a clean template.
|
||||
def _collect_links(node, acc):
|
||||
if "__links__" in node:
|
||||
acc.extend(node["__links__"])
|
||||
for _k, _v in node.items():
|
||||
if _k != "__links__" and isinstance(_v, dict):
|
||||
_collect_links(_v, acc)
|
||||
return acc
|
||||
_page_links = _collect_links(info["content"], [])
|
||||
_page_links.sort(key=lambda x: (-(x.get("stars") or 0), -(int(x["year"]) if str(x.get("year", "")).isdigit() else 0)))
|
||||
_names, _seen_names = [], set()
|
||||
for _l in _page_links:
|
||||
_nm = nuclear_strip(str(_l.get("title", "")))
|
||||
# Drop emojis/stars and edge punctuation that leak into titles.
|
||||
_nm = re.sub(r'[\U0001F000-\U0001FAFF☀-➿⭐⭕️]', '', _nm)
|
||||
_nm = re.sub(r'\s+', ' ', _nm).strip(" -–—·:|")
|
||||
_low = _nm.lower()
|
||||
if not (3 <= len(_nm) <= 26):
|
||||
continue
|
||||
if "/" in _nm or "http" in _low or any(d in _low for d in (".com", ".io", ".org", ".net", ".dev", ".sh", ".ai", ".xyz")):
|
||||
continue
|
||||
if _low in _seen_names:
|
||||
continue
|
||||
_seen_names.add(_low)
|
||||
_names.append(_nm)
|
||||
if len(_names) >= 2:
|
||||
break
|
||||
_seo_title = str(info.get('title') or info['long_title'])[:60].strip()
|
||||
if len(_names) >= 2:
|
||||
_seo_desc = (
|
||||
f"Top {_seo_title} resources for 2026, AI-ranked: {', '.join(_names)} and more "
|
||||
f"— curated Cloud Native tools, guides and references."
|
||||
)
|
||||
else:
|
||||
_seo_desc = (
|
||||
f"Curated, AI-ranked {_seo_title} resources for the 2026 Cloud Native "
|
||||
f"architect: top-tier tools, guides and references ({info['dim']})."
|
||||
)
|
||||
_seo_desc = _seo_desc.replace("\\", " ").replace('"', "'").replace("\n", " ").strip()
|
||||
if len(_seo_desc) > 165:
|
||||
_seo_desc = _seo_desc[:162].rsplit(" ", 1)[0].rstrip(" ,;:—-") + "."
|
||||
md = (
|
||||
f"---\n"
|
||||
f"description: \"{_seo_desc}\"\n"
|
||||
f"---\n"
|
||||
f"# {info['long_title']}\n\n"
|
||||
f"!!! tip \"Nubenetes V2 Elite Portal\"\n"
|
||||
f" You are browsing the AI-Curated V2 Elite Edition. Looking for the exhaustive list of references? Check out the [**V1 Historical Archive**]({v1_link}).\n\n"
|
||||
f"!!! info \"Architectural Context\"\n"
|
||||
f" Detailed reference for {info['long_title']} in the context of {info['dim']}.\n\n"
|
||||
)
|
||||
|
||||
|
||||
# Provider hub: surface the substantial sub-pages that remain after
|
||||
# consolidation so the landing page is a navigable index, not a stub.
|
||||
_hub_slug = f_name.replace(".md", "")
|
||||
if _hub_slug in self.subpage_hubs:
|
||||
_children = [
|
||||
(c, lbl) for (c, lbl) in self.subpage_hubs[_hub_slug]
|
||||
if (f"{c}.md" in data) or os.path.exists(os.path.join(V2_DIR, f"{c}.md"))
|
||||
]
|
||||
if _children:
|
||||
_child_links = " · ".join(f"[{lbl}](./{c}/)" for (c, lbl) in _children)
|
||||
md += (
|
||||
f"!!! abstract \"Deep-Dive Topic Pages\"\n"
|
||||
f" {_child_links}\n\n"
|
||||
)
|
||||
|
||||
# In-page Markdown Table of Contents intentionally omitted.
|
||||
# The MkDocs Material theme renders a native, sticky "On this page" TOC
|
||||
# (right sidebar) from the headings below, so a duplicated Markdown TOC
|
||||
@@ -1426,9 +1553,15 @@ class V2VisionEngine:
|
||||
tags_to_process = list(l.get("tags", []))
|
||||
# Include language indexing for non-English resources (Mandate 10)
|
||||
lang = l.get("language", "English")
|
||||
# Skip non-language values the AI sometimes emits, so the tag index
|
||||
# is not polluted with meaningless "X Content" buckets.
|
||||
_lang_junk = {
|
||||
"english", "en", "n/a", "na", "none", "null", "unknown", "",
|
||||
"not applicable", "multiple", "multi-language", "polyglot", "various",
|
||||
}
|
||||
if lang.lower() in ["spanish", "es", "english/spanish"]:
|
||||
tags_to_process.append("[SPANISH CONTENT]")
|
||||
elif lang.lower() != "english" and lang.lower() != "n/a" and lang.lower() != "none":
|
||||
elif lang.lower() not in _lang_junk:
|
||||
tags_to_process.append(f"[{lang.upper()} CONTENT]")
|
||||
|
||||
for t in tags_to_process:
|
||||
@@ -1462,27 +1595,78 @@ class V2VisionEngine:
|
||||
" Browse all V2 resources grouped by maturity levels and technical domains.\n\n"
|
||||
)
|
||||
|
||||
# Build TOC
|
||||
toc_lines = []
|
||||
for tag in sorted_tags:
|
||||
tag_display = tag.replace("[", "").replace("]", "").replace("&", "and").title()
|
||||
if tag_display.upper() in ["EBPF", "WASM", "GITOPS", "IAC", "SRE", "AI", "MCP", "DB", "MLOPS"]:
|
||||
tag_display = tag_display.upper()
|
||||
slug = tag_display.lower().replace(" ", "-")
|
||||
slug = re.sub(r'[^a-z0-9-]', '', slug)
|
||||
slug = re.sub(r'-+', '-', slug).strip('-')
|
||||
toc_lines.append(f"1. [{tag_display}](#{slug}) ({len(by_tag[tag])} resources)")
|
||||
|
||||
md += "## Table of Contents\n\n" + "\n".join(toc_lines) + "\n\n"
|
||||
# Precompute display name + UNIQUE slug for every tag, shared by both the
|
||||
# grouped TOC and the section headers so anchors always match. This fixes
|
||||
# collisions where C / C# / C++ all slugged to "c-content" (broken links).
|
||||
def _tag_display(tag):
|
||||
d = tag.replace("[", "").replace("]", "").replace("&", "and").title()
|
||||
if d.upper() in ["EBPF", "WASM", "GITOPS", "IAC", "SRE", "AI", "MCP", "DB", "MLOPS"]:
|
||||
d = d.upper()
|
||||
return d
|
||||
|
||||
_seen_slugs = set()
|
||||
def _tag_slug(tag):
|
||||
s = tag.replace("[", "").replace("]", "").lower()
|
||||
s = s.replace("#", "-sharp").replace("++", "-plus-plus").replace("&", "-and-").replace("/", "-")
|
||||
s = re.sub(r'[^a-z0-9-]', '-', s)
|
||||
s = re.sub(r'-+', '-', s).strip('-')
|
||||
base, n = s, 1
|
||||
while s in _seen_slugs:
|
||||
n += 1
|
||||
s = f"{base}-{n}"
|
||||
_seen_slugs.add(s)
|
||||
return s
|
||||
|
||||
tag_meta = {
|
||||
tag: {"display": _tag_display(tag), "slug": _tag_slug(tag), "count": len(by_tag[tag])}
|
||||
for tag in sorted_tags
|
||||
}
|
||||
|
||||
def _count_label(n):
|
||||
return f"{n} resource" + ("" if n == 1 else "s")
|
||||
|
||||
# Partition custom tags: language/format ("X CONTENT") vs technical domains,
|
||||
# so the long, low-signal language tail does not bury the maturity tags.
|
||||
maturity_tags = [t for t in sorted_tags if t in standard_order]
|
||||
lang_tags = sorted(
|
||||
[t for t in sorted_tags if t not in standard_order and t.endswith("CONTENT]")],
|
||||
key=lambda t: -tag_meta[t]["count"],
|
||||
)
|
||||
other_tags = sorted(
|
||||
[t for t in sorted_tags if t not in standard_order and not t.endswith("CONTENT]")],
|
||||
key=lambda t: -tag_meta[t]["count"],
|
||||
)
|
||||
|
||||
# Build a grouped TOC: maturity as a clean numbered list; domains and the
|
||||
# language/format tail as compact, count-sorted inline pill rows.
|
||||
md += "## Table of Contents\n\n"
|
||||
if maturity_tags:
|
||||
md += "### Maturity and Quality\n\n"
|
||||
for t in maturity_tags:
|
||||
m = tag_meta[t]
|
||||
md += f"1. [{m['display']}](#{m['slug']}) ({_count_label(m['count'])})\n"
|
||||
md += "\n"
|
||||
if other_tags:
|
||||
md += "### Technical Domains\n\n"
|
||||
md += " · ".join(
|
||||
f"[{tag_meta[t]['display']}](#{tag_meta[t]['slug']}) ({tag_meta[t]['count']})"
|
||||
for t in other_tags
|
||||
) + "\n\n"
|
||||
if lang_tags:
|
||||
md += "### Language and Format\n\n"
|
||||
md += "Resources indexed by their primary source language or document format.\n\n"
|
||||
md += " · ".join(
|
||||
f"[{tag_meta[t]['display'].replace(' Content', '')}](#{tag_meta[t]['slug']}) ({tag_meta[t]['count']})"
|
||||
for t in lang_tags
|
||||
) + "\n\n"
|
||||
|
||||
for tag in sorted_tags:
|
||||
tag_display = tag.replace("[", "").replace("]", "").replace("&", "and").title()
|
||||
if tag_display.upper() in ["EBPF", "WASM", "GITOPS", "IAC", "SRE", "AI", "MCP", "DB", "MLOPS"]:
|
||||
tag_display = tag_display.upper()
|
||||
|
||||
# Wrap section inside a .v2-tag-section div and details block for performance
|
||||
m = tag_meta[tag]
|
||||
tag_display = m["display"]
|
||||
# Wrap section inside a .v2-tag-section div and details block for performance.
|
||||
# Explicit {#slug} keeps the heading anchor unique and TOC-matching.
|
||||
md += f"<div class=\"v2-tag-section\" markdown=\"1\">\n\n"
|
||||
md += f"## {tag_display}\n\n"
|
||||
md += f"## {tag_display} {{#{m['slug']}}}\n\n"
|
||||
total_count = len(by_tag[tag])
|
||||
if total_count > 100:
|
||||
summary_text = f"Click to view top 100 of {total_count} resources under {tag_display}"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Googlecloudplatform resources for 2026, AI-ranked: Google Cloud Buildpacks, Google Agents CLI and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Google Cloud Platform
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
+5
-2
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top About resources for 2026, AI-ranked: Postman, AWX and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# About Nubenetes
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
@@ -34,7 +37,7 @@ We prioritize established frameworks and enterprise standards over ad-hoc, unmai
|
||||
#### 2.4. Avoiding Engineering Anti-Patterns
|
||||
We combat the culture of **Promotion-Based Development (PBD)**, where complexity is manufactured for personal career visibility rather than business value.
|
||||
|
||||
- [Promotion-Based Development: A Fast Track to Mediocrity](https://vadimkravcenko.com/shorts/promotion-based-development) <span class='md-tag md-tag--secondary'>[GUIDE]</span> — Dissects how rewarding "shiny new things" over battle-tested stability leads to fragile architectures.
|
||||
- [Promotion-Based Development: A Fast Track to Mediocrity](https://vadimkravcenko.com/shorts/promotion-based-development/) <span class='md-tag md-tag--secondary'>[GUIDE]</span> — Dissects how rewarding "shiny new things" over battle-tested stability leads to fragile architectures.
|
||||
- [Reddit: The Reality of Promotion-Driven Development](https://www.reddit.com/r/ExperiencedDevs/comments/pw6vuv/promotion_driven_development) <span class='md-tag md-tag--info'>[COMMUNITY-TOOL]</span> — A raw, evidence-based discussion from senior engineers on the industry's most common misaligned incentives.
|
||||
|
||||
### 3. The Architectural North Star
|
||||
@@ -136,7 +139,7 @@ While certifications like CKA are prominent on CVs, they are frequently utilized
|
||||
#### Terraform Boilerplates
|
||||
|
||||
??? note "Terraform Kubernetes Boilerplates 🌟"
|
||||
**[Access Resource](https://nubenetes.com/terraform)** 🌟🌟🌟🌟🌟 | Level: Advanced
|
||||
**[Access Resource](https://nubenetes.com/terraform/)** 🌟🌟🌟🌟🌟 | Level: Advanced
|
||||
|
||||
A library of enterprise-stable Terraform templates configured specifically for modern Kubernetes environments (EKS, GKE, AKS). Includes pre-tested infrastructure specifications for VPC topologies, private nodes, and dynamic ingress setups.
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top AI Agents MCP resources for 2026, AI-ranked: vLLM on Kubernetes, LocalAI and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# AI Agents and Model Context Protocol (MCP) for Kubernetes
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top AI resources for 2026, AI-ranked: Claude Code Templates, Skills for Real Engineers and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Artificial Intelligence
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Angular resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Developer Ecosystem)."
|
||||
---
|
||||
# Angular framework
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Ansible resources for 2026, AI-ranked: AWX, AWX Operator and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Configuration Management. Ansible
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top API resources for 2026, AI-ranked: gRPC, GraphQL and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# APIs with SOAP, REST and gRPC
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Appointment Scheduling resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Career & Industry)."
|
||||
---
|
||||
# Appointment Scheduling Software
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Argo resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Engineering Pipeline)."
|
||||
---
|
||||
# Argo Declarative GitOps for Kubernetes
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Architecture resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS Architecture and Best Practices
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Containers resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS Containers
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Data resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS Big Data
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Databases resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS RDS Databases
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS DevOps resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS DevOps. AWS CodePipeline
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Messaging resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS Messaging Services
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Miscellaneous resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS Miscellaneous
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Monitoring resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS Monitoring and Logging
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Networking resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS Networking
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Newfeatures resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS New Features
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Pricing resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS Pricing and Cost Optimization
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Security resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS Security
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Serverless resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS Serverless
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Tools Scripts resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS Tools and Scripts
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS Training resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# AWS Training and Certification
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked AWS resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# Public Cloud Provider. Amazon Web Services
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Azure resources for 2026, AI-ranked: Bicep, Microsoft - DICOM Service and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Microsoft Azure
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Caching resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Networking & Service Mesh)."
|
||||
---
|
||||
# Caching Solutions
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Chaos Engineering resources for 2026, AI-ranked: chaosblade, Chaos Mesh and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Chaos Engineering
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked ChatGPT resources for the 2026 Cloud Native architect: top-tier tools, guides and references (AI)."
|
||||
---
|
||||
# ChatGPT
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Cheatsheets resources for 2026, AI-ranked: github: K8s in 30 mins, Quarkus Cheat-Sheet and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Cheat Sheets
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked CI/CD Kubernetes Plugins resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Engineering Pipeline)."
|
||||
---
|
||||
# CI/CD Kubernetes Plugins
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked CI/CD resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Engineering Pipeline)."
|
||||
---
|
||||
# Software Delivery Pipeline. CI/CD
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Cloud Arch Diagrams resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Architectural Foundations)."
|
||||
---
|
||||
# Cloud Architecture Diagram Tools
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Cloudflare resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Networking & Service Mesh)."
|
||||
---
|
||||
# Cloudflare Public Cloud
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Container Managers resources for the 2026 Cloud Native architect: top-tier tools, guides and references (The Container Stack)."
|
||||
---
|
||||
# Container Runtimes/Managers, Base Images and Container Tools. Podman, Buildah and Skopeo
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Crunchydata resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Data & Advanced Analytics)."
|
||||
---
|
||||
# Crunchy Data PostgreSQL Operator
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Customer resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Architectural Foundations)."
|
||||
---
|
||||
# Customer Success Stories. Cloud Native Projects
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Databases resources for 2026, AI-ranked: Zalando Postgres Operator, Patroni and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Databases on Kubernetes. Database DevOps
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Demos resources for 2026, AI-ranked: OpenShift AI Examples, knative-tutorial and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# DevOps Demos. Boilerplates/Samples, Tutorials and Screencasts
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Devel Sites resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Developer Ecosystem)."
|
||||
---
|
||||
# Development and Frameworks. Websites for web developers
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Developerportals resources for 2026, AI-ranked: Backstage Developer Portal, apisix and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# API Marketplaces. API Management with API Gateways and Developer Portals
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top DevOps Tools resources for 2026, AI-ranked: Claude Code Templates, Devtron and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# DevOps Tools aka Toolchain
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top DevOps resources for 2026, AI-ranked: Skills for Real Engineers, NoOps and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# DevOps
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Devsecops resources for 2026, AI-ranked: Clair, trivy and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# DevSecOps and Security. Container
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Digitalocean resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# Digital Ocean
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Docker resources for 2026, AI-ranked: Awesome Compose, jib and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Docker
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Dotnet resources for 2026, AI-ranked: Lamar, Paradigm framework and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Microsoft .NET
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Edge Computing resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# Edge Computing
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Elearning resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Career & Industry)."
|
||||
---
|
||||
# E-learning
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Embedded Servlet Containers resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Developer Ecosystem)."
|
||||
---
|
||||
# Embedded Servlet Containers in SpringBoot: Jetty, Tomcat, Undertow and more
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Faq resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Architectural Foundations)."
|
||||
---
|
||||
# Microservices FAQ
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
<link>https://nubenetes.com/</link>
|
||||
<description>AI-curated top picks from the Cloud Native & Kubernetes ecosystem</description>
|
||||
<language>en</language>
|
||||
<lastBuildDate>Fri, 19 Jun 2026 17:39:37 -0000</lastBuildDate>
|
||||
<lastBuildDate>Thu, 18 Jun 2026 00:00:00 -0000</lastBuildDate>
|
||||
<atom:link href="https://nubenetes.com/feed.xml" rel="self" type="application/rss+xml"/>
|
||||
<item>
|
||||
<title>Kubecost 🌟</title>
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Flux resources for 2026, AI-ranked: github: Flux Version 2, github: Flux and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Flux. The GitOps operator for Kubernetes
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Git resources for 2026, AI-ranked: Jenkins-X UpdateBOT, github-merge-bot and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Git and Patterns for Managing Source Code Branches. Merge BOTs
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Gitops resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Engineering Pipeline)."
|
||||
---
|
||||
# GitOps
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Golang resources for 2026, AI-ranked: Awesome Go, Dapr and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Golang - Go
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Grafana resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Architectural Foundations)."
|
||||
---
|
||||
# Grafana
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Helm resources for 2026, AI-ranked: Jmeter, Codecentric Jenkins and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Helm Kubernetes Tool
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Ibm_Cloud resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Cloud Providers (Hyperscalers))."
|
||||
---
|
||||
# IBM
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
+6
-2
@@ -1,4 +1,4 @@
|
||||
# Nubenetes Elite Portal (V2) | Awesome Kubernetes and Cloud [](https://github.com/sindresorhus/awesome)
|
||||
# Nubenetes Elite Portal (V2) | Awesome Kubernetes & Cloud [](https://github.com/sindresorhus/awesome)
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal: AI-Curated & High-Density"
|
||||
You are browsing the AI-Curated V2 Elite Edition of Nubenetes. Looking for the complete historical archive? Explore the [**V1 Historical Archive**](/v1/).
|
||||
@@ -24,6 +24,8 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
## Explore the Ecosystem
|
||||
|
||||
<div class="hero-badge-row">
|
||||
<a href="./kubernetes/" style="text-decoration: none; color: inherit; display: block;">
|
||||
<div class="hero-badge-card hero-badge-card--cyan">
|
||||
@@ -86,8 +88,10 @@
|
||||
- **Status**: The system is incrementally processing pending resources to complete the knowledge graph.
|
||||
|
||||
|
||||
## Trending Now
|
||||
|
||||
<div class="trending-section">
|
||||
<div class="trending-section__title">🔥 Trending Now — Cloud Native Intelligence <span class="trending-section__updated">Updated Jun 19, 2026</span></div>
|
||||
<div class="trending-section__title">🔥 Trending Now — Cloud Native Intelligence <span class="trending-section__updated">Updated Jun 20, 2026</span></div>
|
||||
<div class="trending-grid">
|
||||
<div class="trending-card">
|
||||
<div class="trending-card__impact trending-card__impact--critical">🔴 CRITICAL</div>
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Interview Questions resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Career & Industry)."
|
||||
---
|
||||
# Interview Questions
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Introduction resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Architectural Foundations)."
|
||||
---
|
||||
# Introduction. Microservice Architecture. From Java EE To Cloud Native. Openshift VS Kubernetes
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Istio resources for 2026, AI-ranked: Envoy Gateway, Jaeger and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Istio - Service Mesh
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Java And Java Performance Optimization resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Developer Ecosystem)."
|
||||
---
|
||||
# Java and Memory Management
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Java_App_Servers resources for 2026, AI-ranked: Payara Micro, WildFly and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Server Vendors Providing Java EE/Jakarta EE and MicroProfile Runtimes
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Java_Frameworks resources for 2026, AI-ranked: Spring Cloud, logbook and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Java and Java Programming Models. Open Source Microservices Frameworks
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Javascript resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Developer Ecosystem)."
|
||||
---
|
||||
# JavaScript
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Jenkins Alternatives resources for 2026, AI-ranked: Prow, Screwdriver API and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Jenkins Alternatives for Continuous Integration and Continuous Deployment
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Jenkins resources for 2026, AI-ranked: Jenkinsfile Runner, Example of JCasC and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Jenkins and CloudBees
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Keptn resources for 2026, AI-ranked: Keptn, Quick Start and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Keptn. Data Driven DevOps Automation with Ketpn. Automating Service Level Indicators/Service Level Objectives based build validation with Keptn and Jenkins
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Kubectl Commands resources for 2026, AI-ranked: Gradle Cheat Sheets, Helm and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Kubectl commands
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Kubernetes Alternatives resources for 2026, AI-ranked: dreamland, llama.cpp plugin and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Kubernetes Alternatives
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Kubernetes Autoscaling resources for the 2026 Cloud Native architect: top-tier tools, guides and references (The Container Stack)."
|
||||
---
|
||||
# Autoscaling
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Kubernetes Backup Migrations resources for 2026, AI-ranked: Stash, konveyor and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Kubernetes Backup and Migrations
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Kubernetes Based Devel resources for the 2026 Cloud Native architect: top-tier tools, guides and references (The Container Stack)."
|
||||
---
|
||||
# Kubernetes Based Development. Kubernetes Distributions for local environments. Kubernetes Development Tools and Dashboards
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Kubernetes Client Libraries resources for 2026, AI-ranked: GitHub: Eclipse JKube, Fabric8 and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Client Libraries for Kubernetes
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Kubernetes Monitoring resources for the 2026 Cloud Native architect: top-tier tools, guides and references (The Container Stack)."
|
||||
---
|
||||
# Kubernetes Monitoring and Logging
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Kubernetes Networking resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Networking & Service Mesh)."
|
||||
---
|
||||
# Kubernetes Networking
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Kubernetes On Premise resources for 2026, AI-ranked: **Microk8s**, k0s and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# On-Premise Production Kubernetes Cluster Installers
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Kubernetes Operators Controllers resources for 2026, AI-ranked: Kueue Release v0.14.0, Kubernetes Gateway API and more — curated Cloud Native tools, guides."
|
||||
---
|
||||
# Kubernetes Operators and Controllers
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Kubernetes Releases resources for the 2026 Cloud Native architect: top-tier tools, guides and references (The Container Stack)."
|
||||
---
|
||||
# Kubernetes Releases
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Kubernetes Security resources for 2026, AI-ranked: Tetragon (Cilium), Kubernetes Goat and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Kubernetes Security
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Kubernetes Storage resources for 2026, AI-ranked: Longhorn, Kadalu and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Kubernetes Storage. Cloud Native Storage
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Top Kubernetes Tools resources for 2026, AI-ranked: Teleport, Kadalu and more — curated Cloud Native tools, guides and references."
|
||||
---
|
||||
# Kubernetes Plugins, Tools, Extensions and Projects
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Kubernetes Troubleshooting resources for the 2026 Cloud Native architect: top-tier tools, guides and references (The Container Stack)."
|
||||
---
|
||||
# Kubernetes Troubleshooting
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
---
|
||||
description: "Curated, AI-ranked Kubernetes Tutorials resources for the 2026 Cloud Native architect: top-tier tools, guides and references (Architectural Foundations)."
|
||||
---
|
||||
# Kubernetes Tutorials
|
||||
|
||||
!!! tip "Nubenetes V2 Elite Portal"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user