From ea5e6e80dff825caf03614b665b9a2c7816969be Mon Sep 17 00:00:00 2001 From: Nubenetes Bot Date: Fri, 19 Jun 2026 17:51:09 +0000 Subject: [PATCH 1/4] docs: automated README metric synchronization [skip ci] --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1d16e7de..0949ca00 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ Additionally, as of May 2026, Nubenetes has reached the **Platinum Operational T | :--- | :--- | | **Total Technical Resources (Links)** | **18647+** | | **Specialized MD Pages** | **162** | -| **Total Commits** | **6203+** | +| **Total Commits** | **6209+** | | **Primary AI Engine** | **Google Gemini (Agentic)** | @@ -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 | 2644 | 10,919 | **Agentic AI Surge** (May 2026 Inception) | +| 9 | 2026 | 2650 | 10,944 | **Agentic AI Surge** (May 2026 Inception) | @@ -196,8 +196,8 @@ 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, 10919] - bar [350, 142, 2046, 531, 402, 30, 53, 5, 2644] + bar [1445, 586, 8449, 2193, 1660, 123, 218, 20, 10944] + bar [350, 142, 2046, 531, 402, 30, 53, 5, 2650] ``` @@ -207,7 +207,7 @@ xychart-beta | :--- | :---: | :---: | :--- | | 2026-04 | 25 | 103 | Active Curation | | 2026-05 | 2101 | 8,677 | **Agentic Inception (Gemini Era)** | -| 2026-06 | 518 | 2,139 | Active Curation | +| 2026-06 | 524 | 2,164 | Active Curation | ### 2.4. Content Distribution and Semantic Clustering From c41028e02312becba5861f2898470b14fcc58260 Mon Sep 17 00:00:00 2001 From: Nubenetes Bot Date: Sat, 20 Jun 2026 11:52:21 +0200 Subject: [PATCH 2/4] =?UTF-8?q?feat(v2):=20restructure=20home=20=E2=80=94?= =?UTF-8?q?=20Topic=20Map=20+=20Methodology=20pages,=20mosaic=20&=20a11y?= =?UTF-8?q?=20polish?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Declutter the V2 landing page into a curated entry point and move the full category directory and reference legends to dedicated pages. Home (index): - Move "Trending Now / Digest" above the signature YouTube mosaic (fix inverted altitude: fresh, dynamic content first). - Replace the ~130-link "Strategic Dimensions" dump with a "Topic Map" badge card + a slim reference footer (Topic Map · Methodology · Videos). - Frame the mosaic with a "The Cloud Native Universe We Track" heading. New generated pages: - topic-map.md — full category directory by dimension in a responsive multi-column CSS grid, with per-category resource counts. - methodology.md — Maturity Taxonomy + Technical Impact legend tables (moved out of the home). Mosaic (kept as brand signature, reinforced): - Surface the per-group category labels that were hidden in title=. - loading="lazy" on the ~150 channel logos (LCP/perf win). about.md videos: - youtube-nocookie.com + loading="lazy" + responsive aspect-ratio wrapper. Config & cleanup: - Disable navigation.expand (169-entry nav stayed fully open); the Topic Map page now serves as the full directory. - Branded 404 page with clear ways back (Home / Topic Map / V1 Archive). - Hoist repeated inline styles (hero badge row) into CSS classes. Co-Authored-By: Claude Opus 4.8 --- docs/overrides/404.html | 23 ++++ docs/static/v2_elite.css | 99 ++++++++++++++ src/reorganize_mosaic.py | 12 +- src/v2_optimizer.py | 78 ++++++++--- v2-docs/about.md | 6 +- v2-docs/index.md | 280 ++++++++++----------------------------- v2-docs/methodology.md | 31 +++++ v2-docs/topic-map.md | 216 ++++++++++++++++++++++++++++++ v2-mkdocs.yml | 8 +- 9 files changed, 513 insertions(+), 240 deletions(-) create mode 100644 docs/overrides/404.html create mode 100644 v2-docs/methodology.md create mode 100644 v2-docs/topic-map.md diff --git a/docs/overrides/404.html b/docs/overrides/404.html new file mode 100644 index 00000000..8c44b6b8 --- /dev/null +++ b/docs/overrides/404.html @@ -0,0 +1,23 @@ +{% extends "main.html" %} + + +{% block content %} +
+

404

+

This page took a wrong turn

+

+ 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. +

+
+ 🏠 Home + 🗺️ Topic Map + 📚 V1 Archive +
+
+{% endblock %} diff --git a/docs/static/v2_elite.css b/docs/static/v2_elite.css index 508b0cea..9534f07d 100644 --- a/docs/static/v2_elite.css +++ b/docs/static/v2_elite.css @@ -1185,6 +1185,105 @@ 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 h3 { + margin-top: 0; +} +.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; +} + diff --git a/src/reorganize_mosaic.py b/src/reorganize_mosaic.py index af110c86..0b080fd7 100644 --- a/src/reorganize_mosaic.py +++ b/src/reorganize_mosaic.py @@ -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'
') + lines.append(f'
') lines.append('') # Mandatory blank line after block tag - - # Channel links + + # Visible category label (previously only exposed via the hidden title= tooltip) + lines.append(f'

{cat_info["name"]}

') + 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('') diff --git a/src/v2_optimizer.py b/src/v2_optimizer.py index 5521c476..9ddda64b 100644 --- a/src/v2_optimizer.py +++ b/src/v2_optimizer.py @@ -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) @@ -1113,7 +1113,7 @@ class V2VisionEngine: "
\n" " \n" "
\n\n" - "
\n" + "
\n" " \n" "
\n" " \"Kubernetes\"/\n" @@ -1142,6 +1142,13 @@ class V2VisionEngine: "
Architect Video Library
\n" "
\n" "
\n" + " \n" + "
\n" + "
🗺️
\n" + "
Topic Map
\n" + "
All Categories · Directory
\n" + "
\n" + "
\n" " \n" "
\n" " \"Nubenetes\n" @@ -1154,26 +1161,59 @@ 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"
\n{mosaic_html}\n
\n\n" + # Altitude fix: surface the fresh, dynamic Trending/Digest BEFORE the + # signature YouTube mosaic (which now closes the page as a brand showcase). 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"
\n{mosaic_html}\n
\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 = ( + "# 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" + "
\n\n" + ) for dim in self.dimensions.keys(): if dim in dim_groups: - index_md += f"### {dim}\n" + topic_md += "
\n\n" + 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})** {count}\n" + topic_md += "\n
\n\n" + topic_md += "
\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 = ( + "# 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" @@ -1197,7 +1237,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 = "" @@ -1264,9 +1304,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" - "
\n" - " \n" - " \n" + "
\n" + "
\n" + "
\n" "
\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" @@ -1482,6 +1522,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", diff --git a/v2-docs/about.md b/v2-docs/about.md index 597ce108..4d8c42e0 100644 --- a/v2-docs/about.md +++ b/v2-docs/about.md @@ -11,9 +11,9 @@ !!! quote "The Positive Sum Game" ==*"Open Source is most successful when is played as a positive sum game" (Sarah Novotny)*== -
-
+
Kubernetes @@ -53,6 +53,13 @@
Architect Video Library
+ +
+
🗺️
+
Topic Map
+
All Categories · Directory
+
+
Nubenetes Car @@ -79,50 +86,6 @@ - **Status**: The system is incrementally processing pending resources to complete the knowledge graph. -
-
- -[![Google Gemini](images/google_gemini_logo.png){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@GoogleGemini) [![Google DeepMind](images/google_deepmind_logo.png){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@googledeepmind) [![Anthropic](images/anthropic_logo.png){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@anthropic-ai) [![OpenAI](images/openai_logo.png){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/OpenAI) [![Meta AI](images/meta_ai_logo.png){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@aiatmeta) [![Microsoft Copilot](images/microsoft_copilot_logo.png){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@Microsoft.Copilot) [![Microsoft Reactor](images/microsoft_reactor_logo.png){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@MicrosoftReactor) [![dotcsv](images/dotcsv.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@DotCSV) [![Gustavo Entrala](images/gustavo_entrala.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@gustavo-entrala) - -
- -
- -[![aws videos](images/aws_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/amazonwebservices) [![azure videos](images/azure_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/MicrosoftAzure) [![gcp videos](images/gcp_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/user/googlecloudplatform) [![gcp videos new](images/gcp_logo_v2.png){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@googlecloudtech) [![ibm cloud videos](images/ibm_cloud_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/IBMTechnology) [![oraclecloud videos](images/oracle_cloud_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/OracleCloudInfrastructure) [![digitalocean videos](images/digital_ocean_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Digitalocean) [![cloudflare](images/cloudflare_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/cloudflare) [![scaleway cloud](images/scaleway_cloud.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Scaleway-Cloud) [![openstack](images/openstack_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/OpenStackFoundation) [![alibaba cloud](images/alibaba_cloud.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/AlibabaCloud) [![linode cloud](images/linode_cloud.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/linode) [![gaia-x](images/gaia_x.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UCB5WMc2FfrxKzfd7XIODoMw) [![kyndryl](images/kyndryl_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@kyndryl) [![Arsys](images/arsys_logo.svg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@arsys) - -
- -
- -[![cncf videos](images/cncf_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/cloudnativefdn) [![kubernetes logo](images/kubernetes_logo.png){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/kubernetescommunity) [![redhat videos](images/redhat_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/redhat) [![openshift videos](images/openshift_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/OpenShift) [![rancher logo](images/rancher-logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Rancher) [![vmware tanzu logo](images/vmware_tanzu_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/VMwareTanzu) [![argocd project](images/argoproj.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UCOvYmppcbOPm1viN6ust3lA) [![fluxcd](images/fluxcd.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UCoZxt-YMhGHb20ZkvcCc5KA) [![keptn](images/keptn_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/keptn) [![netbox](images/netboxlabs_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@NetBoxLabs) [![kubefm](images/kubefm_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@kubefm) [![container days](images/containerdays.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/ContainerDays) [![tetrate](images/tetrate_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Tetrate) - -
- -
- -[![docker videos](images/docker_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/DockerIo) [![cloudbees videos](images/cloudbees_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/CloudBeesTV) [![jenkins videos](images/jenkins-logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/jenkinscicd) [![jenkins-x videos](images/jenkins_x_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UCN2kblPjXKMcjjVYmwvquvg) [![spinnaker videos](images/spinnaker_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UCcxQbw8kT1-FRhFhO2QCetg) [![harhicorp videos](images/hashicorp_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/HashiCorp) [![pulumi videos](images/pulumi_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/PulumiTV) [![Azure Terraformer](images/azure-terraformer.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@azure-terraformer) [![Ned in the Cloud](images/nedinthecloud.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@NedintheCloud) [![github videos](images/github_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/GitHub) [![gitlab video](images/gitlab_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Gitlab) [![gitkraken](images/gitkraken_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Gitkraken) [![atlassian videos](images/atlassian_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Atlassian) [![postman videos](images/postman_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/postman) [![swagger videos](images/smartbear_swagger_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Smartbear) [![jfrog](images/jfrog_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/JFrogInc) [![sonatype](images/sonatype_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Sonatypeinc) [![sonarsource sonarqube](images/sonarsource_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UCS5-gTYteN9rnFd98YxYtrA) [![ContinuousDeliveryFoundation](images/ContinuousDeliveryFoundation.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/ContinuousDeliveryFoundation) [![azure devops](images/azure_devops_youtube.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/AzureDevOps) - -
- -
- -[![prometheus videos](images/prometheus_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/PrometheusIo) [![grafana videos](images/grafana_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Grafana) [![istio videos](images/istio_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Istio) [![elastic videos](images/elasticsearch_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Elastic) [![dynatrace videos](images/dynatrace_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/dynatrace) [![appdynamics videos](images/appdynamics_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/appdynamics) [![newrelic videos](images/newrelic_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/NewRelicInc) [![tigera calico](images/tigera_calico_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UC8uN3yhpeBeerGNwDiQbcgw) [![weavecloud](images/weavecloud_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/WeaveWorksInc) [![crunchydata](images/crunchydata_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/CrunchyDataPostgres) [![liquibase video](images/liquibase_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UC5qMsRjObu685rTBq0PJX8w) [![cockroachdb](images/cockroachdb_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/cockroachdb) [![mongodb](images/mongodb_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/MongoDBofficial) [![redis](images/redis_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Redisinc) [![confluent video](images/confluent_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Confluent) [![kubemq video](images/kubemq_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UCud7fErZAyMC6lHT_cWZNfA) [![openebs](images/openebs_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UC3ywadaAUQ1FI4YsHZ8wa0g) [![storageos](images/storageos_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UCm63IQg81KP9vXRWSHQpu1w) [![robin](images/robin_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UCt7N400Z8gB_3yKq1qrjP2w) [![portworx](images/portworx_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Portworx) [![ClickHouse](images/clickhouse_logo.svg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@ClickHouseDB) - -
- -
- -[![vscode videos](images/vscode_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Code) [![Playwright](images/playwright_logo.png){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@Playwrightdev) [![chrome developers videos](images/chromedevtools_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/GoogleChromeDevelopers) [![mozilla developer](images/mozilla_developer_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/MozillaDeveloper) [![rh devel](images/rh_developer_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/RedHatDevelopers) [![spring logo](images/spring-logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/user/SpringSourceDev) [![quarkus logo](images/quarkus-logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Quarkusio) [![lightbend videos](images/lightbend_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Lightbend-TV) [![lambdatest](images/lambdatest.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/LambdaTest) [![rocket_chat](images/rocket_chat_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/RocketChatApp) [![slack](images/slack_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Slackhq) [![mattermost](images/mattermost_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/MattermostHQ) [![microsoft365](images/microsoft_365_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/microsoft365) [![openproject](images/openproject_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/OpenProjectCommunity) - -
- -
- -[![cloud academy](images/cloud_academy_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Cloudacademy) [![acloudguru](images/acloudguru_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/AcloudGuru) [![devops_tv](images/devops_tv_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Devopsdotcom) [![xebialabs](images/xebialabs_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/XebiaLabs) [![devops library](images/devops_library_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Devopslibrary) [![codecademy](images/codecademy.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/codecademy) [![coursera](images/coursera_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/user/coursera) [![academind](images/academind_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Academind) [![guru99](images/guru99_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/guru99comm) [![intellipaat](images/intellipaat_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Intellipaat) [![cloud quick POCs](images/cloudquickpocs.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UCv9MUffHWyo2GgLIDLVu0KQ) [![thetips4you](images/thethips4you.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Thetips4you) [![cloud learnhub](images/cloud_learn_hub.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UC57acx8sCmE7uFHfVMvIlNg) [![John Savill](images/John_Savill.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/NTFAQGuy) [![microservice factory](images/microservice_factory.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UCorFV-WGnajyfNu4zPI0AAA) [![kubedb appscode](images/kubedb_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/AppsCodeInc) [![devops toolkit](images/devops_toolkit.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/DevOpsToolkit) [![ansible pilot](images/ansiblepilot.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/AnsiblePilot) [![codelytv](images/codelytv_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/CodelyTV) [![pelado nerd](images/pelado_nerd.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/PeladoNerd) [![hola mundo](images/hola_mundo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/HolaMundoDev) [![javier garzas](images/jgarzas.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/JavierGarz%C3%A1s) [![london IAC](images/londonIAC.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/LondonIAC) [![techworld nana](images/techworld_nana.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/TechWorldwithNana) [![honeypot](images/honeypot.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Honeypotio) [![Ali Spittel](images/aspittel.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/AliSpittelDev) [![thomas maurer](images/thomas_maurer.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/ThomasMaurerCloud) [![freecodecamp](images/freecodecamp.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/Freecodecamp) [![thenewstack](images/thenewstack.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/TheNewStack) [![the cloud girl](images/thecloudgirl.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/priyankavergadia) [![tina huang](images/tinahuang.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/TinaHuang1) [![azure cloud native](images/azure_cloud_native.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/channel/UC2Pk9GcHhlVV0R9CQIU6gLw) [![gps](images/gps.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/MadeByGPS) [![anais urlichs](images/anais_urlichs.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/AnaisUrlichs) [![the digital life](images/the_digital_life.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/TheDigitalLifeTech) [![Tech with Helen](images/techwithhelen.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@techwithhelen) [![bytebytego](images/bytebytego.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@ByteByteGo) [![midulive](images/midulive.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@midulive) [![returngis](images/returngis_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@returngis) [![Olena Kutsenko](images/olena_kutsenko.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@OlenaKutsenko) [![mouredev](images/mouredev.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@mouredev) [![CloudNativeMadrid](images/cloudnativemadrid_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@CloudNativeMadrid) [![itopstalk](images/itopstalk_logo.png){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/@ITOpsTalk) [![dzone](images/dzone_logo.jpg){: style="width:48px; height:48px; object-fit:contain; margin:6px;" .channel-logo}](https://www.youtube.com/c/dzone) - -
-
-