Merge pull request #123 from nubenetes/develop

Develop
This commit is contained in:
Inaki
2026-05-16 01:32:13 +02:00
committed by GitHub
40 changed files with 487 additions and 113 deletions
@@ -37,5 +37,6 @@ jobs:
GEMINI_API_KEY_1: ${{ secrets.GEMINI_API_KEY_1 }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PYTHONPATH: ${{ github.workspace }}
PYTHONUNBUFFERED: 1
run: |
python src/intelligent_health_checker.py
+22 -5
View File
@@ -19,13 +19,23 @@ This file contains the accumulated instructions and long-term vision for the aut
13. **Detailed Logging for V2**: When running the V2 Optimizer, agents MUST use unbuffered logging and detailed output messages. If the optimizer returns '0 links kept', the agent MUST investigate the logs to determine if it was due to AI selection or a parsing/API error.
14. **Persistent V2 Caching**: The V2 Optimizer MUST use a persistent cache file (`data/v2_cache.json`) to store AI evaluations (year, quality, category). This is mandatory to minimize API costs and ensure execution speed across 15k+ links.
15. **GitHub Metadata Enrichment**: For all `github.com` resources, the bot MUST attempt to fetch real-time metadata (stars, last commit) using the GitHub API. This data must be included in the V2 rendering to provide current context.
16. **Resilient Link Health**: Every V2 generation cycle MUST perform asynchronous health checks. The bot MUST use identity rotation (User-Agents) and multiple attempts (3x) with backoff to minimize false negatives. Only definitive **404 Not Found** errors lead to removal; other failures (timeouts, 403s) result in the link being preserved but flagged as `[OFFLINE?]` to ensure maximum technical preservation. GitHub and 'Foundational' resources are exempt from removal based on health checks.
17. **Automated Branch Hygiene**: To keep the repository clean and efficient, an automated cleanup MUST run every 15 days (1st and 15th) to delete remote branches already merged into `develop`. The branches `master`, `develop`, and `gh-pages` are strictly protected and MUST NEVER be deleted.
18. **V1/V2 Asset Integrity & Rendering**:
16. **Resilient Link Health & Global Cleaning**:
- **Health Checks**: Every V2 generation and global cleaning cycle MUST perform asynchronous health checks using identity rotation (User-Agents) and multiple attempts (3x).
- **V1 Exhaustiveness**: The `IntelligentLinkChecker` operating on V1 MUST preserve all technically valid links regardless of their age. Deletion is strictly reserved for definitively invalid links (404s, dead redirects, etc.).
- **V2 Elite Selection (MVQ)**: The `V2VisionEngine` MUST continue to apply the **Minimum Viable Quality (MVQ)** logic. GitHub repositories inactive for >4 years with low impact (stars < 30) are deprioritized or excluded ONLY from the V2 Elite edition to ensure freshness.
- **Foundational Protection**: GitHub and 'Foundational' resources are exempt from automatic removal based on health, but may be flagged for review.
- **Consolidation**: If a deep link fails but the repository root is alive, the bot MUST consolidate the reference to the root.
17. **Unified Curation Chronology**: All curation workflows (V1 and V2) MUST utilize the same chronological and descriptive engine.
- **Extraction**: Every new link MUST attempt to extract a publication year (URL, metadata, or AI inference).
- **Formatting**: New links MUST follow the format ` - **(YYYY)** [Title](URL) 🌟 - Description`. If year is 'N/A', the prefix is omitted.
- **Elite Descriptions**: AI-generated descriptions MUST be professional, neutral, and focus on the technical value for a 2026 Cloud Architect.
18. **Automated Branch Hygiene**: To keep the repository clean and efficient, an automated cleanup MUST run every 15 days (1st and 15th) to delete remote branches already merged into `develop`. The branches `master`, `develop`, and `gh-pages` are strictly protected and MUST NEVER be deleted.
19. **V1/V2 Asset Integrity & Rendering**:
- **Source of Truth**: V1 (`docs/`) is the absolute source of truth for assets. V2 portal (`v2-docs/`) MUST NOT duplicate folders; it uses symlinks or relative paths.
- **Rendering Fix (HTML in MD)**: All `<center>` tags MUST be defined as `<center markdown="1">` and followed by a mandatory blank line before and after the content. This ensures MkDocs processes the Markdown within the HTML block.
- **Flat Asset Routing**: To avoid depth-related path breakage, both V1 (`mkdocs.yml`) and V2 (`v2-mkdocs.yml`) MUST have `use_directory_urls: false`. This ensures relative paths (e.g., `images/img.png`) resolve correctly regardless of the page depth.
19. **V2 Navigation Design**: The V2 top navigation bar MUST maintain a flat structure. All dimensions and categories must be top-level tabs in `v2-mkdocs.yml` to ensure direct discoverability and avoid nested groupings like "Categories".
20. **V2 Navigation Design**: The V2 top navigation bar MUST maintain a flat structure. All dimensions and categories must be top-level tabs in `v2-mkdocs.yml` to ensure direct discoverability and avoid nested groupings like "Categories".
21. **V2 Impact-Driven Sorting**: The V2 portal MUST prioritize **relevance (Impact) over dates** within sections to provide high-density technical value. Sorting MUST follow: 1. Stars/Relevance (DESC), 2. Year (DESC). The mission statement and descriptions MUST reflect this impact-driven synthesis.
## 🛠️ Structural Evolution & Navigation
...
@@ -109,7 +119,7 @@ The bot must rotate between profiles to avoid detection:
## 📈 Learning Diary (Improvement History)
* **May 2026**: Initial implementation of the autonomous engine with Playwright and Wayback Machine.
* **May 2026**: Initial implementation of the autonomous engine with Playwright and GitHub API.
* **May 2026**: Added Multidimensional Evasion system (5 attempts, profile rotation).
* **May 2026**: Creation of `AgenticCurator` for navigation audit and repository consolidation.
* **May 2026**: Generation of PRs with visual analytics (Mermaid) and Health Matrix.
@@ -128,3 +138,10 @@ The bot must rotate between profiles to avoid detection:
- **Maturity Taxonomy**: Replaced generic labels with a professional 5-tier system (`[DE FACTO STANDARD]`, `[ENTERPRISE-STABLE]`, `[EMERGING]`, `[LEGACY]`, `[GUIDE]`) explained in the V2 Index.
- **Mandatory Descriptions**: Every resource in V2 MUST have a description. If the V1 source is missing one, the Optimizer uses Gemini to generate a professional 1-2 sentence summary and caches it.
- **Manual Control**: The workflow supports a `force_reevaluate` flag for full architectural refreshes.
* **May 2026**: **V2 UI Hardening & Unified Curation Engine**:
- **Highlighting Fixed**: Enabled `pymdownx.mark` in V2 and implemented strategic highlighting (`==text==`) for top-tier/Standard resources.
- **Clean Chronology**: Refined V1 and V2 engines to hide `(N/A)` dates, providing a cleaner UI.
- **Impact-Driven Synthesis**: Shifted V2 mission from pure "chronological clarity" to "impact-driven synthesis", prioritizing Stars/Impact over dates while maintaining chronological data.
- **Relevance-First Sorting**: Updated V2 logic to prioritize Stars/Impact over dates within dimension categories.
- **Unified Metadata Engine**: Integrated V2's year extraction and professional description logic into the main V1 curation workflow (`src/agentic_curator.py`).
- **Advanced MVQ Cleaning**: Upgraded the `IntelligentLinkCleaner` to use V2's MVQ logic (GitHub activity checks) and unbuffered real-time logging.
+20 -17
View File
@@ -55,25 +55,25 @@ Nubenetes is one of the most comprehensive archives in the ecosystem, featuring
| Metric | Value |
| :--- | :--- |
| **Total Technical Resources (Links)** | **17133+** |
| **Total Technical Resources (Links)** | **17110+** |
| **Specialized MD Pages** | **161** |
| **Total Commits** | **4023+** |
| **Total Commits** | **4074+** |
| **Primary AI Engine** | **Google Gemini (Agentic)** |
### Top Categories by Density
| Category (Markdown Page) | Total Links |
| :--- | :---: |
| [Kubernetes](docs/kubernetes.md) | 1149 |
| [Kubernetes Tools](docs/kubernetes-tools.md) | 740 |
| [Terraform](docs/terraform.md) | 640 |
| [Kubernetes](docs/kubernetes.md) | 1147 |
| [Kubernetes Tools](docs/kubernetes-tools.md) | 739 |
| [Terraform](docs/terraform.md) | 639 |
| [Demos](docs/demos.md) | 538 |
| [Git](docs/git.md) | 497 |
| [Azure](docs/azure.md) | 487 |
| [Azure](docs/azure.md) | 484 |
| [Jenkins](docs/jenkins.md) | 458 |
| [Devsecops](docs/devsecops.md) | 407 |
| [Managed Kubernetes In Public Cloud](docs/managed-kubernetes-in-public-cloud.md) | 379 |
| [Monitoring](docs/monitoring.md) | 347 |
| [Monitoring](docs/monitoring.md) | 346 |
### Historical Growth (Commits & References)
@@ -90,13 +90,13 @@ The growth of Nubenetes reflects the acceleration of the Cloud Native ecosystem.
| 2023 | 30 | 123 | Maintenance & Refinement |
| 2024 | 53 | 218 | Curation Strategy Pivot |
| 2025 | 5 | 20 | Stability & Research Phase |
| 2026 | 464 | 1,916 | **Agentic AI Surge** (May 2026 Inception) |
| 2026 | 515 | 2,126 | **Agentic AI Surge** (May 2026 Inception) |
#### 2026: The Agentic Monthly Surge
| Month | Commits | Est. New Refs | Status |
| :--- | :---: | :---: | :--- |
| 2026-04 | 25 | 103 | Active Curation |
| 2026-05 | 439 | 1,813 | **Agentic Inception (Gemini Era)** |
| 2026-05 | 490 | 2,023 | **Agentic Inception (Gemini Era)** |
### Content Distribution & Semantic Clustering
@@ -198,10 +198,11 @@ Nubenetes operates with two distinct editions to serve different engineering nee
To maintain the high-density quality of V2 without redundant AI costs, the `V2VisionEngine` implements an incremental synchronization strategy:
1. **Intelligent Caching**: It utilizes `data/v2_cache.json` to store previous AI evaluations. Only NEW links added to V1 are sent to Gemini for classification.
2. **Dynamic "Upgrading"**: Even for cached links, the engine performs real-time local updates:
- **GitHub Metadata**: Fetches live star counts and last-commit dates via the GitHub API to ensure chronological accuracy.
- **GitHub Metadata**: Fetches live star counts and last-commit dates via the GitHub API to ensure chronological accuracy and MVQ compliance.
- **Maturity Tagging**: Applies a sophisticated 5-tier taxonomy (De Facto Standard, Enterprise Stable, Emerging, Legacy, Guide) based on live data.
- **Mandatory AI Descriptions**: Ensures 100% description coverage. If a link in V1 lacks a description, the engine automatically generates a professional summary using Gemini.
3. **Flat Routing**: Both versions use `use_directory_urls: false` to ensure relative asset paths (`images/`) remain stable across all sub-pages.
3. **UI Polish**: Implements strategic highlighting (`==text==`) for top-tier resources and a clean chronological view that hides unknown dates.
4. **Flat Routing**: Both versions use `use_directory_urls: false` to ensure relative asset paths (`images/`) remain stable across all sub-pages.
### Comparison Matrix
| Feature | V1 (Exhaustive) | V2 (Elite) |
@@ -209,8 +210,9 @@ To maintain the high-density quality of V2 without redundant AI costs, the `V2Vi
| **Philosophy** | "Leave no resource behind" | "Only the best for 2026" |
| **Volume** | High (17k+ Links) | Optimized (~2k Links) |
| **Depth** | Historical & Wide | Cutting-edge & Deep |
| **Chronology** | **Unified Engine** (YYYY) | **Unified Engine** (YYYY) |
| **Filtering** | Basic (Health only) | AI-Scored (🌟🌟🌟) |
| **MVQ Check** | No | Yes (Stale repos deprioritized) |
| **MVQ Check** | No (Exhaustive Preservation) | Yes (Stale repos deprioritized) |
---
@@ -220,15 +222,16 @@ The heart of the new Nubenetes is a suite of AI Agents that operate on our `deve
1. **AgenticCurator (`src/agentic_curator.py`)**:
- **Discovery:** Scans X.com (multiple accounts) and other curation sources.
- **Evaluation:** Uses Gemini to score resources based on technical significance, impact, and date.
- **Classification:** Automatically maps new resources to the correct `.md` page using semantic matching.
- **Evaluation:** Uses Gemini to score resources based on technical significance, impact, and **publication year**.
- **Classification:** Automatically maps new resources to the correct `.md` page using semantic matching and generates professional technical descriptions.
2. **V2VisionEngine (`src/v2_optimizer.py`)**:
- **Elite Selection:** Scans the massive V1 archive to select the "Elite" top-tier resources.
- **2026 Taxonomy:** Reorganizes the content into high-density dimensions (e.g., "Intelligent Control Plane").
- **Deprioritization:** Automatically identifies stale repositories (>4 years without activity) and reduces their visibility.
- **2026 Taxonomy:** Reorganizes the content into high-density dimensions (e.g., "Intelligent Control Plane") using **relevance-first sorting**.
- **MVQ Hardening:** Automatically identifies stale repositories (>4 years without activity) to exclude them from the Elite portal.
3. **IntelligentHealthChecker (`src/intelligent_health_checker.py`)**:
- **Resilience:** Performs asynchronous health checks with 3x retry and identity rotation.
- **Persistence:** Instead of aggressive deletion, it flags `[OFFLINE?]` links to preserve historical technical context.
- **V1 Integrity:** Focuses strictly on link validity (removing 404s) to ensure the exhaustive V1 archive remains accessible and error-free.
- **Transparency:** Provides detailed, real-time unbuffered logging of all cleaning operations.
---
-3
View File
@@ -248,7 +248,6 @@
- [Azure Sandbox](https://learn.microsoft.com/en-us/azure/architecture/guide/azure-sandbox/azure-sandbox) Azure Sandbox is a collection of interdependent cloud computing configurations for implementing common Azure services on a single subscription. This collection provides a flexible and cost effective sandbox environment for experimenting with Azure services and capabilities.
## Azure Marketplace
- [AKS Bitnami Open Source Deployments](http://blog.aks.azure.com/2025/04/03/aks-bitnami-open-source-deployments) 🌟 - This article discusses leveraging Bitnami's open-source application catalog for easier deployments on Azure Kubernetes Service (AKS). It highlights how Bitnami charts simplify the installation and management of various applications within AKS environments, promoting efficient use of cloud-native technologies.
- [azuremarketplace.microsoft.com: Firefly](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/gofireflyltd1705083203658.firefly) Firefly's Cloud Asset Management solution enables Cloud teams to rediscover their entire cloud footprint and manage it more efficiently and consistently as a single inventory across multi-cloud, multi-accounts, and Kubernetes deployments. At the same time, it empowers DevOps to quickly ramp Infrastructure-as-code, and to create and deploy cloud infrastructure safely and consistently within organizational policies.
@@ -312,7 +311,6 @@
## Understand Azure Load Balancing
- [Reduce Latency with Azure Proximity Placement Groups](https://hansencloud.com/2025/02/24/reduce-latency-with-azure-proximity-placement-groups/) - This article explains how Azure Proximity Placement Groups can be used to physically co-locate Azure compute resources, ensuring low latency between them. It discusses use cases for latency-sensitive applications like manufacturing systems and in-memory computations, and includes details on testing the effectiveness of these groups.
- [Azure Front Door Integration with AKS Ingress for TLS and App Routing](http://blog.aks.azure.com/2025/03/14/afd-aks-ingress-tls-approuting) - *(Related to kubernetes-networking topic)*
- [docs.microsoft.com: Understand Azure Load Balancing. Decision tree for load balancing in Azure](https://docs.microsoft.com/en-us/azure/architecture/guide/technology-choices/load-balancing-overview)
- [mvark.blogspot.com: Comparison of Azure Front Door, Traffic Manager, Application Gateway & Load Balancer](http://mvark.blogspot.com/2019/12/comparison-of-azure-front-door-traffic.html)
@@ -469,7 +467,6 @@
- [youtube: Databricks CI/CD: Azure DevOps Pipeline + DABs](https://www.youtube.com/watch?v=SZM49lGovTg) Many organizations choose Azure DevOps for automated deployments on Azure. When deploying to Databricks you can take similar deploy pipeline code that you use for other projects but use it with Databricks Asset Bundles. This video shows most of the steps involved in setting this up by following along with a blog post that shares example code and steps.
## Azure AD and RBAC. Azure Tenant and Azure Subscription. Service Principal SPN. Microsoft Entra
- [Automating Microsoft Entra ID with Terraform: From CSV to Users and RBAC in Minutes](https://luisadanmunoz.github.io/posts/Automatizaci%C3%B3n-de-Microsoft-Entra-ID-con-Terraform-De-CSV-a-Usuarios-y-RBAC-en-Minutos/) - *(Related to terraform topic)*
- [EntraExporter](https://github.com/microsoft/entraexporter) - A PowerShell module for exporting Entra (Azure AD) and Azure AD B2C configuration settings to local JSON files. It can be integrated into scheduled tasks or CI/CD pipelines (Azure DevOps, GitHub, Jenkins) and the exported files can be version controlled.
- [From Zero to Hero with Identity and Access Control in Azure Kubernetes Service](https://techcommunity.microsoft.com/blog/startupsatmicrosoftblog/from-zero-to-hero-with-identity-and-access-control-in-azure-kubernetes-service/4386350) - *(Related to kubernetes-security topic)*
-1
View File
@@ -40,7 +40,6 @@
## K8s Diagrams
- [Draw.io MCP for Diagram Generation: Why Its Worth Using](https://thomasthornton.cloud/draw-io-mcp-for-diagram-generation-why-its-worth-using/) - This blog post discusses the benefits of using Draw.io MCP (Model Context Protocol) to generate diagrams from structured input like text, CSV, or Mermaid. It highlights how this approach integrates diagrams with code and infrastructure, turning them into living assets that evolve with the system, especially relevant for cloud, platform, and AI-assisted engineering workflows.
- [Control Plane Load Balancing Explained](https://t0.mirantis.com/control-plane-load-balancing-explained-ad3816837cc0) - *(Related to kubernetes topic)*
- [==cloudogu/k8s-diagrams==](https://github.com/cloudogu/k8s-diagrams) A collection of diagrams explaining kubernetes by cloudogu, written in [PlantUML](https://twitter.com/PlantUML).
-1
View File
@@ -217,7 +217,6 @@ Kubernetes packages
## Helm Tools
- [Nelm: A Helm Alternative for Kubernetes Deployments](https://github.com/werf/nelm) - Nelm is a Kubernetes deployment tool designed as a modern alternative to Helm. It aims to address long-standing issues in Helm and introduce new features, managing Helm Charts and facilitating their deployment to Kubernetes.
- [AKS Bitnami Open Source Deployments](http://blog.aks.azure.com/2025/04/03/aks-bitnami-open-source-deployments) - *(Related to azure topic)*
- [redhat-certification: chart-verifier: Rules based tool to certify Helm charts 🌟](https://github.com/redhat-certification/chart-verifier)
- [helm-changelog: Create changelogs for Helm Charts, based on git history](https://github.com/mogensen/helm-changelog)
-1
View File
@@ -71,7 +71,6 @@
- [AZVerify: Bridging Azure Resources, Bicep Templates, and Diagrams with GitHub Copilot](https://github.com/Azure/AZVerify) - *(Related to azure topic)*
- [Azure Landing Zone IaC Accelerator Release Notes](https://azure.github.io/Azure-Landing-Zones/accelerator/accelerator-release-notes/) 🌟 - Official release notes for the Azure Landing Zone Infrastructure as Code (IaC) Accelerator, detailing changes, particularly breaking changes that may require user action. It also links to release notes for individual components like PowerShell modules and Terraform/Bicep starter modules, and highlights new features such as a local management group for Azure Local/Sovereign workloads.
- [Terraform 2.0 in Practice: Using AI to Generate Infrastructure as Code](https://markaicode.com/terraform-ai-infrastructure-as-code/) - *(Related to terraform topic)*
- [Automating Microsoft Entra ID with Terraform: From CSV to Users and RBAC in Minutes](https://luisadanmunoz.github.io/posts/Automatizaci%C3%B3n-de-Microsoft-Entra-ID-con-Terraform-De-CSV-a-Usuarios-y-RBAC-en-Minutos/) - *(Related to terraform topic)*
- [Transitioning an Existing Azure Environment to the Azure Landing Zone Reference Architecture](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/enterprise-scale/transition) - *(Related to azure topic)*
- [Terraform Provider for Google Cloud 7.0 is now GA](https://www.hashicorp.com/en/blog/terraform-provider-for-google-cloud-7-0-is-now-ga) - *(Related to terraform topic)*
- [AWS Organizations: The Key to Managing Your Cloud Infrastructure Effectively](https://awsfundamentals.com/blog/aws-organizations-the-key-to-managing-your-cloud-infrastructure-effectively) - *(Related to aws topic)*
-1
View File
@@ -136,7 +136,6 @@
## Python Interview Questions
- [15 Essential Python Interview Questions](https://www.codementor.io/python/tutorial/essential-python-interview-questions)
- [Python mini-quiz](http://www.mypythonquiz.com/)
- [learnsteps.com: DevOps Interview Questions: Important Python questions](https://www.learnsteps.com/devops-interview-questions-important-python-questions/)
-1
View File
@@ -520,7 +520,6 @@
- [primevideotech.com: Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%](https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90) The move from a distributed microservices architecture to a monolith application helped achieve higher scale, resilience, and reduce costs.
## Openshift VS Kubernetes
- [OCP4 Getting Started Showroom](https://rhpds.github.io/ocp4-getting-started-showroom/modules/main/index.html) - *(Related to ocp4 topic)*
- [Dzone.com: 4 Cluster Management Tools to Compare](https://dzone.com/articles/4-cluster-management-tools-to-compare)
- [Dzone.com: A Comparison of Kubernetes Distributions](https://dzone.com/articles/kubernetes-distributions-how-do-i-choose-one)
-1
View File
@@ -58,7 +58,6 @@
- [medium.com/@emmaliaocode: kubectl create vs kubectl apply. Whats the difference?](https://medium.com/@emmaliaocode/kubectl-create-vs-kubectl-apply-whats-the-differences-f6472f4c6c86)
- [hidetatz/kubecolor 🌟](https://github.com/hidetatz/kubecolor) colorizes kubectl output
- [medium.com/codex: Kubectl Output 101](https://medium.com/codex/kubectl-output-101-851f8e61fd51) Cheatsheet & examples of using kubectl get -o
- [lovethepenguin.com: Kubernetes: common pod operations](https://lovethepenguin.com/kubernetes-common-pod-operations-ee23a402b9f4)
- [medium.com/geekculture: kubectl — Best Practices](https://medium.com/geekculture/kubectl-best-practices-c4ff809167dd)
- [==learnitguide.net: How to Create ConfigMap from Properties File Using K8s Client==](https://www.learnitguide.net/2023/04/how-to-create-configmap-from-properties.html)
- [shardul.dev: Most Useful kubectl Plugins](https://shardul.dev/most-useful-kubectl-plugins/) In this article, you will have a look at the following kubectl plugins:
-1
View File
@@ -99,7 +99,6 @@
## Kubernetes Logging
- [Setup Prometheus Using Helm Chart on Kubernetes](https://devopscube.com/setup-prometheus-helm-chart/) - *(Related to prometheus topic)*
- [KoaPerf: Kubernetes Performance Monitoring](https://koaperf-apeseqd2cehnhjgh.z03.azurefd.net/) - KoaPerf is a performance monitoring tool specifically designed for Kubernetes environments. It aims to provide insights into the performance characteristics of Kubernetes clusters and applications running within them.
- [bul: Interactive TUI for Exploring Kubernetes Container Logs](https://github.com/ynqa/bul) - *(Related to kubernetes-tools topic)*
- [cncf.io: Logging in Kubernetes: EFK vs PLG Stack](https://www.cncf.io/blog/2020/07/27/logging-in-kubernetes-efk-vs-plg-stack/)
-2
View File
@@ -306,7 +306,6 @@ Cilium allows users to specify an egress NAT policy
- [==ahmetb/kubernetes-network-policy-recipes== 🌟](https://github.com/ahmetb/kubernetes-network-policy-recipes) Example recipes for Kubernetes Network Policies that you can just copy paste. This repository contains various use cases of Kubernetes Network Policies and sample YAML files to leverage in your setup. If you ever wondered how to drop/restrict traffic to applications running on Kubernetes, this is for you
## Kubernetes Ingress Specification
- [Azure Front Door Integration with AKS Ingress for TLS and App Routing](http://blog.aks.azure.com/2025/03/14/afd-aks-ingress-tls-approuting) 🌟 - This blog post details how to integrate Azure Front Door (AFD) with Azure Kubernetes Service (AKS) Ingress controller to handle TLS termination and application routing. It provides a technical walkthrough for setting up a more robust and scalable ingress solution for Kubernetes applications hosted on AKS.
- [Supporting the Evolving Ingress Specification in Kubernetes 1.18](https://kubernetes.io/blog/2020/06/05/supporting-the-evolving-ingress-specification-in-kubernetes-1.18/)
- [medium: Ingress service types in Kubernetes 🌟](https://medium.com/faun/ingress-service-types-in-kubernetes-3e9b68b78307)
@@ -447,4 +446,3 @@ Cilium allows users to specify an egress NAT policy
</center>
</details>
- [Control Plane Load Balancing Explained](https://t0.mirantis.com/control-plane-load-balancing-explained-ad3816837cc0) - *(Related to kubernetes topic)*
-1
View File
@@ -1041,7 +1041,6 @@ elastic quotas - Effortless optimization at its finest!
## kubernetes-operators-controllers
- [Kueue Release v0.14.0](https://github.com/kubernetes-sigs/kueue/releases/tag/v0.14.0) - *(Related to kubernetes-operators-controllers topic)*
- [AKS Bitnami Open Source Deployments](http://blog.aks.azure.com/2025/04/03/aks-bitnami-open-source-deployments) - *(Related to azure topic)*
- [Azure/aad-pod-identity)](https://github.com/Azure/aad-pod-identity) Assign Azure Active Directory Identities to Kubernetes applications.
-1
View File
@@ -108,7 +108,6 @@
## Learning Tools
- [Build Your Own X](https://github.com/codecrafters-io/build-your-own-x) 🌟 - A repository offering step-by-step guides to recreate various technologies from scratch, promoting deep understanding through practical implementation. It covers a wide range of domains including AI, databases, operating systems, and networking.
- [OCP4 Getting Started Showroom](https://rhpds.github.io/ocp4-getting-started-showroom/modules/main/index.html) - *(Related to ocp4 topic)*
- [Quiz Grader](https://github.com/ned1313/quiz-grader) - *(Related to ai topic)*
- [DevOps Roadmap for 2026](https://github.com/milanm/DevOps-Roadmap) - *(Related to devops topic)*
- [What is Podman and How Does it Compare to Docker?](https://build5nines.com/what-is-podman-and-how-does-it-compare-to-docker/) - *(Related to container-managers topic)*
-2
View File
@@ -786,7 +786,6 @@
- [Automated Let's Encrypt Certificates in Azure Key Vault with ACME Bot](https://cloudbuild.co.uk/free-automated-lets-encrypt-certificates-in-azure-key-vault-with-acme-bot-a-step-by-step-guide/) - *(Related to azure topic)*
- [Controlling Process Resources with Linux Control Groups (cgroups)](https://labs.iximiuz.com/tutorials/controlling-process-resources-with-cgroups) 🌟 - A practical tutorial demonstrating how to limit CPU and RAM consumption of processes using Linux Control Groups (cgroups). It covers manual manipulation of cgroupfs, as well as using higher-level tools like libcgroup and systemd. The techniques discussed are directly applicable to managing container and Pod resources in environments like Docker and Kubernetes.
- [How to run Deepseek R1 LLMs on GPU Droplets](https://www.digitalocean.com/community/tutorials/deepseek-r1-gpu-droplets) - *(Related to ai topic)*
- [Control Plane Load Balancing Explained](https://t0.mirantis.com/control-plane-load-balancing-explained-ad3816837cc0) 🌟 - A technical explanation of control plane load balancing in Kubernetes, detailing its importance, common strategies, and considerations for high availability and performance.
- [Architecture Best Practices for Azure Kubernetes Service (AKS)](https://learn.microsoft.com/en-us/azure/well-architected/service-guides/azure-kubernetes-service) - *(Related to azure topic)*
- [medium: Kubernetes Resources 🌟](https://medium.com/@pratyush.mathur/kubernetes-resources-c09d172dbdc5)
@@ -1001,7 +1000,6 @@
- Recreate
- [medium.com/@chamakenjefi: Kubernetes deployments using a ConfigMap with a custom index.html page](https://medium.com/@chamakenjefi/kubernetes-deployments-using-a-configmap-with-a-custom-index-html-page-5b4de0a7aa1b)
- [medium.com/@vrnvav97: Canary Deployment in Kubernetes](https://medium.com/@vrnvav97/canary-deployment-in-kubernetes-a18c81cb9b) Canary deployment is pattern used to rollout changes to apps in controlled & safe manner. It involves releasing new version of app to a subset of users/nodes, allowing new version to be tested in prod-like environment.
- [lovethepenguin.com: Kubernetes: How to Create a deployment](https://lovethepenguin.com/kubernetes-how-to-create-a-deployment-820e07e47806)
- [medium.com/@the.nick.miller: Custom Deployments with Kubernetes](https://medium.com/@the.nick.miller/multi-container-deployments-with-kubernetes-33c824d8d9a4)
- [==amolmote.hashnode.dev: ReplicaSet & Deployment In Kubernetes== 🌟](https://amolmote.hashnode.dev/replicaset-deployment-in-kubernetes#heading-what-is-deployment) In this article, you'll learn the basic concepts of the ReplicaSet and Deployment, how they are different and when you should use one or the other
- [teplyheng.medium.com: Understand the difference between Deployments and ReplicaSet 🌟](https://teplyheng.medium.com/understand-the-difference-between-deployments-and-replicaset-7e1cfd4d8639)
-1
View File
@@ -312,7 +312,6 @@ OpenShift Cluster Monitoring components cannot be extended since they are read o
- [Performance Patterns in Microservices-Based Integrations 🌟](https://dzone.com/articles/performance-patterns-in-microservices-based-integr-1) Almost all applications that perform anything useful for a given business need to be integrated with one or more applications. With microservices-based architecture, where a number of services are broken down based on the services or functionality offered, the number of integration points or touch points increases massively.
## List of Performance Analysis Tools
- [KoaPerf: Kubernetes Performance Monitoring](https://koaperf-apeseqd2cehnhjgh.z03.azurefd.net/) - *(Related to kubernetes-monitoring topic)*
- [Awesome Sysadmin](https://github.com/awesome-foss/awesome-sysadmin) - *(Related to devops-tools topic)*
- Threadumps + heapdumps + GC analysis tools
-1
View File
@@ -74,7 +74,6 @@
35. [Videos](#videos)
## OpenShift Container Platform 4 (OCP 4)
- [OCP4 Getting Started Showroom](https://rhpds.github.io/ocp4-getting-started-showroom/modules/main/index.html) 🌟 - A comprehensive guide and showroom for getting started with OpenShift Container Platform 4 (OCP4), covering various modules and functionalities.
- [blog.openshift.com: Introducing Red Hat OpenShift 4](https://blog.openshift.com/introducing-red-hat-openshift-4/)
- [nextplatform.com: red hat flexes CoreOS muscle in openshift kubernetes platform](https://www.nextplatform.com/2018/10/15/red-hat-flexes-coreos-muscle-in-openshift-kubernetes-platform/)
-1
View File
@@ -106,7 +106,6 @@
- [scrum.org: Scrum no es una metodología, es un marco de trabajo](https://www.scrum.org/resources/blog/scrum-no-es-una-metodologia-es-un-marco-de-trabajo)
- [scrum.org: Posturas del Product Owner](https://www.scrum.org/resources/blog/posturas-del-product-owner)
- [itnove.com: La Guía Scrum 2020 en Español](https://itnove.com/scrum-la-guia-scrum-2020-en-espanol/)
- [rockcontent.com: Conoce los principales tipos de consultoría en las que tu negocio puede invertir para explotar su potencial](https://rockcontent.com/es/blog/tipos-de-consultoria/) La consultoría es un servicio profesional destinado a resolver un problema de tu empresa, ayudándola a detectar falencias y lograr el aprovechamiento de distintas oportunidades para su crecimiento.
- [entrepreneur.com: ¿Cómo manejar un equipo que trabaja desde sus casas?](https://www.entrepreneur.com/article/365880)
- [mamaqueesscrum.com: Mamá… ¿Qué es Scrum?](https://mamaqueesscrum.com/2018/11/12/labores-que-un-product-owner-deberia-hacer-que-no-aparecen-en-la-scrum-guide/) Labores que un Product Owner podría hacer que no aparecen en la Scrum Guide
-1
View File
@@ -36,7 +36,6 @@
- [intellipaat.com: AWS vs Azure vs Google Detailed Cloud Comparison](https://intellipaat.com/blog/aws-vs-azure-vs-google-cloud/)
- [comparecloud.in: Public Cloud Services Comparison 🌟](https://comparecloud.in/)
- [zarantech.com: Difference between AWS and Azure](https://www.zarantech.com/blog/difference-between-aws-and-azure/)
- [medium: AWS vs Azure — Battle Of The Best Cloud Computing Platforms](https://medium.com/edureka/aws-vs-azure-1a882339f127)
- [youtube: A Cloud Guru - Cloud Provider Comparisons 🌟](https://www.youtube.com/playlist?app=desktop&list=PLI1_CQcV71RnBebKm_tH1uKYI3WxkM2TT)
- [xataka.com: El talón de Aquiles de AWS son sus altas tarifas de salida de datos, y sus rivales empiezan a explotarlo: guerra de precios contra el gigante de la nube](https://www.xataka.com/pro/talon-aquiles-aws-sus-altas-tarifas-salida-datos-sus-rivales-empiezan-a-explotarlo-guerra-precios-gigante-nube)
-1
View File
@@ -86,7 +86,6 @@
- [devbattles.com: Python list. Functions and Methods lists](http://www.devbattles.com/en/sand/post-1754-Python_list_Functions_and_Methods_lists)
- [devbattles.com: Python: sorting lists by .sort () with - in simple words](http://www.devbattles.com/en/sand/post-1752-Python_sorting_lists_by_sort__with__in_simple_words)
- [Create a GUI Application Using Qt and Python in Minutes: Example Web Browser](http://www.digitalpeer.com/blog/create-a-gui-application-using-qt-and-python-in-minutes-example-web-browser)
- [Python command line oneliners](http://www.vurt.ru/2013/02/python-command-line-oneliners)
- [Python FAQ: Why should I use Python 3? 🌟](https://eev.ee/blog/2016/07/31/python-faq-why-should-i-use-python-3/)
- [stackoverflow: Problems installing python3 on RHEL 🌟](http://stackoverflow.com/questions/8087184/problems-installing-python3-on-rhel)
- [PEP 8 Cheatsheet 🌟](https://es.scribd.com/document/207247675/PEP-8-Cheatsheet-2009)
-1
View File
@@ -39,7 +39,6 @@ in your Bitbucket repositories
### GCP Kubernetes
- [click-to-deploy/sonarqube](https://github.com/GoogleCloudPlatform/click-to-deploy/tree/master/k8s/sonarqube)
- [Installing SonarQube on GCP using Kubernetes](https://www.solstice.com/fwd/sonarqube-gcp-kubernetes)
## SonarQube Scanners
-1
View File
@@ -134,7 +134,6 @@
## Terraform
- [Terraform 1.15: Flexible Module Management, Deprecation Warnings, and Windows ARM64 Support](https://t.co/C6uicr7ZPS) 🌟 - This update to Terraform (version 1.15) introduces significant enhancements, including flexible module management via variable support in source attributes, explicit deprecation warnings for configurations, and native support for Windows ARM64. These features aim to improve user experience, configuration clarity, and platform compatibility.
- [Terraform 2.0 in Practice: Using AI to Generate Infrastructure as Code](https://markaicode.com/terraform-ai-infrastructure-as-code/) 🌟 - This article explores how Terraform 2.0 integrates AI capabilities to automatically generate infrastructure code (HCL) from natural language descriptions. It highlights the benefits of using AI with Terraform, such as reducing errors, accelerating deployment, and creating standardized environments.
- [Automating Microsoft Entra ID with Terraform: From CSV to Users and RBAC in Minutes](https://luisadanmunoz.github.io/posts/Automatizaci%C3%B3n-de-Microsoft-Entra-ID-con-Terraform-De-CSV-a-Usuarios-y-RBAC-en-Minutos/) - This post details how to automate the creation of users and Role-Based Access Control (RBAC) in Microsoft Entra ID using Terraform. It explains a practical workflow to import user data from a CSV file and provision them along with their assigned roles, significantly reducing manual effort.
- [Terraform Azure Resource IPAM Module](https://registry.terraform.io/modules/hlokensgard/res-ipam/azure/latest) - A Terraform module for managing IP Address Management (IPAM) resources within Azure, facilitating automated provisioning and configuration of IP address spaces.
- [Announcing Public Preview of Terraform Export from the Azure Portal](https://techcommunity.microsoft.com/blog/azuretoolsblog/announcing-public-preview-of-terraform-export-from-the-azure-portal/4409889) 🌟 - This blog post announces the public preview of a new feature in the Azure Portal that allows users to export existing Azure resources into Terraform configuration files. This streamlines infrastructure-as-code (IaC) workflows by enabling users to declaratively manage their Azure resources using the AzureRM and AzAPI providers directly from the portal. The feature supports exporting individual resources or entire resource groups and aims to help users understand how their Azure infrastructure is represented in Terraform.
- [Terraform: Get User Principal Name (UPN) of User Running Deployment without Entra ID Read Permissions](https://build5nines.com/terraform-get-user-principal-name-upn-of-user-running-deployment-without-entra-id-read-permissions/) - This article details a workaround for obtaining the User Principal Name (UPN) of the user running a Terraform deployment in Azure when that user lacks the necessary Entra ID read permissions. The solution involves using an Azure CLI command to retrieve the UPN before the Terraform deployment, enabling the configuration of Azure resources like PostgreSQL Active Directory administrators.
+2
View File
@@ -200,6 +200,8 @@ class AgenticCurator:
self.git_controller = RepositoryController(GH_TOKEN, TARGET_REPO)
self.docs_dir = "docs"
self.mkdocs_path = "mkdocs.yml"
self.index_path = "docs/index.md"
self.stats = {"orphans_linked": 0}
async def _rebuild_toc(self, content: str) -> str:
"""
+5 -5
View File
@@ -25,12 +25,12 @@ if GEMINI_API_KEY and not os.getenv("GOOGLE_API_KEY"):
GH_TOKEN = os.getenv("GH_TOKEN")
# Gemini Configuration (May 2026)
GEMINI_API_VERSION = "v1beta"
GEMINI_API_VERSION = "v1"
GEMINI_MODELS = [
"gemini-1.5-flash",
"gemini-1.5-pro",
"gemini-2.0-flash-exp",
"gemini-1.5-flash-latest"
"gemini-3.1-flash",
"gemini-3.1-pro",
"gemini-2.5-pro",
"gemini-2.5-flash"
]
TARGET_REPO = "nubenetes/awesome-kubernetes"
+3 -2
View File
@@ -7,7 +7,8 @@ class RepositoryController:
def __init__(self, access_token: str, repository_identifier: str):
self.github_client = Github(access_token)
self.repository = self.github_client.get_repo(repository_identifier)
self.default_branch_name = self.repository.default_branch
# Force 'develop' as the primary target for all PRs and base for feature branches
self.default_branch_name = "develop"
def _create_feature_branch(self, branch_name: str) -> None:
base_branch = self.repository.get_branch(self.default_branch_name)
@@ -23,7 +24,7 @@ class RepositoryController:
def apply_historical_chunk(self, updates: dict, next_since: str) -> None:
branch_name = "bot/historical-accumulator"
# Check if branch exists, if not, create from master
# Check if branch exists, if not, create from develop
try:
self.repository.get_branch(branch_name)
except:
+90 -36
View File
@@ -10,6 +10,7 @@ from src.config import GH_TOKEN, TARGET_REPO, GEMINI_API_KEY, NUBENETES_CATEGORI
from src.gitops_manager import RepositoryController
from src.markdown_ast import MarkdownSanitizer
from src.agentic_curator import AgenticCurator
from src.logger import log_event
# Configuración de Excepciones
CORE_FILES = ["docs/index.md", "README.md"]
@@ -29,9 +30,9 @@ class IntelligentLinkCleaner:
"skipped_recent": 0,
"by_file": {},
"by_category": {},
"operation_types": {"removals": 0, "archived": 0, "consolidated": 0, "orphans": 0}
"operation_types": {"removals": 0, "consolidated": 0, "orphans": 0}
}
self.stats = {"total_links": 0, "dead_links_removed": 0, "duplicates_pruned": 0, "ai_decisions": 0, "archived_fallbacks": 0, "orphans_fixed": 0}
self.stats = {"total_links": 0, "dead_links_removed": 0, "duplicates_pruned": 0, "ai_decisions": 0, "orphans_fixed": 0}
def _load_memory(self) -> Dict:
if os.path.exists(MEMORY_FILE):
@@ -44,19 +45,49 @@ class IntelligentLinkCleaner:
os.makedirs(os.path.dirname(MEMORY_FILE), exist_ok=True)
with open(MEMORY_FILE, 'w') as f: json.dump(self.learning_data, f, indent=2)
async def _check_wayback(self, url: str) -> Optional[str]:
api_url = f"https://archive.org/wayback/available?url={url}"
async def _fetch_github_metadata(self, url: str) -> Dict:
match = re.search(r'github\.com/([^/]+)/([^/]+)', url)
if not match: return {}
owner, repo = match.groups()
repo = repo.split("#")[0].split("?")[0].rstrip(".git")
headers = {"Authorization": f"token {GH_TOKEN}"} if GH_TOKEN else {}
api_url = f"https://api.github.com/repos/{owner}/{repo}"
try:
async with httpx.AsyncClient(timeout=10) as client:
resp = await client.get(api_url)
async with httpx.AsyncClient(timeout=10.0) as client:
resp = await client.get(api_url, headers=headers)
if resp.status_code == 200:
data = resp.json()
if data.get("archived_snapshots", {}).get("closest"): return data["archived_snapshots"]["closest"]["url"]
pushed_at = data.get("pushed_at", "")
years_inactive = 0
if pushed_at:
last_date = datetime.fromisoformat(pushed_at.replace('Z', '+00:00'))
years_inactive = (datetime.now(last_date.tzinfo) - last_date).days / 365
return {
"stars": data.get("stargazers_count", 0),
"pushed_at": pushed_at,
"years_inactive": years_inactive,
"is_abandoned": years_inactive > 4
}
except: pass
return None
return {}
async def _check_url_with_retries(self, url: str, max_retries=5) -> Tuple[str, bool, Optional[str], str]:
now = datetime.now().timestamp()
# 0. Policy Enforcement: No archive.org links allowed
if "archive.org" in url.lower():
return url, False, None, "Archive.org link (Forbidden by policy)"
# 1. NOTE: V1 Exhaustiveness Mandate
# We fetch GitHub metadata for logging/metrics, but we DO NOT delete based on activity.
# Only definitively dead links are removed in V1.
if "github.com" in url:
gh_meta = await self._fetch_github_metadata(url)
# Metadata is stored in cache/logs but not used for deletion here.
cache_entry = self.learning_data.get("link_cache", {}).get(url)
if cache_entry and cache_entry.get("status") == "ALIVE":
if now - cache_entry.get("last_checked", 0) < (21 * 24 * 3600):
@@ -68,9 +99,9 @@ class IntelligentLinkCleaner:
strategies = [
{"type": "http", "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "ref": "https://www.google.com/", "desc": "Desktop/Google"},
{"type": "http", "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1", "ref": "https://t.co/", "desc": "Mobile/Twitter"},
{"type": "playwright", "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "ref": "https://www.linkedin.com/", "desc": "PW Desktop/LinkedIn"},
{"type": "http", "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0", "ref": "https://news.ycombinator.com/", "desc": "Firefox/Reddit"},
{"type": "playwright", "ua": "Mozilla/5.0 (Linux; Android 13; SM-S918B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Mobile Safari/537.36", "ref": "https://www.google.com/", "desc": "PW Mobile/Google"}
{"type": "playwright", "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36", "ref": "https://www.linkedin.com/", "desc": "PW Desktop/LinkedIn"},
{"type": "http", "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "ref": "https://www.google.com/", "desc": "Linux/Chrome"},
{"type": "playwright", "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "ref": "https://www.reddit.com/", "desc": "PW Windows/Reddit"}
]
# PRIORIZACIÓN INTELIGENTE: Si ya sabemos qué funciona para este dominio, empezar por ahí.
@@ -98,14 +129,21 @@ class IntelligentLinkCleaner:
return url, True, None, f"Alive ({strategy['desc']}) - {reason}"
if reason in ["404", "soft_404", "redirect_to_home"]:
fallback_result = None
if any(git_host in url for git_host in ["github.com", "gitlab.com", "bitbucket.org"]):
parts = url.split("/"); repo_root = "/".join(parts[:5]) if len(parts) > 4 else None
if repo_root:
root_alive, _ = await self._check_url_logic(repo_root, strategies[0])
if root_alive: return url, False, f"REPO_ROOT:{repo_root}", f"Consolidated (Original: {reason})"
if root_alive: fallback_result = f"REPO_ROOT:{repo_root}"
# Cache DEAD status for resumption
if "link_cache" not in self.learning_data: self.learning_data["link_cache"] = {}
self.learning_data["link_cache"][url] = {
"status": "DEAD", "reason": reason, "fallback": fallback_result, "last_checked": now
}
if fallback_result: return url, False, fallback_result, f"Consolidated (Original: {reason})"
if attempt == max_retries - 1:
archived = await self._check_wayback(url)
if archived: return url, False, f"ARCHIVE:{archived}", f"Archived (Original: {reason})"
return url, False, None, reason
except: pass
return url, True, None, "Conservative Keep"
@@ -171,7 +209,7 @@ class IntelligentLinkCleaner:
return True, "Conservative Keep"
async def build_global_registry(self):
print("[*] Construyendo registro global...")
log_event("STARTING GLOBAL LINK DISCOVERY...", section_break=True)
all_files = CORE_FILES + [f"docs/{cat}.md" for cat in NUBENETES_CATEGORIES]
for file_path in all_files:
try:
@@ -186,20 +224,33 @@ class IntelligentLinkCleaner:
self.link_registry[clean_url].append({"file": file_path, "line_index": i, "content": line, "title": title})
self.stats["total_links"] += 1
except: pass
log_event(f"[*] Discovery: Registered {self.stats['total_links']} links from {len(all_files)} files.")
async def validate_links_tiered(self):
print(f"[*] Validando {len(self.link_registry)} URLs...")
unique_urls = list(self.link_registry.keys()); random.shuffle(unique_urls)
for i in range(0, len(unique_urls), 40):
log_event(f"[*] Validating {len(self.link_registry)} unique URLs (Randomized Tiered Batching)...", section_break=True)
# Recover DEAD links from cache to enable resumption
for url, cache in self.learning_data.get("link_cache", {}).items():
if cache.get("status") == "DEAD" and url in self.link_registry:
self.dead_links[url] = (cache.get("fallback"), cache.get("reason"))
log_event(f" [M] Recovered from memory: {url} (DEAD)")
unique_urls = [u for u in self.link_registry.keys() if u not in self.dead_links]
random.shuffle(unique_urls)
total_unique = len(unique_urls)
for i in range(0, total_unique, 40):
batch = unique_urls[i:i+40]
log_event(f" [>] Processing batch {i//40 + 1}/{(total_unique-1)//40 + 1} ({min(i+40, total_unique)}/{total_unique})...")
tasks = [self._check_url_with_retries(url) for url in batch]
results = await asyncio.gather(*tasks)
for url, is_alive, fallback, reason in results:
if not is_alive: self.dead_links[url] = (fallback if fallback else "DEAD", reason)
if not is_alive:
self.dead_links[url] = (fallback if fallback else "DEAD", reason)
log_event(f" [!] DEAD: {url} -> {reason} {'(Fallback: ' + fallback + ')' if fallback else ''}")
self._save_memory()
async def apply_changes(self):
print("[*] Aplicando cambios y generando métricas visuales...")
log_event("APPLYING INTELLIGENT CLEANING & PR GENERATION...", section_break=True)
file_updates = {}
def track(file, op, url, reason, cat=None):
if file not in self.detailed_stats["by_file"]: self.detailed_stats["by_file"][file] = {"removed": 0, "modified": 0, "created": 0}
@@ -216,12 +267,7 @@ class IntelligentLinkCleaner:
if file_path not in file_updates:
with open(file_path, 'r') as f: file_updates[file_path] = f.readlines()
line_idx = occ["line_index"]
if fallback and fallback.startswith("ARCHIVE:"):
real_f = fallback.replace("ARCHIVE:", "")
file_updates[file_path][line_idx] = file_updates[file_path][line_idx].replace(url, real_f)
if "[ARCHIVED]" not in file_updates[file_path][line_idx]: file_updates[file_path][line_idx] = file_updates[file_path][line_idx].replace("](", " [ARCHIVED]]( ")
track(file_path, "modified", url, reason); self.detailed_stats["operation_types"]["archived"] += 1
elif fallback and fallback.startswith("REPO_ROOT:"):
if fallback and fallback.startswith("REPO_ROOT:"):
real_f = fallback.replace("REPO_ROOT:", "")
file_updates[file_path][line_idx] = file_updates[file_path][line_idx].replace(url, real_f)
track(file_path, "modified", url, reason); self.detailed_stats["operation_types"]["consolidated"] += 1
@@ -230,14 +276,17 @@ class IntelligentLinkCleaner:
file_updates[file_path][line_idx] = None
track(file_path, "removed", url, reason); self.detailed_stats["operation_types"]["removals"] += 1
if self.curator.stats["orphans_linked"] > 0:
orphans_linked = getattr(self.curator, "stats", {}).get("orphans_linked", 0)
if orphans_linked > 0:
track("Navigation", "created", "Orphan Audit", "Linked via Curator")
self.detailed_stats["operation_types"]["orphans"] = self.curator.stats["orphans_linked"]
self.detailed_stats["operation_types"]["orphans"] = orphans_linked
final_payload = {p: "".join([l for l in lines if l is not None]) for p, lines in file_updates.items()}
if self.curator.stats["orphans_linked"] > 0:
with open(self.curator.index_path, 'r') as f: final_payload[self.curator.index_path] = f.read()
with open(self.curator.mkdocs_path, 'r') as f: final_payload[self.curator.mkdocs_path] = f.read()
if orphans_linked > 0:
with open(getattr(self.curator, "index_path", "docs/index.md"), 'r') as f:
final_payload[getattr(self.curator, "index_path", "docs/index.md")] = f.read()
with open(getattr(self.curator, "mkdocs_path", "mkdocs.yml"), 'r') as f:
final_payload[getattr(self.curator, "mkdocs_path", "mkdocs.yml")] = f.read()
if final_payload: self._create_pr(final_payload)
def _create_pr(self, updates: Dict[str, str], report_content: str = None):
@@ -250,21 +299,19 @@ class IntelligentLinkCleaner:
self.git_controller.repository.update_file(path=path, message=f"fix(autonomous): engine update in {path}", content=content, sha=file_meta.sha, branch=branch_name)
except: pass
safe_report = report_content[:65000]
self.git_controller.repository.create_pull(title=f"🧹 Autonomous Engine Health Report: {datetime.now().strftime('%d %b %Y')}", body=safe_report, head=branch_name, base="master")
self.git_controller.repository.create_pull(title=f"🧹 Autonomous Engine Health Report: {datetime.now().strftime('%d %b %Y')}", body=safe_report, head=branch_name, base=self.git_controller.default_branch_name)
def _build_report_body(self) -> str:
report = "## 🧠 Nubenetes Autonomous Health & Curation Engine\n\n"
report += "### 📊 Distribución de Operaciones\n"
report += "```mermaid\npie title Operaciones de Mantenimiento\n"
report += f" \"Eliminados\" : {self.detailed_stats['operation_types']['removals']}\n"
report += f" \"Archivados\" : {self.detailed_stats['operation_types']['archived']}\n"
report += f" \"Consolidados\" : {self.detailed_stats['operation_types']['consolidated']}\n"
report += f" \"Nuevos\" : {self.detailed_stats['operation_types']['orphans']}\n```\n\n"
report += "### 📈 Resumen de Eficiencia\n"
report += "| Métrica | Cantidad | Detalle |\n| :--- | :---: | :--- |\n"
report += f"| ⏩ Omitidos (Cache) | **{self.detailed_stats['skipped_recent']}** | Verificados hace menos de 21 días |\n"
report += f"| 💀 Eliminados | **{self.detailed_stats['operation_types']['removals']}** | 404 definitivos |\n"
report += f"| 🏛️ Archivados | **{self.detailed_stats['operation_types']['archived']}** | Vía Wayback Machine |\n"
report += f"| 🎯 Consolidados | **{self.detailed_stats['operation_types']['consolidated']}** | Raíz de Repositorio Git |\n"
report += f"| 🖇️ Nuevos | **{self.detailed_stats['operation_types']['orphans']}** | Páginas vinculadas |\n\n"
report += "### 🧮 Matriz de Mantenimiento\n"
@@ -297,10 +344,17 @@ async def main():
cleaner = IntelligentLinkCleaner()
await cleaner.build_global_registry()
await cleaner.validate_links_tiered()
await cleaner.curator.audit_navigation()
log_event("STARTING NAVIGATION & REORGANIZATION AUDIT...", section_break=True)
await cleaner.curator.suggest_reorganization()
await cleaner.apply_changes()
log_event("INTELLIGENT CLEANING COMPLETED SUCCESSFULLY.", section_break=True)
except Exception as e:
import traceback; print(f"[CRITICAL ERROR]: {e}"); traceback.print_exc(); exit(1)
import traceback
error_msg = f"[CRITICAL ERROR]: {e}"
log_event(error_msg)
print(traceback.format_exc())
exit(1)
if __name__ == "__main__": asyncio.run(main())
+2 -2
View File
@@ -373,7 +373,7 @@ class V2VisionEngine:
try:
v2_structure[dim]["summary"] = await call_gemini_with_retry(prompt, response_format="text")
except:
v2_structure[dim]["summary"] = f"Comprehensive chronological reference library for {dim}."
v2_structure[dim]["summary"] = f"Impact-driven reference library for {dim}."
return v2_structure
@@ -400,7 +400,7 @@ class V2VisionEngine:
"![Banner](images/kubernetes_logo.jpg)\n\n"
"!!! quote \"The Library of 2026\"\n"
" A meticulously curated reference of over 15,000 resources. This V2 portal preserves technical depth while providing "
" chronological clarity and expert quality synthesis.\n\n"
" impact-driven synthesis and expert quality classification.\n\n"
f"<center markdown=\"1\">\n{mosaic_html}\n</center>\n\n"
"## 🛡️ V2 Taxonomy & Maturity Tags\n"
+1 -1
View File
@@ -1,7 +1,7 @@
# Architectural Foundations
!!! info "Architectural Context"
Comprehensive chronological reference library for Architectural Foundations.
Impact-driven reference library for Architectural Foundations.
## Mkdocs
- [docs.traefik.io](https://docs.traefik.io/) 🌟 <span class='md-tag md-tag--info'>[ENTERPRISE-STABLE]</span>
+1 -1
View File
@@ -1,7 +1,7 @@
# Career & Industry
!!! info "Architectural Context"
Comprehensive chronological reference library for Career & Industry.
Impact-driven reference library for Career & Industry.
## Elearning
- [medium.com/javarevisited: 11 Best Java Microservices Courses with Spring Boot and Spring Cloud in 2022](https://medium.com/javarevisited/10-best-java-microservices-courses-with-spring-boot-and-spring-cloud-6d04556bdfed) 🌟 <span class='md-tag md-tag--info'>[ENTERPRISE-STABLE]</span>
+1 -1
View File
@@ -1,7 +1,7 @@
# Cloud Providers (Hyperscalers)
!!! info "Architectural Context"
Comprehensive chronological reference library for Cloud Providers (Hyperscalers).
Impact-driven reference library for Cloud Providers (Hyperscalers).
## Aws-storage
- [awstip.com: Uploading files to S3 through API Gateway](https://awstip.com/uploading-files-to-s3-through-api-gateway-7bb78c0d0483) 🌟 <span class='md-tag md-tag--info'>[ENTERPRISE-STABLE]</span>
+1 -1
View File
@@ -1,7 +1,7 @@
# Data & Advanced Analytics
!!! info "Architectural Context"
Comprehensive chronological reference library for Data & Advanced Analytics.
Impact-driven reference library for Data & Advanced Analytics.
## Yaml
- [dev.to: yq : A command line tool that will help you handle your YAML resources better 🌟](https://dev.to/vikcodes/yq-a-command-line-tool-that-will-help-you-handle-your-yaml-resources-better-8j9) 🌟 <span class='md-tag md-tag--info'>[ENTERPRISE-STABLE]</span>
+1 -1
View File
@@ -1,7 +1,7 @@
# Developer Ecosystem
!!! info "Architectural Context"
Comprehensive chronological reference library for Developer Ecosystem.
Impact-driven reference library for Developer Ecosystem.
## Java-and-java-performance-optimization
- [blog.flipkart.tech: The Art of System Debugging — Decoding CPU Utilization 🌟](https://blog.flipkart.tech/the-art-of-system-debugging-decoding-cpu-utilization-da75f09ef1ff) 🌟 <span class='md-tag md-tag--info'>[ENTERPRISE-STABLE]</span>
+1 -1
View File
@@ -1,7 +1,7 @@
# Engineering Pipeline
!!! info "Architectural Context"
Comprehensive chronological reference library for Engineering Pipeline.
Impact-driven reference library for Engineering Pipeline.
## Sonarqube
- [youtube: Installation of Sonarqube on Kubernetes/Minikube](https://www.youtube.com/watch?v=_cT-kkvw3NQ) 🌟 <span class='md-tag md-tag--info'>[ENTERPRISE-STABLE]</span>
+1 -1
View File
@@ -1,7 +1,7 @@
# Hardened Infrastructure
!!! info "Architectural Context"
Comprehensive chronological reference library for Hardened Infrastructure.
Impact-driven reference library for Hardened Infrastructure.
## Kubernetes-security
- [cilium.io](https://cilium.io/) 🌟 <span class='md-tag md-tag--info'>[ENTERPRISE-STABLE]</span>
+12 -12
View File
@@ -3,7 +3,7 @@
![Banner](images/kubernetes_logo.jpg)
!!! quote "The Library of 2026"
A meticulously curated reference of over 15,000 resources. This V2 portal preserves technical depth while providing chronological clarity and expert quality synthesis.
A meticulously curated reference of over 15,000 resources. This V2 portal preserves technical depth while providing impact-driven synthesis and expert quality classification.
<center markdown="1">
[![docker videos](images/docker_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/DockerIo) [![cncf videos](images/cncf_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/cloudnativefdn) [![kubernetes logo](images/kubernetes_logo.jpg){: style="width:7%"}](https://www.youtube.com/kubernetescommunity) [![redhat videos](images/redhat_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/redhat) [![openshift videos](images/openshift_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/OpenShift) [![rancher logo](images/rancher-logo.jpg){: style="width:7%"}](https://www.youtube.com/c/Rancher) [![cloudbees videos](images/cloudbees_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/CloudBeesTV) [![jenkins videos](images/jenkins-logo.jpg){: style="width:7%"}](https://www.youtube.com/c/jenkinscicd) [![jenkins-x videos](images/jenkins_x_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCN2kblPjXKMcjjVYmwvquvg) [![spinnaker videos](images/spinnaker_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcxQbw8kT1-FRhFhO2QCetg) [![vmware tanzu logo](images/vmware_tanzu_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/VMwareTanzu)<br/>
@@ -69,14 +69,14 @@ A global selection of the most impactful resources across all dimensions.
</center>
## Strategic Dimensions
- **[Intelligent Control Plane](./intelligent-control-plane.md)**: Comprehensive chronological reference library for Intelligent Control Plane.
- **[Architectural Foundations](./architectural-foundations.md)**: Comprehensive chronological reference library for Architectural Foundations.
- **[Platform & Site Reliability](./platform-and-site-reliability.md)**: Comprehensive chronological reference library for Platform & Site Reliability.
- **[Hardened Infrastructure](./hardened-infrastructure.md)**: Comprehensive chronological reference library for Hardened Infrastructure.
- **[Cloud Providers (Hyperscalers)](./cloud-providers-hyperscalers.md)**: Comprehensive chronological reference library for Cloud Providers (Hyperscalers).
- **[Networking & Service Mesh](./networking-and-service-mesh.md)**: Comprehensive chronological reference library for Networking & Service Mesh.
- **[The Container Stack](./the-container-stack.md)**: Comprehensive chronological reference library for The Container Stack.
- **[Data & Advanced Analytics](./data-and-advanced-analytics.md)**: Comprehensive chronological reference library for Data & Advanced Analytics.
- **[Engineering Pipeline](./engineering-pipeline.md)**: Comprehensive chronological reference library for Engineering Pipeline.
- **[Developer Ecosystem](./developer-ecosystem.md)**: Comprehensive chronological reference library for Developer Ecosystem.
- **[Career & Industry](./career-and-industry.md)**: Comprehensive chronological reference library for Career & Industry.
- **[Intelligent Control Plane](./intelligent-control-plane.md)**: Impact-driven reference library for Intelligent Control Plane.
- **[Architectural Foundations](./architectural-foundations.md)**: Impact-driven reference library for Architectural Foundations.
- **[Platform & Site Reliability](./platform-and-site-reliability.md)**: Impact-driven reference library for Platform & Site Reliability.
- **[Hardened Infrastructure](./hardened-infrastructure.md)**: Impact-driven reference library for Hardened Infrastructure.
- **[Cloud Providers (Hyperscalers)](./cloud-providers-hyperscalers.md)**: Impact-driven reference library for Cloud Providers (Hyperscalers).
- **[Networking & Service Mesh](./networking-and-service-mesh.md)**: Impact-driven reference library for Networking & Service Mesh.
- **[The Container Stack](./the-container-stack.md)**: Impact-driven reference library for The Container Stack.
- **[Data & Advanced Analytics](./data-and-advanced-analytics.md)**: Impact-driven reference library for Data & Advanced Analytics.
- **[Engineering Pipeline](./engineering-pipeline.md)**: Impact-driven reference library for Engineering Pipeline.
- **[Developer Ecosystem](./developer-ecosystem.md)**: Impact-driven reference library for Developer Ecosystem.
- **[Career & Industry](./career-and-industry.md)**: Impact-driven reference library for Career & Industry.
+1 -1
View File
@@ -1,7 +1,7 @@
# Intelligent Control Plane
!!! info "Architectural Context"
Comprehensive chronological reference library for Intelligent Control Plane.
Impact-driven reference library for Intelligent Control Plane.
## Ai
- [xataka.com: Microsoft no quiere poner todos los huevos en la misma cesta: anuncia una asociación con Mistral AI, la OpenAI de Europa](https://www.xataka.com/robotica-e-ia/microsoft-no-quiere-poner-todos-huevos-cesta-anuncia-asociacion-mistral-ai-openai-europa) 🌟 <span class='md-tag md-tag--info'>[ENTERPRISE-STABLE]</span>
+1 -1
View File
@@ -1,7 +1,7 @@
# Networking & Service Mesh
!!! info "Architectural Context"
Comprehensive chronological reference library for Networking & Service Mesh.
Impact-driven reference library for Networking & Service Mesh.
## Istio
- [istiobyexample.dev 🌟](https://istiobyexample.dev/) 🌟 <span class='md-tag md-tag--info'>[ENTERPRISE-STABLE]</span>
+1 -1
View File
@@ -1,7 +1,7 @@
# Platform & Site Reliability
!!! info "Architectural Context"
Comprehensive chronological reference library for Platform & Site Reliability.
Impact-driven reference library for Platform & Site Reliability.
## Scaffolding
- [Skaffold 🌟](https://skaffold.dev/) 🌟 <span class='md-tag md-tag--info'>[ENTERPRISE-STABLE]</span>
+1 -1
View File
@@ -1,7 +1,7 @@
# The Container Stack
!!! info "Architectural Context"
Comprehensive chronological reference library for The Container Stack.
Impact-driven reference library for The Container Stack.
## Kubernetes-on-premise
- [adamtheautomator.com/kubespray: Conquer Kubernetes Clusters with Ansible Kubespray](https://adamtheautomator.com/kubespray/) 🌟 <span class='md-tag md-tag--info'>[ENTERPRISE-STABLE]</span>
+319
View File
@@ -0,0 +1,319 @@
site_name: Nubenetes
site_url: https://nubenetes.com
site_description: A curated list of awesome IT projects and resources. Inspired by the awesome list.
site_author: nubenetes@gmail.com
docs_dir: docs/
#repo_name: 'GitHub'
repo_name: nubenetes/awesome-kubernetes
repo_url: https://github.com/nubenetes/awesome-kubernetes
edit_uri: ""
theme:
name: material
prev_next_buttons_location: both
icon:
logo: logo
repo: fontawesome/brands/github
favicon: images/favicon-car.png
palette:
- scheme: default
primary: indigo
accent: red
toggle:
icon: material/toggle-switch-off-outline
name: Switch to dark mode
- scheme: slate
primary: light blue
accent: yellow
toggle:
icon: material/toggle-switch
name: Switch to light mode
font:
text: Roboto
code: Roboto Mono
features:
- navigation.instant
- navigation.tracking
- navigation.tabs
- navigation.tabs.sticky
- navigation.sections
- toc.integrate
- navigation.top
- content.code.annotate
- navigation.indexes
- search.highlight
- search.share
- search.suggest
extra_css:
- static/extra.css
extra_javascript:
- javascript/extra.js
markdown_extensions:
- smarty
- sane_lists
- fenced_code
- meta
- admonition
- attr_list
- pymdownx.arithmatex:
generic: true
- pymdownx.betterem:
smart_enable: all
- pymdownx.caret
- pymdownx.details
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
- pymdownx.highlight
- pymdownx.inlinehilite
- pymdownx.keys
- pymdownx.mark
- pymdownx.smartsymbols
- pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
- pymdownx.tasklist:
custom_checkbox: true
- pymdownx.tilde
- pymdownx.critic
- pymdownx.magiclink
- codehilite
- footnotes
- md_in_html
- tables
- pymdownx.snippets
- pymdownx.keys
- abbr
- def_list
nav:
- Home: index.md
- Intro:
- Microservice Architecture. From Java EE To Cloud Native. Openshift VS Kubernetes: introduction.md
- Microservices FAQ & Kubernetes Native: faq.md
- SRE:
- SRE Site Reliability Engineering: sre.md
- Networking: networking.md
- FinOps. Cloud Financial Management: finops.md
- Chaos Engineering: chaos-engineering.md
- DevOps:
- DevOps: devops.md
- GitOps: gitops.md
- MLOps: mlops.md
- Cheat Sheets: cheatsheets.md
- DevSecOps:
- DevSecOps. Container Security: devsecops.md
- Security Policy as Code: securityascode.md
- OAuth2: oauth.md
- NoOps:
- NoOps: noops.md
- Serverless Architectures & Frameworks. OpenFaaS, Knative & Kubeless: serverless.md
- Docker: docker.md
- K8s:
- Kubernetes: kubernetes.md
- Kubernetes Tutorials: kubernetes-tutorials.md
- Kubernetes Plugins, Tools, Extensions and Projects: kubernetes-tools.md
- kubectl Commands: kubectl-commands.md
- Kubernetes Networking: kubernetes-networking.md
- Kubernetes Monitoring and Logging: kubernetes-monitoring.md
- Kubernetes Security: kubernetes-security.md
- Kubernetes Storage: kubernetes-storage.md
- Kubernetes Backup and Migrations: kubernetes-backup-migrations.md
- Kubernetes Autoscaling: kubernetes-autoscaling.md
- Kubernetes Operators and Controllers: kubernetes-operators-controllers.md
- Kubernetes Based Development: kubernetes-based-devel.md
- Kubernetes On Premise: kubernetes-on-premise.md
- Managed kubernetes in public clouds: managed-kubernetes-in-public-cloud.md
- Kubernetes Troubleshooting: kubernetes-troubleshooting.md
- Kubernetes Releases: kubernetes-releases.md
- Kubernetes Newsletters: kubernetes-newsletters.md
- Kubernetes Distributions & Installers: matrix-table.md
- Kubernetes Big Data: kubernetes-bigdata.md
- Kubernetes alternatives: kubernetes-alternatives.md
- OpenShift:
- OpenShift docs: openshift.md
- OCP 3: ocp3.md
- OCP 4: ocp4.md
- Rancher:
- Rancher - Enterprise management for Kubernetes: rancher.md
- CI/CD:
- CI/CD - Continuous Integration & Continuous Delivery: cicd.md
- Git & Git Patterns. Trunk Devel, Git Flow & Feature Flags. Merge BOTs: git.md
- Jenkins & Cloudbees: jenkins.md
- Performance testing with Jenkins, JMeter, Gatling, Azure Load Testing, etc: performance-testing-with-jenkins-and-jmeter.md
- OpenShift Pipelines with Jenkins, Tekton and more...: openshift-pipelines.md
- Performance testing with Jenkins, JMeter, Gatling, Azure Load Testing, etc: performance-testing-with-jenkins-and-jmeter.md
- DevOps Tools aka Toolchain. Jenkins Alternatives. Cloud Native CI/CD Tools:
- DevOps Tools: devops-tools.md
- Jenkins Alternatives for Continuous Integration & Deployment: jenkins-alternatives.md
- Argo - Declarative GitOps for Kubernetes: argo.md
- Flux CD - The GitOps Operator for Kubernetes: flux.md
- Tekton - Cloud Native CI/CD: tekton.md
- Keptn: keptn.md
- Container Runtimes/Managers & Base Images. Podman, Buildah & Skopeo: container-managers.md
- Maven, Gradle & SDKMAN: maven-gradle.md
- SonarQube: sonarqube.md
- Docker Registries. Quay, Nexus, JFrog Artifactory, Harbor and more: registries.md
- Linux & SSH: linux.md
- MkDocs & GitHub Pages: mkdocs.md
- Web Servers, Reverse Proxies, Java Runtimes & Caching Solutions:
- Web Servers & Reverse Proxies - Apache, Nginx, HAProxy, Traefik and more: web-servers.md
- Java EE/Jakarta EE and MicroProfile Runtimes - Payara, JBoss EAP, WebSphere Liberty, WildFly and more: java_app_servers.md
- Embedded Servlet Containers in SpringBoot: embedded-servlet-containers.md
- Caching Solutions: caching.md
- Montrg:
- Monitoring and Performance: monitoring.md
- Prometheus: prometheus.md
- Grafana: grafana.md
- Infra Prov:
- IaC Infrastructure as Code: iac.md
- Terraform & Packer.Kubernetes Boilerplates: terraform.md
- Pulumi: pulumi.md
- Crossplane: crossplane.md
- Cloud Architecture Diagram Tools: cloud-arch-diagrams.md
- Cloud Asset Inventory: cloud-asset-inventory.md
- Config Mgmt:
- Ansible: ansible.md
- Helm Kubernetes Tool: helm.md
- Kustomize - Template-Free Kubernetes Configuration Customization: kustomize.md
- StackStorm: stackstorm.md
- Chef: chef.md
- CI/CD Kubernetes Plugins: cicd-kubernetes-plugins.md
- Client Libraries for Kubernetes - Go client, Python, Fabric8, JKube & Java Operator SDK: kubernetes-client-libraries.md
- Database Version Control. Liquibase, Flyway and PlanetScale: liquibase.md
- YAML and JSON: yaml.md
- DB:
- Relational Databases and Database DevOps: databases.md
- Crunchy Data PostgreSQL Operator: crunchydata.md
- NoSQL Databases: nosql.md
- Data Pipeline: message-queue.md
- Service Mesh:
- Service Mesh: servicemesh.md
- Istio: istio.md
- Demos:
- Demos, Boilerplates & Screencasts: demos.md
- Cloud:
- Public Cloud Solutions: public-cloud-solutions.md
- Private Cloud Solutions: private-cloud-solutions.md
- Edge Computing: edge-computing.md
- AWS Cloud:
- AWS: aws.md
- AWS Miscellaneous: aws-miscellaneous.md
- AWS Architecture and Best Practices: aws-architecture.md
- AWS Networking: aws-networking.md
- AWS Databases: aws-databases.md
- AWS Storage: aws-storage.md
- AWS Security: aws-security.md
- AWS Monitoring: aws-monitoring.md
- AWS IaC: aws-iac.md
- AWS Tools Scripts: aws-tools-scripts.md
- AWS Messaging: aws-messaging.md
- AWS Data: aws-data.md
- AWS DevOps: aws-devops.md
- AWS Serverless: aws-serverless.md
- AWS Pricing: aws-pricing.md
- AWS Containers: aws-containers.md
- AWS Backup and Migrations: aws-backup.md
- AWS Training and Certification: aws-training.md
- AWS New Features: aws-newfeatures.md
- AWS Spain: aws-spain.md
- Microsoft Azure: azure.md
- Google Cloud Platform: GoogleCloudPlatform.md
- IBM & IBM Cloud: ibm_cloud.md
- Oracle Cloud: oraclecloud.md
- Digital Ocean: digitalocean.md
- Cloudflare: cloudflare.md
- Scaleway: scaleway.md
- APIs:
- APIs with SOAP, REST and gRPC: api.md
- Swagger code generator for REST APIs: swagger-code-generator-for-rest-apis.md
- API Test Automation with Postman and REST Assured: postman.md
- API Marketplaces. API Management with API Gateways & Developer Portals : developerportals.md
- Dev:
- Websites for web developers: devel-sites.md
- Angular: angular.md
- Document Object Model (DOM): dom.md
- Golang: golang.md
- JavaScript - node.js & npm: javascript.md
- Python - Django & Flask: python.md
- React: react.md
- Low Code and No Code: lowcode-nocode.md
- Web 3: web3.md
- Microsoft:
- Microsoft .NET: dotnet.md
- Microsoft Xamarin: xamarin.md
- Java:
- Java & Open Source Microservices Frameworks. SpringBoot, MicroProfile, Quarkus and more: java_frameworks.md
- Java Memory Management & Java Performance Optimization: java-and-java-performance-optimization.md
- Java Parameters Matrix Table: jvm-parameters-matrix-table.md
- Dev Environment:
- Visual Studio Code: visual-studio.md
- WSL - Linux Dev Environment on Windows: linux-dev-env.md
- Scaffolding Tools: scaffolding.md
- Chrome & Firefox DevTools. HTTP Protocols & WebSockets: ChromeDevTools.md
- QA:
- QA: qa.md
- TestOps and Continuous Testing: testops.md
- Test Automation Frameworks and BDD: test-automation-frameworks.md
- AI:
- AI: ai.md
- Model Context Protocol (MCP) & AI Agents: ai-agents-mcp.md
- MLOps: mlops.md
- ChatGPT: chatgpt.md
- Project Mgmt:
- Project Management Methodology: project-management-methodology.md
- Project Management Tools: project-management-tools.md
- Appointment Scheduling: appointment-scheduling.md
- Work From Home: workfromhome.md
- Refs+:
- Other Awesome Lists: other-awesome-lists.md
- Interview Questions: interview-questions.md
- Subreddits: newsfeeds.md
- E-Learning: elearning.md
- Digital Money: digital-money.md
- Hiring:
- Recruitment: recruitment.md
- Human Resources: hr.md
- Freelancing: freelancing.md
- Remote Tech Jobs: remote-tech-jobs.md
- Clients: customer.md
- About: about.md
copyright: 2026 <a href="https://twitter.com/nubenetes">Nubenetes</a>, <a href="https://nubenetes.com/about/">about</a>.
extra:
analytics:
provider: google
property: !ENV GOOGLE_ANALYTICS_KEY
feedback:
title: Was this page helpful?
ratings:
- icon: material/emoticon-happy-outline
name: This page was helpful
data: 1
note: >-
Thanks for your feedback!
- icon: material/emoticon-sad-outline
name: This page could be improved
data: 0
note: >-
Thanks for your feedback! Help us improve this page by
using our <a href="..." target=_blank>feedback form</a>.
consent:
title: Cookie consent
description: >-
We use cookies to recognize your repeated visits and preferences, as well
as to measure the effectiveness of our documentation and whether users
find what they're searching for. With your consent, you're helping us to
make our documentation better.
social:
- icon: fontawesome/brands/youtube
link: https://www.youtube.com/channel/UCnrc0CFnNJSG2Kt4Ohdr3UA/playlists?view=1
- icon: fontawesome/brands/twitter
link: https://twitter.com/nubenetes
- icon: fontawesome/brands/github-alt
link: https://github.com/nubenetes
- icon: fontawesome/brands/speaker-deck
link: https://speakerdeck.com/nubenetes/stars
- icon: fontawesome/brands/slideshare
link: https://www.slideshare.net/nubenetes/favorites
- icon: fontawesome/brands/twitter
link: https://twitter.com/redhatspain
- icon: fontawesome/brands/linkedin
link: https://www.linkedin.com/groups/1937212/