diff --git a/CHANGELOG.md b/CHANGELOG.md index 12cee123..1f46a41d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,20 @@ 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.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 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 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..9043c277 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)*== -
- - +
+
+
### 1. The Genesis: Munich 2018 @@ -34,7 +34,7 @@ We prioritize established frameworks and enterprise standards over ad-hoc, unmai #### 2.4. Avoiding Engineering Anti-Patterns We combat the culture of **Promotion-Based Development (PBD)**, where complexity is manufactured for personal career visibility rather than business value. - - [Promotion-Based Development: A Fast Track to Mediocrity](https://vadimkravcenko.com/shorts/promotion-based-development/) [GUIDE] — Dissects how rewarding "shiny new things" over battle-tested stability leads to fragile architectures. + - [Promotion-Based Development: A Fast Track to Mediocrity](https://vadimkravcenko.com/shorts/promotion-based-development) [GUIDE] — Dissects how rewarding "shiny new things" over battle-tested stability leads to fragile architectures. - [Reddit: The Reality of Promotion-Driven Development](https://www.reddit.com/r/ExperiencedDevs/comments/pw6vuv/promotion_driven_development) [COMMUNITY-TOOL] — A raw, evidence-based discussion from senior engineers on the industry's most common misaligned incentives. ### 3. The Architectural North Star @@ -136,7 +136,7 @@ While certifications like CKA are prominent on CVs, they are frequently utilized #### Terraform Boilerplates ??? note "Terraform Kubernetes Boilerplates 🌟" - **[Access Resource](https://nubenetes.com/terraform/)** 🌟🌟🌟🌟🌟 | Level: Advanced + **[Access Resource](https://nubenetes.com/terraform)** 🌟🌟🌟🌟🌟 | Level: Advanced A library of enterprise-stable Terraform templates configured specifically for modern Kubernetes environments (EKS, GKE, AKS). Includes pre-tested infrastructure specifications for VPC topologies, private nodes, and dynamic ingress setups. diff --git a/v2-docs/index.md b/v2-docs/index.md index 81c2c670..56297f6b 100644 --- a/v2-docs/index.md +++ b/v2-docs/index.md @@ -1,4 +1,4 @@ -# Nubenetes Elite Portal (V2) | Awesome Kubernetes & Cloud [![Awesome](https://cdn.jsdelivr.net/gh/sindresorhus/awesome@d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) +# Nubenetes Elite Portal (V2) | Awesome Kubernetes and Cloud [![Awesome](https://cdn.jsdelivr.net/gh/sindresorhus/awesome@d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) !!! tip "Nubenetes V2 Elite Portal: AI-Curated & High-Density" You are browsing the AI-Curated V2 Elite Edition of Nubenetes. Looking for the complete historical archive? Explore the [**V1 Historical Archive**](/v1/). @@ -24,7 +24,7 @@
-
+
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) - -
-
-