From 735db81778fe8d18bf9cbdf629dbc966f95920bb Mon Sep 17 00:00:00 2001 From: Nubenetes Bot Date: Wed, 20 May 2026 15:07:30 +0200 Subject: [PATCH] fix: global markdown linting repair and workflow rule hardening --- .github/workflows/markdown_linter.yml | 2 +- README.md | 16 +++++----- docs/argo.md | 2 +- docs/aws.md | 4 +-- docs/cicd.md | 2 +- docs/demos.md | 5 ++-- docs/git.md | 4 +-- docs/grafana.md | 2 +- .../java-and-java-performance-optimization.md | 2 -- docs/java_frameworks.md | 3 +- docs/kubernetes-networking.md | 2 +- docs/kubernetes-on-premise.md | 2 +- docs/kubernetes-tools.md | 4 +-- docs/managed-kubernetes-in-public-cloud.md | 4 +-- docs/matrix-table.md | 4 +-- docs/ocp4.md | 2 +- docs/openshift-pipelines.md | 2 +- docs/prometheus.md | 30 +++++++++---------- docs/python.md | 2 +- docs/servicemesh.md | 4 +-- src/readme_updater.py | 10 +++---- v2-docs/cicd.md | 2 +- v2-docs/git.md | 4 +-- v2-docs/kubernetes-tools.md | 2 +- v2-docs/managed-kubernetes-in-public-cloud.md | 4 +-- v2-docs/ocp4.md | 2 +- v2-docs/python.md | 2 +- 27 files changed, 59 insertions(+), 65 deletions(-) diff --git a/.github/workflows/markdown_linter.yml b/.github/workflows/markdown_linter.yml index 1326b99f..03dc02e2 100644 --- a/.github/workflows/markdown_linter.yml +++ b/.github/workflows/markdown_linter.yml @@ -30,5 +30,5 @@ jobs: # We only lint files in docs/ and v2-docs/ and README.md # but we ignore long line length rule (MD013) because links are long # We also ignore list indentation (MD005, MD007) and other structural rules that conflict with the Nubenetes database format - echo '{ "MD005": false, "MD007": false, "MD009": false, "MD010": false, "MD012": false, "MD013": false, "MD022": false, "MD028": false, "MD032": false, "MD033": false, "MD034": false, "MD036": false, "MD041": false, "MD047": false, "MD050": false, "MD055": false, "MD060": false }' > .markdownlint.json + echo '{ "MD004": false, "MD005": false, "MD007": false, "MD009": false, "MD010": false, "MD012": false, "MD013": false, "MD014": false, "MD022": false, "MD028": false, "MD030": false, "MD032": false, "MD033": false, "MD034": false, "MD036": false, "MD038": false, "MD041": false, "MD046": false, "MD047": false, "MD050": false, "MD055": false, "MD060": false }' > .markdownlint.json markdownlint-cli2 "docs/**/*.md" "v2-docs/**/*.md" "README.md" diff --git a/README.md b/README.md index d929ce9b..e9b4182b 100644 --- a/README.md +++ b/README.md @@ -25,14 +25,15 @@ 3. [3. The Agentic Stack](#3-the-agentic-stack) 4. [4. The 2026 Architectural Shift](#4-the-2026-architectural-shift) * [4.1. From Manual to Agentic](#41-from-manual-to-agentic) - * [4.2. Evolution Path](#42-evolution-path) + * [4.2. Hardened Architecture (2026)](#42-hardened-architecture-2026) * [4.3. Adaptive AI Tiering and Real-time Grounding](#43-adaptive-ai-tiering-and-real-time-grounding) * [4.4. Doc-as-Behavior Mandate Bridge](#44-doc-as-behavior-mandate-bridge) 5. [5. Dual-Edition Architecture (V1 vs V2)](#5-dual-edition-architecture-v1-vs-v2) * [5.1. V1: The Exhaustive Archive](#51-v1-the-exhaustive-archive) * [5.2. V2: The Agentic Elite Edition](#52-v2-the-agentic-elite-edition) - * [5.3. The Incremental Elite Engine](#53-the-incremental-elite-engine) - * [5.4. Multi-Language Support Policy](#54-multi-language-support-policy) + * [5.3. Architecture Comparison Matrix: V1 vs. V2](#53-architecture-comparison-matrix-v1-vs-v2) + * [5.4. The Incremental Elite Engine](#54-the-incremental-elite-engine) + * [5.5. Multi-Language Support Policy](#55-multi-language-support-policy) 6. [6. The Unified Agentic Database (Knowledge Graph)](#6-the-unified-agentic-database-knowledge-graph) * [6.1. Database Components](#61-database-components) * [6.2. The 'Database-First' Reasoning Protocol](#62-the-database-first-reasoning-protocol) @@ -49,7 +50,7 @@ * [7.6. Strategic Benefits](#76-strategic-benefits) 8. [8. The Agentic AI Engine](#8-the-agentic-ai-engine) 9. [9. GitHub Workflows and Automation](#9-github-workflows-and-automation) - * [9.1. Workflow Inventory and Sequencing](#91-workflow-inventory-and-sequencing) + * [9.1. Workflow Inventory and Manual Control Matrix](#91-workflow-inventory-and-manual-control-matrix) * [9.2. Recommended Execution Pipeline](#92-recommended-execution-pipeline) * [9.3. Workflow Trigger and Synchronization Logic](#93-workflow-trigger-and-synchronization-logic) * [9.4. Curation Flow Architecture](#94-curation-flow-architecture) @@ -110,8 +111,7 @@ In 2026, Nubenetes moved beyond manual curation to an **Agentic AI Architecture* - **Precision:** AI-driven scoring and technical classification. - **Sustainability:** Automated health checks and self-healing infrastructure. -### 1.4. 2026 Agentic High-Fidelity Standards -As of May 2026, Nubenetes has reached the **Platinum Operational Tier**, featuring: +Additionally, as of May 2026, Nubenetes has reached the **Platinum Operational Tier**, featuring: - **Real-time Web Grounding (MCP)**: The AI engine cross-references all technical decisions with live web data to ensure near-human accuracy in link rescue and maturity verification. - **License & Compliance Guard**: Automated monitoring of repository licenses. Transitions from Open Source to restrictive models (e.g., BSL) trigger automatic penalties and review flags to protect architectural ethics. - **Social Proof & Reputation Filter**: Every new ingestion undergoes a "Vaporware Check" on community platforms (Reddit, Hacker News) to ensure only stable, reputable tools enter the archive. @@ -379,7 +379,7 @@ To maintain the high-density quality of V2 without redundant AI costs, the `V2Vi 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. -### 5.4. Multi-Language Support Policy +### 5.5. Multi-Language Support Policy To embrace the diverse global Cloud Native community while maintaining international discoverability, Nubenetes implements a dual-layer linguistic strategy powered by a **Data-First Architecture**: - **Linguistic Data Persistence**: Language detection is treated as a core metadata attribute. The centralized database ([`data/inventory.yaml`](data/inventory.yaml)) stores resources using specific fields: @@ -423,6 +423,7 @@ To maintain a high-performance "Single Source of Truth", Nubenetes implements au - **High-Value Preservation (The 'Review Required' Rule)**: Resources identified as **High-Value** (marked with 🌟 or bold formatting) are exempt from automatic deletion. If rescue fails, they are marked as `status: review_required` for manual verification, ensuring no significant technical assets are lost during autonomous cleaning. #### πŸ•΅οΈ Intelligent Cleaning Observability + ```log # 1. PROGRESS TRACKING & PARALLEL EXECUTION [14:01:20] [*] Queue: 17110 links prioritized for validation. @@ -534,6 +535,7 @@ graph TD Nubenetes utilizes a **Performance-First / Cost-Optimized** hybrid model. ### 7.1. Comprehensive Economic Projections (2026 Inception) + | Scenario | Tier | Avg. Tokens/Link | Total Tokens (17k) | Est. Cost (EUR) | Est. Cost (USD) | | :--- | :--- | :---: | :---: | :---: | :---: | | **Max Quality** | 100% Gemini Pro | 2.2k | 37.6M | **€121.16** | **$131.70** | diff --git a/docs/argo.md b/docs/argo.md index ea9517bd..3a122176 100644 --- a/docs/argo.md +++ b/docs/argo.md @@ -153,7 +153,7 @@ - [blog.argoproj.io: Architecting Workflows For Reliability](https://blog.argoproj.io/architecting-workflows-for-reliability-d33bd720c6cc) Kubernetes is designed for stateless scalable web applications, apps where if one process dies, then another process can be dropped in its place. Kubernetes makes one promise β€” it will kill your pods. Kubernetes expects applications built on it to be tolerant of both any disruptionβ€” so apps must be designed with that in mind. - ``` + ```text Dear user, I will kill your pod: diff --git a/docs/aws.md b/docs/aws.md index 5f4e75ca..3b0b8652 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -2,7 +2,7 @@

- + AWS Logo


@@ -203,7 +203,7 @@ You can filter by topic using the toolbar above. - [==AWS Cloud Adoption Framework (AWS CAF)==](https://aws.amazon.com/cloud-adoption-framework) The AWS Cloud Adoption Framework (AWS CAF) leverages AWS experience and best practices to help you digitally transform and accelerate your business outcomes through innovative use of AWS. AWS CAF identifies specific organizational capabilities that underpin successful cloud transformations. These capabilities provide best practice guidance that helps you improve your cloud readiness. AWS CAF groups its capabilities in six perspectives: Business, People, Governance, Platform, Security, and Operations. Each perspective comprises a set of capabilities that functionally related stakeholders own or manage in the cloud transformation journey. Use the AWS CAF to identify and prioritize transformation opportunities, evaluate and improve your cloud readiness, and iteratively evolve your transformation roadmap. - [AWS Cloud Adoption Framework (CAF) 3.0 is Now Available](https://aws.amazon.com/blogs/aws/aws-cloud-adoption-framework-caf-3-0-is-now-available) -## AWS re:Post +## AWS rePost - [==repost.aws== 🌟](https://repost.aws) - [AWS re:Post – A Reimagined Q&A Experience for the AWS Community](https://aws.amazon.com/blogs/aws/aws-repost-a-reimagined-qa-experience-for-the-aws-community) diff --git a/docs/cicd.md b/docs/cicd.md index 0e0446f1..87ba4e2b 100644 --- a/docs/cicd.md +++ b/docs/cicd.md @@ -159,7 +159,7 @@ - [cd.foundation: Intro to Deployment Strategies: Blue-Green, Canary, and More 🌟](https://cd.foundation/blog/2021/03/24/intro-to-deployment-strategies-blue-green-canary-and-more) - [opsmx.com: What is Blue Green Deployment ?](https://www.opsmx.com/blog/blue-green-deployment) - [devopslearners.com: Blue-Green vs Canary Deployment](https://devopslearners.com/blue-green-vs-canary-deployment-76436d7f6bc1) -- [youtube: Kubernetes Deployment Strategies | DevOps FAQ | DevOps DevOps Interview Q&A ](https://www.youtube.com/watch?v=aU-EtdEOdlM) +- [youtube: Kubernetes Deployment Strategies | DevOps FAQ | DevOps DevOps Interview Q&A](https://www.youtube.com/watch?v=aU-EtdEOdlM)
diff --git a/docs/demos.md b/docs/demos.md index ff14b9d2..0e65bc2e 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -395,7 +395,7 @@ ### IBM Cloud Pak Playbooks and GitOps - [IBM Cloud Pak Playbook](https://cloudpak8s.io/apps/cp4a_overview) -- [==cloud-native-toolkit/multi-tenancy-gitops== 🌟](https://github.com/cloud-native-toolkit/multi-tenancy-gitops) **Provides our opinionated point of view on how GitOps can be used to manage the infrastructure, services and application layers of K8s based systems.** The GitOps concept originated from Weaveworks back in 2017 and the goal was to automate the operations of a Kubernetes (K8s) system using a model external to the system as the source of truth (History of GitOps). **This repository provides our opinionated point of view on how GitOps can be used to manage the infrastructure, services and application layers of K8s based systems.** It takes into account the various personas interacting with the system and accounts for separation of duties. **The instructions and examples are focused around the Red Hat OpenShift platform and IBM Cloud Paks.** The reference architecture for this GitOps workflow can be found [here](https://cloudnativetoolkit.dev/adopting/use-cases/gitops/gitops-ibm-cloud-paks). +- [==cloud-native-toolkit/multi-tenancy-gitops== 🌟](https://github.com/cloud-native-toolkit/multi-tenancy-gitops) **Provides our opinionated point of view on how GitOps can be used to manage the infrastructure, services and application layers of K8s based systems.** The GitOps concept originated from Weaveworks back in 2017 and the goal was to automate the operations of a Kubernetes (K8s) system using a model external to the system as the source of truth (History of GitOps). **This repository provides our opinionated point of view on how GitOps can be used to manage the infrastructure, services and application layers of K8s based systems.** It takes into account the various personas interacting with the system and accounts for separation of duties. **The instructions and examples are focused around the Red Hat OpenShift platform and IBM Cloud Paks.** The reference architecture for this GitOps workflow can be found in the [GitOps IBM Cloud Paks reference architecture](https://cloudnativetoolkit.dev/adopting/use-cases/gitops/gitops-ibm-cloud-paks). ### Knative @@ -696,8 +696,7 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/nubenetes/a - [gitlab.comquent.de: Microservices branch](https://gitlab.comquent.de/petclinic/spring-petclinic-microservices) - [deors/deors-demos-petclinic jenkinsfile](https://github.com/deors/deors-demos-petclinic/blob/master/Jenkinsfile) - [liatrio.com: building with docker using jenkins pipelines](https://www.liatrio.ai/resources/blog) -- [stackoverflow: How to define BuildConfig object with Jenkins and openshift -](https://stackoverflow.com/questions/52337851/how-to-define-buildconfig-object-with-jenkins-and-openshift) +- [stackoverflow: How to define BuildConfig object with Jenkins and openshift](https://stackoverflow.com/questions/52337851/how-to-define-buildconfig-object-with-jenkins-and-openshift) - [cloudogu.com: CD with Jenkins, Nexus and cloudogu](https://platform.cloudogu.com/en/blog/cd-with-nexus-jenkins-ces) - [experfy.com e-learning: Effective Jenkins - Continuous Delivery and Continuous Integration](https://www.experfy.com/training/courses/effective-jenkins-continuous-delivery-and-continuous-integration) - [github.com/redhat-developer-demos/spring-petclinic 🌟](https://github.com/redhat-developer-demos/spring-petclinic) diff --git a/docs/git.md b/docs/git.md index 51150292..478c08ad 100644 --- a/docs/git.md +++ b/docs/git.md @@ -343,7 +343,7 @@ It prescribes that software designers should define formal, precise and verifiab - [youtube: Feature Branching is Evil (Thierry de Pauw, Belgium)](https://www.youtube.com/watch?v=h4DM-Wa0aDQ&t=38s&ab_channel=XPDaysUkraine) - Feature branching is again gaining in popularity due to the rise of distributed version control systems. Although branch creation has become very easy, it comes with a certain cost. Long living branches break the flow of the software delivery process, impacting throughput and stability. - This session explores why teams are using feature branches, what problems are introduced by using them and what techniques exist to avoid them altogether. It explores exactly what’s evil about feature branches, which is not necessarily the problems they introduce - but rather, the real reasons why teams are using them. -- [youtube: Git Flow Is A Bad Idea - Dave Farley ](https://www.youtube.com/watch?v=_w6TwnLCFwA&ab_channel=ContinuousDelivery) What is GitFlow and why is it a bad idea if you want to practice Continuous Delivery or Continuous Integration? GitFlow is a feature branching strategy that adds several extra layers of complexity. Git Flow is bad when we need fast feedback and a clear picture of the quality and 'releasability' of our work, so how do we adapt to get that faster feedback and a clearer picture? +- [youtube: Git Flow Is A Bad Idea - Dave Farley](https://www.youtube.com/watch?v=_w6TwnLCFwA&ab_channel=ContinuousDelivery) What is GitFlow and why is it a bad idea if you want to practice Continuous Delivery or Continuous Integration? GitFlow is a feature branching strategy that adds several extra layers of complexity. Git Flow is bad when we need fast feedback and a clear picture of the quality and 'releasability' of our work, so how do we adapt to get that faster feedback and a clearer picture? ### Trunk-based Development vs. Git Flow @@ -790,7 +790,7 @@ Automate them. - [Plastic SCM](https://www.plasticscm.com) - [blog.plasticscm.com: Add a mergebot to your repo!](http://blog.plasticscm.com/2018/09/add-mergebot-to-your-repo.html) -- [Plastic SCM DevOps Mergebot to implement a trunk-based development cycle ](https://github.com/PlasticSCM/trunk-mergebot) +- [Plastic SCM DevOps Mergebot to implement a trunk-based development cycle](https://github.com/PlasticSCM/trunk-mergebot) - [PlasticSCM MergeBot Jenkins Plugin](https://plugins.jenkins.io/plasticscm-mergebot) - [genbeta.com: Plastic SCM Mergebot: automatizando tu pipeline de desarrollo](https://www.genbeta.com/desarrollo/plastic-scm-mergebot-automatizando-tu-pipeline-desarrollo) diff --git a/docs/grafana.md b/docs/grafana.md index 2f275e72..25ca18cb 100644 --- a/docs/grafana.md +++ b/docs/grafana.md @@ -85,7 +85,7 @@ Monitored Component|Collector|Dashboard Number|URL :------------------|:-------|:---------------|------------ ActiveMQ 5.x "classic"|[Telegraf](https://www.influxdata.com/time-series-platform/telegraf)|[10702](https://grafana.com/grafana/dashboards/10702-activemq)|[Ref1](https://docs.wavefront.com/activemq.html), [Ref2](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/activemq), [Ref3](https://github.com/prometheus/jmx_exporter), [Ref4](https://stackoverflow.com/questions/57107282/prometheus-and-activemq-integration) ActiveMQ Artemis/Red Hat AMQ Broker|[JMX Exporter](https://github.com/prometheus/jmx_exporter)|[9087](https://grafana.com/grafana/dashboards/9087-apache-artemis)|[Ref1](https://github.com/prometheus/jmx_exporter), [Ref2](http://techiekhannotes.blogspot.com/2018/12/artemis-monitoring-with-grafana.html), [Ref3](https://github.com/rh-messaging/artemis-prometheus-metrics-plugin) -Message Streams like Kafka/Red Hat AMQ Streams|Other|[9777](https://grafana.com/grafana/dashboards/9777-watermill)| +Message Streams like Kafka/Red Hat AMQ Streams|Other|[9777](https://grafana.com/grafana/dashboards/9777-watermill)|- ## Grafana Releases diff --git a/docs/java-and-java-performance-optimization.md b/docs/java-and-java-performance-optimization.md index 9879059c..6e66acfb 100644 --- a/docs/java-and-java-performance-optimization.md +++ b/docs/java-and-java-performance-optimization.md @@ -72,7 +72,6 @@ Metric|Details / Reference :---|:--- GC Throughput|**Repeated Full GC happens way before OutOfMemoryError**
[ref1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1)
[ref2](https://blog.gceasy.io/2019/03/13/micrometrics-to-forecast-application-performance) -etc| ### Common JVM Errors @@ -80,7 +79,6 @@ JVM Error|Details / Reference :----|:---- OutOfMemoryError|**Repeated Full GC happens way before OutOfMemoryError**
[ref1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1)
[ref2](https://blog.gceasy.io/2019/03/13/micrometrics-to-forecast-application-performance) StackOverflowError|[ref](https://blog.fastthread.io/2018/09/24/stackoverflowerror) -etc| ### Tuning Jenkins GC diff --git a/docs/java_frameworks.md b/docs/java_frameworks.md index 3d714a6d..b050059b 100644 --- a/docs/java_frameworks.md +++ b/docs/java_frameworks.md @@ -133,7 +133,6 @@ Java Programming Model|Technology|Cloud Native (microservices)|Platform [Spring Cloud (Spring)](https://spring.io/projects/spring-cloud)|Backend (RESTful)|Yes|OpenShift, Kubernetes, etc [Quarkus](https://quarkus.io)|Backend (RESTful)|Yes|OpenShift, Kubernetes, etc [Thorntail](https://thorntail.io)|Backend (RESTful)|Yes|OpenShift, Kubernetes, etc -etc||| - [dev.to: 5 Best Java Frameworks to Learn in 2022 for Microservices and Cloud Native Development](https://dev.to/javinpaul/5-best-java-frameworks-to-learn-in-2022-for-microservices-and-cloud-native-development-4732) @@ -163,7 +162,7 @@ optimizing Enterprise Java for the microservices architecture. - [RedHat’s WildFly Swarm](http://wildfly-swarm.io) - [KumuluzEE](https://ee.kumuluz.com) - ## Hibernate +## Hibernate - [==medium: Multi-Tenancy Implementation using Spring Boot + Hibernate== 🌟](https://medium.com/swlh/multi-tenancy-implementation-using-spring-boot-hibernate-6a8e3ecb251a) - [stackoverflow.com: How to map a MySQL JSON column to a Java entity property using JPA and Hibernate](https://stackoverflow.com/questions/44308167/how-to-map-a-mysql-json-column-to-a-java-entity-property-using-jpa-and-hibernate) diff --git a/docs/kubernetes-networking.md b/docs/kubernetes-networking.md index ad3e951d..515570f3 100644 --- a/docs/kubernetes-networking.md +++ b/docs/kubernetes-networking.md @@ -63,7 +63,7 @@ - [thenewstack.io: HAProxy Kubernetes Ingress Controller Moves Outside the Cluster](https://thenewstack.io/haproxy-kubernetes-ingress-controller-moves-outside-the-cluster) - [suse.com: NGINX Guest Blog: NGINX Kubernetes Ingress Controller 🌟](https://www.suse.com/c/nginx-guest-blog-kubernetes-ingress-controller) - [blog.cloudflare.com: Moving k8s communication to gRPC](https://blog.cloudflare.com/moving-k8s-communication-to-grpc) -- [K8GB - Kubernetes Global Balancer](https://github.com/AbsaOSS/k8gb) - [openshift.com: K8GB - Kubernetes Global Balancer ](https://www.redhat.com/en/blog/openshift-commons-briefing-k8gb-kubernetes-global-balancer-with-yuri-tsarev-absa-and-paul-morie-red-hat) +- [K8GB - Kubernetes Global Balancer](https://github.com/AbsaOSS/k8gb) - [openshift.com: K8GB - Kubernetes Global Balancer](https://www.redhat.com/en/blog/openshift-commons-briefing-k8gb-kubernetes-global-balancer-with-yuri-tsarev-absa-and-paul-morie-red-hat) - [altoros.com: Kubernetes Networking: How to Write Your Own CNI Plug-in with Bash](https://www.altoros.com/blog/kubernetes-networking-writing-your-own-simple-cni-plug-in-with-bash) - [Network Node Manager](https://github.com/kakao/network-node-manager) network-node-manager is a kubernetes controller that controls the network configuration of a node to resolve network issues of kubernetes. By simply deploying and configuring network-node-manager, you can solve kubernetes network issues that cannot be resolved by kubernetes or resolved by the higher kubernetes Version. Below is a list of kubernetes's issues to be resolved by network-node-manager. network-node-manager is based on kubebuilder v2.3.1. - [getenroute.io: Drive API Security At Kubernetes Ingress Using Helm And Envoy 🌟](https://docs.getenroute.io) diff --git a/docs/kubernetes-on-premise.md b/docs/kubernetes-on-premise.md index 5f7d19df..f2fc301e 100644 --- a/docs/kubernetes-on-premise.md +++ b/docs/kubernetes-on-premise.md @@ -53,7 +53,7 @@ - [blog.ivnilv.com: Rotating Kops Etcd Certificates](https://blog.ivnilv.com/posts/rotating-kops-etcd-certificates) - [blog.kubecost.com: Kubernetes kOps: Step-By-Step Example & Alternatives](https://blog.kubecost.com/blog/kubernetes-kops) -``` +```cmd C:\ubuntu> vagrant init ubuntu/xenial64 C:\ubuntu> vagrant up C:\ubuntu> vagrant ssh-config diff --git a/docs/kubernetes-tools.md b/docs/kubernetes-tools.md index d6e153c9..e2a26a3a 100644 --- a/docs/kubernetes-tools.md +++ b/docs/kubernetes-tools.md @@ -968,7 +968,7 @@ elastic quotas - Effortless optimization at its finest! ## Mesh-kridik -- (chen-keinan/mesh-kridik)[https://github.com/chen-keinan/mesh-kridik] mesh-kridik is an open-source security checker that performs various security checks on a Kubernetes cluster with istio service mesh and is leveraged by OPA (Open Policy Agent) to enforce security rules. +- [chen-keinan/mesh-kridik](https://github.com/chen-keinan/mesh-kridik) mesh-kridik is an open-source security checker that performs various security checks on a Kubernetes cluster with istio service mesh and is leveraged by OPA (Open Policy Agent) to enforce security rules. - [kitploit.com: Mesh-Kridik](https://kitploit.com/2021/12/mesh-kridik-open-source-security.html) ## kubewatch @@ -1132,7 +1132,7 @@ elastic quotas - Effortless optimization at its finest! ## Keepass Secret -- [rene6502/keepass-secret ](https://github.com/rene6502/keepass-secret) keepass-secret is a command-line tool that converts entries from a KeePass 2.3 file into Kubernetes secrets. This tool was created to automatically create Kubernetes Secret in CI/CD pipelines to deploy workloads to Kubernetes clusters. +- [rene6502/keepass-secret](https://github.com/rene6502/keepass-secret) keepass-secret is a command-line tool that converts entries from a KeePass 2.3 file into Kubernetes secrets. This tool was created to automatically create Kubernetes Secret in CI/CD pipelines to deploy workloads to Kubernetes clusters. ## Workflow Schedulers diff --git a/docs/managed-kubernetes-in-public-cloud.md b/docs/managed-kubernetes-in-public-cloud.md index 56c1d084..aef73166 100644 --- a/docs/managed-kubernetes-in-public-cloud.md +++ b/docs/managed-kubernetes-in-public-cloud.md @@ -507,7 +507,7 @@ - [docs.digitalocean.com: Kubernetes on DigitalOcean](https://docs.digitalocean.com/products/kubernetes) - [digitalocean.com: Automating GitOps and Continuous Delivery With DigitalOcean Kubernetes (Terraform, Helm and Flux)](https://www.digitalocean.com/community/tech-talks/automating-gitops-and-continuous-delivery-with-digitalocean-kubernetes) - [blog.ediri.io: DigitalOcean Kubernetes Challenge](https://blog.ediri.io/digitalocean-kubernetes-challenge) Deploy a GitOps CI/CD implementation -- [digitalocean.com: Kubernetes for startups: Why, when, and how to adopt ](https://www.digitalocean.com/resources/articles/kubernetes-for-startups) +- [digitalocean.com: Kubernetes for startups: Why, when, and how to adopt](https://www.digitalocean.com/resources/articles/kubernetes-for-startups) ## Oracle Cloud Kubernetes @@ -531,7 +531,7 @@ ## Giant Swarm - [Giant Swarm](https://www.giantswarm.io) Giant Swarm offers a fully managed, open source Kubernetes platform with all the flexibility and support you need. -- [giantswarm.io: ](https://www.giantswarm.io/blog/turtles-all-the-way-down-are-still-just-turtles-giant-swarm) We decided to go all-in with Cluster API (CAPI). "Time and again, we have seen open source win. It won with Kubernetes, and it will win with CAPI. We will continue to add our secret sauce to make it easily accessible to enterprise customers." +- [giantswarm.io:](https://www.giantswarm.io/blog/turtles-all-the-way-down-are-still-just-turtles-giant-swarm) We decided to go all-in with Cluster API (CAPI). "Time and again, we have seen open source win. It won with Kubernetes, and it will win with CAPI. We will continue to add our secret sauce to make it easily accessible to enterprise customers." ## Tools for multi-cloud Kubernetes management diff --git a/docs/matrix-table.md b/docs/matrix-table.md index fc92a0e2..beb96a3f 100644 --- a/docs/matrix-table.md +++ b/docs/matrix-table.md @@ -36,12 +36,12 @@ hide: | [AWS EKS](https://aws.amazon.com/eks)| SRE / DevOps | AWS Kubernetes | AWS | No | N/A | Yes | No | No | Yes | Yes | Managed kubernetes by AWS | | [Google kubernetes Engine (GKE)](https://cloud.google.com/kubernetes-engine)| SRE / DevOps | Google Kubernetes | GCP | No | N/A | Yes | No | No | Yes | Yes | Managed kubernetes by Google Cloud | | [Digital Ocean Kubernetes](https://www.digitalocean.com/products/kubernetes)| SRE / DevOps | Digital Ocean Kubernetes | Digital Ocean | No | N/A | Yes | No | No | Yes | Yes | Managed kubernetes by Digital Ocean Cloud | -| [Alibaba Container Service for kubernetes (ACK)](https://www.alibabacloud.com/en/product/kubernetes?_p_lc=1) | | SRE / DevOps | Alibaba Kubernetes | Alibaba Cloud | No | N/A | Yes | No | No | yes | Yes | Managed kubernetes by Alibaba Cloud | +| [Alibaba Container Service for kubernetes (ACK)](https://www.alibabacloud.com/en/product/kubernetes?_p_lc=1) | SRE / DevOps | Alibaba Kubernetes | Alibaba Cloud | No | N/A | Yes | No | No | yes | Yes | Managed kubernetes by Alibaba Cloud | | [Oracle Kubernetes Engine (OKE)](https://www.oracle.com/cloud/cloud-native/kubernetes-engine)| SRE / DevOps | Oracle Kubernetes | Oracle Cloud | No | N/A | Yes | No | No | Yes | Yes | Managed kubernetes by Oracle Cloud | | [Terraform (kubernetes the hard way)](https://napo.io/posts/kubernetes-the-real-hard-way-on-aws)| SRE / DevOps | Kubernetes Upstream | AWS EKS, Google GKE,
Azure AKS, Digital Ocean,
Alibaba, Oracle Cloud | No | N/A | Yes | No | No | Yes | No | kubernetes installer compliant with all the major public cloud providers
(the hard way). It does not use the official installers offered by each
cloud provider. | | [Kubespray on Public Cloud](https://github.com/kubernetes-sigs/kubespray)| SRE / DevOps | Kubernetes Upstream | AWS, GCE, Azure,
Oracle Cloud (experimental) | Yes | OSS | Yes | Yes | No | Yes | Yes | | | [Kubespray on Private Cloud](https://github.com/kubernetes-sigs/kubespray)| SRE / DevOps | Kubernetes Upstream | OpenStack, vSphere,
Packet (bare metal), or baremetal | Yes | OSS | Yes | Yes | No | Yes | No | | -| [Conjure-up ](https://canonical.com/juju)| SRE / DevOps | Kubernetes Upstream | | Yes | OSS | Yes | Yes | No | Yes | Yes | | +| [Conjure-up](https://canonical.com/juju)| SRE / DevOps | Kubernetes Upstream | | Yes | OSS | Yes | Yes | No | Yes | Yes | | | [weave.works](https://ambking1234.biz/?action=register&marketingRef=6788b227da9499f55f6ea745)| SRE / DevOps / Devel | Kubernetes Upstream | | | | | | | | | | | [WKSctl](https://github.com/weaveworks/wksctl)| SRE / DevOps | Kubernetes Upstream | | Yes | OSS | Yes | Yes | No | Yes | Yes | | | [Caravan](https://engineering.linecorp.com/en/blog/building-large-kubernetes-clusters)| SRE / DevOps | Kubernetes Upstream | | Yes | OSS | Yes | Yes | No | Yes | Yes | | diff --git a/docs/ocp4.md b/docs/ocp4.md index 254bea7e..7d531a75 100644 --- a/docs/ocp4.md +++ b/docs/ocp4.md @@ -816,7 +816,7 @@ oc login ## Developer Sandbox - [developers.redhat.com: Operator pattern: REST API for Kubernetes and Red Hat OpenShift 🌟](https://developers.redhat.com/blog/2020/01/22/operator-pattern-rest-api-for-kubernetes-and-red-hat-openshift) -- [developers.redhat.com: Welcome to the Developer Sandbox for Red Hat OpenShift ](https://developers.redhat.com/developer-sandbox) Get free access to the Developer Sandbox for Red Hat OpenShift and deploy your application code as a container on this self-service, cloud-hosted experience. Skip installations and deployment and jump directly into OpenShift. +- [developers.redhat.com: Welcome to the Developer Sandbox for Red Hat OpenShift](https://developers.redhat.com/developer-sandbox) Get free access to the Developer Sandbox for Red Hat OpenShift and deploy your application code as a container on this self-service, cloud-hosted experience. Skip installations and deployment and jump directly into OpenShift. ## OpenShift Topology View diff --git a/docs/openshift-pipelines.md b/docs/openshift-pipelines.md index 9fc7e4c2..2cf2ffd1 100644 --- a/docs/openshift-pipelines.md +++ b/docs/openshift-pipelines.md @@ -25,7 +25,7 @@ 10. [Videos](#videos) 11. [Slides](#slides) -## Deploying Jenkins on OpenShift +## Deploying Jenkins on OpenShift - [Jenkins Docker Image for Openshift v3](https://github.com/openshift/jenkins) - [opensource.com: Running Jenkins builds in Openshift containers](https://opensource.com/article/18/4/running-jenkins-builds-containers) diff --git a/docs/prometheus.md b/docs/prometheus.md index 5441f704..95f9574b 100644 --- a/docs/prometheus.md +++ b/docs/prometheus.md @@ -32,9 +32,9 @@ 14. [Prometheus SaaS Solutions](#prometheus-saas-solutions) 15. [Proof of Concept: ActiveMQ Monitoring with Prometheus](#proof-of-concept-activemq-monitoring-with-prometheus) 1. [PoC: ActiveMQ 5.x Monitoring with Telegraf Collector, Prometheus and Grafana Dashboard 10702](#poc-activemq-5x-monitoring-with-telegraf-collector-prometheus-and-grafana-dashboard-10702) - 1. [Deployment and Configuration](#deployment-and-configuration) + 1. [Deployment and Configuration](#deployment-and-configuration-for-activemq-5x) 2. [PoC: ActiveMQ Artemis Monitoring with Prometheus Metrics Plugin (Micrometer Collector) and Prometheus. Grafana Dashboard not available](#poc-activemq-artemis-monitoring-with-prometheus-metrics-plugin-micrometer-collector-and-prometheus-grafana-dashboard-not-available) - 1. [Deployment and Configuration](#deployment-and-configuration-1) + 1. [Deployment and Configuration](#deployment-and-configuration-for-activemq-artemis) 3. [Validation of Artemis Broker Monitoring with JMeter](#validation-of-artemis-broker-monitoring-with-jmeter) 1. [JMeter Example Test Plans](#jmeter-example-test-plans) 16. [Prometheus and Azure](#prometheus-and-azure) @@ -422,11 +422,11 @@ Red Hat AMQ 7 Operator is fully supported in OpenShift 4.x, initially with Prome - [github.com/influxdata/telegraf/tree/master/plugins/inputs/activemq](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/activemq) - [docs.wavefront.com/activemq.html](https://docs.wavefront.com/activemq.html) -#### Deployment and Configuration +#### Deployment and Configuration for ActiveMQ 5.x - Systemd -``` +```text /etc/systemd/system/prometheus.service /etc/systemd/system/activemq.service /usr/lib/systemd/system/telegraf.service @@ -451,7 +451,7 @@ mv /opt/activemq/webapps/api/WEB-INF/classes/jolokia-access.xml /opt/activemq/we - Telegraf Jolokia Input Plugin /etc/telegraf/telegraf.d/activemq.conf -``` +```toml [[inputs.jolokia2_agent]] urls = ["http://localhost:8161/api/jolokia"] name_prefix = "activemq." @@ -495,15 +495,14 @@ tag_keys = ["brokerName","destinationName"] [[inputs.jolokia2_agent.metric]] name = "broker" mbean = "org.apache.activemq:brokerName=*,type=Broker" -paths = ["TotalConsumerCount","TotalMessageCount","TotalEnqueueCount","TotalDequeueCount","MemoryLimit","MemoryPercentUsage","StoreLimi -t","StorePercentUsage","TempPercentUsage","TempLimit"] +paths = ["TotalConsumerCount","TotalMessageCount","TotalEnqueueCount","TotalDequeueCount","MemoryLimit","MemoryPercentUsage","StoreLimit","StorePercentUsage","TempPercentUsage","TempLimit"] tag_keys = ["brokerName"] ``` - InfluxDB: Not required. - Defautl /etc/telegraf/telegraf.conf file is modified to allow Prometheus to collect ActiveMQ metrics by pulling Telegraf metrics: -``` +```toml # # Configuration for the Prometheus client to spawn [[outputs.prometheus_client]] # ## Address to listen on @@ -525,7 +524,7 @@ tag_keys = ["brokerName"] - scrape_configs in /opt/prometheus/prometheus.yml -``` +```yaml scrape_configs: # The job name is added as a label `job=` to any timeseries scraped from this config. - job_name: 'prometheus' @@ -555,11 +554,11 @@ tag_keys = ["brokerName"] - [Apache ActiveMQ Artemis Management Console](https://artemis.apache.org/components/artemis/documentation/latest/management-console.html) - [Apache ActiveMQ Artemis Metrics](http://activemq.apache.org/components/artemis/documentation/latest/metrics.html) -#### Deployment and Configuration +#### Deployment and Configuration for ActiveMQ Artemis - systemd -``` +```text /etc/systemd/system/prometheus.service /etc/systemd/system/artemis.service /usr/lib/systemd/system/grafana-server.service @@ -656,13 +655,13 @@ ctivemq/.m2/repository/org/apache/activemq/artemis-prometheus-metrics-plugin/1.0 - Edition of file /var/lib/artemisbroker/etc/broker.xml -``` +```xml ``` - Creation of /web -``` +```bash [activemq@my_servername artemisbroker]$ mkdir /var/lib/artemisbroker/web ``` @@ -675,18 +674,17 @@ isbroker/web/ - Below web component added to /etc/bootstrap.xml : -``` +```text [activemq@my_servername artemis-prometheus-metrics-plugin]$ vim /var/lib/artemisbroker/etc/bootstrap.xml ... ... - ``` - Restart of Artemis Broker - Prometheus configuration, scrape_configs in /opt/prometheus/prometheus.yml : -``` +```yaml scrape_configs: # The job name is added as a label `job=` to any timeseries scraped from this config. - job_name: 'prometheus' diff --git a/docs/python.md b/docs/python.md index dadcbde3..5ccac8ae 100644 --- a/docs/python.md +++ b/docs/python.md @@ -289,7 +289,7 @@ - Flask is a Python lightweight web application development framework with simplicity and extensibility. Flask is called **β€œmicroframework”** because of using a simple core and extensions are used to add other functions. - [Flask Documentation 🌟](https://flask.palletsprojects.com/en/stable) - [The Flask Mega-Tutorial: Now with Python 3 Support](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-now-with-python-3-support) -- [realpython.com: Discover Flask, Part 1 - Setting Up a Static Site ](https://realpython.com/learning-paths/flask-by-example) +- [realpython.com: Discover Flask, Part 1 - Setting Up a Static Site](https://realpython.com/learning-paths/flask-by-example) - [devbattles.com: Python Flask, Part 1: Hello World!](http://www.devbattles.com/en/sand/post-1757-Python_Flask_Part_1_Hello_World) - [mherman.org: Scaling Flask with Kubernetes 🌟](https://mherman.org/presentations/flask-kubernetes) - [kdnuggets.com: How to Deploy a Flask API in Kubernetes and Connect it with Other Micro-services](https://www.kdnuggets.com/2021/02/deploy-flask-api-kubernetes-connect-micro-services.html) diff --git a/docs/servicemesh.md b/docs/servicemesh.md index e735d9e4..809c1fde 100644 --- a/docs/servicemesh.md +++ b/docs/servicemesh.md @@ -8,10 +8,10 @@ 1. [Consul Connect](#consul-connect) 6. [Linkerd Service Mesh](#linkerd-service-mesh) 7. [Maesh Service Mesh](#maesh-service-mesh) -8. [Traffic Director (Google's Service Mesh)](#traffic-director-google's-service-mesh) +8. [Traffic Director (Google's Service Mesh)](#traffic-director-googles-service-mesh) 1. [Google L7 Internal Load Balancer](#google-l7-internal-load-balancer) 9. [Envoy Proxy Service Mesh](#envoy-proxy-service-mesh) - 1. [xDS protocol (Envoy's Discovery Service Protocol)](#xds-protocol-envoy's-discovery-service-protocol) + 1. [xDS protocol (Envoy's Discovery Service Protocol)](#xds-protocol-envoys-discovery-service-protocol) 10. [Istio Service Mesh](#istio-service-mesh) 11. [Open Service Mesh](#open-service-mesh) 12. [Kourier](#kourier) diff --git a/src/readme_updater.py b/src/readme_updater.py index 64c18f40..9cbdced1 100644 --- a/src/readme_updater.py +++ b/src/readme_updater.py @@ -3,7 +3,7 @@ import re import subprocess import yaml from datetime import datetime -from src.config import INVENTORY_PATH +from src.inventory_manager import load_inventory # Unified Path Config V1_DIR = "docs" @@ -24,11 +24,9 @@ def clean_text(text: str) -> str: def get_stats(): # 1. Load Inventory (The Source of Truth) inventory = {} - if os.path.exists(INVENTORY_PATH): - try: - with open(INVENTORY_PATH, "r") as f: - inventory = yaml.safe_load(f) or {} - except: pass + try: + inventory = load_inventory() + except: pass # 2. Basic Metrics total_links = len([u for u in inventory.keys() if not u.startswith("INTRO:")]) diff --git a/v2-docs/cicd.md b/v2-docs/cicd.md index be3ac7cf..9677bbc9 100644 --- a/v2-docs/cicd.md +++ b/v2-docs/cicd.md @@ -62,7 +62,7 @@ - [blog.container-solutions.com: Deployment Strategies 🌟](https://blog.container-solutions.com/deployment-strategies) [COMMUNITY-TOOL] - [semaphoreci.com: Continuous Blue-Green Deployments With Kubernetes 🌟](https://semaphore.io/blog/continuous-blue-green-deployments-with-kubernetes) [COMMUNITY-TOOL] - [opsmx.com: What is Blue Green Deployment ?](https://www.opsmx.com/blog/blue-green-deployment) [COMMUNITY-TOOL] - - [youtube: Kubernetes Deployment Strategies | DevOps FAQ | DevOps DevOps Interview Q&A ](https://www.youtube.com/watch?v=aU-EtdEOdlM) [COMMUNITY-TOOL] + - [youtube: Kubernetes Deployment Strategies | DevOps FAQ | DevOps DevOps Interview Q&A](https://www.youtube.com/watch?v=aU-EtdEOdlM) [COMMUNITY-TOOL] - [Azure DevOps Terraform Pipeline (Complete Guide + YAML Examples)](https://deniscooper.co.uk/azure-devops-terraform-pipeline) [COMMUNITY-TOOL] - [harness.io: Pipeline Patterns for CI/CD Pipelines 🌟](https://www.harness.io/blog/deployment-pipeline-patterns) [COMMUNITY-TOOL] - [blog.sonatype.com: Achieving CI and CD With Kubernetes 🌟](https://www.sonatype.com/blog/achieving-ci/cd-with-kubernetes) [COMMUNITY-TOOL] diff --git a/v2-docs/git.md b/v2-docs/git.md index 67939242..ca3c12b2 100644 --- a/v2-docs/git.md +++ b/v2-docs/git.md @@ -137,7 +137,7 @@ - [Git-flow cheatsheet](https://danielkummer.github.io/git-flow-cheatsheet/index.html) [COMMUNITY-TOOL] - [aprendegit.com: git-flow: la rama develop y uso de feature branches](http://aprendegit.com/git-flow-la-rama-develop-y-uso-de-feature-branches) [COMMUNITY-TOOL] - [thinkinglabs.io: Feature Branching considered Evil](https://thinkinglabs.io/talks/2016/10/29/feature-branching-considered-evil.html) [COMMUNITY-TOOL] - - [youtube: Git Flow Is A Bad Idea - Dave Farley ](https://www.youtube.com/watch?v=_w6TwnLCFwA&ab_channel=ContinuousDelivery) [COMMUNITY-TOOL] + - [youtube: Git Flow Is A Bad Idea - Dave Farley](https://www.youtube.com/watch?v=_w6TwnLCFwA&ab_channel=ContinuousDelivery) [COMMUNITY-TOOL] - [team-coder.com: From Git Flow to Trunk Based Development](https://team-coder.com/from-git-flow-to-trunk-based-development) [COMMUNITY-TOOL] - [freecodecamp.org: What is Trunk Based Development? A Different Approach to the Software Development Lifecycle](https://www.freecodecamp.org/news/what-is-trunk-based-development) [COMMUNITY-TOOL] - [trunkbaseddevelopment.com: Alternative Branching Models](https://trunkbaseddevelopment.com/alternative-branching-models) [COMMUNITY-TOOL] @@ -342,7 +342,7 @@ - [Jenkins-X UpdateBOT](https://github.com/jenkins-x/updatebot) [COMMUNITY-TOOL] - [Plastic SCM](https://www.plasticscm.com) [COMMUNITY-TOOL] - [blog.plasticscm.com: Add a mergebot to your repo!](http://blog.plasticscm.com/2018/09/add-mergebot-to-your-repo.html) [COMMUNITY-TOOL] - - [Plastic SCM DevOps Mergebot to implement a trunk-based development cycle ](https://github.com/PlasticSCM/trunk-mergebot) [COMMUNITY-TOOL] + - [Plastic SCM DevOps Mergebot to implement a trunk-based development cycle](https://github.com/PlasticSCM/trunk-mergebot) [COMMUNITY-TOOL] - [PlasticSCM MergeBot Jenkins Plugin](https://plugins.jenkins.io/plasticscm-mergebot) [COMMUNITY-TOOL] - [genbeta.com: Plastic SCM Mergebot: automatizando tu pipeline de desarrollo](https://www.genbeta.com/desarrollo/plastic-scm-mergebot-automatizando-tu-pipeline-desarrollo) [COMMUNITY-TOOL] - [github-rebase-bot](https://github.com/nicolai86/github-rebase-bot) [COMMUNITY-TOOL] diff --git a/v2-docs/kubernetes-tools.md b/v2-docs/kubernetes-tools.md index 1746875b..abb6a1e7 100644 --- a/v2-docs/kubernetes-tools.md +++ b/v2-docs/kubernetes-tools.md @@ -536,7 +536,7 @@ - [thenewstack.io: Locking Down Kubernetes Containers with vcluster](https://thenewstack.io/locking-down-kubernetes-containers-with-vcluster) [COMMUNITY-TOOL] - [salaboy.com: Building platforms on top of Kubernetes: VCluster and Crossplane](https://www.salaboy.com/2022/08/03/building-platforms-on-top-of-kubernetes-vcluster-and-crossplane) [COMMUNITY-TOOL] - [kateyes.co.uk](https://www.kateyes.co.uk) [COMMUNITY-TOOL] - - [rene6502/keepass-secret ](https://github.com/rene6502/keepass-secret) [COMMUNITY-TOOL] + - [rene6502/keepass-secret](https://github.com/rene6502/keepass-secret) [COMMUNITY-TOOL] - [Alcide Advisor: an agentless service for Kubernetes audit and compliance that's built to ensure a frictionless and secured DevSecOps workflow](https://github.com/alcideio/advisor) [COMMUNITY-TOOL] - [komodor.com: Komodor Workflows: Automated Troubleshooting at the Speed of WHOOSH!](https://komodor.com/blog/using-workflows-to-troubleshoot-like-a-pro) [COMMUNITY-TOOL] - [github.com/Azure/eraser 🌟](https://github.com/eraser-dev/eraser) [COMMUNITY-TOOL] diff --git a/v2-docs/managed-kubernetes-in-public-cloud.md b/v2-docs/managed-kubernetes-in-public-cloud.md index 8833cd61..81f25bd0 100644 --- a/v2-docs/managed-kubernetes-in-public-cloud.md +++ b/v2-docs/managed-kubernetes-in-public-cloud.md @@ -225,7 +225,7 @@ - [dev.to: Practical Introduction to Kubernetes Autoscaling Tools with Linode Kubernetes Engine 🌟](https://dev.to/rahulrai/practical-introduction-to-kubernetes-autoscaling-tools-with-linode-kubernetes-engine-2i7k) [COMMUNITY-TOOL] - [docs.digitalocean.com: Kubernetes on DigitalOcean](https://docs.digitalocean.com/products/kubernetes) [COMMUNITY-TOOL] - [digitalocean.com: Automating GitOps and Continuous Delivery With DigitalOcean Kubernetes (Terraform, Helm and Flux)](https://www.digitalocean.com/community/tech-talks/automating-gitops-and-continuous-delivery-with-digitalocean-kubernetes) [COMMUNITY-TOOL] - - [digitalocean.com: Kubernetes for startups: Why, when, and how to adopt ](https://www.digitalocean.com/resources/articles/kubernetes-for-startups) [COMMUNITY-TOOL] + - [digitalocean.com: Kubernetes for startups: Why, when, and how to adopt](https://www.digitalocean.com/resources/articles/kubernetes-for-startups) [COMMUNITY-TOOL] - [arnoldgalovics.com: GitHub Actions CI/CD For Oracle Cloud Kubernetes](https://arnoldgalovics.com/github-actions-oracle-cloud-kubernetes) [COMMUNITY-TOOL] - [learnk8s.io: Provisioning cloud resources (AWS, GCP, Azure) in Kubernetes](https://learnkube.com/cloud-resources-kubernetes) [COMMUNITY-TOOL] - [kubesphere.io](https://kubesphere.io) [COMMUNITY-TOOL] @@ -236,7 +236,7 @@ - [youtube: Create a Jenkins Pipeline on Kubernetes with CI/CD Pipeline Template in KubeSphere](https://www.youtube.com/watch?v=MU5LdM83x9s&t=40s&ab_channel=KubeSphere) [COMMUNITY-TOOL] - [itnext.io: KubeSphere: A New Pluggable Kubernetes Application Management Platform](https://itnext.io/kubesphere-a-new-pluggable-kubernetes-application-management-platform-bf078b9f3330) [COMMUNITY-TOOL] - [Giant Swarm](https://www.giantswarm.io) [COMMUNITY-TOOL] - - [giantswarm.io: ](https://www.giantswarm.io/blog/turtles-all-the-way-down-are-still-just-turtles-giant-swarm) [COMMUNITY-TOOL] + - [giantswarm.io](https://www.giantswarm.io/blog/turtles-all-the-way-down-are-still-just-turtles-giant-swarm) [COMMUNITY-TOOL] - [Compare tools for multi-cloud Kubernetes management 🌟](https://www.techtarget.com/searchcloudcomputing/tip/Compare-tools-for-multi-cloud-Kubernetes-management) [COMMUNITY-TOOL] *** diff --git a/v2-docs/ocp4.md b/v2-docs/ocp4.md index 1c4c1daa..43eb730f 100644 --- a/v2-docs/ocp4.md +++ b/v2-docs/ocp4.md @@ -181,7 +181,7 @@ - [RHAMT in Github Actions](https://carlosthe19916.wordpress.com/2020/04/12/rhamt-in-github-actions) [COMMUNITY-TOOL] - [Migrate your Java apps to containers with Migration Toolkit for Applications 5.0](https://developers.redhat.com/blog/2020/09/04/migrate-your-java-apps-to-containers-with-migration-toolkit-for-applications-5-0/#more-768337) [COMMUNITY-TOOL] - [developers.redhat.com: Spring Boot to Quarkus migrations and more in Red Hat’s migration toolkit for applications 5.1.0](https://developers.redhat.com/blog/2020/12/08/spring-boot-to-quarkus-migrations-and-more-in-red-hats-migration-toolkit-for-applications-5-1-0) [COMMUNITY-TOOL] - - [developers.redhat.com: Welcome to the Developer Sandbox for Red Hat OpenShift ](https://developers.redhat.com/developer-sandbox) [COMMUNITY-TOOL] + - [developers.redhat.com: Welcome to the Developer Sandbox for Red Hat OpenShift](https://developers.redhat.com/developer-sandbox) [COMMUNITY-TOOL] - [OpenShift topology view: A milestone towards a better developer experience](https://www.redhat.com/en/blog/openshift-topology-view-milestone-towards-better-developer-experience) [COMMUNITY-TOOL] - [OpenBuilt](https://openbuilt.io) [COMMUNITY-TOOL] - [infoq.com: IBM, Red Hat and Cobuilder Develop OpenBuilt, a Platform for the Construction Industry](https://www.infoq.com/news/2021/04/ibm-redhat-openbuilt) [COMMUNITY-TOOL] diff --git a/v2-docs/python.md b/v2-docs/python.md index 7fa125f4..6cb96bb7 100644 --- a/v2-docs/python.md +++ b/v2-docs/python.md @@ -165,7 +165,7 @@ - [dev.to: Building a REST API with Django REST Framework 🌟](https://dev.to/nagatodev/how-to-connect-django-to-reactjs-part-2-2oje) [COMMUNITY-TOOL] - [Flask Documentation 🌟](https://flask.palletsprojects.com/en/stable) [COMMUNITY-TOOL] - [The Flask Mega-Tutorial: Now with Python 3 Support](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-now-with-python-3-support) [COMMUNITY-TOOL] - - [realpython.com: Discover Flask, Part 1 - Setting Up a Static Site ](https://realpython.com/learning-paths/flask-by-example) [COMMUNITY-TOOL] + - [realpython.com: Discover Flask, Part 1 - Setting Up a Static Site](https://realpython.com/learning-paths/flask-by-example) [COMMUNITY-TOOL] - [mherman.org: Scaling Flask with Kubernetes 🌟](https://mherman.org/presentations/flask-kubernetes) [COMMUNITY-TOOL] - [kdnuggets.com: How to Deploy a Flask API in Kubernetes and Connect it with Other Micro-services](https://www.kdnuggets.com/2021/02/deploy-flask-api-kubernetes-connect-micro-services.html) [COMMUNITY-TOOL] - [dev.to: Getting Started with Flask and Docker](https://dev.to/ken_mwaura1/getting-started-with-flask-and-docker-3ie8) [COMMUNITY-TOOL]