mirror of
https://github.com/nubenetes/awesome-kubernetes.git
synced 2026-09-01 08:07:19 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c9bf1e46c7 | ||
|
|
84bb583cf6 | ||
|
|
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 | ||
|
|
e21f237fa9 | ||
|
|
b22d1748c4 | ||
|
|
9bbb82b00c | ||
|
|
c7662a35b4 | ||
|
|
f983d787b0 | ||
|
|
c41028e023 | ||
|
|
ea5e6e80df | ||
|
|
d60cd4de4a | ||
|
|
bd5499a9c6 | ||
|
|
bfe743a6cd | ||
|
|
2e281e98ea | ||
|
|
32a2f5925a | ||
|
|
49b3405097 | ||
|
|
d90763f8bd | ||
|
|
17f438553b | ||
|
|
8f6fc3caad | ||
|
|
851efb3050 | ||
|
|
a5ff06cafb | ||
|
|
e1df3938d5 | ||
|
|
f91afaa6d2 | ||
|
|
dc8cdac96d | ||
|
|
44b4b81317 | ||
|
|
b52f793ea5 | ||
|
|
f60d071e40 | ||
|
|
57ebe6cec3 |
@@ -66,8 +66,12 @@ jobs:
|
||||
echo "No changes in inventory to commit."
|
||||
else
|
||||
git commit -m "chore: update inventory stars and licenses [skip ci]"
|
||||
git pull origin develop --rebase
|
||||
git push origin develop
|
||||
# Retry rebase+push to survive concurrent bot pushes to develop.
|
||||
for i in {1..5}; do
|
||||
git pull origin develop --rebase && git push origin develop && exit 0
|
||||
echo "Push attempt $i/5 rejected — retrying..."; sleep $((i * 3))
|
||||
done
|
||||
echo "::error::Inventory metadata push failed after 5 attempts."; exit 1
|
||||
fi
|
||||
|
||||
- name: Persist Incremental Inventory to Cache
|
||||
|
||||
@@ -80,8 +80,12 @@ jobs:
|
||||
echo "No changes in AI analysis to commit."
|
||||
else
|
||||
git commit -m "chore: update inventory AI analysis"
|
||||
git pull origin develop --rebase
|
||||
git push origin develop
|
||||
# Retry rebase+push to survive concurrent bot pushes to develop.
|
||||
for i in {1..5}; do
|
||||
git pull origin develop --rebase && git push origin develop && exit 0
|
||||
echo "Push attempt $i/5 rejected — retrying..."; sleep $((i * 3))
|
||||
done
|
||||
echo "::error::Inventory AI-analysis push failed after 5 attempts."; exit 1
|
||||
fi
|
||||
|
||||
- name: Persist Incremental Inventory to Cache
|
||||
|
||||
@@ -90,8 +90,12 @@ jobs:
|
||||
echo "No automated changes to commit."
|
||||
else
|
||||
git commit -m "docs: update Video Hub with high-fidelity metadata"
|
||||
git pull origin develop --rebase
|
||||
git push origin develop
|
||||
# Retry rebase+push to survive concurrent bot pushes to develop.
|
||||
for i in {1..5}; do
|
||||
git pull origin develop --rebase && git push origin develop && exit 0
|
||||
echo "Push attempt $i/5 rejected — retrying..."; sleep $((i * 3))
|
||||
done
|
||||
echo "::error::Video Hub push failed after 5 attempts."; exit 1
|
||||
fi
|
||||
|
||||
- name: Persist Incremental Inventory Cache
|
||||
|
||||
@@ -124,37 +124,49 @@ jobs:
|
||||
python -m src.safety_readme
|
||||
|
||||
- name: Commit and Push V2 Elite Updates
|
||||
env:
|
||||
PYTHONPATH: ${{ github.workspace }}
|
||||
run: |
|
||||
git config --global user.name "Nubenetes Bot"
|
||||
git config --global user.email "bot@nubenetes.com"
|
||||
git add -A
|
||||
if git diff --staged --quiet; then
|
||||
echo "No automated changes to commit."
|
||||
else
|
||||
git commit -m "feat: sync V2 elite curated edition and README metrics [skip ci]"
|
||||
# Pull, rebase, and push with automatic resolution of README.md conflicts
|
||||
for i in {1..5}; do
|
||||
if git pull origin develop --rebase; then
|
||||
if git push origin develop; then
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
echo "Rebase conflict detected, attempting self-healing..."
|
||||
# Discard local conflicting changes to README.md and accept remote
|
||||
git checkout --ours README.md || git checkout --theirs README.md
|
||||
git add README.md
|
||||
# Continue rebase
|
||||
GIT_EDITOR=true git rebase --continue || { git rebase --abort; git pull origin develop; }
|
||||
# Re-run README sync to update metrics with remote state incorporated
|
||||
python -m src.readme_updater
|
||||
python -m src.safety_readme
|
||||
git add README.md
|
||||
git commit --amend --no-edit
|
||||
fi
|
||||
sleep 5
|
||||
done
|
||||
git push origin develop
|
||||
exit 0
|
||||
fi
|
||||
git commit -m "feat: sync V2 elite curated edition and README metrics [skip ci]"
|
||||
OUR=$(git rev-parse HEAD)
|
||||
# Deterministic publish loop (replaces the fragile rebase + --ours/--theirs
|
||||
# self-healing that could hang on a conflict and discard the bot's metrics).
|
||||
# The render is authoritative for its generated surface, so each attempt:
|
||||
# 1. hard-resets to the freshest remote tip (no conflict possible),
|
||||
# 2. overlays our generated outputs verbatim (docs/, v2-docs/, inventory,
|
||||
# news_digest) — source configs in data/ are left untouched,
|
||||
# 3. regenerates README.md (a pure function of the inventory) on top,
|
||||
# 4. commits and pushes; on rejection it retries from the new tip.
|
||||
GENERATED="docs v2-docs data/inventory.yaml data/inventory.sql data/news_digest.json"
|
||||
for i in {1..5}; do
|
||||
echo "Publish attempt $i/5..."
|
||||
git fetch origin develop
|
||||
git reset --hard origin/develop
|
||||
git checkout "$OUR" -- $GENERATED
|
||||
python -m src.readme_updater
|
||||
python -m src.safety_readme
|
||||
git add -A
|
||||
if git diff --staged --quiet; then
|
||||
echo "Remote already matches this render. Nothing to push."
|
||||
exit 0
|
||||
fi
|
||||
git commit -m "feat: sync V2 elite curated edition and README metrics [skip ci]"
|
||||
if git push origin develop; then
|
||||
echo "Push succeeded on attempt $i."
|
||||
exit 0
|
||||
fi
|
||||
echo "Attempt $i rejected — remote advanced, retrying from fresh tip..."
|
||||
sleep $((i * 3))
|
||||
done
|
||||
echo "::error::V2 publish push failed after 5 attempts (persistent write contention on develop)."
|
||||
exit 1
|
||||
|
||||
- name: Create or Update Promotion PR to Master
|
||||
env:
|
||||
|
||||
@@ -59,38 +59,33 @@ jobs:
|
||||
git config --global user.name "Nubenetes Bot"
|
||||
git config --global user.email "bot@nubenetes.com"
|
||||
export PYTHONPATH=$PYTHONPATH:.
|
||||
# Pull latest before committing to shrink the conflict window
|
||||
git pull --no-rebase origin develop
|
||||
# Re-run updater so metrics reflect the latest remote state
|
||||
python src/readme_updater.py
|
||||
python src/safety_readme.py
|
||||
git add README.md
|
||||
if git diff --staged --quiet; then
|
||||
echo "No changes in README.md to commit."
|
||||
exit 0
|
||||
fi
|
||||
git commit -m "docs: automated README metric synchronization [skip ci]"
|
||||
# Push-first loop: try push, then merge-pull on rejection (not rebase)
|
||||
# Using merge avoids --ours/--theirs confusion that plagued the rebase approach
|
||||
# README.md is a *pure function* of the inventory, so we never need to
|
||||
# preserve a local README state: each attempt hard-resets to the freshest
|
||||
# remote tip, regenerates, commits and pushes. This eliminates the two
|
||||
# failure classes that previously broke this job:
|
||||
# 1. Dirty-tree abort — the earlier steps modify README.md, then
|
||||
# `git pull` aborted with "local changes would be overwritten by merge".
|
||||
# 2. Merge/rebase --ours/--theirs confusion under concurrent bot pushes.
|
||||
# A push can now only be rejected if the remote advanced between reset and
|
||||
# push; we simply retry from the new tip. No conflict resolution required.
|
||||
for i in {1..5}; do
|
||||
echo "Push attempt $i/5..."
|
||||
echo "README sync attempt $i/5..."
|
||||
git fetch origin develop
|
||||
git reset --hard origin/develop
|
||||
python src/readme_updater.py
|
||||
python src/safety_readme.py
|
||||
git add README.md
|
||||
if git diff --staged --quiet; then
|
||||
echo "README already in sync with inventory. Nothing to commit."
|
||||
exit 0
|
||||
fi
|
||||
git commit -m "docs: automated README metric synchronization [skip ci]"
|
||||
if git push origin develop; then
|
||||
echo "Push succeeded on attempt $i."
|
||||
exit 0
|
||||
fi
|
||||
echo "Attempt $i rejected — integrating remote changes via merge..."
|
||||
git fetch origin develop
|
||||
if ! git merge --no-edit -X ours origin/develop; then
|
||||
# Merge could not auto-resolve; keep bot's README and continue
|
||||
git checkout --ours README.md
|
||||
git add README.md
|
||||
GIT_EDITOR=true git merge --continue
|
||||
fi
|
||||
# Re-compute metrics on the merged state (idempotent)
|
||||
python src/readme_updater.py
|
||||
python src/safety_readme.py
|
||||
git add README.md
|
||||
git diff --staged --quiet || git commit --amend --no-edit
|
||||
echo "Attempt $i rejected — remote advanced, retrying from fresh tip..."
|
||||
sleep $((i * 3))
|
||||
done
|
||||
git push origin develop
|
||||
echo "::error::README sync failed after 5 attempts (persistent write contention on develop)."
|
||||
exit 1
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -10,6 +10,11 @@ on:
|
||||
required: false
|
||||
type: string
|
||||
|
||||
# Cancel superseded Guardian runs when a PR is updated (saves CI minutes + Gemini calls).
|
||||
concurrency:
|
||||
group: pr-guardian-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
agentic-presubmit:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -35,6 +40,11 @@ jobs:
|
||||
pip install --no-cache-dir pydantic PyGithub httpx fake-useragent pytz python-dotenv pyyaml tenacity
|
||||
|
||||
- name: Run PR Guardian Analysis
|
||||
# Advisory gate: the Guardian is an AI heuristic that can misattribute
|
||||
# pre-existing lines or mischaracterize a PR. It always posts its findings
|
||||
# as a PR comment, but a non-zero exit must NOT show the PR as a blocking
|
||||
# red ❌. continue-on-error keeps the check green while preserving the comment.
|
||||
continue-on-error: true
|
||||
env:
|
||||
GEMINI_API_KEY_1: ${{ secrets.GEMINI_API_KEY_1 }}
|
||||
GEMINI_API_KEY_2: ${{ secrets.GEMINI_API_KEY_2 }}
|
||||
@@ -49,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)."
|
||||
|
||||
@@ -10,6 +10,11 @@ on:
|
||||
paths:
|
||||
- '**/*.md'
|
||||
|
||||
# Supersede in-flight lint runs for the same PR/branch on new commits.
|
||||
concurrency:
|
||||
group: md-linter-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
+102
@@ -5,6 +5,108 @@ 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.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
|
||||
- **V2 Topic Map page**: A new `topic-map.md` (generated by `v2_optimizer.py`) presents the complete category directory grouped by strategic dimension in a **responsive multi-column CSS grid** (3 → 2 → 1 columns), with a **per-category resource count** badge derived from a recursive walk of each category's link tree. This replaces the ~130-link "Strategic Dimensions" dump that previously bloated the home page, and is reachable from a new hero badge card and the top-level nav.
|
||||
- **V2 Methodology page**: The Maturity Taxonomy and Technical Impact (star score) legend tables moved out of the home into a dedicated `methodology.md`, leaving the landing page focused while keeping the reference one click away.
|
||||
- **Branded 404 page** (`docs/overrides/404.html`, shared V1/V2): replaces the theme's bare "404 - Not found" with a helpful page offering Home / Topic Map / V1 Archive — a safety net for the deep-link stability the portal depends on.
|
||||
|
||||
### Changed
|
||||
- **Home landing page restructured for altitude**: Moved the fresh, dynamic **Trending Now / Intelligence Digest** block *above* the signature YouTube channel mosaic (previously the static mosaic pushed the live content below the fold). The mosaic is preserved as a brand showcase and now closes the page under a new **"The Cloud Native Universe We Track"** heading, with a slim reference footer linking the Topic Map, Methodology and Video Hub.
|
||||
- **YouTube mosaic legibility & performance**: Surfaced the seven per-group category labels that were previously hidden in a `title=` tooltip (visible accent-bordered labels), and added `loading="lazy"` to the ~150 channel logos for a meaningful LCP/initial-load improvement.
|
||||
- **About page videos hardened**: The two embedded videos now use `youtube-nocookie.com` (no tracking cookies until play — consistent with the active `privacy` plugin), `loading="lazy"`, and a responsive `aspect-ratio` wrapper that no longer overflows on mobile.
|
||||
- **Collapsed left navigation**: Disabled `navigation.expand` in `v2-mkdocs.yml`; with ~169 nav entries it forced every section open (heavy DOM, overwhelming). The new Topic Map page now serves as the full scannable directory.
|
||||
- **CSS hygiene**: Hoisted repeated inline styles (hero badge row) into `v2_elite.css` classes and bumped the cache-bust to `?v=2.9.16`.
|
||||
|
||||
## [[2.9.15]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.15) - 2026-06-19
|
||||
|
||||
### Changed
|
||||
- **Navigable Intelligence Digest TOC**: The Tech & Cloud and Industry & Geo digest pages now show their sections in the right-hand "On this page" TOC. They were rendered period-first (three time-window tabs, each nesting every category as **bold text**), so the pages had zero real headings and an empty TOC. Inverted the layout in `_generate_digest_pages()` to **category-first**: each category is a real `##` heading (Kubernetes & Orchestration, Containers & Runtime, … / Americas, Europe, Spain, Asia-Pacific), with the three time-windows (3 / 6 / 12 months) as content tabs *inside* each category. The TOC now lists all 22 tech categories and 4 geo regions exactly once, headings sit at column 0 (no more MD023 workaround), and the tabbed UX is preserved.
|
||||
|
||||
## [[2.9.14]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.14) - 2026-06-19
|
||||
|
||||
### Changed
|
||||
- **Deterministic V2 Publisher Push (04.1)**: Replaced the fragile rebase + `git checkout --ours/--theirs README.md` self-healing in `04.1.agentic_v2_publish.yml` — which could hang on a non-README conflict and silently discard the bot's README metrics — with the same deterministic model now used by `05.1`. The render is authoritative for its generated surface, so each attempt hard-resets to the freshest `origin/develop` tip, overlays the generated outputs verbatim (`docs/`, `v2-docs/`, `data/inventory.yaml`, `data/inventory.sql`, `data/news_digest.json` — source configs like `link_rules.yaml`/`special_assets.yaml` are deliberately left untouched), regenerates `README.md` on top, then commits and pushes with a 5-attempt retry. This never hangs on a conflict and never loses data. Also pinned `PYTHONPATH` on the step so the in-loop `readme_updater`/`safety_readme` calls always resolve `src`.
|
||||
|
||||
## [[2.9.13]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.13) - 2026-06-19
|
||||
|
||||
### Fixed
|
||||
- **README Sync Dirty-Tree / Race Failure (root cause)**: `05.1.readme_sync.yml` modified `README.md` in earlier steps and then ran `git pull`, which aborted with *"Your local changes to README.md would be overwritten by merge"* — guaranteed to fail whenever a concurrent bot commit (e.g. the V2 Publisher's `[skip ci]` sync) advanced `develop` first. Rewrote the commit step as a `fetch → reset --hard origin/develop → regenerate → commit → push` retry loop. Since `README.md` is a *pure function* of the inventory, hard-resetting to the freshest remote tip is always safe and removes the merge-conflict and `--ours/--theirs` confusion classes entirely. A push is now only rejected if the remote advances mid-attempt, in which case it retries from the new tip.
|
||||
|
||||
### Changed
|
||||
- **Inventory Push Retries (03.1 / 03.2 / 03.3)**: The metadata, AI-analysis and Video-Hub workflows did a single `git pull --rebase && git push` with no retry, so any rejection from a concurrent push failed the run. Wrapped each in a 5-attempt rebase+push loop (matching the proven `09.weekly_digest.yml` idiom).
|
||||
- **PR Guardian is now advisory (07.1)**: The AI presubmit is a heuristic that can misattribute pre-existing lines or mischaracterize a PR (it flagged an untouched `about.md` line on PR #392). It still posts its findings as a PR comment, but `continue-on-error: true` stops a non-zero exit from showing the PR as a blocking red ❌. Added PR-scoped `concurrency` so superseded runs are cancelled (saving CI minutes and Gemini calls).
|
||||
- **Markdown Linter concurrency (07.2)**: Added PR/branch-scoped `concurrency` with `cancel-in-progress` so new commits supersede in-flight lint runs.
|
||||
|
||||
## [[2.9.12]](https://github.com/nubenetes/awesome-kubernetes/releases/tag/v2.9.12) - 2026-06-19
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -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** | **6186+** |
|
||||
| **Total Commits** | **6292+** |
|
||||
| **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 | 2627 | 10,849 | **Agentic AI Surge** (May 2026 Inception) |
|
||||
| 9 | 2026 | 2733 | 11,287 | **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, 10849]
|
||||
bar [350, 142, 2046, 531, 402, 30, 53, 5, 2627]
|
||||
y-axis "Volume (Commits / Estimated New Refs)" 0 --> 12000
|
||||
bar [1445, 586, 8449, 2193, 1660, 123, 218, 20, 11287]
|
||||
bar [350, 142, 2046, 531, 402, 30, 53, 5, 2733]
|
||||
```
|
||||
<!-- 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 | 501 | 2,069 | Active Curation |
|
||||
| 2026-06 | 607 | 2,506 | 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
|
||||
```
|
||||
|
||||
|
||||
+916
-916
File diff suppressed because it is too large
Load Diff
+3664
File diff suppressed because it is too large
Load Diff
+36
-36
@@ -2697,7 +2697,7 @@
|
||||
"date": "2026-06-01",
|
||||
"stars": 5,
|
||||
"impact": "critical",
|
||||
"why": "Argo CD is the absolute industry-standard GitOps engine for Kubernetes, driving declarative, pull-based continuous delivery across enterprise platforms.",
|
||||
"why": "Argo CD remains the absolute industry standard for pull-based GitOps reconciliation and continuous delivery on Kubernetes.",
|
||||
"category": "CI/CD & GitOps"
|
||||
},
|
||||
{
|
||||
@@ -2706,7 +2706,7 @@
|
||||
"date": "2026-06-13",
|
||||
"stars": 5,
|
||||
"impact": "critical",
|
||||
"why": "As a CNCF graduated project, Flux v2 provides the vital decoupled controller architecture needed for high-scale, parallel GitOps reconciliation.",
|
||||
"why": "Flux v2 is a foundational, graduated CNCF GitOps engine engineered specifically for highly decoupled, parallel cluster synchronization.",
|
||||
"category": "CI/CD & GitOps"
|
||||
},
|
||||
{
|
||||
@@ -2715,16 +2715,7 @@
|
||||
"date": "2026-06-14",
|
||||
"stars": 5,
|
||||
"impact": "critical",
|
||||
"why": "Dagger introduces a major paradigm shift by replacing complex YAML pipelines with portable, multi-language code executed natively on BuildKit.",
|
||||
"category": "CI/CD & GitOps"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/flux-iac/tofu-controller",
|
||||
"title": "github.com/flux-iac/tofu-controller",
|
||||
"date": "2026-06-08",
|
||||
"stars": 5,
|
||||
"impact": "high",
|
||||
"why": "The Tofu-controller secures GitOps continuity for modern infrastructure by enabling native, declarative reconciliation of OpenTofu and Terraform resources.",
|
||||
"why": "Dagger represents a major paradigm shift in CI/CD, replacing fragile YAML/Bash scripts with portable pipelines written in standard languages and executed via BuildKit.",
|
||||
"category": "CI/CD & GitOps"
|
||||
},
|
||||
{
|
||||
@@ -2732,8 +2723,8 @@
|
||||
"title": "Helm",
|
||||
"date": "2026-06-14",
|
||||
"stars": 5,
|
||||
"impact": "critical",
|
||||
"why": "Helm is the indispensable de facto package manager for Kubernetes, essential for template structuring, dependency management, and application lifecycle control.",
|
||||
"impact": "high",
|
||||
"why": "Helm is the undisputed standard package manager for Kubernetes, serving as a critical packaging cornerstone for modern GitOps engines.",
|
||||
"category": "CI/CD & GitOps"
|
||||
},
|
||||
{
|
||||
@@ -2742,16 +2733,34 @@
|
||||
"date": "2026-06-14",
|
||||
"stars": 5,
|
||||
"impact": "high",
|
||||
"why": "Tekton Pipelines offers a highly scalable, Kubernetes-native CI/CD framework that runs builds within isolated task-oriented containers.",
|
||||
"why": "Tekton provides the standard cloud-native CI/CD framework using Kubernetes-native Custom Resource Definitions for structured, scalable task execution.",
|
||||
"category": "CI/CD & GitOps"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/argoproj/argo-cd/pull/26601",
|
||||
"title": "feat(ui): Add AppSet to Application Resource Tree in Argo CD",
|
||||
"date": "2026-06-14",
|
||||
"url": "https://github.com/flux-iac/tofu-controller",
|
||||
"title": "github.com/flux-iac/tofu-controller",
|
||||
"date": "2026-06-08",
|
||||
"stars": 5,
|
||||
"impact": "high",
|
||||
"why": "This Argo CD feature significantly improves multi-tenant operations by visualizing complex nested ApplicationSet topologies directly in the dashboard UI.",
|
||||
"why": "The OpenTofu controller natively extends GitOps synchronization paradigms beyond Kubernetes manifests to cloud infrastructure resources.",
|
||||
"category": "CI/CD & GitOps"
|
||||
},
|
||||
{
|
||||
"url": "https://www.jenkins.io/projects/jcasc",
|
||||
"title": "Jenkins Configuration as Code",
|
||||
"date": "2025-06-01",
|
||||
"stars": 5,
|
||||
"impact": "high",
|
||||
"why": "Jenkins Configuration as Code (JCasC) provides a critical production-ready path to manage legacy CI infrastructure under modern GitOps and declarative paradigms.",
|
||||
"category": "CI/CD & GitOps"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/kubernetes/test-infra/tree/master/prow",
|
||||
"title": "Prow",
|
||||
"date": "2026-06-13",
|
||||
"stars": 5,
|
||||
"impact": "high",
|
||||
"why": "Prow is the leading cloud-native CI/CD platform engineered to handle massive-scale, decentralized, event-driven repository governance.",
|
||||
"category": "CI/CD & GitOps"
|
||||
},
|
||||
{
|
||||
@@ -2760,25 +2769,16 @@
|
||||
"date": "2026-06-14",
|
||||
"stars": 5,
|
||||
"impact": "high",
|
||||
"why": "Glasskube is a next-generation, Go-based Kubernetes package manager that simplifies automated updates and dependency management for cloud-native tools.",
|
||||
"why": "Glasskube represents a major technical novelty as a next-generation Kubernetes package manager designed to simplify dependency management and upgrades over traditional Helm.",
|
||||
"category": "CI/CD & GitOps"
|
||||
},
|
||||
{
|
||||
"url": "https://nubenetes.com/keptn",
|
||||
"title": "Keptn",
|
||||
"url": "https://github.com/argoproj/argo-cd/pull/26601",
|
||||
"title": "feat(ui): Add AppSet to Application Resource Tree in Argo CD",
|
||||
"date": "2026-06-14",
|
||||
"stars": 4,
|
||||
"impact": "high",
|
||||
"why": "Keptn bridges CD and observability by orchestrating cloud-native lifecycles using strict SLO-based quality gates and automated canary promotions.",
|
||||
"category": "CI/CD & GitOps"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/onedr0p/cluster-template",
|
||||
"title": "github.com/onedr0p/flux-cluster-template: Template for deploying k3s backed by Flux",
|
||||
"date": "2026-06-13",
|
||||
"stars": 5,
|
||||
"impact": "medium",
|
||||
"why": "This production-grade repository template sets a modern community standard for bootstrapping and managing edge K3s clusters utilizing Flux GitOps.",
|
||||
"why": "This Argo CD enhancement directly improves enterprise observability for multi-tenant topologies by natively mapping ApplicationSets in the dashboard UI.",
|
||||
"category": "CI/CD & GitOps"
|
||||
}
|
||||
],
|
||||
@@ -7150,9 +7150,9 @@
|
||||
"method": "gemini"
|
||||
},
|
||||
"CI/CD & GitOps": {
|
||||
"last_analyzed": "2026-06-19T14:47:22.191040+02:00",
|
||||
"entry_hash": "c59a6d40189d662a",
|
||||
"entry_count": 445,
|
||||
"last_analyzed": "2026-06-19T19:39:36.131298+02:00",
|
||||
"entry_hash": "c4997cc637c23d35",
|
||||
"entry_count": 444,
|
||||
"method": "gemini"
|
||||
},
|
||||
"Python, Java & Developer Ecosystem": {
|
||||
@@ -7440,6 +7440,6 @@
|
||||
"method": "fallback_small"
|
||||
}
|
||||
},
|
||||
"last_updated": "2026-06-19T16:38:21.993641+02:00"
|
||||
"last_updated": "2026-06-20T13:55:10.360876+02:00"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{% extends "main.html" %}
|
||||
|
||||
<!--
|
||||
Branded 404. The portal cares about deep-link stability (see CLAUDE.md URL
|
||||
policy), so a dead link lands on a helpful page with clear ways back rather
|
||||
than the theme's bare "404 - Not found". Shared by V1 and V2 (custom_dir is
|
||||
docs/overrides for both), so styling is self-contained and links are root-relative.
|
||||
-->
|
||||
{% block content %}
|
||||
<div style="text-align:center; max-width:42rem; margin:3rem auto; padding:0 1rem;">
|
||||
<p style="font-size:6rem; font-weight:700; line-height:1; margin:0; opacity:0.15;">404</p>
|
||||
<h1 style="margin-top:0.5rem;">This page took a wrong turn</h1>
|
||||
<p style="font-size:0.9rem; opacity:0.8;">
|
||||
The resource you are looking for may have moved or never existed. Use the
|
||||
search at the top, or jump back to a known starting point below.
|
||||
</p>
|
||||
<div style="display:flex; gap:0.75rem; justify-content:center; flex-wrap:wrap; margin-top:1.5rem;">
|
||||
<a href="/" class="md-button md-button--primary">🏠 Home</a>
|
||||
<a href="/topic-map/" class="md-button">🗺️ Topic Map</a>
|
||||
<a href="/v1/" class="md-button">📚 V1 Archive</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -3,3 +3,80 @@
|
||||
{% block announce %}
|
||||
<strong>New:</strong> <a href="./tech-digest/">Intelligence Digest</a> — AI-curated trending resources across 26 categories
|
||||
{% 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
+100
@@ -1185,6 +1185,106 @@ input[type="text"] {
|
||||
color: #09090b;
|
||||
}
|
||||
|
||||
/* ===================================================================
|
||||
v2.9.16 — Home restructure: hero badge row, Topic Map grid,
|
||||
mosaic labels, responsive video embeds
|
||||
=================================================================== */
|
||||
|
||||
/* Hero badge row (was an inline flexbox style on the index) */
|
||||
.hero-badge-row {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 24px;
|
||||
margin: 16px 0;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
/* Indigo accent for the new Topic Map badge card */
|
||||
.hero-badge-card--indigo {
|
||||
border-color: rgba(99, 102, 241, 0.2);
|
||||
background: rgba(99, 102, 241, 0.02);
|
||||
}
|
||||
.hero-badge-card--indigo:hover {
|
||||
background: rgba(99, 102, 241, 0.06) !important;
|
||||
box-shadow: 0 8px 24px rgba(99, 102, 241, 0.18);
|
||||
border-color: #6366f1 !important;
|
||||
}
|
||||
|
||||
/* Topic Map: full category directory as a multi-column grid.
|
||||
CSS columns flow the per-dimension sections into 3 (then 2, then 1)
|
||||
columns; break-inside keeps a dimension block intact across columns. */
|
||||
.topic-map-grid {
|
||||
column-count: 3;
|
||||
column-gap: 2.5rem;
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
.topic-map-dim {
|
||||
break-inside: avoid;
|
||||
-webkit-column-break-inside: avoid;
|
||||
page-break-inside: avoid;
|
||||
display: inline-block; /* helps WebKit honor break-inside */
|
||||
width: 100%;
|
||||
margin: 0 0 1.4rem;
|
||||
}
|
||||
.topic-map-dim h2 {
|
||||
margin-top: 0;
|
||||
font-size: 1.05rem;
|
||||
}
|
||||
.topic-map-dim ul {
|
||||
margin-top: 0.3rem;
|
||||
}
|
||||
.topic-count {
|
||||
display: inline-block;
|
||||
margin-left: 0.35rem;
|
||||
padding: 0 0.45rem;
|
||||
font-size: 0.68rem;
|
||||
font-weight: 600;
|
||||
line-height: 1.4;
|
||||
border-radius: 10px;
|
||||
color: var(--md-default-fg-color--light);
|
||||
background: var(--md-default-fg-color--lightest);
|
||||
vertical-align: middle;
|
||||
}
|
||||
@media screen and (max-width: 76.1875em) {
|
||||
.topic-map-grid { column-count: 2; }
|
||||
}
|
||||
@media screen and (max-width: 44.9375em) {
|
||||
.topic-map-grid { column-count: 1; }
|
||||
}
|
||||
|
||||
/* Visible label for each YouTube mosaic category block (was hidden in title=) */
|
||||
.mosaic-cat-label {
|
||||
margin: 0 0 0.5rem;
|
||||
padding-left: 0.55rem;
|
||||
border-left: 3px solid var(--cat-color, #64748b);
|
||||
font-size: 0.72rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.04em;
|
||||
text-transform: uppercase;
|
||||
color: var(--md-default-fg-color--light);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* Responsive, privacy-friendly video embeds (about page) */
|
||||
.video-embed-grid {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 16px;
|
||||
flex-wrap: wrap;
|
||||
margin: 24px 0;
|
||||
}
|
||||
.video-embed {
|
||||
flex: 1 1 420px;
|
||||
max-width: 480px;
|
||||
aspect-ratio: 16 / 9;
|
||||
}
|
||||
.video-embed iframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 0;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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}")
|
||||
|
||||
@@ -60,13 +60,17 @@ def build_v2_mosaic_markdown_from_channels(channels):
|
||||
cat_chans.sort(key=lambda x: x['order_v2'])
|
||||
|
||||
# Open category block container
|
||||
lines.append(f'<div markdown="1" style="border: 1px solid {cat_info["color"]}; border-radius: 8px; padding: 10px; margin: 8px 0; background: rgba(255, 255, 255, 0.01);" title="{cat_info["name"]}">')
|
||||
lines.append(f'<div markdown="1" class="mosaic-cat-block" style="border: 1px solid {cat_info["color"]}; border-radius: 8px; padding: 10px; margin: 8px 0; background: rgba(255, 255, 255, 0.01);" title="{cat_info["name"]}">')
|
||||
lines.append('') # Mandatory blank line after block tag
|
||||
|
||||
# Channel links
|
||||
|
||||
# Visible category label (previously only exposed via the hidden title= tooltip)
|
||||
lines.append(f'<p class="mosaic-cat-label" style="--cat-color: {cat_info["color"]}">{cat_info["name"]}</p>')
|
||||
lines.append('')
|
||||
|
||||
# Channel links (loading="lazy" — ~150 logos, almost all below the fold)
|
||||
chan_links = []
|
||||
for chan in cat_chans:
|
||||
chan_links.append(f"[![{chan['title']}]({chan['image']}){{: style=\"width:48px; height:48px; object-fit:contain; margin:6px;\" .channel-logo}}]({chan['url']})")
|
||||
chan_links.append(f"[![{chan['title']}]({chan['image']}){{: style=\"width:48px; height:48px; object-fit:contain; margin:6px;\" loading=\"lazy\" .channel-logo}}]({chan['url']})")
|
||||
|
||||
lines.append(" ".join(chan_links))
|
||||
lines.append('')
|
||||
|
||||
+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"?>',
|
||||
|
||||
+210
-43
@@ -169,7 +169,7 @@ class V2VisionEngine:
|
||||
|
||||
# --- SURGICAL GARBAGE COLLECTION ---
|
||||
# Track every file we generate
|
||||
generated_files = {"index.md", "audit-log.md", "videos.md", "tags.md", "tech-digest.md", "industry-digest.md"}
|
||||
generated_files = {"index.md", "audit-log.md", "videos.md", "tags.md", "tech-digest.md", "industry-digest.md", "topic-map.md", "methodology.md"}
|
||||
for f_name in v2_data.keys():
|
||||
generated_files.add(f_name)
|
||||
|
||||
@@ -971,14 +971,21 @@ class V2VisionEngine:
|
||||
md += f"# {title}\n\n"
|
||||
md += "!!! tip \"Nubenetes Intelligence Digest\"\n"
|
||||
md += " AI-curated ranking of the most impactful resources, updated monthly.\n\n"
|
||||
for period_key, period_label in period_labels.items():
|
||||
md += f'=== "{period_label}"\n\n'
|
||||
period_data = digest_data.get(period_key, {})
|
||||
for cat in categories:
|
||||
items = period_data.get(cat, [])
|
||||
# Category-first layout: each category is a real H2 heading (at column 0)
|
||||
# so it appears exactly once in the MkDocs Material right-hand "On this page"
|
||||
# TOC, with the three time-windows as content tabs *inside* the category.
|
||||
# (The previous period-first layout nested categories as bold text inside
|
||||
# tabs, which produced no TOC entries and tripped MD023 on indented headings.)
|
||||
for cat in categories:
|
||||
# Skip categories with no ranked items in any time window.
|
||||
if not any(digest_data.get(pk, {}).get(cat) for pk in period_labels):
|
||||
continue
|
||||
md += f"## {cat}\n\n"
|
||||
for period_key, period_label in period_labels.items():
|
||||
items = digest_data.get(period_key, {}).get(cat, [])
|
||||
if not items:
|
||||
continue
|
||||
md += f" **{cat}**\n\n"
|
||||
md += f'=== "{period_label}"\n\n'
|
||||
md += " | Date | Resource | Impact | Why It Matters |\n"
|
||||
md += " | :--- | :--- | :---: | :--- |\n"
|
||||
for item in items:
|
||||
@@ -1106,7 +1113,8 @@ class V2VisionEngine:
|
||||
" </div>\n"
|
||||
" </a>\n"
|
||||
"</div>\n\n"
|
||||
"<div style=\"display: flex; justify-content: center; gap: 24px; margin: 16px 0; flex-wrap: wrap;\">\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"
|
||||
" <img src=\"/images/kubernetes_logo.png\" alt=\"Kubernetes\"/>\n"
|
||||
@@ -1135,6 +1143,13 @@ class V2VisionEngine:
|
||||
" <div class=\"hero-badge-subtitle\">Architect Video Library</div>\n"
|
||||
" </div>\n"
|
||||
" </a>\n"
|
||||
" <a href=\"./topic-map/\" style=\"text-decoration: none; color: inherit; display: block;\">\n"
|
||||
" <div class=\"hero-badge-card hero-badge-card--indigo\">\n"
|
||||
" <div class=\"hero-badge-icon\">🗺️</div>\n"
|
||||
" <div class=\"hero-badge-title\">Topic Map</div>\n"
|
||||
" <div class=\"hero-badge-subtitle\">All Categories · Directory</div>\n"
|
||||
" </div>\n"
|
||||
" </a>\n"
|
||||
" <a href=\"./introduction/\" style=\"text-decoration: none; color: inherit; display: block;\">\n"
|
||||
" <div class=\"hero-badge-card hero-badge-card--teal\">\n"
|
||||
" <img src=\"/images/hero-car.png\" alt=\"Nubenetes Car\"/>\n"
|
||||
@@ -1147,26 +1162,71 @@ class V2VisionEngine:
|
||||
" The V2 Edition is a curated, high-density version of the Nubenetes archive. Using **Agentic AI Orchestration**, "
|
||||
"the system selects only the most relevant, stable, and impactful resources for the modern Cloud Native ecosystem (2026 and beyond).\n\n"
|
||||
f"{coverage_info}\n\n"
|
||||
f"<center markdown=\"1\">\n{mosaic_html}\n</center>\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"
|
||||
"## Strategic Dimensions\n"
|
||||
"- **[🎥 Agentic Video Hub (Architectural Summary)](./videos/index.md)**\n\n"
|
||||
"## The Cloud Native Universe We Track\n\n"
|
||||
f"<center markdown=\"1\">\n{mosaic_html}\n</center>\n\n"
|
||||
"---\n\n"
|
||||
"**Reference:** [🗺️ Full Topic Map](./topic-map/) · "
|
||||
"[📐 Methodology & Maturity Taxonomy](./methodology/) · "
|
||||
"[🎥 Agentic Video Hub](./videos/index.md)\n"
|
||||
)
|
||||
|
||||
# Group by dimension for index
|
||||
|
||||
# Group by dimension (shared by the Topic Map directory page below).
|
||||
dim_groups = {}
|
||||
for f_name, info in data.items():
|
||||
dim_groups.setdefault(info["dim"], []).append(f_name)
|
||||
|
||||
# Mandate: Use the order defined in self.dimensions for architectural flow
|
||||
|
||||
with open(os.path.join(V2_DIR, "index.md"), "w") as f:
|
||||
f.write(index_md)
|
||||
|
||||
# --- Topic Map: full category directory in a multi-column grid -----------
|
||||
def _count_links(node):
|
||||
total = len(node.get("__links__", []))
|
||||
for k, v in node.items():
|
||||
if k != "__links__" and isinstance(v, dict):
|
||||
total += _count_links(v)
|
||||
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 "
|
||||
"AI-selected resources in each. Looking for the landing page? Back to the "
|
||||
"[**2026 Vision**](/).\n\n"
|
||||
"<div class=\"topic-map-grid\" markdown=\"1\">\n\n"
|
||||
)
|
||||
for dim in self.dimensions.keys():
|
||||
if dim in dim_groups:
|
||||
index_md += f"### {dim}\n"
|
||||
topic_md += "<section class=\"topic-map-dim\" markdown=\"1\">\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]):
|
||||
index_md += f"- **[{data[f]['title']}](./{f})**\n"
|
||||
|
||||
index_md += (
|
||||
"\n---\n\n"
|
||||
count = _count_links(data[f]["content"])
|
||||
topic_md += f"- **[{data[f]['title']}](./{f})** <span class=\"topic-count\">{count}</span>\n"
|
||||
topic_md += "\n</section>\n\n"
|
||||
topic_md += "</div>\n"
|
||||
with open(os.path.join(V2_DIR, "topic-map.md"), "w") as f:
|
||||
f.write(topic_md)
|
||||
|
||||
# --- 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 "
|
||||
"impact (star) scores applied to every resource in the portal.\n\n"
|
||||
"## The Maturity Taxonomy\n\n"
|
||||
"To ensure industrial-grade precision, every resource in V2 is classified using our proprietary 5-tier maturity system:\n\n"
|
||||
"| Tag | Description | Engineering Context |\n"
|
||||
@@ -1190,7 +1250,7 @@ class V2VisionEngine:
|
||||
"| 🌟 | **Reference Only** | Basic documentation or historical reference without major current impact. | Standard Link |\n"
|
||||
)
|
||||
|
||||
with open(os.path.join(V2_DIR, "index.md"), "w") as f: f.write(index_md)
|
||||
with open(os.path.join(V2_DIR, "methodology.md"), "w") as f: f.write(methodology_md)
|
||||
|
||||
async def render_node(node, depth, base_slug, used_headers, is_intro=False):
|
||||
md = ""
|
||||
@@ -1235,7 +1295,55 @@ 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"
|
||||
@@ -1257,9 +1365,9 @@ class V2VisionEngine:
|
||||
"## The Nubenetes Engineering Manifest\n\n"
|
||||
"!!! quote \"The Positive Sum Game\"\n"
|
||||
" ==*\"Open Source is most successful when is played as a positive sum game\" (Sarah Novotny)*==\n\n"
|
||||
"<div style=\"display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin: 24px 0;\">\n"
|
||||
" <iframe width=\"480\" height=\"270\" src=\"https://www.youtube.com/embed/GZl7N8sXyEo\" title=\"Cowboy Bebop - Tank!\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen></iframe>\n"
|
||||
" <iframe width=\"480\" height=\"270\" src=\"https://www.youtube.com/embed/t_hdOVsdRSE\" title=\"Jimmy Sax - Time\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen></iframe>\n"
|
||||
"<div class=\"video-embed-grid\">\n"
|
||||
" <div class=\"video-embed\"><iframe src=\"https://www.youtube-nocookie.com/embed/GZl7N8sXyEo\" title=\"Cowboy Bebop - Tank!\" loading=\"lazy\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen></iframe></div>\n"
|
||||
" <div class=\"video-embed\"><iframe src=\"https://www.youtube-nocookie.com/embed/t_hdOVsdRSE\" title=\"Jimmy Sax - Time\" loading=\"lazy\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen></iframe></div>\n"
|
||||
"</div>\n\n"
|
||||
"### 1. The Genesis: Munich 2018\n"
|
||||
"Nubenetes was forged in the internals of a massive Cloud Native transformation for a **major multinational car manufacturer** in Munich. Coordinating hundreds of microservices, thousands of developers, and millions of end-users taught us a fundamental truth: **Standardization, Automation, and GitOps are not \"best practices\"—they are survival requirements.**\n\n"
|
||||
@@ -1379,9 +1487,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:
|
||||
@@ -1415,27 +1529,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}"
|
||||
@@ -1475,6 +1640,8 @@ class V2VisionEngine:
|
||||
"nav:",
|
||||
" - \"🔙 Back to V1 (Exhaustive)\": https://nubenetes.com/v1/",
|
||||
" - \"The 2026 Vision\": index.md",
|
||||
" - \"Topic Map\": topic-map.md",
|
||||
" - \"Methodology\": methodology.md",
|
||||
" - \"Technical Tags\": tags.md",
|
||||
" - \"Intelligence Digest\":",
|
||||
" - \"Tech & Cloud Digest\": tech-digest.md",
|
||||
|
||||
@@ -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"
|
||||
|
||||
+6
-3
@@ -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"
|
||||
@@ -11,9 +14,9 @@
|
||||
!!! quote "The Positive Sum Game"
|
||||
==*"Open Source is most successful when is played as a positive sum game" (Sarah Novotny)*==
|
||||
|
||||
<div style="display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin: 24px 0;">
|
||||
<iframe width="480" height="270" src="https://www.youtube.com/embed/GZl7N8sXyEo" title="Cowboy Bebop - Tank!" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
<iframe width="480" height="270" src="https://www.youtube.com/embed/t_hdOVsdRSE" title="Jimmy Sax - Time" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
<div class="video-embed-grid">
|
||||
<div class="video-embed"><iframe src="https://www.youtube-nocookie.com/embed/GZl7N8sXyEo" title="Cowboy Bebop - Tank!" loading="lazy" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div>
|
||||
<div class="video-embed"><iframe src="https://www.youtube-nocookie.com/embed/t_hdOVsdRSE" title="Jimmy Sax - Time" loading="lazy" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div>
|
||||
</div>
|
||||
|
||||
### 1. The Genesis: Munich 2018
|
||||
|
||||
@@ -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 14:38:22 -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"
|
||||
|
||||
+71
-213
File diff suppressed because one or more lines are too long
+88
-85
@@ -8,16 +8,33 @@ search:
|
||||
!!! tip "Nubenetes Intelligence Digest"
|
||||
AI-curated ranking of the most impactful resources, updated monthly.
|
||||
|
||||
=== "Last 3 Months"
|
||||
## Americas
|
||||
|
||||
**Americas**
|
||||
=== "Last 3 Months"
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-06-02 | [](https://www.ccohs.ca/oshanswers/ergonomics/shovel.html) | 🔵 medium | |
|
||||
| 2026-05-17 | [businessinsider.mx: 5 trucos de ChatGPT que pueden ayudar a reducir tu carga' laboral](https://businessinsider.mx/trucos-chatgpt-aminorar-carga-laboranl_vida-profesional) | 🔵 medium | A curated technical resource and architectural guide covering businessinsider.mx: 5 trucos de ChatGPT que pueden ayudar a reducir tu carga' laboral in the Kubernetes Tools ecosystem. |
|
||||
|
||||
**Europe**
|
||||
=== "Last 6 Months"
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-06-02 | [](https://www.ccohs.ca/oshanswers/ergonomics/shovel.html) | 🔵 medium | |
|
||||
| 2026-05-17 | [businessinsider.mx: 5 trucos de ChatGPT que pueden ayudar a reducir tu carga' laboral](https://businessinsider.mx/trucos-chatgpt-aminorar-carga-laboranl_vida-profesional) | 🔵 medium | A curated technical resource and architectural guide covering businessinsider.mx: 5 trucos de ChatGPT que pueden ayudar a reducir tu carga' laboral in the Kubernetes Tools ecosystem. |
|
||||
|
||||
=== "Last 12 Months"
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-06-02 | [](https://www.ccohs.ca/oshanswers/ergonomics/shovel.html) | 🔵 medium | |
|
||||
| 2026-05-17 | [businessinsider.mx: 5 trucos de ChatGPT que pueden ayudar a reducir tu carga' laboral](https://businessinsider.mx/trucos-chatgpt-aminorar-carga-laboranl_vida-profesional) | 🔵 medium | A curated technical resource and architectural guide covering businessinsider.mx: 5 trucos de ChatGPT que pueden ayudar a reducir tu carga' laboral in the Kubernetes Tools ecosystem. |
|
||||
|
||||
|
||||
## Europe
|
||||
|
||||
=== "Last 3 Months"
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
@@ -32,48 +49,8 @@ search:
|
||||
| 2026-05-17 | [blog.knell.it: Making your Helm Chart observable for Prometheus](https://blog.knell.it/making-your-helm-chart-observable-for-prometheus) | 🔵 medium | Integrating Prometheus metrics natively into Helm charts ensures observability standards are packaged alongside application deployments by default. |
|
||||
| 2026-05-17 | [Templating on OpenShift: should I use Helm templates or OpenShift templates?' 🌟](https://www.padok.fr/en/blog/templating-openshift-helm-templates) | 🔵 medium | It assists enterprise platform engineers in choosing the right templating standard to prevent vendor lock-in while using OpenShift. |
|
||||
|
||||
**Spain**
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-05-17 | [aboutamazon.es: AWS acelera la apertura de la Región AWS Europa (España)' para apoyar la transformación digital de España](https://www.aboutamazon.es/innovaci%C3%B3n/aws-acelera-la-apertura-de-la-regi%C3%B3n-aws-europa-espa%C3%B1a-para-apoyar-la-transformaci%C3%B3n-digital-de-espa%C3%B1a) | 🔴 critical | The launch of the AWS Spain region is a massive milestone that addresses data residency and latency requirements, accelerating cloud-native migration for Spanish enterprises. |
|
||||
| 2026-06-01 | [20minutos.es: Amazon Web Services vuelve a romper Internet: se ha caído ya tres veces en el mismo mes y le llueven las críticas](https://www.20minutos.es/tecnologia/actualidad/amazon-web-services-vuelve-a-romper-internet-se-ha-caido-ya-tres-veces-en-el-mismo-mes-y-le-llueven-las-criticas-4931834) | 🟡 high | This analysis of major AWS outages highlights the systemic risks of cloud centralization and underscores the importance of multi-region and multi-cloud resilience strategies. |
|
||||
| 2026-06-14 | [computing.es: Retos del outsourcing de servicios IT en España](https://www.computing.es/mundo-digital/retos-del-outsourcing-de-servicios-it-en-espana) | 🟡 high | It addresses the critical organizational and cultural hurdles of scaling DevSecOps and cloud-native practices when relying on external IT outsourcing in Spain. |
|
||||
| 2026-06-18 | [technologyreview.es: "Las empresas que empiezan a lo grande con la IA fracasan más" 🌟](https://www.technologyreview.es/article/las-empresas-que-empiezan-lo-grande-con-la-ia-fracasan-mas) | 🟡 high | Provides essential strategic guidance for enterprises, arguing for realistic, incremental AI adoption paths rather than high-risk, large-scale overhauls. |
|
||||
| 2026-06-01 | [systemadmin.es](https://systemadmin.es) | 🔵 medium | Provides deep, localized technical knowledge on Linux performance and storage optimization, which are foundational for running high-performance Kubernetes worker nodes. |
|
||||
| 2026-06-01 | [santalucia.es](https://api-market.santalucia.es) | 🔵 medium | Demonstrates a real-world enterprise implementation of API-driven architecture, facilitating digital insurance B2B integrations. |
|
||||
| 2026-06-01 | [Cecabank API Market](https://apimarket.cecabank.es) | 🔵 medium | Showcases production-ready financial API infrastructure designed to comply with PSD2, highlighting modern integration patterns in Spanish banking. |
|
||||
| 2026-05-17 | [softzone.es: Conoce Fleet, el nuevo IDE ultraligero de la mano de JetBrains](https://www.softzone.es/noticias/programas/conoce-fleet-ide-ultraligero-mano-jetbrains) | 🔵 medium | Introduces a lightweight, next-generation IDE that supports remote backend execution, aligning with the cloud-based developer workspace trend. |
|
||||
| 2026-06-02 | [Think Python en espanol (Piensa en Python)](https://libropython.es) | 🔵 medium | Offers a highly accessible, localized resource for mastering Python, which remains a core language for cloud automation, tooling, and AI pipelines. |
|
||||
| 2026-05-17 | [Túneles SSH](https://www.atareao.es/ubuntu/tuneles-ssh) | 🔵 medium | A practical guide to SSH tunneling, a fundamental skill for secure remote access, port forwarding, and network debugging in cloud environments. |
|
||||
|
||||
**Asia-Pacific**
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-05-17 | [mixi-developers.mixi.co.jp: Comparing External Secrets Operator with Secret' Storage CSI as Kubernetes External Secrets is Deprecated](https://mixi-developers.mixi.co.jp/compare-eso-with-secret-csi-402bf37f20bc?gi=a7ce4398a8d7) | 🔴 critical | Provides critical architectural guidance for migrating away from the deprecated Kubernetes External Secrets to modern ESO or Secrets Store CSI alternatives. |
|
||||
| 2026-05-17 | [devsecops.co.in: GitOps Guide – What, Why and How? 🌟](https://devsecops.co.in/2021/05/13/gitops-guide-what-why-and-how) | 🟡 high | Demystifies GitOps practices which are essential for achieving declarative, auditable, and automated continuous delivery in cloud-native setups. |
|
||||
| 2026-05-17 | [devstack.in: Deploy Prometheus Operator with Helm3 and Private Registry' 🌟](https://devstack.in/2020/05/25/deploy-prometheus-operator-with-helm3-and-private-registry) | 🟡 high | Addresses a common enterprise security requirement of deploying cloud-native monitoring (Prometheus Operator) within private registry environments. |
|
||||
| 2026-05-17 | [ittroubleshooter.in: Run Parallel Builds in Kubernetes Cluster with Jenkins' Pipeline 🌟](https://ittroubleshooter.in/run-parallel-build-kubernetes-cluster-jenkins) | 🟡 high | Improves CI/CD efficiency by demonstrating how to scale and parallelize build pipelines dynamically using Kubernetes-hosted Jenkins agents. |
|
||||
| 2026-06-01 | [comparecloud.in: Public Cloud Services Comparison 🌟](https://comparecloud.in) | 🔵 medium | Simplifies multi-cloud architecture planning by offering a direct service-mapping taxonomy across major cloud providers. |
|
||||
| 2026-05-17 | [ishantgaurav.in: Kubernetes – Sidecar Container Pattern](https://ishantgaurav.in/2021/07/18/kubernetes-sidecar-container-pattern) | 🔵 medium | Explains the sidecar pattern, which is fundamental to implementing service meshes, logging, and security proxies in microservices. |
|
||||
| 2026-05-17 | [devopstalks.in: Everything about Prometheus](https://devopstalks.in/everything-about-prometheus) | 🔵 medium | Explores Prometheus, the de facto CNCF standard for cloud-native metrics collection and alerting. |
|
||||
| 2026-05-17 | [blog.learncodeonline.in: Kubernetes Scheduling - Taints and Tolerations](https://blog.learncodeonline.in/kubernetes-scheduling-taints-and-tolerations) | 🔵 medium | Covers advanced scheduling techniques necessary for workload isolation and resource allocation in multi-tenant Kubernetes clusters. |
|
||||
| 2026-05-17 | [blog.learncodeonline.in: Kubernetes Scheduling - DaemonSet](https://blog.learncodeonline.in/kubernetes-scheduling-daemonset) | 🔵 medium | Explains DaemonSets, which are vital for running platform-level agents like log forwarders and node monitors. |
|
||||
| 2026-05-17 | [skilledfield.com.au: Monitoring Kubernetes and Docker Container Logs](https://skilledfield.com.au/monitoring-kubernetes-and-docker-container-logs) | 🔵 medium | Provides essential operational foundations for setting up container logging and observability in Kubernetes. |
|
||||
|
||||
|
||||
=== "Last 6 Months"
|
||||
|
||||
**Americas**
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-06-02 | [](https://www.ccohs.ca/oshanswers/ergonomics/shovel.html) | 🔵 medium | |
|
||||
| 2026-05-17 | [businessinsider.mx: 5 trucos de ChatGPT que pueden ayudar a reducir tu carga' laboral](https://businessinsider.mx/trucos-chatgpt-aminorar-carga-laboranl_vida-profesional) | 🔵 medium | A curated technical resource and architectural guide covering businessinsider.mx: 5 trucos de ChatGPT que pueden ayudar a reducir tu carga' laboral in the Kubernetes Tools ecosystem. |
|
||||
|
||||
**Europe**
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-06-01 | [Gaia-X.eu](https://gaia-x.eu) | 🔴 critical | Establishes a unified, secure, and sovereign European data infrastructure to reduce enterprise dependency on non-EU hyperscalers. |
|
||||
@@ -87,48 +64,8 @@ search:
|
||||
| 2026-05-17 | [en.sokube.ch: K3S + K3D = K8S : a new perfect match for dev and test](https://en.sokube.ch/post/k3s-k3d-k8s-a-new-perfect-match-for-dev-and-test-1) | 🔵 medium | Highlights a highly efficient, lightweight development environment that mirrors production Kubernetes patterns locally. |
|
||||
| 2026-05-17 | [Templating on OpenShift: should I use Helm templates or OpenShift templates?' 🌟](https://www.padok.fr/en/blog/templating-openshift-helm-templates) | 🔵 medium | Evaluates configuration management options to help enterprise teams optimize application packaging on Red Hat OpenShift. |
|
||||
|
||||
**Spain**
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-05-17 | [aboutamazon.es: AWS acelera la apertura de la Región AWS Europa (España)' para apoyar la transformación digital de España](https://www.aboutamazon.es/innovaci%C3%B3n/aws-acelera-la-apertura-de-la-regi%C3%B3n-aws-europa-espa%C3%B1a-para-apoyar-la-transformaci%C3%B3n-digital-de-espa%C3%B1a) | 🔴 critical | The opening of an AWS Region in Spain provides essential infrastructure for local cloud-native adoption and data residency compliance. |
|
||||
| 2026-06-18 | [technologyreview.es: "Las empresas que empiezan a lo grande con la IA fracasan más" 🌟](https://www.technologyreview.es/article/las-empresas-que-empiezan-lo-grande-con-la-ia-fracasan-mas) | 🟡 high | Provides critical strategic guidance on avoiding common pitfalls in enterprise AI transformation, which is increasingly integrated into cloud-native pipelines. |
|
||||
| 2026-06-01 | [Cecabank API Market](https://apimarket.cecabank.es) | 🟡 high | Demonstrates enterprise-grade API management and security compliance required by the PSD2 mandate in the Spanish financial sector. |
|
||||
| 2026-06-01 | [santalucia.es](https://api-market.santalucia.es) | 🔵 medium | Showcases the shift toward API-first architectures and B2B integration patterns within the traditional insurance sector. |
|
||||
| 2026-06-01 | [systemadmin.es](https://systemadmin.es) | 🔵 medium | Provides foundational knowledge on Linux performance and storage optimization necessary for managing high-performance Kubernetes clusters. |
|
||||
| 2026-05-17 | [softzone.es: Conoce Fleet, el nuevo IDE ultraligero de la mano de JetBrains](https://www.softzone.es/noticias/programas/conoce-fleet-ide-ultraligero-mano-jetbrains) | 🔵 medium | Introduces new developer tooling paradigms that prioritize remote execution and lightweight environments, matching cloud-native development workflows. |
|
||||
| 2026-05-17 | [computing.es: Retos del outsourcing de servicios IT en España](https://www.computing.es/mundo-digital/opinion/1129764046601/retos-del-outsourcing-de-servicios-it-espana.1.html) | 🔵 medium | Addresses the structural challenges of IT outsourcing in Spain, directly impacting how organizations manage cloud-native scaling and DevOps silos. |
|
||||
| 2026-06-02 | [Think Python en espanol (Piensa en Python)](https://libropython.es) | 🔵 medium | Facilitates broader technical literacy in the Spanish community by providing a modern, accessible resource for foundational programming. |
|
||||
| 2026-06-01 | [20minutos.es: Amazon Web Services vuelve a romper Internet: se ha caído ya tres veces en el mismo mes y le llueven las críticas](https://www.20minutos.es/tecnologia/actualidad/amazon-web-services-vuelve-a-romper-internet-se-ha-caido-ya-tres-veces-en-el-mismo-mes-y-le-llueven-las-criticas-4931834) | 🔵 medium | Highlights systemic risks of hyperscaler dependency, prompting necessary architecture discussions around multi-cloud and resilience strategies. |
|
||||
| 2026-05-17 | [hays.es: ‘La Gran Renuncia’: ¿por qué tantos profesionales se están planteando' dejar su trabajo?](https://www.hays.es/blog/insights/la-gran-renuncia) | 🔵 medium | Provides essential context on talent retention and professional shifts in the Spanish IT sector, impacting team stability for cloud-native projects. |
|
||||
|
||||
**Asia-Pacific**
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-05-17 | [mixi-developers.mixi.co.jp: Comparing External Secrets Operator with Secret' Storage CSI as Kubernetes External Secrets is Deprecated](https://mixi-developers.mixi.co.jp/compare-eso-with-secret-csi-402bf37f20bc?gi=a7ce4398a8d7) | 🔴 critical | Provides a crucial architectural comparison for managing enterprise secrets securely on Kubernetes following the deprecation of legacy tools. |
|
||||
| 2026-06-01 | [comparecloud.in: Public Cloud Services Comparison 🌟](https://comparecloud.in) | 🟡 high | Simplifies multi-cloud architecture planning by mapping services across major public cloud providers for engineering teams. |
|
||||
| 2026-05-17 | [devstack.in: Deploy Prometheus Operator with Helm3 and Private Registry' 🌟](https://devstack.in/2020/05/25/deploy-prometheus-operator-with-helm3-and-private-registry) | 🟡 high | Delivers a production-ready guide for deploying observability infrastructure securely in enterprise environments using private registries. |
|
||||
| 2026-05-17 | [devsecops.co.in: GitOps Guide – What, Why and How? 🌟](https://devsecops.co.in/2021/05/13/gitops-guide-what-why-and-how) | 🟡 high | Demystifies the GitOps methodology, which is a fundamental paradigm shift for modern cloud-native continuous delivery. |
|
||||
| 2026-05-17 | [ishantgaurav.in: Kubernetes – Sidecar Container Pattern](https://ishantgaurav.in/2021/07/18/kubernetes-sidecar-container-pattern) | 🔵 medium | Explains the sidecar pattern, which is essential for implementing service meshes and platform-level logging in Kubernetes. |
|
||||
| 2026-05-17 | [ittroubleshooter.in: Run Parallel Builds in Kubernetes Cluster with Jenkins' Pipeline 🌟](https://ittroubleshooter.in/run-parallel-build-kubernetes-cluster-jenkins) | 🔵 medium | Optimizes continuous integration pipelines by leveraging Kubernetes to run parallel, dynamically scaled build jobs. |
|
||||
| 2026-05-17 | [devopstalks.in: Everything about Prometheus](https://devopstalks.in/everything-about-prometheus) | 🔵 medium | Offers a comprehensive deep dive into Prometheus, the de facto standard tool for cloud-native system observability. |
|
||||
| 2026-05-17 | [blog.learncodeonline.in: Kubernetes Scheduling - Taints and Tolerations](https://blog.learncodeonline.in/kubernetes-scheduling-taints-and-tolerations) | 🔵 medium | Enables engineers to design resilient and segregated clusters using advanced Kubernetes scheduling constraints. |
|
||||
| 2026-05-17 | [blog.learncodeonline.in: Kubernetes Scheduling - DaemonSet](https://blog.learncodeonline.in/kubernetes-scheduling-daemonset) | 🔵 medium | Details DaemonSet scheduling, which is vital for deploying node-level logging and security agents uniformly across a cluster. |
|
||||
| 2026-05-17 | [skilledfield.com.au: Monitoring Kubernetes and Docker Container Logs](https://skilledfield.com.au/monitoring-kubernetes-and-docker-container-logs) | 🔵 medium | Guides operational teams through establishing essential log aggregation pipelines for containerized applications. |
|
||||
|
||||
|
||||
=== "Last 12 Months"
|
||||
|
||||
**Americas**
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-06-02 | [](https://www.ccohs.ca/oshanswers/ergonomics/shovel.html) | 🔵 medium | |
|
||||
| 2026-05-17 | [businessinsider.mx: 5 trucos de ChatGPT que pueden ayudar a reducir tu carga' laboral](https://businessinsider.mx/trucos-chatgpt-aminorar-carga-laboranl_vida-profesional) | 🔵 medium | A curated technical resource and architectural guide covering businessinsider.mx: 5 trucos de ChatGPT que pueden ayudar a reducir tu carga' laboral in the Kubernetes Tools ecosystem. |
|
||||
|
||||
**Europe**
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-06-01 | [Gaia-X.eu](https://gaia-x.eu) | 🔴 critical | Defines the emerging standard for data sovereignty and cloud federation across Europe, shifting how multi-cloud workloads are designed. |
|
||||
@@ -142,7 +79,40 @@ search:
|
||||
| 2026-05-17 | [blog.knell.it: Making your Helm Chart observable for Prometheus](https://blog.knell.it/making-your-helm-chart-observable-for-prometheus) | 🔵 medium | Establishes a repeatable pattern for embedding native Prometheus observability endpoints directly into reusable Helm charts. |
|
||||
| 2026-06-01 | [difftastic.wilfred.me.uk](https://difftastic.wilfred.me.uk) | 🔵 medium | Introduces AST-based syntax comparison that eliminates noisy git diffs, making Kubernetes manifest and code reviews vastly more reliable. |
|
||||
|
||||
**Spain**
|
||||
|
||||
## Spain
|
||||
|
||||
=== "Last 3 Months"
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-05-17 | [aboutamazon.es: AWS acelera la apertura de la Región AWS Europa (España)' para apoyar la transformación digital de España](https://www.aboutamazon.es/innovaci%C3%B3n/aws-acelera-la-apertura-de-la-regi%C3%B3n-aws-europa-espa%C3%B1a-para-apoyar-la-transformaci%C3%B3n-digital-de-espa%C3%B1a) | 🔴 critical | The launch of the AWS Spain region is a massive milestone that addresses data residency and latency requirements, accelerating cloud-native migration for Spanish enterprises. |
|
||||
| 2026-06-01 | [20minutos.es: Amazon Web Services vuelve a romper Internet: se ha caído ya tres veces en el mismo mes y le llueven las críticas](https://www.20minutos.es/tecnologia/actualidad/amazon-web-services-vuelve-a-romper-internet-se-ha-caido-ya-tres-veces-en-el-mismo-mes-y-le-llueven-las-criticas-4931834) | 🟡 high | This analysis of major AWS outages highlights the systemic risks of cloud centralization and underscores the importance of multi-region and multi-cloud resilience strategies. |
|
||||
| 2026-06-14 | [computing.es: Retos del outsourcing de servicios IT en España](https://www.computing.es/mundo-digital/retos-del-outsourcing-de-servicios-it-en-espana) | 🟡 high | It addresses the critical organizational and cultural hurdles of scaling DevSecOps and cloud-native practices when relying on external IT outsourcing in Spain. |
|
||||
| 2026-06-18 | [technologyreview.es: "Las empresas que empiezan a lo grande con la IA fracasan más" 🌟](https://www.technologyreview.es/article/las-empresas-que-empiezan-lo-grande-con-la-ia-fracasan-mas) | 🟡 high | Provides essential strategic guidance for enterprises, arguing for realistic, incremental AI adoption paths rather than high-risk, large-scale overhauls. |
|
||||
| 2026-06-01 | [systemadmin.es](https://systemadmin.es) | 🔵 medium | Provides deep, localized technical knowledge on Linux performance and storage optimization, which are foundational for running high-performance Kubernetes worker nodes. |
|
||||
| 2026-06-01 | [santalucia.es](https://api-market.santalucia.es) | 🔵 medium | Demonstrates a real-world enterprise implementation of API-driven architecture, facilitating digital insurance B2B integrations. |
|
||||
| 2026-06-01 | [Cecabank API Market](https://apimarket.cecabank.es) | 🔵 medium | Showcases production-ready financial API infrastructure designed to comply with PSD2, highlighting modern integration patterns in Spanish banking. |
|
||||
| 2026-05-17 | [softzone.es: Conoce Fleet, el nuevo IDE ultraligero de la mano de JetBrains](https://www.softzone.es/noticias/programas/conoce-fleet-ide-ultraligero-mano-jetbrains) | 🔵 medium | Introduces a lightweight, next-generation IDE that supports remote backend execution, aligning with the cloud-based developer workspace trend. |
|
||||
| 2026-06-02 | [Think Python en espanol (Piensa en Python)](https://libropython.es) | 🔵 medium | Offers a highly accessible, localized resource for mastering Python, which remains a core language for cloud automation, tooling, and AI pipelines. |
|
||||
| 2026-05-17 | [Túneles SSH](https://www.atareao.es/ubuntu/tuneles-ssh) | 🔵 medium | A practical guide to SSH tunneling, a fundamental skill for secure remote access, port forwarding, and network debugging in cloud environments. |
|
||||
|
||||
=== "Last 6 Months"
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-05-17 | [aboutamazon.es: AWS acelera la apertura de la Región AWS Europa (España)' para apoyar la transformación digital de España](https://www.aboutamazon.es/innovaci%C3%B3n/aws-acelera-la-apertura-de-la-regi%C3%B3n-aws-europa-espa%C3%B1a-para-apoyar-la-transformaci%C3%B3n-digital-de-espa%C3%B1a) | 🔴 critical | The opening of an AWS Region in Spain provides essential infrastructure for local cloud-native adoption and data residency compliance. |
|
||||
| 2026-06-18 | [technologyreview.es: "Las empresas que empiezan a lo grande con la IA fracasan más" 🌟](https://www.technologyreview.es/article/las-empresas-que-empiezan-lo-grande-con-la-ia-fracasan-mas) | 🟡 high | Provides critical strategic guidance on avoiding common pitfalls in enterprise AI transformation, which is increasingly integrated into cloud-native pipelines. |
|
||||
| 2026-06-01 | [Cecabank API Market](https://apimarket.cecabank.es) | 🟡 high | Demonstrates enterprise-grade API management and security compliance required by the PSD2 mandate in the Spanish financial sector. |
|
||||
| 2026-06-01 | [santalucia.es](https://api-market.santalucia.es) | 🔵 medium | Showcases the shift toward API-first architectures and B2B integration patterns within the traditional insurance sector. |
|
||||
| 2026-06-01 | [systemadmin.es](https://systemadmin.es) | 🔵 medium | Provides foundational knowledge on Linux performance and storage optimization necessary for managing high-performance Kubernetes clusters. |
|
||||
| 2026-05-17 | [softzone.es: Conoce Fleet, el nuevo IDE ultraligero de la mano de JetBrains](https://www.softzone.es/noticias/programas/conoce-fleet-ide-ultraligero-mano-jetbrains) | 🔵 medium | Introduces new developer tooling paradigms that prioritize remote execution and lightweight environments, matching cloud-native development workflows. |
|
||||
| 2026-05-17 | [computing.es: Retos del outsourcing de servicios IT en España](https://www.computing.es/mundo-digital/opinion/1129764046601/retos-del-outsourcing-de-servicios-it-espana.1.html) | 🔵 medium | Addresses the structural challenges of IT outsourcing in Spain, directly impacting how organizations manage cloud-native scaling and DevOps silos. |
|
||||
| 2026-06-02 | [Think Python en espanol (Piensa en Python)](https://libropython.es) | 🔵 medium | Facilitates broader technical literacy in the Spanish community by providing a modern, accessible resource for foundational programming. |
|
||||
| 2026-06-01 | [20minutos.es: Amazon Web Services vuelve a romper Internet: se ha caído ya tres veces en el mismo mes y le llueven las críticas](https://www.20minutos.es/tecnologia/actualidad/amazon-web-services-vuelve-a-romper-internet-se-ha-caido-ya-tres-veces-en-el-mismo-mes-y-le-llueven-las-criticas-4931834) | 🔵 medium | Highlights systemic risks of hyperscaler dependency, prompting necessary architecture discussions around multi-cloud and resilience strategies. |
|
||||
| 2026-05-17 | [hays.es: ‘La Gran Renuncia’: ¿por qué tantos profesionales se están planteando' dejar su trabajo?](https://www.hays.es/blog/insights/la-gran-renuncia) | 🔵 medium | Provides essential context on talent retention and professional shifts in the Spanish IT sector, impacting team stability for cloud-native projects. |
|
||||
|
||||
=== "Last 12 Months"
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
@@ -157,7 +127,40 @@ search:
|
||||
| 2026-06-01 | [santalucia.es](https://api-market.santalucia.es) | 🔵 medium | Demonstrates how legacy enterprises in Spain are modernizing their B2B digital delivery through API-first cloud integration architectures. |
|
||||
| 2026-05-17 | [computing.es: Retos del outsourcing de servicios IT en España](https://www.computing.es/mundo-digital/opinion/1129764046601/retos-del-outsourcing-de-servicios-it-espana.1.html) | 🔵 medium | Explores strategic mitigation models for managing SLAs and operational consistency in complex, outsourced enterprise IT environments. |
|
||||
|
||||
**Asia-Pacific**
|
||||
|
||||
## Asia-Pacific
|
||||
|
||||
=== "Last 3 Months"
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-05-17 | [mixi-developers.mixi.co.jp: Comparing External Secrets Operator with Secret' Storage CSI as Kubernetes External Secrets is Deprecated](https://mixi-developers.mixi.co.jp/compare-eso-with-secret-csi-402bf37f20bc?gi=a7ce4398a8d7) | 🔴 critical | Provides critical architectural guidance for migrating away from the deprecated Kubernetes External Secrets to modern ESO or Secrets Store CSI alternatives. |
|
||||
| 2026-05-17 | [devsecops.co.in: GitOps Guide – What, Why and How? 🌟](https://devsecops.co.in/2021/05/13/gitops-guide-what-why-and-how) | 🟡 high | Demystifies GitOps practices which are essential for achieving declarative, auditable, and automated continuous delivery in cloud-native setups. |
|
||||
| 2026-05-17 | [devstack.in: Deploy Prometheus Operator with Helm3 and Private Registry' 🌟](https://devstack.in/2020/05/25/deploy-prometheus-operator-with-helm3-and-private-registry) | 🟡 high | Addresses a common enterprise security requirement of deploying cloud-native monitoring (Prometheus Operator) within private registry environments. |
|
||||
| 2026-05-17 | [ittroubleshooter.in: Run Parallel Builds in Kubernetes Cluster with Jenkins' Pipeline 🌟](https://ittroubleshooter.in/run-parallel-build-kubernetes-cluster-jenkins) | 🟡 high | Improves CI/CD efficiency by demonstrating how to scale and parallelize build pipelines dynamically using Kubernetes-hosted Jenkins agents. |
|
||||
| 2026-06-01 | [comparecloud.in: Public Cloud Services Comparison 🌟](https://comparecloud.in) | 🔵 medium | Simplifies multi-cloud architecture planning by offering a direct service-mapping taxonomy across major cloud providers. |
|
||||
| 2026-05-17 | [ishantgaurav.in: Kubernetes – Sidecar Container Pattern](https://ishantgaurav.in/2021/07/18/kubernetes-sidecar-container-pattern) | 🔵 medium | Explains the sidecar pattern, which is fundamental to implementing service meshes, logging, and security proxies in microservices. |
|
||||
| 2026-05-17 | [devopstalks.in: Everything about Prometheus](https://devopstalks.in/everything-about-prometheus) | 🔵 medium | Explores Prometheus, the de facto CNCF standard for cloud-native metrics collection and alerting. |
|
||||
| 2026-05-17 | [blog.learncodeonline.in: Kubernetes Scheduling - Taints and Tolerations](https://blog.learncodeonline.in/kubernetes-scheduling-taints-and-tolerations) | 🔵 medium | Covers advanced scheduling techniques necessary for workload isolation and resource allocation in multi-tenant Kubernetes clusters. |
|
||||
| 2026-05-17 | [blog.learncodeonline.in: Kubernetes Scheduling - DaemonSet](https://blog.learncodeonline.in/kubernetes-scheduling-daemonset) | 🔵 medium | Explains DaemonSets, which are vital for running platform-level agents like log forwarders and node monitors. |
|
||||
| 2026-05-17 | [skilledfield.com.au: Monitoring Kubernetes and Docker Container Logs](https://skilledfield.com.au/monitoring-kubernetes-and-docker-container-logs) | 🔵 medium | Provides essential operational foundations for setting up container logging and observability in Kubernetes. |
|
||||
|
||||
=== "Last 6 Months"
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
| 2026-05-17 | [mixi-developers.mixi.co.jp: Comparing External Secrets Operator with Secret' Storage CSI as Kubernetes External Secrets is Deprecated](https://mixi-developers.mixi.co.jp/compare-eso-with-secret-csi-402bf37f20bc?gi=a7ce4398a8d7) | 🔴 critical | Provides a crucial architectural comparison for managing enterprise secrets securely on Kubernetes following the deprecation of legacy tools. |
|
||||
| 2026-06-01 | [comparecloud.in: Public Cloud Services Comparison 🌟](https://comparecloud.in) | 🟡 high | Simplifies multi-cloud architecture planning by mapping services across major public cloud providers for engineering teams. |
|
||||
| 2026-05-17 | [devstack.in: Deploy Prometheus Operator with Helm3 and Private Registry' 🌟](https://devstack.in/2020/05/25/deploy-prometheus-operator-with-helm3-and-private-registry) | 🟡 high | Delivers a production-ready guide for deploying observability infrastructure securely in enterprise environments using private registries. |
|
||||
| 2026-05-17 | [devsecops.co.in: GitOps Guide – What, Why and How? 🌟](https://devsecops.co.in/2021/05/13/gitops-guide-what-why-and-how) | 🟡 high | Demystifies the GitOps methodology, which is a fundamental paradigm shift for modern cloud-native continuous delivery. |
|
||||
| 2026-05-17 | [ishantgaurav.in: Kubernetes – Sidecar Container Pattern](https://ishantgaurav.in/2021/07/18/kubernetes-sidecar-container-pattern) | 🔵 medium | Explains the sidecar pattern, which is essential for implementing service meshes and platform-level logging in Kubernetes. |
|
||||
| 2026-05-17 | [ittroubleshooter.in: Run Parallel Builds in Kubernetes Cluster with Jenkins' Pipeline 🌟](https://ittroubleshooter.in/run-parallel-build-kubernetes-cluster-jenkins) | 🔵 medium | Optimizes continuous integration pipelines by leveraging Kubernetes to run parallel, dynamically scaled build jobs. |
|
||||
| 2026-05-17 | [devopstalks.in: Everything about Prometheus](https://devopstalks.in/everything-about-prometheus) | 🔵 medium | Offers a comprehensive deep dive into Prometheus, the de facto standard tool for cloud-native system observability. |
|
||||
| 2026-05-17 | [blog.learncodeonline.in: Kubernetes Scheduling - Taints and Tolerations](https://blog.learncodeonline.in/kubernetes-scheduling-taints-and-tolerations) | 🔵 medium | Enables engineers to design resilient and segregated clusters using advanced Kubernetes scheduling constraints. |
|
||||
| 2026-05-17 | [blog.learncodeonline.in: Kubernetes Scheduling - DaemonSet](https://blog.learncodeonline.in/kubernetes-scheduling-daemonset) | 🔵 medium | Details DaemonSet scheduling, which is vital for deploying node-level logging and security agents uniformly across a cluster. |
|
||||
| 2026-05-17 | [skilledfield.com.au: Monitoring Kubernetes and Docker Container Logs](https://skilledfield.com.au/monitoring-kubernetes-and-docker-container-logs) | 🔵 medium | Guides operational teams through establishing essential log aggregation pipelines for containerized applications. |
|
||||
|
||||
=== "Last 12 Months"
|
||||
|
||||
| Date | Resource | Impact | Why It Matters |
|
||||
| :--- | :--- | :---: | :--- |
|
||||
|
||||
@@ -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"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user