commit 60dd460312fbc3d7f6f152cf674da93da48a9464 Author: inafev Date: Fri May 15 12:31:28 2026 +0000 Deployed 305e57c with MkDocs version: 1.5.3 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..51cea949 --- /dev/null +++ b/404.html @@ -0,0 +1,6237 @@ + + + + + + + + + + + + + + + + + + + + + + + Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ +

404 - Not found

+ +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..114a1928 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +nubenetes.com diff --git a/ChromeDevTools/index.html b/ChromeDevTools/index.html new file mode 100644 index 00000000..b0be6162 --- /dev/null +++ b/ChromeDevTools/index.html @@ -0,0 +1,6448 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Chrome & Firefox DevTools. HTTP Protocols & WebSockets - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Chrome & Firefox DevTools. HTTP Protocols & WebSockets

+
    +
  1. ChromeDevTools
  2. +
  3. Firefox DevTools
  4. +
  5. Other Tools
  6. +
  7. Tweets
  8. +
+

ChromeDevTools

+ +

+Jenkins Is The Way +

+

Firefox DevTools

+
    +
  • Firefox DevTools
  • +
  • Tip: Firefox has a really nice JSON viewer built in. Transforms JSON files (and API responses) into an easy to browse & search tree.
  • +
+

+firefox viewer built in +

+

Other Tools

+ +

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GoogleCloudPlatform/index.html b/GoogleCloudPlatform/index.html new file mode 100644 index 00000000..cfcd38a1 --- /dev/null +++ b/GoogleCloudPlatform/index.html @@ -0,0 +1,6767 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Google Cloud Platform - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Google Cloud Platform

+
    +
  1. Introduction
  2. +
  3. Google Cloud
  4. +
  5. Google Landing Zone
  6. +
  7. Dev Library
  8. +
  9. GCP Samples (Boilerplates)
  10. +
  11. Managing Cluster Level Configuration
  12. +
  13. Google Cloud AppSheet
  14. +
  15. Cloud Spanner
  16. +
  17. Serverless
  18. +
  19. Anthos. Google’s Hybrid And Multi-Cloud Platform
  20. +
  21. Python
  22. +
  23. Cloud Code
  24. +
  25. Google Cloud Buildpacks
  26. +
  27. Google Cloud Deploy
  28. +
  29. Cloud SQL
  30. +
  31. Apigee
  32. +
  33. Tools
      +
    1. gcloud
    2. +
    3. Google Sheets
    4. +
    +
  34. +
  35. Videos
  36. +
  37. Images
  38. +
  39. Tweets
  40. +
+

Introduction

+ +

Google Cloud

+ +

Google Landing Zone

+ +

Dev Library

+ +

GCP Samples (Boilerplates)

+ +

Managing Cluster Level Configuration

+
    +
  • Config Sync Overview One of the most challenging day two concerns for Kubernetes users is managing cluster level configuration, think namespaces, CRDs, and RBAC rules, across multiple clusters. For GKE customers Config Sync is a game changer.
  • +
+

Google Cloud AppSheet

+ +

Cloud Spanner

+ +

Serverless

+ +

Anthos. Google’s Hybrid And Multi-Cloud Platform

+ +

Python

+ +

Cloud Code

+
    +
  • Cloud Code 🌟 Everything you need to write, debug, and deploy your cloud-native applications.
  • +
+

Google Cloud Buildpacks

+ +

Google Cloud Deploy

+ +

Cloud SQL

+ +

Apigee

+ +

Tools

+ +

gcloud

+ +

Google Sheets

+ +

Videos

+
+ Click to expand! + +
+ +
+
+ +

Images

+
+Click to expand! +

+

gcp persistent disk

+

google cloud devops flow +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/about/index.html b/about/index.html new file mode 100644 index 00000000..ef020c07 --- /dev/null +++ b/about/index.html @@ -0,0 +1,6586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + About - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

About Nubenetes

+

+“Open Source is most successful when is played as a positive sum game” (Sarah Novotny) +

+

This web started in 2018, after finishing my first relevant project on cloud computing with a well known consulting firm. It was an international project coordinated from Munich with remote work from other european countries and regular flights. The client was a major multinational car manufacturer with a big investment in OpenShift and Cloudbees/Jenkins infrastructure. Our role was to help the client with their pretty large CI/CD ecosystem while also implementing a new self-service developer platform, involving areas of development and operations and within a DevOps model. Requirements and way of working included continuous improvement, standardization, boilerplates and automation with a GitOps pattern, a highly recommended approach specially in demanding projects like this with hundreds of real microservices, a large number of IaC & CI/CD pipelines, hundreds (thousands?) of developers and millions of end users.

+

Since then I try to apply in my country what I learnt from the germans and other european colleagues.

+

I’m not a freelancer and most of the time I work as a contractor, which in Spain means to be hired as an employee by an external company.

+

Suggesting improvements and best practices or applying quality standards and automated solutions that work well and are easy to verify shouldn’t penalize a career, but it’s terribly common. I am concerned about working with some colleagues or managers who consider it a threat, generating absurd conflicts, blame games and acting in bad faith or stupidly distorting the purpose of the project.

+

In a service driven IT sector (with calculated ambiguities and many hidden interests) the product is the hours billed by the consultant, being almost irrelevant the content of the job and the delivered quality. It is thus too common to find technical solutions under the policy of applying “the most difficult, non-standard, slowest and most obfuscated way possible” as a competitive element (the hard way and doing weird things). This does not scale. Being ambiguous in JDs (not to say dishonest) without clarifying the real content of the job is easy and very well paid.

+

Ambiguities about DevOps term. Development of new ad-hoc devops tools and ad-hoc monitoring solutions should not be the role of devops specialists. DevOps professionals develop IaC and CI/CD pipelines with standard tools and code, ideally with a cattle service model, GitOps patterns & kubernetes among other responsabilities such as application monitoring. The development of devops tools for kubernetes with i.e. client-go should be clearly mentioned in a JD as “software development of devops tools for kubernetes with client-go” (suitable for a software engineer with client-go skills, a developer of devops/kubernetes/monitoring tools). In addition, a DevOps specialist should not be a fullstack developer who occasionally does QA + DevOps + Cloud Design/Ops. Moreover, avoid confusing terms to justify these different backgrounds by creating two roles like DevOps Software Developer and DevOps SysAdmin. Maybe DevOps should be renamed as OpsDev to avoid misunderstandings.

+

A tech stack is not relevant compared to the way technology is managed. You could have the best tool and run into trouble by taking the risk of applying an unsupported or not recommended1 approach.

+

DevOps principles: People, processes, technology

+

GitOps principles: Correctness, doing DevOps correctly

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PrincipleFocusMain ToolOther ToolsFlexibilityCorrectness
DevOpsAutomation and frequent deploymentsCI/CD pipelineSupply chain management, Cloud Configuration as Code, etc.Less strict and more openLess focus on correctness
GitOpsCorrectness; doing DevOps correctlyGitKubernetes, Controller (e.g., Operator), separate CI/CD pipelines, Infrastructure as a Code, etc.Stricter and less openDesigned with correctness
+
+

The SRE Experience Is Changing with Cloud Native:

+
    +
  • From Firefighting to Prevention for SREs.
  • +
  • Empower Developers with Self-Service.
  • +
  • Facilitate Developer Autonomy.
  • +
  • Adopting a New Code-Ship-Run Paradigm.
  • +
+
+ + + + + + + + + + + + + + + + + + + + +
Site Reliability Engineer (SRE) teamDevelopersOperations team
Provide and teach effective use of platform tooling to empower developers to be self-sufficientTreat SREs as application operation partners, not only as first responders to incidentsProvide self-service platform deployment and observability, and enable visibility into ramifications of actions
Document clear escalation paths for developers struggling in productionTurn to ops teams for the “paved path” or centralized developer control planeProvide opinionated “paved path” platform or developer control plane (DCP), but allow developers to swap platform components if they also want to be accountable
+

Avoiding standardization, automation and improvements because rivals do not invest in them is shortsighted. It is worrying because there is considerable resistance to change along with employment discrimination to prevent new proposals from succeeding. The term DevOps first appeared in 2009.

+

In this service driven IT sector, cloud certifications and technical assesment tests have much more weight in the selection processes that have little to do with real work. They are mostly a wall to justify the hiring of less experienced (younger and cheaper) employees. Fundamental in any profession to learn by doing while building a career and skills with decent opportunities and without too many difficulties and barriers.

+

A consequence of these technical assessment tests is the willingness to learn how to pass them while only implementing and practicing this specific knowledge at work. If assessments are about low level concepts then there’s no interest in abstractions, frameworks and enterprise standards (real work). Similar scenario when evaluating kubernetes knowledge with manual tasks (CLI) instead of gitops pipelines (real work2).

+

Inbreeding is not a good strategy in IT. Hiring people with different background and skills is a better bet. Cronyism, kiss up kick down and blame games hurt employee retention and economic growth. This is terrible common too. If an employee doesn’t trust their manager, the company suffers. Sure, ruling through fear works, but the employee will do the bare minimum amount of work needed to keep their job (manually and without automation).

+

Culture of mutual trust is key to beating competition and increasing employee retention. When something isn’t right the employee should be able to bring it up without being afraid of being fired.

+

We are in business to make money, perhaps not only creating value on financial markets with jargon like margin and cost effective, common in financially driven companies.

+

Everyone sells the same thing: cloud, devops, big data, etc. Speaking is cheap. Throwing an SQL statement doesn’t make you an SQL expert. Likewise, you don’t need to be an SQL expert on every job. Actually most of the jobs require generalists rather than specialists, above all in countries where most companies are SMEs.

+

There are very few unicorns and to a certain extent it depends a lot on the environment created.

+

CKA is the top Kubernetes certification but only a few employers require one. Same logic applies to other certifications.

+

It is surprising the numerous resources and the strategy of psychological exhaustion of recruitment companies that continuously bombard us with interviews. They also force us to transfer our data to third parties without any control of where our CV ends. It is also very common to gather information from detailed CVs and interviews to afterwards publish similar JDs that can be sold as services to potential clients. Again, only the service name is what matters, not how this is implemented and whether the client have the capacity to implement it in a proper manner.

+

As professionals we are obliged to a high commitment to our clients, sometimes sacrificing our well-being in order to achieve the objectives. Everyone has limits, sometimes being a personal decision to abandon a project without this entailing a penalty in the next job (we have given our CV to third parties without any control). An unfair bad reference (blame games) and calculated ambiguities can ruin our careers. And I’m not talking about an isolated case.

+

Losing employment and significantly penalizing employability and economic bargaining power for defending the value of automation, continuous improvement and standardization in computer engineering is a high price to pay. The alternatives often seem to be manual work with low salary expectations, lack of opportunities with new cloud jobs (better paid), promotion to a management position or emigration to countries with a different economic model (where technical jobs are better valued). This does not scale either. Freelancing worldwide is not for everyone either.

+
+

“One of the biggest problems in IT is that we keep reinventing the wheel. We are running the same circles, producing similar technologies to solve the same problems. Reinventing the wheel is a great way to learn how the wheel works, but not an efficient way to build software” (@dmokafa)

+

“Tech industry thinks throwing more tools to the problem is the solution. More tools = more failure modes” (@rakyll)

+
+

Instead of reinventing the wheel by rewriting from scratch a new installer or ad-hoc devops tool to manage/monitor kubernetes, please pay attention to the links shared here and learn how to add value on the so called day 2. You will find solutions and knowledge in a practical and efficient way without being totally essential to obtain a certification to successfully complete the task. For example, if there’s money for reinventing the wheel on day 1, then there’s money for investing in these high value added solutions on day 2 where automation can significantly improve our lives and the quality of the delivered service. Automation is also a key element when evaluating the delivery of a service.

+

Nubenetes shares relevant information that helps spread the new technological and cultural standards, in order to eliminate bottlenecks and silos and promote digital transformation.

+

Does saying this publicly imply being blacklisted and losing professional opportunities? What kind of society do we live in?

+

Tips: ask the hiring manager what experience they have with Cloud Automation, Cloud Managed Services and K8s in Production, if they deploy OpenShift via IPI1 or UPI, whether they are familiar with Gitops as the correct way of doing DevOps, if they work with modern, easy-to-use automation tools (terraform, ansible modules with YAML/Jinja templates, argocd, helm, an automation server3 to run pipelines, declarative code in Jenkins4 Pipelines or in DevOps Azure Pipelines, IaC boilerplates instead of k8s vanilla, etc) or they are not practical and prefer to develop their own ad-hoc tools with millions of lines of code that need maintenance (by who?). If any doubt, ask them to show you their pipelines and custom solutions, how long it takes them to deploy and setup their k8s infra on day 1 & day 2 (pets vs cattle service model), how long it takes them to deploy a single app and if the process is fully automated or not, what monitoring solutions they have, if security and Role-based Access Control (RBAC) are implemented in their k8s clusters, whether changes and PoCs are tested first in ephemeral and isolated K8s/Cloud infra test environments with IaC & CI/CD pipelines, if solutions can be discussed within the team, etc.

+
+

“The absolutely difficult thing is reaching volume production without going bankrupt, that is the actual hard thing” Elon Musk

+
+
+Click to expand! +

+ +

+
+
+

“I am a big fan of the scientific method. Engineers do not build bridges from a right or left perspective, the engineer builds bridges from an evidence-based perspective and over time bridge construction has improved. On the other hand, a politician does things from a right or left perspective, and over time politics has gotten worse. When I work with politicians and two of them are in a room together, one always thinks of the other, “will they get in my way? Will they damage my reputation? Is there a conflict of interest?” On the other hand, when two engineers meet, they say, “hello! I have a problem, can you help me?” Engineers rely on evidence. If you want to save the world, think like an engineer.” ref 1 (Youtube Clip in Spanish), ref 2 (English), ref 3 (Spanish), ref 4 (Spanish) - Mark Stevenson, writer and businessman.

+
+ +

Let’s improve both the private & public IT sector and the opportunities in large, medium and small companies, and give us a star on GitHub if you like this blog!!

+

+ + +

+

Cloud Computing job market in 2016

+
+Click to expand! +

+“In the U.S. in 2016, 3.9 million jobs are associated with cloud computing, with 384,478 of them in IT. The median salary for IT professionals with cloud computing experience was $90,950. (Forbes)”

+

cloud job market 2016

+

From the above graph (credit: Forbes) we can see that the top three countries for Cloud Computing Jobs are:

+

China (7.5 Million). +USA (4 Million). +India (2.2 Million). +

+
+

Stats

+
+ Stats 1. Click to expand! + +
+ + + + +
+ +
+ Stats 2. Click to expand! + +
+ + + + +
+
+ +
+ Stats 3. Inflation and Unemployment. Click to expand! + +
+ + + +
+
+ +
+ Stats 4. Government Debt and Income Tax Rate. Click to expand! + +
+ + + + + +
+
+ +
+ Stats 5. Corruption, Favours, Influence Peddling, Unfair Competition, No Meritocracy. Click to expand! + +
+ + +
+
+ +
+ Stats 6. IT, Languages and Olympics. Click to expand! + +
+ + + + +
+
+
+ +
+

+automated_ansible +

+
+
+
    +
  1. +

    For example: OpenShift deployment using the UPI method instead of IPI because of lack of permissions as an excuse. 

    +
  2. +
  3. +

    Manual operations with CLI are more appropriate for queries and troubleshooting (without modify permissions) when monitoring systems don’t provide enough information. GitOps pipelines should be controlled and triggered by an automation server. 

    +
  4. +
  5. +

    Jenkins/CloudBees, Ansible Tower/AWX, Foreman, Rundeck, Azure DevOps, GitLab CI, etc. 

    +
  6. +
  7. +

    Automation with Jenkins Configuration as Code replaces what was previously done via Jenkins CLI and jenkins remote REST API calls (requiring backend development with tools like swagger and API Testing tools like postman). Similar scenario applies to other technologies. 

    +
  8. +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ai-agents-mcp/index.html b/ai-agents-mcp/index.html new file mode 100644 index 00000000..a2e78926 --- /dev/null +++ b/ai-agents-mcp/index.html @@ -0,0 +1,6434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Model Context Protocol (MCP) & AI Agents - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

AI Agents and Model Context Protocol (MCP) for Kubernetes

+

Resources, tools, and projects related to autonomous AI agents, Model Context Protocol (MCP) implementations, and LLM orchestration within Kubernetes environments.

+
    +
  1. Introduction
  2. +
  3. AI Agents
  4. +
  5. Model Context Protocol (MCP)
  6. +
  7. LLM Operators and Infrastructure
  8. +
+

Introduction

+ +

AI Agents

+
    +
  • IBM IAM for AI Agents - This resource discusses how IBM Identity and Access Management (IAM) provides native IAM for AI agents, enabling them to have an identity and deliver least privileged access.
  • +
  • Level Up Your Agents: Announcing Google’s Official Skills Repository 🌟 - This blog post announces the launch of Google’s official Agent Skills repository on GitHub, designed to equip AI agents with condensed expertise on specific technologies and tasks. Skills are presented in an open Markdown format, including reference files and code snippets, to provide agent-first documentation. This approach aims to reduce ‘context bloat’ often encountered when using Model Context Protocol (MCP) servers, leading to more efficient and cost-effective AI agent interactions with Google Cloud products like Gemini API, BigQuery, and GKE.
  • +
  • Claude Code Best Practice - A GitHub repository focused on ‘vibe coding to agentic engineering’, providing practices and examples for interacting with AI models like Claude. It includes sections on agents, commands, skills, development workflows, and implementation details.
  • +
  • Kiro: Engineering Rigor for Agentic Development - Kiro is a tool designed to bring engineering discipline to AI agent development. It focuses on managing intent, handling long-running tasks across large codebases, and validating code correctness through a learning agent. Key features include converting natural language prompts into structured requirements (EARS notation), generating architectural designs, creating implementation plans with discrete, sequenced tasks, and enabling terminal-based interaction for building features, automating workflows, and debugging.
  • +
  • HolmesGPT (Robusta) - An open-source AI agent for investigating Prometheus alerts and Kubernetes incidents. It uses LLMs to triage issues and provide recommended fixes.
  • +
  • Skyvern - Automate browser-based workflows using LLMs and Computer Vision.
  • +
+

Model Context Protocol (MCP)

+
    +
  • Announcing Azure MCP Server 2.0 Stable Release for Self-Hosted Agentic Cloud Automation 🌟 - This blog post announces the stable release of Azure MCP Server 2.0, an open-source software that implements the Model Context Protocol (MCP) specification. It allows AI agents and developer tools to interact with Azure resources through a standardized tool interface. The key advancement in version 2.0 is the support for self-hosted, remote MCP server deployment, enabling flexible integration into developer workflows for local development, tool integrations, and centralized team/enterprise scenarios with consistent policy and security controls.
  • +
  • Awesome MCP Servers - A curated list of resources related to MCP (Machine Cognitive Progression) servers, focusing on AI and related technologies.
  • +
  • PulseMCP - A hosted hub for discovering and using MCP servers.
  • +
  • MCPBundles - Curated bundles of MCP servers for various use cases (DevOps, Data, Productivity).
  • +
  • GitHub MCP Server - Interact with GitHub repositories, issues, and PRs via AI agents.
  • +
  • Vercel MCP Server - Manage Vercel deployments and view logs directly from AI agents.
  • +
  • Chroma MCP Server - Vector database integration for agentic RAG.
  • +
  • Brave Search MCP - Grounded web search for AI agents.
  • +
  • PostgreSQL MCP Server - Secure SQL execution and schema inspection for agents.
  • +
  • Google Cloud Managed MCP - Production-grade MCP service for accessing GCP resources from Gemini.
  • +
+

LLM Operators and Infrastructure

+
    +
  • Kube-Ray - A toolkit to run Ray applications on Kubernetes.
  • +
  • vLLM on Kubernetes - High-throughput LLM serving with PagedAttention.
  • +
  • NVIDIA GPU Operator - Automates the management of all NVIDIA software components needed to provision GPU.
  • +
  • LocalAI - Self-hosted, community-driven, local OpenAI-compatible API.
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ai/index.html b/ai/index.html new file mode 100644 index 00000000..d6def0d1 --- /dev/null +++ b/ai/index.html @@ -0,0 +1,6694 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AI - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Artificial Intelligence

+
    +
  1. Introduction
  2. +
  3. Machine Learning
  4. +
  5. Transformers Library
  6. +
  7. LLMOps
  8. +
  9. The MAD (ML/AI/Data) Landscape
  10. +
  11. OpenAI
  12. +
  13. Kubernetes and AI
  14. +
  15. IaC Terraform and AI
  16. +
  17. IaC CloudFormation and AI
  18. +
  19. Programming
  20. +
  21. Medical Imaging
  22. +
  23. Computer Vision
  24. +
  25. AIOps
  26. +
  27. Other Tools
  28. +
  29. Videos
  30. +
+

Introduction

+ +

Machine Learning

+ +

Transformers Library

+ +

LLMOps

+ +

The MAD (ML/AI/Data) Landscape

+ +

OpenAI

+ +

Kubernetes and AI

+ +

IaC Terraform and AI

+ +

IaC CloudFormation and AI

+ +

Programming

+ +

Medical Imaging

+ +

Computer Vision

+ +

AIOps

+ +

Other Tools

+
    +
  • Cerebras AI - Cerebras offers an AI platform with a free API providing access to various large language models like GPT OSS, Qwen, GLM, and Llama. The service boasts high request limits, fast inference, and options for cloud serving, dedicated scaling, and on-premise deployment. Their hardware, the Wafer-Scale Engine, is designed for ultra-fast AI workloads.
  • +
  • GitHub Copilot CLI for Beginners: Getting Started - A beginner’s guide to GitHub Copilot CLI, introducing its capabilities for bringing AI assistance directly into the terminal for faster workflow and code generation. Covers installation, authentication, and initial prompt usage.
  • +
  • Using Workspaces for AI Changes Across Multiple Repos - This article explores a workflow for using AI development tools, like GitHub Copilot, when changes span multiple repositories. It proposes creating feature-specific multi-root workspaces in IDEs (e.g., VS Code) to provide AI agents with comprehensive context across different codebases, improving efficiency compared to single-repo operations.
  • +
  • Awesome NotebookLM Slide Prompts - A curated collection of NotebookLM and Kael.im slide prompts, sourced from various creative platforms like WeChat, blogs, RED creators, and Twitter/X power users. These prompts are designed to be used with AI tools for generating presentations from documents, notes, and transcripts.
  • +
  • Tabularis: Open Source Desktop Client for Modern Databases with AI and MCP Integration - (Related to kubernetes-tools topic)
  • +
  • Skills for Real Engineers - A GitHub repository containing a collection of agent skills designed for real engineering tasks, focusing on composability, adaptability, and ease of use. These skills aim to assist in developing real applications by providing a more controlled and debuggable approach compared to other development methodologies.
  • +
  • Google Agents CLI 🌟 - The CLI and skills that turn any coding assistant into an expert at creating, evaluating, and deploying AI agents on Google Cloud. It integrates with Gemini CLI, Claude Code, and Codex.
  • +
  • Draw.io MCP for Diagram Generation: Why It’s Worth Using - (Related to cloud-arch-diagrams topic)
  • +
  • Claude Code Templates - A GitHub repository containing a CLI tool for configuring and monitoring Claude Code, a project potentially related to AI-driven code generation or assistance.
  • +
  • Quiz Grader - A GitHub repository containing a certification quiz application and question generator with prompt creator, designed to assist users in studying for technology certification exams through AI-generated practice questions.
  • +
  • Azure DevOps MCP Server Public Preview - This blog post announces the public preview of Azure DevOps MCP Server, a local tool that enhances AI assistants like GitHub Copilot by providing them with rich, real-time context from Azure DevOps environments. It enables AI to access and interact with work items, pull requests, test plans, builds, releases, and wiki pages, offering more tailored and accurate responses without data leaving the user’s system. The post includes an example of generating test cases from user stories and links to setup instructions.
  • +
  • +

    Awesome MCP Servers - (Related to ai-agents-mcp topic)

    +
  • +
  • +

    github.com/jupyterlab/jupyter-ai A generative AI extension for JupyterLab

    +
  • +
  • github.com/XingangPan/DragGAN Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold
  • +
+

Videos

+
+Click to expand! +

+ + + + + +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/angular/index.html b/angular/index.html new file mode 100644 index 00000000..d99fb3a2 --- /dev/null +++ b/angular/index.html @@ -0,0 +1,6337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Angular - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ +
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ansible/index.html b/ansible/index.html new file mode 100644 index 00000000..89a18414 --- /dev/null +++ b/ansible/index.html @@ -0,0 +1,7155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ansible - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Configuration Management. Ansible

+
    +
  1. Configuration Management with Ansible DevOps Tool
  2. +
  3. Ansible AI
  4. +
  5. Ansible UI
  6. +
  7. Deploying custom files with Jinja2 templates
  8. +
  9. Writing an Ansible module
  10. +
  11. Interacting with REST API
      +
    1. Writing an Ansible module for a REST API
    2. +
    +
  12. +
  13. Ansible Videos
  14. +
  15. Ansible Playbooks
  16. +
  17. Ansible Collections
  18. +
  19. Red Hat Ansible Automation Platform
      +
    1. Automation services catalog
    2. +
    3. Red Hat Certified Ansible Content Collections
    4. +
    +
  20. +
  21. Ansible Cheat Sheets
  22. +
  23. Running Ansible Playbooks
      +
    1. Running Ansible Playbooks From Jenkins
    2. +
    3. Ansible Tower and Ansible AWX. Running Ansible Playbooks From Ansible Tower
        +
      1. Tower and AWX Installers
      2. +
      +
    4. +
    5. Alternatives to Ansible Tower
    6. +
    +
  24. +
  25. Ansible Kubernetes Operators
  26. +
  27. Ansible Molecule. Development and Testing of Ansible Roles
  28. +
  29. Books
  30. +
  31. Ansible Galaxy Roles
  32. +
  33. More Ansible Roles
  34. +
  35. Ansible scripts
  36. +
  37. Ansible with Helm
  38. +
  39. Awesome Ansible
  40. +
  41. Ansible and Public Cloud Guides
  42. +
  43. Ansible Kubernetes Module
  44. +
  45. NGINX Core Collection for Ansibe
  46. +
  47. Dynatrace with Ansible
  48. +
  49. SQL Server with Ansible
  50. +
  51. OCI Oracle Cloud Infrastructure with Ansible
  52. +
  53. Oracle Database with Ansible
  54. +
  55. Ansistrano. Deploying applications with Ansible in Capistrano style
  56. +
  57. Anacron and Ansible
  58. +
  59. Tweets
  60. +
  61. Videos
  62. +
+

Configuration Management with Ansible DevOps Tool

+ +

Ansible AI

+ +

Ansible UI

+ +

Deploying custom files with Jinja2 templates

+ +

Writing an Ansible module

+ +

Interacting with REST API

+ +

Writing an Ansible module for a REST API

+ +

Ansible Videos

+ +

Ansible Playbooks

+ +

Ansible Collections

+ +

Red Hat Ansible Automation Platform

+ +

Automation services catalog

+ +

Red Hat Certified Ansible Content Collections

+ +

Ansible Cheat Sheets

+ +

Running Ansible Playbooks

+ +

Running Ansible Playbooks From Jenkins

+ +

Ansible Tower and Ansible AWX. Running Ansible Playbooks From Ansible Tower

+ +

Tower and AWX Installers

+ +

Alternatives to Ansible Tower

+ +

Ansible Kubernetes Operators

+ +

Ansible Molecule. Development and Testing of Ansible Roles

+ +

Books

+ +

Ansible Galaxy Roles

+ +

More Ansible Roles

+ +

Ansible scripts

+ +

Ansible with Helm

+ +

Awesome Ansible

+ +

Ansible and Public Cloud Guides

+ +

Ansible Kubernetes Module

+ +

NGINX Core Collection for Ansibe

+ +

Dynatrace with Ansible

+ +

SQL Server with Ansible

+ +

OCI Oracle Cloud Infrastructure with Ansible

+ +

Oracle Database with Ansible

+ +

Ansistrano. Deploying applications with Ansible in Capistrano style

+ +

Anacron and Ansible

+ +

Tweets

+
+Click to expand! +

+

+

+

+
+

Videos

+
+Click to expand! +

+ + + + + +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/index.html b/api/index.html new file mode 100644 index 00000000..bb81e962 --- /dev/null +++ b/api/index.html @@ -0,0 +1,7252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + APIs with SOAP, REST and gRPC - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

APIs with SOAP, REST and gRPC

+
    +
  1. APIs
  2. +
  3. From RESTful to Event-Driven APIs
  4. +
  5. API Gateway vs. Load Balancer: What’s The Difference?
  6. +
  7. Python FastAPI
  8. +
  9. Python REST APIs with flask
  10. +
  11. Motivation
  12. +
  13. State of the API Report
      +
    1. Postman State of the API Report
    2. +
    3. Smartbear State of the API Report
    4. +
    +
  14. +
  15. Types of API Protocols. Interprocess Communication in Microservices
      +
    1. SOAP API Protocol (Simple Object Access Protocol)
    2. +
    3. REST API Protocol (Representational State Transfer)
        +
      1. OpenAPI Specification (originally known as the Swagger Specification)
      2. +
      +
    4. +
    5. RPC API Protocol (Remote Procedure Call)
        +
      1. gRPC
      2. +
      +
    6. +
    7. Asynchronous APIs
        +
      1. WebSockets
      2. +
      3. Socket.io
      4. +
      5. AsyncAPI
      6. +
      +
    8. +
    +
  16. +
  17. Comparisons
      +
    1. SOAP vs REST
    2. +
    3. REST vs OpenAPI vs gRPC
    4. +
    5. REST vs GraphQL vs gRPC
    6. +
    +
  18. +
  19. Tools
      +
    1. API Testing
    2. +
    3. GraphQL
        +
      1. Hasura
      2. +
      +
    4. +
    +
  20. +
  21. Browser APIs
  22. +
  23. API Security
  24. +
  25. Free Web Services (Public APIs)
  26. +
  27. Open Banking
  28. +
  29. RPA
  30. +
  31. API Ops
  32. +
  33. Related
  34. +
  35. Video APIs
  36. +
  37. API Business Models
  38. +
  39. Videos
  40. +
  41. Images
  42. +
  43. Tweets
  44. +
+

APIs

+ +

From RESTful to Event-Driven APIs

+ +

API Gateway vs. Load Balancer: What’s The Difference?

+
    +
  • blog.hubspot.com: API Gateway vs. Load Balancer: What’s The Difference? An API gateway vs. load balancer comparison can be boiled down to the fact that they both manage traffic entering your website or application but have different roles. An API gateway handles authentication and security policies, while a load balancer API distributes network traffic across multiple servers.
  • +
+

Python FastAPI

+ +

Python REST APIs with flask

+ +

Motivation

+ +

State of the API Report

+

Postman State of the API Report

+ +

Smartbear State of the API Report

+ +

Types of API Protocols. Interprocess Communication in Microservices

+ +

SOAP API Protocol (Simple Object Access Protocol)

+ +

REST API Protocol (Representational State Transfer)

+ +

OpenAPI Specification (originally known as the Swagger Specification)

+
    +
  • OpenAPI evolved from the Swagger project. Swagger started out as a specification for documenting RESTful APIs. Later on, tools to generate client and server code and generating of test cases were added. While the original Swagger Specification was donated to the Linux Foundation and renamed the OpenAPI, Swagger remains one of the most widely used open-source toolsets for developing OpenAPIs.
  • +
  • OpenAPI (f.k.a Swagger) has introduced a set of standardized specifications for REST APIs that, among many things, allows producers and consumers of APIs to work together in designing an API before even writing a single line of code! This design-first approach has improved the experience of API developers by giving them the opportunity to use tools like OpenAPI generator which takes an OpenAPI definition and generates scaffolding code for backenders, making the development of APIs much faster.
  • +
  • Wikipedia: OpenAPI Specification 🌟
  • +
  • OpenAPI FAQ. What is OpenAPI Specification (OAS)? OpenAPI Specification The OAS defines a standard, programming language-agnostic interface description for REST APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic.
  • +
+

RPC API Protocol (Remote Procedure Call)

+ +

gRPC

+ +

Asynchronous APIs

+

WebSockets

+ +

Socket.io

+ +

AsyncAPI

+
    +
  • AsyncAPI Building the future of event-driven architecture. Open source tools to easily build and maintain your event-driven architecture. All powered by the AsyncAPI specification, the industry standard for defining asynchronous APIs.
  • +
  • thenewstack.io: AsyncAPI Could Be the Default API Format for Event-Driven Architectures
  • +
  • microcks.io: Simulating CloudEvents with AsyncAPI and Microcks
      +
    • The rise of Event Driven Architecture (EDA) is a necessary evolution step towards cloud-native applications. Events are the ultimate weapon to decouple your microservices within your architecture. They are bringing great benefits like space and time decoupling, better resiliency and elasticity.
    • +
    • But events come also with challenges! One of the first you are facing when starting up as a development team - aside the technology choice - is how to describe these events structure? Another challenge that comes very quickly after being: How can we efficiently work as a team without having to wait for someone else’s events?
    • +
    • We’ll explore those particular two challenges and see how to simulate events using CloudEvents, AsyncAPI and Microcks.
    • +
    • AsyncAPI is an industry standard for defining asynchronous APIs. Our long-term goal is to make working with EDAs as easy as it is to work with REST APIs.
    • +
    • Microcks is an Open source Kubernetes-native tool for mocking/simulating and testing APIs. One purpose of Microcks is to turn your API contract (OpenAPI, AsyncAPI, Postman Collection) into live mocks in seconds. It means that once it has imported your AsyncAPI contract, Microcks start producing mock events on a message broker at a defined frequency. Using Microcks you can then simulate CloudEvents in seconds, without writing a single line of code. Microcks will allow the team relying on input events to start working without waiting for the team coding the event publication.
    • +
    +
  • +
  • asyncapi.com: AsyncAPI and CloudEvents I’ve been receiving the same question for a long time now: Should I use CloudEvents or AsyncAPI? — And my response has always been the same: it depends!
      +
    • CloudEvents: a specification for describing event data in a common way. CloudEvents seeks to ease event declaration and delivery across services, platforms and beyond!
    • +
    • AsyncAPI: Create machine-readable definitions of your event-driven APIs.
    • +
    +
  • +
+

Comparisons

+ +

SOAP vs REST

+
    +
  • geeksforgeeks.org: Difference between REST API and SOAP API
  • +
  • dzone: A Comprehensive Guide to REST vs. SOAP Learn the primary differences between REST and SOAP APIs, each one’s benefits, and when it’s appropriate to use the two.
  • +
  • dzone: Comparing RESTful APIs and SOAP APIs Using MuleSoft as an Example
  • +
  • reply.com: Web Services: SOAP and REST - A Simple Introduction
      +
    • SOAP is a communications protocol while REST is a set of architectural principles for data transmission.
    • +
    • REST was designed to be a more straightforward and easy to implement alternative to heavyweight SOAP for web service access. SOAP functions well in distributed environments where REST assumes a direct point to point communication. Also, SOAP allows for services to describe themselves to clients and in some languages allows for automation. On the other hand, REST is fast as less processing is required, uses less bandwidth and is closer to technologies used in web design.
    • +
    • The choice on which to use is totally dependent on what the requirement. For example, SOAP is a better choice for applications that have complex API so as to describe the services and methods, where formal contracts are agreed for the exchange format, where a guaranteed level of security is required etc. REST will be preferred when limiting bandwidth and resources, when operations are can be stateless and the information can be cached.
    • +
    +
  • +
  • baeldung.com: REST vs SOAP
  • +
+

REST vs OpenAPI vs gRPC

+ +

REST vs GraphQL vs gRPC

+ +

Tools

+ +

API Testing

+ +

GraphQL

+ +

Hasura

+
    +
  • Hasura 🌟 Instant realtime GraphQL APIs for all your data
      +
    • Build modern apps and APIs 10x faster
    • +
    • TickInstant GraphQL & REST APIs
    • +
    • TickBuilt in authorization for secure data access
    • +
    • TickOpen source
    • +
    +
  • +
+

Browser APIs

+ +

API Security

+ +

Free Web Services (Public APIs)

+ +

Open Banking

+ +

RPA

+ +

API Ops

+ + + +

Video APIs

+ +

API Business Models

+ +

Videos

+
+Click to expand! +

+ +

+
+

Images

+
+Click to expand! +

+top 10 api testing tools

+

20 API Business Models

+

gRPC vs REST vs GraphQL comparison

+

REST API Design

+

REST vs GrapQL +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/appointment-scheduling/index.html b/appointment-scheduling/index.html new file mode 100644 index 00000000..b488ce71 --- /dev/null +++ b/appointment-scheduling/index.html @@ -0,0 +1,6387 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Appointment Scheduling - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Appointment Scheduling Software

+ +

Comparisons

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/argo/index.html b/argo/index.html new file mode 100644 index 00000000..ae48decc --- /dev/null +++ b/argo/index.html @@ -0,0 +1,6641 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Argo - Declarative GitOps for Kubernetes - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Argo Declarative GitOps for Kubernetes

+
    +
  1. Introduction
  2. +
  3. Argo CD
  4. +
  5. Argo CD Vulnerabilities
  6. +
  7. Argo CD Tools and Plugins
  8. +
  9. Argo Rollouts
  10. +
  11. Argo Workflows
  12. +
  13. Videos
  14. +
+

Introduction

+ +

Argo CD

+ +

Argo CD Vulnerabilities

+ +

Argo CD Tools and Plugins

+
    +
  • +

    AWS EKS Argo CD Terraform Component - (Related to gitops topic)

    +
  • +
  • +

    argoproj-labs/argocd-autopilot: Argo-CD Autopilot The Argo-CD Autopilot is a tool which offers an opinionated way of installing Argo-CD and managing GitOps epositories. New users to GitOps and Argo CD are not often sure how they should structure their repos, add applications, promote apps across environments, and manage the Argo CD installation itself using GitOps. Argo Autopilot is a project that solves that

    +
  • +
  • argoproj-labs/applicationset: Argo CD ApplicationSet Controller The ApplicationSet controller is a Kubernetes controller that adds support for a new custom ApplicationSet CustomResourceDefinition (CRD). The ApplicationSet controller manages multiple Argo CD Applications as a single ApplicationSet unit, supporting deployments to large numbers of clusters, deployments of large monorepos, and enabling secure Application self-service.
  • +
  • IBM/argocd-vault-plugin An ArgoCD plugin to retrieve secrets from Hashicorp Vault and inject them into Kubernetes secrets.
  • +
  • argoproj-labs/argocd-vault-plugin ArgoCD-Vault-plugin is an Argo CD plugin to retrieve secrets from various Secret Management tools (HashiCorp Vault, IBM Cloud Secrets Manager, AWS Secrets Manager, etc.) and inject them into Kubernetes resources - https://argocd-vault-plugin.readthedocs.io
  • +
  • github.com/crumbhole/argocd-vault-replacer An Argo CD plugin to replace placeholders in Kubernetes manifests with secrets stored in Hashicorp Vault. Scans the current directory recursively for any YAML files and attempts to replace strings following a pattern.
  • +
+

Argo Rollouts

+ +

Argo Workflows

+ +

Videos

+
    +
  • ArgoCon North America 2026 Call for Proposals 🌟 - The Call for Proposals (CFP) for ArgoCon North America 2026 is open, inviting submissions for presentations, panel discussions, and lightning talks focusing on the Argo Project (Argo CD, Argo Workflows, Argo Rollouts, Argo Events). Topics include software delivery, scalability, data processing, observability, and progressive delivery. Submissions are due by June 21, 2026.
  • +
+
+Click to expand! +

+ + + +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 00000000..1cf13b9f Binary files /dev/null and b/assets/images/favicon.png differ diff --git a/assets/javascripts/bundle.1e8ae164.min.js b/assets/javascripts/bundle.1e8ae164.min.js new file mode 100644 index 00000000..21297988 --- /dev/null +++ b/assets/javascripts/bundle.1e8ae164.min.js @@ -0,0 +1,29 @@ +"use strict";(()=>{var _i=Object.create;var br=Object.defineProperty;var Ai=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames,Ft=Object.getOwnPropertySymbols,ki=Object.getPrototypeOf,vr=Object.prototype.hasOwnProperty,eo=Object.prototype.propertyIsEnumerable;var Zr=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,F=(e,t)=>{for(var r in t||(t={}))vr.call(t,r)&&Zr(e,r,t[r]);if(Ft)for(var r of Ft(t))eo.call(t,r)&&Zr(e,r,t[r]);return e};var to=(e,t)=>{var r={};for(var o in e)vr.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Ft)for(var o of Ft(e))t.indexOf(o)<0&&eo.call(e,o)&&(r[o]=e[o]);return r};var gr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Hi=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ci(t))!vr.call(e,n)&&n!==r&&br(e,n,{get:()=>t[n],enumerable:!(o=Ai(t,n))||o.enumerable});return e};var jt=(e,t,r)=>(r=e!=null?_i(ki(e)):{},Hi(t||!e||!e.__esModule?br(r,"default",{value:e,enumerable:!0}):r,e));var ro=(e,t,r)=>new Promise((o,n)=>{var i=c=>{try{s(r.next(c))}catch(p){n(p)}},a=c=>{try{s(r.throw(c))}catch(p){n(p)}},s=c=>c.done?o(c.value):Promise.resolve(c.value).then(i,a);s((r=r.apply(e,t)).next())});var no=gr((xr,oo)=>{(function(e,t){typeof xr=="object"&&typeof oo!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(xr,function(){"use strict";function e(r){var o=!0,n=!1,i=null,a={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(C){return!!(C&&C!==document&&C.nodeName!=="HTML"&&C.nodeName!=="BODY"&&"classList"in C&&"contains"in C.classList)}function c(C){var ct=C.type,Ne=C.tagName;return!!(Ne==="INPUT"&&a[ct]&&!C.readOnly||Ne==="TEXTAREA"&&!C.readOnly||C.isContentEditable)}function p(C){C.classList.contains("focus-visible")||(C.classList.add("focus-visible"),C.setAttribute("data-focus-visible-added",""))}function l(C){C.hasAttribute("data-focus-visible-added")&&(C.classList.remove("focus-visible"),C.removeAttribute("data-focus-visible-added"))}function f(C){C.metaKey||C.altKey||C.ctrlKey||(s(r.activeElement)&&p(r.activeElement),o=!0)}function u(C){o=!1}function h(C){s(C.target)&&(o||c(C.target))&&p(C.target)}function w(C){s(C.target)&&(C.target.classList.contains("focus-visible")||C.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(C.target))}function A(C){document.visibilityState==="hidden"&&(n&&(o=!0),Z())}function Z(){document.addEventListener("mousemove",J),document.addEventListener("mousedown",J),document.addEventListener("mouseup",J),document.addEventListener("pointermove",J),document.addEventListener("pointerdown",J),document.addEventListener("pointerup",J),document.addEventListener("touchmove",J),document.addEventListener("touchstart",J),document.addEventListener("touchend",J)}function te(){document.removeEventListener("mousemove",J),document.removeEventListener("mousedown",J),document.removeEventListener("mouseup",J),document.removeEventListener("pointermove",J),document.removeEventListener("pointerdown",J),document.removeEventListener("pointerup",J),document.removeEventListener("touchmove",J),document.removeEventListener("touchstart",J),document.removeEventListener("touchend",J)}function J(C){C.target.nodeName&&C.target.nodeName.toLowerCase()==="html"||(o=!1,te())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",A,!0),Z(),r.addEventListener("focus",h,!0),r.addEventListener("blur",w,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var zr=gr((kt,Vr)=>{/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */(function(t,r){typeof kt=="object"&&typeof Vr=="object"?Vr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof kt=="object"?kt.ClipboardJS=r():t.ClipboardJS=r()})(kt,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Li}});var a=i(279),s=i.n(a),c=i(370),p=i.n(c),l=i(817),f=i.n(l);function u(D){try{return document.execCommand(D)}catch(M){return!1}}var h=function(M){var O=f()(M);return u("cut"),O},w=h;function A(D){var M=document.documentElement.getAttribute("dir")==="rtl",O=document.createElement("textarea");O.style.fontSize="12pt",O.style.border="0",O.style.padding="0",O.style.margin="0",O.style.position="absolute",O.style[M?"right":"left"]="-9999px";var I=window.pageYOffset||document.documentElement.scrollTop;return O.style.top="".concat(I,"px"),O.setAttribute("readonly",""),O.value=D,O}var Z=function(M,O){var I=A(M);O.container.appendChild(I);var W=f()(I);return u("copy"),I.remove(),W},te=function(M){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},I="";return typeof M=="string"?I=Z(M,O):M instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(M==null?void 0:M.type)?I=Z(M.value,O):(I=f()(M),u("copy")),I},J=te;function C(D){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?C=function(O){return typeof O}:C=function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},C(D)}var ct=function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=M.action,I=O===void 0?"copy":O,W=M.container,K=M.target,Ce=M.text;if(I!=="copy"&&I!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(K!==void 0)if(K&&C(K)==="object"&&K.nodeType===1){if(I==="copy"&&K.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(I==="cut"&&(K.hasAttribute("readonly")||K.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Ce)return J(Ce,{container:W});if(K)return I==="cut"?w(K):J(K,{container:W})},Ne=ct;function Pe(D){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Pe=function(O){return typeof O}:Pe=function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},Pe(D)}function xi(D,M){if(!(D instanceof M))throw new TypeError("Cannot call a class as a function")}function Xr(D,M){for(var O=0;O0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof W.action=="function"?W.action:this.defaultAction,this.target=typeof W.target=="function"?W.target:this.defaultTarget,this.text=typeof W.text=="function"?W.text:this.defaultText,this.container=Pe(W.container)==="object"?W.container:document.body}},{key:"listenClick",value:function(W){var K=this;this.listener=p()(W,"click",function(Ce){return K.onClick(Ce)})}},{key:"onClick",value:function(W){var K=W.delegateTarget||W.currentTarget,Ce=this.action(K)||"copy",It=Ne({action:Ce,container:this.container,target:this.target(K),text:this.text(K)});this.emit(It?"success":"error",{action:Ce,text:It,trigger:K,clearSelection:function(){K&&K.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(W){return hr("action",W)}},{key:"defaultTarget",value:function(W){var K=hr("target",W);if(K)return document.querySelector(K)}},{key:"defaultText",value:function(W){return hr("text",W)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(W){var K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return J(W,K)}},{key:"cut",value:function(W){return w(W)}},{key:"isSupported",value:function(){var W=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],K=typeof W=="string"?[W]:W,Ce=!!document.queryCommandSupported;return K.forEach(function(It){Ce=Ce&&!!document.queryCommandSupported(It)}),Ce}}]),O}(s()),Li=Mi},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function a(s,c){for(;s&&s.nodeType!==n;){if(typeof s.matches=="function"&&s.matches(c))return s;s=s.parentNode}}o.exports=a},438:function(o,n,i){var a=i(828);function s(l,f,u,h,w){var A=p.apply(this,arguments);return l.addEventListener(u,A,w),{destroy:function(){l.removeEventListener(u,A,w)}}}function c(l,f,u,h,w){return typeof l.addEventListener=="function"?s.apply(null,arguments):typeof u=="function"?s.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(A){return s(A,f,u,h,w)}))}function p(l,f,u,h){return function(w){w.delegateTarget=a(w.target,f),w.delegateTarget&&h.call(l,w)}}o.exports=c},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var a=Object.prototype.toString.call(i);return i!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var a=Object.prototype.toString.call(i);return a==="[object Function]"}},370:function(o,n,i){var a=i(879),s=i(438);function c(u,h,w){if(!u&&!h&&!w)throw new Error("Missing required arguments");if(!a.string(h))throw new TypeError("Second argument must be a String");if(!a.fn(w))throw new TypeError("Third argument must be a Function");if(a.node(u))return p(u,h,w);if(a.nodeList(u))return l(u,h,w);if(a.string(u))return f(u,h,w);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function p(u,h,w){return u.addEventListener(h,w),{destroy:function(){u.removeEventListener(h,w)}}}function l(u,h,w){return Array.prototype.forEach.call(u,function(A){A.addEventListener(h,w)}),{destroy:function(){Array.prototype.forEach.call(u,function(A){A.removeEventListener(h,w)})}}}function f(u,h,w){return s(document.body,u,h,w)}o.exports=c},817:function(o){function n(i){var a;if(i.nodeName==="SELECT")i.focus(),a=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var s=i.hasAttribute("readonly");s||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),s||i.removeAttribute("readonly"),a=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var c=window.getSelection(),p=document.createRange();p.selectNodeContents(i),c.removeAllRanges(),c.addRange(p),a=c.toString()}return a}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,a,s){var c=this.e||(this.e={});return(c[i]||(c[i]=[])).push({fn:a,ctx:s}),this},once:function(i,a,s){var c=this;function p(){c.off(i,p),a.apply(s,arguments)}return p._=a,this.on(i,p,s)},emit:function(i){var a=[].slice.call(arguments,1),s=((this.e||(this.e={}))[i]||[]).slice(),c=0,p=s.length;for(c;c{"use strict";/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */var Va=/["'&<>]/;qn.exports=za;function za(e){var t=""+e,r=Va.exec(t);if(!r)return t;var o,n="",i=0,a=0;for(i=r.index;i0&&i[i.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!i||p[1]>i[0]&&p[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function V(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],a;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(s){a={error:s}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function z(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o1||s(u,h)})})}function s(u,h){try{c(o[u](h))}catch(w){f(i[0][3],w)}}function c(u){u.value instanceof ot?Promise.resolve(u.value.v).then(p,l):f(i[0][2],u)}function p(u){s("next",u)}function l(u){s("throw",u)}function f(u,h){u(h),i.shift(),i.length&&s(i[0][0],i[0][1])}}function so(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof ue=="function"?ue(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(a){return new Promise(function(s,c){a=e[i](a),n(s,c,a.done,a.value)})}}function n(i,a,s,c){Promise.resolve(c).then(function(p){i({value:p,done:s})},a)}}function k(e){return typeof e=="function"}function pt(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var Wt=pt(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(o,n){return n+1+") "+o.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function Ve(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ie=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=ue(a),c=s.next();!c.done;c=s.next()){var p=c.value;p.remove(this)}}catch(A){t={error:A}}finally{try{c&&!c.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}else a.remove(this);var l=this.initialTeardown;if(k(l))try{l()}catch(A){i=A instanceof Wt?A.errors:[A]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=ue(f),h=u.next();!h.done;h=u.next()){var w=h.value;try{co(w)}catch(A){i=i!=null?i:[],A instanceof Wt?i=z(z([],V(i)),V(A.errors)):i.push(A)}}}catch(A){o={error:A}}finally{try{h&&!h.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new Wt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)co(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Ve(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Ve(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Er=Ie.EMPTY;function Dt(e){return e instanceof Ie||e&&"closed"in e&&k(e.remove)&&k(e.add)&&k(e.unsubscribe)}function co(e){k(e)?e():e.unsubscribe()}var ke={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var lt={setTimeout:function(e,t){for(var r=[],o=2;o0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,a=n.isStopped,s=n.observers;return i||a?Er:(this.currentObservers=null,s.push(r),new Ie(function(){o.currentObservers=null,Ve(s,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,a=o.isStopped;n?r.error(i):a&&r.complete()},t.prototype.asObservable=function(){var r=new j;return r.source=this,r},t.create=function(r,o){return new vo(r,o)},t}(j);var vo=function(e){se(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:Er},t}(g);var St={now:function(){return(St.delegate||Date).now()},delegate:void 0};var Ot=function(e){se(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=St);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,a=o._infiniteTimeWindow,s=o._timestampProvider,c=o._windowTime;n||(i.push(r),!a&&i.push(s.now()+c)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,a=n._buffer,s=a.slice(),c=0;c0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=ut.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var a=r.actions;o!=null&&((i=a[a.length-1])===null||i===void 0?void 0:i.id)!==o&&(ut.cancelAnimationFrame(o),r._scheduled=void 0)},t}(zt);var yo=function(e){se(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o=this._scheduled;this._scheduled=void 0;var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(qt);var de=new yo(xo);var L=new j(function(e){return e.complete()});function Kt(e){return e&&k(e.schedule)}function _r(e){return e[e.length-1]}function Je(e){return k(_r(e))?e.pop():void 0}function Ae(e){return Kt(_r(e))?e.pop():void 0}function Qt(e,t){return typeof _r(e)=="number"?e.pop():t}var dt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Yt(e){return k(e==null?void 0:e.then)}function Bt(e){return k(e[ft])}function Gt(e){return Symbol.asyncIterator&&k(e==null?void 0:e[Symbol.asyncIterator])}function Jt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Di(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Xt=Di();function Zt(e){return k(e==null?void 0:e[Xt])}function er(e){return ao(this,arguments,function(){var r,o,n,i;return Ut(this,function(a){switch(a.label){case 0:r=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,ot(r.read())];case 3:return o=a.sent(),n=o.value,i=o.done,i?[4,ot(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,ot(n)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function tr(e){return k(e==null?void 0:e.getReader)}function N(e){if(e instanceof j)return e;if(e!=null){if(Bt(e))return Ni(e);if(dt(e))return Vi(e);if(Yt(e))return zi(e);if(Gt(e))return Eo(e);if(Zt(e))return qi(e);if(tr(e))return Ki(e)}throw Jt(e)}function Ni(e){return new j(function(t){var r=e[ft]();if(k(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Vi(e){return new j(function(t){for(var r=0;r=2;return function(o){return o.pipe(e?b(function(n,i){return e(n,i,o)}):ce,ye(1),r?Qe(t):jo(function(){return new or}))}}function $r(e){return e<=0?function(){return L}:x(function(t,r){var o=[];t.subscribe(S(r,function(n){o.push(n),e=2,!0))}function le(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new g}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,a=i===void 0?!0:i,s=e.resetOnRefCountZero,c=s===void 0?!0:s;return function(p){var l,f,u,h=0,w=!1,A=!1,Z=function(){f==null||f.unsubscribe(),f=void 0},te=function(){Z(),l=u=void 0,w=A=!1},J=function(){var C=l;te(),C==null||C.unsubscribe()};return x(function(C,ct){h++,!A&&!w&&Z();var Ne=u=u!=null?u:r();ct.add(function(){h--,h===0&&!A&&!w&&(f=Pr(J,c))}),Ne.subscribe(ct),!l&&h>0&&(l=new it({next:function(Pe){return Ne.next(Pe)},error:function(Pe){A=!0,Z(),f=Pr(te,n,Pe),Ne.error(Pe)},complete:function(){w=!0,Z(),f=Pr(te,a),Ne.complete()}}),N(C).subscribe(l))})(p)}}function Pr(e,t){for(var r=[],o=2;oe.next(document)),e}function R(e,t=document){return Array.from(t.querySelectorAll(e))}function P(e,t=document){let r=me(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function me(e,t=document){return t.querySelector(e)||void 0}function Re(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var la=T(d(document.body,"focusin"),d(document.body,"focusout")).pipe(be(1),q(void 0),m(()=>Re()||document.body),B(1));function vt(e){return la.pipe(m(t=>e.contains(t)),Y())}function Vo(e,t){return T(d(e,"mouseenter").pipe(m(()=>!0)),d(e,"mouseleave").pipe(m(()=>!1))).pipe(t?be(t):ce,q(!1))}function Ue(e){return{x:e.offsetLeft,y:e.offsetTop}}function zo(e){return T(d(window,"load"),d(window,"resize")).pipe(Me(0,de),m(()=>Ue(e)),q(Ue(e)))}function ir(e){return{x:e.scrollLeft,y:e.scrollTop}}function et(e){return T(d(e,"scroll"),d(window,"resize")).pipe(Me(0,de),m(()=>ir(e)),q(ir(e)))}function qo(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)qo(e,r)}function E(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)qo(o,n);return o}function ar(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function gt(e){let t=E("script",{src:e});return H(()=>(document.head.appendChild(t),T(d(t,"load"),d(t,"error").pipe(v(()=>Ar(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),_(()=>document.head.removeChild(t)),ye(1))))}var Ko=new g,ma=H(()=>typeof ResizeObserver=="undefined"?gt("https://unpkg.com/resize-observer-polyfill"):$(void 0)).pipe(m(()=>new ResizeObserver(e=>{for(let t of e)Ko.next(t)})),v(e=>T(qe,$(e)).pipe(_(()=>e.disconnect()))),B(1));function pe(e){return{width:e.offsetWidth,height:e.offsetHeight}}function Ee(e){return ma.pipe(y(t=>t.observe(e)),v(t=>Ko.pipe(b(({target:r})=>r===e),_(()=>t.unobserve(e)),m(()=>pe(e)))),q(pe(e)))}function xt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function sr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}var Qo=new g,fa=H(()=>$(new IntersectionObserver(e=>{for(let t of e)Qo.next(t)},{threshold:0}))).pipe(v(e=>T(qe,$(e)).pipe(_(()=>e.disconnect()))),B(1));function yt(e){return fa.pipe(y(t=>t.observe(e)),v(t=>Qo.pipe(b(({target:r})=>r===e),_(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function Yo(e,t=16){return et(e).pipe(m(({y:r})=>{let o=pe(e),n=xt(e);return r>=n.height-o.height-t}),Y())}var cr={drawer:P("[data-md-toggle=drawer]"),search:P("[data-md-toggle=search]")};function Bo(e){return cr[e].checked}function Be(e,t){cr[e].checked!==t&&cr[e].click()}function We(e){let t=cr[e];return d(t,"change").pipe(m(()=>t.checked),q(t.checked))}function ua(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function da(){return T(d(window,"compositionstart").pipe(m(()=>!0)),d(window,"compositionend").pipe(m(()=>!1))).pipe(q(!1))}function Go(){let e=d(window,"keydown").pipe(b(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:Bo("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),b(({mode:t,type:r})=>{if(t==="global"){let o=Re();if(typeof o!="undefined")return!ua(o,r)}return!0}),le());return da().pipe(v(t=>t?L:e))}function ve(){return new URL(location.href)}function st(e,t=!1){if(G("navigation.instant")&&!t){let r=E("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function Jo(){return new g}function Xo(){return location.hash.slice(1)}function Zo(e){let t=E("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function ha(e){return T(d(window,"hashchange"),e).pipe(m(Xo),q(Xo()),b(t=>t.length>0),B(1))}function en(e){return ha(e).pipe(m(t=>me(`[id="${t}"]`)),b(t=>typeof t!="undefined"))}function At(e){let t=matchMedia(e);return nr(r=>t.addListener(()=>r(t.matches))).pipe(q(t.matches))}function tn(){let e=matchMedia("print");return T(d(window,"beforeprint").pipe(m(()=>!0)),d(window,"afterprint").pipe(m(()=>!1))).pipe(q(e.matches))}function Ur(e,t){return e.pipe(v(r=>r?t():L))}function Wr(e,t){return new j(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let a=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+a*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function De(e,t){return Wr(e,t).pipe(v(r=>r.text()),m(r=>JSON.parse(r)),B(1))}function rn(e,t){let r=new DOMParser;return Wr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),B(1))}function on(e,t){let r=new DOMParser;return Wr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),B(1))}function nn(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function an(){return T(d(window,"scroll",{passive:!0}),d(window,"resize",{passive:!0})).pipe(m(nn),q(nn()))}function sn(){return{width:innerWidth,height:innerHeight}}function cn(){return d(window,"resize",{passive:!0}).pipe(m(sn),q(sn()))}function pn(){return Q([an(),cn()]).pipe(m(([e,t])=>({offset:e,size:t})),B(1))}function pr(e,{viewport$:t,header$:r}){let o=t.pipe(X("size")),n=Q([o,r]).pipe(m(()=>Ue(e)));return Q([r,t,n]).pipe(m(([{height:i},{offset:a,size:s},{x:c,y:p}])=>({offset:{x:a.x-c,y:a.y-p+i},size:s})))}function ba(e){return d(e,"message",t=>t.data)}function va(e){let t=new g;return t.subscribe(r=>e.postMessage(r)),t}function ln(e,t=new Worker(e)){let r=ba(t),o=va(t),n=new g;n.subscribe(o);let i=o.pipe(ee(),oe(!0));return n.pipe(ee(),$e(r.pipe(U(i))),le())}var ga=P("#__config"),Et=JSON.parse(ga.textContent);Et.base=`${new URL(Et.base,ve())}`;function we(){return Et}function G(e){return Et.features.includes(e)}function ge(e,t){return typeof t!="undefined"?Et.translations[e].replace("#",t.toString()):Et.translations[e]}function Te(e,t=document){return P(`[data-md-component=${e}]`,t)}function ie(e,t=document){return R(`[data-md-component=${e}]`,t)}function xa(e){let t=P(".md-typeset > :first-child",e);return d(t,"click",{once:!0}).pipe(m(()=>P(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function mn(e){if(!G("announce.dismiss")||!e.childElementCount)return L;if(!e.hidden){let t=P(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return H(()=>{let t=new g;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),xa(e).pipe(y(r=>t.next(r)),_(()=>t.complete()),m(r=>F({ref:e},r)))})}function ya(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function fn(e,t){let r=new g;return r.subscribe(({hidden:o})=>{e.hidden=o}),ya(e,t).pipe(y(o=>r.next(o)),_(()=>r.complete()),m(o=>F({ref:e},o)))}function Ct(e,t){return t==="inline"?E("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},E("div",{class:"md-tooltip__inner md-typeset"})):E("div",{class:"md-tooltip",id:e,role:"tooltip"},E("div",{class:"md-tooltip__inner md-typeset"}))}function un(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return E("aside",{class:"md-annotation",tabIndex:0},Ct(t),E("a",{href:r,class:"md-annotation__index",tabIndex:-1},E("span",{"data-md-annotation-id":e})))}else return E("aside",{class:"md-annotation",tabIndex:0},Ct(t),E("span",{class:"md-annotation__index",tabIndex:-1},E("span",{"data-md-annotation-id":e})))}function dn(e){return E("button",{class:"md-clipboard md-icon",title:ge("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}function Dr(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(c=>!e.terms[c]).reduce((c,p)=>[...c,E("del",null,p)," "],[]).slice(0,-1),i=we(),a=new URL(e.location,i.base);G("search.highlight")&&a.searchParams.set("h",Object.entries(e.terms).filter(([,c])=>c).reduce((c,[p])=>`${c} ${p}`.trim(),""));let{tags:s}=we();return E("a",{href:`${a}`,class:"md-search-result__link",tabIndex:-1},E("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&E("div",{class:"md-search-result__icon md-icon"}),r>0&&E("h1",null,e.title),r<=0&&E("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&e.tags.map(c=>{let p=s?c in s?`md-tag-icon md-tag--${s[c]}`:"md-tag-icon":"";return E("span",{class:`md-tag ${p}`},c)}),o>0&&n.length>0&&E("p",{class:"md-search-result__terms"},ge("search.result.term.missing"),": ",...n)))}function hn(e){let t=e[0].score,r=[...e],o=we(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),a=r.findIndex(l=>l.scoreDr(l,1)),...c.length?[E("details",{class:"md-search-result__more"},E("summary",{tabIndex:-1},E("div",null,c.length>0&&c.length===1?ge("search.result.more.one"):ge("search.result.more.other",c.length))),...c.map(l=>Dr(l,1)))]:[]];return E("li",{class:"md-search-result__item"},p)}function bn(e){return E("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>E("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?ar(r):r)))}function Nr(e){let t=`tabbed-control tabbed-control--${e}`;return E("div",{class:t,hidden:!0},E("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function vn(e){return E("div",{class:"md-typeset__scrollwrap"},E("div",{class:"md-typeset__table"},e))}function Ea(e){let t=we(),r=new URL(`../${e.version}/`,t.base);return E("li",{class:"md-version__item"},E("a",{href:`${r}`,class:"md-version__link"},e.title))}function gn(e,t){return e=e.filter(r=>{var o;return!((o=r.properties)!=null&&o.hidden)}),E("div",{class:"md-version"},E("button",{class:"md-version__current","aria-label":ge("select.version")},t.title),E("ul",{class:"md-version__list"},e.map(Ea)))}var wa=0;function Ta(e,t){document.body.append(e);let{width:r}=pe(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=sr(t),n=typeof o!="undefined"?et(o):$({x:0,y:0}),i=T(vt(t),Vo(t)).pipe(Y());return Q([i,n]).pipe(m(([a,s])=>{let{x:c,y:p}=Ue(t),l=pe(t),f=t.closest("table");return f&&t.parentElement&&(c+=f.offsetLeft+t.parentElement.offsetLeft,p+=f.offsetTop+t.parentElement.offsetTop),{active:a,offset:{x:c-s.x+l.width/2-r/2,y:p-s.y+l.height+8}}}))}function Ge(e){let t=e.title;if(!t.length)return L;let r=`__tooltip_${wa++}`,o=Ct(r,"inline"),n=P(".md-typeset",o);return n.innerHTML=t,H(()=>{let i=new g;return i.subscribe({next({offset:a}){o.style.setProperty("--md-tooltip-x",`${a.x}px`),o.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),T(i.pipe(b(({active:a})=>a)),i.pipe(be(250),b(({active:a})=>!a))).subscribe({next({active:a}){a?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe(Me(16,de)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(_t(125,de),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?o.style.setProperty("--md-tooltip-0",`${-a}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),Ta(o,e).pipe(y(a=>i.next(a)),_(()=>i.complete()),m(a=>F({ref:e},a)))}).pipe(ze(ae))}function Sa(e,t){let r=H(()=>Q([zo(e),et(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:a,height:s}=pe(e);return{x:o-i.x+a/2,y:n-i.y+s/2}}));return vt(e).pipe(v(o=>r.pipe(m(n=>({active:o,offset:n})),ye(+!o||1/0))))}function xn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return H(()=>{let i=new g,a=i.pipe(ee(),oe(!0));return i.subscribe({next({offset:s}){e.style.setProperty("--md-tooltip-x",`${s.x}px`),e.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),yt(e).pipe(U(a)).subscribe(s=>{e.toggleAttribute("data-md-visible",s)}),T(i.pipe(b(({active:s})=>s)),i.pipe(be(250),b(({active:s})=>!s))).subscribe({next({active:s}){s?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(Me(16,de)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(_t(125,de),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?e.style.setProperty("--md-tooltip-0",`${-s}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),d(n,"click").pipe(U(a),b(s=>!(s.metaKey||s.ctrlKey))).subscribe(s=>{s.stopPropagation(),s.preventDefault()}),d(n,"mousedown").pipe(U(a),ne(i)).subscribe(([s,{active:c}])=>{var p;if(s.button!==0||s.metaKey||s.ctrlKey)s.preventDefault();else if(c){s.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(p=Re())==null||p.blur()}}),r.pipe(U(a),b(s=>s===o),Ye(125)).subscribe(()=>e.focus()),Sa(e,t).pipe(y(s=>i.next(s)),_(()=>i.complete()),m(s=>F({ref:e},s)))})}function Oa(e){return e.tagName==="CODE"?R(".c, .c1, .cm",e):[e]}function Ma(e){let t=[];for(let r of Oa(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let a;for(;a=/(\(\d+\))(!)?/.exec(i.textContent);){let[,s,c]=a;if(typeof c=="undefined"){let p=i.splitText(a.index);i=p.splitText(s.length),t.push(p)}else{i.textContent=s,t.push(i);break}}}}return t}function yn(e,t){t.append(...Array.from(e.childNodes))}function lr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,a=new Map;for(let s of Ma(t)){let[,c]=s.textContent.match(/\((\d+)\)/);me(`:scope > li:nth-child(${c})`,e)&&(a.set(c,un(c,i)),s.replaceWith(a.get(c)))}return a.size===0?L:H(()=>{let s=new g,c=s.pipe(ee(),oe(!0)),p=[];for(let[l,f]of a)p.push([P(".md-typeset",f),P(`:scope > li:nth-child(${l})`,e)]);return o.pipe(U(c)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of p)l?yn(f,u):yn(u,f)}),T(...[...a].map(([,l])=>xn(l,t,{target$:r}))).pipe(_(()=>s.complete()),le())})}function En(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return En(t)}}function wn(e,t){return H(()=>{let r=En(e);return typeof r!="undefined"?lr(r,e,t):L})}var Tn=jt(zr());var La=0;function Sn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Sn(t)}}function _a(e){return Ee(e).pipe(m(({width:t})=>({scrollable:xt(e).width>t})),X("scrollable"))}function On(e,t){let{matches:r}=matchMedia("(hover)"),o=H(()=>{let n=new g,i=n.pipe($r(1));n.subscribe(({scrollable:c})=>{c&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let a=[];if(Tn.default.isSupported()&&(e.closest(".copy")||G("content.code.copy")&&!e.closest(".no-copy"))){let c=e.closest("pre");c.id=`__code_${La++}`;let p=dn(c.id);c.insertBefore(p,e),G("content.tooltips")&&a.push(Ge(p))}let s=e.closest(".highlight");if(s instanceof HTMLElement){let c=Sn(s);if(typeof c!="undefined"&&(s.classList.contains("annotate")||G("content.code.annotate"))){let p=lr(c,e,t);a.push(Ee(s).pipe(U(i),m(({width:l,height:f})=>l&&f),Y(),v(l=>l?p:L)))}}return _a(e).pipe(y(c=>n.next(c)),_(()=>n.complete()),m(c=>F({ref:e},c)),$e(...a))});return G("content.lazy")?yt(e).pipe(b(n=>n),ye(1),v(()=>o)):o}function Aa(e,{target$:t,print$:r}){let o=!0;return T(t.pipe(m(n=>n.closest("details:not([open])")),b(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(b(n=>n||!o),y(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function Mn(e,t){return H(()=>{let r=new g;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),Aa(e,t).pipe(y(o=>r.next(o)),_(()=>r.complete()),m(o=>F({ref:e},o)))})}var Ln=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel rect,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel rect{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.attributeBoxEven,.attributeBoxOdd{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var qr,ka=0;function Ha(){return typeof mermaid=="undefined"||mermaid instanceof Element?gt("https://unpkg.com/mermaid@10.7.0/dist/mermaid.min.js"):$(void 0)}function _n(e){return e.classList.remove("mermaid"),qr||(qr=Ha().pipe(y(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Ln,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),B(1))),qr.subscribe(()=>ro(this,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${ka++}`,r=E("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),a=r.attachShadow({mode:"closed"});a.innerHTML=n,e.replaceWith(r),i==null||i(a)})),qr.pipe(m(()=>({ref:e})))}var An=E("table");function Cn(e){return e.replaceWith(An),An.replaceWith(vn(e)),$({ref:e})}function $a(e){let t=e.find(r=>r.checked)||e[0];return T(...e.map(r=>d(r,"change").pipe(m(()=>P(`label[for="${r.id}"]`))))).pipe(q(P(`label[for="${t.id}"]`)),m(r=>({active:r})))}function kn(e,{viewport$:t,target$:r}){let o=P(".tabbed-labels",e),n=R(":scope > input",e),i=Nr("prev");e.append(i);let a=Nr("next");return e.append(a),H(()=>{let s=new g,c=s.pipe(ee(),oe(!0));Q([s,Ee(e)]).pipe(U(c),Me(1,de)).subscribe({next([{active:p},l]){let f=Ue(p),{width:u}=pe(p);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let h=ir(o);(f.xh.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),Q([et(o),Ee(o)]).pipe(U(c)).subscribe(([p,l])=>{let f=xt(o);i.hidden=p.x<16,a.hidden=p.x>f.width-l.width-16}),T(d(i,"click").pipe(m(()=>-1)),d(a,"click").pipe(m(()=>1))).pipe(U(c)).subscribe(p=>{let{width:l}=pe(o);o.scrollBy({left:l*p,behavior:"smooth"})}),r.pipe(U(c),b(p=>n.includes(p))).subscribe(p=>p.click()),o.classList.add("tabbed-labels--linked");for(let p of n){let l=P(`label[for="${p.id}"]`);l.replaceChildren(E("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),d(l.firstElementChild,"click").pipe(U(c),b(f=>!(f.metaKey||f.ctrlKey)),y(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return G("content.tabs.link")&&s.pipe(Le(1),ne(t)).subscribe(([{active:p},{offset:l}])=>{let f=p.innerText.trim();if(p.hasAttribute("data-md-switching"))p.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let w of R("[data-tabs]"))for(let A of R(":scope > input",w)){let Z=P(`label[for="${A.id}"]`);if(Z!==p&&Z.innerText.trim()===f){Z.setAttribute("data-md-switching",""),A.click();break}}window.scrollTo({top:e.offsetTop-u});let h=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...h])])}}),s.pipe(U(c)).subscribe(()=>{for(let p of R("audio, video",e))p.pause()}),$a(n).pipe(y(p=>s.next(p)),_(()=>s.complete()),m(p=>F({ref:e},p)))}).pipe(ze(ae))}function Hn(e,{viewport$:t,target$:r,print$:o}){return T(...R(".annotate:not(.highlight)",e).map(n=>wn(n,{target$:r,print$:o})),...R("pre:not(.mermaid) > code",e).map(n=>On(n,{target$:r,print$:o})),...R("pre.mermaid",e).map(n=>_n(n)),...R("table:not([class])",e).map(n=>Cn(n)),...R("details",e).map(n=>Mn(n,{target$:r,print$:o})),...R("[data-tabs]",e).map(n=>kn(n,{viewport$:t,target$:r})),...R("[title]",e).filter(()=>G("content.tooltips")).map(n=>Ge(n)))}function Ra(e,{alert$:t}){return t.pipe(v(r=>T($(!0),$(!1).pipe(Ye(2e3))).pipe(m(o=>({message:r,active:o})))))}function $n(e,t){let r=P(".md-typeset",e);return H(()=>{let o=new g;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),Ra(e,t).pipe(y(n=>o.next(n)),_(()=>o.complete()),m(n=>F({ref:e},n)))})}function Pa({viewport$:e}){if(!G("header.autohide"))return $(!1);let t=e.pipe(m(({offset:{y:n}})=>n),Ke(2,1),m(([n,i])=>[nMath.abs(i-n.y)>100),m(([,[n]])=>n),Y()),o=We("search");return Q([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),Y(),v(n=>n?r:$(!1)),q(!1))}function Rn(e,t){return H(()=>Q([Ee(e),Pa(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),Y((r,o)=>r.height===o.height&&r.hidden===o.hidden),B(1))}function Pn(e,{header$:t,main$:r}){return H(()=>{let o=new g,n=o.pipe(ee(),oe(!0));o.pipe(X("active"),je(t)).subscribe(([{active:a},{hidden:s}])=>{e.classList.toggle("md-header--shadow",a&&!s),e.hidden=s});let i=fe(R("[title]",e)).pipe(b(()=>G("content.tooltips")),re(a=>Ge(a)));return r.subscribe(o),t.pipe(U(n),m(a=>F({ref:e},a)),$e(i.pipe(U(n))))})}function Ia(e,{viewport$:t,header$:r}){return pr(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=pe(e);return{active:o>=n}}),X("active"))}function In(e,t){return H(()=>{let r=new g;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=me(".md-content h1");return typeof o=="undefined"?L:Ia(o,t).pipe(y(n=>r.next(n)),_(()=>r.complete()),m(n=>F({ref:e},n)))})}function Fn(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),Y()),n=o.pipe(v(()=>Ee(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),X("bottom"))));return Q([o,n,t]).pipe(m(([i,{top:a,bottom:s},{offset:{y:c},size:{height:p}}])=>(p=Math.max(0,p-Math.max(0,a-c,i)-Math.max(0,p+c-s)),{offset:a-i,height:p,active:a-i<=c})),Y((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function Fa(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return $(...e).pipe(re(o=>d(o,"change").pipe(m(()=>o))),q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),B(1))}function jn(e){let t=R("input",e),r=E("meta",{name:"theme-color"});document.head.appendChild(r);let o=E("meta",{name:"color-scheme"});document.head.appendChild(o);let n=At("(prefers-color-scheme: light)");return H(()=>{let i=new g;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),c=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=c.getAttribute("data-md-color-scheme"),a.color.primary=c.getAttribute("data-md-color-primary"),a.color.accent=c.getAttribute("data-md-color-accent")}for(let[s,c]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,c);for(let s=0;sa.key==="Enter"),ne(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(m(()=>{let a=Te("header"),s=window.getComputedStyle(a);return o.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(c=>(+c).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(Oe(ae)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),Fa(t).pipe(U(n.pipe(Le(1))),at(),y(a=>i.next(a)),_(()=>i.complete()),m(a=>F({ref:e},a)))})}function Un(e,{progress$:t}){return H(()=>{let r=new g;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(y(o=>r.next({value:o})),_(()=>r.complete()),m(o=>({ref:e,value:o})))})}var Kr=jt(zr());function ja(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Wn({alert$:e}){Kr.default.isSupported()&&new j(t=>{new Kr.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||ja(P(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(y(t=>{t.trigger.focus()}),m(()=>ge("clipboard.copied"))).subscribe(e)}function Dn(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function Ua(e,t){let r=new Map;for(let o of R("url",e)){let n=P("loc",o),i=[Dn(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let a of R("[rel=alternate]",o)){let s=a.getAttribute("href");s!=null&&i.push(Dn(new URL(s),t))}}return r}function mr(e){return on(new URL("sitemap.xml",e)).pipe(m(t=>Ua(t,new URL(e))),he(()=>$(new Map)))}function Wa(e,t){if(!(e.target instanceof Element))return L;let r=e.target.closest("a");if(r===null)return L;if(r.target||e.metaKey||e.ctrlKey)return L;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),$(new URL(r.href))):L}function Nn(e){let t=new Map;for(let r of R(":scope > *",e.head))t.set(r.outerHTML,r);return t}function Vn(e){for(let t of R("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return $(e)}function Da(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...G("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=me(o),i=me(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=Nn(document);for(let[o,n]of Nn(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values()){let n=o.getAttribute("name");n!=="theme-color"&&n!=="color-scheme"&&o.remove()}let r=Te("container");return Fe(R("script",r)).pipe(v(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new j(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),L}),ee(),oe(document))}function zn({location$:e,viewport$:t,progress$:r}){let o=we();if(location.protocol==="file:")return L;let n=mr(o.base);$(document).subscribe(Vn);let i=d(document.body,"click").pipe(je(n),v(([c,p])=>Wa(c,p)),le()),a=d(window,"popstate").pipe(m(ve),le());i.pipe(ne(t)).subscribe(([c,{offset:p}])=>{history.replaceState(p,""),history.pushState(null,"",c)}),T(i,a).subscribe(e);let s=e.pipe(X("pathname"),v(c=>rn(c,{progress$:r}).pipe(he(()=>(st(c,!0),L)))),v(Vn),v(Da),le());return T(s.pipe(ne(e,(c,p)=>p)),e.pipe(X("pathname"),v(()=>e),X("hash")),e.pipe(Y((c,p)=>c.pathname===p.pathname&&c.hash===p.hash),v(()=>i),y(()=>history.back()))).subscribe(c=>{var p,l;history.state!==null||!c.hash?window.scrollTo(0,(l=(p=history.state)==null?void 0:p.y)!=null?l:0):(history.scrollRestoration="auto",Zo(c.hash),history.scrollRestoration="manual")}),e.subscribe(()=>{history.scrollRestoration="manual"}),d(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),t.pipe(X("offset"),be(100)).subscribe(({offset:c})=>{history.replaceState(c,"")}),s}var Qn=jt(Kn());function Yn(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,a)=>`${i}${a}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return a=>(0,Qn.default)(a).replace(i,o).replace(/<\/mark>(\s+)]*>/img,"$1")}}function Ht(e){return e.type===1}function fr(e){return e.type===3}function Bn(e,t){let r=ln(e);return T($(location.protocol!=="file:"),We("search")).pipe(He(o=>o),v(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:G("search.suggest")}}})),r}function Gn({document$:e}){let t=we(),r=De(new URL("../versions.json",t.base)).pipe(he(()=>L)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:a,aliases:s})=>a===i||s.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),v(n=>d(document.body,"click").pipe(b(i=>!i.metaKey&&!i.ctrlKey),ne(o),v(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&n.has(s.href)){let c=s.href;return!i.target.closest(".md-version")&&n.get(c)===a?L:(i.preventDefault(),$(c))}}return L}),v(i=>{let{version:a}=n.get(i);return mr(new URL(i)).pipe(m(s=>{let p=ve().href.replace(t.base,"");return s.has(p.split("#")[0])?new URL(`../${a}/${p}`,t.base):new URL(i)}))})))).subscribe(n=>st(n,!0)),Q([r,o]).subscribe(([n,i])=>{P(".md-header__topic").appendChild(gn(n,i))}),e.pipe(v(()=>o)).subscribe(n=>{var a;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let s=((a=t.version)==null?void 0:a.default)||"latest";Array.isArray(s)||(s=[s]);e:for(let c of s)for(let p of n.aliases.concat(n.version))if(new RegExp(c,"i").test(p)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let s of ie("outdated"))s.hidden=!1})}function Ka(e,{worker$:t}){let{searchParams:r}=ve();r.has("q")&&(Be("search",!0),e.value=r.get("q"),e.focus(),We("search").pipe(He(i=>!i)).subscribe(()=>{let i=ve();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=vt(e),n=T(t.pipe(He(Ht)),d(e,"keyup"),o).pipe(m(()=>e.value),Y());return Q([n,o]).pipe(m(([i,a])=>({value:i,focus:a})),B(1))}function Jn(e,{worker$:t}){let r=new g,o=r.pipe(ee(),oe(!0));Q([t.pipe(He(Ht)),r],(i,a)=>a).pipe(X("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(X("focus")).subscribe(({focus:i})=>{i&&Be("search",i)}),d(e.form,"reset").pipe(U(o)).subscribe(()=>e.focus());let n=P("header [for=__search]");return d(n,"click").subscribe(()=>e.focus()),Ka(e,{worker$:t}).pipe(y(i=>r.next(i)),_(()=>r.complete()),m(i=>F({ref:e},i)),B(1))}function Xn(e,{worker$:t,query$:r}){let o=new g,n=Yo(e.parentElement).pipe(b(Boolean)),i=e.parentElement,a=P(":scope > :first-child",e),s=P(":scope > :last-child",e);We("search").subscribe(l=>s.setAttribute("role",l?"list":"presentation")),o.pipe(ne(r),Ir(t.pipe(He(Ht)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:a.textContent=f.length?ge("search.result.none"):ge("search.result.placeholder");break;case 1:a.textContent=ge("search.result.one");break;default:let u=ar(l.length);a.textContent=ge("search.result.other",u)}});let c=o.pipe(y(()=>s.innerHTML=""),v(({items:l})=>T($(...l.slice(0,10)),$(...l.slice(10)).pipe(Ke(4),jr(n),v(([f])=>f)))),m(hn),le());return c.subscribe(l=>s.appendChild(l)),c.pipe(re(l=>{let f=me("details",l);return typeof f=="undefined"?L:d(f,"toggle").pipe(U(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(b(fr),m(({data:l})=>l)).pipe(y(l=>o.next(l)),_(()=>o.complete()),m(l=>F({ref:e},l)))}function Qa(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=ve();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function Zn(e,t){let r=new g,o=r.pipe(ee(),oe(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),d(e,"click").pipe(U(o)).subscribe(n=>n.preventDefault()),Qa(e,t).pipe(y(n=>r.next(n)),_(()=>r.complete()),m(n=>F({ref:e},n)))}function ei(e,{worker$:t,keyboard$:r}){let o=new g,n=Te("search-query"),i=T(d(n,"keydown"),d(n,"focus")).pipe(Oe(ae),m(()=>n.value),Y());return o.pipe(je(i),m(([{suggest:s},c])=>{let p=c.split(/([\s-]+)/);if(s!=null&&s.length&&p[p.length-1]){let l=s[s.length-1];l.startsWith(p[p.length-1])&&(p[p.length-1]=l)}else p.length=0;return p})).subscribe(s=>e.innerHTML=s.join("").replace(/\s/g," ")),r.pipe(b(({mode:s})=>s==="search")).subscribe(s=>{switch(s.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(b(fr),m(({data:s})=>s)).pipe(y(s=>o.next(s)),_(()=>o.complete()),m(()=>({ref:e})))}function ti(e,{index$:t,keyboard$:r}){let o=we();try{let n=Bn(o.search,t),i=Te("search-query",e),a=Te("search-result",e);d(e,"click").pipe(b(({target:c})=>c instanceof Element&&!!c.closest("a"))).subscribe(()=>Be("search",!1)),r.pipe(b(({mode:c})=>c==="search")).subscribe(c=>{let p=Re();switch(c.type){case"Enter":if(p===i){let l=new Map;for(let f of R(":first-child [href]",a)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,h])=>h-u);f.click()}c.claim()}break;case"Escape":case"Tab":Be("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof p=="undefined")i.focus();else{let l=[i,...R(":not(details) > [href], summary, details[open] [href]",a)],f=Math.max(0,(Math.max(0,l.indexOf(p))+l.length+(c.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}c.claim();break;default:i!==Re()&&i.focus()}}),r.pipe(b(({mode:c})=>c==="global")).subscribe(c=>{switch(c.type){case"f":case"s":case"/":i.focus(),i.select(),c.claim();break}});let s=Jn(i,{worker$:n});return T(s,Xn(a,{worker$:n,query$:s})).pipe($e(...ie("search-share",e).map(c=>Zn(c,{query$:s})),...ie("search-suggest",e).map(c=>ei(c,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,qe}}function ri(e,{index$:t,location$:r}){return Q([t,r.pipe(q(ve()),b(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>Yn(o.config)(n.searchParams.get("h"))),m(o=>{var a;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let c=s.textContent,p=o(c);p.length>c.length&&n.set(s,p)}for(let[s,c]of n){let{childNodes:p}=E("span",null,c);s.replaceWith(...Array.from(p))}return{ref:e,nodes:n}}))}function Ya(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return Q([r,t]).pipe(m(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(n,Math.max(0,s-i))-n,{height:a,locked:s>=i+n})),Y((i,a)=>i.height===a.height&&i.locked===a.locked))}function Qr(e,o){var n=o,{header$:t}=n,r=to(n,["header$"]);let i=P(".md-sidebar__scrollwrap",e),{y:a}=Ue(i);return H(()=>{let s=new g,c=s.pipe(ee(),oe(!0)),p=s.pipe(Me(0,de));return p.pipe(ne(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),p.pipe(He()).subscribe(()=>{for(let l of R(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:h}=pe(f);f.scrollTo({top:u-h/2})}}}),fe(R("label[tabindex]",e)).pipe(re(l=>d(l,"click").pipe(Oe(ae),m(()=>l),U(c)))).subscribe(l=>{let f=P(`[id="${l.htmlFor}"]`);P(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),Ya(e,r).pipe(y(l=>s.next(l)),_(()=>s.complete()),m(l=>F({ref:e},l)))})}function oi(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return Lt(De(`${r}/releases/latest`).pipe(he(()=>L),m(o=>({version:o.tag_name})),Qe({})),De(r).pipe(he(()=>L),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),Qe({}))).pipe(m(([o,n])=>F(F({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return De(r).pipe(m(o=>({repositories:o.public_repos})),Qe({}))}}function ni(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return De(r).pipe(he(()=>L),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),Qe({}))}function ii(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return oi(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return ni(r,o)}return L}var Ba;function Ga(e){return Ba||(Ba=H(()=>{let t=__md_get("__source",sessionStorage);if(t)return $(t);if(ie("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return L}return ii(e.href).pipe(y(o=>__md_set("__source",o,sessionStorage)))}).pipe(he(()=>L),b(t=>Object.keys(t).length>0),m(t=>({facts:t})),B(1)))}function ai(e){let t=P(":scope > :last-child",e);return H(()=>{let r=new g;return r.subscribe(({facts:o})=>{t.appendChild(bn(o)),t.classList.add("md-source__repository--active")}),Ga(e).pipe(y(o=>r.next(o)),_(()=>r.complete()),m(o=>F({ref:e},o)))})}function Ja(e,{viewport$:t,header$:r}){return Ee(document.body).pipe(v(()=>pr(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),X("hidden"))}function si(e,t){return H(()=>{let r=new g;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(G("navigation.tabs.sticky")?$({hidden:!1}):Ja(e,t)).pipe(y(o=>r.next(o)),_(()=>r.complete()),m(o=>F({ref:e},o)))})}function Xa(e,{viewport$:t,header$:r}){let o=new Map,n=R(".md-nav__link",e);for(let s of n){let c=decodeURIComponent(s.hash.substring(1)),p=me(`[id="${c}"]`);typeof p!="undefined"&&o.set(s,p)}let i=r.pipe(X("height"),m(({height:s})=>{let c=Te("main"),p=P(":scope > :first-child",c);return s+.8*(p.offsetTop-c.offsetTop)}),le());return Ee(document.body).pipe(X("height"),v(s=>H(()=>{let c=[];return $([...o].reduce((p,[l,f])=>{for(;c.length&&o.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let h=f.offsetParent;for(;h;h=h.offsetParent)u+=h.offsetTop;return p.set([...c=[...c,l]].reverse(),u)},new Map))}).pipe(m(c=>new Map([...c].sort(([,p],[,l])=>p-l))),je(i),v(([c,p])=>t.pipe(Rr(([l,f],{offset:{y:u},size:h})=>{let w=u+h.height>=Math.floor(s.height);for(;f.length;){let[,A]=f[0];if(A-p=u&&!w)f=[l.pop(),...f];else break}return[l,f]},[[],[...c]]),Y((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([s,c])=>({prev:s.map(([p])=>p),next:c.map(([p])=>p)})),q({prev:[],next:[]}),Ke(2,1),m(([s,c])=>s.prev.length{let i=new g,a=i.pipe(ee(),oe(!0));if(i.subscribe(({prev:s,next:c})=>{for(let[p]of c)p.classList.remove("md-nav__link--passed"),p.classList.remove("md-nav__link--active");for(let[p,[l]]of s.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",p===s.length-1)}),G("toc.follow")){let s=T(t.pipe(be(1),m(()=>{})),t.pipe(be(250),m(()=>"smooth")));i.pipe(b(({prev:c})=>c.length>0),je(o.pipe(Oe(ae))),ne(s)).subscribe(([[{prev:c}],p])=>{let[l]=c[c.length-1];if(l.offsetHeight){let f=sr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:h}=pe(f);f.scrollTo({top:u-h/2,behavior:p})}}})}return G("navigation.tracking")&&t.pipe(U(a),X("offset"),be(250),Le(1),U(n.pipe(Le(1))),at({delay:250}),ne(i)).subscribe(([,{prev:s}])=>{let c=ve(),p=s[s.length-1];if(p&&p.length){let[l]=p,{hash:f}=new URL(l.href);c.hash!==f&&(c.hash=f,history.replaceState({},"",`${c}`))}else c.hash="",history.replaceState({},"",`${c}`)}),Xa(e,{viewport$:t,header$:r}).pipe(y(s=>i.next(s)),_(()=>i.complete()),m(s=>F({ref:e},s)))})}function Za(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:a}})=>a),Ke(2,1),m(([a,s])=>a>s&&s>0),Y()),i=r.pipe(m(({active:a})=>a));return Q([i,n]).pipe(m(([a,s])=>!(a&&s)),Y(),U(o.pipe(Le(1))),oe(!0),at({delay:250}),m(a=>({hidden:a})))}function pi(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new g,a=i.pipe(ee(),oe(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(U(a),X("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),d(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),Za(e,{viewport$:t,main$:o,target$:n}).pipe(y(s=>i.next(s)),_(()=>i.complete()),m(s=>F({ref:e},s)))}function li({document$:e}){e.pipe(v(()=>R(".md-ellipsis")),re(t=>yt(t).pipe(U(e.pipe(Le(1))),b(r=>r),m(()=>t),ye(1))),b(t=>t.offsetWidth{let r=t.innerText,o=t.closest("a")||t;return o.title=r,Ge(o).pipe(U(e.pipe(Le(1))),_(()=>o.removeAttribute("title")))})).subscribe(),e.pipe(v(()=>R(".md-status")),re(t=>Ge(t))).subscribe()}function mi({document$:e,tablet$:t}){e.pipe(v(()=>R(".md-toggle--indeterminate")),y(r=>{r.indeterminate=!0,r.checked=!1}),re(r=>d(r,"change").pipe(Fr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),ne(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function es(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function fi({document$:e}){e.pipe(v(()=>R("[data-md-scrollfix]")),y(t=>t.removeAttribute("data-md-scrollfix")),b(es),re(t=>d(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function ui({viewport$:e,tablet$:t}){Q([We("search"),t]).pipe(m(([r,o])=>r&&!o),v(r=>$(r).pipe(Ye(r?400:100))),ne(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function ts(){return location.protocol==="file:"?gt(`${new URL("search/search_index.js",Yr.base)}`).pipe(m(()=>__index),B(1)):De(new URL("search/search_index.json",Yr.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var rt=No(),Rt=Jo(),wt=en(Rt),Br=Go(),_e=pn(),ur=At("(min-width: 960px)"),hi=At("(min-width: 1220px)"),bi=tn(),Yr=we(),vi=document.forms.namedItem("search")?ts():qe,Gr=new g;Wn({alert$:Gr});var Jr=new g;G("navigation.instant")&&zn({location$:Rt,viewport$:_e,progress$:Jr}).subscribe(rt);var di;((di=Yr.version)==null?void 0:di.provider)==="mike"&&Gn({document$:rt});T(Rt,wt).pipe(Ye(125)).subscribe(()=>{Be("drawer",!1),Be("search",!1)});Br.pipe(b(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=me("link[rel=prev]");typeof t!="undefined"&&st(t);break;case"n":case".":let r=me("link[rel=next]");typeof r!="undefined"&&st(r);break;case"Enter":let o=Re();o instanceof HTMLLabelElement&&o.click()}});li({document$:rt});mi({document$:rt,tablet$:ur});fi({document$:rt});ui({viewport$:_e,tablet$:ur});var tt=Rn(Te("header"),{viewport$:_e}),$t=rt.pipe(m(()=>Te("main")),v(e=>Fn(e,{viewport$:_e,header$:tt})),B(1)),rs=T(...ie("consent").map(e=>fn(e,{target$:wt})),...ie("dialog").map(e=>$n(e,{alert$:Gr})),...ie("header").map(e=>Pn(e,{viewport$:_e,header$:tt,main$:$t})),...ie("palette").map(e=>jn(e)),...ie("progress").map(e=>Un(e,{progress$:Jr})),...ie("search").map(e=>ti(e,{index$:vi,keyboard$:Br})),...ie("source").map(e=>ai(e))),os=H(()=>T(...ie("announce").map(e=>mn(e)),...ie("content").map(e=>Hn(e,{viewport$:_e,target$:wt,print$:bi})),...ie("content").map(e=>G("search.highlight")?ri(e,{index$:vi,location$:Rt}):L),...ie("header-title").map(e=>In(e,{viewport$:_e,header$:tt})),...ie("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?Ur(hi,()=>Qr(e,{viewport$:_e,header$:tt,main$:$t})):Ur(ur,()=>Qr(e,{viewport$:_e,header$:tt,main$:$t}))),...ie("tabs").map(e=>si(e,{viewport$:_e,header$:tt})),...ie("toc").map(e=>ci(e,{viewport$:_e,header$:tt,main$:$t,target$:wt})),...ie("top").map(e=>pi(e,{viewport$:_e,header$:tt,main$:$t,target$:wt})))),gi=rt.pipe(v(()=>os),$e(rs),B(1));gi.subscribe();window.document$=rt;window.location$=Rt;window.target$=wt;window.keyboard$=Br;window.viewport$=_e;window.tablet$=ur;window.screen$=hi;window.print$=bi;window.alert$=Gr;window.progress$=Jr;window.component$=gi;})(); +//# sourceMappingURL=bundle.1e8ae164.min.js.map + diff --git a/assets/javascripts/bundle.1e8ae164.min.js.map b/assets/javascripts/bundle.1e8ae164.min.js.map new file mode 100644 index 00000000..6c33b8e8 --- /dev/null +++ b/assets/javascripts/bundle.1e8ae164.min.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["node_modules/focus-visible/dist/focus-visible.js", "node_modules/clipboard/dist/clipboard.js", "node_modules/escape-html/index.js", "src/templates/assets/javascripts/bundle.ts", "node_modules/rxjs/node_modules/tslib/tslib.es6.js", "node_modules/rxjs/src/internal/util/isFunction.ts", "node_modules/rxjs/src/internal/util/createErrorClass.ts", "node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "node_modules/rxjs/src/internal/util/arrRemove.ts", "node_modules/rxjs/src/internal/Subscription.ts", "node_modules/rxjs/src/internal/config.ts", "node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "node_modules/rxjs/src/internal/util/noop.ts", "node_modules/rxjs/src/internal/NotificationFactories.ts", "node_modules/rxjs/src/internal/util/errorContext.ts", "node_modules/rxjs/src/internal/Subscriber.ts", "node_modules/rxjs/src/internal/symbol/observable.ts", "node_modules/rxjs/src/internal/util/identity.ts", "node_modules/rxjs/src/internal/util/pipe.ts", "node_modules/rxjs/src/internal/Observable.ts", "node_modules/rxjs/src/internal/util/lift.ts", "node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "node_modules/rxjs/src/internal/Subject.ts", "node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "node_modules/rxjs/src/internal/ReplaySubject.ts", "node_modules/rxjs/src/internal/scheduler/Action.ts", "node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "node_modules/rxjs/src/internal/Scheduler.ts", "node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "node_modules/rxjs/src/internal/scheduler/async.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "node_modules/rxjs/src/internal/observable/empty.ts", "node_modules/rxjs/src/internal/util/isScheduler.ts", "node_modules/rxjs/src/internal/util/args.ts", "node_modules/rxjs/src/internal/util/isArrayLike.ts", "node_modules/rxjs/src/internal/util/isPromise.ts", "node_modules/rxjs/src/internal/util/isInteropObservable.ts", "node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "node_modules/rxjs/src/internal/symbol/iterator.ts", "node_modules/rxjs/src/internal/util/isIterable.ts", "node_modules/rxjs/src/internal/util/isReadableStreamLike.ts", "node_modules/rxjs/src/internal/observable/innerFrom.ts", "node_modules/rxjs/src/internal/util/executeSchedule.ts", "node_modules/rxjs/src/internal/operators/observeOn.ts", "node_modules/rxjs/src/internal/operators/subscribeOn.ts", "node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts", "node_modules/rxjs/src/internal/scheduled/scheduled.ts", "node_modules/rxjs/src/internal/observable/from.ts", "node_modules/rxjs/src/internal/observable/of.ts", "node_modules/rxjs/src/internal/observable/throwError.ts", "node_modules/rxjs/src/internal/util/EmptyError.ts", "node_modules/rxjs/src/internal/util/isDate.ts", "node_modules/rxjs/src/internal/operators/map.ts", "node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "node_modules/rxjs/src/internal/util/createObject.ts", "node_modules/rxjs/src/internal/observable/combineLatest.ts", "node_modules/rxjs/src/internal/operators/mergeInternals.ts", "node_modules/rxjs/src/internal/operators/mergeMap.ts", "node_modules/rxjs/src/internal/operators/mergeAll.ts", "node_modules/rxjs/src/internal/operators/concatAll.ts", "node_modules/rxjs/src/internal/observable/concat.ts", "node_modules/rxjs/src/internal/observable/defer.ts", "node_modules/rxjs/src/internal/observable/fromEvent.ts", "node_modules/rxjs/src/internal/observable/fromEventPattern.ts", "node_modules/rxjs/src/internal/observable/timer.ts", "node_modules/rxjs/src/internal/observable/merge.ts", "node_modules/rxjs/src/internal/observable/never.ts", "node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "node_modules/rxjs/src/internal/operators/filter.ts", "node_modules/rxjs/src/internal/observable/zip.ts", "node_modules/rxjs/src/internal/operators/audit.ts", "node_modules/rxjs/src/internal/operators/auditTime.ts", "node_modules/rxjs/src/internal/operators/bufferCount.ts", "node_modules/rxjs/src/internal/operators/catchError.ts", "node_modules/rxjs/src/internal/operators/scanInternals.ts", "node_modules/rxjs/src/internal/operators/combineLatest.ts", "node_modules/rxjs/src/internal/operators/combineLatestWith.ts", "node_modules/rxjs/src/internal/operators/debounceTime.ts", "node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts", "node_modules/rxjs/src/internal/operators/take.ts", "node_modules/rxjs/src/internal/operators/ignoreElements.ts", "node_modules/rxjs/src/internal/operators/mapTo.ts", "node_modules/rxjs/src/internal/operators/delayWhen.ts", "node_modules/rxjs/src/internal/operators/delay.ts", "node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "node_modules/rxjs/src/internal/operators/throwIfEmpty.ts", "node_modules/rxjs/src/internal/operators/endWith.ts", "node_modules/rxjs/src/internal/operators/finalize.ts", "node_modules/rxjs/src/internal/operators/first.ts", "node_modules/rxjs/src/internal/operators/takeLast.ts", "node_modules/rxjs/src/internal/operators/merge.ts", "node_modules/rxjs/src/internal/operators/mergeWith.ts", "node_modules/rxjs/src/internal/operators/repeat.ts", "node_modules/rxjs/src/internal/operators/scan.ts", "node_modules/rxjs/src/internal/operators/share.ts", "node_modules/rxjs/src/internal/operators/shareReplay.ts", "node_modules/rxjs/src/internal/operators/skip.ts", "node_modules/rxjs/src/internal/operators/skipUntil.ts", "node_modules/rxjs/src/internal/operators/startWith.ts", "node_modules/rxjs/src/internal/operators/switchMap.ts", "node_modules/rxjs/src/internal/operators/takeUntil.ts", "node_modules/rxjs/src/internal/operators/takeWhile.ts", "node_modules/rxjs/src/internal/operators/tap.ts", "node_modules/rxjs/src/internal/operators/throttle.ts", "node_modules/rxjs/src/internal/operators/throttleTime.ts", "node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "node_modules/rxjs/src/internal/operators/zip.ts", "node_modules/rxjs/src/internal/operators/zipWith.ts", "src/templates/assets/javascripts/browser/document/index.ts", "src/templates/assets/javascripts/browser/element/_/index.ts", "src/templates/assets/javascripts/browser/element/focus/index.ts", "src/templates/assets/javascripts/browser/element/hover/index.ts", "src/templates/assets/javascripts/browser/element/offset/_/index.ts", "src/templates/assets/javascripts/browser/element/offset/content/index.ts", "src/templates/assets/javascripts/utilities/h/index.ts", "src/templates/assets/javascripts/utilities/round/index.ts", "src/templates/assets/javascripts/browser/script/index.ts", "src/templates/assets/javascripts/browser/element/size/_/index.ts", "src/templates/assets/javascripts/browser/element/size/content/index.ts", "src/templates/assets/javascripts/browser/element/visibility/index.ts", "src/templates/assets/javascripts/browser/toggle/index.ts", "src/templates/assets/javascripts/browser/keyboard/index.ts", "src/templates/assets/javascripts/browser/location/_/index.ts", "src/templates/assets/javascripts/browser/location/hash/index.ts", "src/templates/assets/javascripts/browser/media/index.ts", "src/templates/assets/javascripts/browser/request/index.ts", "src/templates/assets/javascripts/browser/viewport/offset/index.ts", "src/templates/assets/javascripts/browser/viewport/size/index.ts", "src/templates/assets/javascripts/browser/viewport/_/index.ts", "src/templates/assets/javascripts/browser/viewport/at/index.ts", "src/templates/assets/javascripts/browser/worker/index.ts", "src/templates/assets/javascripts/_/index.ts", "src/templates/assets/javascripts/components/_/index.ts", "src/templates/assets/javascripts/components/announce/index.ts", "src/templates/assets/javascripts/components/consent/index.ts", "src/templates/assets/javascripts/templates/tooltip/index.tsx", "src/templates/assets/javascripts/templates/annotation/index.tsx", "src/templates/assets/javascripts/templates/clipboard/index.tsx", "src/templates/assets/javascripts/templates/search/index.tsx", "src/templates/assets/javascripts/templates/source/index.tsx", "src/templates/assets/javascripts/templates/tabbed/index.tsx", "src/templates/assets/javascripts/templates/table/index.tsx", "src/templates/assets/javascripts/templates/version/index.tsx", "src/templates/assets/javascripts/components/tooltip/index.ts", "src/templates/assets/javascripts/components/content/annotation/_/index.ts", "src/templates/assets/javascripts/components/content/annotation/list/index.ts", "src/templates/assets/javascripts/components/content/annotation/block/index.ts", "src/templates/assets/javascripts/components/content/code/_/index.ts", "src/templates/assets/javascripts/components/content/details/index.ts", "src/templates/assets/javascripts/components/content/mermaid/index.css", "src/templates/assets/javascripts/components/content/mermaid/index.ts", "src/templates/assets/javascripts/components/content/table/index.ts", "src/templates/assets/javascripts/components/content/tabs/index.ts", "src/templates/assets/javascripts/components/content/_/index.ts", "src/templates/assets/javascripts/components/dialog/index.ts", "src/templates/assets/javascripts/components/header/_/index.ts", "src/templates/assets/javascripts/components/header/title/index.ts", "src/templates/assets/javascripts/components/main/index.ts", "src/templates/assets/javascripts/components/palette/index.ts", "src/templates/assets/javascripts/components/progress/index.ts", "src/templates/assets/javascripts/integrations/clipboard/index.ts", "src/templates/assets/javascripts/integrations/sitemap/index.ts", "src/templates/assets/javascripts/integrations/instant/index.ts", "src/templates/assets/javascripts/integrations/search/highlighter/index.ts", "src/templates/assets/javascripts/integrations/search/worker/message/index.ts", "src/templates/assets/javascripts/integrations/search/worker/_/index.ts", "src/templates/assets/javascripts/integrations/version/index.ts", "src/templates/assets/javascripts/components/search/query/index.ts", "src/templates/assets/javascripts/components/search/result/index.ts", "src/templates/assets/javascripts/components/search/share/index.ts", "src/templates/assets/javascripts/components/search/suggest/index.ts", "src/templates/assets/javascripts/components/search/_/index.ts", "src/templates/assets/javascripts/components/search/highlight/index.ts", "src/templates/assets/javascripts/components/sidebar/index.ts", "src/templates/assets/javascripts/components/source/facts/github/index.ts", "src/templates/assets/javascripts/components/source/facts/gitlab/index.ts", "src/templates/assets/javascripts/components/source/facts/_/index.ts", "src/templates/assets/javascripts/components/source/_/index.ts", "src/templates/assets/javascripts/components/tabs/index.ts", "src/templates/assets/javascripts/components/toc/index.ts", "src/templates/assets/javascripts/components/top/index.ts", "src/templates/assets/javascripts/patches/ellipsis/index.ts", "src/templates/assets/javascripts/patches/indeterminate/index.ts", "src/templates/assets/javascripts/patches/scrollfix/index.ts", "src/templates/assets/javascripts/patches/scrolllock/index.ts", "src/templates/assets/javascripts/polyfills/index.ts"], + "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. \u00AF\\_(\u30C4)_/\u00AF\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n", "/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*\n * Copyright (c) 2016-2024 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n defer,\n delay,\n filter,\n map,\n merge,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs\"\n\nimport { configuration, feature } from \"./_\"\nimport {\n at,\n getActiveElement,\n getOptionalElement,\n requestJSON,\n setLocation,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchScript,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountAnnounce,\n mountBackToTop,\n mountConsent,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountPalette,\n mountProgress,\n mountSearch,\n mountSearchHiglight,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n SearchIndex,\n setupClipboardJS,\n setupInstantNavigation,\n setupVersionSelector\n} from \"./integrations\"\nimport {\n patchEllipsis,\n patchIndeterminate,\n patchScrollfix,\n patchScrolllock\n} from \"./patches\"\nimport \"./polyfills\"\n\n/* ----------------------------------------------------------------------------\n * Functions - @todo refactor\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @returns Search index observable\n */\nfunction fetchSearchIndex(): Observable {\n if (location.protocol === \"file:\") {\n return watchScript(\n `${new URL(\"search/search_index.js\", config.base)}`\n )\n .pipe(\n // @ts-ignore - @todo fix typings\n map(() => __index),\n shareReplay(1)\n )\n } else {\n return requestJSON(\n new URL(\"search/search_index.json\", config.base)\n )\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables and subjects */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget(location$)\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 960px)\")\nconst screen$ = watchMedia(\"(min-width: 1220px)\")\nconst print$ = watchPrint()\n\n/* Retrieve search index, if search is enabled */\nconst config = configuration()\nconst index$ = document.forms.namedItem(\"search\")\n ? fetchSearchIndex()\n : NEVER\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up progress indicator */\nconst progress$ = new Subject()\n\n/* Set up instant navigation, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantNavigation({ location$, viewport$, progress$ })\n .subscribe(document$)\n\n/* Set up version selector */\nif (config.version?.provider === \"mike\")\n setupVersionSelector({ document$ })\n\n/* Always close drawer and search on navigation */\nmerge(location$, target$)\n .pipe(\n delay(125)\n )\n .subscribe(() => {\n setToggle(\"drawer\", false)\n setToggle(\"search\", false)\n })\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getOptionalElement(\"link[rel=prev]\")\n if (typeof prev !== \"undefined\")\n setLocation(prev)\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getOptionalElement(\"link[rel=next]\")\n if (typeof next !== \"undefined\")\n setLocation(next)\n break\n\n /* Expand navigation, see https://bit.ly/3ZjG5io */\n case \"Enter\":\n const active = getActiveElement()\n if (active instanceof HTMLLabelElement)\n active.click()\n }\n })\n\n/* Set up patches */\npatchEllipsis({ document$ })\npatchIndeterminate({ document$, tablet$ })\npatchScrollfix({ document$ })\npatchScrolllock({ viewport$, tablet$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Consent */\n ...getComponentElements(\"consent\")\n .map(el => mountConsent(el, { target$ })),\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Color palette */\n ...getComponentElements(\"palette\")\n .map(el => mountPalette(el)),\n\n /* Progress bar */\n ...getComponentElements(\"progress\")\n .map(el => mountProgress(el, { progress$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { index$, keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el))\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Announcement bar */\n ...getComponentElements(\"announce\")\n .map(el => mountAnnounce(el)),\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { viewport$, target$, print$ })),\n\n /* Search highlighting */\n ...getComponentElements(\"content\")\n .map(el => feature(\"search.highlight\")\n ? mountSearchHiglight(el, { index$, location$ })\n : EMPTY\n ),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, {\n viewport$, header$, main$, target$\n })),\n\n /* Back-to-top button */\n ...getComponentElements(\"top\")\n .map(el => mountBackToTop(el, { viewport$, header$, main$, target$ }))\n))\n\n/* Set up component observables */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* ----------------------------------------------------------------------------\n * Exports\n * ------------------------------------------------------------------------- */\n\nwindow.document$ = document$ /* Document observable */\nwindow.location$ = location$ /* Location subject */\nwindow.target$ = target$ /* Location target observable */\nwindow.keyboard$ = keyboard$ /* Keyboard observable */\nwindow.viewport$ = viewport$ /* Viewport observable */\nwindow.tablet$ = tablet$ /* Media tablet observable */\nwindow.screen$ = screen$ /* Media screen observable */\nwindow.print$ = print$ /* Media print observable */\nwindow.alert$ = alert$ /* Alert subject */\nwindow.progress$ = progress$ /* Progress indicator subject */\nwindow.component$ = component$ /* Component observable */\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n", "/**\n * Returns true if the object is a function.\n * @param value The value to check\n */\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n", "/**\n * Used to create Error subclasses until the community moves away from ES5.\n *\n * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors\n * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123\n *\n * @param createImpl A factory function to create the actual constructor implementation. The returned\n * function should be a named function that calls `_super` internally.\n */\nexport function createErrorClass(createImpl: (_super: any) => any): T {\n const _super = (instance: any) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface UnsubscriptionError extends Error {\n readonly errors: any[];\n}\n\nexport interface UnsubscriptionErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (errors: any[]): UnsubscriptionError;\n}\n\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(\n (_super) =>\n function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n }\n);\n", "/**\n * Removes an item from an array, mutating it.\n * @param arr The array to remove the item from\n * @param item The item to remove\n */\nexport function arrRemove(arr: T[] | undefined | null, item: T) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { SubscriptionLike, TeardownLogic, Unsubscribable } from './types';\nimport { arrRemove } from './util/arrRemove';\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nexport class Subscription implements SubscriptionLike {\n /** @nocollapse */\n public static EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n */\n public closed = false;\n\n private _parentage: Subscription[] | Subscription | null = null;\n\n /**\n * The list of registered finalizers to execute upon unsubscription. Adding and removing from this\n * list occurs in the {@link #add} and {@link #remove} methods.\n */\n private _finalizers: Exclude[] | null = null;\n\n /**\n * @param initialTeardown A function executed first as part of the finalization\n * process that is kicked off when {@link #unsubscribe} is called.\n */\n constructor(private initialTeardown?: () => void) {}\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n unsubscribe(): void {\n let errors: any[] | undefined;\n\n if (!this.closed) {\n this.closed = true;\n\n // Remove this from it's parents.\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors ?? [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n\n /**\n * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called\n * when this subscription is unsubscribed. If this subscription is already {@link #closed},\n * because it has already been unsubscribed, then whatever finalizer is passed to it\n * will automatically be executed (unless the finalizer itself is also a closed subscription).\n *\n * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed\n * subscription to a any subscription will result in no operation. (A noop).\n *\n * Adding a subscription to itself, or adding `null` or `undefined` will not perform any\n * operation at all. (A noop).\n *\n * `Subscription` instances that are added to this instance will automatically remove themselves\n * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove\n * will need to be removed manually with {@link #remove}\n *\n * @param teardown The finalization logic to add to this subscription.\n */\n add(teardown: TeardownLogic): void {\n // Only add the finalizer if it's not undefined\n // and don't add a subscription to itself.\n if (teardown && teardown !== this) {\n if (this.closed) {\n // If this subscription is already closed,\n // execute whatever finalizer is handed to it automatically.\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n // We don't add closed subscriptions, and we don't add the same subscription\n // twice. Subscription unsubscribe is idempotent.\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = this._finalizers ?? []).push(teardown);\n }\n }\n }\n\n /**\n * Checks to see if a this subscription already has a particular parent.\n * This will signal that this subscription has already been added to the parent in question.\n * @param parent the parent to check for\n */\n private _hasParent(parent: Subscription) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n\n /**\n * Adds a parent to this subscription so it can be removed from the parent if it\n * unsubscribes on it's own.\n *\n * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.\n * @param parent The parent subscription to add\n */\n private _addParent(parent: Subscription) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n\n /**\n * Called on a child when it is removed via {@link #remove}.\n * @param parent The parent to remove\n */\n private _removeParent(parent: Subscription) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n\n /**\n * Removes a finalizer from this subscription that was previously added with the {@link #add} method.\n *\n * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves\n * from every other `Subscription` they have been added to. This means that using the `remove` method\n * is not a common thing and should be used thoughtfully.\n *\n * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance\n * more than once, you will need to call `remove` the same number of times to remove all instances.\n *\n * All finalizer instances are removed to free up memory upon unsubscription.\n *\n * @param teardown The finalizer to remove from this subscription\n */\n remove(teardown: Exclude): void {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\n\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\n\nexport function isSubscription(value: any): value is Subscription {\n return (\n value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe))\n );\n}\n\nfunction execFinalizer(finalizer: Unsubscribable | (() => void)) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n", "import { Subscriber } from './Subscriber';\nimport { ObservableNotification } from './types';\n\n/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config: GlobalConfig = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n\n/**\n * The global configuration object for RxJS, used to configure things\n * like how to react on unhandled errors. Accessible via {@link config}\n * object.\n */\nexport interface GlobalConfig {\n /**\n * A registration point for unhandled errors from RxJS. These are errors that\n * cannot were not handled by consuming code in the usual subscription path. For\n * example, if you have this configured, and you subscribe to an observable without\n * providing an error handler, errors from that subscription will end up here. This\n * will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onUnhandledError: ((err: any) => void) | null;\n\n /**\n * A registration point for notifications that cannot be sent to subscribers because they\n * have completed, errored or have been explicitly unsubscribed. By default, next, complete\n * and error notifications sent to stopped subscribers are noops. However, sometimes callers\n * might want a different behavior. For example, with sources that attempt to report errors\n * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.\n * This will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onStoppedNotification: ((notification: ObservableNotification, subscriber: Subscriber) => void) | null;\n\n /**\n * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}\n * methods.\n *\n * @deprecated As of version 8, RxJS will no longer support this sort of injection of a\n * Promise constructor. If you need a Promise implementation other than native promises,\n * please polyfill/patch Promise as you see appropriate. Will be removed in v8.\n */\n Promise?: PromiseConstructorLike;\n\n /**\n * If true, turns on synchronous error rethrowing, which is a deprecated behavior\n * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe\n * call in a try/catch block. It also enables producer interference, a nasty bug\n * where a multicast can be broken for all observers by a downstream consumer with\n * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME\n * FOR MIGRATION REASONS.\n *\n * @deprecated As of version 8, RxJS will no longer support synchronous throwing\n * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad\n * behaviors described above. Will be removed in v8.\n */\n useDeprecatedSynchronousErrorHandling: boolean;\n\n /**\n * If true, enables an as-of-yet undocumented feature from v5: The ability to access\n * `unsubscribe()` via `this` context in `next` functions created in observers passed\n * to `subscribe`.\n *\n * This is being removed because the performance was severely problematic, and it could also cause\n * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have\n * their `this` context overwritten.\n *\n * @deprecated As of version 8, RxJS will no longer support altering the\n * context of next functions provided as part of an observer to Subscribe. Instead,\n * you will have access to a subscription or a signal or token that will allow you to do things like\n * unsubscribe and test closed status. Will be removed in v8.\n */\n useDeprecatedNextContext: boolean;\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearTimeoutFunction = (handle: TimerHandle) => void;\n\ninterface TimeoutProvider {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n delegate:\n | {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n }\n | undefined;\n}\n\nexport const timeoutProvider: TimeoutProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setTimeout(handler: () => void, timeout?: number, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate?.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return (delegate?.clearTimeout || clearTimeout)(handle as any);\n },\n delegate: undefined,\n};\n", "import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\n\n/**\n * Handles an error on another job either with the user-configured {@link onUnhandledError},\n * or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.\n *\n * This should be called whenever there is an error that is out-of-band with the subscription\n * or when an error hits a terminal boundary of the subscription and no error handler was provided.\n *\n * @param err the error to report\n */\nexport function reportUnhandledError(err: any) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n // Execute the user-configured error handler.\n onUnhandledError(err);\n } else {\n // Throw so it is picked up by the runtime's uncaught error mechanism.\n throw err;\n }\n });\n}\n", "/* tslint:disable:no-empty */\nexport function noop() { }\n", "import { CompleteNotification, NextNotification, ErrorNotification } from './types';\n\n/**\n * A completion object optimized for memory use and created to be the\n * same \"shape\" as other notifications in v8.\n * @internal\n */\nexport const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined) as CompleteNotification)();\n\n/**\n * Internal use only. Creates an optimized error notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function errorNotification(error: any): ErrorNotification {\n return createNotification('E', undefined, error) as any;\n}\n\n/**\n * Internal use only. Creates an optimized next notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function nextNotification(value: T) {\n return createNotification('N', value, undefined) as NextNotification;\n}\n\n/**\n * Ensures that all notifications created internally have the same \"shape\" in v8.\n *\n * TODO: This is only exported to support a crazy legacy test in `groupBy`.\n * @internal\n */\nexport function createNotification(kind: 'N' | 'E' | 'C', value: any, error: any) {\n return {\n kind,\n value,\n error,\n };\n}\n", "import { config } from '../config';\n\nlet context: { errorThrown: boolean; error: any } | null = null;\n\n/**\n * Handles dealing with errors for super-gross mode. Creates a context, in which\n * any synchronously thrown errors will be passed to {@link captureError}. Which\n * will record the error such that it will be rethrown after the call back is complete.\n * TODO: Remove in v8\n * @param cb An immediately executed function.\n */\nexport function errorContext(cb: () => void) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context!;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n // This is the general non-deprecated path for everyone that\n // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)\n cb();\n }\n}\n\n/**\n * Captures errors only in super-gross mode.\n * @param err the error to capture\n */\nexport function captureError(err: any) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { Observer, ObservableNotification } from './types';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber\n */\nexport class Subscriber extends Subscription implements Observer {\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param next The `next` callback of an Observer.\n * @param error The `error` callback of an\n * Observer.\n * @param complete The `complete` callback of an\n * Observer.\n * @return A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n * @nocollapse\n * @deprecated Do not use. Will be removed in v8. There is no replacement for this\n * method, and there is no reason to be creating instances of `Subscriber` directly.\n * If you have a specific use case, please file an issue.\n */\n static create(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber {\n return new SafeSubscriber(next, error, complete);\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected isStopped: boolean = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected destination: Subscriber | Observer; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.\n */\n constructor(destination?: Subscriber | Observer) {\n super();\n if (destination) {\n this.destination = destination;\n // Automatically chain subscriptions together here.\n // if destination is a Subscription, then it is a Subscriber.\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n next(value?: T): void {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value!);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached `Error`. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n error(err?: any): void {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n complete(): void {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null!;\n }\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n\n protected _complete(): void {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\n\n/**\n * This bind is captured here because we want to be able to have\n * compatibility with monoid libraries that tend to use a method named\n * `bind`. In particular, a library called Monio requires this.\n */\nconst _bind = Function.prototype.bind;\n\nfunction bind any>(fn: Fn, thisArg: any): Fn {\n return _bind.call(fn, thisArg);\n}\n\n/**\n * Internal optimization only, DO NOT EXPOSE.\n * @internal\n */\nclass ConsumerObserver implements Observer {\n constructor(private partialObserver: Partial>) {}\n\n next(value: T): void {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n\n error(err: any): void {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n\n complete(): void {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\n\nexport class SafeSubscriber extends Subscriber {\n constructor(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((e?: any) => void) | null,\n complete?: (() => void) | null\n ) {\n super();\n\n let partialObserver: Partial>;\n if (isFunction(observerOrNext) || !observerOrNext) {\n // The first argument is a function, not an observer. The next\n // two arguments *could* be observers, or they could be empty.\n partialObserver = {\n next: (observerOrNext ?? undefined) as (((value: T) => void) | undefined),\n error: error ?? undefined,\n complete: complete ?? undefined,\n };\n } else {\n // The first argument is a partial observer.\n let context: any;\n if (this && config.useDeprecatedNextContext) {\n // This is a deprecated path that made `this.unsubscribe()` available in\n // next handler functions passed to subscribe. This only exists behind a flag\n // now, as it is *very* slow.\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n } else {\n // The \"normal\" path. Just use the partial observer directly.\n partialObserver = observerOrNext;\n }\n }\n\n // Wrap the partial observer to ensure it's a full observer, and\n // make sure proper error handling is accounted for.\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\n\nfunction handleUnhandledError(error: any) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n // Ideal path, we report this as an unhandled error,\n // which is thrown on a new call stack.\n reportUnhandledError(error);\n }\n}\n\n/**\n * An error handler used when no error handler was supplied\n * to the SafeSubscriber -- meaning no error handler was supplied\n * do the `subscribe` call on our observable.\n * @param err The error to handle\n */\nfunction defaultErrorHandler(err: any) {\n throw err;\n}\n\n/**\n * A handler for notifications that cannot be sent to a stopped subscriber.\n * @param notification The notification being sent\n * @param subscriber The stopped subscriber\n */\nfunction handleStoppedNotification(notification: ObservableNotification, subscriber: Subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n\n/**\n * The observer used as a stub for subscriptions where the user did not\n * pass any arguments to `subscribe`. Comes with the default error handling\n * behavior.\n */\nexport const EMPTY_OBSERVER: Readonly> & { closed: true } = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n", "/**\n * Symbol.observable or a string \"@@observable\". Used for interop\n *\n * @deprecated We will no longer be exporting this symbol in upcoming versions of RxJS.\n * Instead polyfill and use Symbol.observable directly *or* use https://www.npmjs.com/package/symbol-observable\n */\nexport const observable: string | symbol = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n", "/**\n * This function takes one parameter and just returns it. Simply put,\n * this is like `(x: T): T => x`.\n *\n * ## Examples\n *\n * This is useful in some cases when using things like `mergeMap`\n *\n * ```ts\n * import { interval, take, map, range, mergeMap, identity } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(5));\n *\n * const result$ = source$.pipe(\n * map(i => range(i)),\n * mergeMap(identity) // same as mergeMap(x => x)\n * );\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * Or when you want to selectively apply an operator\n *\n * ```ts\n * import { interval, take, identity } from 'rxjs';\n *\n * const shouldLimit = () => Math.random() < 0.5;\n *\n * const source$ = interval(1000);\n *\n * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * @param x Any value that is returned by this function\n * @returns The value passed as the first parameter to this function\n */\nexport function identity(x: T): T {\n return x;\n}\n", "import { identity } from './identity';\nimport { UnaryFunction } from '../types';\n\nexport function pipe(): typeof identity;\nexport function pipe(fn1: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction, fn3: UnaryFunction): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction,\n ...fns: UnaryFunction[]\n): UnaryFunction;\n\n/**\n * pipe() can be called on one or more functions, each of which can take one argument (\"UnaryFunction\")\n * and uses it to return a value.\n * It returns a function that takes one argument, passes it to the first UnaryFunction, and then\n * passes the result to the next one, passes that result to the next one, and so on. \n */\nexport function pipe(...fns: Array>): UnaryFunction {\n return pipeFromArray(fns);\n}\n\n/** @internal */\nexport function pipeFromArray(fns: Array>): UnaryFunction {\n if (fns.length === 0) {\n return identity as UnaryFunction;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction) => fn(prev), input as any);\n };\n}\n", "import { Operator } from './Operator';\nimport { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription, Subscription } from './Subscription';\nimport { TeardownLogic, OperatorFunction, Subscribable, Observer } from './types';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n *\n * @class Observable\n */\nexport class Observable implements Subscribable {\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n source: Observable | undefined;\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n operator: Operator | undefined;\n\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new Observable by calling the Observable constructor\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new observable\n * @nocollapse\n * @deprecated Use `new Observable()` instead. Will be removed in v8.\n */\n static create: (...args: any[]) => any = (subscribe?: (subscriber: Subscriber) => TeardownLogic) => {\n return new Observable(subscribe);\n };\n\n /**\n * Creates a new Observable, with this Observable instance as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param operator the operator defining the operation to take on the observable\n * @return a new observable with the Operator applied\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * If you have implemented an operator using `lift`, it is recommended that you create an\n * operator by simply returning `new Observable()` directly. See \"Creating new operators from\n * scratch\" section here: https://rxjs.dev/guide/operators\n */\n lift(operator?: Operator): Observable {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observerOrNext?: Partial> | ((value: T) => void)): Subscription;\n /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */\n subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to Observable's constructor, but most of the time it is\n * a library implementation, which defines what will be emitted by an Observable, and when it be will emitted. This means\n * that calling `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * the thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * of the following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular, do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, if the `error` method is not provided and an error happens,\n * it will be thrown asynchronously. Errors thrown asynchronously cannot be caught using `try`/`catch`. Instead,\n * use the {@link onUnhandledError} configuration option or use a runtime handler (like `window.onerror` or\n * `process.on('error)`) to be notified of unhandled errors. Because of this, it's recommended that you provide\n * an `error` method to avoid missing thrown errors.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where the first function is equivalent\n * of a `next` method, the second of an `error` method and the third of a `complete` method. Just as in case of an Observer,\n * if you do not need to listen for something, you can omit a function by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to the `error` function, as with an Observer, if not provided, errors emitted by an Observable will be thrown asynchronously.\n *\n * You can, however, subscribe with no parameters at all. This may be the case where you're not interested in terminal events\n * and you also handled emissions internally by using operators (e.g. using `tap`).\n *\n * Whichever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop the work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a `scheduler`.\n *\n * #### Examples\n *\n * Subscribe with an {@link guide/observer Observer}\n *\n * ```ts\n * import { of } from 'rxjs';\n *\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() {\n * // We actually could just remove this method,\n * // since we do not really care about errors right now.\n * },\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Subscribe with functions ({@link deprecations/subscribe-arguments deprecated})\n *\n * ```ts\n * import { of } from 'rxjs'\n *\n * let sum = 0;\n *\n * of(1, 2, 3).subscribe(\n * value => {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * () => console.log('Sum equals: ' + sum)\n * );\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Cancel a subscription\n *\n * ```ts\n * import { interval } from 'rxjs';\n *\n * const subscription = interval(1000).subscribe({\n * next(num) {\n * console.log(num)\n * },\n * complete() {\n * // Will not be called, even when cancelling subscription.\n * console.log('completed!');\n * }\n * });\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 'unsubscribed!' after 2.5s\n * ```\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown asynchronously as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {Subscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n subscribe(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((error: any) => void) | null,\n complete?: (() => void) | null\n ): Subscription {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(\n operator\n ? // We're dealing with a subscription in the\n // operator chain to one of our lifted operators.\n operator.call(subscriber, source)\n : source\n ? // If `source` has a value, but `operator` does not, something that\n // had intimate knowledge of our API, like our `Subject`, must have\n // set it. We're going to just call `_subscribe` directly.\n this._subscribe(subscriber)\n : // In all other cases, we're likely wrapping a user-provided initializer\n // function, so we need to catch errors and handle them appropriately.\n this._trySubscribe(subscriber)\n );\n });\n\n return subscriber;\n }\n\n /** @internal */\n protected _trySubscribe(sink: Subscriber): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n // We don't need to return anything in this case,\n // because it's just going to try to `add()` to a subscription\n // above.\n sink.error(err);\n }\n }\n\n /**\n * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with\n * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * #### Example\n *\n * ```ts\n * import { interval, take } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(4));\n *\n * async function getTotal() {\n * let total = 0;\n *\n * await source$.forEach(value => {\n * total += value;\n * console.log('observable -> ' + value);\n * });\n *\n * return total;\n * }\n *\n * getTotal().then(\n * total => console.log('Total: ' + total)\n * );\n *\n * // Expected:\n * // 'observable -> 0'\n * // 'observable -> 1'\n * // 'observable -> 2'\n * // 'observable -> 3'\n * // 'Total: 6'\n * ```\n *\n * @param next a handler for each value emitted by the observable\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n forEach(next: (value: T) => void): Promise;\n\n /**\n * @param next a handler for each value emitted by the observable\n * @param promiseCtor a constructor function used to instantiate the Promise\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n * @deprecated Passing a Promise constructor will no longer be available\n * in upcoming versions of RxJS. This is because it adds weight to the library, for very\n * little benefit. If you need this functionality, it is recommended that you either\n * polyfill Promise, or you create an adapter to convert the returned native promise\n * to whatever promise implementation you wanted. Will be removed in v8.\n */\n forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise;\n\n forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n }) as Promise;\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): TeardownLogic {\n return this.source?.subscribe(subscriber);\n }\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable;\n pipe(op1: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction,\n ...operations: OperatorFunction[]\n ): Observable;\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * ## Example\n *\n * ```ts\n * import { interval, filter, map, scan } from 'rxjs';\n *\n * interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x));\n * ```\n */\n pipe(...operations: OperatorFunction[]): Observable {\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: typeof Promise): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: PromiseConstructorLike): Promise;\n /* tslint:enable:max-line-length */\n\n /**\n * Subscribe to this Observable and get a Promise resolving on\n * `complete` with the last emission (if any).\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * @method toPromise\n * @param [promiseCtor] a constructor function used to instantiate\n * the Promise\n * @return A Promise that resolves with the last value emit, or\n * rejects on an error. If there were no emissions, Promise\n * resolves with undefined.\n * @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise\n */\n toPromise(promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n let value: T | undefined;\n this.subscribe(\n (x: T) => (value = x),\n (err: any) => reject(err),\n () => resolve(value)\n );\n }) as Promise;\n }\n}\n\n/**\n * Decides between a passed promise constructor from consuming code,\n * A default configured promise constructor, and the native promise\n * constructor and returns it. If nothing can be found, it will throw\n * an error.\n * @param promiseCtor The optional promise constructor to passed by consuming code\n */\nfunction getPromiseCtor(promiseCtor: PromiseConstructorLike | undefined) {\n return promiseCtor ?? config.Promise ?? Promise;\n}\n\nfunction isObserver(value: any): value is Observer {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber(value: any): value is Subscriber {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n", "import { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { OperatorFunction } from '../types';\nimport { isFunction } from './isFunction';\n\n/**\n * Used to determine if an object is an Observable with a lift function.\n */\nexport function hasLift(source: any): source is { lift: InstanceType['lift'] } {\n return isFunction(source?.lift);\n}\n\n/**\n * Creates an `OperatorFunction`. Used to define operators throughout the library in a concise way.\n * @param init The logic to connect the liftedSource to the subscriber at the moment of subscription.\n */\nexport function operate(\n init: (liftedSource: Observable, subscriber: Subscriber) => (() => void) | void\n): OperatorFunction {\n return (source: Observable) => {\n if (hasLift(source)) {\n return source.lift(function (this: Subscriber, liftedSource: Observable) {\n try {\n return init(liftedSource, this);\n } catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n", "import { Subscriber } from '../Subscriber';\n\n/**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional teardown logic here. This will only be called on teardown if the\n * subscriber itself is not already closed. This is called after all other teardown logic is executed.\n */\nexport function createOperatorSubscriber(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n onFinalize?: () => void\n): Subscriber {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\n\n/**\n * A generic helper for allowing operators to be created with a Subscriber and\n * use closures to capture necessary state from the operator function itself.\n */\nexport class OperatorSubscriber extends Subscriber {\n /**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional finalization logic here. This will only be called on finalization if the\n * subscriber itself is not already closed. This is called after all other finalization logic is executed.\n * @param shouldUnsubscribe An optional check to see if an unsubscribe call should truly unsubscribe.\n * NOTE: This currently **ONLY** exists to support the strange behavior of {@link groupBy}, where unsubscription\n * to the resulting observable does not actually disconnect from the source if there are active subscriptions\n * to any grouped observable. (DO NOT EXPOSE OR USE EXTERNALLY!!!)\n */\n constructor(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n private onFinalize?: () => void,\n private shouldUnsubscribe?: () => boolean\n ) {\n // It's important - for performance reasons - that all of this class's\n // members are initialized and that they are always initialized in the same\n // order. This will ensure that all OperatorSubscriber instances have the\n // same hidden class in V8. This, in turn, will help keep the number of\n // hidden classes involved in property accesses within the base class as\n // low as possible. If the number of hidden classes involved exceeds four,\n // the property accesses will become megamorphic and performance penalties\n // will be incurred - i.e. inline caches won't be used.\n //\n // The reasons for ensuring all instances have the same hidden class are\n // further discussed in this blog post from Benedikt Meurer:\n // https://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/\n super(destination);\n this._next = onNext\n ? function (this: OperatorSubscriber, value: T) {\n try {\n onNext(value);\n } catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (this: OperatorSubscriber, err: any) {\n try {\n onError(err);\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function (this: OperatorSubscriber) {\n try {\n onComplete();\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n\n unsubscribe() {\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n // Execute additional teardown if we have any and we didn't already do so.\n !closed && this.onFinalize?.();\n }\n }\n}\n", "import { Subscription } from '../Subscription';\n\ninterface AnimationFrameProvider {\n schedule(callback: FrameRequestCallback): Subscription;\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n delegate:\n | {\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n }\n | undefined;\n}\n\nexport const animationFrameProvider: AnimationFrameProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel: typeof cancelAnimationFrame | undefined = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n // Clear the cancel function. The request has been fulfilled, so\n // attempting to cancel the request upon unsubscription would be\n // pointless.\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel?.(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface ObjectUnsubscribedError extends Error {}\n\nexport interface ObjectUnsubscribedErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (): ObjectUnsubscribedError;\n}\n\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport const ObjectUnsubscribedError: ObjectUnsubscribedErrorCtor = createErrorClass(\n (_super) =>\n function ObjectUnsubscribedErrorImpl(this: any) {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n }\n);\n", "import { Operator } from './Operator';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { Observer, SubscriptionLike, TeardownLogic } from './types';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A Subject is a special type of Observable that allows values to be\n * multicasted to many Observers. Subjects are like EventEmitters.\n *\n * Every Subject is an Observable and an Observer. You can subscribe to a\n * Subject, and you can call next to feed values as well as error and complete.\n */\nexport class Subject extends Observable implements SubscriptionLike {\n closed = false;\n\n private currentObservers: Observer[] | null = null;\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n observers: Observer[] = [];\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n isStopped = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n hasError = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n thrownError: any = null;\n\n /**\n * Creates a \"subject\" by basically gluing an observer to an observable.\n *\n * @nocollapse\n * @deprecated Recommended you do not use. Will be removed at some point in the future. Plans for replacement still under discussion.\n */\n static create: (...args: any[]) => any = (destination: Observer, source: Observable): AnonymousSubject => {\n return new AnonymousSubject(destination, source);\n };\n\n constructor() {\n // NOTE: This must be here to obscure Observable's constructor.\n super();\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n lift(operator: Operator): Observable {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator as any;\n return subject as any;\n }\n\n /** @internal */\n protected _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n\n next(value: T) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n\n error(err: any) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.error(err);\n }\n }\n });\n }\n\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.complete();\n }\n }\n });\n }\n\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null!;\n }\n\n get observed() {\n return this.observers?.length > 0;\n }\n\n /** @internal */\n protected _trySubscribe(subscriber: Subscriber): TeardownLogic {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n\n /** @internal */\n protected _innerSubscribe(subscriber: Subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n\n /** @internal */\n protected _checkFinalizedStatuses(subscriber: Subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n }\n\n /**\n * Creates a new Observable with this Subject as the source. You can do this\n * to create custom Observer-side logic of the Subject and conceal it from\n * code that uses the Observable.\n * @return {Observable} Observable that the Subject casts to\n */\n asObservable(): Observable {\n const observable: any = new Observable();\n observable.source = this;\n return observable;\n }\n}\n\n/**\n * @class AnonymousSubject\n */\nexport class AnonymousSubject extends Subject {\n constructor(\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n public destination?: Observer,\n source?: Observable\n ) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n this.destination?.next?.(value);\n }\n\n error(err: any) {\n this.destination?.error?.(err);\n }\n\n complete() {\n this.destination?.complete?.();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n return this.source?.subscribe(subscriber) ?? EMPTY_SUBSCRIPTION;\n }\n}\n", "import { TimestampProvider } from '../types';\n\ninterface DateTimestampProvider extends TimestampProvider {\n delegate: TimestampProvider | undefined;\n}\n\nexport const dateTimestampProvider: DateTimestampProvider = {\n now() {\n // Use the variable rather than `this` so that the function can be called\n // without being bound to the provider.\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n", "import { Subject } from './Subject';\nimport { TimestampProvider } from './types';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * A variant of {@link Subject} that \"replays\" old values to new subscribers by emitting them when they first subscribe.\n *\n * `ReplaySubject` has an internal buffer that will store a specified number of values that it has observed. Like `Subject`,\n * `ReplaySubject` \"observes\" values by having them passed to its `next` method. When it observes a value, it will store that\n * value for a time determined by the configuration of the `ReplaySubject`, as passed to its constructor.\n *\n * When a new subscriber subscribes to the `ReplaySubject` instance, it will synchronously emit all values in its buffer in\n * a First-In-First-Out (FIFO) manner. The `ReplaySubject` will also complete, if it has observed completion; and it will\n * error if it has observed an error.\n *\n * There are two main configuration items to be concerned with:\n *\n * 1. `bufferSize` - This will determine how many items are stored in the buffer, defaults to infinite.\n * 2. `windowTime` - The amount of time to hold a value in the buffer before removing it from the buffer.\n *\n * Both configurations may exist simultaneously. So if you would like to buffer a maximum of 3 values, as long as the values\n * are less than 2 seconds old, you could do so with a `new ReplaySubject(3, 2000)`.\n *\n * ### Differences with BehaviorSubject\n *\n * `BehaviorSubject` is similar to `new ReplaySubject(1)`, with a couple of exceptions:\n *\n * 1. `BehaviorSubject` comes \"primed\" with a single value upon construction.\n * 2. `ReplaySubject` will replay values, even after observing an error, where `BehaviorSubject` will not.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n * @see {@link shareReplay}\n */\nexport class ReplaySubject extends Subject {\n private _buffer: (T | number)[] = [];\n private _infiniteTimeWindow = true;\n\n /**\n * @param bufferSize The size of the buffer to replay on subscription\n * @param windowTime The amount of time the buffered items will stay buffered\n * @param timestampProvider An object with a `now()` method that provides the current timestamp. This is used to\n * calculate the amount of time something has been buffered.\n */\n constructor(\n private _bufferSize = Infinity,\n private _windowTime = Infinity,\n private _timestampProvider: TimestampProvider = dateTimestampProvider\n ) {\n super();\n this._infiniteTimeWindow = _windowTime === Infinity;\n this._bufferSize = Math.max(1, _bufferSize);\n this._windowTime = Math.max(1, _windowTime);\n }\n\n next(value: T): void {\n const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n super.next(value);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._trimBuffer();\n\n const subscription = this._innerSubscribe(subscriber);\n\n const { _infiniteTimeWindow, _buffer } = this;\n // We use a copy here, so reentrant code does not mutate our array while we're\n // emitting it to a new subscriber.\n const copy = _buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i] as T);\n }\n\n this._checkFinalizedStatuses(subscriber);\n\n return subscription;\n }\n\n private _trimBuffer() {\n const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;\n // If we don't have an infinite buffer size, and we're over the length,\n // use splice to truncate the old buffer values off. Note that we have to\n // double the size for instances where we're not using an infinite time window\n // because we're storing the values and the timestamps in the same array.\n const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n\n // Now, if we're not in an infinite time window, remove all values where the time is\n // older than what is allowed.\n if (!_infiniteTimeWindow) {\n const now = _timestampProvider.now();\n let last = 0;\n // Search the array for the first timestamp that isn't expired and\n // truncate the buffer up to that point.\n for (let i = 1; i < _buffer.length && (_buffer[i] as number) <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Subscription } from '../Subscription';\nimport { SchedulerAction } from '../types';\n\n/**\n * A unit of work to be executed in a `scheduler`. An action is typically\n * created from within a {@link SchedulerLike} and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action extends Subscription {\n * new (scheduler: Scheduler, work: (state?: T) => void);\n * schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n *\n * @class Action\n */\nexport class Action extends Subscription {\n constructor(scheduler: Scheduler, work: (this: SchedulerAction, state?: T) => void) {\n super();\n }\n /**\n * Schedules this action on its parent {@link SchedulerLike} for execution. May be passed\n * some context object, `state`. May happen at some point in the future,\n * according to the `delay` parameter, if specified.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler.\n * @return {void}\n */\n public schedule(state?: T, delay: number = 0): Subscription {\n return this;\n }\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetIntervalFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearIntervalFunction = (handle: TimerHandle) => void;\n\ninterface IntervalProvider {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n delegate:\n | {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n }\n | undefined;\n}\n\nexport const intervalProvider: IntervalProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setInterval(handler: () => void, timeout?: number, ...args) {\n const { delegate } = intervalProvider;\n if (delegate?.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return (delegate?.clearInterval || clearInterval)(handle as any);\n },\n delegate: undefined,\n};\n", "import { Action } from './Action';\nimport { SchedulerAction } from '../types';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncAction extends Action {\n public id: TimerHandle | undefined;\n public state?: T;\n // @ts-ignore: Property has no initializer and is not definitely assigned\n public delay: number;\n protected pending: boolean = false;\n\n constructor(protected scheduler: AsyncScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (this.closed) {\n return this;\n }\n\n // Always replace the current state with the new state.\n this.state = state;\n\n const id = this.id;\n const scheduler = this.scheduler;\n\n //\n // Important implementation note:\n //\n // Actions only execute once by default, unless rescheduled from within the\n // scheduled callback. This allows us to implement single and repeat\n // actions via the same code path, without adding API surface area, as well\n // as mimic traditional recursion but across asynchronous boundaries.\n //\n // However, JS runtimes and timers distinguish between intervals achieved by\n // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n // serial `setTimeout` calls can be individually delayed, which delays\n // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n // guarantee the interval callback will be invoked more precisely to the\n // interval period, regardless of load.\n //\n // Therefore, we use `setInterval` to schedule single and repeat actions.\n // If the action reschedules itself with the same delay, the interval is not\n // canceled. If the action doesn't reschedule, or reschedules with a\n // different delay, the interval will be canceled after scheduled callback\n // execution.\n //\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n\n // Set the pending flag indicating that this action has been scheduled, or\n // has recursively rescheduled itself.\n this.pending = true;\n\n this.delay = delay;\n // If this action has already an async Id, don't request a new one.\n this.id = this.id ?? this.requestAsyncId(scheduler, this.id, delay);\n\n return this;\n }\n\n protected requestAsyncId(scheduler: AsyncScheduler, _id?: TimerHandle, delay: number = 0): TimerHandle {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n\n protected recycleAsyncId(_scheduler: AsyncScheduler, id?: TimerHandle, delay: number | null = 0): TimerHandle | undefined {\n // If this action is rescheduled with the same delay time, don't clear the interval id.\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n // Otherwise, if the action's delay time is different from the current delay,\n // or the action has been rescheduled before it's executed, clear the interval id\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n\n return undefined;\n }\n\n /**\n * Immediately executes this action and the `work` it contains.\n * @return {any}\n */\n public execute(state: T, delay: number): any {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n } else if (this.pending === false && this.id != null) {\n // Dequeue if the action didn't reschedule itself. Don't call\n // unsubscribe(), because the action could reschedule later.\n // For example:\n // ```\n // scheduler.schedule(function doWork(counter) {\n // /* ... I'm a busy worker bee ... */\n // var originalAction = this;\n // /* wait 100ms before rescheduling the action */\n // setTimeout(function () {\n // originalAction.schedule(counter + 1);\n // }, 100);\n // }, 1000);\n // ```\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n\n protected _execute(state: T, _delay: number): any {\n let errored: boolean = false;\n let errorValue: any;\n try {\n this.work(state);\n } catch (e) {\n errored = true;\n // HACK: Since code elsewhere is relying on the \"truthiness\" of the\n // return here, we can't have it return \"\" or 0 or false.\n // TODO: Clean this up when we refactor schedulers mid-version-8 or so.\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n\n this.work = this.state = this.scheduler = null!;\n this.pending = false;\n\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n\n this.delay = null!;\n super.unsubscribe();\n }\n }\n}\n", "import { Action } from './scheduler/Action';\nimport { Subscription } from './Subscription';\nimport { SchedulerLike, SchedulerAction } from './types';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an `Action`.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n * @deprecated Scheduler is an internal implementation detail of RxJS, and\n * should not be used directly. Rather, create your own class and implement\n * {@link SchedulerLike}. Will be made internal in v8.\n */\nexport class Scheduler implements SchedulerLike {\n public static now: () => number = dateTimestampProvider.now;\n\n constructor(private schedulerActionCtor: typeof Action, now: () => number = Scheduler.now) {\n this.now = now;\n }\n\n /**\n * A getter method that returns a number representing the current time\n * (at the time this function was called) according to the scheduler's own\n * internal clock.\n * @return {number} A number that represents the current time. May or may not\n * have a relation to wall-clock time. May or may not refer to a time unit\n * (e.g. milliseconds).\n */\n public now: () => number;\n\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param {function(state: ?T): ?Subscription} work A function representing a\n * task, or some unit of work to be executed by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler itself.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @return {Subscription} A subscription in order to be able to unsubscribe\n * the scheduled work.\n */\n public schedule(work: (this: SchedulerAction, state?: T) => void, delay: number = 0, state?: T): Subscription {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Action } from './Action';\nimport { AsyncAction } from './AsyncAction';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncScheduler extends Scheduler {\n public actions: Array> = [];\n /**\n * A flag to indicate whether the Scheduler is currently executing a batch of\n * queued actions.\n * @type {boolean}\n * @internal\n */\n public _active: boolean = false;\n /**\n * An internal ID used to track the latest asynchronous task such as those\n * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n * others.\n * @type {any}\n * @internal\n */\n public _scheduled: TimerHandle | undefined;\n\n constructor(SchedulerAction: typeof Action, now: () => number = Scheduler.now) {\n super(SchedulerAction, now);\n }\n\n public flush(action: AsyncAction): void {\n const { actions } = this;\n\n if (this._active) {\n actions.push(action);\n return;\n }\n\n let error: any;\n this._active = true;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()!)); // exhaust the scheduler queue\n\n this._active = false;\n\n if (error) {\n while ((action = actions.shift()!)) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\n/**\n *\n * Async Scheduler\n *\n * Schedule task as if you used setTimeout(task, duration)\n *\n * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript\n * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating\n * in intervals.\n *\n * If you just want to \"defer\" task, that is to perform it right after currently\n * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`),\n * better choice will be the {@link asapScheduler} scheduler.\n *\n * ## Examples\n * Use async scheduler to delay task\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * const task = () => console.log('it works!');\n *\n * asyncScheduler.schedule(task, 2000);\n *\n * // After 2 seconds logs:\n * // \"it works!\"\n * ```\n *\n * Use async scheduler to repeat task in intervals\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * function task(state) {\n * console.log(state);\n * this.schedule(state + 1, 1000); // `this` references currently executing Action,\n * // which we reschedule with new state and delay\n * }\n *\n * asyncScheduler.schedule(task, 3000, 0);\n *\n * // Logs:\n * // 0 after 3s\n * // 1 after 4s\n * // 2 after 5s\n * // 3 after 6s\n * ```\n */\n\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\n\n/**\n * @deprecated Renamed to {@link asyncScheduler}. Will be removed in v8.\n */\nexport const async = asyncScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nimport { SchedulerAction } from '../types';\nimport { animationFrameProvider } from './animationFrameProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AnimationFrameAction extends AsyncAction {\n constructor(protected scheduler: AnimationFrameScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If an animation frame has already been requested, don't request another\n // one. If an animation frame hasn't been requested yet, request one. Return\n // the current animation frame request id.\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n\n protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested animation frame and set the scheduled flag to\n // undefined so the next AnimationFrameAction will request its own.\n const { actions } = scheduler;\n if (id != null && actions[actions.length - 1]?.id !== id) {\n animationFrameProvider.cancelAnimationFrame(id as number);\n scheduler._scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AnimationFrameScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n const flushId = this._scheduled;\n this._scheduled = undefined;\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\n\n/**\n *\n * Animation Frame Scheduler\n *\n * Perform task when `window.requestAnimationFrame` would fire\n *\n * When `animationFrame` scheduler is used with delay, it will fall back to {@link asyncScheduler} scheduler\n * behaviour.\n *\n * Without delay, `animationFrame` scheduler can be used to create smooth browser animations.\n * It makes sure scheduled task will happen just before next browser content repaint,\n * thus performing animations as efficiently as possible.\n *\n * ## Example\n * Schedule div height animation\n * ```ts\n * // html:
\n * import { animationFrameScheduler } from 'rxjs';\n *\n * const div = document.querySelector('div');\n *\n * animationFrameScheduler.schedule(function(height) {\n * div.style.height = height + \"px\";\n *\n * this.schedule(height + 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * }, 0, 0);\n *\n * // You will see a div element growing in height\n * ```\n */\n\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\n\n/**\n * @deprecated Renamed to {@link animationFrameScheduler}. Will be removed in v8.\n */\nexport const animationFrame = animationFrameScheduler;\n", "import { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\n\n/**\n * A simple Observable that emits no items to the Observer and immediately\n * emits a complete notification.\n *\n * Just emits 'complete', and nothing else.\n *\n * ![](empty.png)\n *\n * A simple Observable that only emits the complete notification. It can be used\n * for composing with other Observables, such as in a {@link mergeMap}.\n *\n * ## Examples\n *\n * Log complete notification\n *\n * ```ts\n * import { EMPTY } from 'rxjs';\n *\n * EMPTY.subscribe({\n * next: () => console.log('Next'),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Outputs\n * // Complete!\n * ```\n *\n * Emit the number 7, then complete\n *\n * ```ts\n * import { EMPTY, startWith } from 'rxjs';\n *\n * const result = EMPTY.pipe(startWith(7));\n * result.subscribe(x => console.log(x));\n *\n * // Outputs\n * // 7\n * ```\n *\n * Map and flatten only odd numbers to the sequence `'a'`, `'b'`, `'c'`\n *\n * ```ts\n * import { interval, mergeMap, of, EMPTY } from 'rxjs';\n *\n * const interval$ = interval(1000);\n * const result = interval$.pipe(\n * mergeMap(x => x % 2 === 1 ? of('a', 'b', 'c') : EMPTY),\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following to the console:\n * // x is equal to the count on the interval, e.g. (0, 1, 2, 3, ...)\n * // x will occur every 1000ms\n * // if x % 2 is equal to 1, print a, b, c (each on its own)\n * // if x % 2 is not equal to 1, nothing will be output\n * ```\n *\n * @see {@link Observable}\n * @see {@link NEVER}\n * @see {@link of}\n * @see {@link throwError}\n */\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\n\n/**\n * @param scheduler A {@link SchedulerLike} to use for scheduling\n * the emission of the complete notification.\n * @deprecated Replaced with the {@link EMPTY} constant or {@link scheduled} (e.g. `scheduled([], scheduler)`). Will be removed in v8.\n */\nexport function empty(scheduler?: SchedulerLike) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\n\nfunction emptyScheduled(scheduler: SchedulerLike) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport function isScheduler(value: any): value is SchedulerLike {\n return value && isFunction(value.schedule);\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\n\nfunction last(arr: T[]): T | undefined {\n return arr[arr.length - 1];\n}\n\nexport function popResultSelector(args: any[]): ((...args: unknown[]) => unknown) | undefined {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\n\nexport function popScheduler(args: any[]): SchedulerLike | undefined {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\n\nexport function popNumber(args: any[], defaultValue: number): number {\n return typeof last(args) === 'number' ? args.pop()! : defaultValue;\n}\n", "export const isArrayLike = ((x: any): x is ArrayLike => x && typeof x.length === 'number' && typeof x !== 'function');", "import { isFunction } from \"./isFunction\";\n\n/**\n * Tests to see if the object is \"thennable\".\n * @param value the object to test\n */\nexport function isPromise(value: any): value is PromiseLike {\n return isFunction(value?.then);\n}\n", "import { InteropObservable } from '../types';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being Observable (but not necessary an Rx Observable) */\nexport function isInteropObservable(input: any): input is InteropObservable {\n return isFunction(input[Symbol_observable]);\n}\n", "import { isFunction } from './isFunction';\n\nexport function isAsyncIterable(obj: any): obj is AsyncIterable {\n return Symbol.asyncIterator && isFunction(obj?.[Symbol.asyncIterator]);\n}\n", "/**\n * Creates the TypeError to throw if an invalid object is passed to `from` or `scheduled`.\n * @param input The object that was passed.\n */\nexport function createInvalidObservableTypeError(input: any) {\n // TODO: We should create error codes that can be looked up, so this can be less verbose.\n return new TypeError(\n `You provided ${\n input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`\n } where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`\n );\n}\n", "export function getSymbolIterator(): symbol {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator' as any;\n }\n\n return Symbol.iterator;\n}\n\nexport const iterator = getSymbolIterator();\n", "import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being an Iterable */\nexport function isIterable(input: any): input is Iterable {\n return isFunction(input?.[Symbol_iterator]);\n}\n", "import { ReadableStreamLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport async function* readableStreamLikeToAsyncGenerator(readableStream: ReadableStreamLike): AsyncGenerator {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n return;\n }\n yield value!;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nexport function isReadableStreamLike(obj: any): obj is ReadableStreamLike {\n // We don't want to use instanceof checks because they would return\n // false for instances from another Realm, like an + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aws-storage/index.html b/aws-storage/index.html new file mode 100644 index 00000000..185719e3 --- /dev/null +++ b/aws-storage/index.html @@ -0,0 +1,6442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AWS Storage - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

AWS Storage. S3 & EBS. AWS Storage Gateway

+
    +
  1. Introduction
  2. +
  3. Amazon EFS Elastic File System
  4. +
  5. AWS Transfer
  6. +
  7. AWS S3 Sync
  8. +
+

Introduction

+ +

Amazon EFS Elastic File System

+ +

AWS Transfer

+ +

AWS S3 Sync

+
    +
  • blog.awsfundamentals.com: AWS S3 Sync - An Extensive Guide Learn all about AWS S3 sync - covering download, upload, synchronize buckets, file selection patterns, dry-run, and more - examples included. The CLI is a daily tool for every DevOps engineer working with AWS. A deep-dive for the 𝗮𝘄𝘀 𝘀𝟯 𝘀𝘆𝗻𝗰 command & its powerful options.
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aws-tools-scripts/index.html b/aws-tools-scripts/index.html new file mode 100644 index 00000000..8f1c14a4 --- /dev/null +++ b/aws-tools-scripts/index.html @@ -0,0 +1,6582 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AWS Tools Scripts - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

AWS Tools and Scripts

+
    +
  1. AWS Scripts
  2. +
  3. AWS Samples (Boilerplates)
  4. +
  5. Open Source at AWS
  6. +
  7. AWS Tools
      +
    1. AWS CI/CD Tools
    2. +
    +
  8. +
  9. AWS Toolkits
  10. +
  11. AWS Management Tools Blog
  12. +
  13. AWS CLI and AWS SDK
  14. +
  15. Amazon CodeWhisperer
  16. +
  17. AWS S3 Sync
  18. +
  19. Third Party Tools
  20. +
+

AWS Scripts

+ +

AWS Samples (Boilerplates)

+ +

Open Source at AWS

+ +

AWS Tools

+ +

AWS CI/CD Tools

+ +

AWS Toolkits

+ +

AWS Management Tools Blog

+ +

AWS CLI and AWS SDK

+ +
aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query 'Reservations[].Instances[].[InstanceID]'
+
+
    +
  • List all AWS instances in a table format using ‘awscli’:
  • +
+
aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.AvailabilityZone, State.Name, InstanceID,InstanceType,Platform,Tags.Value,State.Code,Tags.Values]' --output table
+
+ +

Amazon CodeWhisperer

+ +

AWS S3 Sync

+
    +
  • blog.awsfundamentals.com: AWS S3 Sync - An Extensive Guide Learn all about AWS S3 sync - covering download, upload, synchronize buckets, file selection patterns, dry-run, and more - examples included. The CLI is a daily tool for every DevOps engineer working with AWS. A deep-dive for the 𝗮𝘄𝘀 𝘀𝟯 𝘀𝘆𝗻𝗰 command & its powerful options.
  • +
+

Third Party Tools

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aws-training/index.html b/aws-training/index.html new file mode 100644 index 00000000..dfabf815 --- /dev/null +++ b/aws-training/index.html @@ -0,0 +1,6464 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AWS Training and Certification - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

AWS Training and Certification

+
    +
  1. Introduction
  2. +
  3. eBooks
  4. +
  5. AWS Certification
  6. +
  7. Closed groups for AWS certified professionals
  8. +
  9. Tweets
  10. +
+

Introduction

+ +

eBooks

+

AWS Certification

+ +

Closed groups for AWS certified professionals

+ +

Tweets

+
+ Click to expand! + +
+ +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aws/index.html b/aws/index.html new file mode 100644 index 00000000..b82d1fd0 --- /dev/null +++ b/aws/index.html @@ -0,0 +1,6870 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AWS - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Public Cloud Provider. Amazon Web Services

+


+

+ +

+


+
    +
  1. Introduction
  2. +
  3. AWS Reference Archigtecture
  4. +
  5. AWS Application Services
  6. +
  7. Blogs
  8. +
  9. AWS Free Resources
  10. +
  11. Containers on AWS
  12. +
  13. AWS Startup Collection. For startups building on AWS
  14. +
  15. AWS on Twitter
  16. +
  17. AWS Youtube channel and Podcasts
  18. +
  19. AWS Developer Blog
  20. +
  21. AWS Patterns
  22. +
  23. AWS configuration files
  24. +
  25. AWS Config Rules
  26. +
  27. AWS Management Console
  28. +
  29. Resource Hierarchies
  30. +
  31. AWS Tags
  32. +
  33. AWS Systems Manager Explorer
      +
    1. AWS Systems Manager Incident Manager
    2. +
    +
  34. +
  35. AWS Cloud Adoption Framework (AWS CAF)
  36. +
  37. AWS re:Post
  38. +
  39. Bunch of Images
  40. +
  41. Videos
  42. +
  43. Tweets
  44. +
+

Introduction

+ +

AWS Reference Archigtecture

+ +

AWS Application Services

+ +

Blogs

+ +

AWS Free Resources

+ +

Containers on AWS

+ +

AWS Startup Collection. For startups building on AWS

+ +

AWS on Twitter

+ +

AWS Youtube channel and Podcasts

+ +

AWS Developer Blog

+ +

AWS Patterns

+ +

AWS configuration files

+ +

AWS Config Rules

+ +

AWS Management Console

+ +

Resource Hierarchies

+ +

AWS Tags

+ +

AWS Systems Manager Explorer

+ +

AWS Systems Manager Incident Manager

+ +

AWS Cloud Adoption Framework (AWS CAF)

+
    +
  • AWS Cloud Adoption Framework (AWS CAF) 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
  • +
+

AWS re:Post

+ +

Bunch of Images

+
+Click to expand! +

+aws responsability model

+

aws responsability model

+

Most Popular Cloud Platforms with AWS removed for scale

+

aws rds dashbird +

+
+

Videos

+
+ Click to expand! + +
+ +
+
+ +

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/azure/index.html b/azure/index.html new file mode 100644 index 00000000..43605dc2 --- /dev/null +++ b/azure/index.html @@ -0,0 +1,8263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Microsoft Azure - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Microsoft Azure

+
    +
  1. Azure
  2. +
  3. Azure Architecture Check List
  4. +
  5. Azure Mindmap
  6. +
  7. Azure APIOps
  8. +
  9. Migration
  10. +
  11. Azure Policy
      +
    1. Azure Policy Best Practices
    2. +
    +
  12. +
  13. Azure Cloud Adoption Framework CAF
  14. +
  15. Azure Well-Architected Framework WAF
      +
    1. Well-Architected Framework Assessments
    2. +
    +
  16. +
  17. CAF vs WAF
  18. +
  19. Azure Landing Zones
  20. +
  21. Azure Extended Zones
  22. +
  23. Azure Sandbox
  24. +
  25. Azure Marketplace
  26. +
  27. Microsoft REST API Guidelines
  28. +
  29. Azure Quick Review
  30. +
  31. New Features
  32. +
  33. Blogs
  34. +
  35. Azure Training and Certifications
  36. +
  37. Azure Naming Convention
  38. +
  39. Mission-critical Architecture on Azure
  40. +
  41. Understand Azure Load Balancing
  42. +
  43. Azure Load Testing
  44. +
  45. Microsoft Linux Distribution CBL Mariner
  46. +
  47. Azure Patterns
  48. +
  49. ARM Templates
  50. +
  51. DevTest
  52. +
  53. Azure DevOps
      +
    1. Azure DevOps Backup Tool
    2. +
    3. Azure DevOps vs GitHub Actions
    4. +
    5. YAML Schema in DevOps Azure Pipelines
    6. +
    7. Azure Pipeline Tasks
    8. +
    9. Azure DevOps Templates or Snippets
    10. +
    11. Databricks CI/CD with Azure DevOps
    12. +
    +
  54. +
  55. Azure AD and RBAC. Azure Tenant and Azure Subscription. Service Principal SPN. Microsoft Entra
      +
    1. Register applications in Azure AD. Authenticate apps and services
    2. +
    3. Azure AD Pen Testing
    4. +
    +
  56. +
  57. Azure Arc. Azure’s Hybrid And Multi-Cloud Platform. GitOps with Azure Arc
  58. +
  59. Secure DevOps Kit for Azure
  60. +
  61. Azure App Service
  62. +
  63. Azure Application Gateway
  64. +
  65. Azure Functions
  66. +
  67. Azure Monitor
      +
    1. Azure Monitor managed service for Prometheus
    2. +
    +
  68. +
  69. Azure Log Analytics
  70. +
  71. Azure Grafana
  72. +
  73. Mobile Apps
  74. +
  75. Powershell
      +
    1. Azure Enterprise Policy As Code (EPAC)
    2. +
    3. Microsoft Graph PowerShell SDK
    4. +
    5. Powershell repos
    6. +
    7. Crescendo powershell module
    8. +
    9. Secrets Management with Powershell
    10. +
    11. Azure Resource Inventory
    12. +
    +
  76. +
  77. Azure CLI. AZ CLI
  78. +
  79. Azure Run Command
  80. +
  81. IaC with PowerShell DSC Desired State Configuration
  82. +
  83. Azure Bicep
  84. +
  85. Azure Verified Modules
  86. +
  87. Azure Cross region Load Balancer
  88. +
  89. Azure Traffic Manager
  90. +
  91. Azure DNS
  92. +
  93. Azure OpenVPN
  94. +
  95. Azure Security
      +
    1. Azure Microsoft Defender for Cloud
    2. +
    3. Microsoft Sentinel
    4. +
    +
  96. +
  97. Microsoft Copilot for Azure
  98. +
  99. Azure Virtual WAN. vWAN
  100. +
  101. Azure Fleet
  102. +
  103. Data Ingestion. Azure Data Factory
  104. +
  105. WinGet Windows Package Manager CLI
  106. +
  107. Windows 11
  108. +
  109. Azure API Management
  110. +
  111. Azure Container Apps
  112. +
  113. Azure Container Instances
  114. +
  115. Azure Container Storage
  116. +
  117. Windows Server Container Host
  118. +
  119. Disaster Recovery
  120. +
  121. Azure Samples (Boilerplates)
  122. +
  123. Azure Healthcare Data Services
  124. +
  125. Office 365
  126. +
  127. Azure Books
  128. +
  129. Azure OpenAI
  130. +
  131. Windows Tools
  132. +
  133. Azure Tools
  134. +
  135. Images
  136. +
  137. Videos
  138. +
  139. Tweets
  140. +
+

+Azure Terraformer +

+

Azure

+ +

Azure Architecture Check List

+ +

Azure Mindmap

+ +

Azure APIOps

+
    +
  • github.com/Azure/apiops 🌟 APIOps applies the concepts of GitOps and DevOps to API deployment. By using practices from these two methodologies, APIOps can enable everyone involved in the lifecycle of API design, development, and deployment with self-service and automated tools to ensure the quality of the specifications and APIs that they’re building.
  • +
+

Migration

+
    +
  • github.com/Azure/migration: The Migration Execution Guide. This repo contains a Migration Execution Guide, which has been authored and developed by a team of FastTrack for Azure Program Managers and Engineers working with the Microsoft SMC team, the Azure Advanced Cloud Engineering team and the Customer Success Unit. It provides prescriptive guidance for the structure and running of a successful migration project. The guidance includes digital estate discovery, defining the migration scope with common business drivers, selection and implementation of migration tooling, project management, risk management and many other related templates.
  • +
+

Azure Policy

+ +

Azure Policy Best Practices

+ +

Azure Cloud Adoption Framework CAF

+ +

Azure Well-Architected Framework WAF

+
    +
  • +

    Architecture Best Practices for Azure Kubernetes Service (AKS) 🌟 - This document provides architectural recommendations for Azure Kubernetes Service (AKS), aligning with the principles of the Azure Well-Architected Framework. It covers best practices for both the AKS cluster itself and the workloads deployed on it, distinguishing between responsibilities of cluster administrators and developers. The content aims to guide architects in making informed decisions for deploying and managing containerized applications on AKS.

    +
  • +
  • +

    learn.microsoft.com: Azure Well-Architected Framework The Azure Well-Architected Framework (WAF) is a set of quality-driven tenets, architectural decision points, and review tools intended to help solution architects build a technical foundation for their workloads.

    +
  • +
  • infoq.com: Microsoft Refreshes its Well-Architected Framework
  • +
  • azure.github.io: Azure Proactive Resiliency Library (APRL)
      +
    • This library is built with the intention of being a staging area for guidance and recommendations that can be used by customers, partners and the field in Well-Architected Framework reliability engagements/assessments; with the intent of the guidance and recommendations being promoted, once tested and validated with customers and partners, into the official Well-Architected Framework documentation.
    • +
    • The library also contains supporting Azure Resource Graph (ARG) queries, and sometimes Azure PowerShell or Azure CLI scripts, that can help customers, partners and the field identify resources that may or may not be compliant with the guidance and recommendations. The intent for these queries, in the long-term, is to make them part of the Azure Advisor service.
    • +
    +
  • +
  • learn.microsoft.com: Azure Well-Architected Framework perspective on Azure App Service (Web Apps)
  • +
+

Well-Architected Framework Assessments

+ +

CAF vs WAF

+ +

Azure Landing Zones

+ +

Azure Extended Zones

+ +

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

    +
  • +
+

Microsoft REST API Guidelines

+ +

Azure Quick Review

+
    +
  • github.com/Azure/azqr Azure Quick Review (azqr) is a command-line interface (CLI) tool specifically designed to analyze Azure resources and identify whether they comply with Azure’s best practices and recommendations. Its primary purpose is to provide users with a detailed overview of their Azure resources, enabling them to easily identify any non-compliant configurations or potential areas for improvement.
  • +
+

New Features

+ +

Blogs

+ +

Azure Training and Certifications

+ +

Azure Naming Convention

+ +

Mission-critical Architecture on Azure

+ +

Understand Azure Load Balancing

+ +

Azure Load Testing

+ +

Microsoft Linux Distribution CBL Mariner

+ +

Azure Patterns

+
    +
  • Enterprise Web App Patterns - Azure Architecture Center - This article from the Azure Architecture Center outlines enterprise web app patterns, offering a structured approach for developers and architects to guide web applications through the cloud journey. It focuses on two phases, each addressing a common business goal and progressing towards more advanced web applications, with prescriptive guidance aligned with the Azure Well-Architected Framework.
  • +
  • +

    Hub-Spoke Network Topology in Azure - Azure Architecture Center - This Microsoft Learn page details the hub-spoke network pattern as a recommended best practice for Azure network topology by the Cloud Adoption Framework. It provides an architecture diagram and explains the implementation of customer-managed hub infrastructure components. The page also references an alternative solution with Microsoft-managed hub infrastructure using Azure Virtual WAN.

    +
  • +
  • +

    mattfeltonma/azure-networking-patterns

    +
  • +
  • docs.microsoft.com: Cloud Design Patterns 🌟
  • +
+

ARM Templates

+ +

DevTest

+ +

Azure DevOps

+ +

Azure DevOps Backup Tool

+ +

Azure DevOps vs GitHub Actions

+ +

YAML Schema in DevOps Azure Pipelines

+ +

Azure Pipeline Tasks

+
    +
  • +

    Install Java 23 in an Azure DevOps Pipeline - This article provides a step-by-step guide on how to install Java 23 within an Azure DevOps pipeline, specifically when the default JavaToolInstaller task does not support the desired version. It outlines the necessary scripts to download, extract, and configure Java 23, setting JAVA_HOME and updating the PATH environment variables, and then demonstrates how to use it with a Maven build.

    +
  • +
  • +

    Microsoft/azure-pipelines-tasks This repo contains the tasks that are provided out-of-the-box with Azure Pipelines and Team Foundation Server. This provides open examples on how we write tasks which will help you write other tasks which can be uploaded to your account or server.

    + +
  • +
+

Azure DevOps Templates or Snippets

+
    +
  • github.com/JFolberth/TheYAMLPipelineOne 🌟
  • +
  • +

    gist.github.com: This snippet contains the steps to generate a terraform plan and post it as a comment of a pull request in Azure DevOps

    +
    - script: |
    +    terraform plan -out tf.tfplan
    +displayName: Generate Terraform plan
    +
    +- script: |
    +    terraform show -no-color tf.tfplan > $(Agent.TempDirectory)/tf.txt
    +displayName: Convert Terraform plan to text
    +
    +- bash: |
    +    cd $(Agent.TempDirectory)
    +    ENCODED_URL=$(echo "$(System.CollectionUri)$(System.TeamProject)/_apis/git/repositories/${{ variables.SourceRepositoryName }}/pullRequests/$(System.PullRequest.PullRequestId)/threads?api-version=7.0" | sed 's/ /%20/g')
    +    jq --rawfile comment tf.txt '.comments[0].content=$comment' <<< '{"comments": [{"parentCommentId": 0,"content": "","commentType": 1}],"status": 1}' |
    +    curl --request POST "$ENCODED_URL" \
    +    --header "Content-Type: application/json" \
    +    --header "Accept: application/json" \
    +    --header "Authorization: Bearer $SYSTEM_ACCESSTOKEN" \
    +    --data @- \
    +    --verbose
    +env:
    +    SYSTEM_ACCESSTOKEN: $(System.AccessToken)
    +displayName: 'Post comment with Terraform Plan'
    +
    +
  • +
+

Databricks CI/CD with Azure DevOps

+
    +
  • youtube: Databricks CI/CD: Azure DevOps Pipeline + DABs 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

+ +

Register applications in Azure AD. Authenticate apps and services

+ +

Azure AD Pen Testing

+ +

Azure Arc. Azure’s Hybrid And Multi-Cloud Platform. GitOps with Azure Arc

+ +

Secure DevOps Kit for Azure

+ +

Azure App Service

+ +

Azure Application Gateway

+ +

Azure Functions

+ +

Azure Monitor

+ +

Azure Monitor managed service for Prometheus

+ +

Azure Log Analytics

+ +

Azure Grafana

+ +

Mobile Apps

+ +

Powershell

+ +

Azure Enterprise Policy As Code (EPAC)

+ +

Microsoft Graph PowerShell SDK

+ +

Powershell repos

+ +

Crescendo powershell module

+ +

Secrets Management with Powershell

+ +

Azure Resource Inventory

+ +

Azure CLI. AZ CLI

+ +

Azure Run Command

+ +

IaC with PowerShell DSC Desired State Configuration

+ +

Azure Bicep

+ +

Azure Verified Modules

+ +

Azure Cross region Load Balancer

+ +

Azure Traffic Manager

+ +

Azure DNS

+ +

Azure OpenVPN

+ +

Azure Security

+ +

Azure Microsoft Defender for Cloud

+ +

Microsoft Sentinel

+ +

Microsoft Copilot for Azure

+ +

Azure Virtual WAN. vWAN

+ +

Azure Fleet

+ +

Data Ingestion. Azure Data Factory

+
    +
  • medium.com/codex: 7 Best Practices for Data Ingestion
      +
    • Data engineering is the practice of designing and building systems for collecting, storing, and analyzing data at scale.
    • +
    • Data Ingestion is defined as the process of absorbing data from a vast multitude of sources, and then transferring it to a target site where it can be analyzed and deposited.
    • +
    • A Data Engineer spends more than 50% of his time writing different pipelines that move data from one place to another. There are two basic frameworks to achieve the same:
        +
      • ETL: Extract — Transform — Load
      • +
      • ELT: Extract — Load — Transform
      • +
      +
    • +
    • However, in both the frameworks the common element is to be able to extract the data and load it into another destination. This is Data Ingestion.
    • +
    • On a broad categorization, there are mainly 3 types of Data Ingestion:
        +
      • Batch-based Data Ingestion: Batch-based ingestion happens at a regularly scheduled time. The data is ingested in batches. This is important when a business needs to monitor daily reports, ex: sales reports for different stores. This is the most commonly used data ingestion use case.
      • +
      • Real-time/Streaming Data Ingestion:
          +
        • The process of gathering and transmitting data from source systems in real-time solutions such as Change Data Capture (CDC) is known as Real-Time Data Ingestion.
        • +
        • CDC or Streaming Data captures any changes, new transactions, or rollback in real time and moves changed data to the destination, without impacting the database workload.
        • +
        • Real-Time Ingestion is critical in areas like power grid monitoring, operational analytics, stock market analytics, dynamic pricing in airlines, and recommendation engines.
        • +
        +
      • +
      • Lambda-based Data Ingestion Architecture: Lambda architecture in Data ingestion tries to use the best practices of both batch and real-time ingestion.
          +
        • Batch Layer: Computes the data based on the whole picture. This is more accurate however is slower to compute.
        • +
        • Speed Layer: Is used for real-time ingestion, the computed data might not be completely accurate, however, gives a real-time picture of the data.
        • +
        • Serving layer: The outputs from the batch layer in the form of batch views and those coming from the speed layer in the form of near real-time views get forwarded to the serving. This layer indexes the batch views so that they can be queried in low latency on an ad-hoc basis.
        • +
        +
      • +
      +
    • +
    +
  • +
  • mssqltips.com: Choosing Between SQL Server Integration Services and Azure Data Factory
  • +
  • techcommunity.microsoft.com: Azure Data Factory: How to split a file into multiple output files with Bicep
  • +
+

WinGet Windows Package Manager CLI

+ +

Windows 11

+ +

Azure API Management

+ +

Azure Container Apps

+ +

Azure Container Instances

+ +

Azure Container Storage

+ +

Windows Server Container Host

+ +

Disaster Recovery

+ +

Azure Samples (Boilerplates)

+ +

Azure Healthcare Data Services

+ +

Office 365

+ +

Azure Books

+ +

Azure OpenAI

+ +

Windows Tools

+ +

Azure Tools

+ +

Images

+
+Click to expand! +

+pizza model +

+
+

Videos

+
+Click to expand! +

+ + + +

+
+

Tweets

+
+Click to expand! +

+

+

+

+

+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/caching/index.html b/caching/index.html new file mode 100644 index 00000000..32608519 --- /dev/null +++ b/caching/index.html @@ -0,0 +1,6615 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Caching Solutions - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Caching Solutions

+
    +
  1. Introduction to Caching
  2. +
  3. Java Caching
  4. +
  5. Infinispan
  6. +
  7. Red Hat Data Grid (commercial version of Infinispan)
  8. +
  9. CDN Content Delivery Network
  10. +
  11. HAProxy
  12. +
  13. Varnish
  14. +
  15. Memcached
  16. +
  17. Redis
  18. +
  19. Nginx High-performance caching
  20. +
  21. Tau Git-Native CDN PaaS
  22. +
  23. Videos
  24. +
  25. Slides
  26. +
+

Introduction to Caching

+ +

Java Caching

+
    +
  • DZone refcard: Java Caching Strategies and the JCache API. Explores the building blocks of JCache and other caching APIs, as well as multiple strategies for implementing temporary data storage in your application.
  • +
+

Infinispan

+
    +
  • Dzone: Getting Started with Infinispan Enhance Performance With Scalable, Highly Available Data Stores. Infinispan is an open-source, ASL 2.0-licensed, in-memory data grid platform based on Java 8. This newly updated Refcard offers tips for implementing Infinispan, gives a practical example for using it in embedded mode, and lists key APIs and cache features. Learn more about running Infinispan in containers and how to integrate the platform with Hibernate ORM, Apache Hadoop, Apache Spark, and Apache Camel.
  • +
+

Red Hat Data Grid (commercial version of Infinispan)

+ +

CDN Content Delivery Network

+ +

HAProxy

+ +

Varnish

+ +

Memcached

+ +

Redis

+ +

Nginx High-performance caching

+ +

Tau Git-Native CDN PaaS

+
    +
  • github.com/taubyte/tau: Tau Open Source Git-Native CDN PaaS. An alternative to: Vercel, Netlify, Cloudflare, Amazon Lambda with CloudFront, S3, ElastiCache & SQS, Etc…
  • +
+

Videos

+
+ Click to expand! + +
+ + +
+
+ +

Slides

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/chaos-engineering/index.html b/chaos-engineering/index.html new file mode 100644 index 00000000..9e32191a --- /dev/null +++ b/chaos-engineering/index.html @@ -0,0 +1,6497 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Chaos Engineering - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Chaos Engineering

+
    +
  1. Introduction
  2. +
  3. Chaos Engineering for kubernetes/Openshift
  4. +
  5. Chaos Engineering for serverless computing
  6. +
  7. Other Chaos Engineering Tools
  8. +
  9. Videos
  10. +
+

Introduction

+ +

Chaos Engineering for kubernetes/Openshift

+ +

Chaos Engineering for serverless computing

+ +

Other Chaos Engineering Tools

+ +

Videos

+
+Click to expand! +

+ + +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/chatgpt/index.html b/chatgpt/index.html new file mode 100644 index 00000000..d57d1a4e --- /dev/null +++ b/chatgpt/index.html @@ -0,0 +1,6525 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ChatGPT - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

ChatGPT

+
    +
  1. Introduction
  2. +
  3. TableauGPT
  4. +
  5. k8sgpt
  6. +
  7. ChatGPT YAML generator
  8. +
  9. Explained by ChatGPT
      +
    1. DevOps Compliance
    2. +
    3. GitOps vs ClickOps 1
    4. +
    5. GitOps vs ClickOps 2
    6. +
    +
  10. +
  11. Tools
  12. +
+

Introduction

+ +

TableauGPT

+ +

k8sgpt

+ +

ChatGPT YAML generator

+ +

Explained by ChatGPT

+ +

DevOps Compliance

+
+

What is DevOps compliance? DevOps compliance refers to the process of integrating compliance and security requirements into DevOps practices. DevOps is a methodology that emphasizes collaboration and communication between development, operations, and other teams involved in the software development process. It aims to deliver software quickly and reliably through continuous integration, testing, and deployment.

+

DevOps compliance is important because it ensures that the software being developed adheres to regulatory and security standards. This can include compliance with laws such as HIPAA or GDPR, industry-specific regulations, or organizational policies.

+

DevOps compliance involves implementing security and compliance requirements into the DevOps workflow. This includes incorporating compliance checks and security testing into the development process, as well as ensuring that security and compliance concerns are addressed throughout the entire software development lifecycle.

+

In summary, DevOps compliance is about balancing the need for speed and agility in software development with the need to meet regulatory and security requirements. It enables organizations to deliver software that is not only innovative and efficient but also meets the necessary compliance standards.

+
+

GitOps vs ClickOps 1

+
+

What is the best strategy for cloud managers? Gitops or ClickOps? As an AI language model, I cannot make a definitive recommendation between GitOps and ClickOps as the “best” strategy for cloud managers, as each approach has its own advantages and disadvantages depending on the specific needs and goals of the organization. However, I can provide an overview of the two strategies to help you understand their differences and choose the one that best fits your needs.

+

GitOps is an approach that emphasizes using Git as the source of truth for managing infrastructure and application deployment. In this approach, changes to the infrastructure or application are made via pull requests in Git, and the changes are automatically deployed to the cloud environment based on the Git commit history. GitOps enables version control of infrastructure and application configurations, and it facilitates collaboration between team members. However, it requires a significant investment in automation and tooling to set up and maintain the GitOps pipeline.

+

ClickOps, on the other hand, is an approach that relies on graphical user interfaces (GUIs) and point-and-click actions to manage cloud resources. This approach is typically more accessible to non-technical users and can provide a more straightforward and intuitive interface for cloud management. However, ClickOps can be more error-prone, as it does not provide the same level of visibility and transparency as GitOps, and it can be more challenging to maintain consistent infrastructure and application configurations.

+

Ultimately, the choice between GitOps and ClickOps depends on the specific needs and goals of the organization, as well as the level of technical expertise of the team. For organizations that value version control, collaboration, and automation, GitOps may be the better choice, while ClickOps may be a more accessible and user-friendly option for teams with less technical experience. It is also worth noting that many organizations use a combination of both approaches, depending on the specific use case and context.

+
+

GitOps vs ClickOps 2

+
+

GitOps and ClickOps are different approaches to infrastructure management and application deployment in the cloud.

+

GitOps focuses on automation and managing infrastructure as code (IaC) using Git as a single source of truth for configuration and version control. In this approach, changes to the infrastructure are made by updating the Git repository and the implementation of changes is automatically done through CI/CD tools.

+

ClickOps, on the other hand, focuses on manual and visual management of infrastructure and application deployment using graphical user interfaces (GUIs). This approach allows developers and IT operations teams to make changes and deploy applications quickly and easily without the need for knowledge of the underlying technical details.

+

The problem between GitOps and ClickOps lies in how infrastructure management and application deployment are approached. GitOps is more automated and focused on IaC, which can result in greater efficiency and a reduction of human errors. ClickOps is more manual and visual, which can be easier to use and understand for teams who do not have programming and automation experience.

+

In summary, both approaches have their advantages and disadvantages and are suited to different situations and needs. It depends on the preferences and skills of the development and IT operations team to choose the appropriate approach for their organization.

+
+

Tools

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cheatsheets/index.html b/cheatsheets/index.html new file mode 100644 index 00000000..45ad327f --- /dev/null +++ b/cheatsheets/index.html @@ -0,0 +1,7556 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cheat Sheets - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Cheat Sheets

+
    +
  1. Miscellaneous
  2. +
  3. Networking
  4. +
  5. Google Search
  6. +
  7. Bash Shell
  8. +
  9. AWS Cheat Sheets
  10. +
  11. Google Cloud Cheat Sheets
  12. +
  13. Azure Cheat Sheets
  14. +
  15. API Cheatsheets
  16. +
  17. REST API
  18. +
  19. eBooks
  20. +
  21. Documentation Browser for Software Developers
      +
    1. Dash for MacOS (paid)
    2. +
    3. Velocity (Windows, paid)
    4. +
    5. Zeal (Windows, Linux, Free)
    6. +
    +
  22. +
  23. Kubernetes Knowledge Hubs and Glossary
  24. +
  25. Kubernetes and Kubectl Cheat Sheets
  26. +
  27. Kubernetes Kustomize Cheat Sheet
  28. +
  29. Docker Cheat Sheets
      +
    1. Docker Swarm Cheat Sheets
    2. +
    +
  30. +
  31. Security Cheat Sheets
  32. +
  33. Git and GitHub Cheat Sheets
      +
    1. Git Flow Cheat Sheets
    2. +
    3. Sourcetree Cheat Sheet
    4. +
    5. GitKraken Git Cheat
    6. +
    +
  34. +
  35. Ansible Cheat Sheets
  36. +
  37. Packer and Terraform Cheat Sheets
  38. +
  39. Linux Command Cheat Sheets
      +
    1. SSH Cheat Sheets
    2. +
    3. Nmap Cheat Sheet
    4. +
    +
  40. +
  41. OpenShift Cheat Sheets
      +
    1. Debezium Cheat Sheets
    2. +
    +
  42. +
  43. Kubernetes Operator Cheat Sheets
  44. +
  45. Kubernetes POD Cheat Sheets
  46. +
  47. Buildah Cheat Sheets
  48. +
  49. Prometheus Cheat Sheets
  50. +
  51. Helm Cheat Sheets
  52. +
  53. Maven Cheat Sheets
  54. +
  55. Gradle Cheat Sheets
  56. +
  57. Eclipse MicroProfile
  58. +
  59. Jenkins Cheat Sheets
  60. +
  61. Bitbucket Pipelines
  62. +
  63. JMeter Cheat Sheets
  64. +
  65. Quarkus Cheat Sheets
  66. +
  67. Markdown Cheat Sheets
  68. +
  69. Kafka
  70. +
  71. Machine Learning
  72. +
  73. Javascript
  74. +
  75. TypeScript
  76. +
  77. Jupyter
  78. +
  79. SQL
  80. +
  81. Postgres
  82. +
  83. MariaDB and mySQL
  84. +
  85. MongoDB
  86. +
  87. Python
  88. +
  89. Go
  90. +
  91. NodeJS
  92. +
  93. C++
  94. +
  95. Selenium
  96. +
  97. RPA
  98. +
  99. Data Science
  100. +
  101. Scrum Cheat Sheet
  102. +
  103. Images
  104. +
  105. Tweets
  106. +
+

Miscellaneous

+ +

Networking

+ + + +

Bash Shell

+ +

AWS Cheat Sheets

+ +

Google Cloud Cheat Sheets

+ +

Azure Cheat Sheets

+ +

API Cheatsheets

+ +

REST API

+ +

eBooks

+
    +
  • Red Hat Developer eBooks 🌟 Browse through our collection of eBooks to help you develop with Red Hat products, which you can download for free as a Red Hat Developer member. You’ll find handy books on a range of the latest developer tools and technologies, including Kubernetes, microservices, containers, and more.
  • +
  • Transformation takes practice Our experts understand this: When it comes to your unique business challenges, one size does not fit all. We can guide you through exercises and tools, like the ones within the Open Practice Library, that are right for where you are, right now.
  • +
+

Documentation Browser for Software Developers

+

Dash for MacOS (paid)

+ +

Velocity (Windows, paid)

+
    +
  • Velocity Velocity gives your Windows desktop offline access to over 150 API documentation sets
  • +
+

Zeal (Windows, Linux, Free)

+
    +
  • Zeal Zeal is an offline documentation browser for software developers.
  • +
+

Kubernetes Knowledge Hubs and Glossary

+ +

Kubernetes and Kubectl Cheat Sheets

+ +

Kubernetes Kustomize Cheat Sheet

+ +

Docker Cheat Sheets

+ +

Docker Swarm Cheat Sheets

+ +

Security Cheat Sheets

+
    +
  • cheatsheetseries.owasp.org: OWASP Cheat Sheet Series 🌟🌟 The OWASP Cheat Sheet Series was created to provide a concise collection of high value information on specific application security topics. These cheat sheets were created by various application security professionals who have expertise in specific topics.
  • +
+

Git and GitHub Cheat Sheets

+ +

Git Flow Cheat Sheets

+ +

Sourcetree Cheat Sheet

+ +

GitKraken Git Cheat

+ +

Ansible Cheat Sheets

+ +

Packer and Terraform Cheat Sheets

+ +

Linux Command Cheat Sheets

+ +

SSH Cheat Sheets

+ +

Nmap Cheat Sheet

+
    +
  • comparitech.com: Nmap Cheat Sheet Nmap Cheat Sheet plus Nmap + Nessus Cheat Sheet. We include all the commands in an easy to download and reference format. Downloadable JPEG or PDF files.
  • +
+

OpenShift Cheat Sheets

+ +

Debezium Cheat Sheets

+
    +
  • developers.redhat.com: Debezium on OpenShift Cheat Sheet Debezium is a distributed open-source platform for change data capture. Start it up, point it at your databases, and your apps can start responding to all of the inserts, updates, and deletes that other apps commit to your databases. Debezium is durable and fast, so your apps can respond quickly and never miss an event, even when things go wrong. This cheat sheet covers how to deploy/create/run/update a Debezium Connector on OpenShift.
  • +
+

Kubernetes Operator Cheat Sheets

+ +

Kubernetes POD Cheat Sheets

+ +

+pod cheat sheets +

+

Buildah Cheat Sheets

+ +

Prometheus Cheat Sheets

+ +

Helm Cheat Sheets

+ +

Maven Cheat Sheets

+ +

Gradle Cheat Sheets

+ +

Eclipse MicroProfile

+ +

Jenkins Cheat Sheets

+ +

Bitbucket Pipelines

+ +

JMeter Cheat Sheets

+ +

Quarkus Cheat Sheets

+ +

Markdown Cheat Sheets

+ +

Kafka

+ +

Machine Learning

+ +

Javascript

+ +

TypeScript

+ +

Jupyter

+ +

SQL

+ +

Postgres

+ +

MariaDB and mySQL

+ +

MongoDB

+ +

Python

+ +

Go

+ +

NodeJS

+ +

C++

+ +

Selenium

+ +

RPA

+ +

Data Science

+ +

Scrum Cheat Sheet

+ +

Images

+
+Click to expand! +

+googling stuff

+

url cheatsheet

+

junit cheat sheet +

+
+

Tweets

+
+Click to expand! +

+

+

+

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/chef/index.html b/chef/index.html new file mode 100644 index 00000000..2c5bd1c3 --- /dev/null +++ b/chef/index.html @@ -0,0 +1,6326 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Chef - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Chef

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cicd-kubernetes-plugins/index.html b/cicd-kubernetes-plugins/index.html new file mode 100644 index 00000000..54a63e88 --- /dev/null +++ b/cicd-kubernetes-plugins/index.html @@ -0,0 +1,6411 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CI/CD Kubernetes Plugins - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

CI/CD Kubernetes Plugins

+
    +
  1. Jenkins Kubernetes Plugins
  2. +
  3. Jenkins OpenShift Plugins
  4. +
  5. Argo CD Config Management Plugins
  6. +
  7. GitLab Kubernetes Agent
  8. +
+

Jenkins Kubernetes Plugins

+ +

Jenkins OpenShift Plugins

+ +

Argo CD Config Management Plugins

+

GitLab Kubernetes Agent

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cicd/index.html b/cicd/index.html new file mode 100644 index 00000000..388fd2dd --- /dev/null +++ b/cicd/index.html @@ -0,0 +1,6820 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CI/CD - Continuous Integration & Continuous Delivery - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Software Delivery Pipeline. CI/CD

+
    +
  1. Introduction
  2. +
  3. CI/CD Continuous Integration and Continuous Delivery
  4. +
  5. CI/CD Pipelines With Kubernetes
  6. +
  7. Observability
  8. +
  9. Code Review
  10. +
  11. Security in CI/CD
  12. +
  13. Progressive Delivery
  14. +
  15. Deployment Strategies
  16. +
  17. Pipeline Patterns
  18. +
  19. CI/CD with Kubernetes
  20. +
  21. CI/CD with OpenShift
  22. +
  23. CI/CD with AWS
  24. +
  25. Reports on the Enterprise CI/CD Market
  26. +
  27. Tools
  28. +
  29. Awesome Lists
  30. +
  31. Images
  32. +
  33. Videos
  34. +
  35. Tweets
  36. +
+

Introduction

+ +

+CD Artifact Management +

+

CI/CD Continuous Integration and Continuous Delivery

+ +

CI/CD Pipelines With Kubernetes

+ +

Observability

+ +

Code Review

+ +

Security in CI/CD

+ +

Progressive Delivery

+ +

Deployment Strategies

+ +

+deployment strategies +

+

Pipeline Patterns

+ +

CI/CD with Kubernetes

+ +

CI/CD with OpenShift

+ +

CI/CD with AWS

+ +

Reports on the Enterprise CI/CD Market

+
    +
  • GigaOm’s Radar for Enterprise CI/CD 🌟 is a must-see report for any DevOps enthusiast. The goal of an end-to-end Continuous Integration/Continuous Delivery (CI/CD) pipeline is to deliver software-based innovation and business value at both speed and scale. CI/CD plays a very important role in the company’s DevOps journey. Keeping several factors in mind, Gigaom has come up with it’sown research and presented who leads and who lags in the CI/CD market.
  • +
+

+gigaom cicd radar +

+

Tools

+ +

Awesome Lists

+ +

Images

+
+Click to expand! +

+cicd cheatsheet

+

blue green deployment strategy

+

cicd a basic release process +

+
+

Videos

+
+ Click to expand! + +
+ + + + + +
+
+ +

Tweets

+
+ Click to expand! + +
+ +
+
+
    +
  • GitBook Webinar: GitBook for Public Docs - Webinar sobre el uso de GitBook para la documentación pública, útil para equipos que gestionan documentación de proyectos de Kubernetes y Cloud Native.
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloud-arch-diagrams/index.html b/cloud-arch-diagrams/index.html new file mode 100644 index 00000000..99fb1a8a --- /dev/null +++ b/cloud-arch-diagrams/index.html @@ -0,0 +1,6539 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cloud Architecture Diagram Tools - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Cloud Architecture Diagram Tools

+
    +
  1. Introduction
  2. +
  3. MultiCloud
  4. +
  5. K8s Diagrams
  6. +
  7. Architecture Icons
  8. +
  9. AWS
  10. +
  11. Google Cloud Architecture Diagramming Tool
  12. +
  13. Airflow
  14. +
+

Introduction

+ +

MultiCloud

+ +

K8s Diagrams

+
    +
  • Draw.io MCP for Diagram Generation: Why It’s 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 - (Related to kubernetes topic)

    +
  • +
  • +

    cloudogu/k8s-diagrams A collection of diagrams explaining kubernetes by cloudogu, written in PlantUML.

    +
  • +
+

Architecture Icons

+ +

AWS

+ +

Google Cloud Architecture Diagramming Tool

+ +

Airflow

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloud-asset-inventory/index.html b/cloud-asset-inventory/index.html new file mode 100644 index 00000000..52987562 --- /dev/null +++ b/cloud-asset-inventory/index.html @@ -0,0 +1,6419 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cloud Asset Inventory - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Cloud Asset Inventory

+
    +
  1. CloudQuery
  2. +
  3. Steampipe
  4. +
  5. Azure Architecture
  6. +
  7. kubernetes-storage
  8. +
+

CloudQuery

+ +

Steampipe

+ +

Azure Architecture

+

kubernetes-storage

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloudflare/index.html b/cloudflare/index.html new file mode 100644 index 00000000..eabb0925 --- /dev/null +++ b/cloudflare/index.html @@ -0,0 +1,6378 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cloudflare - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Cloudflare Public Cloud

+

Email Services

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/container-managers/index.html b/container-managers/index.html new file mode 100644 index 00000000..8f835f20 --- /dev/null +++ b/container-managers/index.html @@ -0,0 +1,6764 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Container Runtimes/Managers & Base Images. Podman, Buildah & Skopeo - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Container Runtimes/Managers, Base Images and Container Tools. Podman, Buildah & Skopeo

+
    +
  1. Introduction
  2. +
  3. OCI Project. Open Container Initiative
      +
    1. OCI Runtimes
        +
      1. runc
      2. +
      3. crun
      4. +
      +
    2. +
    3. OCI Monitors
    4. +
    +
  4. +
  5. Container Managers / Container Runtimes (CRI runtimes)
      +
    1. CRI-O
    2. +
    3. Podman. Pod Manager tool
        +
      1. Podman Desktop
      2. +
      3. Containers In High Security Environments with Podman
      4. +
      +
    4. +
    +
  6. +
  7. Container Images
      +
    1. Red Hat Universal Base Image
    2. +
    +
  8. +
  9. Container Tools
      +
    1. Buildah
    2. +
    3. Skopeo
    4. +
    +
  10. +
  11. Images
  12. +
  13. Tweets
  14. +
+

Introduction

+ +

OCI Project. Open Container Initiative

+ +

OCI Runtimes

+

runc

+
    +
  • runc CLI tool for spawning and running containers according to the OCI specification
  • +
+

crun

+
    +
  • crun A fast and lightweight fully featured OCI runtime and C library for running containers
  • +
+

OCI Monitors

+
    +
  • Conmon An OCI container runtime monitor.
  • +
+

Container Managers / Container Runtimes (CRI runtimes)

+ +

CRI-O

+ +

Podman. Pod Manager tool

+ +

Podman Desktop

+ +

Containers In High Security Environments with Podman

+ +

Container Images

+ +

Red Hat Universal Base Image

+ +

Container Tools

+ +

Buildah

+ +

Skopeo

+ +

Images

+
+Click to expand! +

+OCP 4 Architecture +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/crossplane/index.html b/crossplane/index.html new file mode 100644 index 00000000..53862784 --- /dev/null +++ b/crossplane/index.html @@ -0,0 +1,6411 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Crossplane - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Crossplane. A Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions

+
    +
  1. Introduction
  2. +
  3. Demo. YAML Your Cloud. Managing Cloud-Hosted Resources from Kubernetes
  4. +
  5. Videos
  6. +
+

Introduction

+ +

Demo. YAML Your Cloud. Managing Cloud-Hosted Resources from Kubernetes

+
    +
  • Very cool talk from @askmeegs and @shabirmean with an insightful look into the tools for managing cloud resources from Kubernetes. Great demonstration of @crossplane_io spanning your control plane across multiple clouds.
  • +
  • Presentation: YAML your cloud
  • +
  • askmeegs/yaml-your-cloud
  • +
+

Videos

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/crunchydata/index.html b/crunchydata/index.html new file mode 100644 index 00000000..2cfc94bd --- /dev/null +++ b/crunchydata/index.html @@ -0,0 +1,7304 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Crunchy Data PostgreSQL Operator - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Crunchy Data PostgreSQL Operator

+
    +
  1. Introduction
  2. +
  3. Crunchy Data Developer Portal
  4. +
  5. Crunchy Data Postgres Operator in OpenShift 4. Overview & Proof of Concept
      +
    1. Crunchydata Postgres Operator 3.5
    2. +
    3. Crunchydata Postgres Operator 4.0.1
    4. +
    5. Crunchydata Postgres Operator 4.0.1 Community Edition
        +
      1. Service Accounts
      2. +
      3. Roles assigned to Service Accounts
      4. +
      5. Security Context Constraints (SCC)
          +
        1. SCC Recommendations
        2. +
        +
      6. +
      7. Add a SCC to a Project
          +
        1. Workflow1 without custom Service Account and without DeploymentConfig
        2. +
        3. Workflow2 with custom Service Account and without DeploymentConfig
        4. +
        5. Workflow3 with custom service Account and DeploymentConfig
        6. +
        +
      8. +
      9. Environment setup. Port Forward and WSL
      10. +
      11. Cluster Deployment and Operation with pgo
      12. +
      13. Psql access from postgres operator POD
      14. +
      15. List Databases with psql
      16. +
      17. Access from another POD within the cluster with psql client
      18. +
      19. Access from another POD within the cluster with Pgadmin4 of Crunchy containers Community Edition
      20. +
      21. Debugging Crunchydata Postgres Operator 4.0.1 Community Edition
      22. +
      +
    6. +
    7. Certified Crunchydata Postgres Operator (OLM/OperatorHub). Manual Setup
    8. +
    +
  6. +
+

Introduction

+ +

Crunchy Data Developer Portal

+ +

Crunchy Data Postgres Operator in OpenShift 4. Overview & Proof of Concept

+
    +
  • In earlier days, Red Hat recommended running PostgreSQL database outside the Kubernetes cluster. Now, with Kubernetes Operator technology, you can run stateful database applications on Kubernetes.
  • +
  • Crunchy PostgreSQL Operator extends Kubernetes to give you the power to easily  create, configure and manage PostgreSQL clusters at scale.  When combined with the Crunchy PostgreSQL Container Suite, the Crunchy PostgreSQL Operator provides an open source software solution for PostgreSQL scaling, high-availability, disaster recovery, monitoring, and more.  All of this capability comes with the repeatability and automation that comes from Operators on Kubernetes.
  • +
  • Crunchy PostgreSQL Operator is open source and developed in close collaboration with users to support enterprise deployments of cloud agnostic PostgreSQL-as-a-Service capability. This release comes after extensive feedback from our customers and the community to ensure the scalability and security that sysadmins, DBAs, and developers have come to rely on.
  • +
  • Crunchy PostgreSQL and Openshift
  • +
  • Crunchy Postgres Solutions:
      +
    1. Postgres Operator Community Edition: +
    2. +
    3. Certified Crunchydata Postgres Operator (OLM/OperatorHub):
        +
      • Openshift Console installation using OLM (OperatorHub): One-click deployment and Web based operation
      • +
      • No ‘pgo’ CLI tool? (compatibility issues: unable to find in github the version that matches the server API - Sept 2019)
      • +
      • Certified by Red Hat
      • +
      • Provided by CrunchyData
      • +
      +
    4. +
    5. Other non-certified installations (unsupported by Red Hat): with or without OLM, CLI, etc.
    6. +
    +
  • +
  • Crunchy Containers Community Edition: +
  • +
+

+crunchdydata in operatorhub +

+

Crunchydata Postgres Operator 3.5

+
    +
  • Release date: Januay 2019
  • +
  • pgBackRest Architecture Enhancements
  • +
  • pgBackRest Point-In-Time-Recovery
  • +
  • Fast Failover
  • +
  • Archive Storage Configuration
  • +
  • Preferred Failover Node Label
  • +
  • pgo-scheduler
  • +
+

+crunchydata operator 3.5 +

+

Crunchydata Postgres Operator 4.0.1

+
    +
  • Release date: June 2019
  • +
  • Namespace Deployment Options: Ability to deploy the operator its own namespace but manage PostgreSQL clusters in multiple namespace. The new namespace management features lets users create multi-tenant PostgreSQL environments that add further isolation and security to their deployments.
  • +
  • Further Enhancements to pgBackRest Integration: Perform pgBackRest backups to Amazon S3. This allows  users to create an automated, geographically distributed, and hybrid cloud disaster recovery strategy.
  • +
  • Integrated PostgreSQL Benchmarking
  • +
  • Ansible Playbook Based Installation
  • +
  • Operator Lifecycle Management (OLM): The OLM project is a component of the Operator Framework, an open source toolkit to manage Operators, in an effective, automated, and scalable way. OLM concepts were included into Crunchy PostgreSQL Operator to assist in the deployment on Kubernetes using OLM integration.
  • +
+

+crunchdydata operator 4.0.1 +

+

Crunchydata Postgres Operator 4.0.1 Community Edition

+

Service Accounts

+
    +
  • Service accounts give us flexibility to control access to API without sharing user’s credentials.
  • +
  • Service Accounts are also used by pods and other non-human actors to perform various actions and are a central vehicle by which their access to resources is managed. By default, three service accounts are created in each project:
      +
    1. Builder: Used by build pods and assigned the system:image-builder role, which grants push capability into the internal registry to any image stream in the project.
    2. +
    3. Deployer: Used by deploy pods and assigned the system:deployer role, which allows modifying replication controllers in the project.
    4. +
    5. Default: Used by all other pods by default.
    6. +
    +
  • +
  • You can see them by running the following command:
  • +
+
oc get serviceaccounts
+oc get sa
+
+
    +
  • Running a Pod with a Different Service Account. You can run a pod with a service account other than the default:
      +
    • Edit the deployment configuration: $ oc edit dc/<deployment_config>
    • +
    • Add the serviceAccount and serviceAccountName parameters to the spec field, and specify the service account you want to use:
    • +
    +
  • +
+
spec:
+    securityContext: {}
+    serviceAccount: <service_account>
+    serviceAccountName: <service_account>
+
+
    +
  • +

    Refs:

    + +
  • +
  • +

    Each service account is represented by the ServiceAccount resource and is associated with two additional secrets for access to the OpenShift API and the internal registry:

    +
  • +
+
$ oc describe serviceaccounts/default
+Name:                default
+Namespace:           pgouser1
+Labels:              <none>
+Annotations:         <none>
+Image pull secrets:  default-dockercfg-nrhwt
+Mountable secrets:   default-token-vm8b5
+                     default-dockercfg-nrhwt
+Tokens:              default-token-p6rhz
+                     default-token-vm8b5
+Events:              <none>
+
+
    +
  • The service account can be created and deleted with a simple command:
      +
    • oc create sa myserviceaccount
    • +
    • oc delete sa/myserviceaccount
    • +
    +
  • +
  • Every service account is also a member of two groups:
      +
    • system:serviceaccounts, which includes all service accounts in the cluster
    • +
    • system:serviceaccounts:<project>, which includes all service accounts in the project
    • +
    +
  • +
+

Roles assigned to Service Accounts

+
    +
  • When you create a pod, if you do not specify a service account, it is automatically assigned the default service account in the same namespace. If you get the raw json or yaml for a pod you have created (e.g. oc get pods/podname -o yaml), you can see the spec.serviceAccountName field has been automatically set.
  • +
  • You can grant privileges to groups of service accounts, which will effectively grant those privileges to all accounts in the group:
  • +
+
$ oc adm policy add-role-to-group view system:serviceaccounts -n myproject
+role "view" added: "system:serviceaccounts" 
+
+
    +
  • For example, to grant view privileges to all service accounts in the cluster in the project myproject:
  • +
+
$ oc adm policy remove-role-from-group view system:serviceaccounts –n myproject
+role "view" removed: "system:serviceaccounts" 
+
+

Security Context Constraints (SCC)

+
    +
  • Security Context Constraints (SCCs) control what actions pods can perform and what resources they can access.
  • +
  • SCCs combine a set of security configurations into a single policy object that can be applied to pods.
  • +
  • These security configurations include, but are not limited to, Linux Capabilities, Seccomp Profiles, User and Group ID Ranges, and types of mounts.
  • +
  • OpenShift ships with several SCCs:
      +
    • The most constrained is the restricted SCC, and the least constrained is the privileged SCC:
        +
      • oc edit scc restricted
      • +
      • oc edit scc privileged
      • +
      +
    • +
    • The other SCCs provide intermediate levels of constraint for various use cases.
    • +
    • The restricted SCC is granted to all authenticated users by default.
    • +
    • The default SCC for most pods should be the restricted SCC.
    • +
    +
  • +
  • If required, a cluster administrator may allow certain pods to run with different SCCs. Pods should be run with the most restrictive SCC possible. Pods inherit their SCC from the Service Account used to run the pod. With the default project template, new projects get a Service Account named default that is used to run pods. This default service account is only granted the ability to run the restricted SCC.
  • +
+

+crunchdydata scc1 crunchdydata scc2 +

+
SCC Recommendations
+
    +
  • Use OpenShift’s Security Context Constraint feature, which has been contributed to Kubernetes as Pod Security Policies (PSP). PSPs are still beta in Kubernetes 1.10, 1.11, 1.12, 1.13, 1.14, 1.15 .
  • +
  • Use the restricted SCC as the default
  • +
  • For pods that require additional access, use the SCC that grants the least amount of additional privileges or create a custom SCC
  • +
  • Remediation: Apply the SCC with the least privilege required
  • +
  • Audit:
      +
    • To show all available SCCs: oc describe scc
    • +
    • To audit a single pod:
    • +
    +
  • +
+
oc describe pod <POD> | grep openshift.io\/scc
+openshift.io/scc: restricted             
+
+

+crunchdydata scc3 +

+
    +
  • +

    Problem: Default SCC is “restricted” SCC -> Crunchydata Postgres Cluster PODs are not rolled out

    +
      +
    • oc get rs:
    • +
    +

    +crunchdydata restricted scc +

    +
      +
    • oc describe rs mycluster5-lgyb-84b58f5dd9: Warning FailedCreate 3m24s (x17 over 7m30s) replicaset-controller Error creating: pods “mycluster5-lgyb-84b58f5dd9-” is forbidden: unable to validate against any security context constraint: [fsGroup: Invalid value: []int64{26}: 26 is not an allowed group]
    • +
    +
  • +
+

Add a SCC to a Project

+
    +
  • SCCs are not granted directly to a project. Instead, you add a service account to an SCC and either specify the service account name on your pod or, when unspecified, run as the default service account.
  • +
  • To add a SCC to a user: oc adm policy add-scc-to-group <scc_name> <group_name>
  • +
  • To add a SCC to all service accounts in a namespace:
    +oc adm policy add-scc-to-group <scc_name> system:serviceaccounts:<serviceaccount_namespace>
  • +
  • If you are currently in the project to which the service account belongs, you can use the -z flag and just specify the serviceaccount_name:
    +oc adm policy add-scc-to-user <scc_name> -z <serviceaccount_name>
  • +
  • +

    Examples:

    +
      +
    • oc describe scc anyuid
    • +
    • oc adm policy add-scc-to-group anyuid system:serviceaccounts:pgouser1
    • +
    • +

      ‘default’ serviceAccount:

      +
      oc adm policy add-scc-to-user anyuid system:serviceaccounts:pgouser1:default
      +
      +
    • +
    • +

      User registered in Identity Provider:

      +
      oc adm policy add-scc-to-user anyuid myuser
      +
      +
    • +
    • +

      Custom serviceAccount:

      +
      oc adm policy add-scc-to-user anyuid system:serviceaccounts:pgouser1:my-sa
      +
      +
    • +
    +
  • +
  • +

    Refs:

    + +
  • +
+
Workflow1 without custom Service Account and without DeploymentConfig
+

+crunchdydata scc workflow1 +

+
Workflow2 with custom Service Account and without DeploymentConfig
+

+crunchdydata scc workflow2 +

+
    +
  • Create a custom ServiceAccount and add a role to it within a Project:
      +
    1. oc project pgouser1
    2. +
    3. oc get scc
    4. +
    5. oc create serviceaccount my-sa –n pgouser1
    6. +
    7. oc describe sa my-sa
    8. +
    9. oc get scc
    10. +
    11. oc adm policy add-scc-to-user anyuid system:serviceaccount:pgouser1:my-sa
    12. +
    13. oc policy add-role-to-user edit system:serviceaccount:pgouser1:my-sa
    14. +
    15. Alternative to step #6:
    16. +
    +
  • +
+
oc edit scc anyuid 
+
+
users:
+- system:serviceaccount:pgouser1:my-sa
+
+
    +
  • +

    Other commands of interest:

    +
      +
    • oc get role
    • +
    • oc describe role pgo-role
    • +
    • oc edit role pgo-role
    • +
    +
  • +
  • +

    References:

    + +
  • +
+
Workflow3 with custom service Account and DeploymentConfig
+

+crunchdydata scc workflow3 +

+

Environment setup. Port Forward and WSL

+
    +
  • Deployment method used in this presentation: Install Operator Using Bash
  • +
  • Config files setup by installer are saved in:
      +
    • “pgo” Project -> Deployments
    • +
    • “pgo” Project -> Deployment Configs (empty, openshift feature not provided by CrunchyData)
    • +
    • “pgo” Project -> Secrets
    • +
    • “pgo” Project -> Config Maps
    • +
    +
  • +
  • References: +
  • +
  • WSL (Windows Subystem for Linux): alog/olog/clog functions must be adapted to be run in WSL’s Ubuntu:
  • +
+
vim $HOME/.bashrc
+
+
# ~/.bashrc: executed by bash(1) for non-login shells.
+# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
+# for examples
+# If not running interactively, don't do anything
+case $- in
+    *i*) ;;
+    *) return;;
+esac
+# don't put duplicate lines or lines starting with space in the history.
+# See bash(1) for more options
+HISTCONTROL=ignoreboth
+# append to the history file, don't overwrite it
+shopt -s histappend
+# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
+HISTSIZE=1000
+HISTFILESIZE=2000
+# check the window size after each command and, if necessary,
+# update the values of LINES and COLUMNS.
+shopt -s checkwinsize
+# If set, the pattern "**" used in a pathname expansion context will
+# match all files and zero or more directories and subdirectories.
+#shopt -s globstar
+# make less more friendly for non-text input files, see lesspipe(1)
+[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
+# set variable identifying the chroot you work in (used in the prompt below)
+if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
+    debian_chroot=$(cat /etc/debian_chroot)
+fi
+# set a fancy prompt (non-color, unless we know we "want" color)
+case "$TERM" in
+    xterm-color|*-256color) color_prompt=yes;;
+esac
+# uncomment for a colored prompt, if the terminal has the capability; turned
+# off by default to not distract the user: the focus in a terminal window
+# should be on the output of commands, not on the prompt
+#force_color_prompt=yes
+if [ -n "$force_color_prompt" ]; then
+    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
+    # We have color support; assume it's compliant with Ecma-48
+    # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
+    # a case would tend to support setf rather than setaf.)
+    color_prompt=yes
+    else
+    color_prompt=
+    fi
+fi
+if [ "$color_prompt" = yes ]; then
+    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
+else
+    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
+fi
+unset color_prompt force_color_prompt
+# If this is an xterm set the title to user@host:dir
+case "$TERM" in
+xterm*|rxvt*)
+    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
+    ;;
+*)
+    ;;
+esac
+# enable color support of ls and also add handy aliases
+if [ -x /usr/bin/dircolors ]; then
+    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
+    alias ls='ls --color=auto'
+    #alias dir='dir --color=auto'
+    #alias vdir='vdir --color=auto'
+    alias grep='grep --color=auto'
+    alias fgrep='fgrep --color=auto'
+    alias egrep='egrep --color=auto'
+fi
+# colored GCC warnings and errors
+#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
+# some more ls aliases
+alias ll='ls -alF'
+alias la='ls -A'
+alias l='ls -CF'
+# Add an "alert" alias for long running commands.  Use like so:
+#   sleep 10; alert
+alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
+# Alias definitions.
+# You may want to put all your additions into a separate file like
+# ~/.bash_aliases, instead of adding them here directly.
+# See /usr/share/doc/bash-doc/examples in the bash-doc package.
+if [ -f ~/.bash_aliases ]; then
+    . ~/.bash_aliases
+fi
+# enable programmable completion features (you don't need to enable
+# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
+# sources /etc/bash.bashrc).
+if ! shopt -oq posix; then
+if [ -f /usr/share/bash-completion/bash_completion ]; then
+    . /usr/share/bash-completion/bash_completion
+elif [ -f /etc/bash_completion ]; then
+    . /etc/bash_completion
+fi
+fi
+#########################################
+# CRUNCHYDATA POSTGRES OPERATOR SETTINGS:
+#########################################
+# operator env vars
+export PATH=$PATH:$HOME/odev/bin
+export PGO_APISERVER_URL=https://127.0.0.1:18443
+#export PGO_APISERVER_URL=https://172.25.212.138:8443
+export PGO_CA_CERT=$HOME/odev/src/github.com/crunchydata/postgres-operator/conf/postgres-operator/server.crt
+export PGO_CLIENT_CERT=$HOME/odev/src/github.com/crunchydata/postgres-operator/conf/postgres-operator/server.crt
+export PGO_CLIENT_KEY=$HOME/odev/src/github.com/crunchydata/postgres-operator/conf/postgres-operator/server.key
+#alias setip='export PGO_APISERVER_URL=https://`kubectl get service postgres-operator -o=jsonpath="{.spec.clusterIP}"`:18443'
+#alias alog='kubectl logs `kubectl get pod --selector=name=postgres-operator -o jsonpath="{.items[0].metadata.name}"` -c apiserver'
+#alias olog='kubectl logs `kubectl get pod --selector=name=postgres-operator -o jsonpath="{.items[0].metadata.name}"` -c operator'
+#
+export CCP_IMAGE_TAG=rhel7-11.1-2.3.0
+export CCP_IMAGE_PREFIX=registry.connect.redhat.com/crunchydata
+export PGO_CMD=oc
+export PGO_BASEOS=rhel7
+export PGO_VERSION=4.0.1
+export PGO_NAMESPACE=pgo
+export PGO_IMAGE_TAG=rhel7-4.0.1
+export PGO_IMAGE_PREFIX=registry.connect.redhat.com/crunchydata
+export GOPATH=$HOME/odev
+export GOBIN=$GOPATH/bin
+export PATH=$PATH:$GOBIN
+# NAMESPACE is the list of namespaces the Operator will watch
+export NAMESPACE=pgouser1,pgouser2
+# PGO_OPERATOR_NAMESPACE is the namespace the Operator is deployed into
+export PGO_OPERATOR_NAMESPACE=pgo
+# PGO_CMD values are either kubectl or oc, use oc if Openshift
+export PGO_CMD=kubectl
+# the directory location of the Operator scripts
+export PGOROOT=$GOPATH/src/github.com/crunchydata/postgres-operator
+# the version of the Operator you run is set by these vars
+export PGO_IMAGE_PREFIX=crunchydata
+export PGO_BASEOS=centos7
+export PGO_VERSION=4.0.1
+export PGO_IMAGE_TAG=$PGO_BASEOS-$PGO_VERSION
+# for the pgo CLI to authenticate with using TLS
+export PGO_CA_CERT=$PGOROOT/conf/postgres-operator/server.crt
+export PGO_CLIENT_CERT=$PGOROOT/conf/postgres-operator/server.crt
+export PGO_CLIENT_KEY=$PGOROOT/conf/postgres-operator/server.key
+# common bash functions for working with the Operator
+function setip() { 
+export PGO_APISERVER_URL=https://`$PGO_CMD -n "$PGO_OPERATOR_NAMESPACE" get service postgres-operator -o=jsonpath="{.spec.clusterIP}"`:18443 
+export CO_APISERVER_URL=https://`$PGO_CMD -n "$PGO_OPERATOR_NAMESPACE" get service postgres-operator -o=jsonpath="{.spec.clusterIP}"`:18443 
+}
+function alog() {
+$PGO_CMD  -n "$PGO_OPERATOR_NAMESPACE" logs `$PGO_CMD  -n "$PGO_OPERATOR_NAMESPACE" get pod --selector=name=postgres-operator -o jsonpath="{.items[0].metadata.name}"` -c apiserver
+}
+function olog () {
+$PGO_CMD  -n "$PGO_OPERATOR_NAMESPACE" logs `$PGO_CMD  -n "$PGO_OPERATOR_NAMESPACE" get pod --selector=name=postgres-operator -o jsonpath="{.items[0].metadata.name}"` -c operator
+}
+function slog () {
+$PGO_CMD  -n "$PGO_OPERATOR_NAMESPACE" logs `$PGO_CMD  -n "$PGO_OPERATOR_NAMESPACE" get pod --selector=name=postgres-operator -o jsonpath="{.items[0].metadata.name}"` -c scheduler
+}
+#export DOCKER_HOST=tcp://localhost:2375
+# crunchy containers: https://github.com/CrunchyData/crunchy-containers/tree/2.4.1
+export GOPATH=$HOME/cdev        # set path to your new Go workspace
+export GOBIN=$GOPATH/bin        # set bin path 
+export PATH=$PATH:$GOBIN        # add Go bin path to your overall path
+export CCP_BASEOS=centos7       # centos7 for Centos, rhel7 for Redhat
+export CCP_PGVERSION=10         # The PostgreSQL major version
+export CCP_PG_FULLVERSION=10.9
+export CCP_VERSION=2.4.1
+export CCP_IMAGE_PREFIX=crunchydata # Prefix to put before all the container image names
+export CCP_IMAGE_TAG=$CCP_BASEOS-$CCP_PG_FULLVERSION-$CCP_VERSION   # Used to tag the images
+export CCPROOT=$GOPATH/src/github.com/crunchydata/crunchy-containers    # The base of the clone github repo
+export CCP_SECURITY_CONTEXT=""
+export CCP_CLI=oc          # kubectl for K8s, oc for OpenShift
+export CCP_NAMESPACE=crunchy-containers       # Change this to whatever namespace/openshift project name you want to use
+export CCP_SECURITY_CONTEXT='"fsGroup":26'
+export CCP_STORAGE_CLASS=gp2
+export CCP_STORAGE_MODE=ReadWriteOnce
+export CCP_STORAGE_CAPACITY=400M
+
+


+
    +
  • port-forward to reach postgres-operator POD with ‘pgo’ tool (18443 port defined in previous .bashrc):
  • +
+
oc project pgo
+oc get pod 
+oc port-forward postgres-operator-844d8f9777-8d5k5 -n pgo 18443:8443
+
+

Cluster Deployment and Operation with pgo

+
pgo create cluster mycluster --pgpool -n pgouser1 --resources-config=small --replica-count=1
+pgo show cluster --all -n pgouser1
+pgo backup mycluster --backup-type=pgbackrest –n pgouser1
+pgo failover mycluster --query –n pgouser1
+pgo failover mycluster --target=mycluster-olvhy –n pgouser1
+pgo test mycluster -n pgouser1
+pgo create cluster somefastpg -n pgouser1 --node-label=speed=fast
+pgo create cluster abouncer --pgbouncer  (sidecar pgbouncer added to this PG cluster)
+pgo create cluster apgpool --pgpool 
+pgo status cluster mycluster –n pgouser1
+pgo ls mycluster –n pgouser1
+pgo reload mycluster –n pgouser1
+pgo scale mycluster –n pgouser1
+
+

PGO USER allows you to manage users and passwords across a set of clusters:

+
pgo user –-selector=name=mycluster --expired=300 –-update-password –n pgouser1
+pgo user –-change-password=bob –n pgouser1 --selector=name=mycluster --password=newpass
+
+

Psql access from postgres operator POD

+
oc project pgo
+oc get pods
+oc rsh postgres-operator-844d8f9777-ppjv9
+export PGPASSWORD=password
+psql -h mycluster-pgpool.pgouser1 -U testuser -l
+psql -h mycluster-pgpool.pgouser1 -U postgres -c "CREATE DATABASE testdb"
+psql -h mycluster-pgpool.pgouser1 -U postgres testdb -c "CREATE TABLE test (ID CHAR(4) NOT NULL, name TEXT NOT NULL, PRIMARY KEY (id))"
+psql -h mycluster-pgpool.pgouser1 -U postgres testdb -c "INSERT INTO test (id,name) VALUES (1, 'user01')"
+psql -h mycluster-pgpool.pgouser1 -U postgres testdb -c "select * from test"
+
+

List Databases with psql

+
postgres=# \l
+                                 List of databases
+   Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges
+-----------+----------+----------+------------+------------+-----------------------
+ postgres  | postgres | UTF8     | en_US.UTF8 | en_US.UTF8 |
+ template0 | postgres | UTF8     | en_US.UTF8 | en_US.UTF8 | =c/postgres          +
+           |          |          |            |            | postgres=CTc/postgres
+ template1 | postgres | UTF8     | en_US.UTF8 | en_US.UTF8 | =c/postgres          +
+           |          |          |            |            | postgres=CTc/postgres
+ userdb    | postgres | UTF8     | en_US.UTF8 | en_US.UTF8 | =Tc/postgres         +
+           |          |          |            |            | postgres=CTc/postgres+
+           |          |          |            |            | testuser=CTc/postgres+
+           |          |          |            |            | user1=CTc/postgres
+(4 rows)
+
+

Access from another POD within the cluster with psql client

+

For example with this psql client

+
oc rsh postgresql-10-centos7-1-pjh46
+sh-4.2$ psql -p 5432 -h mycluster-pgpool.pgouser1 -U postgres postgres
+psql (10.6, server 11.3)
+WARNING: psql major version 10, server major version 11.
+         Some psql features might not work.
+Type "help" for help.
+
+postgres=#
+
+

Access from another POD within the cluster with Pgadmin4 of Crunchy containers Community Edition

+ +

+crunchdydata pgadmin +

+

Debugging Crunchydata Postgres Operator 4.0.1 Community Edition

+
    +
  • Debug level logging in turned on by default when deploying the Operator.
  • +
  • Sample bash functions are supplied in examples/envs.sh to view the Operator logs.
  • +
  • You can view the Operator REST API logs with the alog bash function.
  • +
  • You can view the Operator core logic logs with the olog bash function.
  • +
  • You can view the Scheduler logs with the slog bash function.
  • +
  • You can enable the pgo CLI debugging with the following flag:
  • +
+
$ pgo version --debug
+
+
    +
  • You can set the REST API URL as follows after a deployment if you are developing on your local host by executing the setip bash function.
  • +
  • “alog”, “olog”, “slog” and “setip” are defined in $HOME/.bashrc
  • +
+

Certified Crunchydata Postgres Operator (OLM/OperatorHub). Manual Setup

+
    +
  • We will set this up manually:
      +
    • StorageClass changed to “gp2” in YAML file (AWS)
    • +
    • ‘pgo’ tool compatibility issues
    • +
    +
  • +
+

+crunchdydata operatorhub install2

+

crunchdydata operatorhub install2 +

+
    +
  • NO PODs are deployed -> configuration needed:
  • +
+

+crunchdydata operatorhub install3

+

crunchdydata operatorhub install4 +

+
    +
  • Replica Sets: where PODs should be launched
  • +
+

+crunchdydata operatorhub install5 +

+
    +
  • ReplicaSets (environment) and Deployment:
  • +
+

+crunchdydata operatorhub install6

+

crunchdydata operatorhub install7 +

+
    +
  • Error detected. Solution:
  • +
+
oc adm policy add-scc-to-user anyuid system:serviceaccount:pgophub:default
+
+

+crunchdydata operatorhub install8 +

+
    +
  • We see now a new POD being created:
  • +
+

+crunchdydata operatorhub install9 +

+
    +
  • New errors: “secrets” need to be setup:
  • +
+

+crunchdydata operatorhub install10

+

crunchdydata operatorhub install11

+

crunchdydata operatorhub install12 +

+
    +
  • New errors: 3 “secrets” need to be setup manually -> POD is started successfully and we have psql access.
  • +
+

+crunchdydata operatorhub install13 crunchdydata operatorhub install14

+

crunchdydata operatorhub install15

+

crunchdydata operatorhub install16 +

+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/customer/index.html b/customer/index.html new file mode 100644 index 00000000..446473a2 --- /dev/null +++ b/customer/index.html @@ -0,0 +1,6643 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clients - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Customer Success Stories. Cloud Native Projects

+
    +
  1. BMW IT-Zentrum (Munich)
      +
    1. BMW ConnectedDrive and OpenShift
    2. +
    3. BMW InnovationLab
    4. +
    +
  2. +
  3. Audi
  4. +
  5. Volkswagen
  6. +
  7. Mercedes Benz
  8. +
  9. Tesla
  10. +
  11. IDRA Group
  12. +
  13. Williams F1
  14. +
  15. Carrefour Spain
  16. +
  17. Decathlon
  18. +
  19. Deutsche Telekom
  20. +
  21. AstraZeneca
  22. +
  23. AI for Medical Imaging
  24. +
  25. AXA Group
  26. +
  27. Videos
  28. +
+

BMW IT-Zentrum (Munich)

+
    +
  • BMW IT-Zentrum
  • +
  • CI/CD at BMW IT-Zentrum (2018):
      +
    • Jenkins in OpenShift (CloudBees & OSS): Maven, Seed Job, Multibranch Pipelines, Merge BOTs, OpenShift Source-to-Image (S2I), Fabric8 Java Client Library for Kubernetes, JobDSL & Shared Libraries (groovy).
    • +
    • Requirements of each microservice (configurations) defined in a single json file.
    • +
    • Java Frameworks: Java EE (Jakarta EE) running on Payara.
    • +
    • HA-Proxy, SonarQube, Nexus3, JMeter, Selenium, etc.
    • +
    • Docker, Terraform, Packer, Ansible, YAML, Flyway, PostgreSQL.
    • +
    • Swagger, Postman, Visual Studio Code.
    • +
    • Atlassian: Confluence, Bitbucket, Jira, Crowd.
    • +
    • Hybrid Clouds: OpenStack on-premise clusters, OpenShift 3.10 on-premise clusters, AWS.
    • +
    • Dynatrace APM, Prometheus, Grafana.
    • +
    • Rocket Chat
    • +
    • BMC Remedy ITSM
    • +
    • DevOps with Scrum, GitOps, ITIL Incident Management Workflow, Remote Work.
    • +
    • International Deloitte team based in Munich and outside Germany: Germany, Poland, Albany, Bulgaria, Portugal, Spain.
    • +
    +
  • +
+

BMW ConnectedDrive and OpenShift

+ +

BMW InnovationLab

+
    +
  • BMW InnovationLab This organization contains open source software for realtime computer vision published by the developers, partners and friends of the BMW InnovationLab.
  • +
  • As we transform into a data-driven company, the BMW Group Technology Office conducted a virtual hackathon, together with the Google Cloud Handle ‘Google Cloud’ on machine learning.
  • +
  • Google Cloud Handle’s machine learning capabilities were used to implement use cases — ranging from charging optimisation for our electric vehicles, to wheel classification along our assembly line.
  • +
  • Artificial Intelligence is a key technology in our digital transformation, and we want to enable our colleagues across all disciplines to work with the latest technologies. We strive to offer our worldwide network of software developers the opportunity to view, change, and develop their own algorithms. These projects illustrate the range of solutions that AI can provide, from automatic image recognition to natural language processing.
  • +
  • We also make selected algorithms available in an open source platform. “We expect the further open source development to lead to a rapid and agile advancement of the software,” says Kai Demtroeder, Head of Artificial Intelligence and Data Platforms at BMW Group IT.
  • +
  • aws.amazon.com/blogs/industries: BMW Group Develops a GenAI Assistant to Accelerate Infrastructure Optimization on AWS
  • +
+

Audi

+

Volkswagen

+ +

Mercedes Benz

+ +

Tesla

+
    +
  • hibridosyelectricos.com: Tesla recurre a China para aumentar la calidad de fabricación de sus coches eléctricos
      +
    • La Gigafactoría de Tesla en Shanghái es todo un ejemplo de eficiencia, innovación tecnológica y calidad de fabricación. El responsable de este logro es Tom Zhu, su jefe de Operaciones, que recientemente visitó las dos plantas estadounidenses.
    • +
    • W. Edward Deming fue un ingeniero y consultor estadounidense reconocido como el padre de la gestión de la calidad total en la fabricación de automóviles. Se le considera uno de los responsables del progreso de la industria, gracias al desarrollo de una serie de teorías funcionales y económicas que, desde hace años, supervisan la producción de los vehículos que se fabrican en casi todo el mundo.
    • +
    • Las teorías de Deming estaban muy por delante de su tiempo. Afirman que las organizaciones que se centran en reducir únicamente los costes de producción, automáticamente disminuyen la calidad de sus productos. Por el contrario, aquellas que se concentran en mejorar la calidad, automáticamente rebajan los costes.
    • +
    +
  • +
+

IDRA Group

+ +

Williams F1

+ +

Carrefour Spain

+ +

Decathlon

+ +

Deutsche Telekom

+ +

AstraZeneca

+ +

AI for Medical Imaging

+ +

AXA Group

+ +

Videos

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/databases/index.html b/databases/index.html new file mode 100644 index 00000000..2b30fcfe --- /dev/null +++ b/databases/index.html @@ -0,0 +1,7171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Relational Databases and Database DevOps - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Databases on Kubernetes. Database DevOps

+
    +
  1. Introduction
  2. +
  3. How to choose the right database for your service
  4. +
  5. Database Load Balancer
  6. +
  7. SQL
      +
    1. Alternatives to SQL
    2. +
    +
  8. +
  9. Stored Procedures
  10. +
  11. Performance
  12. +
  13. Stateful and Stateless Applications
  14. +
  15. Serverless Databases
  16. +
  17. DataOps
  18. +
  19. Database Continuous Integration
  20. +
  21. Databases on Kubernetes
  22. +
  23. Database DevOps
  24. +
  25. Database Mesh
  26. +
  27. KubeDB Cloud Native Postgress Database
  28. +
  29. Cockroach Cloud Native Database
  30. +
  31. Operator Lifecycle Manager (OLM)
  32. +
  33. Spilo PostgreSQL Operator
  34. +
  35. Zalando PostgreSQL Operator
  36. +
  37. Crunchy Data PostgreSQL Operator
  38. +
  39. Oracle 12c on OpenShift Container Platform
  40. +
  41. Oracle Database Operator for Kubernetes
  42. +
  43. SQL Server
  44. +
  45. MySQL
  46. +
  47. MariaDB
  48. +
  49. PostgreSQL
  50. +
  51. Percona MySQL
  52. +
  53. Percona PostgreSQL Operator
  54. +
  55. Redis
  56. +
  57. Rockset
  58. +
  59. PysonDB
  60. +
  61. Clickhouse
  62. +
  63. Apache Ignite
  64. +
  65. Apache Druid
  66. +
  67. Dolt is Git for Data
  68. +
  69. VictoriaMetrics and VictoriaLogs
  70. +
  71. Tools
  72. +
  73. Time-Series Database
  74. +
  75. Data Analytics and Visualization Tools
  76. +
  77. Data Lakes
  78. +
  79. Graph Databases
  80. +
  81. Excel
  82. +
  83. Videos
  84. +
  85. Tweets
  86. +
+

Introduction

+ +

How to choose the right database for your service

+ +

Database Load Balancer

+ +

SQL

+ +

Alternatives to SQL

+ +

Stored Procedures

+ +

Performance

+ +

Stateful and Stateless Applications

+ +

+Statefull and Stateless Aplications +

+

Serverless Databases

+ +

DataOps

+ +

Database Continuous Integration

+ +

Databases on Kubernetes

+ +

Database DevOps

+ +

Database Mesh

+ +

KubeDB Cloud Native Postgress Database

+
    +
  • kubedb.com Run production-grade databases easily on Kubernetes
  • +
+

Cockroach Cloud Native Database

+ +

Operator Lifecycle Manager (OLM)

+ +

Spilo PostgreSQL Operator

+ +

Zalando PostgreSQL Operator

+ +

Crunchy Data PostgreSQL Operator

+ +

Oracle 12c on OpenShift Container Platform

+ +

Oracle Database Operator for Kubernetes

+ +

SQL Server

+ +

MySQL

+ +

MariaDB

+ +

PostgreSQL

+ +

Percona MySQL

+ +

Percona PostgreSQL Operator

+ +

Redis

+ +

Rockset

+ +

PysonDB

+ +

Clickhouse

+ +

Apache Ignite

+ +

Apache Druid

+ +

Dolt is Git for Data

+ +

VictoriaMetrics and VictoriaLogs

+ +

Tools

+ +

Time-Series Database

+ +

Data Analytics and Visualization Tools

+ +

Data Lakes

+ +

Graph Databases

+ +

Excel

+ +

Videos

+
+Click to expand! +

+ + + + +

+
+

Tweets

+
+ Click to expand! + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/demos/index.html b/demos/index.html new file mode 100644 index 00000000..1c3dcb5d --- /dev/null +++ b/demos/index.html @@ -0,0 +1,8278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Demos, Boilerplates & Screencasts - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

DevOps Demos. Boilerplates/Samples, Tutorials & Screencasts

+
    +
  1. DevOps Screencasts
  2. +
  3. DevOps Blogs
  4. +
  5. Kubernetes Blogs
  6. +
  7. DevOps Docker Demos
      +
    1. Container Tools
    2. +
    3. Ansible and Ansible Tower
    4. +
    5. GitOps
    6. +
    +
  8. +
  9. Kubernetes Demos
      +
    1. Webhooks app
    2. +
    3. Django on K8s
    4. +
    5. Postgres Operator
    6. +
    7. CI/CD with SpringBoot for Kubernetes
        +
      1. Deploy a Spring Boot Application to Openshift with Spring Cloud Kubernetes and Fabric 8 Maven Plugin
      2. +
      3. Spring Initializr and k8s Initializer
      4. +
      +
    8. +
    9. Kubernetes CKAD Example Exam Questions Practical Challenge Series
    10. +
    11. Istio Service Mesh
    12. +
    13. Envoy Service Mesh
    14. +
    15. Consul Service Mesh
    16. +
    17. Kubernetes Network Policy Samples
    18. +
    19. Rancher
    20. +
    21. GitOps Workflow with Flux
    22. +
    23. Amazon EKS. Deploy example microservices on EKS
    24. +
    25. Azure AKS
    26. +
    27. Google Kubernetes Engine GKE
    28. +
    29. Environments to learn and practice Kubernetes security
    30. +
    31. Harbor Container Registry
    32. +
    33. OPA Gatekeeper
    34. +
    35. Konveyor Move2Kube
    36. +
    +
  10. +
  11. Red Hat Demo Central
      +
    1. Cloud Native Development Architectural Diagrams Demos
    2. +
    +
  12. +
  13. OpenShift Demos
      +
    1. Developer Sandbox
    2. +
    3. OpenShift VS Kubernetes
    4. +
    5. IBM Cloud Pak Playbooks and GitOps
    6. +
    7. Knative
    8. +
    9. OpenShift Pipelines Workshop (Tekton)
    10. +
    11. OpenShift GitOps (ArgoCD)
    12. +
    13. ArgoCD
    14. +
    15. GitLab Pipelines on OpenShift
    16. +
    17. Deploying Web Applications with Eclipse JKube (formerly known as Fabric8 Maven Plugin)
    18. +
    19. Monitoring Services with OpenShift ServiceMesh
    20. +
    21. Red Hat Migration Toolkit for Applications
    22. +
    23. Red Hat Advanced Cluster Management RHACM. Red Hat’s Hybrid And Multi-Cloud Platform
    24. +
    25. OKD
    26. +
    27. Helm demos
    28. +
    29. Writing Kubernetes Operators
    30. +
    31. Customized Reports with Metering Operator (monitoring k8s resources)
    32. +
    33. Red Hat AMQ Streams (Kafka)
    34. +
    35. OpenShift AI
    36. +
    +
  14. +
  15. Jenkins Demos
      +
    1. Jenkins Declarative Pipelines with OpenShift
    2. +
    3. OpenShift Pipelines with S2i and Jenkins Blue Ocean
    4. +
    5. Jenkins Configuration as Code on Kubernetes
    6. +
    7. From Jenkins Freestyle jobs to Pipeline, with JobDSL. Seed jobs
    8. +
    9. Jenkins and GitHub
    10. +
    11. Jenkins and AWS Kubernetes
    12. +
    13. SDKMAN
    14. +
    15. Jenkins Scripts
    16. +
    17. Postman \& Newman API Automated Tests
    18. +
    19. Monitoring Jenkins with Grafana
    20. +
    +
  16. +
  17. Jenkins X
  18. +
  19. Spinnaker
  20. +
  21. Nexus3 on Kubernetes
  22. +
  23. GitLab
  24. +
  25. Spring PetClinic Sample Application
      +
    1. Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL
    2. +
    3. PetClinic on Kubernetes
    4. +
    5. PetClinic Docker images
    6. +
    7. OpenShift.io Samples
    8. +
    +
  26. +
  27. AWS Samples (Boilerplates)
  28. +
  29. Azure Samples
      +
    1. Azure DevOps Demos. Azure DevOps Pipelines
    2. +
    3. Azure Demos
    4. +
    +
  30. +
  31. GCP Samples
      +
    1. Google DevOps Demos. Custom Samples and Cloud Code
    2. +
    3. GitOps with Anthos Config Management
    4. +
    +
  32. +
  33. SpringBoot Demos
  34. +
  35. Quarkus Demos
  36. +
  37. Golang Demos
  38. +
  39. Kafka
  40. +
  41. Apache Camel \& ActiveMQ. Event driven integration
  42. +
  43. Codeless
  44. +
  45. JBoss EAP
  46. +
  47. Terraform
  48. +
  49. Prometheus and Grafana
  50. +
  51. GitHub Actions
      +
    1. RedHat GitHub Actions
    2. +
    +
  52. +
  53. Red Hat Process Automation Manager
  54. +
  55. API Testing and Postman
  56. +
  57. OpenTelemetry
  58. +
  59. QR Codes
  60. +
  61. Serverless
  62. +
  63. Labs
  64. +
+

DevOps Screencasts

+ +

DevOps Blogs

+ +

Kubernetes Blogs

+ +

DevOps Docker Demos

+ +

Container Tools

+

Ansible and Ansible Tower

+ +

GitOps

+ +

Kubernetes Demos

+ +

Webhooks app

+
    +
  • webhooks.app Webhook endpoints available for your tests and demos.
  • +
  • itnext.io: Journey Of A Microservice Application In The Kubernetes World Presentation of webhooks.app . TL;DR +webhooks.app is an open source application following the microservice architecture. Its purpose is to provide a webhook endpoint for demos. In this series of articles, I will present the application and several steps I used (and will use) to have it running in production in a Kubernetes cluster.
  • +
+

Django on K8s

+ +

Postgres Operator

+ +

CI/CD with SpringBoot for Kubernetes

+ +

Deploy a Spring Boot Application to Openshift with Spring Cloud Kubernetes and Fabric 8 Maven Plugin

+ +

Spring Initializr and k8s Initializer

+ +

Kubernetes CKAD Example Exam Questions Practical Challenge Series

+ +

Istio Service Mesh

+ +

Envoy Service Mesh

+

Consul Service Mesh

+ +

Kubernetes Network Policy Samples

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

Rancher

+ +

GitOps Workflow with Flux

+ +

Amazon EKS. Deploy example microservices on EKS

+ +

Azure AKS

+ +

Google Kubernetes Engine GKE

+ +

Environments to learn and practice Kubernetes security

+
    +
  • The Kubernetes Goat designed to be intentionally vulnerable cluster environment to learn and practice Kubernetes security.
  • +
+

Harbor Container Registry

+

OPA Gatekeeper

+ +

Konveyor Move2Kube

+ +

Red Hat Demo Central

+ +

Cloud Native Development Architectural Diagrams Demos

+
    +
  • Cloud-native development is an approach to building and running applications to fully exploit the advantages of the cloud computing model (i.e. responsive, elastic and resilient applications).
  • +
  • Portfolio Architecture Workshops for creating impactful architectural diagrams. This workshop will teach you how to use, design, and create architectural diagrams based on the draw.io tooling and Red Hat Portfolio Architecture design elelements. You’ll leverage existing portfolio architecture diagrams as starting points. +
  • +
+

OpenShift Demos

+ +

Developer Sandbox

+ +

OpenShift VS Kubernetes

+ +

IBM Cloud Pak Playbooks and GitOps

+
    +
  • IBM Cloud Pak Playbook
  • +
  • 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.
  • +
+

Knative

+ +

OpenShift Pipelines Workshop (Tekton)

+ +

OpenShift GitOps (ArgoCD)

+ +

ArgoCD

+ +

GitLab Pipelines on OpenShift

+ +

Deploying Web Applications with Eclipse JKube (formerly known as Fabric8 Maven Plugin)

+ +

Monitoring Services with OpenShift ServiceMesh

+ +

Red Hat Migration Toolkit for Applications

+ +

Red Hat Advanced Cluster Management RHACM. Red Hat’s Hybrid And Multi-Cloud Platform

+ +

OKD

+ +

Helm demos

+ +

Writing Kubernetes Operators

+ +

Customized Reports with Metering Operator (monitoring k8s resources)

+ +

Red Hat AMQ Streams (Kafka)

+
    +
  • developers.redhat.com: HTTP-based Kafka messaging with Red Hat AMQ Streams
  • +
  • developers.redhat.com: Message broker integration made simple with Red Hat Fuse This article presents a sample integration between Red Hat AMQ 7 and IBM MQ, using Red Hat Fuse 7 for the integration. Traditionally, developers have used resource adapters for message bridging with external systems. A resource adapter is a system library that provides connectivity to an enterprise information system (EIS). Similar to how a Java Database Connectivity (JDBC) driver provides connectivity to a database management system, a resource adapter plugs into an application server such as Red Hat JBoss Enterprise Application Platform (JBoss EAP). It then connects the application server, enterprise information system, and the enterprise application.
  • +
+

OpenShift AI

+
    +
  • OpenShift AI Examples A repository containing deployments of popular open source generative AI projects including Open-WebUI, Ollama, and Stable Diffusion WebUI.
  • +
+

Jenkins Demos

+ +

Jenkins Declarative Pipelines with OpenShift

+ +

OpenShift Pipelines with S2i and Jenkins Blue Ocean

+ +

Jenkins Configuration as Code on Kubernetes

+ +

From Jenkins Freestyle jobs to Pipeline, with JobDSL. Seed jobs

+ +
+Video: From Freestyle jobs to Pipeline, with JobDSL. Click to expand! +

+ +

+
+

Jenkins and GitHub

+ +

Jenkins and AWS Kubernetes

+ +

SDKMAN

+
    +
  • SdkMan is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems. It provides a convenient Command Line Interface (CLI) and API for installing, switching, removing and listing Candidates. Formerly known as GVM the Groovy enVironment Manager, it was inspired by the very useful RVM and rbenv tools, used at large by the Ruby community.
  • +
  • Using Jenkins Pipeline parallel stages to build Maven project with different JDKs
  • +
  • Demo: A single Jenkinsfile, a Java Maven project, a single Dockerfile, multiple Java versions build and tested in parallel thanks to SDKMAN: +
  • +
+
+Video: Jenkins Pipeline with multiple Java versions. Click to expand! +

+ +

+
+

Jenkins Scripts

+
    +
  • cleanup.Jenkinsfile: Jenkinsfile with Declarative Pipeline Multiline sh that cleanups old builds. All the Stages are now visually monitored. It is triggered every saturday night and ends with jenkins restart. These Multi-line bash commands make easier to read Jenkins Projects.
  • +
  • daily_restart.Jenkinsfile: A script that automatically triggers a daily restart of Jenkins due to performance issues (Jenkins is a Java application). Jenkins with Declarative Pipeline multiline sh that restarts Jenkins every night except on Saturday nights (when cleanup.Jenkinsfile is triggered).
  • +
  • confluence6-docker-build.Jenkinsfile: Declarative Jenkinsfile for building and uploading a docker image to Openshift-DEV, Dockerhub and Openshift-PROD (Stages are disabled via Conditional Build Steps). Tip: A Docker Plugin for Jenkins can easily replace this Jenkinsfile.
  • +
+

Grab them from here: awesome-kubernetes/scripts

+

Postman & Newman API Automated Tests

+ +

Monitoring Jenkins with Grafana

+ +

Jenkins X

+ +

Spinnaker

+ +

Nexus3 on Kubernetes

+ +

GitLab

+ +

Spring PetClinic Sample Application

+ +

Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL

+ +

PetClinic on Kubernetes

+ +

PetClinic Docker images

+ +

OpenShift.io Samples

+ +

AWS Samples (Boilerplates)

+ +

Azure Samples

+ +

Azure DevOps Demos. Azure DevOps Pipelines

+ +

Azure Demos

+ +

GCP Samples

+ +

Google DevOps Demos. Custom Samples and Cloud Code

+ +

GitOps with Anthos Config Management

+ +

SpringBoot Demos

+ +

Quarkus Demos

+ +

Golang Demos

+
    +
  • stefanprodan/podinfo Go microservice template for Kubernetes. Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes. Podinfo is used by CNCF projects like Flux and Flagger for end-to-end testing and workshops.
  • +
+

Kafka

+ +

Apache Camel & ActiveMQ. Event driven integration

+ +

Codeless

+ +

JBoss EAP

+ +

Terraform

+ +

Prometheus and Grafana

+ +

GitHub Actions

+ +

RedHat GitHub Actions

+ +

Red Hat Process Automation Manager

+ +

API Testing and Postman

+ +

OpenTelemetry

+ +

QR Codes

+ +

Serverless

+ +

Labs

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/devel-sites/index.html b/devel-sites/index.html new file mode 100644 index 00000000..3ea81d0e --- /dev/null +++ b/devel-sites/index.html @@ -0,0 +1,6664 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Websites for web developers - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Development & Frameworks. Websites for web developers

+
    +
  1. Introduction
  2. +
  3. Design Patterns
  4. +
  5. Documentation Driven Development (DDD)
  6. +
  7. Developer Tools
      +
    1. Firebase
    2. +
    3. Supabase Studio. An alternative to Firebase
    4. +
    5. Ballerina
    6. +
    7. Red Hat Software Collections and Red Hat Developer Toolset
    8. +
    9. Dhall Configuration Language
    10. +
    11. DDEV
    12. +
    13. OCLIF
    14. +
    +
  8. +
  9. AI Programming
  10. +
  11. No code tools
  12. +
  13. Images
  14. +
  15. Tweets
  16. +
+

Introduction

+ +

Design Patterns

+ +

Documentation Driven Development (DDD)

+ +

Developer Tools

+ +

Firebase

+ +

Supabase Studio. An alternative to Firebase

+ +

Ballerina

+ +

Red Hat Software Collections and Red Hat Developer Toolset

+ +

Dhall Configuration Language

+ +

DDEV

+
    +
  • ddev.com Meet your new local development environment. DDEV simplifies integrating the power and consistency of containerization into your workflows. Set up environments in minutes; switch contexts and projects quickly and easily; speed your time to deployment. We handle the complexity. You get on with the valuable part of your job.
  • +
  • opensource.com: 16 reasons DDEV will be your new favorite web development environment What’s so different about DDEV? It’s a container-based local web development environment. An open source tool for launching local PHP, Node.js, and HTML/JS development environments in minutes.
  • +
+

OCLIF

+
    +
  • oclif.io 🌟 Build simple to advanced CLIs in minutes. oclif is an open source framework for building a command line interface (CLI) in Node.js. Create CLIs with a few flags or advanced CLIs that have subcommands. oclif makes it easy for you to build CLIs for your company, service, or your own development needs.
  • +
  • medium.com/@jdxcode: 12 Factor CLI Apps
  • +
+

AI Programming

+ +

No code tools

+

Images

+
+Click to expand! +

+best practices temp solution +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/developerportals/index.html b/developerportals/index.html new file mode 100644 index 00000000..bd8be29c --- /dev/null +++ b/developerportals/index.html @@ -0,0 +1,6928 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + API Marketplaces. API Management with API Gateways & Developer Portals - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

API Marketplaces. API Management with API Gateways & Developer Portals

+
    +
  1. Introduction
  2. +
  3. HTTPs for Developers
  4. +
  5. API Landscape and API Marketplaces
      +
    1. API Marketplaces
    2. +
    3. Rapid API Marketplace. Free Public \& Open REST APIs
    4. +
    5. Apis.guru Large Archive of Sample OpenAPI Descriptions
    6. +
    +
  6. +
  7. API Managers with API Gateways \& Developer Portals
      +
    1. API Management vs API Gateway vs Developer Portals
    2. +
    3. 3scale API Manager
    4. +
    5. Google Apigee API Manager
    6. +
    7. IBM API Connect
    8. +
    9. WSO2 API Manager
    10. +
    11. Kong API Manager
    12. +
    13. Tyk API Manager
    14. +
    15. Axway API Manager
    16. +
    17. MuleSoft API Manager
    18. +
    19. Gloo Federation API Gateway Management
    20. +
    21. Backstage Developer Portal
    22. +
    23. APISIX
    24. +
    25. NGINX as an API Gateway
    26. +
    27. Lura API Gateway (based on KrakenD)
    28. +
    29. Spring Cloud Gateway
    30. +
    +
  8. +
  9. Mobile Developer Portals
  10. +
  11. Automotive
      +
    1. Auto API
    2. +
    3. Smartcar
    4. +
    5. Others
    6. +
    +
  12. +
  13. Banking
  14. +
  15. Insurance
  16. +
  17. Telecom
  18. +
  19. Tweets
  20. +
+

Introduction

+ +

HTTPs for Developers

+ +

API Landscape and API Marketplaces

+ +

API Marketplaces

+ +

Rapid API Marketplace. Free Public & Open REST APIs

+
    +
  • Rapid API: Find and Connect to Thousands of APIs. RapidAPI is the world’s largest API Marketplace, is used by over one million developers to find, test, and connect to thousands of APIs — all with a single account, API Key, and SDK.
  • +
  • dzone: RapidAPI Provides API Marketplace and Insight APIs are driving businesses and innovation.
  • +
+

Apis.guru Large Archive of Sample OpenAPI Descriptions

+

API Managers with API Gateways & Developer Portals

+ +

API Management vs API Gateway vs Developer Portals

+ +

3scale API Manager

+ +

Google Apigee API Manager

+
    +
  • Google Apigee API Manager Apigee is an API management platform for developing, analyzing, securing & scaling various APIs and apps. It provides API technology and services for a wide range of organizations and developers to stimulate the pace of digital business. Through API, Apigee assists businesses to securely share data and services across various channels/devices in order to enhance the customer experience. Companies can manage growth and spikes in API traffic with features like traffic isolation and independent scaling.
  • +
  • Apigee @Youtube
  • +
+

IBM API Connect

+ +

WSO2 API Manager

+ +

Kong API Manager

+ +

Tyk API Manager

+ +

Axway API Manager

+ +

MuleSoft API Manager

+ +

Gloo Federation API Gateway Management

+ +

Backstage Developer Portal

+ +

APISIX

+ +

NGINX as an API Gateway

+ +

Lura API Gateway (based on KrakenD)

+ +

Spring Cloud Gateway

+ +

Mobile Developer Portals

+ +

Automotive

+

Auto API

+ +

Smartcar

+ +

Others

+ +

Banking

+ +

Insurance

+ +

Telecom

+ +

Tweets

+ +
+ Click to expand! + +
+ + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/devops-tools/index.html b/devops-tools/index.html new file mode 100644 index 00000000..a05818bd --- /dev/null +++ b/devops-tools/index.html @@ -0,0 +1,6513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DevOps Tools - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

DevOps Tools aka Toolchain

+
    +
  1. Introduction
  2. +
  3. Keptn
  4. +
  5. Relay
  6. +
  7. Devtron. Tool integration platform for kubernetes
  8. +
  9. Codegiant
  10. +
  11. CapabilityPE (capipe)
  12. +
+

Introduction

+ +

Keptn

+ +

Relay

+
    +
  • Relay Event-driven automation that connects the cloud providers, DevOps tools, and other APIs you already use.
  • +
  • Automation tools can learn a lot from the CI/CD and Serverless ecosystems. Relay by PuppetLabs leverages Tekton and Knative in an attempt to do just that.
  • +
  • zdnet.com: Puppet introduces beta of cloud-native, event-driven DevOps program: Relay The open-source wants to expand DevOps to cover cloud and containers with its newest program.
  • +
+

Devtron. Tool integration platform for kubernetes

+ +

Codegiant

+ +

CapabilityPE (capipe)

+
    +
  • github.com/AdminTurnedDevOps/CapabilityPE Platform Engineering capabilities and stacks installed with one command.
  • +
  • +

    You know what’s missing? An easy tool that just installs capibilities (ArgoCD, Datadog, KubeVirt, etc.) in an easy way. One command to do it all. A tool that easily gets whatever capabilities you want your kubernetes cluster to have deployed in production. Capipe, which stands for Capibility Platform Engineering, allows you to specify capabilities that you want to install within your Platform Engineering environment.

    +
  • +
  • +

    GitHub Copilot Now Explains Failed Actions Jobs (GA) - (Related to cicd topic)

    +
  • +
  • KubeUI: A Desktop Kubernetes Client - (Related to kubernetes-tools topic)
  • +
  • PMEase QuickBuild - (Related to cicd topic)
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/devops/index.html b/devops/index.html new file mode 100644 index 00000000..01566ef7 --- /dev/null +++ b/devops/index.html @@ -0,0 +1,7346 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DevOps - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

DevOps

+
    +
  1. Introduction to Digital Business Transformation
  2. +
  3. Automation Glossary
  4. +
  5. Blogs
  6. +
  7. DevOps Books
  8. +
  9. Podcasts
  10. +
  11. Training
      +
    1. Spanish
    2. +
    +
  12. +
  13. Automation anxiety
  14. +
  15. State of DevOps. Google’s DevOps Research and Assessment (DORA)
  16. +
  17. Configuration Drift
      +
    1. Drift Detection Tools
    2. +
    +
  18. +
  19. DevOps Docs
  20. +
  21. DORA metrics
  22. +
  23. DevOps Roadmap
  24. +
  25. APIOps
  26. +
  27. Multicloud
  28. +
  29. Serverless DevOps
  30. +
  31. DevOps as a Service (DaaS)
  32. +
  33. IaC Infrastructure as Code
  34. +
  35. Xebia Labs and DevOps
  36. +
  37. DevOps Tools
  38. +
  39. Netflix and DevOps
  40. +
  41. Public Cloud DevOps
      +
    1. AWS DevOps
    2. +
    3. Azure DevOps
    4. +
    5. Google Cloud Platform
    6. +
    +
  42. +
  43. NoOps
  44. +
  45. NetOps
  46. +
  47. PlatformOps
  48. +
  49. GPT 3 Tools
  50. +
  51. Data as Code
  52. +
  53. DevOps for SAP
  54. +
  55. Youtube Playlists
  56. +
  57. Platform Engineering and Internal Developer Platform
      +
    1. IDP Tools
    2. +
    +
  58. +
  59. Bunch of Images
  60. +
  61. Slides
  62. +
  63. Videos
  64. +
  65. Tweets
  66. +
+

+ + +

+

Introduction to Digital Business Transformation

+ +

Automation Glossary

+ +

Blogs

+ +

DevOps Books

+ +

Podcasts

+ +

Training

+ +

Spanish

+

Automation anxiety

+ +
    +
  • Sysadmins and engineers may have personal fears about adopting automation, as much of their typical day revolves around the manual tasks and processes that automation promises to eliminate. Automation anxiety is the fear that if these tasks can be handled by automated tools, there will no longer be any reason to keep a person in that role. Nobody likes being automated out of a job.
  • +
  • Automation anxiety is largely unfounded, however, as automating manual tasks frees up people’s time that can instead be used to work on more innovative, more strategic and higher value projects.
  • +
+
+

State of DevOps. Google’s DevOps Research and Assessment (DORA)

+ +

Configuration Drift

+ +

Drift Detection Tools

+ +

DevOps Docs

+ + + + + +

+

OCP 4 Pland and Deploy

+

devops tools dzone +

+

DORA metrics

+ +

DevOps Roadmap

+ +

APIOps

+ +

Multicloud

+ +

Serverless DevOps

+ +

DevOps as a Service (DaaS)

+ +

IaC Infrastructure as Code

+ +

Xebia Labs and DevOps

+ +

DevOps Tools

+ +

Netflix and DevOps

+ +

Public Cloud DevOps

+

AWS DevOps

+ +

Azure DevOps

+ +

Google Cloud Platform

+ +

NoOps

+ +

NetOps

+ +

PlatformOps

+ +

GPT 3 Tools

+ +

Data as Code

+ +

DevOps for SAP

+ +

Youtube Playlists

+ +

Platform Engineering and Internal Developer Platform

+ +

IDP Tools

+ +

Bunch of Images

+
+Click to expand! +

+

Devops containers strategy

+

Dynamic kubernetes config

+

DevOps culture

+

Programmer Move

+

DevOps Gene Kim

+

DevOps to no ops

+

DevOps Ken Mugrage

+

DevOps wikipedia

+

DevOps today

+

DevOps dilbert

+

DevOps vs Agile

+

DevOps capgemini

+

DevOps practices

+

DevOps qbp

+

DevOps patterns

+

What-is-DevOps

+

automation

+

devops1

+

8 devops trends

+

devops lifecycle

+

devops tools declarative imperative +

+
+

Slides

+
+Click to expand! +

+ +

+
+

Videos

+
+ Click to expand! + +
+ + + + + + + + + + +
+
+ +

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + +
+
+ +

+ + +

+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/devsecops/index.html b/devsecops/index.html new file mode 100644 index 00000000..6c01ae91 --- /dev/null +++ b/devsecops/index.html @@ -0,0 +1,7935 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DevSecOps. Container Security - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

DevSecOps and Security. Container

+
    +
  1. Introduction
  2. +
  3. Kubernetes Security Compliance Frameworks
  4. +
  5. Zero Trust Security
  6. +
  7. Authentication and Authorization
      +
    1. OpenID Connect and OAuth 2.0
    2. +
    +
  8. +
  9. Quality Gates
  10. +
  11. 16 Gates
  12. +
  13. Kubernetes Threat Modelling
  14. +
  15. Kubernetes Config Security Threats
      +
    1. Kubernetes Ingress Security
    2. +
    +
  16. +
  17. Security Linting on Kubernetes
  18. +
  19. IaC and Security
  20. +
  21. Multi-Level Security (MLS) vs Multi-Category Security (MCS). Make Secure Pipelines with Podman and Containers
  22. +
  23. Project Calico
  24. +
  25. The Falco Project
  26. +
  27. Security Patterns for Microservice Architectures
  28. +
  29. Anchore Container Security Solutions for DevSecOps
  30. +
  31. Twistlock and Threat Stack Container Security
  32. +
  33. OWASP
  34. +
  35. Source Code Audit
  36. +
  37. StackRox
  38. +
  39. Secure Container Based CI/CD Workflows. Vulnerability Scanner for Container Images
      +
    1. Securing Kubernetes With Anchore
    2. +
    3. Container Signing. Secure Containers with Notary or Cosign
    4. +
    +
  40. +
  41. GitHub security
  42. +
  43. Databases in DMZ and Intranet
  44. +
  45. Removing Credentials From Git Repo
  46. +
  47. Pentesting
  48. +
  49. SQL Injection
  50. +
  51. Credential Managers
      +
    1. keycloak
    2. +
    3. Git Credential Manager Core
    4. +
    +
  52. +
  53. Secrets Management
      +
    1. Anti Patterns. Wrong Secrets
    2. +
    3. AWS Secret Manager
    4. +
    5. Password Hashing
    6. +
    7. Store private data in git repo
    8. +
    9. HashiCorp Vault
        +
      1. HashiCorp Vault Agent
      2. +
      +
    10. +
    11. Azure Key Vault
    12. +
    13. CyberArk and Ansible
    14. +
    15. CyberArk Conjur
    16. +
    17. SOPS for Kubernetes
    18. +
    19. AKS Secrets
    20. +
    21. Kapitan
    22. +
    23. Alternatives with Kubernetes External Secrets
    24. +
    25. Bitwarden
    26. +
    +
  54. +
  55. Serverless Security Best Practices
  56. +
  57. Docker Images and Container Security
      +
    1. Sigstore
    2. +
    3. Container security best practices
    4. +
    +
  58. +
  59. Pod Security Policies
  60. +
  61. Kubernetes Network Policies
  62. +
  63. Static Analysis SAST
  64. +
  65. Kubernetes Security Tools
  66. +
  67. Helm Charts Security. Helm Secrets
  68. +
  69. Password Recovery
  70. +
  71. Attacks on Kubernetes via Misconfigured Argo Workflows
  72. +
  73. PKI
  74. +
  75. Network Intrusion Tools
  76. +
  77. Other Security Tools
      +
    1. Torq. No code Security Automation
    2. +
    3. Security-Guard
    4. +
    +
  78. +
  79. Books
  80. +
  81. CVEs
      +
    1. Log4j Log4Shell
    2. +
    +
  82. +
  83. Powershell
  84. +
  85. Nmap scripts
  86. +
  87. Let’s Encrypt SSL certificates
  88. +
  89. WAF Web Application Firewall
  90. +
  91. More Security Tools
  92. +
  93. Videos
  94. +
  95. Twitter
  96. +
+

Introduction

+ +

Kubernetes Security Compliance Frameworks

+
    +
  • armosec.io: Kubernetes Security Compliance Frameworks 🌟
      +
    • The challenge of administering security and maintaining compliance in a Kubernetes ecosystem is typically the same: an increasingly dynamic, changing landscape, be it new approaches of cyberattacks or adhering to changing regulations. Kubernetes security requires a complex and multifaceted approach since an effective strategy needs to:
        +
      • Ensure clean code
      • +
      • Provide full observability
      • +
      • Prevent the exchange of information with untrusted services
      • +
      • Produce digital signatures for clean code and trusted applications
      • +
      +
    • +
    • Since Kubernetes follows a loosely coupled architecture, securing the ecosystem involves a cross-combination of best practices, tools, and processes. It is also recommended to consider frameworks that issue specific guidelines for easing the complexity of administering the security and compliance of a Kubernetes ecosystem. Such frameworks help organizations create flexible, iterative, and cost-effective approaches to keeping clusters and applications safe and compliant while ensuring optimum performance. A typical framework’s guidance on Kubernetes security and compliance should essentially consider:
        +
      • Architecture best practices
      • +
      • Security within CI/CD pipelines
      • +
      • Resource protection
      • +
      • Container runtime protection
      • +
      • Supply chain security
      • +
      • Network security
      • +
      • Vulnerability scanning
      • +
      • Secrets management and protection
      • +
      +
    • +
    +
  • +
+

Zero Trust Security

+ +

Authentication and Authorization

+ +

OpenID Connect and OAuth 2.0

+ +

Quality Gates

+ +

16 Gates

+
    +
  • medium: Focusing on the DevOps Pipeline 🌟 Delivering High Quality Working Software Faster with Agile DevOps. At Capital One, we design pipelines using the concept of the “16 Gates”. These are our guiding design principles and they are:
      +
    • Source code version control
    • +
    • Optimum branching strategy
    • +
    • Static analysis
    • +
    • More than 80% code coverage
    • +
    • Vulnerability scan
    • +
    • Open source scan
    • +
    • Artifact version control
    • +
    • Auto provisioning
    • +
    • Immutable servers
    • +
    • Integration testing
    • +
    • Performance testing
    • +
    • Build deploy testing automated for every commit
    • +
    • Automated rollback
    • +
    • Automated change order
    • +
    • Zero downtime release
    • +
    • Feature toggle
    • +
    +
  • +
  • github.com/hygieia/Hygieia 🌟 CapitalOne DevOps Dashboard
  • +
+

Kubernetes Threat Modelling

+

Kubernetes Config Security Threats

+ +

Kubernetes Ingress Security

+ +

Security Linting on Kubernetes

+ +

IaC and Security

+ +

Multi-Level Security (MLS) vs Multi-Category Security (MCS). Make Secure Pipelines with Podman and Containers

+ +

Project Calico

+ +

The Falco Project

+ +

Security Patterns for Microservice Architectures

+ +

Anchore Container Security Solutions for DevSecOps

+ +

Twistlock and Threat Stack Container Security

+ +

OWASP

+ +

Source Code Audit

+
    +
  • securecoding.com: Code Audit: How to Ensure Compliance for an Application A source code audit is a process of analyzing the source code of an application with the objective of discovering security vulnerabilities, security design problems, and places of potential improvement in programming practices. After the analysis, a report is generated that is used to implement a range of measures that guarantee the security and reliability of the code. Code audits can be carried out in parallel with penetration tests. They can test the exploitability of code vulnerabilities to better estimate the risk they pose. Ideally, code audits are performed throughout the application lifecycle. The faster a vulnerability is discovered, the easier it is to fix!
  • +
+

StackRox

+ +

Secure Container Based CI/CD Workflows. Vulnerability Scanner for Container Images

+ +

Securing Kubernetes With Anchore

+ +

Container Signing. Secure Containers with Notary or Cosign

+ +

GitHub security

+ +

Databases in DMZ and Intranet

+ +

Removing Credentials From Git Repo

+ +

Pentesting

+ +

SQL Injection

+ +

Credential Managers

+

keycloak

+ +

Git Credential Manager Core

+ +

Secrets Management

+ +

Anti Patterns. Wrong Secrets

+
    +
  • commjoen/wrongsecrets: OWASP WrongSecrets Examples with how to not use secrets. Welcome to the OWASP WrongSecrets p0wnable app. With this app, we have packed various ways of how to not store your secrets. These can help you to realize whether your secret management is ok. The challenge is to find all the different secrets by means of various tools and techniques.
  • +
+

AWS Secret Manager

+ +

Password Hashing

+ +

Store private data in git repo

+ +

HashiCorp Vault

+ +

HashiCorp Vault Agent

+ +

Azure Key Vault

+ +

CyberArk and Ansible

+ +

CyberArk Conjur

+ +

SOPS for Kubernetes

+ +

AKS Secrets

+
    +
  • mehighlow.medium.com: Hardened-AKS/Secrets Commonly, an application requires access to data and, usually, such access must be restricted. So, you need to provide your pod/deployment/replicaSet/DaemonSet with secrets. Learn how you can do so in AKS
  • +
+

Kapitan

+ +

Alternatives with Kubernetes External Secrets

+ +

Bitwarden

+ +

Serverless Security Best Practices

+ +

Docker Images and Container Security

+ +

Sigstore

+ +

Container security best practices

+ +

Pod Security Policies

+ +

Kubernetes Network Policies

+ +

Static Analysis SAST

+ +

Kubernetes Security Tools

+ +

Helm Charts Security. Helm Secrets

+ +

Password Recovery

+ +

Attacks on Kubernetes via Misconfigured Argo Workflows

+ +

PKI

+
    +
  • devops.com: How to Automate PKI for DevOps With Open Source Tools The ultimate goal of PKI for DevOps is to provision PKI credentials for business applications without hard-coded secrets, which is one less risk to concern the security team. The goal of DevOps for PKI is to automatically deploy a completely configured PKI solution, which is one less roadblock for DevOps teams.
  • +
+

Network Intrusion Tools

+ +

Other Security Tools

+ +

Torq. No code Security Automation

+ +

Security-Guard

+ +

Books

+ +

CVEs

+ +

Log4j Log4Shell

+ +

Powershell

+ +

Nmap scripts

+ +

Let’s Encrypt SSL certificates

+ +

WAF Web Application Firewall

+ +

More Security Tools

+ +

Videos

+
+Click to expand! +

+ +

+
+

Twitter

+
+Click to expand! +

+ + +

+
+
    +
  • Kubernetes Security Best Practices: A DevSecOps Perspective - This LinkedIn post discusses the challenges women face in advancing their careers in asset management, particularly concerning promotion decisions during childbearing years. It highlights how career interruptions and childcare responsibilities can disproportionately affect women’s earnings and career progression. The author also touches on the career risks associated with pregnancy for women in new roles.
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-money/index.html b/digital-money/index.html new file mode 100644 index 00000000..cc8936e2 --- /dev/null +++ b/digital-money/index.html @@ -0,0 +1,6448 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Digital Money - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Digital Money

+
    +
  1. Introduction
  2. +
  3. Tweets
  4. +
  5. Spanish Videos
  6. +
  7. English Videos
  8. +
+

Introduction

+ +

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + +
+
+ +

Spanish Videos

+
+ Click to expand! + +
+ +
+ +
+
+ + +
+ +
+
+
+
+ +

English Videos

+
+ Click to expand! + +
+ + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digitalocean/index.html b/digitalocean/index.html new file mode 100644 index 00000000..7510ead2 --- /dev/null +++ b/digitalocean/index.html @@ -0,0 +1,6436 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Digital Ocean - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Digital Ocean

+
    +
  1. Introduction
  2. +
  3. Digital Ocean Kubernetes (DOKS)
  4. +
  5. Migrating to Digital Ocean with CloudPlex
  6. +
  7. Community Tools
  8. +
  9. App Platform. Digital Ocean PaaS
  10. +
+

Introduction

+ +

Digital Ocean Kubernetes (DOKS)

+ +

Migrating to Digital Ocean with CloudPlex

+
    +
  • try.digitalocean.com/cloudplex CloudPlex unlocks the freedom to migrate applications to the cloud of your choice. Avoid vendor lock-in and start taking advantage of DigitalOcean’s simple Managed Kubernetes.
  • +
+

Community Tools

+ +

App Platform. Digital Ocean PaaS

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docker/index.html b/docker/index.html new file mode 100644 index 00000000..a7d6565c --- /dev/null +++ b/docker/index.html @@ -0,0 +1,7116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Docker - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Docker

+
    +
  1. Introduction and Tutorials
  2. +
  3. Docker Best Practices
  4. +
  5. Docker Networking
  6. +
  7. Docker Volumes
  8. +
  9. Debugging
  10. +
  11. Docker CLI
  12. +
  13. Docker Extensions
  14. +
  15. Docker Swarm
  16. +
  17. Awesome Lists
  18. +
  19. Docker VS Kubernetes
  20. +
  21. Docker for LLMs
  22. +
  23. Docker Patterns and Antipatterns
  24. +
  25. Docker Security
  26. +
  27. How To Build a Smaller Docker Image and write dockerfiles efficiently
  28. +
  29. Reducing Build Time
  30. +
  31. Modify containers without rebuilding
  32. +
  33. Docker Tools
  34. +
  35. Docker and WSL2
  36. +
  37. Docker and Docker Swarm Cheat sheets
  38. +
  39. Docker Compose
  40. +
  41. Moving Linux Services Into Containers
  42. +
  43. Windows Containers
  44. +
  45. Portainer
  46. +
  47. DockStation
  48. +
  49. Linux Container Base Images
  50. +
  51. Blogs
  52. +
  53. Cloud Native Buildpacks
  54. +
  55. Alternatives to Docker. Available alternatives to Docker for OCI compliant container image building
  56. +
  57. Videos and Podcasts
  58. +
  59. Tweets
  60. +
+

Introduction and Tutorials

+ +

Docker Best Practices

+ +

Docker Networking

+ +

Docker Volumes

+ +

Debugging

+ +

Docker CLI

+
    +
  • docs.docker.com: docker buildx imagetools Commands to work on images in registry
  • +
  • +

    Who is still copying images between registries with:

    +
      +
    • docker cli:
        +
      • docker pull
      • +
      • docker tag
      • +
      • docker push
      • +
      +
    • +
    • Use:
        +
      • crane cp
      • +
      +
    • +
    • +

      Or even:

      +
        +
      • cosign cp
      • +
      +
    • +
    • +

      It’s faster, and supports multi-arch (and cosign copies signatures/sboms/attestations)

      +
    • +
    +
  • +
+

Docker Extensions

+ +

Docker Swarm

+ +

Awesome Lists

+ +

Docker VS Kubernetes

+

Docker for LLMs

+ +

Docker Patterns and Antipatterns

+ +

Docker Security

+ +

How To Build a Smaller Docker Image and write dockerfiles efficiently

+ +

Reducing Build Time

+ +

Modify containers without rebuilding

+ +

Docker Tools

+ +

Docker and WSL2

+ +

Docker and Docker Swarm Cheat sheets

+ +

Docker Compose

+ +

Moving Linux Services Into Containers

+ +

Windows Containers

+ +

Portainer

+ +

DockStation

+

Linux Container Base Images

+ +

Blogs

+ +

Cloud Native Buildpacks

+ +

Alternatives to Docker. Available alternatives to Docker for OCI compliant container image building

+ +

Videos and Podcasts

+
+ Click to expand! + +
+ + + + + + + + +
+
+ +

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dom/index.html b/dom/index.html new file mode 100644 index 00000000..97ec85cf --- /dev/null +++ b/dom/index.html @@ -0,0 +1,6337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Document Object Model (DOM) - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Document Object Model (DOM)

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dotnet/index.html b/dotnet/index.html new file mode 100644 index 00000000..c47f361d --- /dev/null +++ b/dotnet/index.html @@ -0,0 +1,6540 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Microsoft .NET - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Microsoft .NET

+
    +
  1. Introduction
  2. +
  3. ASP.NET Core
  4. +
  5. NuGet Packages and nuspec file
  6. +
  7. .NET MAUI
  8. +
  9. Polly .NET resilience and transient-fault-handling library
  10. +
  11. Paradigm framework
  12. +
  13. More dotnet frameworks and tools
  14. +
  15. Kubernetes for ASP.NET Core Developers
  16. +
  17. Deploying ASP.NET Core applications to Kubernetes
  18. +
  19. Tweets
  20. +
+

Introduction

+ +

ASP.NET Core

+ +

NuGet Packages and nuspec file

+ +

.NET MAUI

+
    +
  • devblogs.microsoft.com: Getting Started with DevOps and .NET MAUI .NET Multi-platform App UI (.NET MAUI) unifies Android, iOS, macOS, and Windows UI frameworks into a single framework so you can write one app that runs natively on many platforms. In this post, we will look at how easy it is to implement basic DevOps pipelines for .NET MAUI apps using GitHub Actions and Azure DevOps.
  • +
+

Polly .NET resilience and transient-fault-handling library

+ +

Paradigm framework

+
    +
  • Paradigm framework Built for NetCore, and featuring its own ORM and code generation tools, Paradigm sets the stage for a new breed of high-performance, multiplatform applications.
  • +
  • Paradigm Framework is a .net core Enterprise libraries, ORM and code scaffolding tool.
  • +
+

More dotnet frameworks and tools

+ +

Kubernetes for ASP.NET Core Developers

+ +

Deploying ASP.NET Core applications to Kubernetes

+ +

Tweets

+
+ Click to expand! + +
+ + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/edge-computing/index.html b/edge-computing/index.html new file mode 100644 index 00000000..4f27cc9a --- /dev/null +++ b/edge-computing/index.html @@ -0,0 +1,6336 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Edge Computing - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Edge Computing

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/elearning/index.html b/elearning/index.html new file mode 100644 index 00000000..9a924d69 --- /dev/null +++ b/elearning/index.html @@ -0,0 +1,6472 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + E-Learning - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

E-learning

+
    +
  1. List
  2. +
  3. Best Microservice Architecture Courses
  4. +
  5. Spanish E-learning
  6. +
  7. Opinions
  8. +
  9. Tweets
  10. +
+

List

+ +

Best Microservice Architecture Courses

+ +

Spanish E-learning

+ +

Opinions

+ +

Tweets

+
+ Click to expand! + +
+ +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/embedded-servlet-containers/index.html b/embedded-servlet-containers/index.html new file mode 100644 index 00000000..18bcfd78 --- /dev/null +++ b/embedded-servlet-containers/index.html @@ -0,0 +1,6405 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Embedded Servlet Containers in SpringBoot - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Embedded Servlet Containers in SpringBoot: Jetty, Tomcat, Undertow and more

+
    +
  1. Apache Tomcat
  2. +
  3. Embedded Servlet Containers in SpringBoot
  4. +
  5. Undertow
  6. +
+

Apache Tomcat

+
    +
  • Apache Tomcat migration tool for Jakarta EE The aim of the tool is to take a web application written for Java EE 8 that runs on Apache Tomcat 9 and convert it automatically so it runs on Apache Tomcat 10 which implements Jakarta EE 9.
  • +
+

Embedded Servlet Containers in SpringBoot

+ +

Undertow

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/faq/index.html b/faq/index.html new file mode 100644 index 00000000..8335ef6f --- /dev/null +++ b/faq/index.html @@ -0,0 +1,6486 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Microservices FAQ & Kubernetes Native - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Microservices FAQ

+
    +
  1. FAQ
  2. +
  3. History of Microservices
  4. +
  5. Kubernetes Native
  6. +
  7. Adoption of Cloud-Native Architecture
  8. +
  9. Migration Styles. Lift and Shift Cloud Migration Strategy
  10. +
  11. Architectural Patterns for Caching Microservices
  12. +
  13. Bunch of Images
  14. +
+

FAQ

+ +

History of Microservices

+ +

Kubernetes Native

+ +

Adoption of Cloud-Native Architecture

+ +

Migration Styles. Lift and Shift Cloud Migration Strategy

+ +

Architectural Patterns for Caching Microservices

+ +

Bunch of Images

+
+Click to expand! +

+history of microservices

+

microservice arch

+

Full Stack developer

+

from_monolith_to_containers +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/finops/index.html b/finops/index.html new file mode 100644 index 00000000..5c312cce --- /dev/null +++ b/finops/index.html @@ -0,0 +1,6621 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FinOps. Cloud Financial Management - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Cloud FinOps. Collaborative, Real-Time Cloud Financial Management (CFM)

+
    +
  1. Introduction
  2. +
  3. Compute Cost Calculator
  4. +
  5. AWS Cost Optimizations
  6. +
  7. Azure Cost Governance
  8. +
  9. Kubernetes Cost Optimization
  10. +
  11. Licence Managers
  12. +
  13. EKS
  14. +
  15. Books
  16. +
  17. Kubernetes Governance and Cost Management for the Cloud-Native Enterprise
      +
    1. Replex
    2. +
    +
  18. +
  19. Cost Optimization Tools
  20. +
  21. Tweets
  22. +
+

Introduction

+ +

Compute Cost Calculator

+
    +
  • https://compute-cost.com 🌟
  • +
  • This tool finds the lowest price of compute resources from different services (currently just in AWS). To balance simplicity and utility, only the most common features are available as filters.
  • +
  • “As an AWS user, I often want to know the cheapest options for compute resources given some project-specific criteria. So, I made a tool to show me that data in a way that is useful to me. Maybe it will be useful to you” @ericwastl
  • +
+

AWS Cost Optimizations

+ +

Azure Cost Governance

+ +

Kubernetes Cost Optimization

+ +

Licence Managers

+ +

EKS

+ +

Books

+

Kubernetes Governance and Cost Management for the Cloud-Native Enterprise

+ +

Replex

+
    +
  • replex.io
  • +
  • replex.io: An Introduction to Kubernetes FinOps FinOps is a cross domain discipline that represents a set of tools, best practices and processes aimed towards making software and infrastructure more cost effective. In this article we provide an introduction to Kubernetes Finops.
  • +
+

Cost Optimization Tools

+ +

Tweets

+
+Click to expand! +

+

+

+

+

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/flux/index.html b/flux/index.html new file mode 100644 index 00000000..fbeea145 --- /dev/null +++ b/flux/index.html @@ -0,0 +1,6465 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flux CD - The GitOps Operator for Kubernetes - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Flux. The GitOps operator for Kubernetes

+
    +
  1. Introduction
  2. +
  3. ArgoCD vs FluxCD
  4. +
  5. Flux Terraform Controller
  6. +
  7. Templates
  8. +
+

Introduction

+ +

ArgoCD vs FluxCD

+ +

Flux Terraform Controller

+ +

Templates

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/freelancing/index.html b/freelancing/index.html new file mode 100644 index 00000000..02d9d17b --- /dev/null +++ b/freelancing/index.html @@ -0,0 +1,6547 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Freelancing - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Freelancing

+
    +
  1. Introduction
  2. +
  3. Freelancing in Spain
      +
    1. Advisory. Asesorías
    2. +
    +
  4. +
  5. Top Freelancing Platforms
  6. +
  7. Alternatives. Contractor Management / Umbrella Company solutions
      +
    1. Umbrella Companies
    2. +
    +
  8. +
  9. Videos
  10. +
  11. Tweets
  12. +
+

+ + +

+

Introduction

+ +

Freelancing in Spain

+ +

Advisory. Asesorías

+ +

Top Freelancing Platforms

+ +

Alternatives. Contractor Management / Umbrella Company solutions

+
    +
  • If you are not earning substantial amounts of money, Umbrella Companies are a cheaper option than being self-employed in Spain. They generate invoices for you, pay social security, deduct tax and file your tax return at the end of the year.
  • +
  • They offer solutions across Europe, the Middle East and Africa.
  • +
  • Most of the time the umbrella company will want you to work as a freelancer. Otherwise it’s a B2B contract between the umbrella company and the client, raising the invoices to the client (they will probably reject it).
  • +
  • paystream.co.uk: What is an umbrella company?
  • +
  • umbrellaselector.com/Spain
  • +
  • freelance.es Work like an umbrella company
  • +
  • contractortaxation.com/contracting-in-spain
  • +
+

Umbrella Companies

+ +

Videos

+
+Click to expand! +

+ +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/git/index.html b/git/index.html new file mode 100644 index 00000000..780cead1 --- /dev/null +++ b/git/index.html @@ -0,0 +1,7949 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Git & Git Patterns. Trunk Devel, Git Flow & Feature Flags. Merge BOTs - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Git and Patterns for Managing Source Code Branches. Merge BOTs

+
    +
  1. Git Distributed Version-Control System
  2. +
  3. Git Releases
  4. +
  5. Git stash
  6. +
  7. Git Squash
  8. +
  9. Git Branches
  10. +
  11. Git Merge
  12. +
  13. Merge Repositories
  14. +
  15. Git Aliases
  16. +
  17. Git Rebase
  18. +
  19. Git and GitHub Backup
  20. +
  21. Cherry-picking
  22. +
  23. Git Submodules
  24. +
  25. Shields
  26. +
  27. Design By Contract
  28. +
  29. Git Cheat Sheets
  30. +
  31. Monorepo VS Polyrepo
  32. +
  33. Patterns for Managing Source Code Branches (Branching Models/Workflows)
      +
    1. Git Workflows
    2. +
    3. Trunk Based Development
    4. +
    5. Feature Branch Development (aka GitFlow)
        +
      1. Git Flow
      2. +
      3. Git Flow is a bad idea
      4. +
      +
    6. +
    7. Trunk-based Development vs. Git Flow
    8. +
    9. Alternative Branching Models
        +
      1. Feature Flags (Feature Toggles)
          +
        1. Keystone Interface and Keystone Flags
        2. +
        +
      2. +
      +
    10. +
    +
  34. +
  35. Git Commands
  36. +
  37. BitBucket
  38. +
  39. GitLab
      +
    1. GitLab Collective
    2. +
    +
  40. +
  41. GitHub
      +
    1. Fake it til you make it
    2. +
    3. GitHub Lab
    4. +
    5. GitHub Code Scanner
    6. +
    7. GitHub Discussions
    8. +
    9. GitHub Actions
        +
      1. GitHub Actions Marketplace
      2. +
      +
    10. +
    11. GitHub Actions and OpenShift
    12. +
    13. GitHub Copilot
        +
      1. GitHub CoPilot VS GPT-3
      2. +
      3. GitHub Copilot X
      4. +
      5. Alternatives
          +
        1. CodiumAI
        2. +
        +
      6. +
      +
    14. +
    +
  42. +
  43. Gitea
  44. +
  45. Sapling
  46. +
  47. Git Tools
      +
    1. Git Credential Manager
    2. +
    3. Semantic-release. CI/CD semantic release workflow (semantic Versioning, commit format and releases)
    4. +
    +
  48. +
  49. Azure DevOps (formerly known as VSTS)
  50. +
  51. Pre Commit Hooks
  52. +
  53. Merge BOTs
      +
    1. Tips
    2. +
    3. Jenkins for git merges
    4. +
    5. Bitbucket for git merges
    6. +
    7. GitLab for git merges
        +
      1. Marge GitLab bot
      2. +
      +
    8. +
    9. Jenkins-X bots
    10. +
    11. Plastic SCM bot
    12. +
    13. Mergify bot
    14. +
    15. GitHub bots
        +
      1. Bors GitHub bot
      2. +
      +
    16. +
    +
  54. +
  55. Videos
  56. +
  57. Slides
  58. +
  59. Tweets
  60. +
+

Git Distributed Version-Control System

+ +

Git Releases

+ +

Git stash

+ +

Git Squash

+ +

Git Branches

+ +

Git Merge

+ +

Merge Repositories

+ +

Git Aliases

+ +

Git Rebase

+ +

Git and GitHub Backup

+ +

Cherry-picking

+ +

Git Submodules

+ +

Shields

+ +

Design By Contract

+

Wikipedia: Design by contract (DbC), also known as contract programming, programming by contract and design-by-contract programming, is an approach for designing software.

+

It prescribes that software designers should define formal, precise and verifiable interface specifications for software components, which extend the ordinary definition of abstract data types with preconditions, postconditions and invariants. These specifications are referred to as “contracts”, in accordance with a conceptual metaphor with the conditions and obligations of business contracts.

+

Git Cheat Sheets

+ +

Monorepo VS Polyrepo

+ +

Patterns for Managing Source Code Branches (Branching Models/Workflows)

+ +
+Slide: 10 git anti patterns. Click to expand! +

+ +

+
+

Git Workflows

+ +

Trunk Based Development

+ +

Feature Branch Development (aka GitFlow)

+ +

Git Flow

+ +

Git Flow is a bad idea

+
    +
  • thinkinglabs.io: Feature Branching considered Evil
      +
    • youtube: Feature Branching is Evil (Thierry de Pauw, Belgium)
    • +
    • 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 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

+ +

Alternative Branching Models

+ +

Feature Flags (Feature Toggles)

+ +
Keystone Interface and Keystone Flags
+ +

Git Commands

+
    +
  • Show commit logs:
  • +
+
git log --oneline --all --graph --decorate
+
+ +
git reset --hard HEAD^
+git push origin -f
+
+
    +
  • Undoing commits. In case you pushed a wrong change and you want to remove it totally the following commands explain how to do it in soft, mixed and hard mode:
  • +
+
git reset --soft HEAD^ # Removes the last commit, keeps changed staged
+git reset --mixed HEAD^ # Unstages the changes as well
+git reset --hard HEAD^ # Discards local changes
+
+
    +
  • Reverting commits:
  • +
+
git revert 72856ea # Reverts the given commit
+git revert HEAD~3.. # Reverts the last three commits
+git revert --no-commit HEAD~3..
+
+
    +
  • Recovering lost commits. We can list all last changes and recover back any commit we would like to get again:
  • +
+
git reflog # Shows the history of HEAD
+git reflog show bugfix # Shows the history of bugfix pointer
+
+
    +
  • Amending the last commit. Let’s suppose that you commit a wrong log message and you would like to fix it without changing the commit. — amend flag will allow us to do it:
  • +
+
git commit --amend
+
+
    +
  • Interactive rebasing. Interactive rebasing can be used for changing commits in many ways such as editing, deleting, and squashing:
  • +
+
git rebase -i HEAD~5
+
+

BitBucket

+ +

GitLab

+ +

GitLab Collective

+ +

GitHub

+ +

Fake it til you make it

+
    +
  • github.com/rakyll/fake-it-til-you-make-it Have you come across to someone that thinks you don’t deserve a job because you don’t have GitHub contributions? Never worked for a company who hired based on GitHub contributions alone. If anyone is bugging you because you are not an open source developer or your company doesn’t use GitHub, use fake-it-til-you-make-it to generate two years of contributions.
  • +
+

GitHub Lab

+
    +
  • lab.github.com 🌟 With GitHub Learning Lab, grow your skills by completing fun, realistic projects. Get advice and helpful feedback from our friendly Learning Lab bot.
  • +
+

GitHub Code Scanner

+ +

GitHub Discussions

+ +

GitHub Actions

+ +

GitHub Actions Marketplace

+
    +
  • flat-data Flat Data is a GitHub action which makes it easy to fetch data and commit it to your repository as flatfiles. The action is intended to be run on a schedule, retrieving data from any supported target and creating a commit if there is any change to the fetched data.
  • +
+

GitHub Actions and OpenShift

+ +

GitHub Copilot

+ +

GitHub CoPilot VS GPT-3

+ +

GitHub Copilot X

+ +

Alternatives

+ +
CodiumAI
+ +

Gitea

+ +

Sapling

+ +

Git Tools

+ +

Git Credential Manager

+
    +
  • Git Credential Manager Secure, cross-platform Git credential storage with authentication to GitHub, Azure Repos, and other popular Git hosting services.
  • +
  • Git Credential Manager (GCM) is a secure Git credential helper built on .NET that runs on Windows, macOS, and Linux.
  • +
  • github.blog: Git Credential Manager: authentication for everyone Ensuring secure access to your source code is more important than ever. Git Credential Manager helps make that easy.
  • +
+

Semantic-release. CI/CD semantic release workflow (semantic Versioning, commit format and releases)

+ +

Azure DevOps (formerly known as VSTS)

+ +

Pre Commit Hooks

+
    +
  • pre-commit A framework for managing and maintaining multi-language pre-commit hooks.
  • +
+

Merge BOTs

+
    +
  • The Merge Bot is a tool to orchestrate pull requests merging into the stable branches.
  • +
  • Wikipedia: Software bot
  • +
+

Tips

+
    +
  • Use bots to accomplish tasks like merging PR’s that have been approved and automatically updating dependencies. Usage of one of these bots might allow us to trigger certain builds based off of specific GitHub tags, it would allow us to only selectively run certain test suites and increase the throughput of the build by only testing changes made in a branch / PR.
  • +
  • Investigate options that are available and see if we can integrate them with CI.
  • +
  • We should be able to configure this bot to automatically apply labels to PR’s based off of what is changed in a PR. For instance, if a PR contains any documentation changes, the area/Documentation label can be applied.
  • +
+

Jenkins for git merges

+ +

Bitbucket for git merges

+ +

GitLab for git merges

+
    +
  • Auto-merge between release branches
  • +
  • Provide merge bot functionality
  • +
  • lab.texthtml.net: Gitlab Merge Bot +
  • +
  • Mergecrush A email & slack reminder bot for Gitlab merge requests.
  • +
  • stackoverflow.com: How can we programmatically approve merge requests in GitLab?
      +
    • Our group has a bot that creates merge requests for certain mechanical changes to our code base. We’d like these MRs to get merged in automatically if/when the CI pipeline succeeds, but our projects require an approval from a member of our group. This means that right now a human has to manually click on “approve” and “merge” for each bot-created MR. Apparently GitLab doesn’t have a way to set different approval rules for some users, so I haven’t found a way to make the bot’s user immune to this requirement.
    • +
    • My current idea is to have a separate process that approves each of the merge requests created by the bot. Is there an easy way to do this programmatically? That is, is there an API (or better yet, a command line tool) that, when given the name of the branch for a merge request, approves the merge request associated with that branch?
    • +
    • I’m also open to other ways of getting these changes in with minimal human intervention. I do want them to pass the CI pipeline, though (which is currently accomplished by having them use MRs) and the MRs also help in the rare cases where the pipeline fails, so we can debug what went wrong.
    • +
    +
  • +
+

Marge GitLab bot

+ +

Jenkins-X bots

+
    +
  • Jenkins-X UpdateBOT A simple bot for updating dependencies in source code and automatically generating Pull Requests in downstream projects.
  • +
+

Plastic SCM bot

+ +

Mergify bot

+ +

GitHub bots

+ +

Bors GitHub bot

+ +

Videos

+
+Click to expand! +

+ + + + + + +

+
+

Slides

+
+Click to expand! +

+ +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
    +
  • Purposeful Commits 🌟 - A blog post by Chris Arcand discussing strategies for managing Git commit history, advocating for practices that result in a cleaner and more understandable history by avoiding noisy merge commits and WIP messages, ultimately making it easier to track changes, revert regressions, and understand the evolution of a codebase.
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gitops/index.html b/gitops/index.html new file mode 100644 index 00000000..63066dca --- /dev/null +++ b/gitops/index.html @@ -0,0 +1,7141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GitOps - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

GitOps

+
    +
  1. Introduction
  2. +
  3. GitOps Working Group
  4. +
  5. OpenGitOps Project
  6. +
  7. GitOps Patterns
  8. +
  9. Git Repositories Structures
  10. +
  11. GitOps Tools
      +
    1. Flux. The GitOps Operator for Kubernetes
    2. +
    3. Kustomize. Kubernetes native configuration management
    4. +
    5. Helm
    6. +
    7. GlassKube Package Manager for Kubernetes
    8. +
    9. Flagger
    10. +
    11. WKSctl. Weave Kubernetes System Control
    12. +
    13. Jenkins
    14. +
    15. Terraform
    16. +
    17. Config Sync and Anthos Config Management
    18. +
    19. Portworx AutoPilot
    20. +
    21. OpenShift Applier
    22. +
    23. HashiCorp Waypoint
    24. +
    25. Weave GitOps
    26. +
    27. Octopilot
    28. +
    +
  12. +
  13. GitOps Frameworks
  14. +
  15. Kubernetes Platforms and GitOps
      +
    1. OpenShift GitOps
    2. +
    3. AWS Kubernetes
    4. +
    5. Weave Kubernetes Platform
    6. +
    7. Ubuntu Charmed Kubernetes
    8. +
    +
  16. +
  17. APIOps
  18. +
  19. Images
  20. +
  21. Tweets
  22. +
  23. Videos
  24. +
+

+ + +

+

Introduction

+ +

+gitops in a nutshell +

+

+app ops +

+

GitOps Working Group

+
    +
  • GitOps Working Group 🌟
  • +
  • The Five GitOps Principles (as defined by the GitOps Working Group) to the lifecycle of an infrastructure resource, like a virtual machine or load balancer:
      +
    • Declarative Configuration (define the resource as code)
    • +
    • Version controlled (use source control to manage the resource definition)
    • +
    • Automated delivery (provision and manage the resource from the definition using automation)
    • +
    • Software Agents (implement automated configuration management for the resource)
    • +
    • Closed loop (build the delivery pipeline for integration testing for resource changes)
    • +
    +
  • +
+

OpenGitOps Project

+
    +
  • github.com/open-gitops/project 🌟 OpenGitOps is a CNCF Sandbox project to define a vendor-neutral, principle-led meaning of GitOps. This will establish a foundation for interoperability between tools, conformance, and certification through lasting programs, documents, and code.
  • +
+

GitOps Patterns

+ +

Git Repositories Structures

+ +

GitOps Tools

+ +

+gitops pipeline +

+

Flux. The GitOps Operator for Kubernetes

+ +

Kustomize. Kubernetes native configuration management

+ +

Helm

+ +

GlassKube Package Manager for Kubernetes

+
    +
  • glasskube.dev 🌟
  • +
  • github.com/glasskube/glasskube The next generation Package Manager for Kubernetes. Featuring a GUI and a CLI. Glasskube packages are dependency aware, GitOps ready and can get automatic updates via a central public package repository.
  • +
+

Flagger

+ +

WKSctl. Weave Kubernetes System Control

+ +

Jenkins

+ +

Terraform

+ +

Config Sync and Anthos Config Management

+ +

Portworx AutoPilot

+ +

OpenShift Applier

+ +

HashiCorp Waypoint

+
    +
  • waypointproject.io Waypoint provides a modern workflow to build, deploy, and release across platforms. Waypoint uses a single configuration file and common workflow to manage and observe deployments across platforms such as Kubernetes, Nomad, EC2, Google Cloud Run, and more.
  • +
  • hashicorp.com: Using Waypoint Runners To Enable GitOps Workflows Waypoint runners perform builds, deployments, poll for Git repository changes, and allow deployments for any platform.
  • +
+

Weave GitOps

+
    +
  • Weave GitOps Enterprise
      +
    • Weave GitOps Enterprise is a continuous operations product that makes it easy to deploy and manage Kubernetes clusters and applications in any environment. With a single management console that lets you operate clusters running anywhere, in the public cloud, on the edge or in any hybrid scenario. Strong multi-tenancy can accelerate app delivery by providing developers with self-serve isolated workload namespaces across environments.
    • +
    • With Weave GitOps Enterprise, every change is recorded in Git – whether it’s a change to application code or platform config and whoever was responsible. So you have a self-generating audit trail available at all times, and far fewer…
    • +
    +
  • +
  • thenewstack.io: Weave GitOps Core Integrates Git with Kubernetes
  • +
  • thenewstack.io: Weave GitOps Trusted Delivery: A Road to Kubernetes Sanity?
  • +
+

Octopilot

+ +

GitOps Frameworks

+
    +
  • Kubestack 🌟: Doc: Kubestack is an open-source GitOps framework for infrastructure automation built on Terraform and Kustomize. It’s designed for teams that want to automate Kubernetes based infrastructure and not reinvent automation. Think of it this way, Kubestack is to Terraform and infrastructure automation, what Spring Boot is to Java and cloud native applications. The framework supports all three major cloud providers and has been used as the foundation for a number of real world customer projects as part of my colleagues’ and my consulting work. It is fully documented, has a step-by-step tutorial to help users get started and even includes a local GitOps development lab. So you can test-drive Kubestack and learn more about GitOps for infrastructure automation in the comfort of your own localhost. +
  • +
+

Kubernetes Platforms and GitOps

+ +

OpenShift GitOps

+ +

AWS Kubernetes

+ +

Weave Kubernetes Platform

+ +

Ubuntu Charmed Kubernetes

+ +

APIOps

+ +

Images

+
+Click to expand! +

+traditional devops vs gitops

+

devops pipeline vs gitops pipeline +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + +
+
+ +

Videos

+
    +
  • youtube.com: GitOps Guide to the Galaxy 🌟🌟🌟 Want to implement GitOps across your organization? Every other Thursday at 3pm ET hosts Hilliary Lipsig & Jonathan Rickard dive into everything in the GitOps universe, from solutions to common problems in end-to-end CICD pipelines, to creating Git workflows. Learn how GitOps enhances modern application delivery and join us to discuss the latest news around best practices and Cloud Native architecture. Keep calm and GitOps on!
  • +
+
+ Click to expand! + +
+ + + +

Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps from Weaveworks on Vimeo.

+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/golang/index.html b/golang/index.html new file mode 100644 index 00000000..a3917e0a --- /dev/null +++ b/golang/index.html @@ -0,0 +1,6669 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Golang - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Golang - Go

+
    +
  1. Introduction
  2. +
  3. Design Patterns
  4. +
  5. Tutorials
  6. +
  7. Kubernetes Client Go
  8. +
  9. Building container images
  10. +
  11. Go cheatsheets
  12. +
  13. Go Frameworks and libraries
  14. +
  15. Go packages
  16. +
  17. Go Tools
  18. +
  19. Go Books
  20. +
  21. Go Samples
  22. +
  23. Dockerfile for go
  24. +
  25. Videos
  26. +
  27. Tweets
  28. +
+

Introduction

+ +

Design Patterns

+ +

Tutorials

+ +

Kubernetes Client Go

+ +

Building container images

+ +

Go cheatsheets

+ +

Go Frameworks and libraries

+ +

Go packages

+
    +
  • cap A collection of authentication Go packages related to OIDC, JWKs and Distributed Claims.
  • +
  • volatiletech/sqlboiler Generate a Go ORM tailored to your database schema.
  • +
+

Go Tools

+ +

Go Books

+ +

Go Samples

+ +

Dockerfile for go

+ +

Videos

+
+Click to expand! +

+ +

+
+

Tweets

+ +
+ Click to expand! + +
+ + + + + + + + + +
+
+
    +
  • NodeJS Best Practices (Spanish Translation) - This repository provides a comprehensive guide to NodeJS best practices, with a focus on a Spanish translation of the main README file. It covers various aspects of NodeJS development to ensure maintainability, scalability, and performance.
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/grafana/index.html b/grafana/index.html new file mode 100644 index 00000000..b0f048c7 --- /dev/null +++ b/grafana/index.html @@ -0,0 +1,6573 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Grafana - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Grafana

+
    +
  1. Introduction
  2. +
  3. Grafana Agent
  4. +
  5. Grafana Faro
  6. +
  7. Grafana Mimir
  8. +
  9. Grafana Dashboards
  10. +
  11. Grafana Releases
  12. +
  13. Grafana Loki
  14. +
  15. Grafana Beyla
  16. +
  17. Grafana as Code
  18. +
+

Introduction

+ +

Grafana Agent

+ +

Grafana Faro

+ +

Grafana Mimir

+
    +
  • github.com/grafana/mimir Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus.
  • +
+

Grafana Dashboards

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Monitored ComponentCollectorDashboard NumberURL
ActiveMQ 5.x “classic”Telegraf10702Ref1, Ref2, Ref3, Ref4
ActiveMQ Artemis/Red Hat AMQ BrokerJMX Exporter9087Ref1, Ref2, Ref3
Message Streams like Kafka/Red Hat AMQ StreamsOther9777
+

Grafana Releases

+ +

Grafana Loki

+ +

Grafana Beyla

+ +

Grafana as Code

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/helm/index.html b/helm/index.html new file mode 100644 index 00000000..d5505876 --- /dev/null +++ b/helm/index.html @@ -0,0 +1,6778 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Helm Kubernetes Tool - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Helm Kubernetes Tool

+
    +
  1. Helm
  2. +
  3. Helm Plugins
  4. +
  5. Helm Chart Documentation
  6. +
  7. Helm Dashboard
  8. +
  9. Kubecrt
  10. +
  11. Datree
  12. +
  13. Helm Charts repositories
  14. +
  15. Helm Charts
  16. +
  17. Shalm. Scriptable helm charts
  18. +
  19. Helmfile
  20. +
  21. Database Migrations
  22. +
  23. Helm Tools
  24. +
  25. Helm Books
  26. +
  27. Videos
  28. +
  29. Tweets
  30. +
+

Helm

+ +

Helm Plugins

+ +

Helm Chart Documentation

+ +

Helm Dashboard

+ +

Kubecrt

+ +

Datree

+ +

Helm Charts repositories

+ +

Helm Charts

+ +

Shalm. Scriptable helm charts

+

Helmfile

+ +

Database Migrations

+ +

Helm Tools

+ +

Helm Books

+ +

Videos

+
+Click to expand! +

+ + + + +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/hr/index.html b/hr/index.html new file mode 100644 index 00000000..2662b320 --- /dev/null +++ b/hr/index.html @@ -0,0 +1,6397 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Human Resources - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Human Resources

+
    +
  1. Introduction
  2. +
  3. Company Handbook
  4. +
  5. Spanish
  6. +
+

Introduction

+ +

Company Handbook

+ +

Spanish

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/iac/index.html b/iac/index.html new file mode 100644 index 00000000..0d0749f2 --- /dev/null +++ b/iac/index.html @@ -0,0 +1,6590 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IaC Infrastructure as Code - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Infrastructure Provisioning. Infra Management Tools. IaC Infrastructure as Code

+
    +
  1. Introduction
  2. +
  3. Local Environment as Code
  4. +
  5. Comparing the Tools
  6. +
  7. Tools
  8. +
  9. Infrastructure as Code using Kubernetes
      +
    1. Config Connector
    2. +
    +
  10. +
  11. Videos
  12. +
  13. Tweets
  14. +
+

Introduction

+ +

Local Environment as Code

+ +

Comparing the Tools

+ +

Tools

+ +

Infrastructure as Code using Kubernetes

+ +

Config Connector

+
    +
  • cloud.google.com/config-connector Config Connector is an open source Kubernetes addon that allows you to manage Google Cloud resources through Kubernetes.
  • +
  • medium.com/globant: Infrastructure as Code using Kubernetes
      +
    • Config Connector (KCC) is a solution to maintain Cloud Resources as Infrastructure as Code. It is built as an Open Source initiative and runs on Kubernetes clusters. As such, it leverages YAML files to maintain and operate such resources.
    • +
    • Config Connector has two versions: an Add-On for Google Kubernetes Engine (GKE) clusters and a manual installation for other Kubernetes distributions.
    • +
    +
  • +
+

Videos

+ +
+Click to expand! +

+ + + +

+
+

Tweets

+
+ Click to expand! + +
+ + + +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ibm_cloud/index.html b/ibm_cloud/index.html new file mode 100644 index 00000000..9c68c047 --- /dev/null +++ b/ibm_cloud/index.html @@ -0,0 +1,6572 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IBM & IBM Cloud - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

IBM

+
    +
  1. IBM Cloud
  2. +
  3. IBM cloud Enterprise Sandbox
  4. +
  5. IBM API Connect
  6. +
  7. WebSphere Liberty with support of Java Microservices and Cloud Native Apps
      +
    1. Open Liberty
    2. +
    +
  8. +
  9. Red Hat OpenShift on IBM Z and LinuxONE
      +
    1. IBM Storage for Red Hat OpenShift. IBM Spectrum Storage Suite
    2. +
    +
  10. +
  11. IBM Cloud Paks and OpenShift
      +
    1. CloudPaks For Applications (CP4A)
    2. +
    3. IBM Cloud Pak for Multicloud Management (CP4MCM)
    4. +
    +
  12. +
  13. Videos
  14. +
+

+ibm cloud videos +

+

IBM Cloud

+ +

IBM cloud Enterprise Sandbox

+

IBM API Connect

+ +

WebSphere Liberty with support of Java Microservices and Cloud Native Apps

+ +

Open Liberty

+ +

Red Hat OpenShift on IBM Z and LinuxONE

+ +

IBM Storage for Red Hat OpenShift. IBM Spectrum Storage Suite

+ +

IBM Cloud Paks and OpenShift

+
    +
  • +

    IBM Vault 2.0 UI Enhancements and Reporting Improvements - This update to IBM Vault 2.0 focuses on improving the user interface for better feature discoverability and product usability. It also includes reporting enhancements to provide greater transparency and support for forecasting.

    +
  • +
  • +

    IBM Cloud Pak Playbook: cloudpak8s.io

    +
  • +
  • What are IBM Cloud Paks? Beyond containers and Kubernetes, enterprises need to orchestrate their production topology, and to provide management, security and governance for their applications. They need to do this while improving efficiency and resiliency, reducing costs and maximizing ROI.
  • +
  • IBM Cloud® Paks are enterprise-ready, containerized software solutions that give clients an open, faster and more secure way to move core business applications to any cloud. Each IBM Cloud Pak® includes containerized IBM middleware and common software services for development and management, on top of a common integration layer — designed to reduce development time by up to 84 percent and operational expenses by up to 75 percent. IBM Cloud Paks run wherever Red Hat® OpenShift® runs and are optimized for productivity and performance on Red Hat OpenShift on IBM Cloud.
  • +
+

CloudPaks For Applications (CP4A)

+
    +
  • IBM Cloud Pak For Applications Overview The Cloud Pak for Applications provides product offerings to support modernizing existing applications and building new cloud native applications. The applications run within a Kubernetes cluster provided with the Red Hat OpenShift Container Platform. The focus provided here is on running application workloads as containers. The Cloud Pak for Applications is a bundle of multiple offerings. This diagram provides an overview of what offerings are included and what they would be used for:
  • +
+

+cp4a_overview +

+

IBM Cloud Pak for Multicloud Management (CP4MCM)

+ +

Videos

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/10-must-haves-test-automation.jfif b/images/10-must-haves-test-automation.jfif new file mode 100644 index 00000000..303b37de Binary files /dev/null and b/images/10-must-haves-test-automation.jfif differ diff --git a/images/10_common_kubernetes_mistakes.jpg b/images/10_common_kubernetes_mistakes.jpg new file mode 100644 index 00000000..c64bfb6e Binary files /dev/null and b/images/10_common_kubernetes_mistakes.jpg differ diff --git a/images/8_devops_trends.png b/images/8_devops_trends.png new file mode 100644 index 00000000..c42539bd Binary files /dev/null and b/images/8_devops_trends.png differ diff --git a/images/AMQ.png b/images/AMQ.png new file mode 100644 index 00000000..c4d18ef9 Binary files /dev/null and b/images/AMQ.png differ diff --git a/images/Buildah.png b/images/Buildah.png new file mode 100644 index 00000000..b29966ab Binary files /dev/null and b/images/Buildah.png differ diff --git a/images/CN-DO-SRE.png b/images/CN-DO-SRE.png new file mode 100644 index 00000000..6d1e7339 Binary files /dev/null and b/images/CN-DO-SRE.png differ diff --git a/images/ContinuousDeliveryFoundation.jpg b/images/ContinuousDeliveryFoundation.jpg new file mode 100644 index 00000000..95b80e16 Binary files /dev/null and b/images/ContinuousDeliveryFoundation.jpg differ diff --git a/images/Full_Stack_cybercoders.png b/images/Full_Stack_cybercoders.png new file mode 100644 index 00000000..42c3d783 Binary files /dev/null and b/images/Full_Stack_cybercoders.png differ diff --git a/images/GitOps-in-a-nutshell.png b/images/GitOps-in-a-nutshell.png new file mode 100644 index 00000000..4f6730af Binary files /dev/null and b/images/GitOps-in-a-nutshell.png differ diff --git a/images/Jenkins-is-the-Way.png b/images/Jenkins-is-the-Way.png new file mode 100644 index 00000000..11d1611d Binary files /dev/null and b/images/Jenkins-is-the-Way.png differ diff --git a/images/John_Savill.jpg b/images/John_Savill.jpg new file mode 100644 index 00000000..2cf69def Binary files /dev/null and b/images/John_Savill.jpg differ diff --git a/images/K8s_deployment_strategies.png b/images/K8s_deployment_strategies.png new file mode 100644 index 00000000..be956001 Binary files /dev/null and b/images/K8s_deployment_strategies.png differ diff --git a/images/MicroservicesMaturityMatrix.jpg b/images/MicroservicesMaturityMatrix.jpg new file mode 100644 index 00000000..2e973330 Binary files /dev/null and b/images/MicroservicesMaturityMatrix.jpg differ diff --git a/images/Network_security_zones5.png b/images/Network_security_zones5.png new file mode 100644 index 00000000..d9fa2631 Binary files /dev/null and b/images/Network_security_zones5.png differ diff --git a/images/OpenShift4-to-vSphere7.png b/images/OpenShift4-to-vSphere7.png new file mode 100644 index 00000000..814b1582 Binary files /dev/null and b/images/OpenShift4-to-vSphere7.png differ diff --git a/images/REST_API_Design.jfif b/images/REST_API_Design.jfif new file mode 100644 index 00000000..c68c94f4 Binary files /dev/null and b/images/REST_API_Design.jfif differ diff --git a/images/Rubber_duck_assisting_with_debugging.jpg b/images/Rubber_duck_assisting_with_debugging.jpg new file mode 100644 index 00000000..b2d98dab Binary files /dev/null and b/images/Rubber_duck_assisting_with_debugging.jpg differ diff --git a/images/TestOps-What-Does-This-Mean.jpg b/images/TestOps-What-Does-This-Mean.jpg new file mode 100644 index 00000000..5fbb064b Binary files /dev/null and b/images/TestOps-What-Does-This-Mean.jpg differ diff --git a/images/What-is-DevOps.jpg b/images/What-is-DevOps.jpg new file mode 100644 index 00000000..1ee40567 Binary files /dev/null and b/images/What-is-DevOps.jpg differ diff --git a/images/academind_logo.jpg b/images/academind_logo.jpg new file mode 100644 index 00000000..8627642d Binary files /dev/null and b/images/academind_logo.jpg differ diff --git a/images/acloudguru_logo.jpg b/images/acloudguru_logo.jpg new file mode 100644 index 00000000..3cf6fef7 Binary files /dev/null and b/images/acloudguru_logo.jpg differ diff --git a/images/agile.jpg b/images/agile.jpg new file mode 100644 index 00000000..ab255cff Binary files /dev/null and b/images/agile.jpg differ diff --git a/images/agile_devops_sre.jpeg b/images/agile_devops_sre.jpeg new file mode 100644 index 00000000..eb3755b3 Binary files /dev/null and b/images/agile_devops_sre.jpeg differ diff --git a/images/airflow_vs_debezium.jpg b/images/airflow_vs_debezium.jpg new file mode 100644 index 00000000..43a4d9ba Binary files /dev/null and b/images/airflow_vs_debezium.jpg differ diff --git a/images/alibaba_cloud.jpg b/images/alibaba_cloud.jpg new file mode 100644 index 00000000..20e45b59 Binary files /dev/null and b/images/alibaba_cloud.jpg differ diff --git a/images/anais_urlichs.jpg b/images/anais_urlichs.jpg new file mode 100644 index 00000000..926c3b85 Binary files /dev/null and b/images/anais_urlichs.jpg differ diff --git a/images/ansiblepilot.jpg b/images/ansiblepilot.jpg new file mode 100644 index 00000000..b03fafaa Binary files /dev/null and b/images/ansiblepilot.jpg differ diff --git a/images/api_business_models.jpg b/images/api_business_models.jpg new file mode 100644 index 00000000..30cb516a Binary files /dev/null and b/images/api_business_models.jpg differ diff --git a/images/appdynamics_logo.jpg b/images/appdynamics_logo.jpg new file mode 100644 index 00000000..0231c76e Binary files /dev/null and b/images/appdynamics_logo.jpg differ diff --git a/images/appops.png b/images/appops.png new file mode 100644 index 00000000..d4fa99af Binary files /dev/null and b/images/appops.png differ diff --git a/images/argoproj.jpg b/images/argoproj.jpg new file mode 100644 index 00000000..93a3e4e9 Binary files /dev/null and b/images/argoproj.jpg differ diff --git a/images/artemis_dashboard_mon.png b/images/artemis_dashboard_mon.png new file mode 100644 index 00000000..829eebf1 Binary files /dev/null and b/images/artemis_dashboard_mon.png differ diff --git a/images/artemis_grafana.png b/images/artemis_grafana.png new file mode 100644 index 00000000..b046a04d Binary files /dev/null and b/images/artemis_grafana.png differ diff --git a/images/aspittel.jpg b/images/aspittel.jpg new file mode 100644 index 00000000..2130390f Binary files /dev/null and b/images/aspittel.jpg differ diff --git a/images/atlassian_logo.jpg b/images/atlassian_logo.jpg new file mode 100644 index 00000000..5ea1ac5f Binary files /dev/null and b/images/atlassian_logo.jpg differ diff --git a/images/automated_ansible.jpg b/images/automated_ansible.jpg new file mode 100644 index 00000000..05f22d4d Binary files /dev/null and b/images/automated_ansible.jpg differ diff --git a/images/automation.png b/images/automation.png new file mode 100644 index 00000000..1ef32f5f Binary files /dev/null and b/images/automation.png differ diff --git a/images/aws_logo.jpg b/images/aws_logo.jpg new file mode 100644 index 00000000..230621e4 Binary files /dev/null and b/images/aws_logo.jpg differ diff --git a/images/aws_shared_responsability_model.jpg b/images/aws_shared_responsability_model.jpg new file mode 100644 index 00000000..0614beaa Binary files /dev/null and b/images/aws_shared_responsability_model.jpg differ diff --git a/images/azure-terraformer.jpg b/images/azure-terraformer.jpg new file mode 100644 index 00000000..64874608 Binary files /dev/null and b/images/azure-terraformer.jpg differ diff --git a/images/azure_cloud_native.jpg b/images/azure_cloud_native.jpg new file mode 100644 index 00000000..8ad0d6df Binary files /dev/null and b/images/azure_cloud_native.jpg differ diff --git a/images/azure_devops_youtube.jpg b/images/azure_devops_youtube.jpg new file mode 100644 index 00000000..93dd9db3 Binary files /dev/null and b/images/azure_devops_youtube.jpg differ diff --git a/images/azure_logo.jpg b/images/azure_logo.jpg new file mode 100644 index 00000000..986013ac Binary files /dev/null and b/images/azure_logo.jpg differ diff --git a/images/benchmarking-k8s-node-initialization.png b/images/benchmarking-k8s-node-initialization.png new file mode 100644 index 00000000..3ff382db Binary files /dev/null and b/images/benchmarking-k8s-node-initialization.png differ diff --git a/images/blue-green-deployment.jfif b/images/blue-green-deployment.jfif new file mode 100644 index 00000000..158efe1a Binary files /dev/null and b/images/blue-green-deployment.jfif differ diff --git a/images/burnout.jfif b/images/burnout.jfif new file mode 100644 index 00000000..46b3659c Binary files /dev/null and b/images/burnout.jfif differ diff --git a/images/bytebytego.jpg b/images/bytebytego.jpg new file mode 100644 index 00000000..76f8c034 Binary files /dev/null and b/images/bytebytego.jpg differ diff --git a/images/bytebytego_microservice_techstack.png b/images/bytebytego_microservice_techstack.png new file mode 100644 index 00000000..9747a554 Binary files /dev/null and b/images/bytebytego_microservice_techstack.png differ diff --git a/images/cd-artifact-management.jpg b/images/cd-artifact-management.jpg new file mode 100644 index 00000000..e34ad835 Binary files /dev/null and b/images/cd-artifact-management.jpg differ diff --git a/images/chrome_devtools_replay_network_request.jpg b/images/chrome_devtools_replay_network_request.jpg new file mode 100644 index 00000000..45f05dbb Binary files /dev/null and b/images/chrome_devtools_replay_network_request.jpg differ diff --git a/images/chromedevtools_logo.jpg b/images/chromedevtools_logo.jpg new file mode 100644 index 00000000..efbaee0f Binary files /dev/null and b/images/chromedevtools_logo.jpg differ diff --git a/images/cicd-a-basic-release-process.jpg b/images/cicd-a-basic-release-process.jpg new file mode 100644 index 00000000..66d5f30d Binary files /dev/null and b/images/cicd-a-basic-release-process.jpg differ diff --git a/images/cicd-cheatsheet.jfif b/images/cicd-cheatsheet.jfif new file mode 100644 index 00000000..b07b0672 Binary files /dev/null and b/images/cicd-cheatsheet.jfif differ diff --git a/images/cli_tips.jpg b/images/cli_tips.jpg new file mode 100644 index 00000000..39437f14 Binary files /dev/null and b/images/cli_tips.jpg differ diff --git a/images/cloud-native-development-ld.png b/images/cloud-native-development-ld.png new file mode 100644 index 00000000..f78cf4e9 Binary files /dev/null and b/images/cloud-native-development-ld.png differ diff --git a/images/cloud-native-development-local-containers-runtimes-sd.png b/images/cloud-native-development-local-containers-runtimes-sd.png new file mode 100644 index 00000000..98d81654 Binary files /dev/null and b/images/cloud-native-development-local-containers-runtimes-sd.png differ diff --git a/images/cloud_academy_logo.jpg b/images/cloud_academy_logo.jpg new file mode 100644 index 00000000..b1b75703 Binary files /dev/null and b/images/cloud_academy_logo.jpg differ diff --git a/images/cloud_advantages.png b/images/cloud_advantages.png new file mode 100644 index 00000000..6e5620d4 Binary files /dev/null and b/images/cloud_advantages.png differ diff --git a/images/cloud_job_market_2016.png b/images/cloud_job_market_2016.png new file mode 100644 index 00000000..ef6c637c Binary files /dev/null and b/images/cloud_job_market_2016.png differ diff --git a/images/cloud_learn_hub.jpg b/images/cloud_learn_hub.jpg new file mode 100644 index 00000000..de5e1de7 Binary files /dev/null and b/images/cloud_learn_hub.jpg differ diff --git a/images/cloudbees_logo.jpg b/images/cloudbees_logo.jpg new file mode 100644 index 00000000..408b13d9 Binary files /dev/null and b/images/cloudbees_logo.jpg differ diff --git a/images/cloudflare_logo.jpg b/images/cloudflare_logo.jpg new file mode 100644 index 00000000..c6a9d258 Binary files /dev/null and b/images/cloudflare_logo.jpg differ diff --git a/images/cloudpak8s-overview.png b/images/cloudpak8s-overview.png new file mode 100644 index 00000000..08fda56c Binary files /dev/null and b/images/cloudpak8s-overview.png differ diff --git a/images/cloudquickpocs.jpg b/images/cloudquickpocs.jpg new file mode 100644 index 00000000..4e6ef82c Binary files /dev/null and b/images/cloudquickpocs.jpg differ diff --git a/images/cncf_logo.jpg b/images/cncf_logo.jpg new file mode 100644 index 00000000..8023d2e9 Binary files /dev/null and b/images/cncf_logo.jpg differ diff --git a/images/cockroachdb_logo.jpg b/images/cockroachdb_logo.jpg new file mode 100644 index 00000000..fb72e61d Binary files /dev/null and b/images/cockroachdb_logo.jpg differ diff --git a/images/codecademy.jpg b/images/codecademy.jpg new file mode 100644 index 00000000..71c199c0 Binary files /dev/null and b/images/codecademy.jpg differ diff --git a/images/codelytv_logo.jpg b/images/codelytv_logo.jpg new file mode 100644 index 00000000..9fc2986b Binary files /dev/null and b/images/codelytv_logo.jpg differ diff --git a/images/confluent_logo.jpg b/images/confluent_logo.jpg new file mode 100644 index 00000000..f538f6a9 Binary files /dev/null and b/images/confluent_logo.jpg differ diff --git a/images/container_flowchart.jpg b/images/container_flowchart.jpg new file mode 100644 index 00000000..1180ed08 Binary files /dev/null and b/images/container_flowchart.jpg differ diff --git a/images/container_with_cars.jpg b/images/container_with_cars.jpg new file mode 100644 index 00000000..cee8c3e3 Binary files /dev/null and b/images/container_with_cars.jpg differ diff --git a/images/container_with_cars.png b/images/container_with_cars.png new file mode 100644 index 00000000..848a71cd Binary files /dev/null and b/images/container_with_cars.png differ diff --git a/images/containerdays.jpg b/images/containerdays.jpg new file mode 100644 index 00000000..fcc8678b Binary files /dev/null and b/images/containerdays.jpg differ diff --git a/images/coursera_logo.jpg b/images/coursera_logo.jpg new file mode 100644 index 00000000..2c1b14f6 Binary files /dev/null and b/images/coursera_logo.jpg differ diff --git a/images/crunchydata_logo.jpg b/images/crunchydata_logo.jpg new file mode 100644 index 00000000..ba4a3fce Binary files /dev/null and b/images/crunchydata_logo.jpg differ diff --git a/images/crunchydata_operator_3_5.png b/images/crunchydata_operator_3_5.png new file mode 100644 index 00000000..c1423b85 Binary files /dev/null and b/images/crunchydata_operator_3_5.png differ diff --git a/images/crunchydata_operator_4_0_1.png b/images/crunchydata_operator_4_0_1.png new file mode 100644 index 00000000..5c9fa3e3 Binary files /dev/null and b/images/crunchydata_operator_4_0_1.png differ diff --git a/images/crunchydata_operator_hub.png b/images/crunchydata_operator_hub.png new file mode 100644 index 00000000..3a0d73e8 Binary files /dev/null and b/images/crunchydata_operator_hub.png differ diff --git a/images/crunchydata_operatorhub_install1.png b/images/crunchydata_operatorhub_install1.png new file mode 100644 index 00000000..7f8c151a Binary files /dev/null and b/images/crunchydata_operatorhub_install1.png differ diff --git a/images/crunchydata_operatorhub_install10.png b/images/crunchydata_operatorhub_install10.png new file mode 100644 index 00000000..cd2c720a Binary files /dev/null and b/images/crunchydata_operatorhub_install10.png differ diff --git a/images/crunchydata_operatorhub_install11.png b/images/crunchydata_operatorhub_install11.png new file mode 100644 index 00000000..35dac800 Binary files /dev/null and b/images/crunchydata_operatorhub_install11.png differ diff --git a/images/crunchydata_operatorhub_install12.png b/images/crunchydata_operatorhub_install12.png new file mode 100644 index 00000000..14d609c3 Binary files /dev/null and b/images/crunchydata_operatorhub_install12.png differ diff --git a/images/crunchydata_operatorhub_install13.png b/images/crunchydata_operatorhub_install13.png new file mode 100644 index 00000000..62d38807 Binary files /dev/null and b/images/crunchydata_operatorhub_install13.png differ diff --git a/images/crunchydata_operatorhub_install14.png b/images/crunchydata_operatorhub_install14.png new file mode 100644 index 00000000..612e62bf Binary files /dev/null and b/images/crunchydata_operatorhub_install14.png differ diff --git a/images/crunchydata_operatorhub_install15.png b/images/crunchydata_operatorhub_install15.png new file mode 100644 index 00000000..45de7904 Binary files /dev/null and b/images/crunchydata_operatorhub_install15.png differ diff --git a/images/crunchydata_operatorhub_install16.png b/images/crunchydata_operatorhub_install16.png new file mode 100644 index 00000000..78ad0c6e Binary files /dev/null and b/images/crunchydata_operatorhub_install16.png differ diff --git a/images/crunchydata_operatorhub_install2.png b/images/crunchydata_operatorhub_install2.png new file mode 100644 index 00000000..6bcd078c Binary files /dev/null and b/images/crunchydata_operatorhub_install2.png differ diff --git a/images/crunchydata_operatorhub_install3.png b/images/crunchydata_operatorhub_install3.png new file mode 100644 index 00000000..07552fff Binary files /dev/null and b/images/crunchydata_operatorhub_install3.png differ diff --git a/images/crunchydata_operatorhub_install4.png b/images/crunchydata_operatorhub_install4.png new file mode 100644 index 00000000..bcf357bb Binary files /dev/null and b/images/crunchydata_operatorhub_install4.png differ diff --git a/images/crunchydata_operatorhub_install5.png b/images/crunchydata_operatorhub_install5.png new file mode 100644 index 00000000..6e1b1cf0 Binary files /dev/null and b/images/crunchydata_operatorhub_install5.png differ diff --git a/images/crunchydata_operatorhub_install6.png b/images/crunchydata_operatorhub_install6.png new file mode 100644 index 00000000..b97da226 Binary files /dev/null and b/images/crunchydata_operatorhub_install6.png differ diff --git a/images/crunchydata_operatorhub_install7.png b/images/crunchydata_operatorhub_install7.png new file mode 100644 index 00000000..50bd6ef9 Binary files /dev/null and b/images/crunchydata_operatorhub_install7.png differ diff --git a/images/crunchydata_operatorhub_install8.png b/images/crunchydata_operatorhub_install8.png new file mode 100644 index 00000000..f8058448 Binary files /dev/null and b/images/crunchydata_operatorhub_install8.png differ diff --git a/images/crunchydata_operatorhub_install9.png b/images/crunchydata_operatorhub_install9.png new file mode 100644 index 00000000..64ed3081 Binary files /dev/null and b/images/crunchydata_operatorhub_install9.png differ diff --git a/images/crunchydata_pgadmin.png b/images/crunchydata_pgadmin.png new file mode 100644 index 00000000..8f02da71 Binary files /dev/null and b/images/crunchydata_pgadmin.png differ diff --git a/images/crunchydata_restricted_scc.png b/images/crunchydata_restricted_scc.png new file mode 100644 index 00000000..32c4fe46 Binary files /dev/null and b/images/crunchydata_restricted_scc.png differ diff --git a/images/crunchydata_scc1.png b/images/crunchydata_scc1.png new file mode 100644 index 00000000..79a6f48a Binary files /dev/null and b/images/crunchydata_scc1.png differ diff --git a/images/crunchydata_scc2.png b/images/crunchydata_scc2.png new file mode 100644 index 00000000..e2be93c0 Binary files /dev/null and b/images/crunchydata_scc2.png differ diff --git a/images/crunchydata_scc3.png b/images/crunchydata_scc3.png new file mode 100644 index 00000000..8db20752 Binary files /dev/null and b/images/crunchydata_scc3.png differ diff --git a/images/crunchydata_scc_workflow1.png b/images/crunchydata_scc_workflow1.png new file mode 100644 index 00000000..98a3c3a3 Binary files /dev/null and b/images/crunchydata_scc_workflow1.png differ diff --git a/images/crunchydata_scc_workflow2.png b/images/crunchydata_scc_workflow2.png new file mode 100644 index 00000000..bbb18f73 Binary files /dev/null and b/images/crunchydata_scc_workflow2.png differ diff --git a/images/crunchydata_scc_workflow3.png b/images/crunchydata_scc_workflow3.png new file mode 100644 index 00000000..4961d699 Binary files /dev/null and b/images/crunchydata_scc_workflow3.png differ diff --git a/images/culturas_toxicas_lavanguardia.jfif b/images/culturas_toxicas_lavanguardia.jfif new file mode 100644 index 00000000..541923a1 Binary files /dev/null and b/images/culturas_toxicas_lavanguardia.jfif differ diff --git a/images/dashbird_rds.png b/images/dashbird_rds.png new file mode 100644 index 00000000..d0953bbb Binary files /dev/null and b/images/dashbird_rds.png differ diff --git a/images/debugging_tactics.jpg b/images/debugging_tactics.jpg new file mode 100644 index 00000000..08b8a23d Binary files /dev/null and b/images/debugging_tactics.jpg differ diff --git a/images/deiser_logo.jpg b/images/deiser_logo.jpg new file mode 100644 index 00000000..2e661f2a Binary files /dev/null and b/images/deiser_logo.jpg differ diff --git a/images/devel_temp_solution.png b/images/devel_temp_solution.png new file mode 100644 index 00000000..0904e8ae Binary files /dev/null and b/images/devel_temp_solution.png differ diff --git a/images/devops-culture.jpg b/images/devops-culture.jpg new file mode 100644 index 00000000..4c328aa1 Binary files /dev/null and b/images/devops-culture.jpg differ diff --git a/images/devops-to-no-ops.jpg b/images/devops-to-no-ops.jpg new file mode 100644 index 00000000..0632a93a Binary files /dev/null and b/images/devops-to-no-ops.jpg differ diff --git a/images/devops1.png b/images/devops1.png new file mode 100644 index 00000000..bfe460fc Binary files /dev/null and b/images/devops1.png differ diff --git a/images/devops_containers_strategy.png b/images/devops_containers_strategy.png new file mode 100644 index 00000000..22b51439 Binary files /dev/null and b/images/devops_containers_strategy.png differ diff --git a/images/devops_culture_ken_mugrage.jpg b/images/devops_culture_ken_mugrage.jpg new file mode 100644 index 00000000..f41b5a67 Binary files /dev/null and b/images/devops_culture_ken_mugrage.jpg differ diff --git a/images/devops_library_logo.jpg b/images/devops_library_logo.jpg new file mode 100644 index 00000000..7ae42ae3 Binary files /dev/null and b/images/devops_library_logo.jpg differ diff --git a/images/devops_lifecycle.jfif b/images/devops_lifecycle.jfif new file mode 100644 index 00000000..04acf744 Binary files /dev/null and b/images/devops_lifecycle.jfif differ diff --git a/images/devops_pipeline_vs_gitops_pipeline.png b/images/devops_pipeline_vs_gitops_pipeline.png new file mode 100644 index 00000000..e2f0045d Binary files /dev/null and b/images/devops_pipeline_vs_gitops_pipeline.png differ diff --git a/images/devops_toolkit.jpg b/images/devops_toolkit.jpg new file mode 100644 index 00000000..cc48ad2c Binary files /dev/null and b/images/devops_toolkit.jpg differ diff --git a/images/devops_tools_declarative_imperative.jfif b/images/devops_tools_declarative_imperative.jfif new file mode 100644 index 00000000..7cdf1e9e Binary files /dev/null and b/images/devops_tools_declarative_imperative.jfif differ diff --git a/images/devops_tools_dzone.png b/images/devops_tools_dzone.png new file mode 100644 index 00000000..fa49b518 Binary files /dev/null and b/images/devops_tools_dzone.png differ diff --git a/images/devops_tv_logo.jpg b/images/devops_tv_logo.jpg new file mode 100644 index 00000000..acc74b55 Binary files /dev/null and b/images/devops_tv_logo.jpg differ diff --git a/images/devops_vs_agile.jpg b/images/devops_vs_agile.jpg new file mode 100644 index 00000000..3962ea6c Binary files /dev/null and b/images/devops_vs_agile.jpg differ diff --git a/images/devops_vs_sre.jpg b/images/devops_vs_sre.jpg new file mode 100644 index 00000000..091cea09 Binary files /dev/null and b/images/devops_vs_sre.jpg differ diff --git a/images/devops_wikipedia.png b/images/devops_wikipedia.png new file mode 100644 index 00000000..ee48aa51 Binary files /dev/null and b/images/devops_wikipedia.png differ diff --git a/images/devopspatternsandpractices.png b/images/devopspatternsandpractices.png new file mode 100644 index 00000000..c44992be Binary files /dev/null and b/images/devopspatternsandpractices.png differ diff --git a/images/devopsqbp.jpg b/images/devopsqbp.jpg new file mode 100644 index 00000000..d7b95e78 Binary files /dev/null and b/images/devopsqbp.jpg differ diff --git a/images/digital_ocean_logo.jpg b/images/digital_ocean_logo.jpg new file mode 100644 index 00000000..e6e79941 Binary files /dev/null and b/images/digital_ocean_logo.jpg differ diff --git a/images/dilbert_devops.jpg b/images/dilbert_devops.jpg new file mode 100644 index 00000000..bc566ab2 Binary files /dev/null and b/images/dilbert_devops.jpg differ diff --git a/images/docker_kubernetes_openshift.png b/images/docker_kubernetes_openshift.png new file mode 100644 index 00000000..bbcc1b3e Binary files /dev/null and b/images/docker_kubernetes_openshift.png differ diff --git a/images/docker_logo.jpg b/images/docker_logo.jpg new file mode 100644 index 00000000..8b28f30a Binary files /dev/null and b/images/docker_logo.jpg differ diff --git a/images/dockerswarm_vs_kubernetes.png b/images/dockerswarm_vs_kubernetes.png new file mode 100644 index 00000000..9aee39a7 Binary files /dev/null and b/images/dockerswarm_vs_kubernetes.png differ diff --git a/images/dotcsv.jpg b/images/dotcsv.jpg new file mode 100644 index 00000000..ee643adb Binary files /dev/null and b/images/dotcsv.jpg differ diff --git a/images/dynamic-kubernetes-config.png b/images/dynamic-kubernetes-config.png new file mode 100644 index 00000000..f6f03493 Binary files /dev/null and b/images/dynamic-kubernetes-config.png differ diff --git a/images/dynatrace.jpg b/images/dynatrace.jpg new file mode 100644 index 00000000..f2818786 Binary files /dev/null and b/images/dynatrace.jpg differ diff --git a/images/dynatrace_logo.jpg b/images/dynatrace_logo.jpg new file mode 100644 index 00000000..3713b759 Binary files /dev/null and b/images/dynatrace_logo.jpg differ diff --git a/images/dzone_logo.jpg b/images/dzone_logo.jpg new file mode 100644 index 00000000..81d5f415 Binary files /dev/null and b/images/dzone_logo.jpg differ diff --git a/images/elasticapm.png b/images/elasticapm.png new file mode 100644 index 00000000..397051ed Binary files /dev/null and b/images/elasticapm.png differ diff --git a/images/elasticsearch_logo.jpg b/images/elasticsearch_logo.jpg new file mode 100644 index 00000000..e597c314 Binary files /dev/null and b/images/elasticsearch_logo.jpg differ diff --git a/images/empty_logo.jpg b/images/empty_logo.jpg new file mode 100644 index 00000000..bd3a6786 Binary files /dev/null and b/images/empty_logo.jpg differ diff --git a/images/excelente_propuesta_de_trabajo_meme.png b/images/excelente_propuesta_de_trabajo_meme.png new file mode 100644 index 00000000..00ea76bd Binary files /dev/null and b/images/excelente_propuesta_de_trabajo_meme.png differ diff --git a/images/favicon-car.png b/images/favicon-car.png new file mode 100644 index 00000000..5c9fc42c Binary files /dev/null and b/images/favicon-car.png differ diff --git a/images/firefox_json_viewer_built_in.jpg b/images/firefox_json_viewer_built_in.jpg new file mode 100644 index 00000000..d3e23f90 Binary files /dev/null and b/images/firefox_json_viewer_built_in.jpg differ diff --git a/images/five-oss-projects-kubernetes.jpg b/images/five-oss-projects-kubernetes.jpg new file mode 100644 index 00000000..1af5b878 Binary files /dev/null and b/images/five-oss-projects-kubernetes.jpg differ diff --git a/images/fluxcd.jpg b/images/fluxcd.jpg new file mode 100644 index 00000000..6034688c Binary files /dev/null and b/images/fluxcd.jpg differ diff --git a/images/freecodecamp.jpg b/images/freecodecamp.jpg new file mode 100644 index 00000000..42f9472d Binary files /dev/null and b/images/freecodecamp.jpg differ diff --git a/images/from-monolith-to-serverless.jpg b/images/from-monolith-to-serverless.jpg new file mode 100644 index 00000000..14883818 Binary files /dev/null and b/images/from-monolith-to-serverless.jpg differ diff --git a/images/from_monolith_to_containers.jpg b/images/from_monolith_to_containers.jpg new file mode 100644 index 00000000..5717172c Binary files /dev/null and b/images/from_monolith_to_containers.jpg differ diff --git a/images/gaia_x.jpg b/images/gaia_x.jpg new file mode 100644 index 00000000..67b8332c Binary files /dev/null and b/images/gaia_x.jpg differ diff --git a/images/gcp_disks.jfif b/images/gcp_disks.jfif new file mode 100644 index 00000000..ade73a0f Binary files /dev/null and b/images/gcp_disks.jfif differ diff --git a/images/gcp_logo.jpg b/images/gcp_logo.jpg new file mode 100644 index 00000000..f3d5474b Binary files /dev/null and b/images/gcp_logo.jpg differ diff --git a/images/gigaom_cicd_radar.jpg b/images/gigaom_cicd_radar.jpg new file mode 100644 index 00000000..ded75366 Binary files /dev/null and b/images/gigaom_cicd_radar.jpg differ diff --git a/images/gigaom_radar_report_on_data_storage_for_k8s.png b/images/gigaom_radar_report_on_data_storage_for_k8s.png new file mode 100644 index 00000000..9f5caed7 Binary files /dev/null and b/images/gigaom_radar_report_on_data_storage_for_k8s.png differ diff --git a/images/github_logo.jpg b/images/github_logo.jpg new file mode 100644 index 00000000..9a0b854c Binary files /dev/null and b/images/github_logo.jpg differ diff --git a/images/gitkraken_logo.jpg b/images/gitkraken_logo.jpg new file mode 100644 index 00000000..7a386b8e Binary files /dev/null and b/images/gitkraken_logo.jpg differ diff --git a/images/gitlab.jpg b/images/gitlab.jpg new file mode 100644 index 00000000..76486fdf Binary files /dev/null and b/images/gitlab.jpg differ diff --git a/images/gitlab_logo.jpg b/images/gitlab_logo.jpg new file mode 100644 index 00000000..aebe8a96 Binary files /dev/null and b/images/gitlab_logo.jpg differ diff --git a/images/gitops-pipeline.png b/images/gitops-pipeline.png new file mode 100644 index 00000000..2e49987e Binary files /dev/null and b/images/gitops-pipeline.png differ diff --git a/images/google_cloud_devops_flow.jfif b/images/google_cloud_devops_flow.jfif new file mode 100644 index 00000000..af524c72 Binary files /dev/null and b/images/google_cloud_devops_flow.jfif differ diff --git a/images/googling_stuff.jpg b/images/googling_stuff.jpg new file mode 100644 index 00000000..f781d645 Binary files /dev/null and b/images/googling_stuff.jpg differ diff --git a/images/gps.jpg b/images/gps.jpg new file mode 100644 index 00000000..544a9fde Binary files /dev/null and b/images/gps.jpg differ diff --git a/images/grafana_logo.jpg b/images/grafana_logo.jpg new file mode 100644 index 00000000..46d69ed0 Binary files /dev/null and b/images/grafana_logo.jpg differ diff --git a/images/grpc_vs_rest_vs_graphql.png b/images/grpc_vs_rest_vs_graphql.png new file mode 100644 index 00000000..f0b46004 Binary files /dev/null and b/images/grpc_vs_rest_vs_graphql.png differ diff --git a/images/guru99_logo.jpg b/images/guru99_logo.jpg new file mode 100644 index 00000000..1804c1b4 Binary files /dev/null and b/images/guru99_logo.jpg differ diff --git a/images/hashicorp_logo.jpg b/images/hashicorp_logo.jpg new file mode 100644 index 00000000..c1fcac25 Binary files /dev/null and b/images/hashicorp_logo.jpg differ diff --git a/images/header-lens.png b/images/header-lens.png new file mode 100644 index 00000000..5c291fcf Binary files /dev/null and b/images/header-lens.png differ diff --git a/images/history_of_microservices.png b/images/history_of_microservices.png new file mode 100644 index 00000000..947c9fa9 Binary files /dev/null and b/images/history_of_microservices.png differ diff --git a/images/hola_mundo.jpg b/images/hola_mundo.jpg new file mode 100644 index 00000000..93b8a1fb Binary files /dev/null and b/images/hola_mundo.jpg differ diff --git a/images/honeypot.jpg b/images/honeypot.jpg new file mode 100644 index 00000000..509ed480 Binary files /dev/null and b/images/honeypot.jpg differ diff --git a/images/how_does_https_work.png b/images/how_does_https_work.png new file mode 100644 index 00000000..c1d713da Binary files /dev/null and b/images/how_does_https_work.png differ diff --git a/images/http_status_codes.jpg b/images/http_status_codes.jpg new file mode 100644 index 00000000..31a901f5 Binary files /dev/null and b/images/http_status_codes.jpg differ diff --git a/images/ibm_cloud_logo.jpg b/images/ibm_cloud_logo.jpg new file mode 100644 index 00000000..ee017e08 Binary files /dev/null and b/images/ibm_cloud_logo.jpg differ diff --git a/images/intellipaat_logo.jpg b/images/intellipaat_logo.jpg new file mode 100644 index 00000000..cde3d01b Binary files /dev/null and b/images/intellipaat_logo.jpg differ diff --git a/images/interviews_getting_harder.jfif b/images/interviews_getting_harder.jfif new file mode 100644 index 00000000..2e07fc53 Binary files /dev/null and b/images/interviews_getting_harder.jfif differ diff --git a/images/istio_logo.jpg b/images/istio_logo.jpg new file mode 100644 index 00000000..4a5cd908 Binary files /dev/null and b/images/istio_logo.jpg differ diff --git a/images/jaeger_ui.png b/images/jaeger_ui.png new file mode 100644 index 00000000..666decd1 Binary files /dev/null and b/images/jaeger_ui.png differ diff --git a/images/jaeger_vs_opentelemetry.png b/images/jaeger_vs_opentelemetry.png new file mode 100644 index 00000000..66e56ce4 Binary files /dev/null and b/images/jaeger_vs_opentelemetry.png differ diff --git a/images/jenkins-hub.png b/images/jenkins-hub.png new file mode 100644 index 00000000..93634271 Binary files /dev/null and b/images/jenkins-hub.png differ diff --git a/images/jenkins-logo.jpg b/images/jenkins-logo.jpg new file mode 100644 index 00000000..dce07bb8 Binary files /dev/null and b/images/jenkins-logo.jpg differ diff --git a/images/jenkins-logo.png b/images/jenkins-logo.png new file mode 100644 index 00000000..0199eb6e Binary files /dev/null and b/images/jenkins-logo.png differ diff --git a/images/jenkins-ose.png b/images/jenkins-ose.png new file mode 100644 index 00000000..b4c11ec5 Binary files /dev/null and b/images/jenkins-ose.png differ diff --git a/images/jenkins_growth.png b/images/jenkins_growth.png new file mode 100644 index 00000000..3294144c Binary files /dev/null and b/images/jenkins_growth.png differ diff --git a/images/jenkins_x_logo.jpg b/images/jenkins_x_logo.jpg new file mode 100644 index 00000000..b085ab79 Binary files /dev/null and b/images/jenkins_x_logo.jpg differ diff --git a/images/jfrog_logo.jpg b/images/jfrog_logo.jpg new file mode 100644 index 00000000..2274e17c Binary files /dev/null and b/images/jfrog_logo.jpg differ diff --git a/images/jgarzas.jpg b/images/jgarzas.jpg new file mode 100644 index 00000000..d84bd11e Binary files /dev/null and b/images/jgarzas.jpg differ diff --git a/images/jmeter_artemis.png b/images/jmeter_artemis.png new file mode 100644 index 00000000..24a7fe18 Binary files /dev/null and b/images/jmeter_artemis.png differ diff --git a/images/junit_cheatsheet.jfif b/images/junit_cheatsheet.jfif new file mode 100644 index 00000000..d698deec Binary files /dev/null and b/images/junit_cheatsheet.jfif differ diff --git a/images/k3OS-value-add.png b/images/k3OS-value-add.png new file mode 100644 index 00000000..2b1b331d Binary files /dev/null and b/images/k3OS-value-add.png differ diff --git a/images/k3s-use-cases.png b/images/k3s-use-cases.png new file mode 100644 index 00000000..9cef02b6 Binary files /dev/null and b/images/k3s-use-cases.png differ diff --git a/images/k8s-not-enough.jpg b/images/k8s-not-enough.jpg new file mode 100644 index 00000000..42dcd72f Binary files /dev/null and b/images/k8s-not-enough.jpg differ diff --git a/images/k8s_arch_mindmap.png b/images/k8s_arch_mindmap.png new file mode 100644 index 00000000..386c633f Binary files /dev/null and b/images/k8s_arch_mindmap.png differ diff --git a/images/k8s_namespaces.jfif b/images/k8s_namespaces.jfif new file mode 100644 index 00000000..2cc2b45f Binary files /dev/null and b/images/k8s_namespaces.jfif differ diff --git a/images/k8s_not_endgame.jpg b/images/k8s_not_endgame.jpg new file mode 100644 index 00000000..3d91a19d Binary files /dev/null and b/images/k8s_not_endgame.jpg differ diff --git a/images/k8s_securitymindmap.jpg b/images/k8s_securitymindmap.jpg new file mode 100644 index 00000000..cdddad77 Binary files /dev/null and b/images/k8s_securitymindmap.jpg differ diff --git a/images/k8s_service_types_matrix.png b/images/k8s_service_types_matrix.png new file mode 100644 index 00000000..a4a45a69 Binary files /dev/null and b/images/k8s_service_types_matrix.png differ diff --git a/images/k8s_stack_pionative.webp b/images/k8s_stack_pionative.webp new file mode 100644 index 00000000..8f1bcbb9 Binary files /dev/null and b/images/k8s_stack_pionative.webp differ diff --git a/images/k8sexpertsbelike.jfif b/images/k8sexpertsbelike.jfif new file mode 100644 index 00000000..993396a9 Binary files /dev/null and b/images/k8sexpertsbelike.jfif differ diff --git a/images/keptn-jenkins-sli-slo-1.jpg b/images/keptn-jenkins-sli-slo-1.jpg new file mode 100644 index 00000000..a1fcafe7 Binary files /dev/null and b/images/keptn-jenkins-sli-slo-1.jpg differ diff --git a/images/keptn-jenkins-sli-slo-2.jpg b/images/keptn-jenkins-sli-slo-2.jpg new file mode 100644 index 00000000..c9b76950 Binary files /dev/null and b/images/keptn-jenkins-sli-slo-2.jpg differ diff --git a/images/keptn-jenkins-sli-slo-3.jpg b/images/keptn-jenkins-sli-slo-3.jpg new file mode 100644 index 00000000..42424684 Binary files /dev/null and b/images/keptn-jenkins-sli-slo-3.jpg differ diff --git a/images/keptn_logo.jpg b/images/keptn_logo.jpg new file mode 100644 index 00000000..15240db5 Binary files /dev/null and b/images/keptn_logo.jpg differ diff --git a/images/key_devops_practices.png b/images/key_devops_practices.png new file mode 100644 index 00000000..930faa0d Binary files /dev/null and b/images/key_devops_practices.png differ diff --git a/images/komodor_workflow.png b/images/komodor_workflow.png new file mode 100644 index 00000000..bca2bf08 Binary files /dev/null and b/images/komodor_workflow.png differ diff --git a/images/kubedb_logo.jpg b/images/kubedb_logo.jpg new file mode 100644 index 00000000..e8ade2c1 Binary files /dev/null and b/images/kubedb_logo.jpg differ diff --git a/images/kubemq_logo.jpg b/images/kubemq_logo.jpg new file mode 100644 index 00000000..130051e2 Binary files /dev/null and b/images/kubemq_logo.jpg differ diff --git a/images/kubernetes-pod-creation.png b/images/kubernetes-pod-creation.png new file mode 100644 index 00000000..7a757aca Binary files /dev/null and b/images/kubernetes-pod-creation.png differ diff --git a/images/kubernetes-security-controls-landscape.jpg b/images/kubernetes-security-controls-landscape.jpg new file mode 100644 index 00000000..1fbb9d36 Binary files /dev/null and b/images/kubernetes-security-controls-landscape.jpg differ diff --git a/images/kubernetes-vs-dockerswarm.png b/images/kubernetes-vs-dockerswarm.png new file mode 100644 index 00000000..88cdfed9 Binary files /dev/null and b/images/kubernetes-vs-dockerswarm.png differ diff --git a/images/kubernetes_architecture_multicloud_hybride.jpg b/images/kubernetes_architecture_multicloud_hybride.jpg new file mode 100644 index 00000000..f3203a72 Binary files /dev/null and b/images/kubernetes_architecture_multicloud_hybride.jpg differ diff --git a/images/kubernetes_components_rootsongjc.jpg b/images/kubernetes_components_rootsongjc.jpg new file mode 100644 index 00000000..f7a5eeb0 Binary files /dev/null and b/images/kubernetes_components_rootsongjc.jpg differ diff --git a/images/kubernetes_logo.jpg b/images/kubernetes_logo.jpg new file mode 100644 index 00000000..97886f95 Binary files /dev/null and b/images/kubernetes_logo.jpg differ diff --git a/images/kubernetes_sdn_solutions.png b/images/kubernetes_sdn_solutions.png new file mode 100644 index 00000000..e4bc4de6 Binary files /dev/null and b/images/kubernetes_sdn_solutions.png differ diff --git a/images/kubernetes_up_running_kelsey_hightower.gif b/images/kubernetes_up_running_kelsey_hightower.gif new file mode 100644 index 00000000..e69a0d1e Binary files /dev/null and b/images/kubernetes_up_running_kelsey_hightower.gif differ diff --git a/images/la_gestion_de_uno_mismo.jpg b/images/la_gestion_de_uno_mismo.jpg new file mode 100644 index 00000000..641256d9 Binary files /dev/null and b/images/la_gestion_de_uno_mismo.jpg differ diff --git a/images/lambdatest.jpg b/images/lambdatest.jpg new file mode 100644 index 00000000..7492d56b Binary files /dev/null and b/images/lambdatest.jpg differ diff --git a/images/learnk8s_debug_your_pods.png b/images/learnk8s_debug_your_pods.png new file mode 100644 index 00000000..906c529b Binary files /dev/null and b/images/learnk8s_debug_your_pods.png differ diff --git a/images/lightbend_logo.jpg b/images/lightbend_logo.jpg new file mode 100644 index 00000000..58af6dd9 Binary files /dev/null and b/images/lightbend_logo.jpg differ diff --git a/images/linode_cloud.jpg b/images/linode_cloud.jpg new file mode 100644 index 00000000..c46b84ab Binary files /dev/null and b/images/linode_cloud.jpg differ diff --git a/images/liquibase_logo.jpg b/images/liquibase_logo.jpg new file mode 100644 index 00000000..c038369c Binary files /dev/null and b/images/liquibase_logo.jpg differ diff --git a/images/londonIAC.jpg b/images/londonIAC.jpg new file mode 100644 index 00000000..5b27ae8b Binary files /dev/null and b/images/londonIAC.jpg differ diff --git a/images/malt.jpg b/images/malt.jpg new file mode 100644 index 00000000..5da00cff Binary files /dev/null and b/images/malt.jpg differ diff --git a/images/mattermost_logo.jpg b/images/mattermost_logo.jpg new file mode 100644 index 00000000..89fef574 Binary files /dev/null and b/images/mattermost_logo.jpg differ diff --git a/images/meme_new_job.jfif b/images/meme_new_job.jfif new file mode 100644 index 00000000..12e5a2e7 Binary files /dev/null and b/images/meme_new_job.jfif differ diff --git a/images/microservice_arch.png b/images/microservice_arch.png new file mode 100644 index 00000000..55fe4423 Binary files /dev/null and b/images/microservice_arch.png differ diff --git a/images/microservice_factory.jpg b/images/microservice_factory.jpg new file mode 100644 index 00000000..837d4b31 Binary files /dev/null and b/images/microservice_factory.jpg differ diff --git a/images/microservices-infographic.png b/images/microservices-infographic.png new file mode 100644 index 00000000..e7dd5407 Binary files /dev/null and b/images/microservices-infographic.png differ diff --git a/images/microsoft_365_logo.jpg b/images/microsoft_365_logo.jpg new file mode 100644 index 00000000..018d7440 Binary files /dev/null and b/images/microsoft_365_logo.jpg differ diff --git a/images/midulive.jpg b/images/midulive.jpg new file mode 100644 index 00000000..3475a97f Binary files /dev/null and b/images/midulive.jpg differ diff --git a/images/mlops_workflow_scheduler_poll.png b/images/mlops_workflow_scheduler_poll.png new file mode 100644 index 00000000..3293e3ac Binary files /dev/null and b/images/mlops_workflow_scheduler_poll.png differ diff --git a/images/mongodb_logo.jpg b/images/mongodb_logo.jpg new file mode 100644 index 00000000..b4fbcf6a Binary files /dev/null and b/images/mongodb_logo.jpg differ diff --git a/images/most_popular_cloud_platforms.jfif b/images/most_popular_cloud_platforms.jfif new file mode 100644 index 00000000..1762bc30 Binary files /dev/null and b/images/most_popular_cloud_platforms.jfif differ diff --git a/images/mozilla_developer_logo.jpg b/images/mozilla_developer_logo.jpg new file mode 100644 index 00000000..dafb7a69 Binary files /dev/null and b/images/mozilla_developer_logo.jpg differ diff --git a/images/mvp.png b/images/mvp.png new file mode 100644 index 00000000..46e3395c Binary files /dev/null and b/images/mvp.png differ diff --git a/images/mvp_2.jfif b/images/mvp_2.jfif new file mode 100644 index 00000000..27d6db86 Binary files /dev/null and b/images/mvp_2.jfif differ diff --git a/images/mvp_3.jfif b/images/mvp_3.jfif new file mode 100644 index 00000000..bb0c1c8f Binary files /dev/null and b/images/mvp_3.jfif differ diff --git a/images/my_company_gave_me.jfif b/images/my_company_gave_me.jfif new file mode 100644 index 00000000..e5937ffd Binary files /dev/null and b/images/my_company_gave_me.jfif differ diff --git a/images/nedinthecloud.jpg b/images/nedinthecloud.jpg new file mode 100644 index 00000000..f74a52cb Binary files /dev/null and b/images/nedinthecloud.jpg differ diff --git a/images/netboxlabs_logo.jpg b/images/netboxlabs_logo.jpg new file mode 100644 index 00000000..43fe1cb6 Binary files /dev/null and b/images/netboxlabs_logo.jpg differ diff --git a/images/new_job_every_3_years.jfif b/images/new_job_every_3_years.jfif new file mode 100644 index 00000000..2f4a3d07 Binary files /dev/null and b/images/new_job_every_3_years.jfif differ diff --git a/images/newrelic_logo.jpg b/images/newrelic_logo.jpg new file mode 100644 index 00000000..f8bdd6c6 Binary files /dev/null and b/images/newrelic_logo.jpg differ diff --git a/images/ocp-ipi.png b/images/ocp-ipi.png new file mode 100644 index 00000000..e7ded9a9 Binary files /dev/null and b/images/ocp-ipi.png differ diff --git a/images/ocp4_arch.png b/images/ocp4_arch.png new file mode 100644 index 00000000..fe650061 Binary files /dev/null and b/images/ocp4_arch.png differ diff --git a/images/ocp4_autoscaler1.png b/images/ocp4_autoscaler1.png new file mode 100644 index 00000000..c5568895 Binary files /dev/null and b/images/ocp4_autoscaler1.png differ diff --git a/images/ocp4_autoscaler2.png b/images/ocp4_autoscaler2.png new file mode 100644 index 00000000..d6df96db Binary files /dev/null and b/images/ocp4_autoscaler2.png differ diff --git a/images/ocp4_cni_arch.png b/images/ocp4_cni_arch.png new file mode 100644 index 00000000..ab2a7aeb Binary files /dev/null and b/images/ocp4_cni_arch.png differ diff --git a/images/ocp_certified_operators.png b/images/ocp_certified_operators.png new file mode 100644 index 00000000..a30c2f6f Binary files /dev/null and b/images/ocp_certified_operators.png differ diff --git a/images/ocp_ipi2.png b/images/ocp_ipi2.png new file mode 100644 index 00000000..b0126fed Binary files /dev/null and b/images/ocp_ipi2.png differ diff --git a/images/ocp_ipi_upi.png b/images/ocp_ipi_upi.png new file mode 100644 index 00000000..369acb62 Binary files /dev/null and b/images/ocp_ipi_upi.png differ diff --git a/images/ocp_monitoring.png b/images/ocp_monitoring.png new file mode 100644 index 00000000..3e76816e Binary files /dev/null and b/images/ocp_monitoring.png differ diff --git a/images/ocp_operators.png b/images/ocp_operators.png new file mode 100644 index 00000000..7218b920 Binary files /dev/null and b/images/ocp_operators.png differ diff --git a/images/ocp_plan_deploy.png b/images/ocp_plan_deploy.png new file mode 100644 index 00000000..ba785402 Binary files /dev/null and b/images/ocp_plan_deploy.png differ diff --git a/images/ocp_servicemesh1.png b/images/ocp_servicemesh1.png new file mode 100644 index 00000000..bd4cbf66 Binary files /dev/null and b/images/ocp_servicemesh1.png differ diff --git a/images/ocp_servicemesh2.png b/images/ocp_servicemesh2.png new file mode 100644 index 00000000..25910efa Binary files /dev/null and b/images/ocp_servicemesh2.png differ diff --git a/images/ocp_servicemesh3.png b/images/ocp_servicemesh3.png new file mode 100644 index 00000000..34600b7e Binary files /dev/null and b/images/ocp_servicemesh3.png differ diff --git a/images/ocp_servicemesh4.png b/images/ocp_servicemesh4.png new file mode 100644 index 00000000..a3750765 Binary files /dev/null and b/images/ocp_servicemesh4.png differ diff --git a/images/ocp_update1.png b/images/ocp_update1.png new file mode 100644 index 00000000..78e842c2 Binary files /dev/null and b/images/ocp_update1.png differ diff --git a/images/ocp_update2.png b/images/ocp_update2.png new file mode 100644 index 00000000..84ab1d04 Binary files /dev/null and b/images/ocp_update2.png differ diff --git a/images/ocp_update3.png b/images/ocp_update3.png new file mode 100644 index 00000000..1a0e7cea Binary files /dev/null and b/images/ocp_update3.png differ diff --git a/images/ocp_upi.png b/images/ocp_upi.png new file mode 100644 index 00000000..99ebc702 Binary files /dev/null and b/images/ocp_upi.png differ diff --git a/images/ocs_dashboard.png b/images/ocs_dashboard.png new file mode 100644 index 00000000..3fdb64ec Binary files /dev/null and b/images/ocs_dashboard.png differ diff --git a/images/openebs_logo.jpg b/images/openebs_logo.jpg new file mode 100644 index 00000000..2e95164c Binary files /dev/null and b/images/openebs_logo.jpg differ diff --git a/images/openproject_logo.jpg b/images/openproject_logo.jpg new file mode 100644 index 00000000..e053f790 Binary files /dev/null and b/images/openproject_logo.jpg differ diff --git a/images/openshift-vs-kubernetes-saas.png b/images/openshift-vs-kubernetes-saas.png new file mode 100644 index 00000000..30c0ce5f Binary files /dev/null and b/images/openshift-vs-kubernetes-saas.png differ diff --git a/images/openshift4-architecture.png b/images/openshift4-architecture.png new file mode 100644 index 00000000..bd07fe73 Binary files /dev/null and b/images/openshift4-architecture.png differ diff --git a/images/openshift_day2.png b/images/openshift_day2.png new file mode 100644 index 00000000..3dd9b2a4 Binary files /dev/null and b/images/openshift_day2.png differ diff --git a/images/openshift_logo.jpg b/images/openshift_logo.jpg new file mode 100644 index 00000000..2ea42cde Binary files /dev/null and b/images/openshift_logo.jpg differ diff --git a/images/openshift_solutions_2020.jpg b/images/openshift_solutions_2020.jpg new file mode 100644 index 00000000..bd7ee3eb Binary files /dev/null and b/images/openshift_solutions_2020.jpg differ diff --git a/images/openshift_vs_kubernetes.jpeg b/images/openshift_vs_kubernetes.jpeg new file mode 100644 index 00000000..c5ed9783 Binary files /dev/null and b/images/openshift_vs_kubernetes.jpeg differ diff --git a/images/openstack_logo.jpg b/images/openstack_logo.jpg new file mode 100644 index 00000000..6de72fbe Binary files /dev/null and b/images/openstack_logo.jpg differ diff --git a/images/opentowork.jfif b/images/opentowork.jfif new file mode 100644 index 00000000..e0d2479b Binary files /dev/null and b/images/opentowork.jfif differ diff --git a/images/operator_subscriptions.png b/images/operator_subscriptions.png new file mode 100644 index 00000000..13998f43 Binary files /dev/null and b/images/operator_subscriptions.png differ diff --git a/images/opta_iac_responsibility_vs_developer_.png b/images/opta_iac_responsibility_vs_developer_.png new file mode 100644 index 00000000..9935fe8f Binary files /dev/null and b/images/opta_iac_responsibility_vs_developer_.png differ diff --git a/images/oracle_cloud_logo.jpg b/images/oracle_cloud_logo.jpg new file mode 100644 index 00000000..b637d05a Binary files /dev/null and b/images/oracle_cloud_logo.jpg differ diff --git a/images/pelado_nerd.jpg b/images/pelado_nerd.jpg new file mode 100644 index 00000000..a247f165 Binary files /dev/null and b/images/pelado_nerd.jpg differ diff --git a/images/pizza-model-vert.jpeg b/images/pizza-model-vert.jpeg new file mode 100644 index 00000000..cf147019 Binary files /dev/null and b/images/pizza-model-vert.jpeg differ diff --git a/images/pod_cheat_sheet.png b/images/pod_cheat_sheet.png new file mode 100644 index 00000000..effa3339 Binary files /dev/null and b/images/pod_cheat_sheet.png differ diff --git a/images/portworx_logo.jpg b/images/portworx_logo.jpg new file mode 100644 index 00000000..fd847a7d Binary files /dev/null and b/images/portworx_logo.jpg differ diff --git a/images/postman_logo.jpg b/images/postman_logo.jpg new file mode 100644 index 00000000..daae1a26 Binary files /dev/null and b/images/postman_logo.jpg differ diff --git a/images/programmer-move.jpg b/images/programmer-move.jpg new file mode 100644 index 00000000..e0b2d0a2 Binary files /dev/null and b/images/programmer-move.jpg differ diff --git a/images/prometheus-architecture.png b/images/prometheus-architecture.png new file mode 100644 index 00000000..e3fc6633 Binary files /dev/null and b/images/prometheus-architecture.png differ diff --git a/images/prometheus_logo.jpg b/images/prometheus_logo.jpg new file mode 100644 index 00000000..c3111da6 Binary files /dev/null and b/images/prometheus_logo.jpg differ diff --git a/images/promotions_at_big_tech.jfif b/images/promotions_at_big_tech.jfif new file mode 100644 index 00000000..f07e0abd Binary files /dev/null and b/images/promotions_at_big_tech.jfif differ diff --git a/images/pulumi_logo.jpg b/images/pulumi_logo.jpg new file mode 100644 index 00000000..aa1811af Binary files /dev/null and b/images/pulumi_logo.jpg differ diff --git a/images/quarkus-logo.jpg b/images/quarkus-logo.jpg new file mode 100644 index 00000000..01d1df4c Binary files /dev/null and b/images/quarkus-logo.jpg differ diff --git a/images/rancher-logo.jpg b/images/rancher-logo.jpg new file mode 100644 index 00000000..b7c8fb5e Binary files /dev/null and b/images/rancher-logo.jpg differ diff --git a/images/rancher.png b/images/rancher.png new file mode 100644 index 00000000..598e10df Binary files /dev/null and b/images/rancher.png differ diff --git a/images/realworld-pipeline-flow.png b/images/realworld-pipeline-flow.png new file mode 100644 index 00000000..c73d72c8 Binary files /dev/null and b/images/realworld-pipeline-flow.png differ diff --git a/images/redhat_logo.jpg b/images/redhat_logo.jpg new file mode 100644 index 00000000..1bb0bcf9 Binary files /dev/null and b/images/redhat_logo.jpg differ diff --git a/images/redis_logo.jpg b/images/redis_logo.jpg new file mode 100644 index 00000000..c45bc639 Binary files /dev/null and b/images/redis_logo.jpg differ diff --git a/images/rest_vs_graphql.jfif b/images/rest_vs_graphql.jfif new file mode 100644 index 00000000..78e16a7b Binary files /dev/null and b/images/rest_vs_graphql.jfif differ diff --git a/images/rh_developer_logo.jpg b/images/rh_developer_logo.jpg new file mode 100644 index 00000000..22e052b2 Binary files /dev/null and b/images/rh_developer_logo.jpg differ diff --git a/images/rhdeveloper.jpg b/images/rhdeveloper.jpg new file mode 100644 index 00000000..3eff3523 Binary files /dev/null and b/images/rhdeveloper.jpg differ diff --git a/images/robin_logo.jpg b/images/robin_logo.jpg new file mode 100644 index 00000000..748e4a9c Binary files /dev/null and b/images/robin_logo.jpg differ diff --git a/images/rocket_chat_logo.jpg b/images/rocket_chat_logo.jpg new file mode 100644 index 00000000..b8d677e3 Binary files /dev/null and b/images/rocket_chat_logo.jpg differ diff --git a/images/s3_storage_classes.jfif b/images/s3_storage_classes.jfif new file mode 100644 index 00000000..d861b4b2 Binary files /dev/null and b/images/s3_storage_classes.jfif differ diff --git a/images/scaleway_cloud.jpg b/images/scaleway_cloud.jpg new file mode 100644 index 00000000..6299c719 Binary files /dev/null and b/images/scaleway_cloud.jpg differ diff --git a/images/scrum-one-min.jpg b/images/scrum-one-min.jpg new file mode 100644 index 00000000..283285db Binary files /dev/null and b/images/scrum-one-min.jpg differ diff --git a/images/scrum_vs_kanban.jfif b/images/scrum_vs_kanban.jfif new file mode 100644 index 00000000..65b43fd5 Binary files /dev/null and b/images/scrum_vs_kanban.jfif differ diff --git a/images/simple_k8s_cluster_meme.jfif b/images/simple_k8s_cluster_meme.jfif new file mode 100644 index 00000000..b884e738 Binary files /dev/null and b/images/simple_k8s_cluster_meme.jfif differ diff --git a/images/slack_logo.jpg b/images/slack_logo.jpg new file mode 100644 index 00000000..beba9097 Binary files /dev/null and b/images/slack_logo.jpg differ diff --git a/images/smartbear_swagger_logo.jpg b/images/smartbear_swagger_logo.jpg new file mode 100644 index 00000000..9458f017 Binary files /dev/null and b/images/smartbear_swagger_logo.jpg differ diff --git a/images/softwareconsumers-1.png b/images/softwareconsumers-1.png new file mode 100644 index 00000000..2a17dfb7 Binary files /dev/null and b/images/softwareconsumers-1.png differ diff --git a/images/sonarsource_logo.jpg b/images/sonarsource_logo.jpg new file mode 100644 index 00000000..e3042f38 Binary files /dev/null and b/images/sonarsource_logo.jpg differ diff --git a/images/sonatype_logo.jpg b/images/sonatype_logo.jpg new file mode 100644 index 00000000..334f408b Binary files /dev/null and b/images/sonatype_logo.jpg differ diff --git a/images/spinnaker_logo.jpg b/images/spinnaker_logo.jpg new file mode 100644 index 00000000..659020d2 Binary files /dev/null and b/images/spinnaker_logo.jpg differ diff --git a/images/spring-logo.jpg b/images/spring-logo.jpg new file mode 100644 index 00000000..6205b349 Binary files /dev/null and b/images/spring-logo.jpg differ diff --git a/images/spring_annotations_cheat_sheet.jfif b/images/spring_annotations_cheat_sheet.jfif new file mode 100644 index 00000000..94439da7 Binary files /dev/null and b/images/spring_annotations_cheat_sheet.jfif differ diff --git a/images/stateful-and-stateless-applications.png b/images/stateful-and-stateless-applications.png new file mode 100644 index 00000000..23d87a43 Binary files /dev/null and b/images/stateful-and-stateless-applications.png differ diff --git a/images/storageos_logo.jpg b/images/storageos_logo.jpg new file mode 100644 index 00000000..8db8c298 Binary files /dev/null and b/images/storageos_logo.jpg differ diff --git a/images/summarising_top_10_api_testing_tools.png b/images/summarising_top_10_api_testing_tools.png new file mode 100644 index 00000000..3fdd6bec Binary files /dev/null and b/images/summarising_top_10_api_testing_tools.png differ diff --git a/images/techwithhelen.jpg b/images/techwithhelen.jpg new file mode 100644 index 00000000..87d68cf9 Binary files /dev/null and b/images/techwithhelen.jpg differ diff --git a/images/techworld_nana.jpg b/images/techworld_nana.jpg new file mode 100644 index 00000000..8ebb7a2c Binary files /dev/null and b/images/techworld_nana.jpg differ diff --git a/images/tenant.png b/images/tenant.png new file mode 100644 index 00000000..ea141675 Binary files /dev/null and b/images/tenant.png differ diff --git a/images/term_devops.jpg b/images/term_devops.jpg new file mode 100644 index 00000000..adcb46f0 Binary files /dev/null and b/images/term_devops.jpg differ diff --git a/images/testinprodmeme.jfif b/images/testinprodmeme.jfif new file mode 100644 index 00000000..3e0c9a6d Binary files /dev/null and b/images/testinprodmeme.jfif differ diff --git a/images/testops_flow.jpg b/images/testops_flow.jpg new file mode 100644 index 00000000..900602a2 Binary files /dev/null and b/images/testops_flow.jpg differ diff --git a/images/tetrate_logo.jpg b/images/tetrate_logo.jpg new file mode 100644 index 00000000..6c0ae7da Binary files /dev/null and b/images/tetrate_logo.jpg differ diff --git a/images/the_digital_life.jpg b/images/the_digital_life.jpg new file mode 100644 index 00000000..b547a807 Binary files /dev/null and b/images/the_digital_life.jpg differ diff --git a/images/thecloudgirl.jpg b/images/thecloudgirl.jpg new file mode 100644 index 00000000..a521e931 Binary files /dev/null and b/images/thecloudgirl.jpg differ diff --git a/images/thenewstack.jpg b/images/thenewstack.jpg new file mode 100644 index 00000000..87a9350c Binary files /dev/null and b/images/thenewstack.jpg differ diff --git a/images/thethips4you.jpg b/images/thethips4you.jpg new file mode 100644 index 00000000..6fe1edfc Binary files /dev/null and b/images/thethips4you.jpg differ diff --git a/images/thomas_maurer.jpg b/images/thomas_maurer.jpg new file mode 100644 index 00000000..80c3a293 Binary files /dev/null and b/images/thomas_maurer.jpg differ diff --git a/images/tigera_calico_logo.jpg b/images/tigera_calico_logo.jpg new file mode 100644 index 00000000..e0c90896 Binary files /dev/null and b/images/tigera_calico_logo.jpg differ diff --git a/images/tinahuang.jpg b/images/tinahuang.jpg new file mode 100644 index 00000000..3444a1dc Binary files /dev/null and b/images/tinahuang.jpg differ diff --git a/images/todays_devops.jpg b/images/todays_devops.jpg new file mode 100644 index 00000000..385b9363 Binary files /dev/null and b/images/todays_devops.jpg differ diff --git a/images/top_10_kubernetes_patterns.png b/images/top_10_kubernetes_patterns.png new file mode 100644 index 00000000..9b3ca4b8 Binary files /dev/null and b/images/top_10_kubernetes_patterns.png differ diff --git a/images/traditional_ops_vs_gitops.png b/images/traditional_ops_vs_gitops.png new file mode 100644 index 00000000..b1a081be Binary files /dev/null and b/images/traditional_ops_vs_gitops.png differ diff --git a/images/url_cheatsheet.jfif b/images/url_cheatsheet.jfif new file mode 100644 index 00000000..3aec6628 Binary files /dev/null and b/images/url_cheatsheet.jfif differ diff --git a/images/utopia_eduardo_galeano.png b/images/utopia_eduardo_galeano.png new file mode 100644 index 00000000..3cc55ac4 Binary files /dev/null and b/images/utopia_eduardo_galeano.png differ diff --git a/images/vmware_tanzu_logo.jpg b/images/vmware_tanzu_logo.jpg new file mode 100644 index 00000000..d1bd40ba Binary files /dev/null and b/images/vmware_tanzu_logo.jpg differ diff --git a/images/vscode_logo.jpg b/images/vscode_logo.jpg new file mode 100644 index 00000000..4b8a1bf1 Binary files /dev/null and b/images/vscode_logo.jpg differ diff --git a/images/waterfall-agile.jpg b/images/waterfall-agile.jpg new file mode 100644 index 00000000..dd3404e6 Binary files /dev/null and b/images/waterfall-agile.jpg differ diff --git a/images/weavecloud_logo.jpg b/images/weavecloud_logo.jpg new file mode 100644 index 00000000..15bace84 Binary files /dev/null and b/images/weavecloud_logo.jpg differ diff --git a/images/when_to_choose_kubernetes.jpeg b/images/when_to_choose_kubernetes.jpeg new file mode 100644 index 00000000..3e2aa1e2 Binary files /dev/null and b/images/when_to_choose_kubernetes.jpeg differ diff --git a/images/why_devops_capgemini.png b/images/why_devops_capgemini.png new file mode 100644 index 00000000..31092f6d Binary files /dev/null and b/images/why_devops_capgemini.png differ diff --git a/images/workchronicles_cultural_fit.jfif b/images/workchronicles_cultural_fit.jfif new file mode 100644 index 00000000..0f962a74 Binary files /dev/null and b/images/workchronicles_cultural_fit.jfif differ diff --git a/images/xebialabs_logo.jpg b/images/xebialabs_logo.jpg new file mode 100644 index 00000000..4a5a07a8 Binary files /dev/null and b/images/xebialabs_logo.jpg differ diff --git a/images/you_dont_need_kubernetes.jpg b/images/you_dont_need_kubernetes.jpg new file mode 100644 index 00000000..df17b974 Binary files /dev/null and b/images/you_dont_need_kubernetes.jpg differ diff --git a/images/you_get_a_tech_job.jfif b/images/you_get_a_tech_job.jfif new file mode 100644 index 00000000..f3f20d14 Binary files /dev/null and b/images/you_get_a_tech_job.jfif differ diff --git a/images/zipkin_ui.png b/images/zipkin_ui.png new file mode 100644 index 00000000..4075fa77 Binary files /dev/null and b/images/zipkin_ui.png differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..df75d233 --- /dev/null +++ b/index.html @@ -0,0 +1,7131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Nubenetes: Awesome Kubernetes & Cloud Awesome

+
+

Nubenetes V2: Agentic Elite Edition is now live!

+

Looking for a high-density, AI-curated experience? Explore our V2 Elite Portal - Optimized for 2026 Architectural Standards.

+
+

A curated list of awesome references collected since 2018. Microservices architectures rely on DevOps practices, automation, CI/CD (Continuous Integration & Delivery), and API-focused designs.

+

Nubenetes is also available at this other site.

+

“I do not believe you can do today’s job with yesterday’s methods and be in business tomorrow” (Horatio Nelson Jackson) +

+container_with_cars
+

+
+

Motivation

+ +

Introduction

+ +

SRE Site Reliability Engineering

+ +

DevOps

+ +

DevSecOps and Security

+ +

NoOps aka Serverless

+ +

Docker

+ +

Kubernetes

+ +

Red Hat OpenShift

+ +

SUSE Rancher

+ +

Software Delivery Pipeline

+ +

Jenkins & CloudBees

+ +

OpenShift Pipelines

+ +

DevOps Tools aka Toolchain. Jenkins Alternatives. Cloud Native CI/CD Tools

+ +

Web Servers, Reverse Proxies, Java Runtimes & Caching Solutions

+ +

Monitoring and Performance. Prometheus, Grafana, APMs and more

+ +

Infrastructure Provisioning. Infra Management Tools

+ +

Configuration Management

+ +

Databases on Kubernetes

+ +

Cloud Based Integration & Messaging. Data Processing & Streaming (aka Data Pipeline)

+ +

Service Mesh

+ +

Demos and Boilerplates

+ +

Cloud

+ +

APIs with SOAP, REST and gRPC

+ +

Development & Frameworks

+ +

Microsoft

+ +

Java

+ +

Dev Environment

+ +

QA/TestOps - Continuous Testing

+ +

AI

+ +

Project Management Methodology

+ +

More References

+ +

Hiring and Freelancing

+ +

Customer Success Stories

+ +
+

+docker videos cncf videos kubernetes logo redhat videos openshift videos rancher logo cloudbees videos jenkins videos jenkins-x videos spinnaker videos vmware tanzu logo
+ibm cloud videos aws videos gcp videos azure videos oraclecloud videos digitalocean videos cloudflare scaleway cloud openstack harhicorp videos pulumi videos
+dzone videos prometheus videos grafana videos istio videos elastic videos dynatrace videos appdynamics videos newrelic videos tigera calico weavecloud lambdatest
+atlassian videos vscode videos github videos gitlab video gitkraken rocketchat videos slack videos mattermost videos microsoft365 openproject tetrate
+rh devel spring logo quarkus logo lightbend videos postman videos swagger videos jfrog sonatype sonarsource sonarqube chrome developers videos mozilla developer
+crunchydata liquibase video cockroachdb mongodb redis confluent video kubemq video openebs storageos robin portworx
+cloud academy acloudguru devops_tv xebialabs devops library codecademy coursera academind guru99 intellipaat cloud quick POCs
+thetips4you cloud learnhub John Savill microservice factory kubedb appscode devops toolkit ansible pilot codelytv pelado nerd hola mundo javier garzas
+london IAC techworld nana honeypot Ali Spittel thomas maurer freecodecamp thenewstack argocd project fluxcd container days the cloud girl
+ContinuousDeliveryFoundation tina huang azure devops azure cloud native alibaba cloud linode cloud gaia-x gps keptn anais urlichs the digital life
+Azure Terraformer Ned in the Cloud netbox Tech with Helen bytebytego dotcsv midulive +

+
+Top Videos & Clips - Click to expand! +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/interview-questions/index.html b/interview-questions/index.html new file mode 100644 index 00000000..2ae1c2af --- /dev/null +++ b/interview-questions/index.html @@ -0,0 +1,6703 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interview Questions - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Interview Questions

+
    +
  1. Introduction
  2. +
  3. Ansible Interview Questions
  4. +
  5. Terraform Interview Questions
  6. +
  7. AWS Interview Questions
  8. +
  9. SQL Interview Questions
  10. +
  11. API and API Testing Interview Questions
  12. +
  13. DevOps Interview Questions
  14. +
  15. Selenium Interview Questions
  16. +
  17. MySQL Interview Questions
  18. +
  19. Git Interview Questions
  20. +
  21. Microservices Interview Questions
  22. +
  23. Java and Java Collections Interview Questions
  24. +
  25. Jenkins Interview Questions
  26. +
  27. Kubernetes interview questions
  28. +
  29. Apache Kafka Interview Questions
  30. +
  31. Scrum Product Owner Interview Questions
  32. +
  33. Rest Assured Interview Questions
  34. +
  35. QA Interview Questions
  36. +
  37. Python Interview Questions
  38. +
  39. System Design Interview
  40. +
  41. JSON Interview Questions
  42. +
  43. Cypress Interview Questions
  44. +
+

Introduction

+
    +
  • grow.google: interview warmup A quick way to prepare for your next interview. Practice key questions, get insights about your answers, and get more comfortable interviewing.
  • +
  • github.com/moabukar/tech-vault A list of many interview questions & real-world challenges in Tech! (Site below is WIP)
  • +
+

Ansible Interview Questions

+ +

Terraform Interview Questions

+ +

AWS Interview Questions

+ +

SQL Interview Questions

+ +

API and API Testing Interview Questions

+ +

DevOps Interview Questions

+ +

Selenium Interview Questions

+ +

MySQL Interview Questions

+ +

Git Interview Questions

+ +

Microservices Interview Questions

+ +

Java and Java Collections Interview Questions

+ +

Jenkins Interview Questions

+ +

Kubernetes interview questions

+ +

Apache Kafka Interview Questions

+ +

Scrum Product Owner Interview Questions

+ +

Rest Assured Interview Questions

+ +

QA Interview Questions

+ +

Python Interview Questions

+ +

System Design Interview

+ +

JSON Interview Questions

+ +

Cypress Interview Questions

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/introduction/index.html b/introduction/index.html new file mode 100644 index 00000000..c4014c6a --- /dev/null +++ b/introduction/index.html @@ -0,0 +1,7542 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Microservice Architecture. From Java EE To Cloud Native. Openshift VS Kubernetes - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Introduction. Microservice Architecture. From Java EE To Cloud Native. Openshift VS Kubernetes

+
    +
  1. Introduction
  2. +
  3. Platform Reference Architecture
  4. +
  5. Solution Architect. IT Architecture Frameworks
  6. +
  7. Pets vs Cattle Analogy
  8. +
  9. Service-Oriented Arhitecture vs Event-Driven Architecture
  10. +
  11. Cloud Native
  12. +
  13. Technical Debt
  14. +
  15. Twelve-Factor Apps in Kubernetes
  16. +
  17. Event Driven Architecture EDA
  18. +
  19. Understanding the Differences Between Event-Driven, Message-Driven, and Microservices Architectures
  20. +
  21. Multi-Tenancy Architecture
  22. +
  23. Architecture Decision Records
  24. +
  25. Self service developer platform
  26. +
  27. Shift-Left
  28. +
  29. Disaster Recovery
  30. +
  31. SaaS
  32. +
  33. Multi Cloud
  34. +
  35. Cloud Automation
      +
    1. Automation Glossary
    2. +
    +
  36. +
  37. Microservices Best Practices and Design Patterns
  38. +
  39. Microservice Patterns
      +
    1. CQRS Pattern
    2. +
    +
  40. +
  41. Microservices Anti Patterns
  42. +
  43. Micro Frontend Architecture. Microservices for the Frontend
  44. +
  45. Backends for Frontends
  46. +
  47. Data Engineering
  48. +
  49. Cloud Migration Checklist
  50. +
  51. Microservices Failures
  52. +
  53. Top Microservices Frameworks
  54. +
  55. Transform Legacy Java Apps to Microservices with automation tools
  56. +
  57. Namespaces for Data Structuring
  58. +
  59. From SysAdmin to Architect
  60. +
  61. Raft Consensus Algorithm
  62. +
  63. PaaS
  64. +
  65. Modular Monolith
  66. +
  67. From Java EE To Cloud Native
  68. +
  69. Monolith to Microservices Using the Strangler Pattern
  70. +
  71. Microservices to Monolith
  72. +
  73. Openshift VS Kubernetes
  74. +
  75. Career Path
  76. +
  77. Full Stack Developer’s Roadmap
  78. +
  79. Software Development Models
  80. +
  81. Domain Driven Design DDD
  82. +
  83. Software Development Tools
  84. +
  85. vFunction. A system to transform monolithic Java applications into microservices
  86. +
  87. Software in Automotive Industry
  88. +
  89. Data Centers in Spain
  90. +
  91. Bunch of Images
  92. +
  93. Videos
  94. +
  95. Devel Videos
  96. +
  97. Tweets
  98. +
+

Introduction

+ +

Platform Reference Architecture

+ +

Solution Architect. IT Architecture Frameworks

+ +

Pets vs Cattle Analogy

+
    +
  • cloudscaling.com: The History of Pets vs Cattle and How to Use the Analogy Properly
      +
    • In the old way of doing things, we treat our servers like pets, for example Bob the mail server. If Bob goes down, it’s all hands on deck. The CEO can’t get his email and it’s the end of the world. In the new way, servers are numbered, like cattle in a herd. For example, www001 to www100. When one server goes down, it’s taken out back, shot, and replaced on the line.
    • +
    • Pets: Servers or server pairs that are treated as indispensable or unique systems that can never be down. Typically they are manually built, managed, and “hand fed”. Examples include mainframes, solitary servers, HA loadbalancers/firewalls (active/active or active/passive), database systems designed as master/slave (active/passive), and so on.
    • +
    • Cattle: Arrays of more than two servers, that are built using automated tools, and are designed for failure, where no one, two, or even three servers are irreplaceable. Typically, during failure events no human intervention is required as the array exhibits attributes of “routing around failures” by restarting failed servers or replicating data through strategies like triple replication or erasure coding. Examples include web server arrays, multi-master datastores such as Cassandra clusters, multiple racks of gear put together in clusters, and just about anything that is load-balanced and multi-master.
    • +
    +
  • +
  • traefik.io: Pets vs. Cattle: The Future of Kubernetes in 2022
  • +
+

Service-Oriented Arhitecture vs Event-Driven Architecture

+ +

Cloud Native

+ +

Technical Debt

+ +

Twelve-Factor Apps in Kubernetes

+ +

Event Driven Architecture EDA

+ +

Understanding the Differences Between Event-Driven, Message-Driven, and Microservices Architectures

+ +

Multi-Tenancy Architecture

+ +

Architecture Decision Records

+ +

Self service developer platform

+ +

Shift-Left

+ +

Disaster Recovery

+ +

SaaS

+ +

Multi Cloud

+ +

Cloud Automation

+ +

Automation Glossary

+ +

Microservices Best Practices and Design Patterns

+ +

Microservice Patterns

+ +

CQRS Pattern

+ +

Microservices Anti Patterns

+ +

Micro Frontend Architecture. Microservices for the Frontend

+ +

Backends for Frontends

+ +

Data Engineering

+ +

Cloud Migration Checklist

+ +

Microservices Failures

+ +

Top Microservices Frameworks

+ +

Transform Legacy Java Apps to Microservices with automation tools

+ +

Namespaces for Data Structuring

+ +

From SysAdmin to Architect

+ +

Raft Consensus Algorithm

+
    +
  • The Raft Consensus Algorithm 🌟 etcd is a “distributed reliable key-value store for the most critical data of a distributed system”. It uses the Raft consensus algorithm which was designed to be easy to understand, to scale, and to operate. The protocol and the etcd implementation were very quickly adopted by large distributed systems like Kubernetes, large distributed databases or messaging frameworks, where consensus and strong consistency is a must.
  • +
+

PaaS

+ +

Modular Monolith

+ +

From Java EE To Cloud Native

+ +

Monolith to Microservices Using the Strangler Pattern

+ +

Microservices to Monolith

+ +

Openshift VS Kubernetes

+ +

Career Path

+ +

Full Stack Developer’s Roadmap

+ +

Software Development Models

+ +

Domain Driven Design DDD

+
    +
  • dzone: The Concept of Domain-Driven Design Explained In this article, we define the core concepts around domain-driven design, explain them, and highlight the advantages and downsides of the approach.
      +
    • Using microservices means creating applications from loosely coupling services. The application consists of several small services, each representing a separate business goal. They can be developed and easily maintained individually, after what they are joint in a complex application.
    • +
    • Microservices is an architecture design model with a specific bounded context, configuration, and dependencies. These result from the architectural principles of the domain-driven design and DevOps. Domain-driven design is the idea of solving problems of the organization through code.
    • +
    • The business goal is important to the business users, with a clear interface and functions. This way, the microservice can run independently from other microservices. Moreover, the team can also work on it independently, which is, in fact, the point of the microservice architecture.
    • +
    • Many developers claim microservices have made them more efficient. This is due to the ability to work in small teams. This allows them to develop different small parts that will later be merged as a large app.
    • +
    • They spend less time coordinating with other developers and more time on developing the actual code. Eventually, this creates more value for the end-user.
    • +
    +
  • +
  • medium.com/codex: DDD — Events Are Complex Why do Events matter so much in Domain-Driven Design?
  • +
+

Software Development Tools

+ +

vFunction. A system to transform monolithic Java applications into microservices

+ +

Software in Automotive Industry

+ +

Data Centers in Spain

+ +

Bunch of Images

+
+Click to expand! +

+

microservices infographic

+

you dont need kubenetes

+

sw consumers

+

Openshift SaaS VS Kubernetes SaaS

+

Openshift VS Kubernetes

+

Kubernetes on its own is not enough

+

how mature is your microservices architecture

+

bytebytego microservice tech stack +

+
+

Videos

+
+ Click to expand! + +
+ + + + + + + +
+
+ +

Devel Videos

+
+Click to expand! +

+

+

+

+

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/istio/index.html b/istio/index.html new file mode 100644 index 00000000..ca415c6e --- /dev/null +++ b/istio/index.html @@ -0,0 +1,6715 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Istio - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Istio - Service Mesh

+
    +
  1. Docs
  2. +
  3. API Access Control
  4. +
  5. Maistra Istio
  6. +
  7. Admiral
  8. +
  9. Ambient Mesh - Istio Data Plane
  10. +
  11. Kiali project, observability for the Istio service mesh
  12. +
  13. Jaeger tracing. Open source, end-to-end distributed tracing
  14. +
  15. Envoy micro proxy
      +
    1. Envoy Gateway
    2. +
    +
  16. +
  17. Kibana
  18. +
  19. AWS App Mesh
  20. +
  21. Istio and AWS EKS
  22. +
  23. Istio Tools
  24. +
  25. Videos
  26. +
  27. Tweets
  28. +
+

Docs

+ +

API Access Control

+ +

Maistra Istio

+ +

Admiral

+
    +
  • istio-ecosystem/admiral Admiral provides automatic configuration and service discovery for multicluster Istio service mesh. Istio has a very robust set of multi-cluster capabilities. Managing this configuration across multiple clusters at scale is challenging. Admiral takes an opinionated view on this configuration and provides automatic provisioning and syncing across clusters. This removes the complexity for developers and mesh operators.
  • +
+

Ambient Mesh - Istio Data Plane

+ +

Kiali project, observability for the Istio service mesh

+ +

Jaeger tracing. Open source, end-to-end distributed tracing

+ +

Envoy micro proxy

+ +

Envoy Gateway

+
    +
  • Envoy Gateway Envoy Gateway is an open source project for managing Envoy Proxy as a standalone or Kubernetes-based application gateway.
  • +
+

Kibana

+ +

AWS App Mesh

+ +

Istio and AWS EKS

+ +

Istio Tools

+
    +
  • Application Gateway for Containers: Istio Integration 🌟 - This post explores the integration of Azure Application Gateway for Containers (AGC) with Istio, a Kubernetes service mesh. It details how AGC can leverage Istio to provide end-to-end TLS encryption for traffic between AGC and application pods, even if the applications themselves do not natively support TLS. This is part of a series on AGC, focusing on security aspects and simplified TLS implementation.
  • +
  • +

    Implementing Istio From Start To Finish 🌟 - A comprehensive guide on implementing Istio as a Service Mesh in a Kubernetes environment, covering installation methods (Helm), enabling mTLS, and ensuring sidecar injection into pods. It highlights the common reasons for adopting a service mesh, such as encryption, traffic visibility, and network resilience.

    +
  • +
  • +

    Istio Performance/Stability Testing

    +
  • +
+

Videos

+
+Click to expand! +

+ + +

+
+

Tweets

+
+ Click to expand! + +
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/java-and-java-performance-optimization/index.html b/java-and-java-performance-optimization/index.html new file mode 100644 index 00000000..8eb2fe56 --- /dev/null +++ b/java-and-java-performance-optimization/index.html @@ -0,0 +1,6740 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Java Memory Management & Java Performance Optimization - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Java and Memory Management

+
    +
  1. Introduction
  2. +
  3. Java Performance Optimization
      +
    1. Java on Kubernetes. Java Memory Arguments for Containers
    2. +
    3. Benchmarking modern Java Virtual Machines and the next-generation garbage collectors
    4. +
    5. Relevant JVM Metrics
    6. +
    7. Common JVM Errors
    8. +
    9. Tuning Jenkins GC
    10. +
    11. Tuning Java Containers
    12. +
    13. Debugging java applications on OpenShift and Kubernetes
    14. +
    +
  4. +
  5. List of Performance Analysis Tools
      +
    1. Threadumps, Heapdumps and GC Analysis Tools
    2. +
    +
  6. +
  7. Garbage Collection and Heap Offloading
  8. +
  9. Java Tracing Tools. JDK Flight Recorder
  10. +
  11. Cambios importantes en la gestión de memoria de Java 8 de Oracle (2014)
  12. +
  13. Slides
  14. +
  15. Tweets
  16. +
+

Introduction

+ +

Java Performance Optimization

+ +

Java on Kubernetes. Java Memory Arguments for Containers

+ +

Benchmarking modern Java Virtual Machines and the next-generation garbage collectors

+
    +
  • jet-start.sh: Performance of Modern Java on Data-Heavy Workloads, Part 1 🌟 The Java runtime has been evolving more rapidly in recent years and, after 15 years, we finally got a new default garbage collector: the G1. Two more GCs are on their way to production and are available as experimental features: Oracle’s ZGC and OpenJDK’s Shenandoah. We at Hazelcast thought it was time to put all these new options to the test and find which choices work well with workloads typical for our distributed stream processing engine, Hazelcast Jet.
  • +
+

Relevant JVM Metrics

+ + + + + + + + + + + + + + + + + +
MetricDetails / Reference
GC ThroughputRepeated Full GC happens way before OutOfMemoryError
ref1
ref2
etc
+

Common JVM Errors

+ + + + + + + + + + + + + + + + + + + + + +
JVM ErrorDetails / Reference
OutOfMemoryErrorRepeated Full GC happens way before OutOfMemoryError
ref1
ref2
StackOverflowErrorref
etc
+

Tuning Jenkins GC

+ +

Tuning Java Containers

+ +

Debugging java applications on OpenShift and Kubernetes

+ +

List of Performance Analysis Tools

+ +

Threadumps, Heapdumps and GC Analysis Tools

+ +

Garbage Collection and Heap Offloading

+ +

Java Tracing Tools. JDK Flight Recorder

+ +

Cambios importantes en la gestión de memoria de Java 8 de Oracle (2014)

+

PermGen no pertenece al heap y los objetos no son promocionados a esta sección de memoria gestionada durante un GC. Como bien dices es un espacio contiguo al heap, pero también se limpia cada vez que la tenured/old generation procede a un GC. No es una generación separada del mismo modo que es la young generation, y no hay un mecanismo específico para un GC separado de PermGen. La tenured/old generation y la permanent generation proceden a un GC cuando una de las dos se llena.

+

De todos modos no me queda claro si incorporaron PermGen dentro del heap en Java 7, aunque poco importa ya con los cambios en Java 8.

+

Mejor empiezo por introducir qué implementación de JVM es Java 8 de Oracle. Existen numerosas implementaciones de JVM y cada una utiliza diferentes soluciones para la gestión de memoria.

+

Dos de las soluciones más conocidas y populares de JVM han sido HotSpot de Sun (habitual en Tomcat) y JRockit de BEA (Weblogic). Ambas compañias fueron compradas por Oracle y Java 8 viene a ser la integración definitiva de ambas soluciones.

+

Históricamente se consideraba que HotSpot es el JVM con mejor rendimiento de las dos, si bien JRockit es valorada como la más escalable.

+

Originalmente en HotSpot no había generación permanente. Objetos y clases de JVM se almacenaban juntas. Las clases de ésta JVM eran estáticas y prácticamente no se utilizaban ‘Class Loaders’ (Load y Unload/Collection de Clases). PermGen surgió como una mejora de rendimiento. Por defecto los datos en la generación permanente no se eliminan nunca (son datos de JVM y no de aplicación, pudiendo variar según la pólítica de garbage collection). Esto podía llenar la generación permanente generando un OutOfMemoryErrors si se producía un elevado número de classloading. En muchos casos un problema con una generación permanente implica reiniciar regularmente la JVM y la aplicación Java.

+

Actualmente las clases de JVM son dinámicas y el espacio requerido para metadatos puede cambiar fácilmente.

+

A diferencia de HotSpot VM, JRockit carece de generación permanente y en cambio almacena los metadatos ‘off the heap’ en memoria nativa. Estos buffers de código son liberados constantemente cuando sus ClassLoaders no se utilizan. El problema de OutOfMemory en JRockit no es diferente a HotSpot, excepto por el hecho de ser memoria nativa en lugar de memoria heap. Hay dos diferencias significativas. Primero, en JRockit la limpieza de metadatos está habilitada siempre por defecto y segundo, no hay tamaño límite fijo para el espacio de metadatos. Uno de los principales problemas con HotSpot es su dificultad para seleccionar un tamaño adecuado para la generación permanente. ¿128MB, 256MB? Es muy difícil acertar para cada aplicación. JRockit es dinámico en la gestión de memoria reservada para metadatos y sin límites de tamaño (a excepción de la memoria del sistema). JRockit es también el único JVM con soporte de heaps no contiguos (uso de memoria por encima y por debajo del alojamiento del kernel y otras librerías), importante en el caso de Windows donde su kernel a menudo se ubica en mitad del espacio de direcciones.

+

Java 8 (HotRockit?) incorpora todas las herramientas de monitorización de HotSpot (Java VisualVM, jstat, jmap) y JRockit (Java Mission Control, Java Flight Recorder). Muy interesante.

+

Un inconveniente de Java 8 es la fragmentación de la memoria nativa para metadatos, pero probablemente incluya compactación en un futuro próximo.

+

En el 2016 saldrá Java 9 con la funcionalidad de auto-tuning y soporte de tamaños Heap multi-gigas.

+

En cualquier caso hay una tendencia al Heap-Offloading. El consumo de memoria en Java tiene un coste y las pausas/latencias causadas por los Full GC son proporcionales al tamaño del heap. Estas pausas son notables en tamaños de heap > 1Gb, con un considerable impacto en aplicaciones de tiempo real donde un proceso que no responde rápido puede ser descartado del cluster. Aún así, los servidores actuales hacen uso de frameworks muy pesados y fácilmente requieren heaps > 4Gb. Una solución a este problema es alojar fuera del heap los objetos poco utilizados mediante técnicas de serialización/deserialización (caché). El heap de memoria se mantiene pequeño y el Full GC se completa en milisegundos. Ejemplos:

+
    +
  1. caché de sesión de usuarios, donde un fichero mapeado en memoria almacena gigabytes de sesiones de usuarios inactivos. Una vez que el usuario hace log-in, la aplicación dispone de todos sus datos sin ser necesaria una consulta a la BBDD.
  2. +
  3. caché de resultados computacionales como queries, páginas html, etc (donde el coste computacional es mayor a la deserialización)
  4. +
+

Slides

+
+ Click to expand! + +
+ +
+
+ +

Tweets

+
+ Click to expand! + +
+ + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/java_app_servers/index.html b/java_app_servers/index.html new file mode 100644 index 00000000..3fdb290f --- /dev/null +++ b/java_app_servers/index.html @@ -0,0 +1,6497 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Java EE/Jakarta EE and MicroProfile Runtimes - Payara, JBoss EAP, WebSphere Liberty, WildFly and more - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Server Vendors Providing Java EE/Jakarta EE and MicroProfile Runtimes

+
    +
  1. Introduction. Jakarta EE (formerly J2EE)
  2. +
  3. Payara
      +
    1. Docker Hub images
    2. +
    +
  4. +
  5. Red Hat JBoss EAP
  6. +
  7. WildFly
  8. +
  9. IBM WebSphere Liberty
  10. +
  11. Alternatives
  12. +
  13. Tweets
  14. +
+

Introduction. Jakarta EE (formerly J2EE)

+ +

Payara

+ +

Docker Hub images

+ +

Red Hat JBoss EAP

+ +

WildFly

+ +

IBM WebSphere Liberty

+ +

Alternatives

+ +

Tweets

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/java_frameworks/index.html b/java_frameworks/index.html new file mode 100644 index 00000000..46d61623 --- /dev/null +++ b/java_frameworks/index.html @@ -0,0 +1,7261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Java & Open Source Microservices Frameworks. SpringBoot, MicroProfile, Quarkus and more - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Java and Java Programming Models. Open Source Microservices Frameworks

+
    +
  1. Introduction
      +
    1. How to migrate Java workloads to containers
    2. +
    3. Existing Java Implementations
        +
      1. Which Version of JDK Should I Use?
      2. +
      3. Amazon Corretto OpenJDK distribution
      4. +
      +
    4. +
    5. Use Java 11
    6. +
    7. Java 17
    8. +
    9. Java 18
    10. +
    11. Java 19
    12. +
    +
  2. +
  3. Java Programming Models (Frameworks)
  4. +
  5. Jakarta EE
  6. +
  7. Eclipse MicroProfile
      +
    1. Server Vendors providing MicroProfile runtimes
    2. +
    +
  8. +
  9. Hibernate
  10. +
  11. Spring
      +
    1. SpringBoot
        +
      1. SpringBoot with Docker
      2. +
      3. SpringBoot Tools
      4. +
      5. Endpoints for k8s probes exposed by SpringBoot
          +
        1. Demos
        2. +
        +
      6. +
      7. Spring Cloud
          +
        1. Spring Cloud Kubernetes
        2. +
        3. Spring Cloud Config and Spring Cloud Config Server
        4. +
        5. Secure Secrets with Spring Cloud Vault and alternatives
        6. +
        +
      8. +
      +
    2. +
    +
  12. +
  13. Quarkus
  14. +
  15. Kogito cloud-native business automation framework
  16. +
  17. Thorntail (aka WildFly Swarm)
  18. +
  19. Spring Boot VS MicroProfile
  20. +
  21. Quarkus vs Spring Boot
  22. +
  23. More Java Frameworks or Libraries
  24. +
  25. Logging in Java
  26. +
  27. Java Logger Implementations
  28. +
  29. Java Testing Frameworks
  30. +
  31. Debugging Java Threads
  32. +
  33. Lombok
  34. +
  35. Project Helidon
  36. +
  37. Videos
  38. +
  39. Images
  40. +
  41. Tweets
  42. +
+

Introduction

+ +

How to migrate Java workloads to containers

+ +

Existing Java Implementations

+ +

Which Version of JDK Should I Use?

+ +

Amazon Corretto OpenJDK distribution

+
    +
  • Amazon Corretto No-cost, multiplatform, production-ready distribution of OpenJDK. Corretto comes with long-term support that will include performance enhancements and security fixes. Amazon runs Corretto internally on thousands of production services and Corretto is certified as compatible with the Java SE standard. With Corretto, you can develop and run Java applications on popular operating systems, including Linux, Windows, and macOS.
  • +
  • Amazon has been putting a lot of effort into Java. One of the central themes has been the reduction of latency. - youtube: Amazon Corretto, A Journey into Latency Reduction Corretto is a multi-platform, production-ready distribution of OpenJDK, supported by Amazon. We will talk about the Corretto project, it’s principals, and walk through examples that drove performance gains, latency reduction, and cost reduction in some of the biggest services in AWS.
  • +
+

Use Java 11

+ +

Java 17

+ +

Java 18

+ +

Java 19

+ +

Java Programming Models (Frameworks)

+
    +
  • Best Java Frameworks Solutions The best Java Frameworks vendors are Apache Spark, Spring Boot, Oracle Application Development Framework (Oracle ADF), Jakarta EE, and Open Liberty. Apache is the top solution according to IT Central Station reviews and rankings. One reviewer writes: “Fast performance and has an easy initial setup”, and another reviewer writes: “Easy to use and is capable of processing large amounts of data”. The 2nd best product is Spring Boot. A user writes: “Very smooth implementation; excellent features for monitoring and tracking network calls “, and another reviewer writes: “Makes it difficult to support a specific functionality in a user-friendly manner, but simplifies application deployment”.
  • +
  • Open Source Microservices Frameworks (frameworks for microservices development): +
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Java Programming ModelTechnologyCloud Native (microservices)Platform
Java EE
Java EE at a Glance
Frontend + Backend
Java EE Monoliths
NoJava EE Middleware Servers (WAS, WebLogic, JBoss EAP, etc)
Jakarta EE (Java EE renamed)Frontend + BackendYesOpenShift, Kubernetes, etc
MicroProfileBackend (RESTful)YesOpenShift, Kubernetes, etc
SpringBoot (Spring)Backend (RESTful)YesOpenShift, Kubernetes, etc
Spring Cloud (Spring)Backend (RESTful)YesOpenShift, Kubernetes, etc
QuarkusBackend (RESTful)YesOpenShift, Kubernetes, etc
ThorntailBackend (RESTful)YesOpenShift, Kubernetes, etc
etc
+ +

Jakarta EE

+ +

Eclipse MicroProfile

+ +

Server Vendors providing MicroProfile runtimes

+ +

## Hibernate

+ +

Spring

+ +

SpringBoot

+ +

SpringBoot with Docker

+ +

SpringBoot Tools

+
    +
  • High-level abstractions/tools to run SpringBoot application on kubernetes without having to write 10,000 lines YAML. Tools that can automate the generation of Kubernetes manifests, so you concentrate only on building your business logic. Dekorate even supports annotations spring-like @KubernetesApplication(name="my-app") in your code, that generates your deployment manifest yml:
  • +
  • odo CLI tool
  • +
  • Dekorate Java library, has a Spring Boot support
  • +
  • JKube Maven plugin
  • +
  • Skaffold –generate-manifests
  • +
  • Spring Cloud Kubernetes
  • +
  • testcontainers-spring-boot 🌟 Container auto-configurations for spring-boot based integration tests. If you use Testcontainers with Spring Boot Hoja balanceándose en el viento you may be interested in the Playtika_Ltd Testcontainers library that provides auto-configurations for springboot based integration tests. It contains modules e.g. for kafka rabbitmq mongodb
  • +
  • github.com/piomin/spring-boot-logging A library for logging HTTP request/response for Spring Boot application and integration with Elastic Stack
  • +
+

Endpoints for k8s probes exposed by SpringBoot

+ +

+ + +

+
Demos
+ +

Spring Cloud

+ +
Spring Cloud Kubernetes
+ +
Spring Cloud Config and Spring Cloud Config Server
+ +
Secure Secrets with Spring Cloud Vault and alternatives
+ +

+microservice arch +

+

Quarkus

+ +

Kogito cloud-native business automation framework

+ +

Thorntail (aka WildFly Swarm)

+
    +
  • Red Hat Thorntail is a framework based on the popular WildFly Java application server to enable the creation of small, stand-alone microservice-based applications. Thorntail is capable of producing so-called just enough app-server to support each component of your system.
  • +
+

Spring Boot VS MicroProfile

+ +

Quarkus vs Spring Boot

+ +

More Java Frameworks or Libraries

+
    +
  • JPA streamer 🌟 JPAstreamer is a library for expressing JPA/Hibernate queries as Java streams. It can be also integrated with Spring.
  • +
  • logbook An extensible Java library for HTTP request and response logging
  • +
+

Logging in Java

+ +

Java Logger Implementations

+ +

Java Testing Frameworks

+ +

Debugging Java Threads

+ +

Lombok

+ +

Project Helidon

+ +

Videos

+
+ Click to expand! + +
+ +
+
+ +

Images

+
+Click to expand! +

+spring annotations cheat sheet +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/javascript/extra.js b/javascript/extra.js new file mode 100644 index 00000000..38b62dca --- /dev/null +++ b/javascript/extra.js @@ -0,0 +1,59 @@ +(function() { + //var stopPlayAt = 33, // Stop play at time in seconds //Mike Oldfield - The Top Of The Morning + //var stopPlayAt = 21, // Stop play at time in seconds // Chariots of Fire Theme • Vangelis + //var stopPlayAt = 54, // Stop play at time in seconds // Jan Hammer - Crockett's Theme + //var stopPlayAt = 27, // Stop play at time in seconds // MUSE - The Dark Side + //var stopPlayAt = 4, // Stop play at time in seconds // MUSE - The Dark Side + var stopPlayAt = 2, // Stop play at time in seconds // MUSE - The Dark Side + stopPlayTimer; // Reference to settimeout call + + // This code loads the IFrame Player API code asynchronously. + var tag = document.createElement("script"); + tag.src = "//www.youtube.com/iframe_api"; + var firstScriptTag = document.getElementsByTagName("script")[0]; + firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); + + // This function creates an +

+ +

Tweets

+
+ Click to expand! + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jenkins-alternatives/index.html b/jenkins-alternatives/index.html new file mode 100644 index 00000000..a4f200e8 --- /dev/null +++ b/jenkins-alternatives/index.html @@ -0,0 +1,6923 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Jenkins Alternatives for Continuous Integration & Deployment - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Jenkins Alternatives for Continuous Integration and Continuous Deployment

+
    +
  1. Introduction and Comparisons
  2. +
  3. Alternatives
      +
    1. Circle CI
    2. +
    3. Travis CI
    4. +
    5. Concourse
    6. +
    7. Atlassian CI/CD
    8. +
    9. GitHub Actions
    10. +
    11. Ketpn
    12. +
    13. Azure DevOps
    14. +
    15. ShuttleOps
    16. +
    17. HashiCorp Waypoint
    18. +
    19. OneDev
    20. +
    21. TeamCity
    22. +
    23. Octopus Deploy
    24. +
    25. JFrog
        +
      1. JFrog DevOps Platform
      2. +
      +
    26. +
    27. Semaphore
    28. +
    29. Devtron
    30. +
    +
  4. +
  5. Cloud Native CI/CD
      +
    1. Jenkins X
    2. +
    3. Spinnaker
    4. +
    5. ArgoCD
    6. +
    7. Tekton
    8. +
    9. Jenkins X and Tekton on OpenShift
    10. +
    11. HAT is the acronym for Helm, ArgoCD and Tekton
    12. +
    13. Dagger
    14. +
    +
  6. +
  7. Integration with other CI/CD engines
  8. +
  9. Images
  10. +
  11. Slides
  12. +
  13. Tweets
  14. +
+

Introduction and Comparisons

+ +

Alternatives

+ +

Circle CI

+ +

Travis CI

+ +

Concourse

+ +

Atlassian CI/CD

+ +

GitHub Actions

+ +

Ketpn

+ +

Azure DevOps

+ +

ShuttleOps

+ +

HashiCorp Waypoint

+ +

OneDev

+ +

TeamCity

+ +

Octopus Deploy

+ +

JFrog

+ +

JFrog DevOps Platform

+ +

Semaphore

+ +

Devtron

+ +

Cloud Native CI/CD

+
    +
  • csweichel/werft Werft is a Kubernetes-native CI system. It knows no pipelines, just jobs and each job is a Kubernetes pod. What you do in that pod is up to you. We do not impose a “declarative pipeline syntax” or some groovy scripting language. Instead, Werft jobs have run Node, Golang or bash scripts in production environments.
  • +
+

Jenkins X

+ +

Spinnaker

+ +

ArgoCD

+
    +
  • ArgoCD Declarative GitOps CD for Kubernetes
  • +
+

Tekton

+ +

Jenkins X and Tekton on OpenShift

+ +

HAT is the acronym for Helm, ArgoCD and Tekton

+ +

Dagger

+ +

Integration with other CI/CD engines

+ +

Images

+
+Click to expand! +

+gitlab +

+
+

Slides

+
+ Click to expand! + +
+ +
+
+ +

Tweets

+
+ Click to expand! + +
+ +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jenkins/index.html b/jenkins/index.html new file mode 100644 index 00000000..3f9b8b55 --- /dev/null +++ b/jenkins/index.html @@ -0,0 +1,7793 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Jenkins & Cloudbees - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Jenkins & CloudBees

+
    +
  1. Jenkins
  2. +
  3. Jenkins and Helm Charts
  4. +
  5. Jenkins and Terraform
  6. +
  7. Jenkins Is The Way
  8. +
  9. Evolution of open source CI/CD Tools
  10. +
  11. eBooks
  12. +
  13. Jenkins on Kubernetes
  14. +
  15. Jenkins on Docker
      +
    1. Kubernetes Native Jenkins Operator
    2. +
    +
  16. +
  17. Groovy
  18. +
  19. Awesome Jenkins
  20. +
  21. Jenkins Cheat Sheet
  22. +
  23. Jenkins Special Interest Groups (SIG)
  24. +
  25. Running Jenkins on Java 11. Use OpenJDK 11
  26. +
  27. Online Learning
  28. +
  29. Jenkins Configuration as Code Solutions. 3 available DSLs
      +
    1. DSL 1. Job DSL Plugin. From Freestyle jobs to Declarative Pipeline
    2. +
    3. DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins
        +
      1. How to share a Declarative Pipeline. Examples of Declarative Pipelines in Shared Libraries
      2. +
      3. Jenkins Pipeline Syntax. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax
      4. +
      5. Extending with Shared Libraries
      6. +
      7. Jenkinsfile Runner. Serverless / function-as-a-service build execution
      8. +
      +
    4. +
    5. DSL 3. Jenkins Configuration as Code (JCasC)
        +
      1. Read-only Jenkins Configuration
      2. +
      +
    6. +
    7. Jenkins Job Builder
    8. +
    +
  30. +
  31. Jenkins Template Engine JTE
  32. +
  33. Jenkins Pipeline Unit Testing Framework
  34. +
  35. Jenkins Architecture. Performance and Scalability
  36. +
  37. Ansible and Jenkins. Running Ansible Playbooks From Jenkins
  38. +
  39. Jenkins Tools
      +
    1. Plugin Installation Manager Tool
    2. +
    3. Pipeline Development Tools
    4. +
    5. Custom WAR Docker Packager
    6. +
    7. jenkins-std-lib Jenkins Standard Shared Library
    8. +
    +
  40. +
  41. Jenkins Multibranch Pipeline
      +
    1. Multibranch Pipelines with Kubernetes
    2. +
    +
  42. +
  43. Jenkins Plugins
      +
    1. Selection of Jenkins Plugins
    2. +
    3. Plugin Development. Jenkins Plugin Parent POM 4.0
    4. +
    5. Jenkins Blue Ocean
    6. +
    7. Cloudbees Flow
    8. +
    +
  44. +
  45. Monitoring jenkins
  46. +
  47. Externalizing Fingerprint Storage for Jenkins
  48. +
  49. Jenkins and Spring Boot
  50. +
  51. Docker in Docker. Running Jenkins in Kubernetes
  52. +
  53. CloudBees
      +
    1. CloudBees Rollout and Feature Flags
        +
      1. Feature Flags in CloudBees Enterprise On-Premise
      2. +
      +
    2. +
    3. CloudBees Accelerator
    4. +
    +
  54. +
  55. Jenkins Scripts
  56. +
  57. Backup for Jenkins on Kubernetes
  58. +
  59. Jervis: Jenkins as a service
  60. +
  61. Jenkins X (Serverless)
  62. +
  63. Jenkins and SAP
  64. +
  65. Jenkins Free Templates for AWS CloudFormation
  66. +
  67. Videos
  68. +
  69. Tweets
  70. +
+

Jenkins

+ +

Jenkins and Helm Charts

+ +

Jenkins and Terraform

+ +

Jenkins Is The Way

+ +

+Jenkins Is The Way

+

Jenkins growth +

+

Evolution of open source CI/CD Tools

+ +

eBooks

+
    +
  • Pipeline as Code Continuous Delivery with Jenkins, Kubernetes, and Terraform
  • +
  • riptutorial.com: Learning Jenkins
  • +
  • cloudbees.com: Jenkins Pipeline with Plugins Jenkins is one of the preeminent automation tools. Jenkins is extensible by design, via plugins. Plugins are what give Jenkins its great flexibility for automating a wide range of processes on diverse platforms. Jenkins Pipeline builds on that flexibility and rich plugin ecosystem while enabling Jenkins users to write their Jenkins software pipelines as code. This technical guide will show a number of common use cases for plugins with Jenkins Pipeline.
  • +
+

Jenkins on Kubernetes

+ +

Jenkins on Docker

+ +

Kubernetes Native Jenkins Operator

+ +

Groovy

+ +

Awesome Jenkins

+ +

Jenkins Cheat Sheet

+ +

Jenkins Special Interest Groups (SIG)

+
    +
  • Jenkins SIG Platform 🌟 This special interest group offers a venue for all kinds of platform support discussions: Java, Operating Systems, Architectures, Docker, Packaging, Web Containers, etc. The SIG works on defining platform support policies, coordinating platform support efforts with contributors and external communities, and reviewing proposals in the area.
  • +
  • Jenkins SIG Cloud Native 🌟
  • +
+

Running Jenkins on Java 11. Use OpenJDK 11

+ +

Online Learning

+ +

Jenkins Configuration as Code Solutions. 3 available DSLs

+
    +
  • Job DSL was one of the first popular plugins for Jenkins which allows managing configuration as code and many other plugins dealing with this aspect have been created since then, most notably the Jenkins Pipeline and Configuration as Code plugins. It is important to understand the differences between these plugins and Job DSL for managing Jenkins configuration efficiently.
  • +
  • In consequence 3 DSLs are available to configure jenkins as code: +
  • +
  • Tip: Don’t stay with manually configured freestyle jobs. Use JobDSL wrapper if you can’t use Pipeline.
  • +
+

DSL 1. Job DSL Plugin. From Freestyle jobs to Declarative Pipeline

+ +

DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins

+ +

How to share a Declarative Pipeline. Examples of Declarative Pipelines in Shared Libraries

+ +

+real world pipeline flow +

+

Jenkins Pipeline Syntax. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax

+
    +
  • Jenkins Pipeline Syntax: Scripted Syntax (Groovy DSL syntax) & Declarative Syntax 🌟:
      +
    • Version 2.5 of the “Pipeline plugin” released in 2016/05/16 introduces support for Declarative Pipeline syntax.
    • +
    • Declarative Pipeline is a relatively recent addition to Jenkins Pipeline which presents a more simplified and opinionated syntax on top of the Pipeline sub-systems.
    • +
    +
  • +
  • Building Declarative Pipelines with OpenShift DSL Plugin:
      +
    • Jenkinsfiles have only become an integral part of Jenkins since version 2 but they have quickly become the de-facto standard for building continuous delivery pipelines with Jenkins. Jenkinsfile allows defining pipelines as code using a Groovy DSL syntax and checking it into source version control which allows you to track, review, audit, and manage the lifecycle of changes to the continuous delivery pipelines the same way that you manage the source code of your application.
    • +
    • Although the Groovy DSL syntax which is referred to as the scripted syntax is the more well-known and established syntax for building Jenkins pipelines and was the default when Jenkins 2 was released, support for a newer declarative syntax is also added since Jenkins 2.5 in order to offer a simplified way for controlling all aspects of the pipeline. Although the scripted and declarative syntax provides two ways to define your pipeline, they both translate to the same execution blocks in Jenkins and achieve the same result.
    • +
    • The declarative syntax in its simplest form is composed of an agent which defines the Jenkins slave to be used for executing the pipeline and a number of stages and each stage with a number of steps to be performed.
    • +
    +
  • +
+

Extending with Shared Libraries

+ +

Jenkinsfile Runner. Serverless / function-as-a-service build execution

+
    +
  • Jenkinsfile Runner Jenkinsfile Runner is an experiment to package Jenkins pipeline execution as a command line tool. The intend use cases include:
      +
    • Use Jenkins in Function-as-a-Service context
    • +
    • Assist editing Jenkinsfile locally
    • +
    • Integration test shared libraries
    • +
    +
  • +
+
+Jenkinsfile Runner slides. Click to expand! +

+ +

+
+

DSL 3. Jenkins Configuration as Code (JCasC)

+ +

Read-only Jenkins Configuration

+ +

Jenkins Job Builder

+ +

Jenkins Template Engine JTE

+
    +
  • plugins.jenkins.io/templating-engine: Jenkins Template Engine JTE 🌟
  • +
  • cloudbees.com: Managing DevSecOps Pipelines at Scale with Jenkins Templating Engine
      +
    • Are you currently helping build or maintain a Jenkins pipeline for more than one application or team? Are you tired of copying and pasting Jenkinsfiles and tweaking them to fit each team’s specific needs? This session will feature a live demonstration of getting up and running with the Jenkins Templating Engine (JTE). Attendees will learn how to stop creating bespoke pipelines on a per-application basis and, instead, create tool-agnostic pipeline templates that multiple teams can inherit - regardless of tech stack.
    • +
    • For DevSecOps engineers, this means less copying and pasting and more time spent focusing on the fun parts of the job. For managers or executives worried about compliance and standardization, this approach will ensure security is embedded in every step of the software development lifecycle for every application development team they oversee.
    • +
    • Through JTE, businesses can find order in the chaos of managing DevSecOps pipelines at scale. Enable organizational governance, optimize pipeline code reuse and simplify pipeline management for the whole team.
    • +
    +
  • +
+

Jenkins Pipeline Unit Testing Framework

+ +

Jenkins Architecture. Performance and Scalability

+ +

Ansible and Jenkins. Running Ansible Playbooks From Jenkins

+ +

Jenkins Tools

+ +

Plugin Installation Manager Tool

+
    +
  • Plugin Installation Manager Tool The plugin manager downloads plugins and their dependencies into a folder so that they can easily be imported into an instance of Jenkins. The goal of this tool is to replace the Docker install-plugins.sh script and the many other implementations of plugin management that have been recreated across Jenkins. The tool also allows users to see more information about the plugins they are downloading such as available updates and security warnings. By default, plugins will be downloaded; the user can specify not to download plugins using the –no-download option.
  • +
  • Jenkins Plugin Manager CLI v1.1.0 is now released: caching of update site data and downloaded plugins, retry on download, and dependency resolution fixes.
  • +
+

Pipeline Development Tools

+ +

Custom WAR Docker Packager

+
    +
  • jenkinsci/custom-war-packager 🌟 Custom Jenkins WAR packager for Jenkins. Custom WAR Packager (CWP) allows building ready-to-fly Jenkins packages using a YAML specification. The tool can produce Docker images, WAR files, and Jenkinsfile Runner docker images (aka single-shot Jenkins masters). These bundles may include Jenkins core, plugins, extra libraries, and self-configuration via Groovy Hook Scripts or Configuration-as-Code Plugin YAML files.
  • +
+

jenkins-std-lib Jenkins Standard Shared Library

+ +

Jenkins Multibranch Pipeline

+ +

Multibranch Pipelines with Kubernetes

+ +

Jenkins Plugins

+ +

Selection of Jenkins Plugins

+ +

Plugin Development. Jenkins Plugin Parent POM 4.0

+
    +
  • Plugin Development
  • +
  • Plugin Development: Dependency Management
  • +
  • Parent POM for Jenkins Plugins. Plugin POM 4.0 This new parent POM is decoupled from the core Jenkins project, both from the Maven and repository perspectives.
  • +
  • 4.0 changelog
  • +
  • Maven is widely used for Jenkins plugin development, more than 90% of plugins use it. In order to simplify plugin development, the Jenkins project offers a standard Parent POM which defines the recommended build, verification and release flow. Such parent POM helps us to ensure quality of the Jenkins plugins. In April 2020 we released a new major release of the parent POM which includes a number of important and sometimes incompatible changes: Jenkins core Bill of materials, full migration to SpotBugs, etc.
  • +
  • In this presentation James Nord will talk about the changes introduced in Plugin POM 4.0. What do plugin developers and users get by upgrading? How to upgrade? What obstacles to expect, and how to resolve them?
  • +
+

Jenkins Blue Ocean

+ +
+Jenkins Blue Ocean Videos. Click to expand! +

+ + +

+
+

Cloudbees Flow

+ +
+Cloudbees Flow Videos. Click to expand! +

+ + +

+
+

Monitoring jenkins

+ +

Externalizing Fingerprint Storage for Jenkins

+
    +
  • New FingerprintStorage API to build external fingerprint storage plugins.
  • +
  • External Fingerprint Storage Phase-1 Updates Externalizing fingerprint storage for Jenkins is a Google Summer of Code 2020 project. Fingerprinting is a way to track which version of a file is being used by a job/build, making dependency tracking easy. The fingerprint engine of Jenkins can track usages of artifacts, credentials, files, images, etc. within the system. Currently, it does this by maintaining a local XML-based database. Advantages of using external storage drivers:
      +
    • Remove dependence on Jenkins master disk storage
    • +
    • Support for configure pay-as-you-use cloud storages
    • +
    • Easy Backup Management
    • +
    • Better Reliability and Availability
    • +
    • Fingerprints can be tracked across Jenkins instances
    • +
    +
  • +
  • Redis Fingerprint Storage Plugin
  • +
+

Jenkins and Spring Boot

+ +

Docker in Docker. Running Jenkins in Kubernetes

+ +

CloudBees

+

CloudBees Rollout and Feature Flags

+ +

Feature Flags in CloudBees Enterprise On-Premise

+
    +
  • CloudBees Releases Another Industry First: Feature Flagging for On-Premise Use 🌟
      +
    • SAN JOSE, CA. – May 5, 2020 – CloudBees, Inc., the enterprise software delivery company, today announced a new release of CloudBees Feature Flags that enables developers to manage production deployments of new functionality in a controlled manner with an on-premise feature manager. The new offering strengthens CloudBees’ leadership in the continuous integration/continuous delivery (CI/CD) space by extending users’ ability to leverage feature flag technology in both on-premise and cloud environments. CloudBees Feature Flags is from the company and application formerly known as Rollout, acquired last year by CloudBees.
    • +
    • Feature flags have emerged as popular tools for deploying new features with the added advantage of enabling risk-free experimentation and fast results. As organizations enhance applications with rich new capabilities, many use feature flags to preview features for select audiences, with the ability to pull them back quickly if the functionality is not successful. In a recent survey, 97% of respondents say that it is important for their organization to implement new application features quickly, yet 65% say it is difficult for their organization to do so safely. CloudBees Feature Flags enables developers to easily release new features with confidence, reduce risk in doing so and manage large numbers of feature flags at scale.
    • +
    • “Very soon, all features will be released behind a feature flag. It’s a natural evolution in continuous delivery. CloudBees has led the way in feature flag technology, making it a core part of our overall offering,” said Sacha Labourey, CEO and co-founder, CloudBees. “With this release, we are providing the same functionality for on-premise environments that previously had only been available as a cloud-based service. We are committed to the ongoing integration, automation and governance of feature flags within the software delivery lifecycle and giving users choice in selecting the best environment for their project – on-premise or cloud.”
    • +
    • CloudBees Feature Flags integrates with the company’s deep CI/CD capabilities, giving organizations the most comprehensive feature management capabilities in the software development life cycle (SDLC). The ability to use feature flagging in an on-premise environment also opens up new avenues for usage in industries, such as government, finance, pharmaceuticals, utilities and healthcare, where there can be a mix of on-premise and cloud environments.
    • +
    • “We recognize that many companies are realizing the benefits of feature flags,” said Moritz Plassnig, senior vice president and general manager, Software Delivery Management and Software Delivery Automation Cloud at CloudBees. “By flagging features, they no longer have to sacrifice innovation to lower risk. We felt that it was critical to offer this technology to any company working in on-premise or hybrid environments.”
    • +
    +
  • +
+

CloudBees Accelerator

+ +

Jenkins Scripts

+ +

Backup for Jenkins on Kubernetes

+

Jervis: Jenkins as a service

+
    +
  • Jervis is Sam Gleske’s vision of a good way to roll out Jenkins as a service in very large organizations.
  • +
  • SCM Filter Jervis YAML Plugin This plugin is intended for Jenkins infrastructure relying on jervis to deliver software in a self-service manner. This plugin can also be used for Travis CI YAML.
  • +
+

Jenkins X (Serverless)

+

Jenkins X is a specialized Jenkins for Kubernetes: This is how it works from a bird eye the CI/CD: a developer creates a branch, then Jenkins X creates a ephemeral namespace with that branch. The developer tests it and once it is ok, a PR is created, then, the branch is deployed in staging. When I merge it, it goes to QA, and with a manual command “jx promote” it goes to production. Jenkins X deletes automatically after N hours the branch namespace.

+

Why Do We Need Jenkins X To Be Serverless? Initially, Jenkins X had a stripped-down version of Jenkins but, since the release 2, not a single line of the traditional Jenkins is left in Jenkins X. Now it is fully serverless thanks to Tekton and a lot of custom code written from scratch to support the need for a modern Kubernetes-based solution.

+ +

Jenkins and SAP

+ +

Jenkins Free Templates for AWS CloudFormation

+ +

+jenkins and openshift +

+

+jenkins hub CD +

+

Videos

+
+Click to expand! +

+ + + + + + +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jvm-parameters-matrix-table/index.html b/jvm-parameters-matrix-table/index.html new file mode 100644 index 00000000..944f9867 --- /dev/null +++ b/jvm-parameters-matrix-table/index.html @@ -0,0 +1,6393 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Java Parameters Matrix Table - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Java Parameters Matrix Table

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
JVM ParametersEnable?References / Details
-XX:+UseG1GCEnabled by default in Java 8u191+Most important defaults specific to G1 and their default values.
https://dzone.com/articles/choosing-the-right-gc
https://wiki.openjdk.java.net/display/HotSpot/G1GC+Feedback
Alternative: Shenandoah GC
-XX:+UseShenandoahGCAlternative to G1GC.Shenandoah Garbage Collector: experimental in Java 8, newer than G1GC, available in some OpenJDK 8 and newer releases.
https://wiki.openjdk.java.net/display/shenandoah/Main
https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1
-XX:+UseZGCYes (JDK 11+)Z GC : Better Garbage Collector Algorithm than G1 or Shenandoah. JDK 11+ required.
The Z Garbage Collector, also known as ZGC, is a scalable low latency garbage collector designed to meet the following goals:
· Pause times do not exceed 10ms (*)
· Pause times do not increase with the heap or live-set size
· Handle heaps ranging from a 8MB to 16TB in size
At a glance, ZGC is:
· Concurrent
· Region-based
· Compacting
· NUMA-aware
· Using colored pointers
· Using load barriers
At its core, ZGC is a concurrent garbage collector, meaning all heavy lifting work is done while Java threads continue to execute. This greatly limits the impact garbage collection will have on your application’s response time.
7 JVM Arguments of Highly Effective Applications
https://wiki.openjdk.java.net/display/zgc/Main
-XshowSettings:vmYesThis is a priceless feature to display all the settings of the JVM, together with -XX:+PrintCommandLineFlags it can show a world of hidden stuff.
http://www.javamonamour.org/2018/11/java-showsettings.html
-XX:+UseStringDeduplicationYeshttps://www.baeldung.com/jvm-garbage-collectors
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath
YesWhen running a JVM in a docker container it is probably wise to use the HeapDumpOnOutOfMemoryError option so if you ever run out of memmory the jvm will write a dump of the heap to disk.
https://merikan.com/2019/04/jvm-in-a-container/
https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1
-XssTestIncrease the thread’s stack size limit by passing the -Xss argument.
https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1
Each application will have tens, hundreds, thousands of threads. Each thread will have its own stack. Each one of them consumes memory.
If their consumption goes beyond a certain limit, then a StackOverflowError is thrown. More details about StackOverflowError and solutions to resolve it can be found in this article.
Linux 64-bit JVM Default thread stack size = 1024k
-Xss2m : This will set the thread’s stack size to 2mb
-Dsun.net.client.defaultConnectTimeout
-Dsun.net.client.defaultReadTimeout
Yeshttps://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1
-Duser.timeZoneYeshttps://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1
Enable GC LoggingCheckJDK 8: -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:{file-path}
JDK9+: -Xlog:gc*:file={file-path}
https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1
=====================================================================================================================================
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/keptn/index.html b/keptn/index.html new file mode 100644 index 00000000..836018eb --- /dev/null +++ b/keptn/index.html @@ -0,0 +1,6451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Keptn - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Keptn. Data Driven DevOps Automation with Ketpn. Automating Service Level Indicators/Service Level Objectives based build validation with Keptn and Jenkins

+
    +
  1. Introduction
  2. +
  3. Keptn Videos
  4. +
  5. Keptn Images
  6. +
  7. Keptn Slides
  8. +
+

Introduction

+ +

Keptn Videos

+
+Click to expand! +

+ + + +

+
+

Keptn Images

+
+Click to expand! +

+keptn +keptn +keptn +

+
+

Keptn Slides

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubectl-commands/index.html b/kubectl-commands/index.html new file mode 100644 index 00000000..ddf75bea --- /dev/null +++ b/kubectl-commands/index.html @@ -0,0 +1,6719 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kubectl Commands - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubectl commands

+
    +
  1. Introduction
  2. +
  3. Kubectl Cheat Sheets
  4. +
  5. Kubectl aliases
  6. +
  7. Kubectl explain
  8. +
  9. Kubectl example
  10. +
  11. Kubectl Autocomplete
  12. +
  13. kubectl exec
  14. +
  15. kubectl scale
  16. +
  17. kubectl debug
  18. +
  19. List all resources and sub resources that you can constrain with RBAC
  20. +
  21. Copy a configMap in kubernetes between namespaces
  22. +
  23. Copy secrets in kubernetes between namespaces
  24. +
  25. Export resources with kubectl and python
  26. +
  27. Buildkit CLI for kubectl a drop in replacement for docker build
  28. +
  29. Kubectl Alternatives
      +
    1. Manage Kubernetes (K8s) objects with Ansible Kubernetes Module
    2. +
    3. Jenkins Kubernetes Plugins
    4. +
    +
  30. +
  31. Videos
  32. +
  33. Tweets
  34. +
+

Introduction

+ +

Kubectl Cheat Sheets

+ +

Kubectl aliases

+ +

Kubectl explain

+ +

for r in $(kubectl api-resources|grep -v ^N|awk '{print $1}');do kubectl explain $r --recursive;done

+

Kubectl example

+ +

Kubectl Autocomplete

+ +
source <(kubectl completion bash) # setup autocomplete in bash into the current shell, bash-completion package should be installed first.
+echo "source <(kubectl completion bash)" >> ~/.bashrc # add autocomplete permanently to your bash shell.
+
+

You can also use a shorthand alias for kubectl that also works with completion:

+
alias k=kubectl
+complete -F __start_kubectl k
+
+

kubectl exec

+ +

kubectl scale

+

kubectl debug

+ +

List all resources and sub resources that you can constrain with RBAC

+
    +
  • kind of a handy way to see all thing things you can affect with Kubernetes RBAC. This will list all resources and sub resources that you can constrain with RBAC. If you want to see just subresources append “| grep {name}/”:
  • +
+
kubectl get --raw /openapi/v2  | jq '.paths | keys[]'
+
+

Copy a configMap in kubernetes between namespaces

+
    +
  • Copy a configMap in kubernetes between namespaces with deprecated “–export” flag:
  • +
+
kubectl get configmap --namespace=<source> <configmap> --export -o yaml | sed "s/<source>/<dest>/" | kubectl apply --namespace=<dest> -f -
+
+ +
kubectl get configmap <configmap-name> --namespace=<source-namespace> -o yaml | sed ‘s/namespace: <from-namespace>/namespace: <to-namespace>/’ | kubectl create -f
+
+ +

Copy secrets in kubernetes between namespaces

+ +
kubectl get secret <secret-name> --namespace=<source>-o yaml | sed ‘s/namespace: <from-namespace>/namespace: <to-namespace>/’ | kubectl create -f
+
+

Export resources with kubectl and python

+

Buildkit CLI for kubectl a drop in replacement for docker build

+ +

Kubectl Alternatives

+ +

Manage Kubernetes (K8s) objects with Ansible Kubernetes Module

+ +

Jenkins Kubernetes Plugins

+ +

Videos

+
+Click to expand! +

+ +

+
+

Tweets

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-alternatives/index.html b/kubernetes-alternatives/index.html new file mode 100644 index 00000000..2e37fafb --- /dev/null +++ b/kubernetes-alternatives/index.html @@ -0,0 +1,6601 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes alternatives - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes Alternatives

+
    +
  1. Introduction
      +
    1. Why Not Use Kubernetes
    2. +
    +
  2. +
  3. Heroku
  4. +
  5. Amazon ECS
  6. +
  7. Cycle.io
  8. +
  9. Nomad
  10. +
  11. Portainer
  12. +
  13. Docker Enterprise and Docker Universal Control Plane (UCP)
  14. +
  15. Docker Swarm
  16. +
  17. Simplenetes
  18. +
  19. Taubyte
  20. +
  21. More comparisons and alternatives
  22. +
  23. Images
  24. +
  25. Videos
  26. +
+

Introduction

+ +

Why Not Use Kubernetes

+ +

Heroku

+ +

Amazon ECS

+ +

Cycle.io

+ +

Nomad

+ +

Portainer

+ +

Docker Enterprise and Docker Universal Control Plane (UCP)

+
    +
  • Universal Control Plane overview Docker Universal Control Plane (UCP) is the enterprise-grade cluster management solution from Docker. You install it on-premises or in your virtual private cloud, and it helps you manage your Docker cluster and applications through a single interface.
  • +
+

Docker Swarm

+ +

Simplenetes

+
    +
  • Simplenetes Alternative to Kubernetes written in pure Sh
  • +
+

Taubyte

+
    +
  • Taubyte Alternative to Kubernetes that aims to eliminate as much ops as possible (NoOps)
  • +
  • tau Implementation of Taubyte. Build a Cloud Computing Platform running few commands.
  • +
  • dreamland Implementation of Taubyte for local development and E2E testing automation.
  • +
  • llama.cpp plugin llama.cpp integration for WebAssembly
  • +
+

More comparisons and alternatives

+ +

Images

+
+Click to expand! +

+Kubernetes vs Docker Swarm

+

when to choose kubernetes +

+
+

Videos

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-autoscaling/index.html b/kubernetes-autoscaling/index.html new file mode 100644 index 00000000..1509a94d --- /dev/null +++ b/kubernetes-autoscaling/index.html @@ -0,0 +1,6691 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Autoscaling - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Autoscaling

+
    +
  1. Introduction
  2. +
  3. Cluster Autoscaler Kubernetes Tool
  4. +
  5. HPA and VPA
      +
    1. Kubernetes Scale to Zero
    2. +
    +
  6. +
  7. Cluster Autoscaler and Helm
  8. +
  9. KEDA Kubernetes Event Driven Autoscaling
  10. +
  11. Cluster Autoscaler and DockerHub
  12. +
  13. Cluster Autoscaler in GKE, EKS, AKS and DOKS
  14. +
  15. Cluster Autoscaler in OpenShift
  16. +
  17. Scaling Kubernetes to multiple clusters and regions
  18. +
  19. Kubernetes Load Testing and High Load Tuning
  20. +
  21. Tweets
  22. +
  23. Videos
  24. +
+

Introduction

+ +

Cluster Autoscaler Kubernetes Tool

+ +

+benchmarking-k8s-node-initialization +

+

HPA and VPA

+ +

Kubernetes Scale to Zero

+ +

Cluster Autoscaler and Helm

+ +

KEDA Kubernetes Event Driven Autoscaling

+ +

Cluster Autoscaler and DockerHub

+ +

Cluster Autoscaler in GKE, EKS, AKS and DOKS

+ +

Cluster Autoscaler in OpenShift

+ +

Scaling Kubernetes to multiple clusters and regions

+ +

Kubernetes Load Testing and High Load Tuning

+ +

Tweets

+
+ Click to expand! + +
+ + +
+
+ +

Videos

+
+ Click to expand! + +
+ + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-backup-migrations/index.html b/kubernetes-backup-migrations/index.html new file mode 100644 index 00000000..bdba3e04 --- /dev/null +++ b/kubernetes-backup-migrations/index.html @@ -0,0 +1,6630 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Backup and Migrations - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes Backup and Migrations

+
    +
  1. Introduction
  2. +
  3. ETCD Backup
  4. +
  5. Kubernetes Volume Snapshot
  6. +
  7. Backup with Trillio Cloud-Native Data Protection for Kubernetes, OpenStack and Virtualization
  8. +
  9. Backup with Kasten K10
  10. +
  11. Backup with Velero
  12. +
  13. Backup with Portworx PX-Backup
  14. +
  15. Backup for GKE
  16. +
  17. Konveyor Open Source Migration Tool for Kubernetes
  18. +
  19. Other Tools
  20. +
  21. Books
  22. +
  23. Slides
  24. +
  25. Videos
  26. +
+

Introduction

+ +

ETCD Backup

+ +

Kubernetes Volume Snapshot

+ +

Backup with Trillio Cloud-Native Data Protection for Kubernetes, OpenStack and Virtualization

+ +

Backup with Kasten K10

+ +

Backup with Velero

+ +

Backup with Portworx PX-Backup

+
    +
  • PX-Backup
  • +
  • PX-Backup: docs
  • +
  • With PX-Backup, backups of OpenShift applications can also be provided in a secure, self-service environment.
  • +
+

Backup for GKE

+ +

Konveyor Open Source Migration Tool for Kubernetes

+ +

Other Tools

+
    +
  • RKE2 Standalone Disaster Recovery Guide 🌟 - A comprehensive guide to recovering standalone RKE2 clusters not managed by Rancher, covering scenarios like etcd quorum loss, restoring from backup, and troubleshooting node join issues.
  • +
  • +

    Automate SQL Server Backups with PowerShell - This article provides a PowerShell script to automate SQL Server backups. It outlines the script’s functionality, including generating backups for specified databases, prioritizing larger ones, and moving the backup files to a designated folder. Key configuration elements like SQL Server IP and instance name, user credentials, excluded databases, and log file path are detailed.

    +
  • +
  • +

    k8up.io K8up is a Kubernetes Operator that helps you:

    +
      +
    • Backup all PVCs marked as ReadWriteMany or with a specific label
    • +
    • Perform individual, on-demand backups
    • +
    • Schedule backups to be executed on a regular basis
    • +
    • And more
    • +
    +
  • +
+

Books

+ +

Slides

+
+ Click to expand! + +
+ +
+
+ +

Videos

+
+ Click to expand! + +
+ + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-based-devel/index.html b/kubernetes-based-devel/index.html new file mode 100644 index 00000000..864c2e9e --- /dev/null +++ b/kubernetes-based-devel/index.html @@ -0,0 +1,6800 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Based Development - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes Based Development. Kubernetes Distributions for local environments. Kubernetes Development Tools and Dashboards

+
    +
  1. Non-production Kubernetes Local Installers. Kubernetes distributions for local environments. Desktop K8s
  2. +
  3. Kubernetes Based Development. Kubernetes Development Tools
      +
    1. Skaffold. Local Kubernetes Development
    2. +
    3. DevSpace
    4. +
    5. Telepresence local development for k8s and openshift microservices
    6. +
    7. Bridge to Kubernetes
    8. +
    9. Garden
    10. +
    +
  4. +
  5. Kubernetes Clients and Dashboards
      +
    1. Octant
    2. +
    3. Okteto local kubernetes development
    4. +
    5. Monokle
    6. +
    7. Lens and OpenLens Kubernetes IDE
    8. +
    9. Kubenav
    10. +
    11. Aptakube
    12. +
    13. Cloud Manager
    14. +
    15. Yaki
    16. +
    +
  6. +
  7. Images
  8. +
  9. Tweets
  10. +
  11. Videos
  12. +
+

Non-production Kubernetes Local Installers. Kubernetes distributions for local environments. Desktop K8s

+ +

Kubernetes Based Development. Kubernetes Development Tools

+ +

Skaffold. Local Kubernetes Development

+ +

DevSpace

+ +

Telepresence local development for k8s and openshift microservices

+ +

Bridge to Kubernetes

+ +

Garden

+ +

Kubernetes Clients and Dashboards

+ +

Octant

+ +

Okteto local kubernetes development

+ +

Monokle

+ +

K8Studio

+ +

Lens and OpenLens Kubernetes IDE

+ +

Kubenav

+
    +
  • kubenav is the navigator for your Kubernetes clusters right in your pocket. kubenav is a mobile, desktop and web app to manage Kubernetes clusters and to get an overview of the status of your resources.
  • +
+

Aptakube

+
    +
  • Aptakube is a modern, lightweight and multi-cluster desktop client for Kubernetes. Connect to multiple clusters simultaneously to view, edit and manage all your resources.
  • +
+

Cloud Manager

+ +

Yaki

+
    +
  • nirops/yakiapp Yaki stands for “Yet Another Kubernetes IDE”. Open Source, Cross platform, Native Kubernetes IDE. Yaki is a desktop application that allows DevOps, Developers, SREs and anyone who wish the manage the applications deployed in their Kubernetes Cluster
  • +
+

Images

+
+Click to expand! +

+lens ide +

+
+

Tweets

+
+Click to expand! +

+ +

+
+

Videos

+
+ Click to expand! + +
+ + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-bigdata/index.html b/kubernetes-bigdata/index.html new file mode 100644 index 00000000..d1ec4c4e --- /dev/null +++ b/kubernetes-bigdata/index.html @@ -0,0 +1,6417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Big Data - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Big Data and Kubernetes Big Data

+
    +
  1. Introduction
  2. +
  3. Apache Spark
  4. +
  5. Databricks
  6. +
+

Introduction

+ +

Apache Spark

+ +

Databricks

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-client-libraries/index.html b/kubernetes-client-libraries/index.html new file mode 100644 index 00000000..6ad288e3 --- /dev/null +++ b/kubernetes-client-libraries/index.html @@ -0,0 +1,6538 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Client Libraries for Kubernetes - Go client, Python, Fabric8, JKube & Java Operator SDK - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Client Libraries for Kubernetes

+
    +
  1. Kubernetes Client Libraries
  2. +
  3. Go Clients for Kubernetes
  4. +
  5. Python Client for Kubernetes
  6. +
  7. Java Clients for Kubernetes
      +
    1. Official Java client library for kubernetes
    2. +
    3. Fabric8 Java Client for Kubernetes
    4. +
    +
  8. +
  9. CDK8s
  10. +
  11. Eclipse Jkube Java Client for Kubernetes (formerly known as Fabric8). Kubernetes \& OpenShift Maven Plugins
  12. +
  13. Java Operator SDK
  14. +
+

Kubernetes Client Libraries

+ +

Go Clients for Kubernetes

+ +

Python Client for Kubernetes

+ +

Java Clients for Kubernetes

+ +

Official Java client library for kubernetes

+ +

Fabric8 Java Client for Kubernetes

+ +

CDK8s

+
    +
  • cdk8s Define Kubernetes native apps and abstractions using object-oriented programming
  • +
  • blog.twstewart.me: cdk8s-python - A Love and Hate Experience CDK8S is an alpha level library that allows you to write high level abstractions of Kubernetes objects like deployments, services, and more all in your favorite language ( TypeScript, Python, and others).
  • +
  • qdnqn.com: Kubernetes objects from Go to YAML using Cdk8s Cdk8s is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs. cdk8s apps synthesize into standard Kubernetes manifests which can be applied to any Kubernetes cluster.
  • +
+

Eclipse Jkube Java Client for Kubernetes (formerly known as Fabric8). Kubernetes & OpenShift Maven Plugins

+ +

Java Operator SDK

+
    +
  • javaoperatorsdk.io: Build Kubernetes Operators in Java without hassle Whether you want to build applications that operate themselves or provision infrastructure from Java code, Kubernetes Operators are the way to go. This SDK will make it easy for Java developers to embrace this new way of automation. The java-operator-sdk is based on the fabric8 Kubernetes client.
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-monitoring/index.html b/kubernetes-monitoring/index.html new file mode 100644 index 00000000..ee21d21e --- /dev/null +++ b/kubernetes-monitoring/index.html @@ -0,0 +1,6648 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Monitoring and Logging - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes Monitoring and Logging

+
    +
  1. Introduction
  2. +
  3. Kubernetes Logging
  4. +
  5. SLOs in Kubernetes
  6. +
  7. ECK Elastic Cloud on Kubernetes
  8. +
  9. Telegraf Operator
  10. +
  11. Monitoring Certificates Expiration
  12. +
  13. kubeshark
  14. +
  15. k8spacket
  16. +
  17. Kubelog
  18. +
  19. Microsoft Retina eBPF
  20. +
  21. Videos
  22. +
+

Introduction

+ +

Kubernetes Logging

+ +

SLOs in Kubernetes

+ +

ECK Elastic Cloud on Kubernetes

+ +

Telegraf Operator

+ +

Monitoring Certificates Expiration

+ +

kubeshark

+ +

k8spacket

+ +

Kubelog

+
    +
  • kubelog.de kubelog is a graphical log viewer for Kubernetes, which works with your existing Kubernetes logging infrastructure. Kubelog is a log viewer for kubernetes. Tail multiple pods in one view and use searches to highlight and show results in context.
  • +
+

Microsoft Retina eBPF

+
    +
  • github.com/microsoft/retina - retina.sh eBPF distributed networking observability tool for Kubernetes
      +
    • Retina is a cloud-agnostic, open-source Kubernetes network observability platform that provides a centralized hub for monitoring application health, network health, and security. It provides actionable insights to cluster network administrators, cluster security administrators, and DevOps engineers navigating DevOps, SecOps, and compliance use cases.
    • +
    • Retina collects customizable telemetry, which can be exported to multiple storage options (such as Prometheus, Azure Monitor, and other vendors) and visualized in a variety of ways (like Grafana, Azure Log Analytics, and other vendors).
    • +
    +
  • +
+

Videos

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-networking/index.html b/kubernetes-networking/index.html new file mode 100644 index 00000000..005004ca --- /dev/null +++ b/kubernetes-networking/index.html @@ -0,0 +1,7118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Networking - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes Networking

+
    +
  1. Introduction
  2. +
  3. Kubernetes DNS
  4. +
  5. Kubernetes Services and Load Balancing
  6. +
  7. TCP Keep Alive Requests
  8. +
  9. Headless Kubernetes Service
  10. +
  11. NetworkPolicy
  12. +
  13. Nginx Ingress Controller
  14. +
  15. Contour Ingress Controller
  16. +
  17. Kubernetes Gateway API
  18. +
  19. Kube-proxy
  20. +
  21. Multicloud communication for Kubernetes
  22. +
  23. Multi-Cluster Kubernetes Networking
  24. +
  25. Kubernetes Network Policy
      +
    1. Cilium
    2. +
    3. Kubernetes Network Policy Samples
    4. +
    +
  26. +
  27. Kubernetes Ingress Specification
  28. +
  29. Xposer Kubernetes Controller To Manage Ingresses
  30. +
  31. Software-Defined IP Address Management (IPAM)
  32. +
  33. CNI Container Networking Interface
      +
    1. List of existing CNI Plugins (IPAM)
    2. +
    3. Project Calico
    4. +
    +
  34. +
  35. DNS Service with CoreDNS
  36. +
  37. Kubernetes Node Local DNS Cache
  38. +
  39. k8gb
  40. +
  41. VPC Lattice
  42. +
  43. Images
  44. +
  45. Videos
  46. +
  47. Tweets
  48. +
+

Introduction

+ +

Kubernetes DNS

+

Kubernetes Services and Load Balancing

+
    +
  • Application Gateway for Containers with AKS Overlay Networking and VNet Flow Logs 🌟 - This post delves into the integration of Azure Application Gateway for Containers (AGC) with Azure Kubernetes Service (AKS) when using the overlay network option. It explores how AGC interacts with pods using non-routable IP addresses and examines the feasibility of using VNet Flow Logs to monitor traffic between AGC and AKS.
  • +
  • Introduction to Azure Application Gateway for Containers (AGC) - (Related to azure topic)
  • +
  • +

    Kubernetes Services and Load Balancing Explained 🌟 - An in-depth exploration of Kubernetes networking, focusing on Services, kube-proxy, and load balancing mechanisms. The article details how pods communicate within a cluster, the role of Services in directing traffic, and managing external access. It covers ClusterIP, NodePort, and LoadBalancer service types, their implementation via iptables, and advanced topics like preserving source IPs, handling terminating endpoints, and integrating with cloud load balancers. The content is illustrated with a practical example of deploying a two-tier application.

    +
  • +
  • +

    blog.cloudsigma.com: Kubernetes DNS Service: A Beginner’s Guide Kubernetes DNS service allows you to contact services with consistent DNS names instead of IP addresses.

    +
  • +
+

TCP Keep Alive Requests

+ +

Headless Kubernetes Service

+
    +
  • medium.com: Headless Kubernetes Service A headless service in Kubernetes can be a useful tool for creating distributed applications. It allows you to directly access the individual pods in a service. This is useful in scenarios where you need to perform complex load-balancing. A headless service does not have a cluster IP assigned to it. Instead of providing a single virtual IP address for the service, a headless service creates a DNS record for each pod associated with the service. These DNS records can then be used to directly address each pod. Here’s a high-level overview of how a headless service works:
      +
    • A headless service is created in Kubernetes
    • +
    • Pods are associated with the service through labels
    • +
    • DNS records are created for each pod associated with the service
    • +
    • Clients can use the DNS records to directly access each pod
    • +
    +
  • +
  • goglides.dev: Headless services in Kubernetes Vs Regular Service: What, Why, and How?
  • +
+

NetworkPolicy

+ +

Nginx Ingress Controller

+ +

Contour Ingress Controller

+ +

Kubernetes Gateway API

+ +

Kube-proxy

+
    +
  • +

    NFTables mode for kube-proxy in Kubernetes 🌟 - This article introduces the new nftables mode for kube-proxy, an alpha feature in Kubernetes 1.29 that is currently in beta and expected to reach General Availability (GA) in version 1.33. The new mode addresses long-standing performance issues associated with the iptables mode, particularly for large Kubernetes clusters with numerous Services. It leverages the capabilities of nftables to improve data plane latency by providing a more scalable and efficient way to handle Service proxying compared to the traditional iptables approach. The article encourages users with recent kernels to try out this new mode.

    +
  • +
  • +

    dustinspecker.com: iptables: How Kubernetes Services Direct Traffic to Pods In this article you will learn how Kubernetes’s kube-proxy uses iptables to direct traffic to pods randomly. You’ll focus on the ClusterIP type of Kubernetes services.

    +
  • +
  • arthurchiao.art: Cracking kubernetes node proxy (aka kube-proxy) This post analyzes the Kubernetes node proxy model, and provides 5 demo implementations (within couples of lines of code) of the model, each based on different tech-stacks (userspace/iptables/ipvs/tc-ebpf/sock-ebpf).
  • +
+

Multicloud communication for Kubernetes

+ +

Multi-Cluster Kubernetes Networking

+ +

Kubernetes Network Policy

+ +

Cilium

+ +

+ +

+

Kubernetes Network Policy Samples

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

+ +

Xposer Kubernetes Controller To Manage Ingresses

+
    +
  • Xposer 🌟 A Kubernetes controller to manage (create/update/delete) Kubernetes Ingresses based on the Service
      +
    • Problem: We would like to watch for services running in our cluster; and create Ingresses and generate TLS certificates automatically (optional)
    • +
    • Solution: Xposer can watch for all the services running in our cluster; Creates, Updates, Deletes Ingresses and uses certmanager to generate TLS certificates automatically based on some annotations.
    • +
    +
  • +
+

Software-Defined IP Address Management (IPAM)

+
    +
  • IP Address Management (IPAM)
  • +
  • fusionlayer.com: Software-Defined IP Address Management (IPAM)
      +
    • Cloud computing and service automation are changing the way in which applications and data are being delivered and consumed. The existing 30-year-old networking model is failing to keep up with the automated service architectures and the Internet of Things (IoT) based on end-to-end automation.
    • +
    • To facilitate the migration to cloud-era computing, service providers and data centers must add networking into the automated service workflows. This requires agility and elasticity that traditional networking products are not designed to provide. As IT environments of tomorrow involve a plethora of orchestrators and controllers spinning up services and applications inside shared networks, they all must be managed and provisioned by a unified solution authoritative for all network-related information.
    • +
    +
  • +
+

CNI Container Networking Interface

+ +

List of existing CNI Plugins (IPAM)

+ +

+kubernetes sdn solutions +

+

Project Calico

+ +

DNS Service with CoreDNS

+ +

Kubernetes Node Local DNS Cache

+ +

k8gb

+ +

VPC Lattice

+ +

Images

+
+Click to expand! +

+k8s service types img +

+
+

Videos

+
+Click to expand! +

+ + + + +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-newsletters/index.html b/kubernetes-newsletters/index.html new file mode 100644 index 00000000..37c59b9d --- /dev/null +++ b/kubernetes-newsletters/index.html @@ -0,0 +1,6330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Newsletters - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ +
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-on-premise/index.html b/kubernetes-on-premise/index.html new file mode 100644 index 00000000..f5dbc7a3 --- /dev/null +++ b/kubernetes-on-premise/index.html @@ -0,0 +1,6922 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes On Premise - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

On-Premise Production Kubernetes Cluster Installers

+
    +
  1. Introduction
  2. +
  3. Comparative Analysis of Kubernetes Deployment Tools
  4. +
  5. Deploying Kubernetes Cluster with Kops
  6. +
  7. Deploying Kubernetes Cluster with Kubeadm
  8. +
  9. Deploying Kubernetes Cluster with Ansible
  10. +
  11. kube-aws Kubernetes on AWS
  12. +
  13. Kubespray
  14. +
  15. Conjure up
  16. +
  17. WKSctl
  18. +
  19. Terraform (kubernetes the hard way)
  20. +
  21. Caravan
  22. +
  23. ClusterAPI
  24. +
  25. Microk8s
  26. +
  27. k8s-tew
  28. +
  29. Project Neco
  30. +
  31. Zarf. DevSecOps for Air Gap Systems
  32. +
  33. Kubernetes Operating Systems
  34. +
  35. Kubernetes Distributions
      +
    1. Red Hat OpenShift
    2. +
    3. Rancher
    4. +
    5. Weave Kubernetes Platform
    6. +
    7. Ubuntu Charmed Kubernetes
    8. +
    9. VMware Kubernetes Tanzu and Project Pacific
        +
      1. KubeAcademy Pro (free training)
      2. +
      +
    10. +
    11. Kontena Pharos
    12. +
    13. Mirantis Docker Enterprise with Kubernetes and Docker Swarm
    14. +
    15. Mirantis k0s
    16. +
    17. K0s
    18. +
    19. K8e
    20. +
    21. Typhoon
    22. +
    23. kurl
    24. +
    +
  36. +
+

Introduction

+ +

Comparative Analysis of Kubernetes Deployment Tools

+ +

Deploying Kubernetes Cluster with Kops

+ +
C:\ubuntu> vagrant init ubuntu/xenial64
+C:\ubuntu> vagrant up
+C:\ubuntu> vagrant ssh-config
+C:\ubuntu> vagrant ssh
+
+
$ curl -LO https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64
+$ chmod +x kops-linux-amd64
+$ sudo mv kops-linux-amd64 /usr/local/bin/kops
+
+ +

Deploying Kubernetes Cluster with Kubeadm

+ +

Deploying Kubernetes Cluster with Ansible

+ +

kube-aws Kubernetes on AWS

+

Kubespray

+
    +
  • Kubespray
  • +
  • redhat.com: An introduction to Kubespray By combining Ansible and Kubernetes, Kubespray can deploy Kubernetes clusters on multiple machines.
  • +
  • adamtheautomator.com/kubespray: Conquer Kubernetes Clusters with Ansible Kubespray
      +
    • Manually deploying Kubernetes can be challenging for administrators, especially on bare-metal infrastructure deployment. Luckily, there is an automation tool for deploying production-ready Kubernetes called Kubespray.
    • +
    • Kubespray is an Ansible Playbook for deploying Kubernetes Cluster and provides a High Availability cluster, composable attributes, components, and supports multiple Linux distributions. Kubespray also supports cloud services like AWS, GCE, and Azure.
    • +
    +
  • +
  • github.com/bluxmit: Kubespray Workspace Containerized development, execution and admin environment for Kubernetes, Ansible and Terraform.
  • +
+

Conjure up

+ +

WKSctl

+ +

Terraform (kubernetes the hard way)

+ +

Caravan

+ +

ClusterAPI

+ +

Microk8s

+ +

k8s-tew

+
    +
  • k8s-tew Kubernetes is a fairly complex project. For a newbie it is hard to understand and also to use. While Kelsey Hightower’s Kubernetes The Hard Way, on which this project is based, helps a lot to understand Kubernetes, it is optimized for the use with Google Cloud Platform.
  • +
+

Project Neco

+

Zarf. DevSecOps for Air Gap Systems

+
    +
  • defenseunicorns/zarf DevSecOps for Air Gap & Limited-Connection Systems. Zarf massively simplifies the setup & administration of kubernetes clusters, cyber systems & workloads that support DevSecOps “across the air gap”.
  • +
+

Kubernetes Operating Systems

+ +

Kubernetes Distributions

+ +

Red Hat OpenShift

+ +

Rancher

+ +

Weave Kubernetes Platform

+ +

Ubuntu Charmed Kubernetes

+ +

VMware Kubernetes Tanzu and Project Pacific

+ +

KubeAcademy Pro (free training)

+ +

Kontena Pharos

+ +

Mirantis Docker Enterprise with Kubernetes and Docker Swarm

+
    +
  • Mirantis Docker Enterprise 3.1+ with Kubernetes
  • +
  • Docker Enterprise 3.1 announced. Features:
      +
    • Istio is now built into Docker Enterprise 3.1!
    • +
    • Comes with Kubernetes 1.17. Kubernetes on Windows capability.
    • +
    • Enable Istio Ingress for a Kubernetes cluster with the click of a button
    • +
    • Intelligent defaults to get started quickly
    • +
    • Virtual services supported out of the box
    • +
    • Inbuilt support for GPU Orchestration
    • +
    • Launchpad CLI for Docker Enterprise deployment & upgrades
    • +
    +
  • +
+

Mirantis k0s

+ +

K0s

+ +

K8e

+
    +
  • xiaods/k8e K8e 🚀 (said ‘kuber easy’) - Simple Kubernetes Distribution. Builds on upstream project K3s as codebase, remove Edge/IoT features and extend enterprise features with best practices.
  • +
+

Typhoon

+ +

kurl

+
    +
  • kurl.sh kURL is a Kubernetes installer for air-gapped and online clusters. kURL relies on kubeadm but automates tasks such as installing the container runtime, configuring pod networking, etc., so any user can deploy a Kubernetes cluster with a single script.
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-operators-controllers/index.html b/kubernetes-operators-controllers/index.html new file mode 100644 index 00000000..7adecbe6 --- /dev/null +++ b/kubernetes-operators-controllers/index.html @@ -0,0 +1,6785 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Operators and Controllers - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes Operators and Controllers

+
    +
  1. Introduction
  2. +
  3. OpenTelemetry Operator
  4. +
  5. Creating Kubernetes operator using Kubebuilder
  6. +
  7. operatorhub.io
  8. +
  9. Red Hat Container Community of Practice Operators
  10. +
  11. Operator Capability Levels
  12. +
  13. Cluster Addons
  14. +
  15. K8Spin Operator. Kubernetes multi-tenant operator
  16. +
  17. K8s KPIs with Kuberhealthy Operator
  18. +
  19. Writing Kubernetes Operators and Controllers
  20. +
  21. Tweets
  22. +
  23. Videos
  24. +
+

Introduction

+ +

OpenTelemetry Operator

+ +

Creating Kubernetes operator using Kubebuilder

+
    +
  • kubernetes-sigs/kubebuilder Kubebuilder - SDK for building Kubernetes APIs using CRDs. Kubebuilder is a framework for building Kubernetes APIs using custom resource definitions (CRDs). Kubebuilder increases velocity and reduces the complexity managed by developers for rapidly building and publishing Kubernetes APIs in Go. +
  • +
  • medium.com/@adnn.selimovic: Creating Kubernetes operator using Kubebuilder
  • +
  • medium.com/geekculture: A New Pattern that Simplifies Operator Building Build Kubernetes Operator with Kubebuilder and declarative pattern. kubebuilder-declarative-pattern provides a set of tools for building cluster operators with kubebuilder. Declarative operators provide a fast path to orchestrating deployments instead of reinventing the wheel i.e. “how do I get/update this YAML?”
  • +
  • +

    qdnqn.com: Creating Kubernetes operator using Kubebuilder

    +
      +
    • +

      Kubernetes is the current de facto standard for the deployment and running of applications that are suitable for modern cloud platforms. A declarative way of defining infrastructure state using YAML allows a super easy definition of the scheme for the deployment of the application. Deploying stateless applications is not a big deal. On the other hand — deploying distributed stateful applications, configuring, and operating them is a challenging task.

      +
    • +
    • +

      Kubernetes addressed this issue by allowing developers to extend it, using the Kubernetes operator. The operator reacts to the custom resource and reconciliate the state in the cluster with the state defined in the custom resource, by implementing logic embedded in the operator itself.

      +
    • +
    • +

      When designing/writing an application, intended to run on the Kubernetes, one should take into account capabilities provided by Kubernetes and take that information when designing software architecture. It can speed up implementation, make an application more reliable and the code can focus more on business logic itself.

      +
    • +
    • +

      There are multiple ways to create an operator. You could write one from scratch using Kubernetes client-go. It’s a tedious task and the learning curve is steep. As an alternative, multiple tools provide boilerplate code and speed up the writing of operators. Popular ones are Operatorsdk and Kubebuilder. The focus of the article will be on creating an operator using Kubebuilder. Let’s create an operator which will create a pod running a simple HTTP API and bind some data to the HTTP API.

      +
    • +
    • dev.to/thenjdevopsguy: What Is A Kubernetes Operator?
    • +
    +
  • +
+

operatorhub.io

+
    +
  • operatorhub.io OperatorHub.io is a new home for the Kubernetes community to share Operators. Find an existing Operator or list your own today.
  • +
+

Red Hat Container Community of Practice Operators

+ +

Operator Capability Levels

+
    +
  • Operator Capability Levels Operators come in different maturity levels in regards to their lifecycle management capabilities for the application or workload they deliver. The capability models aims to provide guidance in terminology to express what features users can expect from an Operator.
  • +
+

Cluster Addons

+ +

K8Spin Operator. Kubernetes multi-tenant operator

+ +

K8s KPIs with Kuberhealthy Operator

+
    +
  • K8s KPIs with Kuberhealthy 🌟 transforming Kuberhealthy into a Kubernetes operator for synthetic monitoring. This new ability granted developers the means to create their own Kuberhealthy check containers to synthetically monitor their applications and clusters. Additionally, we created a guide on how to easily install and use Kuberhealthy in order to capture some helpful synthetic KPIs.
  • +
+

Writing Kubernetes Operators and Controllers

+ +

Tweets

+
+ Click to expand! + +
+ +
+
+ +

Videos

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-releases/index.html b/kubernetes-releases/index.html new file mode 100644 index 00000000..4d545b03 --- /dev/null +++ b/kubernetes-releases/index.html @@ -0,0 +1,6447 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Releases - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes Releases

+

Kubernetes Operators and Controllers

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-security/index.html b/kubernetes-security/index.html new file mode 100644 index 00000000..3e51713b --- /dev/null +++ b/kubernetes-security/index.html @@ -0,0 +1,7333 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Security - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes Security

+
    +
  1. Introduction
  2. +
  3. IAM Identity And Access Management in Kubernetes
  4. +
  5. Securing Kubernetes Deployments
  6. +
  7. Securing a Kubernetes cluster using TLS certificates. Wildcard certificates
  8. +
  9. Kubernetes Security Scanners
  10. +
  11. Security Checklist Kubernetes OWASP
  12. +
  13. Exposed Kubernetes Clusters
  14. +
  15. NSA National Security Agent Kubernetes Hardening Guidance
  16. +
  17. CIS Benchmarks and CIS Operator
  18. +
  19. User and Workload identities in Kubernetes
  20. +
  21. Service Accounts
  22. +
  23. Kubernetes Secrets
  24. +
  25. Kubernetes Cert-Manager. Encrypting the certificate for Kubernetes. SSL certificates with Let’s Encrypt in Kubernetes Ingress via cert-manager
  26. +
  27. Kubernetes OpenID Connect OIDC
      +
    1. OAuth2 Proxy
    2. +
    3. Alternatives
    4. +
    +
  28. +
  29. RBAC and Access Control
      +
    1. Tools
    2. +
    +
  30. +
  31. Kubernetes and LDAP
  32. +
  33. Admission Control
  34. +
  35. Kubernetes Security Best Practices
  36. +
  37. Kubernetes Authentication and Authorization
      +
    1. Kubernetes Authentication Methods
    2. +
    3. X.509 client certificates
    4. +
    5. Static HTTP Bearer Tokens
    6. +
    7. OpenID Connect
    8. +
    9. Implementing a custom Kubernetes authentication method
    10. +
    +
  38. +
  39. Pod Security Policies (SCCs - Security Context Constraints in OpenShift)
  40. +
  41. Security Profiles Operator
  42. +
  43. EKS Security
  44. +
  45. External Secrets Operator
  46. +
  47. CVE
      +
    1. Official Kubernetes CVE Feed
    2. +
    +
  48. +
  49. Videos
  50. +
  51. Tweets
  52. +
+

Introduction

+ +

+kubernetes security mindmap +

+

IAM Identity And Access Management in Kubernetes

+ +

Securing Kubernetes Deployments

+
    +
  • dev.to/aws-builders: Best Practices for Securing Kubernetes Deployments 🌟 Although Kubernetes is a powerful container orchestration platform, its complexity and its adoption makes it a prime target for security attacks. We’ll go over some of the best practices for securing the Kubernetes deployments and keeping applications and data safe in this article. This article is only about pods or deployments.
  • +
+

Securing a Kubernetes cluster using TLS certificates. Wildcard certificates

+ +

Kubernetes Security Scanners

+ +

Security Checklist Kubernetes OWASP

+ +

Exposed Kubernetes Clusters

+
    +
  • blog.cyble.com: Exposed Kubernetes Clusters Organizations At Risk Of Data Breaches Via Misconfigured Kubernetes. Over 900k Kubernetes exposures were observed across the internet during a routine threat-hunting exercise. While this does not imply that all exposed instances are vulnerable to attacks, it still makes them a target.
  • +
+

NSA National Security Agent Kubernetes Hardening Guidance

+ +

CIS Benchmarks and CIS Operator

+
    +
  • ibm.com: CIS Benchmarks Developed by a global community of cybersecurity professionals, CIS Benchmarks are a collection of best practices for securely configuring IT systems, software, networks, and cloud infrastructure.
  • +
  • aymen-abdelwahed.medium.com: K8s Operators — CIS Kubernetes Benchmarks How can I run my workloads securely on top of Kubernetes? In this post, we’ll be taking a look at the CIS-Benchmark, breaking the concept down to simple terms, and in the end, deploying the CIS-Operator using Helm charts and custom values
      +
    • rancher/cis-operator This is an operator that can run on a given Kubernetes cluster and provide ability to run security scans as per the CIS benchmarks, on the cluster.
    • +
    +
  • +
+

User and Workload identities in Kubernetes

+
    +
  • +

    Four Methods to Access Azure Key Vault from Azure Kubernetes Service (AKS) 🌟 - This article explores various methods for applications hosted on Azure Kubernetes Service (AKS) to securely retrieve secrets from Azure Key Vault. It details the use of Microsoft Entra Workload ID, which integrates with Kubernetes to federate with external identity providers, enabling pods to obtain Kubernetes identities via Service Account Token Volume Projection. This allows for the secure exchange of Kubernetes tokens for Microsoft Entra access tokens, facilitating secure access to Azure resources.

    +
  • +
  • +

    learnk8s.io/authentication-kubernetes: User and workload identities in Kubernetes 🌟🌟🌟

    +
      +
    • The difference b/w externally managed and internal identities.
    • +
    • How Kubernetes assigns identities for internal users with Service Accounts.
    • +
    +
  • +
+

Service Accounts

+ +

Kubernetes Secrets

+ +

Kubernetes Cert-Manager. Encrypting the certificate for Kubernetes. SSL certificates with Let’s Encrypt in Kubernetes Ingress via cert-manager

+ +

Kubernetes OpenID Connect OIDC

+ +

OAuth2 Proxy

+

OAuth2 Proxy is an open-source reverse proxy that provides authentication and authorization for web applications. It is designed to sit in front of your web application and authenticate users using OAuth2 providers such as Google, Microsoft, and Facebook. Once a user has been authenticated, OAuth2 Proxy adds an authorization header to each request, allowing the web application to verify that the request came from an authenticated user.

+

OAuth2 Proxy is commonly used in Kubernetes environments to secure access to web applications deployed on a Kubernetes cluster. It integrates with Kubernetes API Server to provide automatic configuration and discovery of the OAuth2 provider’s credentials. It also supports a variety of authentication mechanisms, including Google OAuth2, Microsoft Azure AD, GitHub OAuth2, and others.

+

Some of the key features of OAuth2 Proxy include:

+

Support for multiple OAuth2 providers +Automatic configuration and discovery of OAuth2 provider credentials +Support for a variety of authentication mechanisms, including JWT tokens, cookies, and HTTP basic authentication +Fine-grained access control through the use of role-based access control (RBAC) +Support for custom headers and footers to customize the user interface +Overall, OAuth2 Proxy is a powerful tool for securing web applications using OAuth2 providers. It simplifies the authentication and authorization process and makes it easy to manage access to your applications in a Kubernetes environment.

+ +

Alternatives

+

There are several alternatives to OAuth2 Proxy in Kubernetes, depending on your specific use case and requirements. Some popular options include:

+

Istio: Istio is a popular open-source service mesh that provides a variety of features, including secure authentication and authorization through its Istio Authentication feature. Istio allows you to define authentication policies for your services using a variety of authentication mechanisms, such as JWT, OAuth, and mTLS.

+

Keycloak: Keycloak is an open-source identity and access management solution that provides a variety of features, including authentication, authorization, and user management. Keycloak can be deployed on Kubernetes using its Helm chart and can be used to secure your Kubernetes applications using a variety of authentication mechanisms, such as OAuth2, OpenID Connect, and SAML.

+

Dex: Dex is an open-source identity provider that can be used to provide authentication and authorization for Kubernetes applications. Dex can be deployed on Kubernetes using its Helm chart and can be used to authenticate users using a variety of authentication mechanisms, such as LDAP, OAuth2, and OpenID Connect.

+

Traefik: Traefik is a popular open-source reverse proxy and load balancer that provides a variety of features, including secure authentication and authorization. Traefik can be used to secure your Kubernetes applications using a variety of authentication mechanisms, such as OAuth2, JWT, and basic authentication.

+

Ambassador: Ambassador is a popular open-source API Gateway that provides a variety of features, including secure authentication and authorization. Ambassador can be used to secure your Kubernetes applications using a variety of authentication mechanisms, such as OAuth2, JWT, and basic authentication.

+

Each of these alternatives provides different features and may be more suitable for different use cases. It’s important to evaluate each option based on your specific needs and requirements.

+

RBAC and Access Control

+ +

Tools

+
    +
  • paralus.io 🌟 Zero trust Kubernetes with zero friction. - github.com/paralus/paralus Paralus is a free, open source tool that enables controlled, audited access to Kubernetes infrastructure. It comes with just-in-time service account creation and user-level credential management that integrates with your RBAC and SSO providers or Identity Providers (IdP) that support OIDC. Ships as a GUI, API, and CLI.
  • +
  • github.com/ondat/trousseau Trousseau uses the Kubernetes KMS provider framework to provide an envelope encryption scheme to encrypt secrets on the fly before they reach etcd. The project is modular and you can plug your own KMS tool (e.g. Vault).
  • +
+

Kubernetes and LDAP

+ +

Admission Control

+ +

Kubernetes Security Best Practices

+ +

+kubernetes security controls landscape +

+

Kubernetes Authentication and Authorization

+ +

Kubernetes Authentication Methods

+

Kubernetes supports several authentication methods out-of-the-box, such as X.509 client certificates, static HTTP bearer tokens, and OpenID Connect.

+

X.509 client certificates

+ +

Static HTTP Bearer Tokens

+ +

OpenID Connect

+ +

Implementing a custom Kubernetes authentication method

+ +

Pod Security Policies (SCCs - Security Context Constraints in OpenShift)

+ +

Security Profiles Operator

+ +

EKS Security

+ +

External Secrets Operator

+
    +
  • external-secrets.io 🌟 External Secrets Operator is a Kubernetes operator that integrates external secret management systems like AWS Secrets Manager, HashiCorp Vault, Google Secrets Manager, Azure Key Vault, IBM Cloud Secrets Manager, and many more. The operator reads information from external APIs and automatically injects the values into a Kubernetes Secret.
  • +
  • mahira-technology.medium.com: Kubernetes Secrets Management: Level Up with External Secrets Operator Kubernetes has become a popular platform for deploying and managing containerized applications. As applications grow in complexity, managing secrets such as API keys, passwords, and certificates becomes increasingly important. While Kubernetes provides a built-in Secrets resource, it has limitations when it comes to managing secrets across multiple clusters or integrating with external secret management systems. This is where the External Secrets Operator (ESO) comes into play. ESO is an open-source Kubernetes operator that allows you to manage secrets from external secret management systems and synchronize them as Kubernetes Secrets.
  • +
  • faun.pub: External Secret Operator on AKS (with Terraform) for Azure Key Vault Integration (with Workload Identity)
  • +
+

CVE

+ +

Official Kubernetes CVE Feed

+ +

Videos

+
+Click to expand! +

+

+

+

+

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + +
+
+ +

kubernetes-security

+
    +
  • kubescape - Kubescape is an open-source Kubernetes security platform for your IDE, CI/CD pipelines, and clusters. It includes risk analysis, security, compliance, and misconfiguration scanning, saving Kubernetes users and administrators precious time, effort, and resources.
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-storage/index.html b/kubernetes-storage/index.html new file mode 100644 index 00000000..0c01c330 --- /dev/null +++ b/kubernetes-storage/index.html @@ -0,0 +1,7018 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Storage - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes Storage. Cloud Native Storage

+
    +
  1. Introduction
  2. +
  3. Kubernetes Storage API Interface
  4. +
  5. Kubernetes Storage Classes
  6. +
  7. Kubernetes Volumes
      +
    1. Kubernetes Volumes Guide
    2. +
    +
  8. +
  9. DoK Community
  10. +
  11. ReadWriteMany PersistentVolumeClaims
  12. +
  13. Ebooks
  14. +
  15. Cloud Native Storage Solutions
      +
    1. Rook
    2. +
    3. Robin
    4. +
    5. Reduxio
    6. +
    7. Portworx
    8. +
    9. StorageOS
    10. +
    11. OpenEBS
    12. +
    13. LightOS
    14. +
    15. Longhorn
    16. +
    17. IBM Spectrum Storage Suite
    18. +
    19. Linbit
    20. +
    21. Kadalu
    22. +
    23. IOMesh
    24. +
    25. MinIO
    26. +
    27. NetApp Data Store
    28. +
    29. Stork Storage Operator
    30. +
    31. Curve - OpenCurve
    32. +
    33. simplyblock
    34. +
    +
  16. +
  17. OpenShift Container Storage Operator (OCS)
      +
    1. OCS 3 (OpenShift 3)
    2. +
    3. OCS 4 (OpenShift 4)
    4. +
    +
  18. +
  19. Kubernetes CSI
  20. +
  21. Kubestr
  22. +
  23. VolSync
  24. +
  25. Discoblocks
  26. +
  27. Images
  28. +
  29. Tweets
  30. +
  31. Videos
  32. +
+

Introduction

+ +

Kubernetes Storage API Interface

+ +

Kubernetes Storage Classes

+ +

Kubernetes Volumes

+ +

Kubernetes Volumes Guide

+ +

DoK Community

+
    +
  • DoK Community 🌟
  • +
  • Kubernetes was originally designed to run stateless workloads. Today, it is increasingly used to run databases and other stateful workloads. Yet despite the success of these early adopters, there remain few known good practices for running data on Kubernetes.
  • +
  • After discussions with thousands of companies and individuals running data workloads on Kubernetes we’ve come to see that there is a need for a sharing of patterns and concerns about how to build and operate data-centric applications on Kubernetes. As a result, the Data on Kubernetes Community (DoKC) was born.
  • +
  • dok.community: Data on Kubernetes 2021 🌟 Insights from over 500 executives and technology leaders on how Kubernetes is being used for data and the factors driving further adoption
  • +
+

ReadWriteMany PersistentVolumeClaims

+ +

Ebooks

+

Cloud Native Storage Solutions

+ +

Rook

+ +

Robin

+ +

Reduxio

+ +

Portworx

+ +

StorageOS

+

OpenEBS

+ +

LightOS

+ +

Longhorn

+ +

IBM Spectrum Storage Suite

+ +

Linbit

+ +

Kadalu

+
    +
  • Kadalu A lightweight Persistent storage solution for Kubernetes / OpenShift using GlusterFS in background. Kadalu is a project to provide Persistent Storage in Kubernetes. The Kadalu operator deploys CSI pods, and gluster storage pods
  • +
+

IOMesh

+ +

MinIO

+ +

NetApp Data Store

+ +

Stork Storage Operator

+ +

Curve - OpenCurve

+
    +
  • Curve: opencurve.io Curve is a high-performance, lightweight-operation, cloud-native open source distributed storage system for Kubernetes/OpenStack. Curve can also be used as a cloud storage middleware using S3-compatible object storage as a data storage engine.
  • +
+

simplyblock

+
    +
  • simplyblock: simplyblock.io Simplyblock is a NVMe over TCP (NVMe/TCP) based disaggregated and cloud-native storage solution with high-performance and predictable low latency block storage for Kubernetes.
  • +
+

OpenShift Container Storage Operator (OCS)

+ +

OCS 3 (OpenShift 3)

+
    +
  • OpenShift Container Storage based on GlusterFS technology.
  • +
  • Not OpenShift 4 compliant: Migration tooling will be available to facilitate the move to OCS 4.x (OpenShift Gluster APP Mitration Tool).
  • +
+

OCS 4 (OpenShift 4)

+
    +
  • OCS Operator based on Rook.io with Operator LifeCycle Manager (OLM).
  • +
  • Tech Stack:
      +
    • Rook (don’t confuse this with non-redhat “Rook Ceph” -> RH ref).
        +
      • Replaces Heketi (OpenShift 3)
      • +
      • Uses Red Hat Ceph Storage and Noobaa.
      • +
      +
    • +
    • Red Hat Ceph Storage
    • +
    • Noobaa:
        +
      • Red Hat Multi Cloud Gateway (AWS, Azure, GCP, etc)
      • +
      • Asynchronous replication of data between my local ceph and my cloud provider
      • +
      • Deduplication
      • +
      • Compression
      • +
      • Encryption
      • +
      +
    • +
    +
  • +
  • Backups available in OpenShift 4.2+ (Snapshots + Restore of Volumes)
  • +
  • OCS Dashboard in OCS Operator
  • +
+

Kubernetes CSI

+ +

Kubestr

+ +

VolSync

+
    +
  • VolSync 🌟 Asynchronous data replication for Kubernetes volumes. VolSync asynchronously replicates Kubernetes persistent volumes between clusters using either rsync or rclone. It also supports creating backups of persistent volumes via restic.
  • +
  • next.redhat.com: Introducing VolSync: your data, anywhere VolSync, a new storage-agnostic utility for exporting and importing objects from one Kubernetes namespace to another, even across clusters!
  • +
+

Discoblocks

+ +

Images

+
+Click to expand! +

+gigaom radar report on storage +

+
+

Tweets

+
+Click to expand! +

+ +

+
+

Videos

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-tools/index.html b/kubernetes-tools/index.html new file mode 100644 index 00000000..bbfce596 --- /dev/null +++ b/kubernetes-tools/index.html @@ -0,0 +1,8806 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Plugins, Tools, Extensions and Projects - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes Plugins, Tools, Extensions and Projects

+
    +
  1. Introduction
  2. +
  3. K8s Tools
  4. +
  5. CI/CD Tools
  6. +
  7. kubetail
  8. +
  9. Portainer
  10. +
  11. kubecfg
  12. +
  13. Curl
  14. +
  15. kcp
  16. +
  17. Clusternet
  18. +
  19. Open Cluster Management
  20. +
  21. Penetration Testing Tools
  22. +
  23. Deckhouse Kubernetes Platform
  24. +
  25. KubeIP (GKE)
  26. +
  27. Porter
  28. +
  29. Datree. Quality Checks for Kubernetes YAMLs
  30. +
  31. Kaniko Build Images in Kubernetes without docker
  32. +
  33. Shipwright Framework for Building Container Images on Kubernetes
  34. +
  35. BuildKit CLI for kubectl
  36. +
  37. Buildpacks vs Dockerfiles
  38. +
  39. Kubevela
  40. +
  41. Pixie. Instantly troubleshoot applications on Kubernetes
  42. +
  43. Dekorate. Generate k8s manifests for java apps
  44. +
  45. Kubesploit
  46. +
  47. Kubeshop
  48. +
  49. Meshery
  50. +
  51. Monokle
  52. +
  53. K8studio
  54. +
  55. KubeLibrary
  56. +
  57. kube-vip
  58. +
  59. Kubermetrics
  60. +
  61. Kustomizer
  62. +
  63. MetalLB
  64. +
  65. Kubermatic Kubernetes Platform
      +
    1. Kubermatic Kubeone
    2. +
    +
  66. +
  67. Usernetes
  68. +
  69. k8syaml.com
  70. +
  71. Popeye
  72. +
  73. kbrew
  74. +
  75. KubExplorer
  76. +
  77. Kubescape
  78. +
  79. Kubectl Connections
  80. +
  81. Benchmark Operator
  82. +
  83. Source-To-Image (S2I)
  84. +
  85. VMware Tanzu Octant
  86. +
  87. Qovery Engine
  88. +
  89. mck8s Container orchestrator for multi-cluster Kubernetes
  90. +
  91. Shipwright framework
  92. +
  93. Schiff (Deutsche Telekom)
  94. +
  95. NetMaker
  96. +
  97. AWS Karpenter kubernetes Autoscaler
  98. +
  99. Kuby (easy deployments of Ruby Rails App)
  100. +
  101. Direktiv
  102. +
  103. Jabos
  104. +
  105. Pleco
  106. +
  107. Mesh-kridik
  108. +
  109. kubewatch
  110. +
  111. Botkube
  112. +
  113. Robusta
  114. +
  115. Soup GitOps Operator
  116. +
  117. Epinio
  118. +
  119. Testkube
  120. +
  121. KuberLogic
  122. +
  123. Kusk
  124. +
  125. Azure AD Workload Identity
  126. +
  127. Kubernate
  128. +
  129. Tackle
  130. +
  131. Azure Placement Policy Scheduler Plugins
  132. +
  133. Azure AAD Pod Identity
  134. +
  135. Azure Related
  136. +
  137. Related AI
  138. +
  139. kubernetes-operators-controllers
  140. +
  141. MicroShift
  142. +
  143. kubernetes-networking
  144. +
  145. kubefwd (Kube Forward)
  146. +
  147. Kpng. Kubernetes Proxy NG
  148. +
  149. Auto-portforward (apf)
  150. +
  151. Gardener
  152. +
  153. Werf
  154. +
  155. Starboard kubernetes-native security toolkit
  156. +
  157. Netshoot
  158. +
  159. The Hierarchical Namespace Controller (HNC)
  160. +
  161. Kratix
  162. +
  163. gRPC-Gateway
  164. +
  165. KubeOrbit. Test your app on kubernetes
  166. +
  167. Mizu API Traffic Viewer for Kubernetes
  168. +
  169. vcluster
  170. +
  171. Kateyes
  172. +
  173. Keepass Secret
  174. +
  175. Workflow Schedulers
      +
    1. Komodor Workflows
    2. +
    +
  176. +
  177. Azure Eraser
  178. +
  179. Data Pipeline Workflow Schedulers
  180. +
  181. ConfigMap Reloader
  182. +
  183. Kluctl
  184. +
  185. k2tf Kubernetes YAML to Terraform HCL converter
  186. +
  187. Kubernetes Security Tools
  188. +
  189. PureLB
  190. +
  191. Murre
  192. +
  193. k9s
  194. +
  195. Pluto
  196. +
  197. Konf Lightweight Kubeconfig Manager
  198. +
  199. K8spacket
  200. +
  201. Infrastructure as Code using Kubernetes. Config Connector
  202. +
  203. Claudie Cloud-agnostic managed Kubernetes
  204. +
  205. Observability Monitoring Tools
      +
    1. Debugging and Troubleshooting Tools
    2. +
    +
  206. +
  207. Security
  208. +
  209. Develop microservices locally while being connected to your Kubernetes environment
  210. +
  211. AI Tools
  212. +
  213. Tweets
  214. +
  215. Videos
  216. +
  217. kubernetes-tools
  218. +
+

Introduction

+ +

K8s Tools

+ +

CI/CD Tools

+
    +
  • Pulumi: Infrastructure as Code in Any Programming Language - (Related to iac topic)
  • +
  • PMEase QuickBuild - (Related to cicd topic)
  • +
  • AWS EKS Argo CD Terraform Component - (Related to gitops topic)
  • +
  • FossFLOW - (Related to cicd topic)
  • +
  • Canine: A Developer-friendly PaaS for Kubernetes 🌟 - Canine is an open-source deployment platform designed to simplify the deployment and management of applications on Kubernetes. It offers a Heroku-like experience, enabling developers to push code and have Canine manage the build, deployment, and entire application lifecycle. Key features include GitHub integration, one-click deployments and rollbacks, automatic SSL certificate management via Let’s Encrypt, and a developer-friendly CLI. It aims to provide cost-effective hosting by making cheaper cloud providers as easy to use as more expensive ones.
  • +
  • Platform Engineering Guide - 5 Key Use Cases of Internal Developer Platforms - (Related to devops topic)
  • +
  • Warp: The Agentic Development Environment 🌟 - Warp is an open-source agentic development environment that allows developers to build software with AI agents, locally and in the cloud. It offers a modern terminal for agentic coding and an orchestration platform for cloud agents. It aims to accelerate development workflows by integrating AI capabilities.
  • +
  • Enhanced Local IDE Experience for AWS Step Functions - (Related to aws topic)
  • +
  • Cloud Posse runs-on: GitHub Actions Self-Hosted Runners - This Cloud Posse component provisions ‘RunsOn’ for GitHub Actions self-hosted runners. It involves deploying a CloudFormation template to set up the necessary infrastructure and then installing the RunsOn GitHub App within your organization to enable runner registration. The documentation details compatibility requirements, usage examples with Terraform, and configuration parameters such as CPU, memory, and encryption settings for EBS volumes.
  • +
  • Terraform Module Releaser GitHub Action - (Related to iac topic)
  • +
  • Gama: Terminal UI for GitHub Actions - (Related to cicd topic)
  • +
  • The Maester - Terraform Module - (Related to terraform topic)
  • +
  • Sharing a NVIDIA GPU Between Pods in Kubernetes 🌟 - This article explains how to implement sharing of NVIDIA GPUs between multiple pods in a Kubernetes cluster. It highlights the high cost of GPUs and the benefits of sharing them to reduce expenses and increase accessibility for graphical-based workloads. The post also touches upon the role of the NVIDIA GPU Operator in facilitating hardware-software communication and extending Kubernetes capabilities.
  • +
  • bul: Interactive TUI for Exploring Kubernetes Container Logs - bul is a Work In Progress (WIP) tool that provides an interactive Text User Interface (TUI) for exploring container logs within Kubernetes. It offers features such as filtering streaming logs by keywords and a ‘Digger mode’ to query the latest N logs. The project was archived on August 13, 2024, making it read-only.
  • +
  • +

    Web Terminal Operator: Tips y Trucos - Explora consejos y trucos prácticos para utilizar el operador de terminal web en entornos Kubernetes.

    +
  • +
  • +

    downloadkubernetes.com: Download Kubernetes 🌟 An easier way to get the binaries you need

    +
  • +
  • ramitsurana/awesome-kubernetes: Tools 🌟
  • +
  • VMware octant A web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
      +
    • octant.dev Visualize your Kubernetes workloads. Octant is an open source developer-centric web interface for Kubernetes that lets you inspect a Kubernetes cluster and its applications.
    • +
    +
  • +
  • KSS - Kubernetes pod status on steroid
  • +
  • kubectl-tree kubectl plugin to browse Kubernetes object hierarchies as a tree
  • +
  • The Golden Kubernetes Tooling and Helpers list
  • +
  • kubech (kubectl change) Set kubectl contexts/namespaces per shell/terminal to manage multi Kubernetes cluster at the same time.
  • +
  • Kubecle is a web ui running locally that provides useful information about your kubernetes clusters. It is an alternative to Kubernetes Dashboard. Because it runs locally, you can access any kubernetes clusters you have access to
  • +
  • Permission Manager 🌟 is a project that brings sanity to Kubernetes RBAC and Users management, Web UI FTW. Permission Manager is an application that enables a super-easy and user-friendly RBAC management for Kubernetes. With Permission Manager, you can create users, assign namespaces/permissions, and distribute Kubeconfig YAML files via a nice & easy web UI.
  • +
  • cloudnatively.com: Kubernetes client tools overview
  • +
  • kubectx + kubens: : Power tools for kubectl🌟🌟 Faster way to switch between clusters and namespaces in kubectl
  • +
  • go-kubectx 5x-10x faster alternative to kubectx. Uses client-go.
  • +
  • kubevious: application centric Kubernetes UI 🌟 is open-source software that provides a usable and highly graphical interface for Kubernetes. Kubevious renders all configurations relevant to the application in one place.
  • +
  • KubeStellar Console 🌟 Open source AI-powered multi-cluster Kubernetes dashboard with real-time observability, AI-guided operations, and 20+ CNCF integrations. CNCF Sandbox project. +
  • +
  • Guard is a Kubernetes Webhook Authentication server. Using guard, you can log into your Kubernetes cluster using various auth providers. Guard also configures groups of authenticated user appropriately.
  • +
  • itnext.io: arkade by example — Kubernetes apps, the easy way 🌟
  • +
  • Kubei is a flexible Kubernetes runtime scanner, scanning images of worker and Kubernetes nodes providing accurate vulnerabilities assessment.
  • +
  • Tubectl: a kubectl alternative which adds a bit of magic to your everyday kubectl routines by reducing the complexity of working with contexts, namespaces and intelligent matching resources.
  • +
  • Kpt: Packaging up your Kubernetes configuration with git and YAML since 2014 (Google)
  • +
  • kubernetes-common-services These services help make it easier to manage your applications environment in Kubernetes
  • +
  • k8s-job-notify Kubernetes Job/CronJob Notifier. This tool sends an alert to slack whenever there is a Kubernetes cronJob/Job failure/success.
  • +
  • kube-opex-analytics 🌟 Kubernetes Cost Allocation and Capacity Planning Analytics Tool. Built-in hourly, daily, monthly reports - Prometheus exporter - Grafana dashboard.
      +
    • Run any kubelet API call
    • +
    • Scan for nodes with opened kubelet API
    • +
    • Scan for containers with RCE
    • +
    • Run a command on all the available containers by kubelet at the same time
    • +
    • Get service account tokens from all available containers by kubelet
    • +
    • Nice printing :)
    • +
    +
  • +
  • K8bit — the tiny Kubernetes dashboard 🌟 K8bit is a tiny dashboard that is meant to demonstrate how to use the Kubernetes API to watch for changes. +
  • +
  • KUbernetes Test TooL (kuttl) 🌟 +
  • +
  • Portfall: A desktop k8s port-forwarding portal for easy access to all your cluster UIs 🌟
  • +
  • k8s-dt-node-labeller is a Kubernetes controller for labelling a node with devicetree properties (devicetree is a data structure for describing hardware).
  • +
  • kubedev 🌟 is a Kubernetes Dashboard that helps developers in their everyday usage
  • +
  • Kubectl SSH Proxy 🌟 Kubectl plugin to launch a ssh socks proxy and use it. This plugin aims to make your life easier when using kubectl a cluster that’s behind a SSH bastion.
  • +
  • kubectl-images Show container images used in the cluster. Kubectl-images is a kubectl plugin that shows the container images used in the cluster. It first calls kubectl get pods to retrieve pods details and filters out the container image information of each pod then prints out the final result in a table view.
  • +
  • Access Pod Online using Podtnl A Powerful CLI that makes your pod available to online without exposing a k8 service.
  • +
  • kiosk: Multi-Tenancy Extension For Kubernetes - Secure Cluster Sharing & Self-Service Namespace Provisioning 🌟 Kubernetes is designed as a single-tenant platform, which makes it hard for cluster admins to host multiple tenants in a single cluster. Kiosk extends Kubernetes for multi-tenancy. The core idea is to use Kubernetes namespaces as isolated workspaces.
  • +
  • asdf-kubectl kubectl plugin for asdf version manager. asdf-vm is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like gvm, nvm, rbenv & pyenv (and more) all in one! Simply install your language’s plugin!
  • +
  • k8s Spot Rescheduler is a tool that tries to reduce load on a set of Kubernetes nodes. It was designed with the purpose of moving Pods scheduled on AWS on-demand instances to AWS spot instances to allow the on-demand instances to be safely scaled down (By the Cluster Autoscaler).
  • +
  • kube-spot-termination-notice-handler is a Kubernetes DaemonSet designed to gracefully delete pods 2 minutes before an EC2 Spot Instance is terminated. +
  • +
  • kmoncon Monitoring connectivity between your kubernetes nodes.
  • +
  • Tesoro Kapitan Secrets Controller for Kubernetes. Tesoro is Kapitan Admission Controller Webhook. Tesoro allows you to seamleslsly apply Kapitan secret refs in compiled Kubernetes manifests. As it runs in the cluster, it will be able to reveal embedded kapitan secret refs in manifests when applied.
  • +
  • DAST operator Dynamic application security testing (DAST) is a Kubernetes operator that leverages OWASP ZAP to make automated basic web service security testing.
  • +
  • Teleskope is a Kubernetes dashboard designed to give your devs and product managers an inside view of the cluster.
  • +
  • Introducing cdk8s+: Intent-driven APIs for Kubernetes objects Everyone hates yaml. Take that 75 lines of yaml and turn it into 45 lines of testable javascript with cdk8s+ +
  • +
  • KuUI (Kubernetes UI) is a simple UI that can be used to manage the configmaps/secrets of your Kubernetes cluster.
  • +
  • Deprek8ion is a set of rego policies to monitor Kubernetes APIs deprecations. It is designed to work with conftest.
  • +
  • Beetle Kubernetes multi-cluster deployment automation service.
  • +
  • vault-controller A K8s controller to manage Hashicorp Vault configuration using CRDs.
  • +
  • k8s-crash-informer is a Kubernetes controller that informs a Mattermost or Slack channel if an annotated deployment goes into crash loop.
  • +
  • Azure Arc enabled Kubernetes allows you to connect and manage external Kubernetes clusters in Azure
  • +
  • Kip, the Kubernetes Cloud Instance Provider Kip is a Virtual Kubelet provider that allows a Kubernetes cluster to transparently launch pods onto their own cloud instances. The kip pod is run on a cluster and will create a virtual Kubernetes node in the cluster.
  • +
  • Kubeletctl is a command line tool that implement kubelet’s API 🌟
  • +
  • k8s-node-label-monitor: Kubernetes Node Label Monitor provides a custom Kubernetes controller for monitoring and notifying changes in the label states of Kubernetes nodes (labels added, deleted, or updated), and can be run either node-local or cluster-wide
  • +
  • medium: How to Validate Your Kubernetes Cluster With Sonobuoy 🌟 Run comprehensive conformance testing for your Kubernetes cluster
  • +
  • Pluto is a cli tool to help discover deprecated apiVersions in Kubernetes 🌟 Find Kubernetes resources that have been deprecated
  • +
  • Switchboard is a tool that manages DNS zones and their A/CNAME records for arbitrary backends. It runs as Kubernetes controller and watches for custom resources DNSZone and DNSRecord.
  • +
  • Kubernetes Deployment Builder 🌟🌟
  • +
  • ktx 🌟 Managing kubeconfig files can become tedious when you have multiple clusters and contexts to switch between. ktx aims to reduce friction caused by switching between various configurations.
  • +
  • k8s-alert is a simple and lightweight alerting tool for Kubernetes.
  • +
  • Arktos is an open source cluster management system designed for large scale clouds. It is evolved from the open source Kubernetes v1.15 codebase with some fundamental improvements.
  • +
  • kube-exec 🌟 is a library similar to os/exec that allows you to run commands in a Kubernetes pod, as if that command was executed locally. It is inspired from go-dexec, which does the same thing, but for a Docker engine.
  • +
  • identity-server Identity Server implements a Kubernetes “whoami” service.
  • +
  • The Kubernetes Goat is a project designed to be intentionally vulnerable cluster environment to learn and practice Kubernetes security.
  • +
  • kubefs lets you mount kubernetes’s metadata object store as a file system
  • +
  • pangolin 🌟 is an enhanced Horizontal Pod Autoscaler for Kubernetes.
  • +
  • kubectl-isolate is a kubectl plugin to isolate a Pod from the Kubernetes Service
  • +
  • k8s-diagrams 🌟 is a collection of diagrams explaining kubernetes, extracted from our trainings, articles and talks (k8s sec, k8s intro).
  • +
  • helm-docs is a tool for automatically generating markdown documentation for helm charts.
  • +
  • Kubernetes Active Passive Applications is an ingenious script that combines StatefulSets and readiness probes to achieve an active-passive configuration for your Pods/apps.
  • +
  • Agorakube is a Certified Kubernetes Distribution that provides an enterprise grade solution following best practices to manage a conformant Kubernetes cluster for on-premise and public cloud providers.
  • +
  • dynamic-pv-scaler is a golang based Kubernetes application which has been created to overcome the scaling issue of Persistent Volume in Kubernetes. This can scale the Persistent Volume on the basis of threshold which you have set.
  • +
  • Sinker Imagesync enables the syncing of container images from one container registry to another. This is useful in cases where you need to mirror images that exist in a public container registry, to a private one.
  • +
  • Cluster Turndown is an automated scaledown and scaleup of a Kubernetes cluster’s backing nodes based on a custom schedule and turndown criteria.
  • +
  • kubeinit 🌟 KubeInit provides Ansible playbooks and roles for the deployment and configuration of multiple Kubernetes distributions.
  • +
  • kubergui: Kubernetes Deployment Builder🌟 quickly builds out a basic Kubernetes Deployment and Kubernetes Service YAML. Kubernetes GUI YAML generators for simple but typo-prone tasks.
  • +
  • fubectl is a tool that reduces repetitive interactions with kubectl
  • +
  • Authelia 🌟 is a Single Sign-On and Multi-Factor portal for web apps that can be installed in Kubernetes and can integrate with your ingress controller
  • +
  • k8sdeploy is a go based tool, written with the goal of creating a cli that utilizes helm and kubernetes client libraries to deploy to multiple namespaces at once.
  • +
  • node-policy-webhook is a Kubernetes webhook designed to help you handle tolerations, nodeSelector and nodeAffinity.
  • +
  • ipvs-node-controller is the kubernetes controller that solves External-IP (Load Balancer IP) issue with IPVS proxy mode.
  • +
  • kubeonoff A simple web UI for managing Kubernetes deployments. Kubeonoff is a small web UI that allows to quickly stop/start/restart pods. Basically it’s for non-developers to manage k8s objects per namespace.
  • +
  • Maistra 🌟 is an opinionated distribution of Istio designed to work with Openshift. It combines Kiali, Jaeger, and Prometheus into a platform managed according to the OperatorHub lifecycle.
  • +
  • custom-pod-autoscaler A Custom Pod Autoscaler is a Kubernetes autoscaler that is customised and user created. The Custom Pod Autoscaler framework allows easier and faster development of Kubernetes autoscalers.
  • +
  • Kubevol 🌟 allows you to audit all your Kubernetes pods for an attached volume or see all the volumes attached to each pod by a specific type (eg: ConfigMap, Secret).
  • +
  • kubectl-fuzzy 🌟 uses fzf(1)-like fuzzy-finder to do partial or fuzzy search of Kubernetes resources. Instead of specifying full resource names to kubectl commands, you can choose them from an interactive list that you can filter by typing a few characters.
  • +
  • Setec 🌟 Setec (pronounced see-tek) is a utility tool that encrypts and decrypts secrets that are managed by Bitnami’s Sealed Secrets.
  • +
  • Kompose (Kubernetes + Compose) 🌟 kompose is a tool to help users who are familiar with docker-compose move to Kubernetes. kompose takes a Docker Compose file and translates it into Kubernetes resources. kompose is a convenience tool to go from local Docker development to managing your application with Kubernetes. Transformation of the Docker Compose format to Kubernetes resources manifest may not be exact, but it helps tremendously when first deploying an application on Kubernetes. +
  • +
  • kalm.dev 🌟 Easily deploy and manage applications on Kubernetes. Get what you want out of Kubernetes without having to write and maintain a ton of custom tooling. Deploy apps, handle requests, and hook up CI/CD, all through an intuitive web interface.
  • +
  • Kev Develop Kubernetes apps iteratively with Docker-Compose. Kev helps developers port and iterate Docker Compose apps onto Kubernetes. It understands the Docker Compose application topology and prepares it for deployment in (multiple) target environments, with minimal user input. We leverage the Docker Compose specification and allow for target-specific configurations to be applied to each component of the application stack, simply.
  • +
  • Synator Kubernetes Secret and ConfigMap synchronizer 🌟 Synator synchronize your Secrets and ConfigMaps with your desired namespaces
  • +
  • kubes 🌟 is a Kubernetes Deployment Tool. It builds the docker image, creates the Kubernetes YAML, and runs kubectl apply.
  • +
  • Kubernetes DaemonSet that enables a direct shell on each Node using SSH to localhost Learn how you can use a DaemonSet to expose an SSH shell on each node of your cluster (even if you don’t have SSH installed). I run several K8S cluster on EKS and by default do not setup inbound SSH to the nodes. Sometimes I need to get into each node to check things or run a one-off tool. Rather than update my terraform, rebuild the launch templates and redeploy brand new nodes, I decided to use kubernetes to access each node directly.
  • +
  • NS Killer A Kubernetes project to kill all namespace living over X times. Quite useful when auto-generated development environments on the fly and give them a lifecycle out-of-the-box from Kubernetes or even Helm. You might find it useful if auto-generate development environments on the fly and want to remove old ones on a schedule.
  • +
  • kubeswitch: Kubernetes Version Switcher 🌟 Easily switch kubectl binary versions.
  • +
  • Kubeswitch (for operators) 🌟 The kubectx for operators. kubeswitch (lazy: switch) takes Kubeconfig context switching to the next level, catering to operators of large scale Kubernetes installations. Designed as a drop-in replacement for kubectx.
  • +
  • kubectl build (formerly known as kubectl-kaniko) Kubectl build mimics the kaniko executor, but performs building on your Kubernetes cluster side. This allows you to simply build your local dockerfiles remotely without leaving your cozy environment.
  • +
  • Kubei 🌟 is a vulnerabilities scanning tool that allows users to get an accurate and immediate risk assessment of their kubernetes clusters. Kubei scans all images used in a Kubernetes cluster including images of application pods and system pods
  • +
  • Shell-operator is a tool for running event-driven scripts in a Kubernetes cluster. Shell-operator provides an integration layer between Kubernetes cluster events and shell scripts.
  • +
  • ecrcp aims to mimic cp command in Linux systems as closely as possible in its implementation. Consider ecrcp to be the cp equivalent to copy container images from docker hub to ECR.
  • +
  • Checkov 🌟 is a static code analysis tool for infrastructure-as-code. It scans cloud infrastructure provisioned using Terraform, Cloudformation, Kubernetes, Serverless or ARM Templates and detects security and compliance misconfigurations.
  • +
  • Cluster Cloner 🌟 Reads the Kubernetes clusters in one location (optionally filtering by labels) and clones them into another (or just outputs JSON as a dry run), to/from AWS, GCP, and Azure.
  • +
  • kubectl-eksporter 🌟 A simple Ruby-script to export k8s resources, and removes a pre-defined set of fields for later import.
  • +
  • kubectl-neat 🌟 Remove clutter from Kubernetes manifests to make them more readable.
  • +
  • medium: 4 Simple Kubernetes Terminal Customizations to Boost Your Productivity
  • +
  • Move2Kube 🌟 Move2Kube is a command-line tool that accelerates the process of re-platforming to Kubernetes/Openshift. It does so by analysing the environment and source artifacts, and asking guidance from the user when required. This tool that can help users migrate from Cloud Foundry and Docker Swarm to Kubernetes. https://move2kube.konveyor.io
  • +
  • skopeo 🌟 Use skopeo to copy images between registries
  • +
  • junit5-kubernetes aims at using a kubernetes pod directly form your junit5 test classes.
  • +
  • mbuffett.com: Replacing ngrok with ktunnel
  • +
  • seaworthy: A CLI to verify #Kubernetes resource health !! 🌟 Post-apply check to verify your K8s resources are Seaworthy
  • +
  • kVDI A Kubernetes-native Virtual Desktop Infrastructure.
  • +
  • kcg 🌟 is a command line tool that lets you create kubeconfig files. The user can interactively choose a namespace and service account and generate a config file with token authentication that has same RBAC permissions assigned to chosen service account.
  • +
  • Compass 🌟 Quickly Pinpoint Errors in your Kubernetes Deployment.
  • +
  • Gitkube 🌟 is a tool for building and deploying Docker images on Kubernetes using git push. After a simple initial setup, users can simply keep git push-ing their repos to build and deploy to Kubernetes automatically.
  • +
  • vesion-checker is a Kubernetes utility for observing the current versions of images running in the cluster, as well as the latest available upstream. These checks get exposed as Prometheus metrics to be viewed on a dashboard, or soft alert cluster operators.
  • +
  • Descheduler for Kubernetes 🌟 -> wecloudpro.com: Balance your Kubernetes cluster
  • +
  • kubediff 🌟 is a tool for Kubernetes to show you the differences between your running configuration and your version controlled configuration.
  • +
  • awslabs/karpenter Karpenter is a metrics-driven autoscaler built for Kubernetes and can run in any Kubernetes cluster anywhere. It’s performant, extensible, and can autoscale anything that implements the Kubernetes scale subresource.
  • +
  • ekglue - Envoy/Kubernetes glue ekglue is a projects that facilitates connecting Kubernetes and Envoy, allowing Envoy to read Kubernetes services and endpoints as clusters (via CDS) and endpoints (via EDS).
  • +
  • salesforce/Craft CRAFT helps you to create Kubernetes Operators in a robust and generic way for any resource, letting developers focus on CRUD operations of resource management in a Dockerfile.
  • +
  • hyscale 🌟 HyScale takes a declarative definition of your service config and it generates Dockerfile, Container Image, Kubernetes Manifests (YAMLs) and deploys to any Kubernetes Cluster.
  • +
  • kubectl-reap is a kubectl plugin that deletes unused Kubernetes resources 🌟
  • +
  • KubeLinter 🌟 is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices.
  • +
  • KRD: Kubernetes Reference Deployment krd offers a reference for deploying a Kubernetes cluster. Its ansible playbooks allow to provision a deployment on Bare-metal or Virtual Machines
  • +
  • kubeshell is a command line tool to interactively shell in to (and out of) kubernetes pods.
  • +
  • k8s-harness 🌟 lets you create a disposable Kubernetes cluster with vagrant and Ansible to test your app in a prod-like environment.
  • +
  • Secret backup operator is an operator designed to backup secrets on a Kubernetes cluster. Backup happens when secrets are modified.
  • +
  • DevNation: 10 awesome kubernetes tools every user should know +
  • +
  • kube-fledged is a kubernetes add-on for creating and managing a cache of container images directly on the worker nodes of a kubernetes cluster. It allows a user to define a list of images and onto which worker nodes those images should be cached (i.e. pre-pulled). As a result, application pods start almost instantly, since the images need not be pulled from the registry.
  • +
  • Tagger keeps references to externally hosted Docker images internally in a Kubernetes cluster by mapping their tags (such as latest) into their references by hash
  • +
  • helm-ecr 🌟 is a Helm plugin that supports installing Charts from AWS ECR.
  • +
  • PipeCD is a continuous delivery system for declarative Kubernetes, Serverless, and Infrastructure applications.
  • +
  • kubecolor 🌟 colorises your kubectl output +
  • +
  • kubectl-sudo This plugin allows users to run kubernetes commands with the security privileges of another user.
  • +
  • kfilt is a tool that lets you filter specific resources from a stream of Kubernetes YAML manifests. It can read manifests from a file, URL, or from stdin.
  • +
  • k8s-mirror: Creates a local mirror of a kubernetes cluster in a docker container to support offline reviewing 🌟
  • +
  • kube-secret-syncer 🌟 is a Kubernetes operator developed using the Kubebuilder framework that keeps the values of Kubernetes Secrets synchronised to secrets in AWS Secrets Manager. +
  • +
  • kapp 🌟 is a CLI that calculates changes between your configuration and live cluster state and applies changes you approve. +
  • +
  • garden.io Break down the barriers between development, testing, and CI. Use the same workflows and production-like Kubernetes environments at every step of the process +
  • +
  • pvc-autoresizer resizes PersistentVolumeClaims (PVCs) when the free amount of storage is below the threshold. It queries the volume usage metrics from Prometheus that collects metrics from kubelet. +
  • +
  • sKan is a tailor made Kubernetes configuration files and resources scanner that enables developers and devops team members to check whether their work is compliant with security & ops best practices
  • +
  • Kubernetes Node Auto Labeller
  • +
  • Kube_query Use kubectl but on all of the available k8s clusters available in the kubeconfig file. Currently will query only AWS EKS clusters.
  • +
  • kubernetes-event-exporter 🌟 This tool allows exporting the often missed Kubernetes events to various outputs so that they can be used for observability or alerting purposes. You won’t believe what you are missing.
  • +
  • Kubeconform 🌟 is a Kubernetes manifests validation tool. Build it into your CI to validate your Kubernetes configuration using the schemas from kubernetes-json-schema. Similar to Kubeval, but with the following improvements:
      +
    • High performance
    • +
    • Remote or local schemas locations
    • +
    • Up-to-date schemas for all recent versions of Kubernetes
    • +
    +
  • +
  • Kubernetes Janitor cleans up (deletes) Kubernetes resources on a configured TTL (time to live) or a configured expiry date (absolute timestamp).
  • +
  • kube-batch is a batch scheduler for Kubernetes, providing mechanisms for applications which would like to run batch jobs leveraging Kubernetes. A batch scheduler of kubernetes for high performance workload, e.g. AI/ML, BigData, HPC
  • +
  • slipway: A Kubernetes controller to automate gitops provisioning
  • +
  • github.com: dnsconfig-injector - Mutating Admission Webhook for dnsconfig pod injection
  • +
  • kubectl-view-webhook 🌟 Visualize your webhook configurations in Kubernetes.
  • +
  • ContainerSSH: Launch containers on demand 🌟🌟 ContainerSSH launches a new container for each SSH connection in Kubernetes, Podman or Docker. The user is transparently dropped in the container and the container is removed when the user disconnects. Authentication and container configuration are dynamic using webhooks, no system users required.
  • +
  • reconshell.com: Kubei – Kubernetes Runtime Vulnerabilities Scanner 🌟
  • +
  • openshift: Introducing kube-burner, A tool to Burn Down Kubernetes and OpenShift 🌟 Kube-burner is a tool designed to stress different OpenShift components basically by coordinating the creation and deletion of k8s resources. Along this blog series we’ll talk about how to use it in OpenShift 4.
  • +
  • kube-ebpf-exporter 🌟 Prometheus exporter for custom eBPF metrics.
  • +
  • qontract qontract (Queryable cONTRACT) is a collection of tools used to SREs to expose available managed services to application developer teams.
  • +
  • sheaf Manages bundles of Kubernetes components. sheaf is a tool that can create a bundle of Kubernetes components. It can generate an archive from the bundle that can be distributed for use in Kubernetes clusters. The initial idea was inspired by CNAB. It answers the question: how can I distribute Kubernetes manifests with their associated images?
  • +
  • cnab.io: CNABs facilitate the bundling, installing and managing of container-native apps — and their coupled services
  • +
  • tremolosecurity.com: Secure Access to Kubernetes From Your Pipeline
  • +
  • openpitrix 🌟 Application Management Platform on Multi-Cloud Environment. OpenPitrix is a web-based open-source system to package, deploy and manage different types of applications including Kubernetes application, microservice application and serverless applications into multiple cloud environment such as AWS, Azure, Kubernetes, QingCloud, OpenStack, VMWare etc.
  • +
  • kube-burner 🌟 Kube-burner is a tool aimed at stressing kubernetes clusters.
  • +
  • gimletd - the GitOps release manager GimletD acts as a release manager and detaches the release workflow from CI. By doing so, it unlocks the possibility of advanced release logics and flexibility to refactor workflows.
  • +
  • github.com/cloudflare/lockbox Offline encryption of Kubernetes Secrets. Lockbox is a secure way to store Kubernetes Secrets offline. Secrets are asymmetrically encrypted, and can only be decrypted by the Lockbox Kubernetes controller. A companion CLI tool, locket, makes encrypting secrets a one-step process.
  • +
  • Suspicious pods 🌟 Prints a list of k8s pods that might not be working correctly
  • +
  • Armada A multi-cluster batch queuing system for high-throughput workloads on Kubernetes. Armada is an application to achieve high throughput of run-to-completion jobs on multiple Kubernetes clusters. It stores queues for users/projects with pod specifications and creates these pods once there is available resource in one of the connected Kubernetes clusters.
  • +
  • Ko: Easy Go Containers 🌟 Build and deploy Go applications on Kubernetes
  • +
  • kubestr 🌟 Explore your Kubernetes storage options. Kubestr is a collection of tools to discover, validate and evaluate your kubernetes storage options.
  • +
  • KubeEye: An Automatic Diagnostic Tool that Provides a Holistic View of Your Kubernetes Cluster 🌟
  • +
  • k8gb 🌟 A cloud native Kubernetes Global Balancer k8gb.io
  • +
  • k8s-image-swapper 🌟 Mirror images into your own registry and swap image references automatically. estahn.github.io/k8s-image-swapper
  • +
  • RBACSync 🌟 Automatically sync groups into Kubernetes RBAC. RBACSync provides a Kubernetes controller to synchronize RoleBindings and ClusterRoleBindings, used in Kubernetes RBAC, from group membership sources using consolidated configuration objects.
  • +
  • Saffire a controller to override image sources in the event that an image cannot be pulled. The intent of saffire is to provide operators with a method of automatically switching image repositories when imagePullErrors occur.
  • +
  • Cluster API Provider for Managed Bare Metal Hardware This repository contains a Machine actuator implementation for the Kubernetes Cluster API for managing bare metal hardware - metal3.io: Bare metal host provisioning for kubernetes
  • +
  • enterprisersproject.com: Kubernetes: 6 open source tools to put your cluster to the test The Kubernetes ecosystem includes an ever-growing number of tools and services you can plug in: Let’s look at six useful tools for putting your Kubernetes cluster and applications to the test.
  • +
  • kubectl-node-restart 🌟 Krew plugin to restart Kubernetes Nodes sequentially and gracefully
  • +
  • k8s-platform-lcm: Kubernetes platform lifecycle management 🌟 A faster and easier way to manage the lifecycle of applications and tools, running and living around your Kubernetes platform. Kubernetes platform lifecycle management helps you keep track of all your software and tools that are used or running in and around your Kubernetes platform.
  • +
  • Nebula A scalable overlay networking tool with a focus on performance, simplicity and security. It lets you seamlessly connect computers anywhere in the world.
  • +
  • kube-bench Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark
  • +
  • kube-bench-exporter Helps you to export your kube-bench reports to multiple targets like Amazon S3 buckets with ease.
  • +
  • Karmada Karmada (Kubernetes Armada) is a Kubernetes management system that enables you to run your cloud-native applications across multiple Kubernetes clusters and clouds, with no changes to your applications. By speaking Kubernetes-native APIs and providing advanced scheduling capabilities, Karmada enables truly open, multi-cloud Kubernetes. - https://karmada.io/
  • +
  • kube-secrets-init Kubernetes mutating webhook for secrets-init injection
  • +
  • liqo: Enable dynamic and seamless Kubernetes multi-cluster topologies Building your endless Kubernetes ocean. Enable dynamic and seamless Kubernetes multi-cluster topologies. Liqo is a platform to enable dynamic and decentralized resource sharing across Kubernetes clusters, either on-prem or managed. Liqo allows to run pods on a remote cluster seamlessly and without any modification of Kubernetes and the applications. With Liqo it is possible to extend the control plane of a Kubernetes cluster across the cluster’s boundaries, making multi-cluster native and transparent: collapse an entire remote cluster to a virtual local node, by allowing workloads offloading and resource management compliant with the standard Kubernetes approach.
  • +
  • redhat-certification: chart-verifier: Rules based tool to certify Helm charts 🌟
  • +
  • helm-changelog: Create changelogs for Helm Charts, based on git history
  • +
  • ingressbuilder.jetstack.io 🌟🌟 Ingress Builder allows users to select any annotation from the list of available controllers, to add to the ingress manifest.
  • +
  • Jetstack Secure Agent 🌟🌟 Automatically perform Kubernetes cluster configuration checks using Open Policy Agent (OPA)
  • +
  • Replicated Troubleshoot 🌟 Troubleshoot is a framework for collecting, redacting, and analyzing highly customizable diagnostic information about a Kubernetes cluster.
  • +
  • outdated.sh 🌟 A kubectl plugin to show out-of-date images running in a cluster.
  • +
  • kubestriker 🌟 A Blazing fast Security Auditing tool for Kubernetes. Kubestriker is a platform-agnostic tool designed to tackle Kuberenetes cluster security issues due to misconfigurations and will help strengthen the overall IT infrastructure of any organisation.
  • +
  • KubeEye 🌟 KubeEye aims to find various problems on Kubernetes, such as application misconfiguration, unhealthy cluster components and node problems.
  • +
  • Analyze Kubernetes Audit logs using Falco 🌟 Detect intrusions that happened in your Kubernetes cluster through audit logs using Falco
  • +
  • KubeHelper KubeHelper - simplifies many daily Kubernetes cluster tasks through a web interface. Search, analysis, run commands, cron jobs, reports, filters, git synchronization and many more.
  • +
  • kubewebhook Go framework to create Kubernetes mutating and validating webhooks
  • +
  • kaDalu A lightweight Persistent storage solution for Kubernetes / OpenShift using GlusterFS in background. Kadalu is a project which started as an idea to make glusterfs’s deployment and management simpler in kubernetes
  • +
  • forklift.konveyor.io 🌟 A tool that accelerates the process of re-hosting / re-platforming virtual machines to Kubernetes and KubeVirt. It does so by mapping resources (network and storage), creating equivalent resources int he target, and converting disk images.
      +
    • opensource.com: Migrate virtual machines to Kubernetes with this new tool - forklift 🌟 Transition your virtualized workloads to Kubernetes with Forklift.
    • +
    • konveyor 🌟 is an open source project that helps transition existing workloads (development, test, and production) to Kubernetes. Its tools include Crane, to move containers from one Kubernetes platform to another; Move2Kube, to bring workloads from Cloud Foundry to Kubernetes; and Tackle, to analyze Java applications to modernize them by making them more standard and portable for the runtimes available in containerized platforms like Kubernetes.
    • +
    +
  • +
  • go-containerregistry 🌟 Go library and CLIs for working with container registries
  • +
  • kubebox Terminal and Web console for Kubernetes
  • +
  • skooner - Kubernetes Dashboard Simple Kubernetes realtime dashboard and management
  • +
  • Polaris: Best Practices for Kubernetes Workload Configuration 🌟 Validation of best practices in your Kubernetes clusters - fairwinds.com: What is Fairwinds’ Polaris? Kubernetes Open Source Configuration Validation
  • +
  • Krane 🌟 is a Kubernetes RBAC static analysis tool. It identifies potential security risks in K8s RBAC design and makes suggestions on how to mitigate them. Krane dashboard presents current RBAC security posture and lets you navigate through its definition.
  • +
  • KTail: Kubernetes log viewer 🌟 KTail allows you to tail multiple pods in one view. It automatically detects updates and attaches to new pods. Configurable highlighters show how often regular expressions matched and let you quickly navigate in the results.
  • +
  • Manifesto 🌟 allows you to create an application structure to facilitate easy deployment to kubernetes. Jsonnet is used to create the underlying application structure, manifesto manipulates this structure to produce manifests.
  • +
  • SigNoz: Open source Application Performance Monitoring (APM) & Observability tool 🌟 SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc.
  • +
  • port-map-operator LoadBalancer Service type implementation for home clusters via Port Control Protocol.
  • +
  • Raspbernetes - Kubernetes Cluster: k8s-gitops Kubernetes cluster managed by GitOps - Git as a single source of truth, automated pipelines, declarative everything, next-generation DevOps. This repo is a declarative implementation of a Kubernetes cluster. It’s using the GitOps Toolkit known as Fluxv2. The goal is to demonstrates how to implement enterprise-grade security, observability, and overall cluster config management using GitOps in a Kubernetes cluster.
  • +
  • Kpexec kpexec is a kubernetes cli that runs commands in a container with high privileges.
  • +
  • OpenShiftKubeAudit An auditing program to detect incompatibilities in Kubernetes manifests brought over to OpenShift. This auditing tool currently only supports Kubernetes manifests, but we plan to expand it to include Helm charts and Go code, as well. The tool is in very early stages, but is looking for community input to help add use cases.
  • +
  • Kubernetes Kpt in The Wild: What it is and how to use it 🌟 Kubernetes Kpt is tooling by Google that facilitates a structured approach to defining, managing, and distributing kubernetes templates between teams and orgs.
  • +
  • RollingUpgrade Reliable, extensible rolling-upgrades of Autoscaling groups in Kubernetes
  • +
  • Kerbi 🌟 Kerbi (Kubernetes Emdedded Ruby Interpolator) is yet another templating engine for generating Kubernetes resource manifests. It enables multi-strategy, multi-source templating, giving you the freedom to design highly specialized templating pipelines.
  • +
  • Kourier Purpose-built Knative Ingress implementation using just Envoy with no additional CRDs. Kourier is an Ingress for Knative Serving. Kourier is a lightweight alternative for the Istio ingress as its deployment consists only of an Envoy proxy and a control plane for it.
  • +
  • space-cloud: Develop, Deploy and Secure Serverless Apps on Kubernetes. Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes - space-cloud.io Space Cloud is a Kubernetes based serverless platform that provides instant, realtime APIs on any database, with event triggers and unified APIs for your custom business logic.
  • +
  • community.suse.com: Comparing Modern-Day Container Image Builders: Jib, Buildpacks and Docker 🌟
  • +
  • Teleport 🌟 Certificate authority and access plane for SSH, Kubernetes, web applications, and databases
  • +
  • weaveworks: kured - Kubernetes Reboot Daemon 🌟 - weave.works: One year kured - your Kubernetes Reboot Daemon Kured (KUbernetes REboot Daemon) is a Kubernetes daemonset that performs safe automatic node reboots when the need to do so is indicated by the package management system of the underlying OS. Many rely on Kured, which helps perform safe automatic node reboots when indicated by the package management of the underlying OS, to help make OS security better.
  • +
  • k8s-cluster-simulator Kubernetes cluster simulator for evaluating schedulers.
  • +
  • kubelogin 🌟 kubectl plugin for Kubernetes OpenID Connect authentication (kubectl oidc-login)
  • +
  • kube-oidc-proxy Reverse proxy to authenticate to managed Kubernetes API servers via OIDC.
      +
    • tremolosecurity.com: Updating kube-oidc-proxy Kubernetes offers multiple ways to authenticate users to the API server. The best way to go, when available, is to use OpenID Connect (OIDC). We’ve talked about why you shouldn’t use certificates for kubernetes authentication, but most cloud providers won’t let you configure the API server flags needed to integrate managed clusters into an OIDC identity provider.
    • +
    +
  • +
  • KubeSurvival 🌟 Significantly reduce Kubernetes costs by finding the cheapest machine types that can run your workloads
  • +
  • K8s Vault Webhook 🌟 - github: k8s-vault-webhook A k8s vault webhook is a Kubernetes webhook that can inject secrets into Kubernetes resources by connecting to multiple secret managers
  • +
  • cf-for-k8s The open source deployment manifest for Cloud Foundry on Kubernetes. cf-for-k8s blends the popular CF developer API with Kubernetes, Istio, and other open source technologies. The project aims to improve developer productivity for organizations using Kubernetes
  • +
  • tekline 🌟 tekline is a tekton delegated-pipeline to enable a bring-your-own pipeline configuration.
  • +
  • nerdctl 🌟 Docker-compatible CLI for containerd
  • +
  • El Carro: The Oracle Operator for Kubernetes 🌟 El Carro is a new project that offers a way to run Oracle databases in Kubernetes as a portable, open source, community driven, no vendor lock-in container orchestration system. El Carro provides a powerful declarative API for comprehensive and consistent configuration and deployment as well as for real-time operations and monitoring.
  • +
  • jspolicy jsPolicy is an operator that helps you define Kubernetes Policies using JavaScript or TypeScript. Easier & Faster Kubernetes Policies using JavaScript or TypeScript. +
  • +
  • k8scr 🌟 A kubectl plugin for pushing OCI images through the Kubernetes API server.
  • +
  • jsonnet-controller A fluxcd controller for managing manifests declared in jsonnet.
  • +
  • rback: RBAC in Kubernetes visualizer 🌟🌟 A simple “RBAC in Kubernetes” visualizer. No matter how complex the setup, rback queries all RBAC related information of an Kubernetes cluster in constant time and generates a graph representation of service accounts, (cluster) roles, and the respective access rules in dot format.
  • +
  • github: Kubernetes JSON Schemas 🌟 Schemas for every version of every object in every version of Kubernetes
  • +
  • Metacontroller Metacontroller is an add-on for Kubernetes that makes it easy to write and deploy custom controllers in the form of simple scripts.
  • +
  • KubeCarrier - Service Management at Scale KubeCarrier is an open source system for managing applications and services across multiple Kubernetes Clusters; providing a framework to centralize the management of services and provide these services with external users in a self service hub.
  • +
  • github.com: NFS Ganesha server and external provisioner NFS Ganesha Server and Volume Provisioner. nfs-ganesha-server-and-external-provisioner is an out-of-tree dynamic provisioner for Kubernetes 1.14+. You can use it to quickly & easily deploy shared storage that works almost anywhere.
  • +
  • Armada kubectl plugin 🌟 Command line tools to manage kustomize packaged apps deployment. Armada is a Kubectl plugin that adds templating capacity and manage deployment to Kustomize apps. Templating uses go template to allow you to generate kustomize apps with templates inside. Armada allows you to git clone a packaged kustomize base and call it with the help of a config file.
  • +
  • Minnaker Minnaker is a simple way to install Spinnaker inside a VM. Spinnaker on Lightweight Kubernetes (K3s)
  • +
  • kVDI A Kubernetes-native Virtual Desktop Infrastructure
  • +
  • Kubesurveyor 🌟 Good enough Kubernetes namespace visualization tool. No provisioning to a cluster required, only Kubernetes API is scrapped.
  • +
  • NVIDIA k8s-device-plugin NVIDIA device plugin for Kubernetes. The NVIDIA device plugin for Kubernetes is a Daemonset that allows you to automatically: Expose GPUs on each nodes of your cluster, Keep track of the health of your GPUs, Run GPU enabled containers.
  • +
  • kubectl-tmux-exec A kubectl plugin to control multiple pods simultaneously using Tmux
  • +
  • grype: a vulnerability scanner for container images and filesystems
  • +
  • KubeView 🌟 Kubernetes cluster visualiser and graphical explorer. KubeView displays what is happening inside a Kubernetes cluster (or single namespace), it maps out the API objects and how they are interconnected. Data is fetched real-time from the Kubernetes API. The status of some objects (Pods, ReplicaSets, Deployments) is colour coded red/green to represent their status and health
  • +
  • karma 🌟 Alert dashboard for Prometheus Alertmanager
  • +
  • Rancher Desktop 🌟 Kubernetes and container management to the desktop. Rancher Desktop is an open-source project to bring Kubernetes and container management to the desktop. Windows and macOS versions of Rancher Desktop are available for download.
  • +
  • realvz/awesome-eks: A curated list of awesome tools for Amazon EKS 🌟
  • +
  • salesforce/Sloop - Kubernetes History Visualization 🌟 Sloop monitors Kubernetes, recording histories of events and resource state changes and providing visualizations to aid in debugging past events.
  • +
  • Kspan - Turning Kubernetes Events into spans 🌟 Most Kubernetes components produce Events when something interesting happens. This program turns those Events into OpenTelemetry Spans, joining them up by causality and grouping them together into Traces.
  • +
  • csi-rclone: CSI rclone mount plugin CSI driver for rclone. This project implements Container Storage Interface (CSI) plugin that allows using rclone mount as storage backend. Rclone mount points and parameters can be configured using Secret or PersistentVolume volumeAttibutes.
  • +
  • stackrox.io: Top 9 Open Source DevSecOps Tools for Kubernetes in 2021 🌟 Anchore, Checkov, Clair, Falco, Kube-bench, Kube-hunter, KubeLinter, Open Policy Agent (OPA), Terrascan
  • +
  • Kdo: deployless development on Kubernetes 🌟 Kdo is a command line tool that enables developers to run, develop and test code changes in a realistic deployed setting without having to deal with the complexity of Kubernetes deployment and configuration.
  • +
  • chekr A inspection utility for the maintenance of Kubernetes clusters. +
  • +
  • KUR8 🌟 A visual overview of Kubernetes architecture and Prometheus metrics. KUR8 is an open-source Kubernetes analytics, monitoring, and visualizer web application that allows for querying, alerts, and creating custom charts and graphs that leverage Prothemeus and its time logged series database metrics.
  • +
  • mperezco/forklift-configmap-service Systemd service to run in VMs on KubeVirt to mount ConfigMaps
  • +
  • cdk8s Define Kubernetes native apps and abstractions using object-oriented programming
  • +
  • Havener Think of it as a swiss army knife for Kubernetes tasks.
  • +
  • KFServing 🌟 Serverless Inferencing on Kubernetes. KFServing provides a Kubernetes Custom Resource Definition for serving machine learning (ML) models on arbitrary frameworks. It aims to solve production model serving use cases by providing performant, high abstraction interfaces for common ML frameworks like Tensorflow, XGBoost, ScikitLearn, PyTorch, and ONNX.
  • +
  • rkubelog 🌟 Send k8s Logs to Papertrail and Loggly Without DaemonSets (for Nodeless Clusters) - dzone: ContainerD Kubernetes Syslog Forwarding Move from Logspout to Filebeat to support containerd logging architecture.
  • +
  • kubernetes-sigs: Trimaran: Load-aware scheduling plugins 🌟 Trimaran is a collection of load-aware scheduler plugins - thenewstack.io: IBM, Red Hat Bring Load-Aware Resource Management to Kubernetes
  • +
  • AWS Controllers for Kubernetes (ACK) 🌟 AWS Controllers for Kubernetes (ACK) is a project enabling you to manage AWS services from Kubernetes
  • +
  • connaisseur An admission controller that integrates Container Image Signature Verification into a Kubernetes cluster
  • +
  • VolSync 🌟 Asynchronous data replication for Kubernetes volumes. VolSync asynchronously replicates Kubernetes persistent volumes between clusters using either rsync or rclone. It also supports creating backups of persistent volumes via restic. VolSync, a new storage-agnostic utility for exporting and importing objects from one Kubernetes namespace to another, even across clusters!
  • +
  • ketall Kubectl plugin to show really all kubernetes resources. Like kubectl get all, but get really all resources
  • +
  • kube-scheduler-simulator Web-based Kubernetes scheduler simulator
  • +
  • multus-cni 🌟 A CNI meta-plugin for multi-homed pods in Kubernetes. Multus CNI is a container network interface (CNI) plugin for Kubernetes that enables attaching multiple network interfaces to pods. Typically, in Kubernetes each pod only has one network interface (apart from a loopback) – with Multus you can create a multi-homed pod that has multiple interfaces. This is accomplished by Multus acting as a “meta-plugin”, a CNI plugin that can call multiple other CNI plugins.
  • +
  • kim - The Kubernetes Image Manager
  • +
  • KUDO: The Kubernetes Universal Declarative Operator 🌟 KUDO is a toolkit that makes it easy to build Kubernetes Operators, in most cases just using YAML.
  • +
  • K8sPurger 🌟 K8SPurger is a controller that finds all unused resources and show them in a nice format
  • +
  • jenkins-x/gsm-controller gsm-controller is a Kubernetes controller that copies secrets from Google Secrets Manager into Kubernetes secrets. The controller watches Kubernetes secrets looking for an annotation, if the annotation is not found on the secret nothing more is done.
  • +
  • sciuro Alertmanager to Kubernetes Node conditions bridge. Sciuro is a bridge between Alertmanager and Kubernetes to sync alerts as Node Conditions. It is designed to work in tandem with other controllers that observe Node Conditions such as draino or the cluster-api.
  • +
  • rottencandy/vimkubectl Manage Kubernetes resources from Vim
  • +
  • carlosedp/cluster-monitoring: Cluster Monitoring stack for ARM / X86-64 platforms Cluster monitoring stack for clusters based on Prometheus Operator
  • +
  • abhirockzz/kubexpose-operator Access your Kubernetes Deployment over the Internet - itnext.io: Kubexpose: A Kubernetes Operator, for fun and profit! Access your Kubernetes Deployment over the Internet
  • +
  • kubernetes-reflector Custom Kubernetes controller that can be used to replicate secrets, configmaps and certificates.
  • +
  • Another Autoscaler Another Autoscaler is a Kubernetes controller that automatically starts, stops, or restarts pods from a deployment at a specified time using a cron syntax.
  • +
  • cloud-ark/kubeplus 🌟 Kubernetes Operator to deliver Helm charts as-a-service
  • +
  • cloud-ark/caastle Full-stack microservices deployment for Google Kubernetes Engine and Amazon Elastic Container Service
  • +
  • eezhee/eezhee The easiest way to build a k3s cluster on various public clouds. A super fast and easy way to create a k3s based kubernetes cluster on a variety of public clouds. Currently DigitalOcean, Linode and Vultr are supported. All it takes is a single command and about 2 minutes and your cluster is ready to use. Most of the time is taken by the cloud provider bring up the base VM. Eezhee is ideal for development, testing or learning about Kubernetes.
  • +
  • ContainerSolutions/ImageWolf: ImageWolf - Fast Distribution of Docker Images on Clusters Fast Distribution of Docker Images on Clusters. ImageWolf is a PoC that provides a blazingly fast way to get Docker images loaded onto your cluster, allowing updates to be pushed out quicker.
  • +
  • dcherman/image-cache-daemon Image Cache Daemon is a service to pre-pull / cache images on Kubernetes before they’re needed
  • +
  • KnicKnic/temp-kubernetes-ci: Temp Kubernetes CI A github action to create a k3s kubernetes cluster in your CI VM for both linux & windows. Also has cmdline to copy and paste for other CI platforms.
  • +
  • mattmoor/warm-image: Kubernetes WarmImage CRD A Kubernetes CRD for prefetching container images onto nodes.
  • +
  • maorfr/kube-tasks: Kube tasks A tool to perform simple Kubernetes related actions. Simple Backups, Wait for Pods, Execute a command in a container.
  • +
  • tmobile/MagTape MagTape Policy-as-Code for Kubernetes. MagTape is a Policy-as-Code tool for Kubernetes that allows for evaluating Kubernetes resources against a set of defined policies. MagTape includes variable policy enforcement, notifications, and targeted metrics
  • +
  • vidispine/HULL - Helm Uniform Layer Library HULL (Helm Uniform Layer Library) is designed to ease building, maintaining and configuring Kubernetes objects in Helm charts.
  • +
  • hiddeco/Cronjobber Cronjobber is a cronjob controller for Kubernetes with support for time zones
  • +
  • karmab/autolabeller This repo contains a controller automatically labelling nodes based on either:
      +
    • predefined regex rules matching node name.
    • +
    • a set of matching labels (with their associated value) present on the node.
    • +
    +
  • +
  • kubernetes-sigs/nfs-subdir-external-provisioner: Kubernetes NFS Subdir External Provisioner Dynamic sub-dir volume provisioner on a remote NFS server. NFS subdir external provisioner is an automatic provisioner that use your existing NFS server to support dynamic provisioning of Kubernetes Persistent Volumes via Persistent Volume Claims
  • +
  • ori-edge/k8s_gateway A CoreDNS plugin to resolve all types of external Kubernetes resources. k8s_gateway is a CoreDNS plugin that resolves load balancer and external IPs from outside Kubernetes clusters and supports all types of Kubernetes external resources - Ingress, Service of type LoadBalancer.
  • +
  • viaduct-ai/kustomize-sops KSOPS - A Flexible Kustomize Plugin for SOPS Encrypted Resources
  • +
  • vadosware.io: Using Makefiles And Envsubst As An Alternative To Helm And Ksonnet (deprecated)
  • +
  • uw-labs.github.io: Kubernetes Semaphore: A modular and nonintrusive framework for cross cluster communication
  • +
  • zakkg3/ClusterSecret: Kubernetes ClusterSecret operator ClusterSecret operator makes sure all the matching namespaces have the secret available. New namespaces, if they match the pattern, will also have the secret. Any change on the ClusterSecret will update all related secrets. Deleting the ClusterSecret deletes “child” secrets (all cloned secrets) too.
  • +
  • tektoncd/chains Tekton Chains is a Kubernetes Custom Resource Definition (CRD) controller that allows you to manage your supply chain security in Tekton.
  • +
  • gopaddle-io/configurator Synchronize and Version Control ConfigMaps & Secrets across Deployment Rollouts.
  • +
  • biosimulations/deployment Kubernetes Configuration for BioSimulations platform.
  • +
  • chrislusf/seaweedfs SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, local tiering, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, Hadoop, WebDAV, encryption, Erasure Coding.
  • +
  • kubernetes-sigs/kui A hybrid command-line/UI development experience for cloud-native development
  • +
  • DaspawnW/vault-crd Vault CRD for sharing Vault Secrets with Kubernetes. Vault-CRD is a custom resource definition for holding secrets that are stored in HashiCorp Vault and kept up to date with Kubernetes secrets
  • +
  • stakater/Reloader 🌟 A Kubernetes controller to watch changes in ConfigMap and Secrets and do rolling upgrades on Pods with their associated Deployment, StatefulSet, DaemonSet and DeploymentConfig
  • +
  • dignajar/another-ldap Another LDAP is a form-based authentication for Active Directory / LDAP server. Provides Authentication and Authorization for your applications running in Kubernetes.
  • +
  • ddosify/ddosify High-performance load testing tool, written in Golang.
  • +
  • anchore/syft CLI tool and library for generating a Software Bill of Materials from container images and filesystems. Exceptional for vulnerability detection when used with a scanner tool like Grype.
  • +
  • aws/aws-node-termination-handler 🌟 Gracefully handle EC2 instance shutdown within Kubernetes
  • +
  • aelsabbahy/goss Quick and Easy server testing/validation
  • +
  • chr-fritz/csi-sshfs Kubernetes CSI Plugin for SSHFS. It allows to mount directories using a ssh connection.
  • +
  • ctrox/csi-s3 A Container Storage Interface for S3. This is a Container Storage Interface (CSI) for S3 (or S3 compatible) storage. This can dynamically allocate buckets and mount them via a fuse mount into any container.
  • +
  • codesenberg/bombardier 🌟 Fast cross-platform HTTP benchmarking tool written in Go
  • +
  • fstab/cifs CIFS Flexvolume Plugin for Kubernetes. Driver for CIFS (SMB, Samba, Windows Share) network filesystems as Kubernetes volumes.
  • +
  • kui.tools Kui: CLI-driven Graphics for Kubernetes. Tired of working with Kubernetes in cli mode only? Try kui - a hybrid tool that allows you to interact with any Kubernetes cluster easily with more advanced features available only in GUI.
  • +
  • bloomberg/goldpinger 🌟 Debugging tool for Kubernetes which tests and displays connectivity between nodes in the cluster. Goldpinger makes calls between its instances to monitor your networking. It runs as a DaemonSet on Kubernetes and produces Prometheus metrics that can be scraped, visualised and alerted on.
  • +
  • haxsaw/hikaru 🌟 Move smoothly between Kubernetes YAML and Python for creating/updating/componentizing configurations. Hikaru is a tool that provides you the ability to easily shift between YAML, Python objects/source, and JSON representations of your Kubernetes config files. It provides assistance in authoring these files in Python, opens up options in how you can assemble and customise the files, and provides some programmatic tools for inspecting large, complex files to enable automation of policy and security compliance. Additionally, Hikaru allows you to use its K8s model objects to interact with Kubernetes, directing it to create, modify, and delete resources.
  • +
  • kei6u/kubectl-secret-data A kubectl plugin for finding decoded secret data with productive search flags.
  • +
  • ofek/csi-gcs Kubernetes CSI driver for Google Cloud Storage. An easy-to-use, cross-platform, and highly optimized Kubernetes CSI driver for mounting Google Cloud Storage buckets.
  • +
  • target/pod-reaper Rule based pod killing kubernetes controller. Pod-Reaper was designed to kill pods that meet specific conditions. See the “Implemented Rules” section below for details on specific rules.
  • +
  • utilitywarehouse/kube-applier kube-applier enables automated deployment and declarative configuration for your Kubernetes cluster. kube-applier is Kubernetes deployment tool strongly following gitOps principals. It enables continuous deployment of Kubernetes objects by applying declarative configuration files from a Git repository to a Kubernetes cluster. +
  • +
  • Trendyol/kink KinK is a helper CLI that facilitates to manage KinD clusters as Kubernetes pods. Designed to ease clusters up for fast testing with batteries included in mind.
  • +
  • vbouchaud/k8s-ldap-auth Kubernetes webhook token authentication plugin implementation using ldap.
  • +
  • wangjia184/pod-inspector A tool to inspect pods in kubernetes. Unlike other dashboardes for Kubernetes(Lens / Rancher / etc), Kubernetes Pod Inspector allows to check the file system and processes within running Linux pods without using kubectl. This is useful when we want to check the files within volumes mounted by pods
  • +
  • witchery-project/witchery build distroless images with alpine tools
  • +
  • knight42/kubectl-blame: kubectl-blame: git-like blame for kubectl Show who edited resource fields. A useful opensource tool that comes as a plugin to show who modified attributes in kubernetes resource fields.
  • +
  • kubernetes-sigs/node-feature-discovery: Node feature discovery for Kubernetes Welcome to Node Feature Discovery – a Kubernetes add-on for detecting hardware features and system configuration!
  • +
  • arttor/helmify Creates Helm chart from Kubernetes yaml. Helmify reads a list of supported k8s objects from stdin and converts it to a helm chart. Designed to generate charts for k8s operators but not limited to. See examples of charts generated by helmify. +
  • +
  • 4ARMED/kubeletmein Security testing tool for Kubernetes, abusing kubelet credentials on public cloud providers. This is a simple penetration testing tool which takes advantage of public cloud provider approaches to providing kubelet credentials to nodes in a Kubernetes cluster in order to gain privileged access to the k8s API. This access can then potentially be used to further compromise the applications running in the cluster or, in many cases, access secrets that facilitate complete control of Kubernetes.
  • +
  • patrickdappollonio/kubectl-slice Split multiple Kubernetes files into smaller files with ease. Split multi-YAML files into individual files.
  • +
  • appvia/cosign-keyless-admission-webhook Kubernetes admission webhook that uses cosign verify to check the subject and issuer of the image matches what you expect
  • +
  • theketchio/ketch 🌟 Ketch is an application delivery framework that facilitates the deployment and management of applications on Kubernetes using a simple command line interface.
  • +
  • joyrex2001/kubedock Kubedock is a minimal implementation of the docker api that will orchestrate containers on a Kubernetes cluster, rather than running containers locally.
  • +
  • corneliusweig/konfig konfig helps to merge, split or import kubeconfig files
  • +
  • armosec/regolibrary ARMO rego library for detecting miss-configurations in Kubernetes manifests
  • +
  • groundnuty/k8s-wait-for 🌟 A simple script that allows to wait for a k8s service, job or pods to enter a desired state
  • +
  • nabsul/k8s-ecr-login-renew: Renew Kubernetes Docker secrets for AWS ECR Renews Docker login credentials for an AWS ECR container registry.
  • +
  • particledecay/kconf Manage multiple kubeconfigs easily
  • +
  • maruina/aws-auth-manager: K8s controller to manage the aws-auth configmap aws-auth-manager is a Kubernetes controller designed to manage the aws-auth ConfigMap in EKS using a new AWSAuthItem CRD
  • +
  • segmentio/kubectl-curl: Kubectl plugin to run curl commands against kubernetes pods
  • +
  • wallarm/sysbindings sysctl/sysfs settings on a fly for Kubernetes Cluster. No restarts are required for clusters and nodes.
  • +
  • atombender/ktail 🌟 ktail is a tool to easily tail Kubernetes logs. It’s like kubectl logs, but with a bunch of features to make it more convenient:
      +
    • Detects pods and containers as they come and go
    • +
    • Tails multiple pods and containers
    • +
    • All containers are tailed by default
    • +
    • Recovers from failure
    • +
    +
  • +
  • https://pinniped.dev 🌟 - vmware-tanzu/pinniped Pinniped is the easy, secure way to log in to your Kubernetes clusters.
  • +
  • keisku/kubectl-explore A better kubectl explain with the fuzzy finder. This plugin fuzzy-find the field explanation from supported API resources. It implements different explanations for particular API version. kubectl-explore is a kubectl plugin to fuzzy-find and explain the field supported API resources like “pod.spec”, “cronJob.spec.jobTemplate”, etc.
  • +
  • box/kube-exec-controller An admission controller service and kubectl plugin to handle container drift in K8s clusters. kube-exec-controller is an admission controller for handling container drift (caused by kubectl exec, attach, cp, or other interactive requests) inside a Kubernetes cluster. This project also includes a kubectl plugin for checking such Pods.
  • +
  • abahmed/kwatch 👀 monitor & detect crashes in your Kubernetes(K8s) cluster instantly. kwatch helps you monitor all changes in your Kubernetes cluster, detects crashes in your running apps in real-time, and publishes notifications to your channels (Slack, Discord, etc.) instantly.
  • +
  • cuber-cloud/cuber-gem: CUBER An automation tool that simplify the deployment of your apps on Kubernetes. +
  • +
  • kubeops/config-syncer: Config Syncer (previously Kubed) Kubernetes Config Syncer (previously kubed). Config Syncer keeps ConfigMaps and Secrets synchronized across namespaces and/or clusters
  • +
  • eldadru/ksniff 🌟 Kubectl plugin to ease sniffing on kubernetes pods using tcpdump and wireshark
  • +
  • openclarity/kubeclarity KubeClarity is a tool for detection and management of Software Bill Of Materials (SBOM) and vulnerabilities of container images and filesystems +
  • +
  • NimbleArchitect/kubectl-ice 🌟 Cleanly list all containers in kubernetes pods including init containers and view running kubernetes information about those multi-container pods to assist in troubleshooting and information gathering. kubectl-ice is a kubectl plugin that lets you see the configuration of all pod’s containers. You can inspect volumes, images, ports and executable configurations, along with current CPU and memory metrics at the container level.
  • +
  • vmware-tanzu/k-bench 🌟 Workload Benchmark for Kubernetes. K-Bench is a framework to benchmark the control and data plane aspects of a Kubernetes infrastructure. It provides a configurable way to prescriptively create and manipulate Kubernetes resources at scale and collect the metrics.
  • +
  • k8tz/k8tz: Kubernetes Timezone Controller Kubernetes admission controller and a CLI tool to inject timezones into Pods and CronJobs
  • +
  • patrickdappollonio/tabloid: tabloid – your tabulated data’s best friend tabloid is a simple command line tool to parse and filter column-based CLI outputs from commands like kubectl or docker
  • +
  • ReallyLiri/kubescout: Kube-Scout Scout for alarming issues across your Kubernetes clusters. kubescout is a command-line tool designed to issue alerts in real-time for:
      +
    • Pod evictions
    • +
    • Pod stuck in terminating/initializing
    • +
    • Excessive disk usage, process & inode allocation
    • +
    • Warning/errors in native logs
    • +
    • Helm failures
    • +
    • etc
    • +
    +
  • +
  • govirtuo/kube-ns-suspender 🌟 A k8s controller that scales up and down namespaces on-demand with an embedded friendly UI and a Prometheus exporter. Inspired by kube-downscaler.Kube-ns-suspender watches namespaces and “suspends” them by scaling to 0 some of the resources. Once a namespace is suspended, it will not be restarted automatically. This allows to “reactivate” namespaces only when required and reduces costs
  • +
  • codeberg.org/hjacobs/kube-downscaler: Kubernetes Downscaler 🌟 Scale down / “pause” Kubernetes workload (Deployments, StatefulSets, and/or HorizontalPodAutoscalers and CronJobs too !) during non-work hours.
  • +
  • deepfence/PacketStreamer ⭐⭐ Distributed tcpdump for cloud native environments ⭐⭐ PacketStreamer is a high-performance remote packet capture and collection tool. It is used by Deepfence’s ThreatStryker security observability platform to gather network traffic on demand from cloud workloads for forensic analysis.
  • +
  • kris-nova/kaar kaar is the Kubernetes Application Archive. kaar will:
      +
    • Recursively iterate through every file in the path and search for valid Kubernetes YAML
    • +
    • Identify all container images referenced from the YAML
    • +
    • Archive the container images
    • +
    +
  • +
  • mohatb/kubectl-exec kubectl-exec is a kubectl plugin that allows you to access a node. It works by creating a pod (with a privileged container) in the node you specified and using nsenter for getting a shell into your Kubernetes nodes. Works on both Linux and Windows.
  • +
  • kudobuilder/kuttl KUbernetes Test TooL (KUTTL) provides a declarative approach to test Kubernetes Operators. It is designed for testing operators, however it can declaratively test any kubernetes objects.
  • +
  • steveteuber/kubectl-graph A kubectl plugin to visualize Kubernetes resources and relationships.
  • +
  • crazy-max/diun Diun is a CLI application written in Go and delivered as a single executable (and a Docker image) to receive notifications when a Docker image is updated on a Docker registry.
  • +
  • omrikiei/ktunnel A cli that exposes your local resources to kubernetes. A CLI tool that establishes a reverse tunnel between a kubernetes cluster and your local machine.
  • +
  • dev.to: Pixie: an X-ray Machine for Kubernetes Traffic Pixie is one of a handful of observability tools that offer eBPF or kernel-level observability. In this tutorial, you will learn how to see all of your applications’ metrics, events, logs, and traces using Pixie with Kubernetes.
  • +
  • plural.sh: Deploy open-source software on Kubernetes in record time ⭐ An open-source platform to build, maintain, and scale infrastructure on Kubernetes. Batteries included. +
  • +
  • pan-net-security/kcount kcount counts Kubernetes objects across namespaces and clusters. It can be used as a CLI tool or as a daemon (service) exposing Prometheus metrics.
  • +
  • cloudtty/cloudtty: A Kubernetes Cloud Shell (Web Terminal) Operator A Friendly Kubernetes CloudShell (Web Terminal) !
  • +
  • jthomperoo/k8shorizmetrics k8shorizmetrics is a library that provides the internal workings of the Kubernetes Horizontal Pod Autoscaler (HPA) wrapped up in a simple API. The project allows querying metrics just as the HPA does, and also running the calculations.
  • +
  • Kube-capacity is a simple and powerful CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster. It combines the best parts of kubectl top and describe into an easy to use CLI focused on cluster resources.
  • +
  • github.com/FairwindsOps: Goldilocks is a utility that can help you identify a starting point for resource requests and limits
  • +
  • learnk8s/xlskubectl a spreadsheet to control your Kubernetes cluster. xlskubectl integrates Google Spreadsheet with Kubernetes. You can finally administer your cluster from the same spreadsheet that you use to track your expenses.
  • +
  • kingdonb/kubectl-exec-user lets you exec as a specified user into a Kubernetes container
  • +
  • upmc-enterprises/registry-creds: Registry Credentials ⭐ Allow for AWS ECR, Google Registry, & Azure Container Registry credentials to be refreshed inside your Kubernetes cluster via ImagePullSecrets
  • +
  • pymag09/kubecui kubeui makes kubectl more user friendly. This is still kubectl but enhanced with fzf. However, kubectl slows you down - requires heavy keyboard typing. In order to alleviate interaction with kubernetes API and describe the fields associated with each supported API resource directly in the Terminal, kubectl was complemented by fzf.
  • +
  • awesome-it/adeploy adeploy is a deployment tool for Kubernetes that supports the rendering and deploying of lightweight Jinja templated Kubernetes manifests and complex Helm charts
  • +
  • stakater/Forecastle Forecastle is a control panel which dynamically discovers and provides a launchpad to access applications deployed on Kubernetes
  • +
  • acorn-io/acorn Acorn is a simple application deployment framework for Kubernetes:
      +
    • One artifact across dev, test, and production
    • +
    • Simple CLI and powerful API
    • +
    • Runs on any Kubernetes cluster
    • +
    +
  • +
  • smartxworks/knest knest: Kubernetes-in-Kubernetes Made Simple
  • +
  • smartxworks/virtink Virtink is a Kubernetes add-on for running Cloud Hypervisor virtual machines. By using Cloud Hypervisor as the underlying hypervisor, Virtink enables a lightweight and secure way to run fully virtualized workloads in a canonical Kubernetes cluster
  • +
  • inspektor-gadget/inspektor-gadget Introspecting and debugging Kubernetes applications using eBPF “gadgets”. Inspektor Gadget is a collection of tools (or gadgets) to debug and inspect Kubernetes resources and applications. It manages the packaging, deployment and execution of eBPF programs in a Kubernetes cluster, including many based on BCC tools, as well as some developed specifically for use in Inspektor Gadget. It automatically maps low-level kernel primitives to high-level Kubernetes resources, making it easier and quicker to find the relevant information.
  • +
  • toboshii/hajimari Hajimari is a beautiful & customizable browser startpage/dashboard with Kubernetes application discovery.
  • +
  • Ramilito/kubediff ⭐ Source VS Deployed. kubediff compares the local YAML resource definitions with the ones currently deployed in the cluster.
  • +
  • FairwindsOps/gonogo GoNoGo is a utility to help users determine upgrade confidence around Kubernetes cluster addons
  • +
  • pulumi/kube2pulumi Upgrade your Kubernetes YAML to a modern language
  • +
  • doitintl/kube-no-trouble: kubent ⭐⭐⭐ Easily check your clusters for use of deprecated APIs. Kube No Trouble (kubent) is a tool to check whether you’re using any deprecated APIs in your cluster and, therefore, should upgrade your workloads first before upgrading your Kubernetes cluster
  • +
  • resmoio/kubernetes-event-exporter Export Kubernetes events to multiple destinations with routing and filtering. kubernetes-event-exporter allows exporting the often missed Kubernetes events to various outputs to be used for observability or alerting purposes
  • +
  • jthomperoo/predictive-horizontal-pod-autoscaler Horizontal Pod Autoscaler built with predictive abilities using statistical models
  • +
  • github.com/chenjiandongx/kubectl-count Count resources by kind. kubectl-count uses the dynamic library to find server preferred resources and then leverages the informer mechanism to list and count resources by kind. You can show any kinds counts in kubernetes and group by namespaces.
  • +
  • github.com/rothgar/bashScheduler Kubernetes scheduler written in less than 100 lines of bash
  • +
  • github.com/kubereboot/kured ⭐ Kured (KUbernetes REboot Daemon) is a Kubernetes daemonset that performs safe automatic node reboots when the need to do so is indicated by the package management system of the underlying OS.
  • +
  • kubernetes-sigs/kwok Kubernetes WithOut Kubelet - Simulates thousands of Nodes and Clusters. KWOK (Kubernetes-WithOut-Kubelet) is a toolkit that enables setting up a cluster of thousands of nodes in seconds. Under the scene, all Nodes are simulated to behave like real ones, so the overall approach employs a pretty low resource footprint.
  • +
  • github.com/squat/kilo Kilo is a multi-cloud network overlay built on WireGuard and designed for Kubernetes (k8s + wg = kg)
  • +
  • github.com/krateoplatformops/krateo Krateo Platformops is an open-source tool that allows users to create any desired resource on various infrastructures. It acts as a centralized control plane, allowing users to monitor and control resources.
  • +
  • github.com/jwcesign/kubespider A global resource download orchestration system, build your home download center.
  • +
  • faun.pub: A browser based remote desktop solution on kubernetes Building a cost effective and simple remote desktop solution on kubernetes using open source apache guacamole
  • +
  • kvaps/kubectl-node-shell kubectl node-shell is a krew plugin that lets start a root shell in the node’s host
  • +
  • github.com/distribution/distribution In this repository, you’ll find the code for storing and distributing container images using the OCI Distribution Specification. The goal of this project is to provide a simple, secure, and scalable base for building a large-scale registry solution.
  • +
  • github.com/flomesh-io/pipy Pipy is a programmable proxy for the cloud, edge and IoT. +
  • +
  • github.com/KWasm/podman-wasm This repository contains a Podman machine image that can run native WebAssembly container images, which only contain wasm files and no runtime
  • +
  • github.com/ibuildthecloud/wtfk8s Watch and print changes in k8s. This tool watches kubernetes resources and prints the delta in changes.
  • +
  • github.com/ContainerSSH/ContainerSSH ContainerSSH launches a new container for each SSH connection in Kubernetes, Podman or Docker. The user is transparently dropped in the container and the container is removed when the user disconnects.
  • +
  • github.com/Netcracker/KubeMarine Management tool for Kubernetes cluster deployment and maintenance. Kubemarine is an open-source, lightweight and powerful management tool built for end-to-end Kubernetes cluster deployment and maintenance
  • +
  • github.com/Skarlso/crd-to-sample-yaml card-to-sample-YAML lets you generate a sample YAML file from a Custom Resource Definition
  • +
  • github.com/alexellis/run-job Run a Kubernetes Job and get the logs when it’s done 🏃‍♂️
  • +
  • github.com/JovianX/Service-Hub Service Hub is a tool to create and manage a Self-Service portal for your applications using Kubernetes and Helm
  • +
  • medium.com/@markcallen_devops: Setup Kubernetes Admin on Linux with Brew
  • +
  • github.com/ahmetb/kubectl-foreach: kubectl foreach ⭐ kubectl-foreach is a kubectl plugin that runs a kubectl command in one or more contexts (clusters) in parallel (similar to GNU parallel/xargs)
  • +
  • github.com/kubernetes-sigs/etcdadm ⭐ etcdadm is a command-line tool for operating an etcd cluster. It makes it easy to create a new cluster, add a member to, or remove a member from an existing cluster. Its user experience is inspired by kubeadm.
  • +
  • infoq.com: Kwok, a Tool to Spin up Kubernetes Nodes in a Second
  • +
  • github.com/jetpack-io/launchpad Launchpad is a command-line tool that lets you easily create applications on Kubernetes. In practice, Launchpad works similar to Heroku or Vercel, except everything is on Kubernetes.
  • +
  • github.com/OvidiuBorlean/kubectl-sockperf Kubectl Sockperf plugin - Latency Measurement in Kubernetes
  • +
  • github.com/oslabs-beta/Ekkremis This repository contains the code for Ekkremis: a Prometheus-based alert manager to resolve kubernetes pods pending issues
  • +
  • github.com/jonmosco/kube-ps1 Kubernetes prompt for bash and zsh. kube-ps1 is a script that lets you add the current Kubernetes context and namespace configured on kubectl to your Bash/Zsh prompt strings (i.e. the $PS1)
  • +
  • github.com/cloudnativelabs/kube-shell Kube-shell is an integrated shell for working with the Kubernetes CLI. Under the hood, Kube-shell still calls kubectl. Kube-shell aims to provide ease-of-use of kubectl and increase productivity.
  • +
  • github.com/DataCater/datacater (real-time, cloud-native data pipeline platform) The developer-friendly ETL platform for transforming data in real-time. Based on Apache Kafka® and Kubernetes®. DataCater helps you to build modern, real-time data pipelines with Apache Kafka and Kubernetes. You can choose from an extensive repository of filter functions, apply transformations, or code your own transforms in Python.
  • +
  • github.com/alcideio/rbac-tool RBAC Tool for Kubernetes. Rapid7 | insightCloudSec | Kubernetes RBAC Power Toys - Visualize, Analyze, Generate & Query
  • +
  • oslabs-beta/Palaemon Palaemon is an open-source developer tool for monitoring health and resource metrics of Kubernetes clusters and analyzing Out of Memory (OOMKill) errors
  • +
  • openobserve/debug-container A container with common utilities for debugging your cluster
  • +
  • platformengineering.org/tools/capsule Capsule is an open source framework that enables Platform Engineers to build a secure multi-tenant Internal Developer Platform on top of any Kubernetes infrastructure.
  • +
  • Ksctl: Cloud Agnostic Kubernetes Management tool ksctl is a simple multi-environment Kubernetes management CLI tool
  • +
  • github.com/ajayk/drifter Drifter scans your cluster to find configuration drifts on Kubernetes resources or Helm charts
  • +
  • github.com/nebuly-ai/nos Module to Automatically maximize the utilization of GPU resources in a Kubernetes cluster through real-time dynamic partitioning and +elastic quotas - Effortless optimization at its finest!
  • +
  • github.com/lsdopen/ahoy Ahoy helps teams release and manage applications and services across multiple k8s clusters without needing to write any yaml.
  • +
  • github.com/opencontrolplane OpenCP (Open Control Plane) is an open source project designed to provide a single interface to manage infrastructure across providers using a single tool: kubectl
  • +
  • github.com/yonahd/orphaned-configmaps: Orphaned ConfigMaps A script for finding orphaned configmaps
  • +
  • github.com/updatecli/updatecli A Declarative Dependency Management tool
      +
    • Automatically open a PR on your GitOps repository when a third party service publishes an update
    • +
    • Updatecli is a tool used to apply file update strategies. Designed to be used from everywhere, each application “run” detects if a value needs to be updated using a custom strategy then apply changes according to the strategy.
    • +
    +
  • +
  • github.com/yonahd/kor A Golang Tool to discover unused Kubernetes Resources. Currently, Kor can identify and list unused:
      +
    • ConfigMaps
    • +
    • Secrets
    • +
    • Services
    • +
    • ServiceAccounts
    • +
    • Deployments
    • +
    • Statefulsets
    • +
    • Roles
    • +
    +
  • +
  • granted.dev A CLI application which provides the world’s best developer UX for finding and accessing cloud roles to multiple cloud accounts, fast!
  • +
  • devtron.ai Adopt Kubernetes in Weeks With Our K8s Acceleration Platform. Old software delivery platforms are holding you back and slowing you down. Rapidly adopt K8s without creating cognitive overload for your developers.
  • +
  • github.com/kubefirst/kubefirst The Kubefirst CLI creates instant GitOps platforms that integrate some of the best tools in cloud native from scratch in minutes. The Kubefirst CLI is a cloud provisioning tool that creates a kubernetes cluster with automated Infrastructure as Code, GitOps asset management and application delivery, secrets management, and more.
  • +
  • github.com/Trolley-MGMT/trolleymgmt Trolley is a multi cloud Kubernetes management system. A simplified UI which allows the user to Deploy, Edit and Delete clusters and deployments within them on AWS, Azure and GCP.
  • +
  • github.com/akuity/kargo - kargo.akuity.io Application lifecycle orchestration. Kargo is a next-generation continuous delivery and application lifecycle orchestration platform for Kubernetes. It builds upon GitOps principles and integrates with existing technologies, like Argo CD, to streamline and automate the progressive rollout of changes across the many stages of an application’s lifecycle.
  • +
  • github.com/Wilfred/difftastic a structural diff that understands syntax
  • +
  • github.com/kubernetes/git-sync A sidecar app which clones a git repo and keeps it in sync with the upstream. git-sync is a simple command that pulls a git repository into a local directory. It is a perfect “sidecar” container in Kubernetes - it can periodically pull files down from a repository so that an application can consume them.
  • +
  • github.com/kubepug/kubepug: Deprecations AKA KubePug - Pre UpGrade (Checker) KubePug/Deprecations is intended to be a kubectl plugin, which:
      +
    • Downloads a generated data.json file containing API deprecation information for a specified release of Kubernetes
    • +
    • Scans a running Kubernetes cluster to determine if any objects will be affected by deprication
    • +
    • Displays affected objects to the user
    • +
    +
  • +
  • github.com/hcavarsan/kftray Manage multiple kubectl port-forward commands with a menu bar or a TUI app, with support for UDP and proxy connections through Kubernetes clusters, and gitops-like state sync with github.
  • +
  • kondense 🌟 Kondense is an automated resource sizing tool. It runs as a sidecar in kubernetes pods.
  • +
+

kubetail

+
    +
  • github.com/kubetail-org/kubetail 🌟 Private, real-time log viewer for Kubernetes
      +
    • Kubetail is a bash script aggregating (tail/follow) logs from multiple pods into one stream
    • +
    • This is the same as running kubectl logs -f but for multiple pods
    • +
    +
  • +
  • Kubetail 🌟 Bash script to tail Kubernetes logs from multiple pods at the same time
  • +
  • Stern 🌟 Multi pod and container log tailing for Kubernetes. Stern allows you to tail multiple pods on Kubernetes and multiple containers within the pod. Each result is color coded for quicker debugging – Friendly fork of https://github.com/wercker/stern
  • +
+

Portainer

+ +

kubecfg

+
    +
  • github.com/kubecfg/kubecfg kubecfg is a tool for managing Kubernetes resources as code that allows you to express the patterns across your infrastructure, reuse “templates” across many services, and then manage those templates as files in version control
  • +
+

Curl

+ +

kcp

+ +

Clusternet

+
    +
  • github.com/clusternet Managing your Kubernetes clusters (including public, private, edge, etc) as easily as visiting the Internet
      +
    • https://clusternet.io/
    • +
    • Clusternet (Cluster Internet) is a tool that helps you manage thousands of Kubernetes clusters
    • +
    • It can also help deploy and manage applications across several clusters from a single set of APIs in a single hosting cluster
    • +
    +
  • +
+

Open Cluster Management

+
    +
  • +

    How Kruize Optimizes OpenShift Workloads - (Related to openshift topic)

    +
  • +
  • +

    open-cluster-management.io Make working with many Kubernetes clusters super easy regardless of where they are deployed. Open Cluster Management is a community-driven project focused on multicluster and multicloud scenarios for Kubernetes apps. Open APIs are evolving within this project for cluster registration, work distribution, dynamic placement of policies and workloads, and much more.

    +
  • +
+

Penetration Testing Tools

+
    +
  • Web-Check - Web-Check is a free and open-source tool that allows you to analyze the security of your website. It checks for various vulnerabilities and provides recommendations for improvement.
  • +
  • +

    action-tmate: Debug GitHub Actions via SSH - (Related to cicd topic)

    +
  • +
  • +

    intellipaat.com: What is Penetration Testing? Penetration testing is otherwise referred to as pen testing. This blog on ‘What is Penetration Testing? - Types, Phases, Tools Explained’ discusses in detail what pen testing is and how it works, the numerous tools involved in this field, and so on. This blog aims to give you an insight into pen testing and how Ethical Hackers use it for the purpose of Cyber Security. Let’s dive right in.

    +
  • +
  • quarkslab/kdigger kdigger is a context discovery tool for Kubernetes penetration testing.
  • +
  • inguardians/peirates Peirates - Kubernetes Penetration Testing tool
  • +
+

Deckhouse Kubernetes Platform

+
    +
  • Deckhouse: NoOps Kubernetes platform 🌟 Deckhouse is an Open Source platform for managing Kubernetes clusters in a fully automatic and uniform fashion. It allows you to create homogeneous Kubernetes clusters anywhere and fully manages them. It supplies all the add-ons you need for auto-scaling, observability, security, and service mesh. It comes in Enterprise Edition (EE) and Community Edition (CE).
  • +
+

KubeIP (GKE)

+
    +
  • kubeip.com Many applications need to be whitelisted by users based on a Source IP Address. As of today, Google Kubernetes Engine doesn’t support assigning a static pool of IP addresses to the GKE cluster. Using kubeIP, this problem is solved by assigning GKE nodes external IP addresses from a predefined list. kubeIP monitors the Kubernetes API for new/removed nodes and applies the changes accordingly.
  • +
  • Many applications need to be whitelisted based on a Source IP Address.
  • +
  • Using kubeIP, you can assign external IP addresses from a predefined list to GKE nodes. kubeIP monitors the Kubernetes API for new/removed nodes and applies the changes
  • +
  • doitintl/kubeIP Assign static external IPs from predefined pool of external IP addresses to Google GKE nodes so your customers could whitelist them
  • +
+

Porter

+
    +
  • Porter Package your application artifact, client tools, configuration and deployment logic together as a versioned bundle that you can distribute, and then install with a single command - github.com/getporter/porter
  • +
+

Datree. Quality Checks for Kubernetes YAMLs

+ +

Kaniko Build Images in Kubernetes without docker

+ +

Shipwright Framework for Building Container Images on Kubernetes

+ +

BuildKit CLI for kubectl

+ +

Buildpacks vs Dockerfiles

+ +

Kubevela

+
    +
  • kubevela.io 🌟 KubeVela is a modern application platform that makes deploying and managing applications across today’s hybrid, multi-cloud environments easier and faster. KubeVela is runtime agnostic, natively extensible, yet most importantly, application-centric .
  • +
  • blog.logrocket.com: Intro to KubeVela: A better way to ship applications KubeVela makes deploying applications to Kubernetes much easier. Rather than knowing about service, deployment, pods, and horizontal pod scaling, you can specify a much lighter configuration.
  • +
+

Pixie. Instantly troubleshoot applications on Kubernetes

+ +

Dekorate. Generate k8s manifests for java apps

+ +

Kubesploit

+ +

Kubeshop

+ +

Meshery

+ +

Monokle

+ +

K8studio

+
    +
  • k8studio — Your friendly, full-featured desktop IDE for Kubernetes clusters and manifests!
  • +
  • medium.com: K8Studio 3.x Release — K8Studio helps you create, validate, debug, and manage Kubernetes manifests and live clusters with a powerful UI and built-in AI Copilot.
  • +
  • youtube: From Code to Cluster — Modern Kubernetes Workflows with K8Studio
      +
    • Visualize your clusters with CloudMaps / Heatmaps
    • +
    • Work faster with Grid View and real-time filtering
    • +
    • Manage multi-cluster setups with custom layouts
    • +
    • Edit YAML or use Quick Editors (forms + live preview)
    • +
    • Drill into RBAC & Permissions
    • +
    • Explore logs with advanced multi-container Logs Viewer
    • +
    • Monitor resources via built-in Prometheus integration
    • +
    • Get contextual help from AI Copilot
    • +
    • Built-in Terminal with full kubectl context
    • +
    • View object timelines & security posture at a glance
    • +
    +
  • +
+

KubeLibrary

+
    +
  • KubeLibrary KubeLibrary is a RobotFramework library for testing Kubernetes cluster
  • +
+

kube-vip

+
    +
  • kube-vip is a Load-Balancer for both inside and outside a Kubernetes cluster. kube-vip provides Kubernetes clusters with a virtual IP and load balancer for both the control plane (for building a highly-available cluster) and Kubernetes Services of type LoadBalancer without relying on any external hardware or software.
  • +
  • What’s one of the biggest pain in implementing Kubernetes for on-prem? Lack of support for LoadBalancer Service. Now there’s a second project (the first is MetalLB) that provides this functionality for on-prem: kube-vip.
  • +
+

Kubermetrics

+ +

Kustomizer

+
    +
  • kustomizer Kustomize build, apply, prune command-line utility. Kustomizer is a command-line utility for applying kustomizations on Kubernetes clusters. Kustomizer garbage collector keeps track of the applied resources and prunes the Kubernetes objects that were previously applied on the cluster but are missing from the current revision.
  • +
+

MetalLB

+ +

Kubermatic Kubernetes Platform

+ +

Kubermatic Kubeone

+
    +
  • kubermatic/kubeone 🌟 Kubermatic KubeOne automate cluster operations on all your cloud, on-prem, edge, and IoT environments.
  • +
  • youtube.com: How to Write Software That Sets Up Kubernetes Anywhere with Kubermatic Kubeone Kubernetes is a complex system. But installing Kubernetes doesn’t need to be hard. In this short clip, our Software Engineer Marko Mudrinić explains how to use existing tools to make tasks easier for you. He provides you with some insights on the learnings we made while creating KubeOne, an open source and infrastructure-agnostic cluster lifecycle management tool for single and HA Kubernetes clusters.
  • +
+

Usernetes

+ +

k8syaml.com

+ +

Popeye

+
    +
  • Popeye - A Kubernetes Cluster Sanitizer 🌟🌟 Popeye is a utility that scans live Kubernetes cluster and reports potential issues with deployed resources and configurations. It sanitizes your cluster based on what’s deployed and not what’s sitting on disk. By scanning your cluster, it detects misconfigurations and helps you to ensure that best practices are in place, thus preventing future headaches. It aims at reducing the cognitive overload one faces when operating a Kubernetes cluster in the wild. Furthermore, if your cluster employs a metric-server, it reports potential resources over/under allocations and attempts to warn you should your cluster run out of capacity.
  • +
+

kbrew

+
    +
  • kbrew kbrew is homebrew for Kubernetes. kbrew is a CLI tool for Kubernetes which makes installing any complex stack easy in one step (And yes we are definitely inspired by Homebrew from MacOS)
  • +
+

KubExplorer

+ +

Kubescape

+ +

Kubectl Connections

+
    +
  • +

    A Complete Guide to Kubectl exec 🌟 - This article provides a comprehensive guide to using kubectl exec, a crucial command for gaining shell access to containers within a Kubernetes cluster. It covers the necessity of shell access for debugging and configuration, introduces kubectl exec, details its components and parameters, compares it with docker exec and ssh, offers practical examples, discusses security implications, and provides troubleshooting tips.

    +
  • +
  • +

    KubePlus kubectl plugins -> kubectl connections

    +
  • +
  • cloudark.medium.com: kubectl connections that can help you discover and visualize relationship between resources (Deployments, Services, etc.) in your namespace
  • +
+

Benchmark Operator

+ +

Source-To-Image (S2I)

+
    +
  • openshift/source-to-image A tool for building artifacts from source and injecting into container images. Source-to-Image (S2I) is a toolkit and workflow for building reproducible container images from source code. No writing a bunch of YAML to build your container.
  • +
+

VMware Tanzu Octant

+
    +
  • vmware-tanzu/octant Highly extensible platform for developers to better understand the complexity of Kubernetes clusters. Octant is a tool for developers to understand how applications run on a Kubernetes cluster. It aims to be part of the developer’s toolkit for gaining insight and approaching complexity found in Kubernetes. Octant offers a combination of introspective tooling, cluster navigation, and object management along with a plugin system to further extend its capabilities.
  • +
+

Qovery Engine

+
    +
  • Qovery/engine: Qovery Engine 🌟 Qovery Engine is an open-source abstraction layer library that turns easy apps deployment on AWS, GCP, Azure, and other Cloud providers in just a few minutes. The Qovery Engine is written in Rust and takes advantage of Terraform, Helm, Kubectl, and Docker to manage resources.
  • +
+

mck8s Container orchestrator for multi-cluster Kubernetes

+
    +
  • moule3053/mck8s mck8s, short for multi-cluster Kubernetes, allows you to automate the deployment of multi-cluster applications on multiple Kubernetes clusters by offering enhanced configuration possibilities. The main aim of mck8s is maximizing resource utilization and supporting elasitcity across multiple Kubenetes clusters by providing multiple placement policies, as well as bursting, cloud resource provisioning, autoscaling and de-provisioning capabilities. mck8s builds upon other open-source software such as Kubernetes, Kubernetes Federation, kopf, serf, Cilium, Cluster API, and Prometheus.
  • +
+

Shipwright framework

+
    +
  • shipwright-io/build: shipwright A framework for building container images on Kubernetes.
  • +
  • With Shipwright, developers get a simplified approach for building container images, by defining a minimal YAML that does not require any previous knowledge of containers or container tooling. All you need is your source code in git and access to a container registry.
  • +
  • Shipwright supports any tool that can build container images in Kubernetes clusters, such as:
      +
    • Kaniko
    • +
    • Cloud Native Buildpacks
    • +
    • BuildKit
    • +
    • Buildah
    • +
    +
  • +
+

Schiff (Deutsche Telekom)

+
    +
  • telekom/das-schiff This is home of Das Schiff - Deutsche Telekom Technik’s engine for Kubernetes Cluster as a Service (CaaS) in on-premise environment on top of bare-metal servers and VMs.
  • +
+

NetMaker

+
    +
  • NetMaker Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
  • +
+

AWS Karpenter kubernetes Autoscaler

+ +

Kuby (easy deployments of Ruby Rails App)

+ +

Direktiv

+
    +
  • Direktiv Serverless Container Orchestration. Diretiv is a serverless workflow and automation engine running on Kubernetes and Knative. Direktiv is the equivalent of AWS Step Functions, or Google Cloud Workflows or Alibaba Serverless Workflows. The difference between Direktiv and the cloud provider workflow engines is that Direktiv is cloud & platform agnostic, runs on kubernetes and executes containers as “plugins”.
  • +
  • blog.direktiv.io: Building a simple cloud-native, orchestrated microservice from containers
  • +
+

Jabos

+ +

Pleco

+
    +
  • Qovery/pleco Automatically removes Cloud managed services and Kubernetes resources based on tags with TTL
  • +
+

Mesh-kridik

+ +

kubewatch

+
    +
  • bitnami-labs/kubewatch Watch k8s events and trigger Handlers. kubewatch is a Kubernetes watcher that currently publishes notification to available collaboration hubs/notification channels. Run it in your k8s cluster, and you will get event notifications through webhooks.
  • +
+

Botkube

+
    +
  • botkube.io BotKube is a messaging bot for monitoring and debugging Kubernetes clusters.
  • +
+

Robusta

+ +

Soup GitOps Operator

+
    +
  • caldito/soup Soup is a GitOps operator for Kubernetes. GitOps continuous deployment and management tool for Kubernetes focused on simplicity.
  • +
+

Epinio

+
    +
  • https://epinio.io The Application Development Engine for Kubernetes. Epinio is how you tame the developer workflow in Kubernetes to go from Code to URL in a single step.
  • +
  • epinio/epinio Opinionated platform that runs on Kubernetes, that takes you from App to URL in one step.
  • +
+

Testkube

+ +

KuberLogic

+
    +
  • kuberlogic Kuberlogic is an open-source product that deploys and manages software on top of the Kubernetes cluster and turns infrastructure into a managed PaaS. KuberLogic is that allows running managed databases and popular applications deploying on-premises or at any cloud. The solution provides API, monitoring, backups, and integration with SSO right out of the box
  • +
+

Kusk

+ +

Azure AD Workload Identity

+
    +
  • Azure/azure-workload-identity Azure AD Workload Identity uses Kubernetes primitives to associate managed identities for Azure resources and identities in Azure Active Directory (AAD) with pods. It simplifies accessing Azure AD protected resources securely from Kubernetes workloads.
  • +
+

Kubernate

+
    +
  • https://kubernate.dev
  • +
  • laurci/kubernate Kubernetes+Generate = Kubernate. Kubernate is a Kubernetes YAML generator that can be used as an alternative to other popular tools like Helm. Kubernate is distributed as a library and as a CLI, both working together to achieve one goal: Kubernetes as Code.
  • +
+

Tackle

+ +

Azure Placement Policy Scheduler Plugins

+
    +
  • Azure/placement-policy-scheduler-plugins This scheduler enables cluster admins to offload some configurable percentage of their workloads to spot nodes enabling them to decrease the cost of running these pods without affecting their reliability.
  • +
  • Most of cloud environments today provides cluster admins with ephemeral nodes (VMs). These nodes typically cost significantly less but they offer less reliability than their regular counterpart. Cluster admins are often torn between the choice of cost and reliability because of the innate inability of the default Kubernetes scheduler to place some of a specific workload pods on these nodes. Having the entire workload on ephemeral nodes risks the reliability of the workload when the cloud environment stops these nodes. This scheduler enables cluster admins to offload some configurable percentage of their workloads on these nodes enabling them to decrease the cost of running these pods without affecting its reliability.
  • +
+

Azure AAD Pod Identity

+ + + +

kubernetes-operators-controllers

+ +

MicroShift

+

kubernetes-networking

+
    +
  • +

    Transitioning from ingress-nginx to Traefik in Kubernetes - (Related to kubernetes-networking topic)

    +
  • +
  • +

    microshift.io MicroShift is a research project that is exploring how OpenShift1 and Kubernetes can be optimized for small form factor and edge computing.

    +
  • +
  • It requires only 2GB to run
  • +
  • You can run it as a container with Docker or Podman
  • +
  • It is a very trimmed version of OpenShift without many features
  • +
+

kubefwd (Kube Forward)

+
    +
  • txn2/kubefwd Kubernetes port forwarding for local development.
  • +
  • kubefwd is a tool built to port forward multiple services within one or more namespaces on one or more Kubernetes clusters
  • +
  • kubefwd uses the same port exposed by the service and forwards it from a loopback IP address on your local workstation
  • +
+

Kpng. Kubernetes Proxy NG

+ +

Auto-portforward (apf)

+
    +
  • ruoshan/autoportforward Bidirectional port-forwarding for docker, podman and kubernetes. A handy tool to automatically set up proxies that expose the remote container’s listening ports back to the local machine. Just like kubectl portforward or docker run -p LOCAL:REMOTE, but automatically discover and update the ports to be forwarded on the fly. apf can create listening ports in the container and forward them back as well.
  • +
+

Gardener

+ +

Werf

+ +

Starboard kubernetes-native security toolkit

+
    +
  • aquasecurity/starboard Kubernetes-native security toolkit. Starboard is a completely open source tool that integrates with other security tools to scan your workloads and make security reports accessible through the Kubernetes API - K8s all the way 🚀
  • +
+

Netshoot

+
    +
  • nicolaka/netshoot a Docker + Kubernetes network trouble-shooting swiss-army container. Purpose: Docker and Kubernetes network troubleshooting can become complex. With proper understanding of how Docker and Kubernetes networking works and the right set of tools, you can troubleshoot and resolve these networking issues. The netshoot container has a set of powerful networking tshooting tools that can be used to troubleshoot Docker networking issues. Along with these tools come a set of use-cases that show how this container can be used in real-world scenarios.
  • +
+

The Hierarchical Namespace Controller (HNC)

+ +

Kratix

+
    +
  • syntasso/kratix Kratix is a framework for building Platform-as-a-Product.
  • +
  • Kratix is a framework that enables co-creation of capabilities by providing a clear contract between application and platform teams through the definition and creation of “Promises”. Using the GitOps workflow and Kubernetes-native constructs, Kratix provides a flexible solution to empower your platform team to curate an API-driven, curated, bespoke platform that can easily be kept secure and up-to-date, as well as evolving as business needs change.
  • +
  • Kratix enables platform teams to deliver a Kubernetes-native platform API, over fleets of Kubernetes clusters.
  • +
  • Kratix is deployed to a platform cluster, and uses the GitOps Toolkit to orchestrate a topology of worker clusters.
  • +
+

gRPC-Gateway

+ +

KubeOrbit. Test your app on kubernetes

+ +

Mizu API Traffic Viewer for Kubernetes

+
    +
  • up9inc/mizu API traffic viewer for Kubernetes enabling you to view all API communication between microservices to help your debug and troubleshoot regressions. Think TCPDump and Wireshark re-invented for Kubernetes.
  • +
+

vcluster

+ +

Kateyes

+ +

Keepass Secret

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

+ +

Komodor Workflows

+ +

Azure Eraser

+
    +
  • github.com/Azure/eraser 🌟 🧹 Cleaning up images from Kubernetes nodes. Eraser is a tool that helps Kubernetes admins remove a list of non-running images from all Kubernetes nodes in a cluster
  • +
+

+komodor workflow +

+

Data Pipeline Workflow Schedulers

+ +

ConfigMap Reloader

+
    +
  • https://github.com/stakater/Reloader 🌟
  • +
  • medium.com/linux-shots: ConfigMap Reloader — Automatically reload new data from ConfigMap/Secret to deployments
      +
    • ConfigMaps and Secrets are way to inject environment variables and application configurations to a Pod in Kubernetes. Sometimes and sometime many times, we need to change the value of environment variables or configurations. For that we need to update ConfigMap/Secret.
    • +
    • In Kubernetes, When we make some changes to a ConfigMap or Secret, new data is not automatically propagated to the pods from that configmap/secret. We often need to restart the pods to load new data.
    • +
    • This can be achieved using a tool ‘Reloader’. It is a Kubernetes controller which watch the changes made to secrets and ConfigMaps and perform rolling upgrades on pods with their associated Deployments, StatefulSets or DaemonSets. It is an Opensource tool provided by Stakater who also provide various other enterprise K8s solutions.
    • +
    +
  • +
+

Kluctl

+
    +
  • kluctl.io 🌟 Kluctl is the missing glue to put together large Kubernetes deployments. It allows you to declare and manage multi-environment and multi-cluster deployments. Kluctl does not have cluster-side dependencies and works out of the box.
  • +
+

k2tf Kubernetes YAML to Terraform HCL converter

+ +

Kubernetes Security Tools

+
    +
  • PaloAltoNetworks/rbac-police RBAC-police is a CLI tool that lets you evaluate the RBAC permissions of service accounts, pods and nodes in Kubernetes clusters through policies written in Rego
  • +
  • m9sweeper/m9sweeper m9sweeper is a complete kubernetes security platform that wraps trivy, project falco, kube-bench, kube-hunter, kubesec, and OPA Gatekeeper into one easy to manage user interface.
  • +
  • github.com/reddec/keycloak-ext-operator Creates OAuth clients in Keycloak and creates corresponding secrets in kubernetes
  • +
+

PureLB

+
    +
  • purelb/purelb PureLB - is a Service Load Balancer for Kubernetes. PureLB is a load-balancer orchestrator for Kubernetes clusters. It uses standard Linux networking and routing protocols, and works with the operating system to announce service addresses.
  • +
+

Murre

+ +

k9s

+ +

Pluto

+ +

Konf Lightweight Kubeconfig Manager

+
    +
  • github.com/SimonTheLeg/konf-go konf is a lightweight kubeconfig manager. With konf you can use different kubeconfigs at the same time. And because it does not need subshells, konf is blazing fast!
  • +
+

K8spacket

+
    +
  • github.com/k8spacket/k8spacket k8spacket - packets traffic visualization for kubernetes. k8spacket helps to understand TCP packets traffic in your kubernetes cluster:
      +
    • Shows traffic between workloads in the cluster
    • +
    • Informs where the traffic is routed outside the cluster
    • +
    • Displays information about closing sockets by connections
    • +
    +
  • +
+

Infrastructure as Code using Kubernetes. Config Connector

+
    +
  • cloud.google.com/config-connector Config Connector is an open source Kubernetes addon that allows you to manage Google Cloud resources through Kubernetes.
  • +
  • medium.com/globant: Infrastructure as Code using Kubernetes
      +
    • Config Connector (KCC) is a solution to maintain Cloud Resources as Infrastructure as Code. It is built as an Open Source initiative and runs on Kubernetes clusters. As such, it leverages YAML files to maintain and operate such resources.
    • +
    • Config Connector has two versions: an Add-On for Google Kubernetes Engine (GKE) clusters and a manual installation for other Kubernetes distributions.
    • +
    +
  • +
+

Claudie Cloud-agnostic managed Kubernetes

+
    +
  • github.com/Berops/claudie Claudie is a platform for managing multi-cloud Kubernetes clusters with each node pools in a different cloud provider
  • +
+

Observability Monitoring Tools

+
    +
  • github.com/oslabs-beta/oslabs KubernOcular is a free, open-source tool which harnesses the power of Prometheus and the Kubernetes-Client Node API to give developers an insightful and holistic view of Kubernetes clusters.
  • +
  • vladimirvivien/ktop A top-like tool for your Kubernetes clusters
  • +
  • github.com/oslabs-beta/ClusterWatch ClusterWatch provides a visualization of the Kubernetes cluster architecture with detailed descriptions and stats. It also offers real-time metrics data, presented via Grafana charts, and built-in support for Prometheus and alerts.
  • +
+

Debugging and Troubleshooting Tools

+
    +
  • github.com/JamesTGrant/kubectl-debug kubectl-debug is a tool that lets you debug a target container in a Kubernetes cluster by automatically creating a new, non-invasive, ‘debug’ container in the same PID, network, user, and IPC namespace as the target container without any disruption
  • +
  • github.com/AdamRussak/k8f A simple go tool to check that your cluster is in supported version written in GO. k8f is a command line tool to find, list, connect and check versions for kubernetes clusters. With k8f you can connect at once to all clusters tagged as “AWS” or find a specific cluster in your kubeconfig.
  • +
  • github.com/komodorio/validkube Validkube combines the best open-source tools to help ensure Kubernetes YAML best practices, hygiene & security
  • +
  • github.com/box/kube-iptables-tailer A service for better network visibility for your Kubernetes clusters. kube-iptables-tailer is a service that gives you better visibility on networking issues in your Kubernetes cluster by detecting the traffic denied by iptables and surfacing corresponding information to the affected Pods via Kubernetes events.
  • +
  • github.com/OvidiuBorlean/kubectl-windumps Network traffic capture in AKS Windows Nodes
  • +
+

Security

+
    +
  • github.com/controlplaneio/badrobot Badrobot is a Kubernetes Operator audit tool. It statically analyses manifests for high-risk configurations such as lack of security restrictions on the deployed controller and the permissions of an associated clusterole.
  • +
  • infrahq/infra 🌟 Infra enables you to discover and access infrastructure (e.g. Kubernetes, databases). It helps you connect an identity provider such as Okta or Azure active directory, and map users/groups with the permissions you set to your infrastructure. Infra provides authentication and access management to servers, clusters, and databases
  • +
+

Develop microservices locally while being connected to your Kubernetes environment

+ +

AI Tools

+ +

Tweets

+
+ Click to expand! + +
+ + + + + + + + + +
+
+ +

Videos

+
+Click to expand! +

+ +

+
+ + + + +

kubernetes-tools

+
    +
  • tanka - Flexible, reusable and concise configuration for Kubernetes
  • +
  • kubevirt - Kubernetes Virtualization API and runtime in order to define and manage virtual machines.
  • +
  • typhoon - Minimal and free Kubernetes distribution with Terraform
  • +
  • kubeinvaders - Gamified Chaos Engineering Tool for Kubernetes
  • +
  • mlrun - MLRun is an open source MLOps platform for quickly building and managing continuous ML applications across their lifecycle. MLRun integrates into your development and CI/CD environment and automates the delivery of production data, ML pipelines, and online applications.
  • +
  • +

    kuberay - A toolkit to run Ray applications on Kubernetes

    +
  • +
  • +

    odigos - Distributed tracing without code changes. 🚀 Instantly monitor any application using OpenTelemetry and eBPF

    +
  • +
  • Grafana OnCall OSS 🌟 - Grafana OnCall OSS es un sistema de gestión de guardias de código abierto para mejorar la colaboración y resolver incidentes más rápido, ahora en modo de mantenimiento.
  • +
  • Kubernetes: Un tour por los comandos básicos 🌟 - Este video de YouTube ofrece un recorrido por los comandos esenciales de Kubernetes, ideal para iniciarse en la herramienta.
  • +
  • RBAC Wizard: Herramienta para visualizar y analizar la configuración RBAC de Kubernetes 🌟 - RBAC Wizard es una herramienta que ayuda a visualizar y analizar las configuraciones RBAC de tu clúster de Kubernetes, facilitando la gestión de permisos.
  • +
  • Bank Vaults: Un Cuchillo Suizo para HashiCorp Vault en Kubernetes 🌟 - Bank Vaults es una herramienta CLI multifuncional para inicializar, desbloquear y configurar HashiCorp Vault, facilitando su integración y gestión en entornos Kubernetes.
  • +
  • K3s vs Talos Linux 🌟 - Comparativa técnica entre K3s y Talos Linux, dos opciones para desplegar Kubernetes.
  • +
  • Atomic ConfigMap Updates in Kubernetes: How Symlinks and Kubelet Make It Happen 🌟 - Este artículo explica cómo las actualizaciones atómicas de ConfigMap en Kubernetes son posibles gracias a la interacción entre los symlinks y el Kubelet, permitiendo cambios seguros y eficientes.
  • +
  • Atomic ConfigMap Updates in Kubernetes: How Symlinks and Kubelet Make It Happen 🌟 - Este artículo explica cómo las actualizaciones atómicas de ConfigMap en Kubernetes son posibles gracias a la interacción entre los symlinks y el Kubelet, permitiendo cambios seguros y eficientes.
  • +
  • ASCIIFlow 🌟 - Herramienta para crear diagramas en ASCII en el navegador, útil para visualizar arquitecturas y flujos.
  • +
  • Kubernetes Services and Load Balancing Explained - (Related to kubernetes-networking topic)
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-troubleshooting/index.html b/kubernetes-troubleshooting/index.html new file mode 100644 index 00000000..ecc8c2b5 --- /dev/null +++ b/kubernetes-troubleshooting/index.html @@ -0,0 +1,6887 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Troubleshooting - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes Troubleshooting

+
    +
  1. Introduction
  2. +
  3. Kubernetes Events
  4. +
  5. Kubernetes Network Troubleshooting
  6. +
  7. Exit Codes in Containers and Kubernetes
  8. +
  9. ImagePullBackOff
  10. +
  11. CrashLoopBackOff
  12. +
  13. Failed to Create Pod Sandbox
  14. +
  15. Terminated with exit code 1 error
  16. +
  17. Pod in Terminating or Unknown Status
  18. +
  19. OOM Kills
  20. +
  21. Pause Container
  22. +
  23. Preempted Pod
  24. +
  25. Evited Pods
  26. +
  27. Stuck Namespace
  28. +
  29. Access PVC Data without the POD
  30. +
  31. CoreDNS issues
  32. +
  33. Debugging Techniques and Strategies. Debugging with ephemeral containers
  34. +
  35. Troubleshooting Tools
      +
    1. Komodor
    2. +
    3. Palaemon
    4. +
    5. cdebug and debug-ctr
    6. +
    7. kubectl-debug
    8. +
    9. Kubeshark
    10. +
    +
  36. +
  37. Slides
  38. +
  39. Images
  40. +
  41. Tweets
  42. +
+

Introduction

+ +

Kubernetes Events

+ +

Kubernetes Network Troubleshooting

+ +

Exit Codes in Containers and Kubernetes

+ +

ImagePullBackOff

+
    +
  • +

    10 Real-World Kubernetes Troubleshooting Scenarios and Solutions 🌟 - This article provides practical, hands-on solutions for common Kubernetes production issues. It details 10 real-world scenarios, including ImagePullBackOff due to private registry authentication failure, and offers exact kubectl commands and steps for diagnosis and resolution. It also touches upon cloud-managed Kubernetes solutions and IAM roles for registry authentication.

    +
  • +
  • +

    blog.ediri.io: Kubernetes: ImagePullBackOff! How to keep your calm and fix this like a pro!

    +
  • +
+

CrashLoopBackOff

+ +

Failed to Create Pod Sandbox

+

Terminated with exit code 1 error

+

Pod in Terminating or Unknown Status

+ +

OOM Kills

+ +

Pause Container

+ +

Preempted Pod

+ +

Evited Pods

+ +

Stuck Namespace

+ +

Access PVC Data without the POD

+ +

CoreDNS issues

+ +

Debugging Techniques and Strategies. Debugging with ephemeral containers

+ +

Troubleshooting Tools

+ +

Komodor

+ +

Palaemon

+ +

cdebug and debug-ctr

+
    +
  • iximiuz/cdebug a swiss army knife of container debugging. It’s like “docker exec”, but it works even for containers without a shell (scratch, distroless, slim, etc). The “cdebug exec” command allows you to bring your own toolkit and start a shell inside of a running container.
  • +
  • felipecruz91/debug-ctr A commandline tool for interactive troubleshooting when a container has crashed or a container image doesn’t include debugging utilities, such as distroless images. Heavily inspired by kubectl debug, but for containers instead of Pods.
  • +
+

kubectl-debug

+
    +
  • github.com/JamesTGrant/kubectl-debug kubectl-debug is a tool that lets you debug a target container in a Kubernetes cluster by automatically creating a new, non-invasive, ‘debug’ container in the same PID, network, user, and IPC namespace as the target container without any disruption
  • +
+

Kubeshark

+ +

Slides

+
+Click to expand! +

+ +

+
+

Images

+
+Click to expand! +

+learnk8s debug your pods +

+
+

Tweets

+
+Click to expand! +

+ +

+

+

+

+

+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes-tutorials/index.html b/kubernetes-tutorials/index.html new file mode 100644 index 00000000..f5504716 --- /dev/null +++ b/kubernetes-tutorials/index.html @@ -0,0 +1,6628 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Tutorials - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes Tutorials

+
    +
  1. Introduction
  2. +
  3. Online Training
  4. +
  5. K8s Diagrams
  6. +
  7. Kubernetes Networking
  8. +
  9. Kubernetes Troubleshooting
  10. +
  11. Learning Tools
      +
    1. Neptune
    2. +
    +
  12. +
  13. Videos
  14. +
  15. Tweets
  16. +
+

Introduction

+ +

Online Training

+ +

K8s Diagrams

+

Kubernetes Networking

+ +

Kubernetes Troubleshooting

+ +

Learning Tools

+ +

Neptune

+
    +
  • exploreneptune.io 🌟 - [oslabs-beta/neptune]](https://github.com/oslabs-beta/neptune) Neptune is a light-weight, open-source dev tool which introduces developers to Kubernetes and get started with interacting with Kubernetes clusters.
      +
    • Get to know your Kubernetes cluster better with an easy-to-use monitoring tool
    • +
    • Render the metrics of your nodes, pods, and namespaces all in one easy to visualize UI. Focus on what matters, with built in alerts and cluster health monitoring.
    • +
    +
  • +
+

Videos

+ +
+Click to expand! +

+ + + + + +

+
+

Tweets

+
+Click to expand! +

+

+

+

+

+

+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kubernetes/index.html b/kubernetes/index.html new file mode 100644 index 00000000..811184d1 --- /dev/null +++ b/kubernetes/index.html @@ -0,0 +1,9633 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Kubernetes

+

“Kubernetes is not for application development but for platform development. Its magic is in enterprise standardization, not app portability” (Kelsey Hightower)

+
    +
  1. Must know Kubernetes concepts
  2. +
  3. Introduction
      +
    1. Kubernetes Jobs Market
    2. +
    3. Certified Kubernetes Offerings
    4. +
    5. The State of Cloud-Native Development
    6. +
    7. Kubernetes Failure Stories
    8. +
    9. Kubernetes Maturity Model
    10. +
    11. Cloud Native Learn by doing platforms
    12. +
    13. Kubernetes Scalability Thresholds
    14. +
    15. Kubernetes Installation Methods
    16. +
    17. Kubernetes Knowledge Hubs
        +
      1. Kubernetes Podcasts
      2. +
      3. Kubernetes Blogs
      4. +
      5. Spanish Kubernetes Blogs
      6. +
      +
    18. +
    +
  4. +
  5. Kubernetes Open Source Container Orchestation
      +
    1. KubeCon
    2. +
    3. kubeconfig
    4. +
    5. Kubernetes Manifests
    6. +
    7. Docker and Kubernetes
        +
      1. Kubernetes vs Docker
      2. +
      3. Kubernetes vs Docker Swarm
      4. +
      +
    8. +
    9. Kubernetes Admission Controllers
    10. +
    11. Kubernetes Mutating Webhooks
    12. +
    13. Kubernetes Cloud Controller Manager
    14. +
    15. Kubernetes Resources
        +
      1. Kubernetes Pods
      2. +
      3. Kubernetes ConfigMaps
      4. +
      5. Kubernetes Secrets
      6. +
      7. Kubernetes Volumes
      8. +
      9. Kubernetes Namespaces and Multi Tenancy. Self Service Namespaces
          +
        1. Kiosk Multi-Tenancy Extension for Kubernetes
        2. +
        3. Creating Users
        4. +
        +
      10. +
      11. Kubernetes Labels and Selectors
      12. +
      13. Kubernetes Taints and Tolerations
      14. +
      15. Kubernetes Deployment, ReplicaSet, Rollling Updates and Rollbacks
      16. +
      17. Kubernetes StatefulSet
      18. +
      19. Kubernetes DaemonSets
      20. +
      21. Kubernetes Jobs and Cron Jobs
      22. +
      23. Kubernetes Services
      24. +
      +
    16. +
    17. Kubernetes Deployment Strategies
    18. +
    19. Kubernetes API
        +
      1. Multi-Cluster Services API
      2. +
      +
    20. +
    21. Kubernetes Health Checks/Probes. Startup, Liveness, Readiness
    22. +
    23. Reserved CPU and memory in Kubernetes nodes
    24. +
    25. Kubernetes Quality of Service QOS. Kubernetes Resource and Capacity Management. Capacity Planning. Resource Quotas per namespace, LimitRanges per namespace, Limits and Requests per POD
    26. +
    27. Kubernetes Scheduler. Kube Scheduler
        +
      1. Pod rebalancing and allocations. Pod Priorities
      2. +
      +
    28. +
    29. Kubernetes etcd
    30. +
    31. Kubernetes Sidecars
    32. +
    33. Kubernetes Annotations
    34. +
    35. Kubernetes Best Practices and Tips
    36. +
    37. Disruptions
    38. +
    39. Cost Estimation Strategies
        +
      1. kubecost
      2. +
      +
    40. +
    41. Architecting Kubernetes clusters. Node Size. Multi Clusters and Hybrid Cloud
        +
      1. Wide Cluster instead of Multi-Cluster
      2. +
      +
    42. +
    +
  6. +
  7. Client Libraries for Kubernetes
  8. +
  9. Helm Kubernetes Tool
  10. +
  11. Templating YAML in Kubernetes with real code. YQ YAML processor
  12. +
  13. Extending Kubernetes
      +
    1. Adding Custom Resources. Extending Kubernetes API with Kubernetes Resource Definitions. CRD vs Aggregated API
    2. +
    3. Krew, a plugin manager for kubectl plugins
    4. +
    5. OpenKruise/Kruise
    6. +
    7. Crossplane, a Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions
    8. +
    +
  14. +
  15. Kubernetes Community
      +
    1. Community Forums
    2. +
    3. Kubernetes Special Interest Groups (SIGs)
        +
      1. Kubernetes SIG’s Repos
      2. +
      3. Kubectl Plugins
      4. +
      +
    4. +
    +
  16. +
  17. Enforcing Policies and governance for kubernetes workloads with Conftest
  18. +
  19. Kubernetes Patterns and Antipatterns. Service Discovery
  20. +
  21. Kubernetes Scheduling and Scheduling Profiles
      +
    1. Assigning Pods to Nodes. NodeSelector, Pod Affinity and Anti-Affinity
    2. +
    3. Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin
    4. +
    +
  22. +
  23. Cloud Development Kit (CDK) for Kubernetes
      +
    1. AWS Cloud Development Kit (AWS CDK)
    2. +
    +
  24. +
  25. Serverless with OpenFaas and Knative
  26. +
  27. Virtual Kubernetes Clusters
  28. +
  29. Multi-Cluster Federation. Hybrid Cloud Setup Tools
      +
    1. KubeFed
    2. +
    3. KubeCarrier
    4. +
    5. Red Hat Operator Lifecycle Manager (OLM)
    6. +
    7. Istio Service Mesh
    8. +
    +
  30. +
  31. Multi-Regional Architecture
  32. +
  33. Kubernetes in Kubernetes
  34. +
  35. Kubernetes Scripts
      +
    1. Kubernetes and Ansible
    2. +
    +
  36. +
  37. Spot instances in Kubernetes
  38. +
  39. Kubernetes on Windows
  40. +
  41. Kubernetes Incident Report Plan IRP
  42. +
  43. Kubernetes Certifications. CKA, CKAD and CKS
  44. +
  45. Books and eBooks
      +
    1. Kubernetes Patterns eBooks
    2. +
    3. Famous Kubernetes ebooks of 2019
    4. +
    +
  46. +
  47. Famous Kubernetes resources of 2019
  48. +
  49. Famous Kubernetes resources of 2020
  50. +
  51. Compliant Kubernetes
  52. +
  53. PCI SSC (Payment Card Industry Security Standards Council)
  54. +
  55. Kubernetes Slack Channel
  56. +
  57. Bunch of images
  58. +
  59. Videos
  60. +
  61. Spanish Videos
  62. +
  63. Tweets
  64. +
  65. Tweets 2
  66. +
  67. Memes
  68. +
+

+ + +

+

Must know Kubernetes concepts

+
    +
  • Workloads: Node, Cluster, Pod, Namespace
  • +
  • Pod Controllers: Deployment, ReplicaSet, DaemonSet, StatefulSet, HPA PodDisruptionBudget, Job, CronJob
  • +
  • Configuration: ConfigMaps, Secrets
  • +
  • Networking: Ingress, Service, Network Policy
  • +
+

Introduction

+ +

Kubernetes Jobs Market

+ +

Certified Kubernetes Offerings

+ +

The State of Cloud-Native Development

+ +

Kubernetes Failure Stories

+ +

Kubernetes Maturity Model

+
    +
  • fairwinds.medium.com: Kubernetes Maturity Model
  • +
  • fairwinds.medium.com: An Introduction to the Kubernetes Maturity Model — How to Use It
      +
    • The Fairwinds team developed the Kubernetes Maturity Model over a year ago, and they continue to update and refine it to reflect the five stages you go through in your journey to Kubernetes maturity.
    • +
    • If the Kubernetes Maturity Model is new to you, this is a helpful introduction and guide on how to use it.
    • +
    • Before you do anything, consider what a cloud-native journey means to you and your organization. Kubernetes isn’t right for everyone, so make sure you understand where to start and how to prove value by embracing Kubernetes.
    • +
    • Any maturity model is a process, and you’re likely to move back and forth between phases, and some will take longer than others. Even once you’ve reached phase five, you’ll always be working on ongoing optimization, removing human error and effort, and improving reliability and efficiency.
    • +
    +
  • +
+

Cloud Native Learn by doing platforms

+ +

Kubernetes Scalability Thresholds

+ +

Kubernetes Installation Methods

+ + +

Kubernetes Knowledge Hubs

+ +

Kubernetes Podcasts

+ +

Kubernetes Blogs

+ +

Spanish Kubernetes Blogs

+ +
+

Kubernetes Open Source Container Orchestation

+ +

KubeCon

+ +

kubeconfig

+ +

Kubernetes Manifests

+ +

Docker and Kubernetes

+ +

Kubernetes vs Docker

+ +

Kubernetes vs Docker Swarm

+ +

Kubernetes Admission Controllers

+ +

Kubernetes Mutating Webhooks

+
    +
  • medium.com/@pflooky: Intro to Kubernetes Mutating Webhooks (get more out of Kubernetes)
      +
    • In its simplest terms, a MutatingWebhookConfiguration defines a webhook application to alter a Kubernetes resource when a particular action is taken on it. For example, if I wanted to add particular labels to all the pods that are created, it could be done by a mutating webhook which watches for all CREATE POD events and adds the labels to that pod before it gets deployed.
    • +
    • Why: As the development teams put larger workloads into Kubernetes, managing all of the resources becomes quite difficult as there may be different deployment patterns and life cycles. Mutating webhooks give you the ability to target changes to any Kubernetes resource regardless of their deployment mechanisms and alter them before or after any point within the life cycle.
    • +
    • Some use cases where it could be used include:
        +
      • Metadata management: include useful metadata about team, environment or type of workload to each Kubernetes resource
      • +
      • Attaching sidecar processes: add a log listener to particular pods
      • +
      • Secret management: apply consistent secret retrieval across all resources
      • +
      • Deployment configuration: could add environment variables or configmaps on the fly to pods
      • +
      +
    • +
    +
  • +
+

Kubernetes Cloud Controller Manager

+ +

Kubernetes Resources

+ +

Kubernetes Pods

+ +

Kubernetes ConfigMaps

+ +

Kubernetes Secrets

+ +

Kubernetes Volumes

+ +

Kubernetes Namespaces and Multi Tenancy. Self Service Namespaces

+ +
Kiosk Multi-Tenancy Extension for Kubernetes
+
    +
  • loft-sh/kiosk kiosk Multi-Tenancy Extension For Kubernetes - Secure Cluster Sharing & Self-Service Namespace Provisioning.
  • +
  • Kubernetes is designed as a single-tenant platform, which makes it hard for cluster admins to host multiple tenants in a single Kubernetes cluster. However, sharing a cluster has many advantages, e.g. more efficient resource utilization, less admin/configuration effort or easier sharing of cluster-internal resources among different tenants.
  • +
  • While there are hundreds of ways of setting up multi-tenant Kubernetes clusters and many Kubernetes distributions provide their own tenancy logic, there is no lightweight, pluggable and customizable solution that allows admins to easily add multi-tenancy capabilities to any standard Kubernetes cluster.
  • +
+
Creating Users
+
    +
  • cloudhero.io Creating Users for your Kubernetes Cluster. Learn how to use x509 certificates to authenticate users in your cluster.
  • +
+

Kubernetes Labels and Selectors

+ +

Kubernetes Taints and Tolerations

+ +

Kubernetes Deployment, ReplicaSet, Rollling Updates and Rollbacks

+ +

Kubernetes StatefulSet

+ +

Kubernetes DaemonSets

+ +

Kubernetes Jobs and Cron Jobs

+ +

Kubernetes Services

+ +

Kubernetes Deployment Strategies

+ +

Kubernetes API

+ +

Multi-Cluster Services API

+ +

Kubernetes Health Checks/Probes. Startup, Liveness, Readiness

+ +

Reserved CPU and memory in Kubernetes nodes

+ +

Kubernetes Quality of Service QOS. Kubernetes Resource and Capacity Management. Capacity Planning. Resource Quotas per namespace, LimitRanges per namespace, Limits and Requests per POD

+ +

Kubernetes Scheduler. Kube Scheduler

+ +

Pod rebalancing and allocations. Pod Priorities

+ +

Kubernetes etcd

+ +

Kubernetes Sidecars

+ +

Kubernetes Annotations

+ +

Kubernetes Best Practices and Tips

+ +

+k8s experts be like +

+

Disruptions

+ +

Cost Estimation Strategies

+ +

kubecost

+ +

+ +

+

Architecting Kubernetes clusters. Node Size. Multi Clusters and Hybrid Cloud

+ +

Wide Cluster instead of Multi-Cluster

+ +

Client Libraries for Kubernetes

+ +

Helm Kubernetes Tool

+ +

Templating YAML in Kubernetes with real code. YQ YAML processor

+ +

Extending Kubernetes

+

Adding Custom Resources. Extending Kubernetes API with Kubernetes Resource Definitions. CRD vs Aggregated API

+
    +
  • Custom Resources
  • +
  • itnext.io: CRD is just a table in Kubernetes
  • +
  • Use a custom resource (CRD or Aggregated API) if most of the following apply:
      +
    • You want to use Kubernetes client libraries and CLIs to create and update the new resource.
    • +
    • You want top-level support from kubectl; for example, kubectl get my-object object-name.
    • +
    • You want to build new automation that watches for updates on the new object, and then CRUD other objects, or vice versa.
    • +
    • You want to write automation that handles updates to the object.
    • +
    • You want to use Kubernetes API conventions like .spec, .status, and .metadata.
    • +
    • You want the object to be an abstraction over a collection of controlled resources, or a summarization of other resources.
    • +
    +
  • +
  • Kubernetes provides two ways to add custom resources to your cluster:
      +
    • CRDs are simple and can be created without any programming.
    • +
    • API Aggregation requires programming, but allows more control over API behaviors like how data is stored and conversion between API versions.
    • +
    +
  • +
  • Kubernetes provides these two options to meet the needs of different users, so that neither ease of use nor flexibility is compromised.
  • +
  • Aggregated APIs are subordinate API servers that sit behind the primary API server, which acts as a proxy. This arrangement is called API Aggregation (AA). To users, it simply appears that the Kubernetes API is extended.
  • +
  • CRDs allow users to create new types of resources without adding another API server. You do not need to understand API Aggregation to use CRDs.
  • +
  • Regardless of how they are installed, the new resources are referred to as Custom Resources to distinguish them from built-in Kubernetes resources (like pods).
  • +
  • github.com/datreeio/CRDs-catalog: CRDs Catalog Over 300 popular Kubernetes CRDs (CustomResourceDefinition) in JSON schema format.
  • +
  • dev.to: Creating a Custom Resource Definition In Kubernetes | Michael Levan
  • +
+

Krew, a plugin manager for kubectl plugins

+ +

OpenKruise/Kruise

+ +

Crossplane, a Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions

+ +

Kubernetes Community

+

Community Forums

+ +

Kubernetes Special Interest Groups (SIGs)

+ +

Kubernetes SIG’s Repos

+ +

Kubectl Plugins

+ +
+Video: Kubectl plugins. Click to expand! +

+ +

+
+

Enforcing Policies and governance for kubernetes workloads with Conftest

+ +

Kubernetes Patterns and Antipatterns. Service Discovery

+ +

Top 10 Kubernetes patterns

+

Kubernetes Scheduling and Scheduling Profiles

+ +

Assigning Pods to Nodes. NodeSelector, Pod Affinity and Anti-Affinity

+ +

Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin

+ +

Cloud Development Kit (CDK) for Kubernetes

+
    +
  • cdk8s.io Define Kubernetes apps and components using familiar languages. cdk8s is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs. cdk8s apps synthesize into standard Kubernetes manifests which can be applied to any Kubernetes cluster.
  • +
  • github.com/awslabs/cdk8s
  • +
+

AWS Cloud Development Kit (AWS CDK)

+
    +
  • AWS: Introducing CDK for Kubernetes
  • +
  • Traditionally, Kubernetes applications are defined with human-readable, static YAML data files which developers write and maintain. Building new applications requires writing a good amount of boilerplate config, copying code from other projects, and applying manual tweaks and customizations. As applications evolve and teams grow, these YAML files become harder to manage. Sharing best practices or making updates involves manual changes and complex migrations.
  • +
  • YAML is an excellent format for describing the desired state of your cluster, but it is does not have primitives for expressing logic and reusable abstractions. There are multiple tools in the Kubernetes ecosystem which attempt to address these gaps in various ways: +
  • +
  • We realized this was exactly the same problem our customers had faced when defining their applications through CloudFormation templates, a problem solved by the AWS Cloud Development Kit (AWS CDK), and that we could apply the same design concepts from the AWS CDK to help all Kubernetes users.
  • +
+

Serverless with OpenFaas and Knative

+ +

+Serverless +

+

Virtual Kubernetes Clusters

+ +

Multi-Cluster Federation. Hybrid Cloud Setup Tools

+

KubeFed

+ +

KubeCarrier

+ +

Red Hat Operator Lifecycle Manager (OLM)

+
    +
  • Red Hat OLM operator-lifecycle-manager is a management framework for extending Kubernetes with Operators. OLM extends Kubernetes to provide a declarative way to install, manage, and upgrade Operators and their dependencies in a cluster.
  • +
+

Istio Service Mesh

+ +

Multi-Regional Architecture

+ +

Kubernetes in Kubernetes

+ +

Kubernetes Scripts

+ +

Kubernetes and Ansible

+ +

Spot instances in Kubernetes

+ +

Kubernetes on Windows

+ +

Kubernetes Incident Report Plan IRP

+ +

Kubernetes Certifications. CKA, CKAD and CKS

+ +

Books and eBooks

+ +

Kubernetes Patterns eBooks

+ +

Famous Kubernetes ebooks of 2019

+ +

+Kubernetes: Up and Running +

+

Famous Kubernetes resources of 2019

+ +

Famous Kubernetes resources of 2020

+ +

Compliant Kubernetes

+ +

PCI SSC (Payment Card Industry Security Standards Council)

+ +

Kubernetes Slack Channel

+ +

Bunch of images

+
+Click to expand! +

+

Kubernetes architecture

+

10 most common mistakes

+

5 Open-source projects that make #Kubernetes even better

+

kubernetes arch multicloud hybrid

+

Kubernetes components

+

Container flowchart

+

dockerswarm vs kubernetes

+

simple k8s cluster meme

+

Kubernetes not endgame

+

k8s namespaces

+

K8s arch mindmap

+

k8s stack pionative +

+
+

Videos

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + +
+
+ +

Spanish Videos

+
+Click to expand! +

+ +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +

Tweets 2

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +

Memes

+
+Click to expand! +

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+
+ + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kustomize/index.html b/kustomize/index.html new file mode 100644 index 00000000..02722bf2 --- /dev/null +++ b/kustomize/index.html @@ -0,0 +1,6465 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kustomize - Template-Free Kubernetes Configuration Customization - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Template-Free Configuration Customization with Kustomize (Kubernetes Native Configuration Management)

+
    +
  1. Introduction
  2. +
  3. Secretize plugin
  4. +
  5. Comparison between Helm and Kustomize for Kubernetes yaml management
  6. +
  7. Boilerplate
  8. +
  9. Videos
  10. +
+

Introduction

+ +

Secretize plugin

+
    +
  • Secretize 🌟 Secretize is a kustomize plugin that helps generating kubernetes secrets from various sources such as AWS Secret Manager & Azure Vault. It’s like a swiss army knife, but for kubernetes secrets.
  • +
+

Comparison between Helm and Kustomize for Kubernetes yaml management

+ +

Boilerplate

+ +

Videos

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux-dev-env/index.html b/linux-dev-env/index.html new file mode 100644 index 00000000..14b551ff --- /dev/null +++ b/linux-dev-env/index.html @@ -0,0 +1,6436 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WSL - Linux Dev Environment on Windows - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

WSL: Linux Dev Environment on Windows

+ +

Windows Terminal

+ +

Windows Package Manager

+ +

ASDF-VM

+
    +
  • asdf version manager (asdf-vm) is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like gvm, nvm, rbenv & pyenv (and more) all in one! Simply install your language’s plugin!
  • +
+

Alternatives to WSL on Windows

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/linux/index.html b/linux/index.html new file mode 100644 index 00000000..7a6288d2 --- /dev/null +++ b/linux/index.html @@ -0,0 +1,7189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Linux & SSH - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Linux and SSH

+
    +
  1. Introduction
  2. +
  3. RHEL
  4. +
  5. Rocky Linux
  6. +
  7. VIM
  8. +
  9. Neovim
  10. +
  11. SSH
  12. +
  13. OpenSSL
  14. +
  15. Linux Blogs
  16. +
  17. Spanish Linux Blogs
  18. +
  19. Youtube
  20. +
  21. Reddit
  22. +
  23. Linux Commands and Tools
  24. +
  25. Makefiles
  26. +
  27. Guestfish
  28. +
  29. BusyBox
  30. +
  31. Bash
  32. +
  33. Questions and Answers
  34. +
  35. Automation. Bash VS Python VS JavaScript
  36. +
  37. Zsh
  38. +
  39. ZX
  40. +
  41. bpftrace
  42. +
  43. Linux processes
  44. +
  45. Linux Memory
  46. +
  47. KVM
  48. +
  49. Linux and Kubernetes
      +
    1. Systemd
    2. +
    3. Blogs
    4. +
    5. CommandLineFu
    6. +
    7. Wait until Your Dockerized Database Is Ready before Continuing
    8. +
    9. Copr Build System
    10. +
    11. Pulp
    12. +
    13. Hashicorp
    14. +
    +
  50. +
  51. Linux Libraries
  52. +
  53. Linux Networking
  54. +
  55. Networking Protocols
  56. +
  57. Linux Hardening Security
  58. +
  59. Images
  60. +
  61. Videos
  62. +
  63. Tweets
  64. +
+

Introduction

+

RHEL

+ +

Rocky Linux

+ +

VIM

+ +

Neovim

+ +

SSH

+ +

OpenSSL

+ +

Linux Blogs

+ +

Spanish Linux Blogs

+ +

Youtube

+ +

Reddit

+ +

Linux Commands and Tools

+ +

Makefiles

+ +

Guestfish

+ +

BusyBox

+ +

Bash

+ +

Questions and Answers

+ +

Automation. Bash VS Python VS JavaScript

+ +

Zsh

+
    +
  • Oh My Zsh Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes, and a few things that make you shout…
  • +
  • zshdb.readthedocs.io zshdb - a gdb-like debugger for zsh
  • +
  • github.com/zsh-users/zsh-autosuggestions 🌟 Fish-like autosuggestions for zsh
  • +
+

ZX

+
    +
  • zx A tool for writing better scripts
  • +
+

bpftrace

+ +

Linux processes

+ +

Linux Memory

+ +

KVM

+ +

Linux and Kubernetes

+ +

Systemd

+ +

Blogs

+ +

CommandLineFu

+ +

Wait until Your Dockerized Database Is Ready before Continuing

+ +

Copr Build System

+
    +
  • Building a repo with RPM packages from PyPI is super easy using Copr.
  • +
  • copr.fedorainfracloud.org Copr is an easy-to-use automatic build system providing a package repository as its output.
  • +
  • Copr
  • +
+

Pulp

+
    +
  • pulpproject.org Fetch, Upload, Organize, and Distribute Software Packages.
  • +
+

Hashicorp

+ +

Linux Libraries

+ +

Linux Networking

+ +

Networking Protocols

+ +

Linux Hardening Security

+ +

Images

+
+Click to expand! +

+the art of command line +

+
+

Videos

+
+Click to expand! +

+ +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/liquibase/index.html b/liquibase/index.html new file mode 100644 index 00000000..c3652bcc --- /dev/null +++ b/liquibase/index.html @@ -0,0 +1,6469 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Database Version Control. Liquibase, Flyway and PlanetScale - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Database Version Control. Liquibase, Flyway and PlanetScale

+ +

Evolutionary Database. Database Version Control with Liquibase, Flyway and more

+
    +
  1. Evolutionary Database. Database Version Control with Liquibase, Flyway and more
  2. +
  3. Evolutionary Database Design
  4. +
  5. Liquibase
  6. +
  7. Flyway
  8. +
  9. Liquibase vs. Flyway
  10. +
  11. PlanetScale
  12. +
  13. Bytebase
  14. +
  15. AtlasGo
  16. +
+

Evolutionary Database Design

+ +

Liquibase

+ +

Flyway

+ +

Liquibase vs. Flyway

+ +

PlanetScale

+ +

Bytebase

+
    +
  • https://bytebase.com Database schema change and version control for teams. Bytebase offers a web-based collaboration workspace to help DBAs and Developers manage the lifecycle of application database schemas.
  • +
  • bytebase/bytebase Web-based, zero-config, dependency-free database schema change and version control tool for teams.
  • +
+

AtlasGo

+
    +
  • https://atlasgo.io Terraform but for Database Migrations. Manage your database schemas with Atlas CLI. Atlas CLI is an open source tool that helps developers manage their database schemas by applying modern DevOps principles. Contrary to existing tools, Atlas intelligently plans schema migrations for you, based on your desired state.
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lowcode-nocode/index.html b/lowcode-nocode/index.html new file mode 100644 index 00000000..6fddc30e --- /dev/null +++ b/lowcode-nocode/index.html @@ -0,0 +1,6342 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Low Code and No Code - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Low Code and No Code

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/managed-kubernetes-in-public-cloud/index.html b/managed-kubernetes-in-public-cloud/index.html new file mode 100644 index 00000000..125e83fb --- /dev/null +++ b/managed-kubernetes-in-public-cloud/index.html @@ -0,0 +1,7227 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Managed kubernetes in public clouds - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Managed Kubernetes in Public Cloud

+
    +
  1. Introduction
  2. +
  3. Terraform Kubernetes Boilerplates
  4. +
  5. GKE vs EKS vs AKS
  6. +
  7. Other Managed Kubernetes
  8. +
  9. AWS EKS (Hosted/Managed Kubernetes on AWS)
      +
    1. EKS Upgrades
    2. +
    3. EKS and IaC with Crossplane
    4. +
    5. AWS EKS Vs ECS Vs Fargate
    6. +
    7. EKS Anywhere (on premises)
    8. +
    9. EKS Distro (EKS-D)
    10. +
    11. Testing Kubernetes Canary deployment on EKS
    12. +
    +
  10. +
  11. AKS Azure Kubernetes Service
      +
    1. AKS Releases
    2. +
    3. AKS Lite
    4. +
    5. Draft 2 on AKS
    6. +
    +
  12. +
  13. GKE Google Kubernetes Engine
  14. +
  15. IKS IBM Cloud Kubernetes Service
  16. +
  17. Linode Kubernetes Engine LKE
  18. +
  19. DOKS Digital Ocean Kubernetes
  20. +
  21. Oracle Cloud Kubernetes
  22. +
  23. Provisioning cloud resources (AWS, GCP, Azure) in Kubernetes
  24. +
  25. Kubesphere
  26. +
  27. Giant Swarm
  28. +
  29. Tools for multi-cloud Kubernetes management
  30. +
  31. Videos
  32. +
  33. Tweets
  34. +
+

Introduction

+ + +

Terraform Kubernetes Boilerplates

+ +
+

GKE vs EKS vs AKS

+ +

Other Managed Kubernetes

+
    +
  • thenewstack.io: Otomi Container Platform Offers an Integrated Kubernetes Bundle If you want to enjoy the benefits of Kubernetes, configuring and installing the software itself can be just the first of many deeply technical and oftentimes confusing steps. To simplify this, many major cloud providers offer managed Kubernetes services, but even then you may need to install secondary services to handle tasks such as tracing, logging, monitoring, identity access management, and so on. The Otomi Container Platform looks to address this complexity by bundling together more than 30 different Kubernetes add-ons, as well as providing what it calls an “OSX like interface,” and today the project has open sourced a community edition under the Apache 2.0 license. +
  • +
+

AWS EKS (Hosted/Managed Kubernetes on AWS)

+ +

EKS Upgrades

+ +

EKS and IaC with Crossplane

+ +

AWS EKS Vs ECS Vs Fargate

+ +

EKS Anywhere (on premises)

+ +

EKS Distro (EKS-D)

+
    +
  • aws/eks-distro Amazon EKS Distro (EKS-D) is a Kubernetes distribution based on and used by Amazon Elastic Kubernetes Service (EKS) to create reliable and secure Kubernetes clusters.
  • +
+

Testing Kubernetes Canary deployment on EKS

+ +

AKS Azure Kubernetes Service

+ +

AKS Releases

+

AKS Lite

+ +

Draft 2 on AKS

+ +

GKE Google Kubernetes Engine

+ +

IKS IBM Cloud Kubernetes Service

+ +

Linode Kubernetes Engine LKE

+ +

DOKS Digital Ocean Kubernetes

+ +

Oracle Cloud Kubernetes

+ +

Provisioning cloud resources (AWS, GCP, Azure) in Kubernetes

+ +

Kubesphere

+ +

Giant Swarm

+
    +
  • Giant Swarm Giant Swarm offers a fully managed, open source Kubernetes platform with all the flexibility and support you need.
  • +
  • giantswarm.io: 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

+ +

Videos

+ +
+ Click to expand! + +
+ + + + +
+
+ +

Tweets

+
+ Click to expand! + +
+ + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/matrix-table/index.html b/matrix-table/index.html new file mode 100644 index 00000000..c684b998 --- /dev/null +++ b/matrix-table/index.html @@ -0,0 +1,6986 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes Distributions & Installers - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + +
+
+ + + + +

Kubernetes Distributions & Installers Matrix Table

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Kubernetes Installer or DistributionRoleEcosystemInfra ProviderOn-PremiseLicenceHAStandaloneRuns in DockerIngress + Storage
included
Automated
Deployment
Details
kubeadmSRE / DevOpsKubernetes UpstreamMulti platformYesOSSYesNoNoNoNoOfficial kubernetes deployment tool
Ansible role for kubeadm automationSRE / DevOpsKubernetes UpstreamVirtual MachineYesOSSYesYesNoYes (storage?)NoAnsible role for kubeadm automation
KopsSRE / DevOpsKubernetes UpstreamAWSNoOSSYesNoNoYesYesAWS compliant, alpha release
for other providers
MinikubeDevelKubernetes UpstreamDektop Virtual MachineYesOSSNoYesNoNoYesOfficial development environment
Docker Desktop on WindowsDevelKubernetes UpstreamDesktop Virtual MachineYesOSSNoYesYesNoYesDevelopment environment available in
Docker Desktop on Windows
Rancher 2SRE / DevOpsMulti-cloud kubernetes
management
Virtual MachineYesOSSYesNoNoNoNoRacher is an enterprise kubernetes installer
that competes with OpenShift.
Rancher 2 RKESRE / DevOpsRancherVirtual MachineYesOSSYesYesYesnonoRancher 2 that runs in docker containers.
K3sSRE / DevOps / IoTRancherVirtual MachineYesOSSYesYesNoYesYesBasic kubernetes with automated installer.
K3dSRE / DevOps / IoTRancherVirtual MachineYesOSSYesYesYesYesYesk3s that runs in docker containers.
K3sup (said ‘ketchup’)SRE / DevOps / IoTRancherVirtual MachineYesOSSYesYesNoYesYesget from zero to KUBECONFIG with k3s on any local or remote VM
K3OSSRE / DevOps / IoTRancherVirtual MachineYesOSSYesYesNoYesYesLinux distribution designed to remove as much OS maintenance as
possible in a Kubernetes cluster
K3cDevelRancherLinuxYesOSSNoYesNoNoYesLightweight local container engine for container development (experiment)
Microk8sDevel / IoTKubernetes UpstreamVirtual MachineYesOSSYes (beta)YesNoYesYesUbuntu. It compites with k3s.
PharosSRE / DevOPs / IoTKubernetes UpstreamMulti PlatformYesOSSYesYesNoYesYesPharos is a vendor neutral community driven Kubernetes that works on any infrastructure at any scale. It works flawlessly on public clouds, private clouds, hybrid clouds, on-premises, bare metal or at the edge, no problem!
OKDSRE / DevOpsOpenShiftVirtual MachineYesOSSYesYesNoYes
(okd-community-install)
Yes
(okd-community-install)
okd-community-install is a standalone cluster
of 1 node valid for small projects.
Minishift [ARCHIVED]DevelOpenShiftDesktop Virtual MachineYesOSSNoYesNoNoYesOpenShift 3 official development environment.
OCP 4 CodeReady ContainersDevelOpenShiftDesktop Virtual MachineYesOSSNoYesNoNoYesOpenShift 4 official development environment
OCP 4 Public CloudSRE / DevOpsOpenShiftAWS, GCP, AzureNoYesYesNoNoYesYesOpenShift in Public Cloud
OpenShift DedicatedSRE / DevOpsOpenShiftAWSNoYesYesNoNoYesYesOpenShift In AWS managed by Red Hat
OCP 4 Private Cloud 1SRE / DevOpsOpenShiftOpenStack,
Red Hat Virtualization
YesYesYesNoNoYesYesOpenShift in private cloud with automated
deployment recommeded by Red Hat.
OCP 4 Private Cloud 2SRE / DevOpsOpenShiftvSphere 6.7 U2, Bare MetalYesYesYesNoNoYesNoOpenShift in private cloud with infra providers
that currently don’t support automated
deployments.
AWS EKSSRE / DevOpsAWS KubernetesAWSNoN/AYesNoNoYesYesManaged kubernetes by AWS
Google kubernetes Engine (GKE)SRE / DevOpsGoogle KubernetesGCPNoN/AYesNoNoYesYesManaged kubernetes by Google Cloud
Digital Ocean KubernetesSRE / DevOpsDigital Ocean KubernetesDigital OceanNoN/AYesNoNoYesYesManaged kubernetes by Digital Ocean Cloud
Alibaba Container Service for kubernetes (ACK)SRE / DevOpsAlibaba KubernetesAlibaba CloudNoN/AYesNoNoyesYes
Oracle Kubernetes Engine (OKE)SRE / DevOpsOracle KubernetesOracle CloudNoN/AYesNoNoYesYesManaged kubernetes by Oracle Cloud
Terraform (kubernetes the hard way)SRE / DevOpsKubernetes UpstreamAWS EKS, Google GKE,
Azure AKS, Digital Ocean,
Alibaba, Oracle Cloud
NoN/AYesNoNoYesNokubernetes 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 CloudSRE / DevOpsKubernetes UpstreamAWS, GCE, Azure,
Oracle Cloud (experimental)
YesOSSYesYesNoYesYes
Kubespray on Private CloudSRE / DevOpsKubernetes UpstreamOpenStack, vSphere,
Packet (bare metal), or baremetal
YesOSSYesYesNoYesNo
Conjure-up SRE / DevOpsKubernetes UpstreamYesOSSYesYesNoYesYes
weave.worksSRE / DevOps / DevelKubernetes Upstream
WKSctlSRE / DevOpsKubernetes UpstreamYesOSSYesYesNoYesYes
CaravanSRE / DevOpsKubernetes UpstreamYesOSSYesYesNoYesYes
ClusterAPISRE / DevOpsKubernetes UpstreamYesOSSYesNoNoNo
KindDevelKubernetes UpstreamYesOSSNoYesYesNoYesNot designed for production use; it is intended for development and
testing environments.
k0sSRE / DevOpsYesOSSYesYesNoYesYesDeveloped by Mirantis
Ubuntu Charmed KubernetesSRE / DevOps / DevelKubernetes Upstream
VMware Pivotal Container Service (PKS)SRE / DevOpsPKS / Cloud Foundry PaaS
(no kubernetes)
vSphere, multi-cloud, public-cloudYesYesYesNoNoYesYesPivotal Container Service (PKS) adquired by VMware in 2019.
Cloud Foundry PaaS that compites with kubernetes.
VMware vSphere 7 with KubernetesSRE / DevOpsVMware KubernetesvSphereYesYesYesNoNoYesYesVMware’s kubernetes
VMware Kubernetes Tanzu (PKS renamed)SRE / DevOpsVMware KubernetesvSphere, multi-cloud, public-cloudYesYesYesNoNoYesYesEmbed kubernetes natively into vSphere. Competes with OpenShift.
Mirantis Docker Enterprise 3.1+ with KubernetesSRE / DevOpsMirantis Kubernetesmulti-cloud, private & public cloudYesYesYesNoNoYesYesIstio, Windows and Linux Worker nodes
Giant SwarmPlatform Engineers / SRE / DevOpsKubernetes UpstreamMulti-platform, multi-cloud (AWS, GCP, Azure, vSphere, VMWare Cloud Director, Openstack)YesOSSYesYesNoYesYesGiant Swarm is a Operate Services Provider enabling your platform team improving platform engineering capabilities and taking over the responsibility of 24x7. Giant Swarm offers out-of-the-box Clound Native Developer Platforms sorley build with Open-Source Tools to manage Kubernetes and all the necessary capabilities around Security, Connectivity, Observability and Developer Experience.
K8eSimple Kubernetes Distribution. Builds on upstream project K3s as codebase, remove Edge/IoT features and extend enterprise features with best practices
TyphoonMinimal and free Kubernetes distribution with Terraform
LKELinode Kubernetes Engine
+

|====================================|==================|======================|==========================| | | | | | | |=============================================|==============================================================================|

+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maven-gradle/index.html b/maven-gradle/index.html new file mode 100644 index 00000000..881e6f36 --- /dev/null +++ b/maven-gradle/index.html @@ -0,0 +1,6690 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Maven, Gradle & SDKMAN - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Maven, Gradle & SDKMAN

+
    +
  1. Apache Maven
      +
    1. Scaffolding a project with Maven (maven archetype)
    2. +
    3. Maven Tests
    4. +
    5. Dependency Resolution in Maven
    6. +
    7. Maven and Docker
    8. +
    9. IDEs
        +
      1. Intellij IDEA
      2. +
      +
    10. +
    11. Maven Plugins
    12. +
    13. Maven Cheat Sheets
    14. +
    15. Other Commands
    16. +
    17. Docker Maven Plugin (fabric8)
    18. +
    19. Fabric8 Maven Plugin (deprecated)
    20. +
    +
  2. +
  3. Eclipse JKube (formerly known as Fabric8 Maven Plugin) - Kubernetes & OpenShift Maven and Gradle Plugins
  4. +
  5. Gradle
      +
    1. Gradle Cheat Sheets
    2. +
    +
  6. +
  7. SDKMAN
  8. +
  9. Related Tools
  10. +
+

Apache Maven

+ +

Scaffolding a project with Maven (maven archetype)

+ +

Maven Tests

+ +

Dependency Resolution in Maven

+ +
mvn dependency:analyze  (shows you the usage of listed and unlisted dependencies)
+mvn dependency:resolve  (give me a list of everything I have declared, a nice way to avoid reading the POM file)
+mvn dependency:tree     (how you got something on your classpath)
+
+

Maven and Docker

+ +

IDEs

+ +

Intellij IDEA

+ +

Maven Plugins

+ +

Maven Cheat Sheets

+ +

Other Commands

+
    +
  • Display contents of a jar file:
  • +
+
jar tf target/example-1.0.0-SNAPSHOT.jar
+
+

Docker Maven Plugin (fabric8)

+
    +
  • docker-maven-plugin This is a Maven plugin for building Docker images and managing containers for integration tests. It works with Maven 3.0.5 and Docker 1.6.0 or later.
  • +
+

Fabric8 Maven Plugin (deprecated)

+ +

Eclipse JKube (formerly known as Fabric8 Maven Plugin) - Kubernetes & OpenShift Maven and Gradle Plugins

+ +

Gradle

+ +

Gradle Cheat Sheets

+ +

SDKMAN

+
    +
  • SdkMan is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems. It provides a convenient Command Line Interface (CLI) and API for installing, switching, removing and listing Candidates. Formerly known as GVM the Groovy enVironment Manager, it was inspired by the very useful RVM and rbenv tools, used at large by the Ruby community.
  • +
  • Using Jenkins Pipeline parallel stages to build Maven project with different JDKs
  • +
  • Demo: A single Jenkinsfile, a Java Maven project, a single Dockerfile, multiple Java versions build and tested in parallel thanks to SDKMAN: +
  • +
+ +
    +
  • jitpack.io 🌟 Easy to use package repository for Git. Publish your JVM and Android libraries. Publishing your own library to the Maven Central repository may be a painful experience. Therefore, you may just create a GitHub Release for your library, and then include it as a dependency using jitpack.
  • +
  • JBang Run Java code directly. Reuse Maven dependencies with ease. Lets Students, Educators and Professional Developers create, edit and run self-contained source-only Java programs with unprecedented ease.
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/message-queue/index.html b/message-queue/index.html new file mode 100644 index 00000000..31cad2e4 --- /dev/null +++ b/message-queue/index.html @@ -0,0 +1,7512 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Data Pipeline - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Cloud Based Integration & Messaging. Data Processing & Streaming (aka Data Pipeline). Open Data Hub

+
    +
  1. Message Queue in Kubernetes. Event-driven Messaging. Real-Time Data Streaming
  2. +
  3. RPC vs Messaging
  4. +
  5. Tibco Business Works BWCE
  6. +
  7. Message Brokers
      +
    1. ActiveMQ message broker
    2. +
    3. RabbitMQ message broker
    4. +
    5. Redis message broker
    6. +
    7. Apache Camel message broker
        +
      1. Apache Camel K
      2. +
      +
    8. +
    9. KubeMQ message broker
    10. +
    11. Google Cloud Platform Pub/Sub
    12. +
    13. JMS Message Queue vs. Apache Kafka
    14. +
    +
  8. +
  9. Cloud Based Integration. Integration Platform-as-a-Service (iPaaS) solutions
      +
    1. Red Hat Fuse and Red Hat Fuse Online
    2. +
    3. Syndesis open source integration platform
    4. +
    +
  10. +
  11. Debezium open source distributed platform for Change Data Capture (CDC) software design pattern
  12. +
  13. Red Hat Integration service registry and Apicurio
  14. +
  15. Data Mesh
  16. +
  17. Data Processing (aka Streaming Data, Data Pipeline or Big Data Pipeline)
      +
    1. Apache Kafka
        +
      1. Kafka Tools
      2. +
      3. Strimzi kubernetes operator for apache kafka
      4. +
      5. Apache Kafka Desktop Clients
      6. +
      +
    2. +
    3. AWS Kinesis
    4. +
    5. MQTT
    6. +
    7. Banzai Cloud Supertubes (Cloud Native Kafka implementation)
    8. +
    9. Confluent Cloud (Apache Kafka Re-engineered for the Cloud)
    10. +
    11. Redpanda (kafka alternative). A modern streaming platform for mission critical workloads
        +
      1. KsqlDB
      2. +
      +
    12. +
    13. Apache Pulsar
    14. +
    15. Apache Flink
    16. +
    17. Hazelcast JET
    18. +
    19. Postgress as message queue
    20. +
    +
  18. +
  19. Workflow Engines
      +
    1. Zeebe
    2. +
    3. Apache Airflow
    4. +
    5. Couler
    6. +
    +
  20. +
  21. Red Hat AMQ (ActiveMQ Artemis broker and Apache Kafka)
      +
    1. Red Hat AMQ Broker (ActiveMQ Artemis)
    2. +
    3. Red Hat AMQ Streams
    4. +
    5. Slides of Red Hat AMQ Streams
    6. +
    +
  22. +
  23. Open Data Hub AI-as-a-Service (AIaaS) platform
  24. +
  25. Integration Platform as a Solution (iPaaS). Platforms for collecting, storing and routing customer event data
      +
    1. IpaaS Vendors
    2. +
    +
  26. +
  27. eBooks
  28. +
  29. Related
  30. +
  31. Questions and Answers
  32. +
  33. Videos
  34. +
  35. Tweets
  36. +
+

Message Queue in Kubernetes. Event-driven Messaging. Real-Time Data Streaming

+ +

RPC vs Messaging

+ +

Tibco Business Works BWCE

+
    +
  • medium.com/dev-jam: TIBCO Business Works vs. Apache Camel — A short Comparison 🌟
      +
    • ESB stands for Enterprise Service Bus. It is an architecture pattern that enables disparate applications to connect seamlessly with each other. Under the hood, ESB uses an integration tool, more commonly known as middleware. Integration or Middleware tools have capabilities such as data transformation (such as XML to JSON), protocol transformation (like FTP to HTTP), content-based message routing and service orchestration. Many vendors converted this concept into an ESB product with standard connectors
    • +
    • In this blog, I will compare two such integration tools, one which I have worked extensively i.e TIBCO BW and the de facto open source integration framework Apache Camel. I choose open source as it has a bright future and becoming very popular among many enterprises. I did not choose Mule ESB because it is not completely open-source as its most vital components come under a licensed enterprise version.
    • +
    +
  • +
+

Message Brokers

+ +

ActiveMQ message broker

+ +

RabbitMQ message broker

+ +

Redis message broker

+ +

Apache Camel message broker

+ +

Apache Camel K

+ +

KubeMQ message broker

+ +

Google Cloud Platform Pub/Sub

+ +

JMS Message Queue vs. Apache Kafka

+ +

Cloud Based Integration. Integration Platform-as-a-Service (iPaaS) solutions

+
    +
  • Wikipedia: Cloud Based Integration (iPaaS)
  • +
  • Integration Platform as a Service (iPaaS) is a suite of cloud services enabling development, execution and governance of integration flows connecting any combination of on premises and cloud-based processes, services, applications and data within individual or across multiple organizations.
  • +
  • Integration platform as a service (iPaaS) is a set of automated tools for connecting software applications that are deployed in different environments. iPaaS is often used by large business-to-business (B2B) enterprises that need to integrate on-premises applications and data with cloud applications and data.
  • +
  • blog.axway.com: What is iPaaS?
  • +
  • ibm.com: iPaaS (Integration-Platform-as-a-Service): iPaaS is a cloud-based solution that simplifies application integration across on-premises and cloud environments, to help you accelerate innovation and lower your integration and operations costs.
  • +
+

Red Hat Fuse and Red Hat Fuse Online

+ +

Syndesis open source integration platform

+ +

Debezium open source distributed platform for Change Data Capture (CDC) software design pattern

+ +

Red Hat Integration service registry and Apicurio

+ +

Data Mesh

+ +

Data Processing (aka Streaming Data, Data Pipeline or Big Data Pipeline)

+ +

Apache Kafka

+ +

Kafka Tools

+ +

Strimzi kubernetes operator for apache kafka

+ +

+airflow vs kafka debezium +

+

Apache Kafka Desktop Clients

+
    +
  • conduktor.io 🌟 Apache Kafka Desktop Client. We created Conduktor, the all-in-one friendly interface to work with the Kafka ecosystem. Develop and manage Apache Kafka with confidence.
  • +
+

AWS Kinesis

+ +

MQTT

+ +

Banzai Cloud Supertubes (Cloud Native Kafka implementation)

+ +

Confluent Cloud (Apache Kafka Re-engineered for the Cloud)

+ +

Redpanda (kafka alternative). A modern streaming platform for mission critical workloads

+ +

KsqlDB

+ +

Apache Pulsar

+ + + +

Hazelcast JET

+ +

Postgress as message queue

+ +

Workflow Engines

+ +

Zeebe

+ +

Apache Airflow

+ +

Couler

+
    +
  • Couler Couler aims to provide a unified interface for constructing and managing workflows on different workflow engines, such as Argo Workflows, Tekton Pipelines, and Apache Airflow.
  • +
+

Red Hat AMQ (ActiveMQ Artemis broker and Apache Kafka)

+ +

Red Hat AMQ Broker (ActiveMQ Artemis)

+ +

Red Hat AMQ Streams

+ +

+AMQ in a nutshell +

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProductAlso Known AsComponentsURL
Red Hat AMQ 6JBoss AMQ 6Apache ActiveMQRef
Red Hat AMQ 7JBoss AMQ 7 (Broker) or Red Hat AMQ 7 SuiteAMQ Broker + AMQ StreamsRef
Red Hat AMQ 7JBoss AMQ 7 (Broker) or Red Hat AMQ 7 SuiteJBoss AMQ 7 (Broker) + Apache KafkaRef
Red Hat AMQ 7JBoss AMQ 7 (Broker) or Red Hat AMQ 7 SuiteApache ActiveMQ Artemis + Apache KafkaRef
+

+

Slides of Red Hat AMQ Streams

+
+Click to expand! +

+ +

+
+

Open Data Hub AI-as-a-Service (AIaaS) platform

+ +

Integration Platform as a Solution (iPaaS). Platforms for collecting, storing and routing customer event data

+ +

IpaaS Vendors

+ +

eBooks

+ + + +

Questions and Answers

+ +

Videos

+
+ Click to expand! + +
+ +
+
+ +

Tweets

+
+ Click to expand! + +
+ + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mkdocs/index.html b/mkdocs/index.html new file mode 100644 index 00000000..64749e28 --- /dev/null +++ b/mkdocs/index.html @@ -0,0 +1,6511 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MkDocs & GitHub Pages - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

MkDocs, Mardkown & GitHub Pages

+
    +
  1. Introduction
  2. +
  3. Material for MkDocs
  4. +
  5. Markdown and Markdown Cheat Sheet
  6. +
  7. GitHub Pages
  8. +
  9. GitBook
  10. +
  11. Alternatives. Jekyll open source static site generator
  12. +
  13. Videos
  14. +
  15. Tweets
  16. +
+

Introduction

+ +

Material for MkDocs

+ +

Markdown and Markdown Cheat Sheet

+ +

GitHub Pages

+ +

GitBook

+ +

Alternatives. Jekyll open source static site generator

+ +

Videos

+
+Click to expand! +

+ +

+
+

Tweets

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mlops/index.html b/mlops/index.html new file mode 100644 index 00000000..4af106f8 --- /dev/null +++ b/mlops/index.html @@ -0,0 +1,7068 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MLOps - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Machine Learning Ops (MLOps) and Data Science

+
    +
  1. Introduction. MLOps
  2. +
  3. MLOps Roadmap
  4. +
  5. Blogs
  6. +
  7. ML Infra
  8. +
  9. Object Detection Libraries
  10. +
  11. MLFlow
  12. +
  13. Kubeflow
  14. +
  15. Flyte
  16. +
  17. AWS ML
  18. +
  19. Azure ML
  20. +
  21. Databricks
  22. +
  23. KServe Cloud Native Model Server
  24. +
  25. Data Science
  26. +
  27. Machine Learning workloads in kubernetes using Nix and NVIDIA. Running NVIDIA GPUs on Kubernetes
  28. +
  29. Meta LLama
  30. +
  31. Other Tools
  32. +
  33. Debugging ML Jobs
  34. +
  35. Samples
  36. +
  37. ML Courses
  38. +
  39. ML Competitions and Challenges
  40. +
  41. Polls
  42. +
  43. Tweets
  44. +
+

Introduction. MLOps

+ +

MLOps Roadmap

+ +

Blogs

+ +

ML Infra

+ +

Object Detection Libraries

+ +

MLFlow

+ +

Kubeflow

+ +

Flyte

+
    +
  • https://flyte.org
  • +
  • Union Cloud ML and Data Orchestration powered by Flyte
  • +
  • mlops.community: MLOps with Flyte: The Convergence of Workflows Between Machine Learning and Engineering
  • +
  • Machine Learning in Production. What does an end-to-end ML workflow look like in production? (transcript) 🌟🌟🌟 - Play Recording
      +
    • Kelsey Hightower joined the @flyteorg team to discuss what ML looks like in the real world, from ingesting data to consuming ML models via an API.
    • +
    • @kelseyhightower You can’t go swimming in a #data_lake if you actually can’t swim, right? You’re going to drown. 🏊‍♂️
    • +
    • @ketanumare Machine Learning products deteriorate in time. If you have the best model today it’s not guaranteed to be the best model tomorrow.
    • +
    • @thegautam It’s hard to verify models before you put them in production. We need our systems to be fully reproducible, which is why an #orchestration_tool is important, running multiple models in parallel.
    • +
    • @ketanumare We at @union_ai unify the extremely fragmented world of ML and give the choice to users when to use proprietary technology versus when to use open source. (½)
    • +
    • @ketanumare #Flyte makes it seamless to work on #kubernetes with spark jobs, and that’s a big use case, but you can also use @databricks. Similarly, we are working on Ray and you can also use @anyscalecompute. (2/2)
    • +
    • @Ketanumare Most machine learning engineers are not distributed systems engineers. This becomes a challenge when you’re deploying models to production. Infrastructure abstraction is key to unlock your team’s potential.
    • +
    • @ketanumare on #Machine_Learning workflows: Creating Machine Learning workflows is a team sport. 🤝
    • +
    • @arnoxmp: A Machine Learning model is often a blackbox. If you encounter new data, do a test run first.
    • +
    • @fabio_graetz In classical software engineering the only thing that changes is the code, in a ML system the data can change. You need to version and test data changes.
    • +
    • @Forcebananza This is actually one of the reasons I really like using #Flyte. You can map a cell in a notebook to its own task, and they’re really easy to compose and reuse and copy and paste around. (½)
    • +
    • @Forcebananza Jupyter notebooks are great for iterating, but moving more towards a standard software engineering workflow and making that easy enough for data scientists is really really important.(2/2)
    • +
    • @jganoff Taking snapshots of petabytes of data is expensive, there are tools that version a dataset without having to copy it. Having metadata separate from the data itself allows you to treat a version of a dataset as if it were code.
    • +
    • @SMT_Solvers In F500s it is mostly document OCR. Usually batch jobs - an API wouldn’t work - you need the binaries on the server even if it is a sidecar Docker container. One org (not mine) blows $$ doing network transfer from AWS to GCP when GCP could license their OCR in a container.
    • +
    • @Forcebananza Flyte creates a way for all these teams to work together partially because writing workflows, writing reusable components… is actually simple enough for data scientists and data engineers to work with.
    • +
    • @kelseyhightower We’re now at a stage where we can start to leverage systems like https://flyte.org to give us more of an opinionated end-to-end workflow. What we call #ML can become a real discipline where practitioners can use a common set of terms and practices.
    • +
    +
  • +
  • stackoverflow.com: How is Flyte tailored to “Data and Machine Learning”?
  • +
  • union.ai: Production-Grade ML Pipelines: Flyte™ vs. Kubeflow Kubeflow and Flyte are both production-grade, Kubernetes-native orchestrators for machine learning. Which is best for ML engineers? Check out this head-to-head comparison.
  • +
  • mlops.community: MLOps Simplified: orchestrating ML pipelines with infrastructure abstraction. Enabled by Flyte
  • +
  • medium.com/@timleonardDS: Who Let the DAGs out? Register an External DAG with Flyte (Chapter 3)
  • +
+

AWS ML

+ +

Azure ML

+ +

Databricks

+ +

KServe Cloud Native Model Server

+ +

Data Science

+ +

Machine Learning workloads in kubernetes using Nix and NVIDIA. Running NVIDIA GPUs on Kubernetes

+ +

Meta LLama

+ +

Other Tools

+ +

Debugging ML Jobs

+
    +
  • betterprogramming.pub: Attach a Visual Debugger to ML-training Jobs on Kubernetes
      +
    • As machine learning models grow in size and complexity, cloud resources are more and more often required for training. However, debugging training jobs running in the cloud can be time-consuming and challenging. In this blog post, we’ll explore how to attach a visual debugger in VSCode to a remote deep learning training environment, making debugging simpler and more efficient.
    • +
    • In this tutorial, you’ll deploy a local Kubernetes cluster with k3d, install the MLOps workflow orchestration engine Flyte, create a simple training workflow, and finally visually debug it using VSCode and debugpy
    • +
    +
  • +
+

Samples

+
    +
  • fepegar/vesseg Brain vessel segmentation using 3D convolutional neural networks
  • +
  • github.com/10tanmay100: MEDICAL-DATA-PROJECT-END2END-WITH-FEW-MLOPS We are on a mission to transform medical data into actionable insights using the power of machine learning. Whether you are a data scientist, healthcare professional, or an enthusiast in the field, your contributions and ideas are invaluable to us. Join us in making a difference!
  • +
+

ML Courses

+ +

ML Competitions and Challenges

+ +

Polls

+
+Click to expand! +

+MLOps Workflow Scheduler Poll +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/monitoring/index.html b/monitoring/index.html new file mode 100644 index 00000000..8db1b331 --- /dev/null +++ b/monitoring/index.html @@ -0,0 +1,7801 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Monitoring and Performance - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Monitoring and Performance. Prometheus, Grafana, APMs and more

+
    +
  1. Monitoring and Observability
      +
    1. Profiling
    2. +
    3. Key Performance Indicator (KPI)
    4. +
    +
  2. +
  3. OpenShift Cluster Monitoring Built-in solutions
      +
    1. OpenShift 3.11 Metrics and Logging
        +
      1. Prometheus and Grafana
      2. +
      3. Custom Grafana Dashboard for OpenShift 3.11
      4. +
      5. Capacity Management Grafana Dashboard
      6. +
      7. Software Delivery Metrics Grafana Dashboard
      8. +
      9. Prometheus for OpenShift 3.11
      10. +
      +
    2. +
    3. OpenShift 4
    4. +
    +
  4. +
  5. Monitoring micro-front ends on kubernetes with NGINX
  6. +
  7. Prometheus vs OpenTelemetry
  8. +
  9. Prometheus
  10. +
  11. Grafana
  12. +
  13. Kibana
  14. +
  15. Prometheus and Grafana Interactive Learning
  16. +
  17. Logging \& Centralized Log Management
      +
    1. ElasticSearch
        +
      1. Elastic Cloud on Kubernetes (ECK)
      2. +
      +
    2. +
    3. OpenSearch
    4. +
    5. EFK ElasticSearch Fluentd Kibana
    6. +
    7. Logstash Grok for Log Parsing
    8. +
    +
  18. +
  19. Internet Performance Monitoring (IPM)
  20. +
  21. Performance
  22. +
  23. List of Performance Analysis Tools
      +
    1. Thread Dumps. Debugging Java Applications
    2. +
    +
  24. +
  25. Debugging Java Applications on OpenShift and Kubernetes
  26. +
  27. Distributed Tracing. OpenTelemetry and Jaeger
      +
    1. Microservice Observability with Distributed Tracing. OpenTelemetry.io
        +
      1. OpenTelemetry Operator
      2. +
      +
    2. +
    3. Jaeger VS OpenTelemetry. How Jaeger works with OpenTelemetry
    4. +
    5. Jaeger vs Zipkin
    6. +
    7. Grafana Tempo distributed tracing system
    8. +
    +
  28. +
  29. Application Performance Management (APM)
      +
    1. Elastic APM
    2. +
    3. Dynatrace APM
    4. +
    +
  30. +
  31. Message Queue Monitoring
      +
    1. Red Hat AMQ 7 Broker Monitoring solutions based on Prometheus and Grafana
    2. +
    +
  32. +
  33. Serverless Monitoring
  34. +
  35. Distributed Tracing in Apache Beam
  36. +
  37. Krossboard Converged Kubernetes usage analytics
  38. +
  39. Instana APM
  40. +
  41. Monitoring Etcd
  42. +
  43. Zabbix
  44. +
  45. VictoriaMetrics and VictoriaLogs
  46. +
  47. Other Tools
  48. +
  49. Other Awesome Lists
  50. +
  51. Slides
  52. +
  53. Tweets
  54. +
+

Monitoring and Observability

+ +

Profiling

+ +

Key Performance Indicator (KPI)

+ +

OpenShift Cluster Monitoring Built-in solutions

+

OpenShift 3.11 Metrics and Logging

+

OpenShift Container Platform Monitoring ships with a Prometheus instance for cluster monitoring and a central Alertmanager cluster. In addition to Prometheus and Alertmanager, OpenShift Container Platform Monitoring also includes a Grafana instance as well as pre-built dashboards for cluster monitoring troubleshooting. The Grafana instance that is provided with the monitoring stack, along with its dashboards, is read-only.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Monitoring ComponentReleaseURL
ElasticSearch5OpenShift 3.11 Metrics & Logging
Fluentd0.12OpenShift 3.11 Metrics & Logging
Kibana5.6.13kibana 5.6.13
Prometheus2.3.2OpenShift 3.11 Prometheus Cluster Monitoring
Prometheus OperatorPrometheus Operator technical preview
Prometheus Alert Manager0.15.1OpenShift 3.11 Configuring Prometheus Alert Manager
Grafana5.2.3OpenShift 3.11 Prometheus Cluster Monitoring
+

Prometheus and Grafana

+ +

+openshift3 Monitoring +

+

Custom Grafana Dashboard for OpenShift 3.11

+

By default OpenShift 3.11 Grafana is a read-only instance. Many organizations may want to add new custom dashboards. This custom grafana will interact with existing Prometheus and will also add all out-of-the-box dashboards plus few more interesting dashboards which may require from day to day operation. Custom Grafana pod uses OpenShift oAuth to authenticate users and assigns “Admin” role to all users so that users can create their own dashboards for additional monitoring.

+

Getting Started with Custom Dashboarding on OpenShift using Grafana. This repository contains scaffolding and automation for developing a custom dashboarding strategy on OpenShift using the OpenShift Monitoring stac

+

Capacity Management Grafana Dashboard

+

This repo adds a capacity management Grafana dashboard. The intent of this dashboard is to answer a single question: Do I need a new node? . We believe this is the most important question when setting up a capacity management process. We are aware that this is not the only question a capacity management process may need to be able to answer. Thus, this should be considered as the starting point for organizations to build their capacity management process.

+

Software Delivery Metrics Grafana Dashboard

+

This repo contains tooling to help organizations measure Software Delivery and Value Stream metrics.

+

Prometheus for OpenShift 3.11

+

This repo contains example components for running either an operational Prometheus setup for your OpenShift cluster, or deploying a standalone secured Prometheus instance for configurating yourself.

+

OpenShift 4

+

OpenShift Container Platform includes a pre-configured, pre-installed, and self-updating monitoring stack that is based on the Prometheus open source project and its wider eco-system. It provides monitoring of cluster components and includes a set of alerts to immediately notify the cluster administrator about any occurring problems and a set of Grafana dashboards. The cluster monitoring stack is only supported for monitoring OpenShift Container Platform clusters.

+

OpenShift Cluster Monitoring components cannot be extended since they are read only.

+

Monitor your own services (technology preview): The existing monitoring stack can be extended so you can configure monitoring for your own Services.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Monitoring ComponentDeployed By DefaultOCP 4.1OCP 4.2OCP 4.3OCP 4.4
ElasticSearchNo5.6.13.6
FluentdNo0.12.43
KibanaNo5.6.13
PrometheusYes2.7.22.14.02.15.2
Prometheus OperatorYes0.34.00.35.1
Prometheus Alert ManagerYes0.16.20.19.00.20.0
kube-state-metricsYes1.8.01.9.5
GrafanaYes5.4.36.2.46.4.36.5.3
+

Monitoring micro-front ends on kubernetes with NGINX

+ +

Prometheus vs OpenTelemetry

+ +

Prometheus

+ +

Grafana

+ +

Kibana

+ +

Prometheus and Grafana Interactive Learning

+

Logging & Centralized Log Management

+ +

ElasticSearch

+ +

Elastic Cloud on Kubernetes (ECK)

+ +

OpenSearch

+ +

EFK ElasticSearch Fluentd Kibana

+ +

Logstash Grok for Log Parsing

+ +

Internet Performance Monitoring (IPM)

+
    +
  • devops.com: The Fallacy of Continuous Integration, Delivery and Testing Whether your organization embraces CI/CD/CT already or is rethinking its approach to DevOps, this article should give you pause. Your job–perhaps as part of a larger team–is to catch performance issues and potential disruptions with your application before client impact is realized. Without IPM, only part of that job is being done.
  • +
+

Performance

+ +

List of Performance Analysis Tools

+ +

Thread Dumps. Debugging Java Applications

+ +
#!/bin/sh
+# Generate N thread dumps of the process PID with an INTERVAL between each dump.
+if [ $# -ne 3 ]; then
+   echo Generates Java thread dumps using the jstack command.
+   echo
+   echo usage: $0 process_id repetitions interval
+   exit 1
+fi 
+PID=$1
+N=$2
+INTERVAL=$3 
+for ((i=1;i<=$N;i++))
+do
+   d=$(date +%Y%m%d-%H%M%S)
+   dump="threaddump-$PID-$d.txt"
+   echo $i of $N: $dump
+   jstack -l $PID > $dump
+   curl -X POST --data-binary @./$dump https://fastthread.io/fastthread-api?apiKey=<APIKEY> --header "Content-Type:text"
+   sleep $INTERVAL
+done
+
+
    +
  • How to run this script from within the POD: ./script_thread_dump.sh 1 15 3, where:
      +
    • “1”: PID of java process (“1” in containers running a single process, check with “ps ux” command).
    • +
    • “15”: 15 repetitions or thread dumps
    • +
    • “3”: interval of 3 seconds between each thread dump.
    • +
    +
  • +
  • According to some references only 3 thread dumps captured in a timeframe of 10 seconds is necessary (when we want to troubleshoot a Java issue during a service degradation).
  • +
  • Sample thread dump analysis reports generated by fastThread: +
  • +
+

Debugging Java Applications on OpenShift and Kubernetes

+ +

Distributed Tracing. OpenTelemetry and Jaeger

+ +

Microservice Observability with Distributed Tracing. OpenTelemetry.io

+ +

OpenTelemetry Operator

+ +

+Jaeger UI

+

Zipking UI +

+

Jaeger VS OpenTelemetry. How Jaeger works with OpenTelemetry

+ +

+Jaeger Vs OpenTelemetry +

+

Jaeger vs Zipkin

+ +

Grafana Tempo distributed tracing system

+ +

Application Performance Management (APM)

+ +

Elastic APM

+ +

+Elastic APM +

+

Dynatrace APM

+ +

Message Queue Monitoring

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Messaging SolutionMonitoring SolutionURL
ActiveMQ 5.8.0+Dynatraceref
ActiveMQ ArtemisMicrometer Collector + Prometheusref1, ref2
IBM MQIBM MQ Exporter for Prometheusref
KafkaDynatraceref1, ref2, ref3
KafkaPrometheus JMX Exporterref1, ref2, ref3, ref4, ref5, ref6, ref7
KafkaKafka Exporter
Use JMX Exporter to export other Kafka’s metrics
ref
KafkaKafdrop – Kafka Web UIref
KafkaZooNavigator: Web-based ZooKeeper UIref
KafkaCMAK (Cluster Manager for Apache Kafka, previously known as Kafka Manager)ref
KafkaXinfra Monitor (renamed from Kafka Monitor, created by Linkedin)ref
KafkaTelegraf + InfluxDBref
Red Hat AMQ Broker (ActiveMQ Artemis)Prometheus plugin for AMQ Broker
To monitor the health and performance of your broker instances, you can use the Prometheus plugin for AMQ Broker to monitor and store broker runtime metrics. Prometheus is software built for monitoring large, scalable systems and storing historical runtime data over an extended time period. The AMQ Broker Prometheus plugin exports the broker runtime metrics to Prometheus format, enabling you to use Prometheus itself to visualize and run queries on the data.
You can also use a graphical tool, such as Grafana, to configure more advanced visualizations and dashboards for the metrics that the Prometheus plugin collects.
The metrics that the plugin exports to Prometheus format are listed below. A description of each metric is exported along with the metric itself.
ref1, ref2, ref3
Red Hat AMQ Streams (Kafka)JMX, OpenTracing+Jaeger
ZooKeeper, the Kafka broker, Kafka Connect, and the Kafka clients all expose management information using Java Management Extensions (JMX). Most management information is in the form of metrics that are useful for monitoring the condition and performance of your Kafka cluster. Like other Java applications, Kafka provides this management information through managed beans or MBeans.
JMX works at the level of the JVM (Java Virtual Machine). To obtain management information, external tools can connect to the JVM that is running ZooKeeper, the Kafka broker, and so on. By default, only tools on the same machine and running as the same user as the JVM are able to connect.
Distributed Tracing with Jaeger:
- Kafka Producers, Kafka Consumers, and Kafka Streams applications (referred to as Kafka clients)
- MirrorMaker and Kafka Connect
- Kafka Bridge
ref1,ref2
Red Hat AMQ Streams OperatorAMQ Streams Operator (Prometheus & Jaeger), strimzi, jmxtrans
How to monitor AMQ Streams Kafka, Zookeeper and Kafka Connect clusters using Prometheus to provide monitoring data for example Grafana dashboards.
Support for distributed tracing in AMQ Streams, using Jaeger:
- You instrument Kafka Producer, Consumer, and Streams API applications for distributed tracing using an OpenTracing client library. This involves adding instrumentation code to these clients, which monitors the execution of individual transactions in order to generate trace data.
- Distributed tracing support is built in to the Kafka Connect, MirrorMaker, and Kafka Bridge components of AMQ Streams. To configure these components for distributed tracing, you configure and update the relevant custom resources.
ref1, ref2, ref3 strimzi, ref4: jmxtrans, ref5: banzai operator
Red Hat AMQ Broker OperatorPrometheus (recommended) or Jolokia REST to JMX
To monitor runtime data for brokers in your deployment, use one of these approaches:
- Section 9.1, “Monitoring broker runtime data using Prometheus”
- Section 9.2, “Monitoring broker runtime data using JMX”
In general, using Prometheus is the recommended approach. However, you might choose to use the Jolokia REST interface to JMX if a metric that you need to monitor is not exported by the Prometheus plugin. For more information about the broker runtime metrics that the Prometheus plugin exports, see Section 9.1.1, “Overview of Prometheus metrics”
ref1, ref2, ref3, ref4, ref5
+

Red Hat AMQ 7 Broker Monitoring solutions based on Prometheus and Grafana

+

This is a selection of monitoring solutions suitable for RH AMQ 7 Broker based on Prometheus and Grafana:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EnvironmentCollector/ExporterDetails/URL
RHELPrometheus Plugin for AMQ Brokerref
RHELPrometheus JMX ExporterSame solution applied to ActiveMQ Artemis
OpenShift 3Prometheus Plugin for AMQ BrokerGrafana Dashboard not available, ref1, ref2
OpenShift 4Prometheus Plugin for AMQ BrokerCheck if Grafana Dashboard is automatically setup by Red Hat AMQ Operator
OpenShift 3Prometheus JMX ExporterGrafana Dashboard not available, ref1, ref2
+

Serverless Monitoring

+ +

Distributed Tracing in Apache Beam

+ +

Krossboard Converged Kubernetes usage analytics

+ +

Instana APM

+ +

Monitoring Etcd

+ +

Zabbix

+ +

VictoriaMetrics and VictoriaLogs

+ +

Other Tools

+
    +
  • Netdata Netdata’s distributed, real-time monitoring Agent collects thousands of metrics from systems, hardware, containers, and applications with zero configuration.
  • +
  • PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.
  • +
  • Huginn Create agents that monitor and act on your behalf. Your agents are standing by!
  • +
  • OS Query SQL powered operating system instrumentation, monitoring, and analytics.
  • +
  • Glances Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems. It is written in Python and uses libraries to grab information from your system. It is based on an open architecture where developers can add new plugins or exports modules.
  • +
  • TDengine is an open-sourced big data platform under GNU AGPL v3.0, designed and optimized for the Internet of Things (IoT), Connected Cars, Industrial IoT, and IT Infrastructure and Application Monitoring.
  • +
  • stackpulse.com: Automated Kubernetes Pod Restarting Analysis with StackPulse
  • +
  • Checkly is the API & E2E monitoring platform for the modern stack: programmable, flexible and loving JavaScript. +
  • +
  • network-king.net: IoT use in healthcare grows but has some pitfalls
  • +
  • Zebrium Monitoring detects problems, Zebrium finds root cause +Resolve your software incidents 10x faster
  • +
  • louislam/uptime-kuma A fancy self-hosted monitoring tool. Uptime Kuma is an open source monitoring tool that can be used to monitor the service uptime along with few other stats like Ping Status, Avg. Response time, uptime etc.
  • +
+

Other Awesome Lists

+ +

Slides

+
+ Click to expand! + +
+ + + +
+
+ +

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/networking/index.html b/networking/index.html new file mode 100644 index 00000000..51a2152d --- /dev/null +++ b/networking/index.html @@ -0,0 +1,6645 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Networking - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Networking

+
    +
  1. Introduction
  2. +
  3. CIDR subnets
      +
    1. IPAM Tools. NetBox IPAM
    2. +
    +
  4. +
  5. HTTP Protocols
      +
    1. HTTP Status Codes
    2. +
    3. HTTP/2
    4. +
    5. HTTP/3
    6. +
    7. HTTP Structured Fields
    8. +
    +
  6. +
  7. Container Networking
  8. +
  9. Azure
  10. +
  11. Load Balancing
  12. +
  13. DNS
  14. +
  15. Images
  16. +
  17. Tweets
  18. +
+

Introduction

+ +

CIDR subnets

+ +

IPAM Tools. NetBox IPAM

+ +

HTTP Protocols

+ +

HTTP Status Codes

+ +

+http status codes +

+

HTTP/2

+ +

HTTP/3

+ +

HTTP Structured Fields

+ +

Container Networking

+ +

Azure

+ +

Load Balancing

+ +

DNS

+ +

Images

+
+Click to expand! +

+how does https work +

+
+

Tweets

+
+Click to expand! +

+

+

+

+

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/newsfeeds/index.html b/newsfeeds/index.html new file mode 100644 index 00000000..9f6a2ca5 --- /dev/null +++ b/newsfeeds/index.html @@ -0,0 +1,6447 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subreddits - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Forums and Communities

+
    +
  1. Subreddits
  2. +
  3. Forums
  4. +
  5. Newsfeeds
  6. +
  7. Stack Overflow Collectives
  8. +
+

Subreddits

+ +

Forums

+ +

Newsfeeds

+ +

Stack Overflow Collectives

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/newsql/index.html b/newsql/index.html new file mode 100644 index 00000000..1ad8104b --- /dev/null +++ b/newsql/index.html @@ -0,0 +1,6305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + NewSQL - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ +
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/noops/index.html b/noops/index.html new file mode 100644 index 00000000..c33d9627 --- /dev/null +++ b/noops/index.html @@ -0,0 +1,6332 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NoOps - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

NoOps aka Serverless

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nosql/index.html b/nosql/index.html new file mode 100644 index 00000000..e208436b --- /dev/null +++ b/nosql/index.html @@ -0,0 +1,6551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NoSQL Databases - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

NoSQL Databases and NewSQL

+
    +
  1. NoSQL
      +
    1. Couchbase
    2. +
    3. MongoDB Tools and MongoDB as a Service
    4. +
    5. Redis
    6. +
    7. Alternatives
    8. +
    9. Apache Drill. Schema free SQL query on everything engines
    10. +
    +
  2. +
  3. NewSQL
  4. +
  5. Videos
  6. +
  7. Tweets
  8. +
+

NoSQL

+ +

Couchbase

+ +

MongoDB Tools and MongoDB as a Service

+ +

Redis

+ +

Alternatives

+ +

Apache Drill. Schema free SQL query on everything engines

+ +

NewSQL

+ +

Videos

+
+ Click to expand! + +
+ +
+
+ +

Tweets

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/oauth/index.html b/oauth/index.html new file mode 100644 index 00000000..3444d670 --- /dev/null +++ b/oauth/index.html @@ -0,0 +1,6402 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OAuth2 - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

OAuth2

+
    +
  1. Introduction
  2. +
  3. OpenID Connect
  4. +
  5. Tweets
  6. +
+

Introduction

+ +

OpenID Connect

+ +

Tweets

+
+ Click to expand! + +
+ +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ocp3/index.html b/ocp3/index.html new file mode 100644 index 00000000..b576aa89 --- /dev/null +++ b/ocp3/index.html @@ -0,0 +1,6588 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OCP 3 - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

OCP 3

+
    +
  1. OpenShift Container Platform 3 (OCP 3)
  2. +
  3. OpenShift Cheat Sheets
  4. +
  5. Helm Charts and OpenShift 3
  6. +
  7. OpenShift GitOps
  8. +
  9. Debugging apps
  10. +
  11. Capacity Management
  12. +
  13. OpenShift High Availability
  14. +
  15. Troubleshooting Java applications on Openshift
  16. +
  17. Red Hat Communities of Practice. Uncontained.io Project
  18. +
  19. Identity Management
  20. +
  21. Quota Management
  22. +
  23. Source-to-Image (S2I) Image Building Tools
  24. +
  25. Videos
  26. +
+

OpenShift Container Platform 3 (OCP 3)

+ +

OpenShift Cheat Sheets

+ +

Helm Charts and OpenShift 3

+ +

OpenShift GitOps

+ +

Debugging apps

+ +

Capacity Management

+ +

OpenShift High Availability

+ +

Troubleshooting Java applications on Openshift

+ +

Red Hat Communities of Practice. Uncontained.io Project

+ +

Identity Management

+ +

Quota Management

+ +

Source-to-Image (S2I) Image Building Tools

+
    +
  • Source-to-Image (S2I) Build
      +
    • Source-to-Image (S2I) is a tool for building reproducible, Docker-formatted container images. It produces ready-to-run images by injecting application source into a container image and assembling a new image. The new image incorporates the base image (the builder) and built source and is ready to use with the docker run command. S2I supports incremental builds, which re-use previously downloaded dependencies, previously built artifacts, etc.
    • +
    +
  • +
+

Videos

+
+ Click to expand! + +
+ + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ocp4/index.html b/ocp4/index.html new file mode 100644 index 00000000..73aac485 --- /dev/null +++ b/ocp4/index.html @@ -0,0 +1,7981 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OCP 4 - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

OCP 4

+
    +
  1. OpenShift Container Platform 4 (OCP 4)
      +
    1. OpenShift Guide
    2. +
    3. Single Node OpenShift
    4. +
    5. OpenShift sizing and subscription guide
    6. +
    7. OpenShift Platform Plus
    8. +
    9. Best Practices
    10. +
    11. Setting up OCP4 on AWS
    12. +
    13. ROSA Red Hat OpenShift Service on AWS
    14. +
    15. CI/CD in OpenShift
    16. +
    +
  2. +
  3. Downloads
  4. +
  5. OpenShift End-to-End. Day 0, Day 1 \& Day 2
  6. +
  7. OCP 4 Overview
      +
    1. Three New Functionalities
    2. +
    3. New Technical Components
    4. +
    5. Installation and Cluster Autoscaler
        +
      1. IPI and UPI
      2. +
      +
    6. +
    7. Cluster Autoscaler Operator
    8. +
    9. Operators
        +
      1. Introduction
      2. +
      3. Catalog
      4. +
      5. Certified Opeators, OLM Operators and Red Hat Operators
      6. +
      7. Deploy and bind enterprise-grade microservices with Kubernetes Operators
      8. +
      9. OpenShift Container Storage Operator (OCS)
          +
        1. OCS 3 (OpenShift 3)
        2. +
        3. OCS 4 (OpenShift 4)
        4. +
        +
      10. +
      11. Cluster Network Operator (CNO) \& Routers
      12. +
      13. ServiceMesh Operator
      14. +
      15. Serverless Operator (Knative)
      16. +
      +
    10. +
    11. Monitoring and Observability
        +
      1. Grafana
      2. +
      3. Prometheus
      4. +
      5. Alerts and Silences
      6. +
      7. Cluster Logging (EFK)
      8. +
      +
    12. +
    13. Build Images. Next-Generation Container Image Building Tools
    14. +
    15. OpenShift Registry and Quay Registry
    16. +
    17. Local Development Environment
    18. +
    +
  8. +
  9. GitOps Catalog
  10. +
  11. OpenShift on Azure
  12. +
  13. OpenShift Youtube
  14. +
  15. OpenShift 4 Training
  16. +
  17. OpenShift 4 Roadmap
  18. +
  19. Kubevirt Virtual Machine Management on Kubernetes
  20. +
  21. Networking and Network Policy in OCP4. SDN/CNI plug-ins
      +
    1. Multiple Networks with SDN/CNI plug-ins. Usage scenarios for an additional network
    2. +
    3. Istio CNI plug-in
    4. +
    5. Calico CNI Plug-in
    6. +
    7. Third Party Network Operators with OpenShift
    8. +
    9. Ingress Controllers in OpenShift using IPI
    10. +
    +
  22. +
  23. Storage in OCP 4. OpenShift Container Storage (OCS)
  24. +
  25. Red Hat Advanced Cluster Management for Kubernetes
  26. +
  27. OpenShift Kubernetes Engine (OKE)
  28. +
  29. Red Hat CodeReady Containers. OpenShift 4 on your laptop
  30. +
  31. OpenShift Hive: Cluster-as-a-Service. Easily provision new PaaS environments for developers
  32. +
  33. OpenShift 4 Master API Protection in Public Cloud
  34. +
  35. Backup and Migrate to OpenShift 4
  36. +
  37. OKD4. OpenShift 4 without enterprise-level support
  38. +
  39. OpenShift Serverless with Knative
  40. +
  41. Helm Charts and OpenShift 4
  42. +
  43. Red Hat Marketplace
  44. +
  45. Kubestone. Benchmarking Operator for K8s and OpenShift
  46. +
  47. OpenShift Cost Management
  48. +
  49. Operators in OCP 4
  50. +
  51. Quay Container Registry
  52. +
  53. Application Migration Toolkit
  54. +
  55. Developer Sandbox
  56. +
  57. OpenShift Topology View
  58. +
  59. OpenBuilt Platform for the Construction Industry
  60. +
  61. OpenShift AI
  62. +
  63. Scripts
  64. +
  65. Slides
  66. +
  67. Tweets
  68. +
  69. Videos
  70. +
+

OpenShift Container Platform 4 (OCP 4)

+ +

OpenShift Guide

+ +

Single Node OpenShift

+ +

OpenShift sizing and subscription guide

+ +

OpenShift Platform Plus

+ +

Best Practices

+ +

Setting up OCP4 on AWS

+ +

ROSA Red Hat OpenShift Service on AWS

+ +

+OCP 4 Architecture +

+

CI/CD in OpenShift

+ +

Downloads

+ +

OpenShift End-to-End. Day 0, Day 1 & Day 2

+ +

+OCP 4 Pland and Deploy +

+

OCP 4 Overview

+ +

+tenant +
+

+

Three New Functionalities

+
    +
  1. Self-Managing Platform
  2. +
  3. Application Lifecycle Management (OLM):
      +
    • OLM Operator:
        +
      • Responsible for deploying applications defined by ClusterServiceVersion (CSV) manifest.
      • +
      • Not concerned with the creation of the required resources; users can choose to manually create these resources using the CLI, or users can choose to create these resources using the Catalog Operator.
      • +
      +
    • +
    • Catalog Operator:
        +
      • Responsible for resolving and installing CSVs and the required resources they specify. It is also responsible for watching CatalogSources for updates to packages in channels and upgrading them (optionally automatically) to the latest available versions.
      • +
      • A user that wishes to track a package in a channel creates a Subscription resource configuring the desired package, channel, and the CatalogSource from which to pull updates. When updates are found, an appropriate InstallPlan is written into the namespace on behalf of the user.
      • +
      +
    • +
    +
  4. +
  5. Automated Infrastructure Management (Over-The-Air Updates)
  6. +
+

+ocp update1 ocp update2 ocp update3 +
+

+

New Technical Components

+
    +
  • New Installer: +
  • +
  • Storage: Cloud integrated storage capability used by default via OCS Operator (Red Hat) +
  • +
  • Operators End-To-End!: responsible for reconciling the system to the desired state
      +
    • Cluster configuration kept as API objects that ease its maintenance (“everything-as-code” approach):
        +
      • Every component is configured with Custom Resources (CR) that are processed by operators.
      • +
      • No more painful upgrades and synchronization among multiple nodes and no more configuration drift.
      • +
      +
    • +
    • List of operators that configure cluster components (API objects):
        +
      • API server
      • +
      • Nodes via Machine API
      • +
      • Ingress
      • +
      • Internal DNS
      • +
      • Logging (EFK) and Monitoring (Prometheus)
      • +
      • Sample applications
      • +
      • Networking
      • +
      • Internal Registry
      • +
      • Oauth (and authentication in general)
      • +
      • etc
      • +
      +
    • +
    +
  • +
  • At the Node Level:
      +
    • RHEL CoreOS is the result of merging CoreOS Container Linux and RedHat Atomic host functionality and is currently the only supported OS to host OpenShift 4.
    • +
    • Node provisioning with ignition, which came with CoreOS Container Linux
    • +
    • Atomic host updates with rpm-ostree
    • +
    • CRI-O as a container runtime
    • +
    • SELinux enabled by default
    • +
    +
  • +
  • Machine API: Provisioning of nodes. Abstraction mechanism added (API objects to declaratively manage the cluster):
      +
    • Based on Kubernetes Cluster API project Cluster API is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters.
    • +
    • Provides a new set of machine resources:
        +
      • Machine
      • +
      • Machine Deployment
      • +
      • MachineSet:
          +
        • distributes easily your nodes among different Availability Zones
        • +
        • manages multiple node pools (e.g. pool for testing, pool for machine learning with GPU attached, etc)
        • +
        +
      • +
      +
    • +
    +
  • +
  • Everything “just another pod”
  • +
+

Installation and Cluster Autoscaler

+
    +
  • New installer openshift-install tool, replacement for the old Ansible scripts.
  • +
  • 40 min (AWS). Terraform.
  • +
  • 2 installation patterns:
      +
    1. Installer Provisioned Infrastructure (IPI)
    2. +
    3. User Provisioned Infrastructure (UPI)
    4. +
    +
  • +
  • The whole process can be done in one command and requires minimal infrastructure knowledge (IPI): openshift-install create cluster
  • +
+

+OCP IPI

+

OCP IPI UPI +

+

+

IPI and UPI

+
    +
  • 2 installation patterns:
      +
    1. Installer Provisioned Infrastructure (IPI): On supported platforms, the installer is capable of provisioning the underlying infrastructure for the cluster. The installer programmatically creates all portions of the networking, machines, and operating systems required to support the cluster. Think of it as best-practice reference architecture implemented in code.  It is recommended that most users make use of this functionality to avoid having to provision their own infrastructure.  The installer will create and destroy the infrastructure components it needs to be successful over the life of the cluster.
    2. +
    3. User Provisioned Infrastructure (UPI): For other platforms or in scenarios where installer provisioned infrastructure would be incompatible, the installer can stop short of creating the infrastructure, and allow the platform administrator to provision their own using the cluster assets generated by the install tool. Once the infrastructure has been created, OpenShift 4 is installed, maintaining its ability to support automated operations and over-the-air platform updates.
    4. +
    +
  • +
+

+OCP IPI2

+

OCP UPI +

+

+

Cluster Autoscaler Operator

+
    +
  • Adjusts the size of an OpenShift Container Platform cluster to meet its current deployment needs. It uses declarative, Kubernetes-style arguments
  • +
  • Increases the size of the cluster when there are pods that failed to schedule on any of the current nodes due to insufficient resources or when another node is necessary to meet deployment needs. The ClusterAutoscaler does not increase the cluster resources beyond the limits that you specify.
  • +
  • A huge improvement over the manual, error-prone process used in the previous version of OpenShift and RHEL nodes.
  • +
+

+OCP Autoscaler1 OCP Autoscaler2 +
+

+

Operators

+

Introduction

+
    +
  • Core of the platform
  • +
  • The hierarchy of operators, with clusterversion at the top, is the single door for configuration changes and is responsible for reconciling the system to the desired state.
  • +
  • For example, if you break a critical cluster resource directly, the system automatically recovers itself. 
  • +
  • Similarly to cluster maintenance, operator framework used for applications. As a user, you get SDK, OLM (Lifecycle Manager of all Operators and their associated services running across their clusters) and embedded operator hub.
  • +
  • OLM Arquitecture
  • +
  • Adding Operators to a Cluster (They can be added via CatalogSource)
  • +
  • The supported method of using Helm charts with Openshift is via the Helm Operator
  • +
  • twitter.com/operatorhubio
  • +
  • View the list of Operators available to the cluster from the OperatorHub:
  • +
+
$ oc get packagemanifests -n openshift-marketplace
+NAME AGE
+amq-streams 14h
+packageserver 15h
+couchbase-enterprise 14h
+mongodb-enterprise 14h
+etcd 14h myoperator 14h
+...
+
+

+OCP Operators +
+

+

Catalog

+
    +
  • Developer Catalog
  • +
  • Installed Operators
  • +
  • OperatorHub (OLM)
  • +
  • Operator Management:
      +
    • Operator Catalogs are groups of Operators you can make available on the cluster. They can be added via CatalogSource (i.e. “catalogsource.yaml”). Subscribe and grant a namespace access to use the installed Operators.
    • +
    • Operator Subscriptions keep your services up to date by tracking a channel in a package. The approval strategy determines either manual or automatic updates.
    • +
    +
  • +
+

+Operator Subscriptions +
+

+

Certified Opeators, OLM Operators and Red Hat Operators

+
    +
  • Certified Operators packaged by Certified:
      +
    • Not provided by Red Hat
    • +
    • Supported by Red Hat
    • +
    • Deployed via “Package Server” OLM Operator
    • +
    +
  • +
  • OLM Operators:
      +
    • Packaged by Red Hat
    • +
    • “Package Server” OLM Operator includes a CatalogSource provided by Red Hat
    • +
    +
  • +
  • Red Hat Operators:
      +
    • Packaged by Red Hat
    • +
    • Deployed via “Package Server” OLM Operator
    • +
    +
  • +
  • Community Edition Operators:
      +
    • Deployed by any means
    • +
    • Not supported by Red Hat
    • +
    +
  • +
+

+OCP Certified Operators +
+

+

Deploy and bind enterprise-grade microservices with Kubernetes Operators

+ +

OpenShift Container Storage Operator (OCS)

+
OCS 3 (OpenShift 3)
+
    +
  • OpenShift Container Storage based on GlusterFS technology.
  • +
  • Not OpenShift 4 compliant: Migration tooling will be available to facilitate the move to OCS 4.x (OpenShift Gluster APP Mitration Tool).
  • +
+
OCS 4 (OpenShift 4)
+
    +
  • OCS Operator based on Rook.io with Operator LifeCycle Manager (OLM).
  • +
  • Tech Stack:
      +
    • Rook (don’t confuse this with non-redhat “Rook Ceph” -> RH ref).
        +
      • Replaces Heketi (OpenShift 3)
      • +
      • Uses Red Hat Ceph Storage and Noobaa.
      • +
      +
    • +
    • Red Hat Ceph Storage
    • +
    • Noobaa:
        +
      • Red Hat Multi Cloud Gateway (AWS, Azure, GCP, etc)
      • +
      • Asynchronous replication of data between my local ceph and my cloud provider
      • +
      • Deduplication
      • +
      • Compression
      • +
      • Encryption
      • +
      +
    • +
    +
  • +
  • Backups available in OpenShift 4.2+ (Snapshots + Restore of Volumes)
  • +
  • OCS Dashboard in OCS Operator
  • +
+

+OCS Dashboard +
+

+

Cluster Network Operator (CNO) & Routers

+ +
oc describe clusteroperators/ingress
+oc logs --namespace=openshift-ingress-operator deployments/ingress-operator
+
+

ServiceMesh Operator

+ +

+OCS Servicemesh 1 OCS Servicemesh 2 OCS Servicemesh 3

+

OCS Servicemesh 4 +

+

+

Serverless Operator (Knative)

+ +

Monitoring and Observability

+

Grafana

+
    +
  • Integrated Grafana v5.4.3 (deployed by default):
  • +
  • Monitoring -> Dashboards
  • +
  • Project “openshift-monitoring”
  • +
  • grafana.com/docs/v5.4/
  • +
+

Prometheus

+
    +
  • Integrated Prometheus v2.7.2 (deployed by default):
  • +
  • Monitoring -> metrics
  • +
  • Project “openshift-monitoring”
  • +
+

Alerts and Silences

+
    +
  • Integrated Alertmanager 0.16.2 (deployed by default):
      +
    • Monitoring -> Alerts
    • +
    • Monitoring -> Silences
    • +
    • Silences temporarily mute alerts based on a set of conditions that you define. Notifications are not sent for alerts that meet the given conditions.
    • +
    +
  • +
  • Project “openshift-monitoring”
  • +
  • prometheus.io/docs/alerting/alertmanager/
  • +
+

Cluster Logging (EFK)

+
    +
  • thenewstack.io: Log Management for Red Hat OpenShift
  • +
  • EFK: Elasticsearch + Fluentd + Kibana
  • +
  • Cluster Logging EFK not deployed by default
  • +
  • As an OpenShift Container Platform cluster administrator, you can deploy cluster logging to aggregate logs for a range of OpenShift Container Platform services.
  • +
  • The OpenShift Container Platform cluster logging solution requires that you install both the Cluster Logging Operator and Elasticsearch Operator. There is no use case in OpenShift Container Platform for installing the operators individually. You must install the Elasticsearch Operator using the CLI following the directions below. You can install the Cluster Logging Operator using the web console or CLI. +Deployment procedure based on CLI + web console: +
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
OCP ReleaseElasticsearchFluentdKibanaEFK deployed by default
OpenShift 3.115.6.13.60.12.435.6.13No
OpenShift 4.15.6.16?5.6.16No
+


+

Build Images. Next-Generation Container Image Building Tools

+
    +
  • Redesign of how images are built on the platform.
  • +
  • Instead of relying on a daemon on the host to manage containers, image creation, and image pushing, we are leveraging Buildah running inside our build pods.
  • +
  • This aligns with the general OpenShift 4 theme of making everything “just another pod”
  • +
  • A simplified set of build workflows, not dependent on the node host having a specific container runtime available. 
  • +
  • Dockerfiles that built under OpenShift 3.x will continue to build under OpenShift 4.x and S2I builds will continue to function as well.
  • +
  • The actual BuildConfig API is unchanged, so a BuildConfig from a v3.x cluster can be imported into a v4.x cluster and work without modification.
  • +
  • Podman & Buildah for docker users
  • +
  • Openshift ImageStreams
  • +
  • Openshift 4 image builds
  • +
  • Custom image builds with Buildah
  • +
  • Rootless podman and NFS
  • +
+

+Buildah +
+

+

OpenShift Registry and Quay Registry

+ +

Local Development Environment

+
    +
  • For version 3 we have Container Development Kit (or its open source equivalent for OKD - minishift) which launches a single node VM with Openshift and it does it in a few minutes. It’s perfect for testing also as a part of CI/CD pipeline.
  • +
  • Openshift 4 on your laptop: There is a working solution for single node OpenShift cluster. It is provided by a new project called CodeReady Containers.
  • +
  • Procedure:
  • +
+
untar
+crc setup
+crc start
+environment variables
+oc login
+
+ +

GitOps Catalog

+
    +
  • github.com/redhat-cop/gitops-catalog Tools and technologies that are hosted on an OpenShift cluster. The GitOps Catalog includes kustomize bases and overlays for a number of OpenShift operators and applications.
  • +
+

OpenShift on Azure

+ +

OpenShift Youtube

+ +

OpenShift 4 Training

+ +

OpenShift 4 Roadmap

+
- This link is now broken. [Grab a copy from here](https://github.com/redhatspain/awesome-kubernetes/tree/master/pdf)
+- This link is now broken. [Grab a copy from here](https://github.com/redhatspain/awesome-kubernetes/tree/master/pdf)
+
+

Kubevirt Virtual Machine Management on Kubernetes

+ +

Networking and Network Policy in OCP4. SDN/CNI plug-ins

+ +

+ocp4 cni arch +

+

Multiple Networks with SDN/CNI plug-ins. Usage scenarios for an additional network

+
    +
  • Understanding multiple networks In Kubernetes, container networking is delegated to networking plug-ins that implement the Container Network Interface (CNI). OpenShift Container Platform uses the Multus CNI plug-in to allow chaining of CNI plug-ins. During cluster installation, you configure your default Pod network. The default network handles all ordinary network traffic for the cluster. You can define an additional network based on the available CNI plug-ins and attach one or more of these networks to your Pods. You can define more than one additional network for your cluster, depending on your needs. This gives you flexibility when you configure Pods that deliver network functionality, such as switching or routing.
  • +
  • You can use an additional network in situations where network isolation is needed, including data plane and control plane separation. Isolating network traffic is useful for the following performance and security reasons:
      +
    • Performance: You can send traffic on two different planes in order to manage how much traffic is along each plane.
    • +
    • Security: You can send sensitive traffic onto a network plane that is managed specifically for security considerations, and you can separate private data that must not be shared between tenants or customers.
    • +
    +
  • +
  • All of the Pods in the cluster still use the cluster-wide default network to maintain connectivity across the cluster. Every Pod has an eth0 interface that is attached to the cluster-wide Pod network. You can view the interfaces for a Pod by using the oc exec -it – ip a command. If you add additional network interfaces that use Multus CNI, they are named net1, net2, …​, netN.
  • +
  • To attach additional network interfaces to a Pod, you must create configurations that define how the interfaces are attached. You specify each interface by using a Custom Resource (CR) that has a NetworkAttachmentDefinition type. A CNI configuration inside each of these CRs defines how that interface is created.
  • +
  • openshift.com: Demystifying Multus 🌟
  • +
+

Istio CNI plug-in

+
    +
  • Istio CNI plug-in 🌟 Red Hat OpenShift Service Mesh includes CNI plug-in, which provides you with an alternate way to configure application pod networking. The CNI plug-in replaces the init-container network configuration eliminating the need to grant service accounts and projects access to Security Context Constraints (SCCs) with elevated privileges.
  • +
+

Calico CNI Plug-in

+ +

Third Party Network Operators with OpenShift

+ +

Ingress Controllers in OpenShift using IPI

+ +

Storage in OCP 4. OpenShift Container Storage (OCS)

+ +

Red Hat Advanced Cluster Management for Kubernetes

+ +

OpenShift Kubernetes Engine (OKE)

+ +

+openshift4 architecture +

+

Red Hat CodeReady Containers. OpenShift 4 on your laptop

+ +

OpenShift Hive: Cluster-as-a-Service. Easily provision new PaaS environments for developers

+ +

OpenShift 4 Master API Protection in Public Cloud

+ +

Backup and Migrate to OpenShift 4

+ +

OKD4. OpenShift 4 without enterprise-level support

+ +

OpenShift Serverless with Knative

+ +

Helm Charts and OpenShift 4

+ +

Red Hat Marketplace

+ +

Kubestone. Benchmarking Operator for K8s and OpenShift

+ +

OpenShift Cost Management

+ +

Operators in OCP 4

+ +

Quay Container Registry

+
    +
  • Red Hat Introduces open source Project Quay container registry
  • +
  • Red Hat Quay
  • +
  • projectquay.io
  • +
  • quay.io
  • +
  • GitHub Quay (OSS)
  • +
  • blog.openshift.com: Introducing Red Hat Quay
  • +
  • operatorhub.io/operator/quay
  • +
  • openshift.com: Keep Your Applications Secure With Automatic Rebuilds 🌟
      +
    • OpenShift Container Platform historically has addressed this challenge by using Image Streams. An image stream is an abstraction for referencing container images from within OpenShift while the referenced images are an image registry such as OpenShift internal registry, Quay, or other external registries. Image streams are capable of defining triggers which allow your builds and deployments to be automatically invoked when a new version of an image is available in the backing image registry. This in effect enables rebuilding all images that are based on a particular base image as soon as a new version of the base image is available in the Red Hat container catalog and therefore updates all images with the latest bug, CVE, and vulnerability fixes delivered in the latest base image. The challenge, however, is that this capability is limited to BuildConfigs in OpenShift and does not allow more complex workflows to be triggered when images are updated in the Red Hat container catalog. Furthermore, it is also limited to the scope of a single cluster and its internal OpenShift registry.
    • +
    • Fortunately, though, using Red Hat Quay as a central registry in combination with OpenShift Pipelines enables infinite possibilities in designing sophisticated workflows for ensuring a secure software supply chain and automatically performing any set of actions whenever images are pushed, updated, or security vulnerabilities are discovered in the Red Hat container catalog.
    • +
    • In this blog post, we will highlight how Red Hat Quay can be integrated with Tekton pipelines to trigger application rebuilds when images are updated in the Red Hat container catalog. At a high level, the flow will look like this:
    • +
    +
  • +
  • medium: Securing Containers with Red Hat Quay and Clair — Part I
  • +
+

Application Migration Toolkit

+ +

Developer Sandbox

+ +

OpenShift Topology View

+ +

OpenBuilt Platform for the Construction Industry

+ +

OpenShift AI

+ +

Scripts

+ +

Slides

+
+ Click to expand! + +
+ + + + +
+
+ +

Tweets

+
+ Click to expand! + +
+ + + +
+
+ +

Videos

+
+ Click to expand! + +
+ + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openshift-pipelines/index.html b/openshift-pipelines/index.html new file mode 100644 index 00000000..b955cd86 --- /dev/null +++ b/openshift-pipelines/index.html @@ -0,0 +1,6790 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OpenShift Pipelines with Jenkins, Tekton and more... - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

OpenShift Pipelines

+
    +
  1. Deploying Jenkins on OpenShift
      +
    1. Jenkins Container Images in OpenShift
    2. +
    +
  2. +
  3. External Jenkins Integration with OpenShift
  4. +
  5. Improving Jenkins’ performance on Openshift
  6. +
  7. Building applications in OpenShift
      +
    1. OpenShift Pipelines with Build Config
    2. +
    3. OpenShift Pipelines with S2i
        +
      1. OpenShift Pipelines with S2i and Jenkins Blue Ocean. Deploying Blue Ocean on OpenShift
      2. +
      +
    4. +
    +
  8. +
  9. OpenShift Deployments with Deployment Descriptor
  10. +
  11. OpenShift Deployments with GitHub Actions
  12. +
  13. Deployments with OpenShift HA in Multiple Datacenters
  14. +
  15. ODO - OpenShift Command line for Developers
  16. +
  17. All about OpenShift Pipelines
      +
    1. Jenkins CICD Getting started with Groovy and Docker Containers
    2. +
    3. Fabric8 Pipeline Library (deprecated)
    4. +
    5. Eclipse JKube Pipeline Library (formerly known as Fabric8 Kubernetes Plugin). Kubernetes & OpenShift Plugins
    6. +
    7. Jenkins Pipelines with OpenShift 3
    8. +
    9. OpenShift Jenkins Pipeline (DSL) Plugin. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax
        +
      1. Red Hat Communities of Practice
      2. +
      3. Jenkins Pipelines in OpenShift 4
      4. +
      +
    10. +
    11. OpenShift Pipelines (aka Tekton CI/CD Pipelines)
        +
      1. Tekton and Tekton Pipelines
      2. +
      +
    12. +
    +
  18. +
  19. Videos
  20. +
  21. Slides
  22. +
+

Deploying Jenkins on OpenShift

+ +

Jenkins Container Images in OpenShift

+ +

External Jenkins Integration with OpenShift

+ +

Improving Jenkins’ performance on Openshift

+ +

Building applications in OpenShift

+

OpenShift Pipelines with Build Config

+ +

OpenShift Pipelines with S2i

+ +

OpenShift Pipelines with S2i and Jenkins Blue Ocean. Deploying Blue Ocean on OpenShift

+ +

OpenShift Deployments with Deployment Descriptor

+ +

OpenShift Deployments with GitHub Actions

+ +

Deployments with OpenShift HA in Multiple Datacenters

+ +

ODO - OpenShift Command line for Developers

+ +

All about OpenShift Pipelines

+

Jenkins CICD Getting started with Groovy and Docker Containers

+ +

Fabric8 Pipeline Library (deprecated)

+ +

Eclipse JKube Pipeline Library (formerly known as Fabric8 Kubernetes Plugin). Kubernetes & OpenShift Plugins

+
    +
  • Eclipse JKube 🌟 Cloud-Native Java Applications without a hassle. Eclipse JKube is a collection of Maven and Gradle plugins, and libraries that are used for building container images using Docker, JIB or S2I build strategies. Eclipse JKube generates and deploys Kubernetes/OpenShift manifests at compile time too. It brings your Java applications on to Kubernetes and OpenShift by leveraging the tasks required to make your application cloud-native. Eclipse JKube also provides a set of tools such as watch, debug, log, etc. to improve your developer experience.
  • +
  • GitHub: Eclipse JKube
  • +
+

Jenkins Pipelines with OpenShift 3

+ +

OpenShift Jenkins Pipeline (DSL) Plugin. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax

+
    +
  • Building Declarative Pipelines with OpenShift DSL Plugin 🌟🌟:
      +
    • Jenkins Pipeline Syntax: Scripted Syntax (Groovy DSL syntax) & Declarative Syntax 🌟:
        +
      • Version 2.5 of the “Pipeline plugin” released in 2016/05/16 introduces support for Declarative Pipeline syntax.
      • +
      • Declarative Pipeline is a relatively recent addition to Jenkins Pipeline which presents a more simplified and opinionated syntax on top of the Pipeline sub-systems.
      • +
      +
    • +
    • Jenkinsfiles have only become an integral part of Jenkins since version 2 but they have quickly become the de-facto standard for building continuous delivery pipelines with Jenkins. Jenkinsfile allows defining pipelines as code using a Groovy DSL syntax and checking it into source version control which allows you to track, review, audit, and manage the lifecycle of changes to the continuous delivery pipelines the same way that you manage the source code of your application.
    • +
    • Although the Groovy DSL syntax which is referred to as the scripted syntax is the more well-known and established syntax for building Jenkins pipelines and was the default when Jenkins 2 was released, support for a newer declarative syntax is also added since Jenkins 2.5 in order to offer a simplified way for controlling all aspects of the pipeline. Although the scripted and declarative syntax provides two ways to define your pipeline, they both translate to the same execution blocks in Jenkins and achieve the same result.
    • +
    • The declarative syntax in its simplest form is composed of an agent which defines the Jenkins slave to be used for executing the pipeline and a number of stages and each stage with a number of steps to be performed.
    • +
    +
  • +
  • Dzone - Continuous Delivery with OpenShift and Jenkins: A/B Testing 🌟
  • +
  • docs.openshift.com: OpenShift 3.11 Pipeline Builds with OpenShift Jenkins Image and OpenShift DSL
  • +
+

Red Hat Communities of Practice

+ +

Jenkins Pipelines in OpenShift 4

+ +

OpenShift Pipelines (aka Tekton CI/CD Pipelines)

+ +

Tekton and Tekton Pipelines

+ +

Videos

+
+ Click to expand! + +
+ +
+
+ +

Slides

+
+ Click to expand! + +
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openshift/index.html b/openshift/index.html new file mode 100644 index 00000000..93a45245 --- /dev/null +++ b/openshift/index.html @@ -0,0 +1,7161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OpenShift docs - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

OpenShift Container Platform

+
    +
  1. OpenShift
  2. +
  3. OpenShift Streaming and Training
  4. +
  5. OpenShift on Public Cloud
      +
    1. Azure Red Hat OpenShift ARO
    2. +
    +
  6. +
  7. Blogs
  8. +
  9. Meetings
  10. +
  11. Differences in developing on OpenShift as opposed to other Kubernetes distributions
  12. +
  13. Red Hat’s approach to Kubernetes. Standardization
  14. +
  15. OpenShift.io online IDE
  16. +
  17. OC CLI Auto Completion
  18. +
  19. Cluster Autoscaler in OpenShift
  20. +
  21. e-Books
      +
    1. Kubernetes e-Books
    2. +
    +
  22. +
  23. Online Learning
  24. +
  25. Local Installers
  26. +
  27. Cloud Native Development Architecture. Architectural Diagrams
  28. +
  29. Cluster Installers
      +
    1. OKD 3
    2. +
    3. OpenShift 3
    4. +
    5. OpenShift 4
        +
      1. OpenShift 4 deployment on VMWare vSphere
          +
        1. Deploying OpenShift 4.4 to VMware vSphere 7
        2. +
        +
      2. +
      +
    6. +
    +
  30. +
  31. Networking (OCP 3 and OCP 4)
  32. +
  33. Security
      +
    1. How is OpenShift Container Platform Secured?
    2. +
    3. Security Context Constraints
        +
      1. Review Security Context Constraints
      2. +
      +
    4. +
    5. OpenShift Network Model & Network Policy
        +
      1. Network Security Zones
      2. +
      3. OpenShift Route and OpenShift Ingress
      4. +
      5. OpenShift Egress
      6. +
      +
    6. +
    +
  34. +
  35. Openshift Compliant Docker Images
      +
    1. Gitlab
    2. +
    3. Atlassian Confluence6
    4. +
    5. Sonatype Nexus 3
    6. +
    7. Rocket Chat
    8. +
    +
  36. +
  37. IBM Cloud Paks and OpenShift
  38. +
  39. OpenShift on AWS
  40. +
  41. OpenShift Dedicated
  42. +
  43. Other Awesome Lists
  44. +
+

OpenShift

+ +

OpenShift Streaming and Training

+ +

OpenShift on Public Cloud

+ +

Azure Red Hat OpenShift ARO

+ +

Blogs

+
    +
  • +

    How Kruize Optimizes OpenShift Workloads 🌟 - This article introduces Kruize, an open-source solution for performance testing and optimization of applications running on OpenShift. It details how Kruize uses Kubernetes operators to collect performance metrics, identify performance bottlenecks, and suggest optimal configurations for workloads, aiming to improve resource utilization and application performance.

    +
  • +
  • +

    Rcarrata’s blog

    +
  • +
+

Meetings

+ +

Differences in developing on OpenShift as opposed to other Kubernetes distributions

+ +

Red Hat’s approach to Kubernetes. Standardization

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ReferenceAuthorURL
“Given the difficulty of navigating the cloud-native ecosystem, especially the one around Kubernetes, there is a high demand for easy-to-administer development platforms that deliver applications in Kubernetes-managed containers.”OMDIARed Hat’s approach to Kubernetes
Industry momentum has aligned behind Kubernetes as the orchestration platform for Linux® containers. Choosing Kubernetes means you’ll be running the de facto standard regardless of which cloud environments and providers are in your future.CNCF Survey 2019Red Hat’s approach to Kubernetes
“It’s not just enough to do Kubernetes. You do need to do CI/CD. You need to use alerting. You need to understand how the security model of the cloud and your applications interplay.”Clayton Coleman,Senior Distinguished Engineer, Red HatRed Hat’s approach to Kubernetes
“Kubernetes is scalable. It helps develop applications faster. It does hybrid and multicloud. These are not just technology buzzwords, they’re real, legitimate business problems.”Brian Gracely,Director, Product Strategy, Red Hat OpenShiftRed Hat’s approach to Kubernetes
“Our job is to make it easier and easier to use, either from an ops point of view or a developer point of view—while acknowledging it is complex, because we’re solving a complex problem.”Chris Wright,Chief Technology Officer, Red HatRed Hat’s approach to Kubernetes
+

+rh openshift solutions 2020 +
+

+

OpenShift.io online IDE

+
    +
  • openshift.io 🌟 an online IDE for building container-based apps, built for team collaboration.
  • +
+

OC CLI Auto Completion

+ +

Cluster Autoscaler in OpenShift

+ +

e-Books

+ +

Kubernetes e-Books

+ +

Online Learning

+ +

Local Installers

+ +

Cloud Native Development Architecture. Architectural Diagrams

+ +

+Cloud-native development

+

Cloud-native development container runtimes +

+

+

Cluster Installers

+

OKD 3

+ +

OpenShift 3

+ +

OpenShift 4

+ +

OpenShift 4 deployment on VMWare vSphere

+ +
Deploying OpenShift 4.4 to VMware vSphere 7
+ +

+openshift 4 to vsphere 7 +
+

+

Networking (OCP 3 and OCP 4)

+ +

Security

+ +

How is OpenShift Container Platform Secured?

+ +

Security Context Constraints

+ +

Review Security Context Constraints

+
    +
  • Security Context Constraints (SCCs) control what actions pods can perform and what resources they can access.
  • +
  • SCCs combine a set of security configurations into a single policy object that can be applied to pods. These security configurations include, but are not limited to, Linux Capabilities, Seccomp Profiles, User and Group ID Ranges, and types of mounts.
  • +
  • OpenShift ships with several SCCs. The most constrained is the restricted SCC, and the least constrained in the privileged SCC. +The other SCCs provide intermediate levels of constraint for various use cases. The restricted SCC is granted to all authenticated users by default.
  • +
  • The default SCC for most pods should be the restricted SCC. If required, a cluster administrator may allow certain pods to run with different SCCs. Pods should be run with the most restrictive SCC possible.
  • +
  • Pods inherit their SCC from the Service Account used to run the pod. With the default project template, new projects get a Service Account named default that is used to run pods. This default service account is only granted the ability to run the restricted SCC.
  • +
  • Recommendations:
      +
    • Use OpenShift’s Security Context Constraint feature, which has been contributed to Kubernetes as Pod Security Policies. PSPs are still beta in Kubernetes 1.10, 1.11, and 1.12.
    • +
    • Use the restricted SCC as the default
    • +
    • For pods that require additional access, use the SCC that grants the least amount of additional privileges or create a custom SCC Audit
    • +
    • To show all available SCCs: oc describe scc
    • +
    • To audit a single pod: oc describe pod <POD> | grep openshift.io\/scc
    • +
    • Remediation: Apply the SCC with the least privilege required
    • +
    +
  • +
+

OpenShift Network Model & Network Policy

+ +

Network Security Zones

+
    +
  • stackoverflow.com: Is that possible to deploy an openshift or kubernetes in DMZ zone? 🌟
  • +
  • OpenShift and Network Security Zones: Coexistence Approaches 🌟🌟🌟
      +
    • Introduction: Kubernetes and consequently OpenShift adopt a flat Software Defined Network (SDN) model, which means that all pods in the SDN are in the same logical network. Traditional network implementations adopt a zoning model in which different networks or zones are dedicated to specific purposes, with very strict communication rules between each zone. When implementing OpenShift in organizations that are using network security zones, the two models may clash. In this article, we will analyze a few options for coexistence. But first, let’s understand the two network models a bit more in depth.
    • +
    • Network Zones have been the widely accepted approach for building security into a network architecture. The general idea is to create separate networks, each with a specific purpose. Each network contains devices with similar security profiles. Communications between networks is highly scrutinized and controlled by firewall rules (perimeter defense).
    • +
    • Conclusion: A company’s security organization must be involved when deciding how to deploy OpenShift with regard to traditional network zones. Depending on their level of comfort with new technologies you may have different options. If physical network separation is the only acceptable choice, you will have to build a cluster per network zone. If logical network type of separations can be considered, then there are ways to stretch a single OpenShift deployment across multiple network zones. This post presented a few technical approaches.
    • +
    +
  • +
+

+Network Security Zones +
+

+

OpenShift Route and OpenShift Ingress

+ +

OpenShift Egress

+ +

Openshift Compliant Docker Images

+ +

Gitlab

+ +

Atlassian Confluence6

+ +

Sonatype Nexus 3

+ +

Rocket Chat

+ +

IBM Cloud Paks and OpenShift

+
    +
  • cloudpak8s.io
  • +
  • What are IBM Cloud Paks? Beyond containers and Kubernetes, enterprises need to orchestrate their production topology, and to provide management, security and governance for their applications. They need to do this while improving efficiency and resiliency, reducing costs and maximizing ROI.
  • +
  • IBM Cloud® Paks are enterprise-ready, containerized software solutions that give clients an open, faster and more secure way to move core business applications to any cloud. Each IBM Cloud Pak® includes containerized IBM middleware and common software services for development and management, on top of a common integration layer — designed to reduce development time by up to 84 percent and operational expenses by up to 75 percent. IBM Cloud Paks run wherever Red Hat® OpenShift® runs and are optimized for productivity and performance on Red Hat OpenShift on IBM Cloud.
  • +
  • IBM Cloud Pak Playbook The Cloud Pak for Applications provides product offerings to support modernizing existing applications and building new cloud native applications. The applications run within a Kubernetes cluster provided with the Red Hat OpenShift Container Platform. The focus provided here is on running application workloads as containers. The Cloud Pak for Applications is a bundle of multiple offerings. This diagram provides an overview of what offerings are included and what they would be used for:
  • +
+

+cp4a_overview +

+

OpenShift on AWS

+ +

OpenShift Dedicated

+ +

Other Awesome Lists

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/oraclecloud/index.html b/oraclecloud/index.html new file mode 100644 index 00000000..34d056b9 --- /dev/null +++ b/oraclecloud/index.html @@ -0,0 +1,6404 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Oracle Cloud - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Oracle Cloud Infrastructure (OCI)

+
    +
  1. Introduction
  2. +
  3. Oracle RAC
  4. +
  5. Oracle Container Engine for Kubernetes (OKE)
  6. +
+

Introduction

+ +

Oracle RAC

+ +

Oracle Container Engine for Kubernetes (OKE)

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/other-awesome-lists/index.html b/other-awesome-lists/index.html new file mode 100644 index 00000000..aaf4ca80 --- /dev/null +++ b/other-awesome-lists/index.html @@ -0,0 +1,7008 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Other Awesome Lists - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Awesome Lists

+
    +
  1. Inspired By
  2. +
  3. Introduction
  4. +
  5. Other Awesome Kubernetes Lists
  6. +
  7. Other Awesome Lists
  8. +
  9. AI and ML
      +
    1. Project Management
    2. +
    3. SysAdmin
    4. +
    5. Cloud Native
    6. +
    7. CI/CD and Pipelines
    8. +
    9. DevOps
    10. +
    11. DevSecOps
    12. +
    13. GitOps
    14. +
    15. SRE
    16. +
    17. OpenShift
    18. +
    19. Microservices
    20. +
    21. Argo
    22. +
    23. Monitoring Observability
    24. +
    25. Cloud
    26. +
    27. Docker
    28. +
    29. Configuration Management
    30. +
    31. Security
    32. +
    33. QA
    34. +
    35. API
    36. +
    37. Development
        +
      1. Bash
      2. +
      3. Powershell
      4. +
      +
    38. +
    39. Data Processing
    40. +
    41. Big Data
    42. +
    43. Machine Learning and MLOps. Data Engineering
    44. +
    +
  10. +
  11. Open Source Alternatives
  12. +
  13. Kubectl Plugins
  14. +
  15. GitHub Repositories that developers love
  16. +
  17. LLMOps
  18. +
  19. Books
  20. +
  21. Tweets
  22. +
+

Inspired By

+ +

Introduction

+ +

Other Awesome Kubernetes Lists

+ +

Other Awesome Lists

+ +

AI and ML

+ +

Project Management

+ +

SysAdmin

+ +

Cloud Native

+ +

CI/CD and Pipelines

+ +

DevOps

+ +

DevSecOps

+ +

GitOps

+ +

SRE

+ +

OpenShift

+ +

Microservices

+ +

Argo

+ +

Monitoring Observability

+ +

Cloud

+ +

Docker

+ +

Configuration Management

+ +

Security

+ +

QA

+ +

API

+ +

Development

+ +

Bash

+ +

Powershell

+ +

Data Processing

+ +

Big Data

+ +

Machine Learning and MLOps. Data Engineering

+ +

Open Source Alternatives

+ +

Kubectl Plugins

+ +

GitHub Repositories that developers love

+ +

LLMOps

+ +

Books

+ +

Tweets

+
+ Click to expand! + +
+ +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/performance-testing-with-jenkins-and-jmeter/index.html b/performance-testing-with-jenkins-and-jmeter/index.html new file mode 100644 index 00000000..cbd2394b --- /dev/null +++ b/performance-testing-with-jenkins-and-jmeter/index.html @@ -0,0 +1,6798 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Performance testing with Jenkins, JMeter, Gatling, Azure Load Testing, etc - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Performance testing with jenkins and JMeter or Gatling

+
    +
  1. Introduction
  2. +
  3. Performance testing of microservices running on Kubernetes
  4. +
  5. JMeter
  6. +
  7. JMeter based Cloud solutions
  8. +
  9. Jenkins \& JMeter
  10. +
  11. Gatling
      +
    1. API Load Testing
    2. +
    3. Gatling and Maven
    4. +
    +
  12. +
  13. Jenkins \& Gatling
  14. +
  15. Azure Load Testing Service
  16. +
  17. Load Testing with GitHub Actions
  18. +
  19. Alternatives
  20. +
  21. Serverless Load Testing
  22. +
  23. Videos
  24. +
+

Introduction

+ +

Performance testing of microservices running on Kubernetes

+ +

JMeter

+ +

JMeter based Cloud solutions

+ +

Jenkins & JMeter

+ +

Gatling

+ +

API Load Testing

+ +

Gatling and Maven

+
    +
  • How to Use Gatling With Maven Learn all the details of how to integrate the Gatling performance testing framework with a Maven project in this tutorial.
  • +
+

Jenkins & Gatling

+ +

Azure Load Testing Service

+ +

Load Testing with GitHub Actions

+ +

Alternatives

+ +

Serverless Load Testing

+ +

Videos

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/postman/index.html b/postman/index.html new file mode 100644 index 00000000..4403161e --- /dev/null +++ b/postman/index.html @@ -0,0 +1,6452 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + API Test Automation with Postman and REST Assured - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Test Automation with Postman. API Testing

+
    +
  1. Introduction
  2. +
  3. Newman
  4. +
  5. Pynt API Security
  6. +
  7. KIE Server and Drools
  8. +
  9. Alternatives. Rest Assured
  10. +
+

Introduction

+ +

Newman

+ +

Pynt API Security

+
    +
  • Postman Pynt 🌟 Pynt is a free API security solution which generates automated security tests from your existing functional test collection in a few minutes
  • +
+

KIE Server and Drools

+ +

Alternatives. Rest Assured

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/private-cloud-solutions/index.html b/private-cloud-solutions/index.html new file mode 100644 index 00000000..ed8f4440 --- /dev/null +++ b/private-cloud-solutions/index.html @@ -0,0 +1,6328 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Private Cloud Solutions - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ +
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/project-management-methodology/index.html b/project-management-methodology/index.html new file mode 100644 index 00000000..70845aae --- /dev/null +++ b/project-management-methodology/index.html @@ -0,0 +1,6865 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Project Management Methodology - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Project Management

+
    +
  1. Project Management Methodology
      +
    1. Spanish
    2. +
    3. Team Topologies
    4. +
    5. Agile vs Scrum vs Waterfall vs Kanban vs Lean
    6. +
    7. Waterfall vs Agile
    8. +
    9. Agile vs Scrum vs Kanban
    10. +
    +
  2. +
  3. Responsibility Assignment Matrix (RACI)
  4. +
  5. KPIs and Employee Performance
  6. +
  7. MVP Minimum Viable Product
  8. +
  9. Other Development Methodologies. Worst practices in Project Management
      +
    1. DevDriven.By
    2. +
    3. Promotion Driven Development
    4. +
    +
  10. +
  11. Culture and Leadership
  12. +
  13. Books
  14. +
  15. Bunch of images
  16. +
  17. Videos
  18. +
  19. Spanish Videos
  20. +
  21. Tweets
  22. +
  23. Tweets 2. Cultures
  24. +
+

+ + +

+

Project Management Methodology

+ +

Spanish

+ +

Team Topologies

+ +

Agile vs Scrum vs Waterfall vs Kanban vs Lean

+ +

Waterfall vs Agile

+ +

Agile vs Scrum vs Kanban

+ +

Responsibility Assignment Matrix (RACI)

+ +

KPIs and Employee Performance

+ +

MVP Minimum Viable Product

+ +

Other Development Methodologies. Worst practices in Project Management

+ +

DevDriven.By

+ +

Promotion Driven Development

+ +

Culture and Leadership

+ +

Books

+
    +
  • swarmia.com/build: Build Elements of an Effective Software Organization By Rebecca Murphey and Otto Hilska
      +
    • Building software is hard. Running an effective software engineering organization is harder. Build: Elements of an Effective Software Organization is a guide to help good software teams get better and remain effective as the organization grows and evolves.
    • +
    • Build is a blueprint for continuous improvement. It zeroes in on three key ingredients: a relentless focus on business outcomes, actionable insights to boost the productivity of your software teams, and a thoughtful approach to improving the experience of building software at your company.
    • +
    • Whether you’re a leader, a manager, or anyone invested in seeing your team or organization improve, Build provides the roadmap you need to drive meaningful, impactful progress.
    • +
    +
  • +
+

Bunch of images

+
+Click to expand! +

+

mvp

+

mvp2

+

mvp3

+

agile

+

waterfall-agile

+

scrum-one-min

+

scrum vs kanban

+

burnout

+

promotion driven development

+

culturas toxicas +

+
+

Videos

+ +
+Click to expand! +

+ + + + + +

+
+

Spanish Videos

+
+Click to expand! +

+ + + + +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + +
+
+ +

Tweets 2. Cultures

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/project-management-tools/index.html b/project-management-tools/index.html new file mode 100644 index 00000000..6ccf2f38 --- /dev/null +++ b/project-management-tools/index.html @@ -0,0 +1,6461 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Project Management Tools - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Project Management Tools

+
    +
  1. Products and Tools
  2. +
  3. Alternatives
  4. +
  5. Productivity Tips with .new TLD to quickly create
  6. +
  7. Tweets
  8. +
+

Products and Tools

+ +

Alternatives

+ +

Productivity Tips with .new TLD to quickly create

+ +

Tweets

+
+ Click to expand! + +
+ + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/prometheus/index.html b/prometheus/index.html new file mode 100644 index 00000000..f624a6f0 --- /dev/null +++ b/prometheus/index.html @@ -0,0 +1,7667 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prometheus - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Prometheus

+
    +
  1. Introduction
  2. +
  3. AlertManager
  4. +
  5. Prometheus Agent
  6. +
  7. Promgen
  8. +
  9. Promcat Resource Catalog
  10. +
  11. Prometheus Demo
  12. +
  13. Prometheus Storage
  14. +
  15. Prometheus SLO Service Level Objectives
      +
    1. Scalability, High Availability (HA) and Long-Term Storage
    2. +
    3. Storage Solutions for Prometheus
        +
      1. InfluxDB and InfluxDB Templates
      2. +
      +
    4. +
    +
  16. +
  17. Collectors. Software exposing Prometheus metrics
      +
    1. Prometheus Exporters. Plug-in architecture and extensibility with Prometheus Exporters (collectors)
        +
      1. Certificates Expiration
      2. +
      +
    2. +
    3. Prometheus Exporters Development. Node Exporter
    4. +
    5. Prometheus Third-party Collectors/Exporters
        +
      1. OpenTelemetry Collector
      2. +
      3. Telegraf Collector
      4. +
      5. Micrometer Collector
      6. +
      +
    6. +
    +
  18. +
  19. Prometheus Alarms and Event Tracking
  20. +
  21. Prometheus and Cloud Monitoring
  22. +
  23. Prometheus Installers
      +
    1. Binaries, source code or Docker
    2. +
    3. Ansible Roles
    4. +
    +
  24. +
  25. Prometheus Operator
      +
    1. kube Prometheus
        +
      1. Prometheus Operator with Helm3
      2. +
      3. Kube-prometheus-stack (best choice)
      4. +
      5. Kubernetes Cluster Monitoring Stack based on Prometheus Operator
      6. +
      +
    2. +
    +
  26. +
  27. Prometheus SaaS Solutions
  28. +
  29. Proof of Concept: ActiveMQ Monitoring with Prometheus
      +
    1. PoC: ActiveMQ 5.x Monitoring with Telegraf Collector, Prometheus and Grafana Dashboard 10702
        +
      1. Deployment and Configuration
      2. +
      +
    2. +
    3. PoC: ActiveMQ Artemis Monitoring with Prometheus Metrics Plugin (Micrometer Collector) and Prometheus. Grafana Dashboard not available
        +
      1. Deployment and Configuration
      2. +
      +
    4. +
    5. Validation of Artemis Broker Monitoring with JMeter
        +
      1. JMeter Example Test Plans
      2. +
      +
    6. +
    +
  30. +
  31. Prometheus and Azure
  32. +
  33. Managed Prometheus in AWS
  34. +
  35. Managed Prometheus in GCP
  36. +
  37. Videos
  38. +
  39. Tweets
  40. +
+

Introduction

+ +

+prometheus architecture +

+

AlertManager

+ +

Prometheus Agent

+ +

Promgen

+
    +
  • Promgen 🌟 Promgen is a configuration file generator for Prometheus
  • +
+

Promcat Resource Catalog

+ +

Prometheus Demo

+ +

Prometheus Storage

+
    +
  • Proporciona etiquetado clave-valor y “time-series”. La propia documentación de Prometheus explica cómo se gestiona el almacenamiento en disco (Prometheus Time-Series DB). La ingestión de datos se agrupa en bloques de dos horas, donde cada bloque es un directorio conteniendo uno o más “chunk files” (los datos), además de un fichero de metadatos y un fichero index:
  • +
  • Almacenamiento de datos en disco (Prometheus Time-Series DB):
  • +
+
./data/01BKGV7JBM69T2G1BGBGM6KB12
+./data/01BKGV7JBM69T2G1BGBGM6KB12/meta.json
+./data/01BKGV7JBM69T2G1BGBGM6KB12/wal
+./data/01BKGV7JBM69T2G1BGBGM6KB12/wal/000002
+./data/01BKGV7JBM69T2G1BGBGM6KB12/wal/000001
+
+
    +
  • Un proceso en segundo plano compacta los bloques de dos horas en otros más grandes.
  • +
  • Es posible almacenar los datos en otras soluciones de “Time-Series Database” como InfluxDB.
  • +
+

Prometheus SLO Service Level Objectives

+
    +
  • Sloth 🌟 Easy and simple Prometheus SLO (service level objectives) generator +
  • +
  • PromTools: SLOs with Prometheus 🌟 Multiple Burn Rate Alerts. This page will generate, with the data you provide in the form, the necessary Prometheus alerting and recording rules for Multiple Burn Rate which you might know from The Site Reliability Workbook. These rules will evaluate based on the available metrics in the last 30 days.
      +
    • slo-libsonnet Generate Prometheus alerting & recording rules and Grafana dashboards for your SLOs.
    • +
    +
  • +
  • opensource.google: Prometheus SLO example An end to end example of implementing SLOs with Prometheus, Grafana and Go
  • +
  • SLO Generator SLO Generator is a tool to compute SLIs, SLOs, Error Budgets and Burn rate and export an SLO report to supported exporters.
  • +
+

Scalability, High Availability (HA) and Long-Term Storage

+
    +
  • Prometheus fue diseñado para ser fácil de desplegar. Es extremadamente fácil ponerlo en marcha, recoger algunas métricas, y empezar a construir nuestra propia herramienta de monitorización. Las cosas se complican cuando se intenta operar a un nivel de escalado considerable.
  • +
  • Para entender si esto va a ser un problema, conviene plantearse las siguiente preguntas:
      +
    • ¿Cuántas métricas puede ingerir el sistema de monitorización y cuántas son necesarias?
    • +
    • ¿Cuál es la cardinalidad de las métricas? La cardinalidad es el número de etiquetas que cada métrica puede tener. Es una cuestión muy frecuente en las métricas pertenecientes a entornos dinámicos donde a los contenedores se les asignan un ID ó nombre diferente cada vez que son lanzados, reiniciados o movidos entre nodos (caso de kubernetes).
    • +
    • ¿Es necesaria la Alta Disponibilidad (HA)?
    • +
    • ¿Durante cuánto tiempo es necesario mantener las métricas y con qué resolución?
    • +
    +
  • +
  • La implementación de HA es laboriosa porque la funcionalidad de cluster requiere añadir plugins de terceros al servidor Prometheus. Es necesario tratar con “backups” y “restores”, y el almacenamiento de métricas por un periodo de tiempo extendido hará que la base de datos crezca exponencialmente. Los servidores Prometheus proporcionan almacenamiento persistente, pero Prometheus no fue creado para el almacenamiento distribuido de métricas a lo largo de múltiples nodos de un cluster con replicación y capacidad curativa (como es el caso de Kubernetes). Esto es conocido como “almacenamiento a largo-plazo” (Long-Term) y actualmente es un requisito en unos pocos casos de uso, por ejemplo en la planificación de la capacidad para monitorizar cómo la infraestructura necesita evolucionar, contracargos para facturar diferentes equipos ó departamentos para un caso específico que han hecho de la infraestructura, análisis de tendencias de uso, o adherirse a regulaciones para verticales específicos como banca, seguros, etc.
  • +
+

Storage Solutions for Prometheus

+ +

InfluxDB and InfluxDB Templates

+ +

Collectors. Software exposing Prometheus metrics

+ +

Prometheus Exporters. Plug-in architecture and extensibility with Prometheus Exporters (collectors)

+ +

Certificates Expiration

+
    +
  • muxinc/certificate-expiry-monitor Utility that exposes the expiry of TLS certificates as Prometheus metrics
  • +
  • enix/x509-certificate-exporter A Prometheus exporter to monitor x509 certificates expiration in Kubernetes clusters or standalone, written in Go. Designed to monitor Kubernetes clusters from inside, it can also be used as a standalone exporter.
  • +
+

Prometheus Exporters Development. Node Exporter

+ +

Prometheus Third-party Collectors/Exporters

+ +

OpenTelemetry Collector

+ +

Telegraf Collector

+ +

Micrometer Collector

+ +

Prometheus Alarms and Event Tracking

+
    +
  • Prometheus no soporta rastreo de eventos (event tracking), pero ofrece un soporte completo de alarmas y gestión de alarmas. El lenguaje de consultas (queries) de Prometheus permite en cambio implementar rastreo de eventos por cuenta propia.
  • +
+

Prometheus and Cloud Monitoring

+
    +
  • AWS CloudWatch is supported by Prometheus.
  • +
  • https://aws.amazon.com/prometheus/
  • +
  • cloud.google.com: Get planet-scale monitoring with Managed Service for Prometheus Prometheus, the de facto standard for Kubernetes monitoring, works well for many basic deployments, but managing Prometheus infrastructure can become challenging at scale. As Kubernetes deployments continue to play a bigger role in enterprise IT, scaling Prometheus for a large number of metrics across a global footprint has become a pressing need for many organizations. Today, we’re excited to announce the public preview of Google Cloud Managed Service for Prometheus, a new monitoring offering designed for scale and ease of use that maintains compatibility with the open-source Prometheus ecosystem.
  • +
+

Prometheus Installers

+
    +
  • Setup Prometheus Using Helm Chart on Kubernetes 🌟 - A detailed guide on how to set up Prometheus on a Kubernetes cluster using the official community Helm chart, including best practices and an overview of the components involved like Alertmanager, Kube State Metrics, and Node Exporter.
  • +
+

Binaries, source code or Docker

+ +

Ansible Roles

+ +

Prometheus Operator

+

kube Prometheus

+ +

Prometheus Operator with Helm3

+ +

Kube-prometheus-stack (best choice)

+ +

Kubernetes Cluster Monitoring Stack based on Prometheus Operator

+
    +
  • Cluster Monitoring stack for ARM / X86-64 platforms Updated the cluster-monitoring stack for kubernetes to latest versions. Fresh Grafana 7, Prometheus Operator and more. This repository collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.
  • +
+

Prometheus SaaS Solutions

+ +

Proof of Concept: ActiveMQ Monitoring with Prometheus

+

The aim of this Proof of Concept is to learn Prometheus by example being Red Hat AMQ 7 (broker) on RHEL the application to be monitored. Red Hat AMQ Broker is based on ActiveMQ Artemis, being this the reason why one of the following proof of concepts is done with Artemis (the other one was run in order to learn telegraf, prometheus and grafana). The same solution tested with Artemis on RHEL is valid for Red Hat AMQ 7 Broker on RHEL.

+

Red Hat AMQ 7 Broker is OpenShift 3.11 compliant as Technical Preview and deployed as Operator.

+

Red Hat AMQ 7 Operator is fully supported in OpenShift 4.x, initially with Prometheus and Grafana monitoring already setup and maintained by AMQ Operator. It is recommended to check the metrics collected and displayed by AMQ Operator with another Proof of Concept in OpenShift 4.x.

+

PoC: ActiveMQ 5.x Monitoring with Telegraf Collector, Prometheus and Grafana Dashboard 10702

+ +

Deployment and Configuration

+
    +
  • Systemd
  • +
+
/etc/systemd/system/prometheus.service
+/etc/systemd/system/activemq.service
+/usr/lib/systemd/system/telegraf.service
+/usr/lib/systemd/system/grafana-server.service
+
+
    +
  • Systemctl
  • +
+
systemctl daemon-reload
+for service in activemq telegraf prometheus grafana-server; do systemctl status $service; done
+for service in activemq telegraf prometheus grafana-server; do systemctl restart $service; done
+for service in activemq telegraf prometheus grafana-server; do systemctl stop $service; done
+for service in activemq telegraf prometheus grafana-server; do systemctl start $service; done
+
+
    +
  • Jolokia Permissions already integrated in ActiveMQ by default. Jolokia permissions have been disabled by renaming “jolokia-access.xml” to “jolokia-access.xmlORIG” (this is a Proof of Concept):
  • +
+
mv /opt/activemq/webapps/api/WEB-INF/classes/jolokia-access.xml /opt/activemq/webapps/api/WEB-INF/classes/jolokia-access.xmlORIG
+
+
    +
  • Telegraf Jolokia Input Plugin /etc/telegraf/telegraf.d/activemq.conf
  • +
+
[[inputs.jolokia2_agent]]
+urls = ["http://localhost:8161/api/jolokia"]
+name_prefix = "activemq."
+username = "admin"
+password = "admin"
+### JVM Generic
+[[inputs.jolokia2_agent.metric]]
+name  = "OperatingSystem"
+mbean = "java.lang:type=OperatingSystem"
+paths = ["ProcessCpuLoad","SystemLoadAverage","SystemCpuLoad"]
+[[inputs.jolokia2_agent.metric]]
+name  = "jvm_runtime"
+mbean = "java.lang:type=Runtime"
+paths = ["Uptime"]
+[[inputs.jolokia2_agent.metric]]
+name  = "jvm_memory"
+mbean = "java.lang:type=Memory"
+paths = ["HeapMemoryUsage", "NonHeapMemoryUsage", "ObjectPendingFinalizationCount"]
+[[inputs.jolokia2_agent.metric]]
+name     = "jvm_garbage_collector"
+mbean    = "java.lang:name=*,type=GarbageCollector"
+paths    = ["CollectionTime", "CollectionCount"]
+tag_keys = ["name"]
+[[inputs.jolokia2_agent.metric]]
+name       = "jvm_memory_pool"
+mbean      = "java.lang:name=*,type=MemoryPool"
+paths      = ["Usage", "PeakUsage", "CollectionUsage"]
+tag_keys   = ["name"]
+tag_prefix = "pool_"
+### ACTIVEMQ
+[[inputs.jolokia2_agent.metric]]
+name     = "queue"
+mbean    = "org.apache.activemq:brokerName=*,destinationName=*,destinationType=Queue,type=Broker"
+paths    = ["QueueSize","EnqueueCount","ConsumerCount","DispatchCount","DequeueCount","ProducerCount","InFlightCount"]
+tag_keys = ["brokerName","destinationName"]
+[[inputs.jolokia2_agent.metric]]
+name     = "topic"
+mbean    = "org.apache.activemq:brokerName=*,destinationName=*,destinationType=Topic,type=Broker"
+paths    = ["ProducerCount","DequeueCount","ConsumerCount","QueueSize","EnqueueCount"]
+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"]
+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:
  • +
+
  # # Configuration for the Prometheus client to spawn
+  [[outputs.prometheus_client]]
+  #   ## Address to listen on
+      listen = ":9273"
+      ## Path to publish the metrics on.
+      path = "/metrics"
+  ...
+  ...
+  # # Gather ActiveMQ metrics
+  [[inputs.activemq]]
+  #   ## ActiveMQ WebConsole URL
+  url = "http://127.0.0.1:8161"
+  #   ## Credentials for basic HTTP authentication
+  username = "admin"
+  password = "admin"
+  ...
+  ...
+
+
    +
  • scrape_configs in /opt/prometheus/prometheus.yml
  • +
+
  scrape_configs:
+  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
+  - job_name: 'prometheus'
+      # metrics_path defaults to '/metrics'
+      # scheme defaults to 'http'.
+      static_configs:
+      - targets: ['localhost:9090']
+  - job_name: 'broker'
+      static_configs:
+      - targets: ['localhost:9273']
+
+
    +
  • Grafana Dashboard 10702 is imported from Grafana UI -> “import dashboard”. Prometheus data source is connected manually with Grafana via Grafana UI.
  • +
+

PoC: ActiveMQ Artemis Monitoring with Prometheus Metrics Plugin (Micrometer Collector) and Prometheus. Grafana Dashboard not available

+ +

Deployment and Configuration

+
    +
  • systemd
  • +
+
/etc/systemd/system/prometheus.service
+/etc/systemd/system/artemis.service
+/usr/lib/systemd/system/grafana-server.service
+
+
    +
  • systemctl
  • +
+
# systemctl enable artemis
+# systemctl daemon-reload
+
+ for service in artemis prometheus grafana-server; do systemctl status $service; done
+ for service in artemis prometheus grafana-server; do systemctl restart $service; done
+ for service in artemis prometheus grafana-server; do systemctl stop $service; done
+ for service in artemis prometheus grafana-server; do systemctl start $service; done
+
+
    +
  • Creation of Artemis Broker
  • +
+
cd /var/lib
+/opt/artemis/bin/artemis create --addresses 192.168.1.38 --allow-anonymous --home /opt/artemis --host <my_servername.my_domain> --http-host <my_servername.my_domain> --name <my_servername.my_domain> --queues queue1,queue2 --user artemisuser --password artemispassword artemisbroker
+
+Creating ActiveMQ Artemis instance at: /var/lib/artemisbroker
+
+Auto tuning journal ...
+done! Your system can make 13.89 writes per millisecond, your journal-buffer-timeout will be 72000
+
+You can now start the broker by executing:
+
+   "/var/lib/artemisbroker/bin/artemis" run
+
+Or you can run the broker in the background using:
+
+   "/var/lib/artemisbroker/bin/artemis-service" start
+
+
    +
  • Permissions change in broker directory
  • +
+
# chown -R activemq. /var/lib/artemisbroker/
+
+
    +
  • Running artemis broker
  • +
+
# su - activemq
+$ cd /var/lib/artemisbroker/
+$ /var/lib/artemisbroker/bin/artemis run
+
+ +
activemq@my_servername ~]$ pwd
+/home/activemq
+[activemq@my_servername ~]$ cd artemis-prometheus-metrics-plugin/
+[activemq@my_servername artemis-prometheus-metrics-plugin]$ mvn install
+...
+[INFO] Replacing /home/activemq/artemis-prometheus-metrics-plugin/artemis-prometheus-metrics-plugin/target/artemis-prometheus-metrics-plug
+in-1.0.0.CR1.jar with /home/activemq/artemis-prometheus-metrics-plugin/artemis-prometheus-metrics-plugin/target/artemis-prometheus-metrics
+-plugin-1.0.0.CR1-shaded.jar
+[INFO] Dependency-reduced POM written at: /home/activemq/artemis-prometheus-metrics-plugin/artemis-prometheus-metrics-plugin/dependency-re
+duced-pom.xml
+[INFO]
+[INFO] --- maven-install-plugin:2.4:install (default-install) @ artemis-prometheus-metrics-plugin ---
+[INFO] Installing /home/activemq/artemis-prometheus-metrics-plugin/artemis-prometheus-metrics-plugin/target/artemis-prometheus-metrics-plu
+gin-1.0.0.CR1.jar to /home/activemq/.m2/repository/org/apache/activemq/artemis-prometheus-metrics-plugin/1.0.0.CR1/artemis-prometheus-metr
+ics-plugin-1.0.0.CR1.jar
+[INFO] Installing /home/activemq/artemis-prometheus-metrics-plugin/artemis-prometheus-metrics-plugin/dependency-reduced-pom.xml to /home/a
+ctivemq/.m2/repository/org/apache/activemq/artemis-prometheus-metrics-plugin/1.0.0.CR1/artemis-prometheus-metrics-plugin-1.0.0.CR1.pom
+[INFO] ------------------------------------------------------------------------
+[INFO] Reactor Summary for artemis-prometheus-metrics-pom 1.0.0.CR1:
+[INFO]
+[INFO] artemis-prometheus-metrics-pom ..................... SUCCESS [  0.328 s]
+[INFO] ActiveMQ Artemis Prometheus Metrics Plugin Servlet . SUCCESS [  7.964 s]
+[INFO] ActiveMQ Artemis Prometheus Metrics Plugin ......... SUCCESS [ 34.596 s]
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESS
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time:  43.030 s
+[INFO] Finished at: 2020-04-10T13:36:27+02:00
+[INFO] ------------------------------------------------------------------------
+
+
    +
  • New artifact is copied to artemis broker. Artefact artemis-prometheus-metrics-plugin/target/artemis-prometheus-metrics-plugin-VERSION.jar is copied to our broker:
  • +
+
[activemq@my_servername artemis-prometheus-metrics-plugin]$ cp artemis-prometheus-metrics-plugin/target/artemis-prometheus-metrics-plugin-
+1.0.0.CR1.jar /var/lib/artemisbroker/lib/
+
+
    +
  • Edition of file /var/lib/artemisbroker/etc/broker.xml
  • +
+
<metrics-plugin class-name="org.apache.activemq.artemis.core.server.metrics.plugins.ArtemisPrometheusMetricsPlugin"/>
+
+
    +
  • Creation of /web
  • +
+
[activemq@my_servername artemisbroker]$ mkdir /var/lib/artemisbroker/web
+
+
    +
  • Artifact artemis-prometheus-metrics-plugin-servlet/target/metrics.war is copied to /web :
  • +
+
[activemq@my_servername artemis-prometheus-metrics-plugin]$ cp artemis-prometheus-metrics-plugin-servlet/target/metrics.war /var/lib/artem
+isbroker/web/
+
+
    +
  • Below web component added to /etc/bootstrap.xml :
  • +
+
[activemq@my_servername artemis-prometheus-metrics-plugin]$ vim /var/lib/artemisbroker/etc/bootstrap.xml
+...
+<app url="metrics" war="metrics.war"/>
+...
+
+
    +
  • Restart of Artemis Broker
  • +
  • Prometheus configuration, scrape_configs in /opt/prometheus/prometheus.yml :
  • +
+
scrape_configs:
+  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
+  - job_name: 'prometheus'
+
+    # metrics_path defaults to '/metrics'
+    # scheme defaults to 'http'.
+
+    static_configs:
+    - targets: ['localhost:9090']
+  - job_name: 'broker'
+    static_configs:
+    - targets: ['localhost:8161']
+
+ +

Validation of Artemis Broker Monitoring with JMeter

+
    +
  • In order to validate our Artemis Broker Monitoring solution we need to “inject traffic/data/metrics” with for example Pub/Sub messages.
  • +
  • We can achieve this with a little of java code or by sending messages via Artemis Web Console -> “Operations” tab.
  • +
  • Another option is running the jmeter test plans available on Artemis’ github repo. The procedure is described below. Remember to create the queues and addresses (topics) defined in jmeter example test plans.
  • +
+

JMeter Example Test Plans

+
    +
  • Latest release of Apache JMeter deployed in /opt
  • +
  • Library artemis-jms-client-all-2.11.0.jar is copied to $JMETER_HOME/lib :
  • +
+
$ cp /opt/artemis/lib/client/artemis-jms-client-all-2.11.0.jar /opt/apache-jmeter-5.2.1/lib/
+
+
    +
  • jndi.properties file is modified with Artemis’ IP address (it is not listening on localhost):
  • +
+
$ vim /opt/artemis/examples/perf/jmeter/jndi.properties
+$ cat /opt/artemis/examples/perf/jmeter/jndi.properties
+connectionFactory.ConnectionFactory=tcp://192.168.1.38:61616
+
+
    +
  • jndi.properties is packaged in a jar file and moved to $JMETER_HOME/lib :
  • +
+
[activemq@my_servername ~]$ cd /opt/artemis/examples/perf/jmeter/
+[activemq@my_servername jmeter]$ ls -l
+total 28
+-rw-rw-r-- 1 activemq activemq 11887 Jan 10 16:22 1.jms_p2p_test.jmx
+-rw-rw-r-- 1 activemq activemq  8442 Jan 10 16:22 2.pub_sub_test.jmx
+-rw-rw-r-- 1 activemq activemq   833 Jan 10 16:22 jndi.properties
+[activemq@my_servername jmeter]$ jar -cf artemis-jndi.jar jndi.properties
+[activemq@my_servername jmeter]$ ls -l
+total 32
+-rw-rw-r-- 1 activemq activemq 11887 Jan 10 16:22 1.jms_p2p_test.jmx
+-rw-rw-r-- 1 activemq activemq  8442 Jan 10 16:22 2.pub_sub_test.jmx
+-rw-rw-r-- 1 activemq activemq   946 May 15 08:46 artemis-jndi.jar
+-rw-rw-r-- 1 activemq activemq   833 Jan 10 16:22 jndi.properties
+[activemq@my_servername jmeter]$ cp artemis-jndi.jar /opt/apache-jmeter-5.2.1/lib/
+
+
    +
  • Example Test Plans available at Artemis GitHub Repo are run by JMeter (from within the GUI or the CLI):
  • +
+
[activemq@my_servername ~]$ cd /opt/artemis/examples/perf/jmeter/
+[activemq@my_servername jmeter]$ ls -la
+total 32
+drwxrwxr-x 2 activemq activemq   101 May 15 08:46 .
+drwxrwxr-x 3 activemq activemq    19 Jan 10 16:22 ..
+-rw-rw-r-- 1 activemq activemq 11887 Jan 10 16:22 1.jms_p2p_test.jmx
+-rw-rw-r-- 1 activemq activemq  8442 Jan 10 16:22 2.pub_sub_test.jmx
+-rw-rw-r-- 1 activemq activemq   946 May 15 08:46 artemis-jndi.jar
+-rw-rw-r-- 1 activemq activemq   833 Jan 10 16:22 jndi.properties
+[activemq@my_servername jmeter]$
+[activemq@my_servername bin]$ cd
+[activemq@my_servername ~]$ pwd
+/home/activemq
+[activemq@my_servername ~]$ /opt/apache-jmeter-5.2.1/bin/jmeter.sh -n -t /opt/artemis/examples/perf/jmeter/1.jms_p2p_test.jmx -l results-file-1.txt -j 1.log
+[activemq@my_servername ~]$ /opt/apache-jmeter-5.2.1/bin/jmeter.sh -n -t /opt/artemis/examples/perf/jmeter/2.pub_sub_test.jmx -l results-file-2.txt -j 2.log
+
+
    +
  • We can now see metrics displayed on Grafana and Artemis Dashboard:
  • +
+ + + + + + + + + + + + + + + +
JMeterArtemis GrafanaArtemis Dashboard
jmeter artemisartemis grafanaartemis dashboard monitoring
+

Prometheus and Azure

+ +

Managed Prometheus in AWS

+ +

Managed Prometheus in GCP

+ +

Videos

+
+ Click to expand! + +
+ + + + +
+
+ +

Tweets

+
+ Click to expand! + +
+ + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public-cloud-solutions/index.html b/public-cloud-solutions/index.html new file mode 100644 index 00000000..60309947 --- /dev/null +++ b/public-cloud-solutions/index.html @@ -0,0 +1,6608 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Public Cloud Solutions - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Public Cloud Solutions

+
    +
  1. Public Cloud References
  2. +
  3. Cloud Agnostic Design
  4. +
  5. Multi-Cloud and Multi-Tool Concerns
  6. +
  7. Public Cloud Services Comparison
  8. +
  9. Openshift as a Service
  10. +
  11. Kubernetes as a Service
  12. +
  13. IoT Cloud
  14. +
  15. GAIA-X
  16. +
  17. Outages
  18. +
  19. Podcasts
  20. +
  21. Images
  22. +
  23. Videos
  24. +
  25. Twitter
  26. +
+

Public Cloud References

+ +

Cloud Agnostic Design

+ +

Multi-Cloud and Multi-Tool Concerns

+ +

Public Cloud Services Comparison

+ +

Openshift as a Service

+ +

Kubernetes as a Service

+ +

IoT Cloud

+ +

GAIA-X

+ +
+Video: Gaia-X. Click to expand! +

+ +

+
+

Outages

+ +

Podcasts

+ +

Images

+
+Click to expand! +

+cloud_advantages +

+
+

Videos

+
+Click to expand! +

+ + + + +

+
+

Twitter

+
+Click to expand! +

+

+

+

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pulumi/index.html b/pulumi/index.html new file mode 100644 index 00000000..797025f3 --- /dev/null +++ b/pulumi/index.html @@ -0,0 +1,6347 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pulumi - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Pulumi - Modern Infrastructure as Code

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/python/index.html b/python/index.html new file mode 100644 index 00000000..9314da1e --- /dev/null +++ b/python/index.html @@ -0,0 +1,7155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Python - Django & Flask - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Python

+
    +
  1. Python Blogs and Forums
  2. +
  3. Python docs
  4. +
  5. ReactPy
  6. +
  7. PHP vs Python
  8. +
  9. APIs in Python
  10. +
  11. Thoth
  12. +
  13. Python Books
  14. +
  15. Python Django Framework
  16. +
  17. Python Flask Lightweight Framework (microframework)
  18. +
  19. FastAPI
  20. +
  21. Python pip and pip’s wheel
  22. +
  23. Python Feature Flags
  24. +
  25. Python testing
  26. +
  27. Python Cyber Security
  28. +
  29. Data Science
      +
    1. Python Pandas and pivot tables
    2. +
    3. PandasAI
    4. +
    5. PandasDatabase
    6. +
    7. NumPy
    8. +
    9. Orchest. Data Pipelines with Python and R code. No frameworks. No YAML
    10. +
    +
  30. +
  31. Python standard library Modules and Code
  32. +
  33. Python and AWS
  34. +
  35. Python Tools
      +
    1. Web Scraping with Python
    2. +
    +
  36. +
  37. Jython
  38. +
  39. Eclipse IDE
  40. +
  41. Python Libraries
  42. +
  43. Python Snippets
  44. +
  45. Slides
  46. +
  47. Videos
  48. +
  49. Tweets
  50. +
+

Python Blogs and Forums

+ +

Python docs

+ +

ReactPy

+ +

PHP vs Python

+

APIs in Python

+ +

Thoth

+ +

Python Books

+ +

Python Django Framework

+ +

Python Flask Lightweight Framework (microframework)

+ +

FastAPI

+ +

Python pip and pip’s wheel

+ +

Python Feature Flags

+ +

Python testing

+ +

Python Cyber Security

+ +

Data Science

+ +

Python Pandas and pivot tables

+ +

PandasAI

+ +

PandasDatabase

+ +

NumPy

+

Orchest. Data Pipelines with Python and R code. No frameworks. No YAML

+
    +
  • orchest.io - orchest/orchest Build data pipelines, the easy way 🛠️. No frameworks. No YAML. Just write Python and R code in Notebooks.
  • +
+

Python standard library Modules and Code

+ +

Python and AWS

+ +

Python Tools

+ +

Web Scraping with Python

+
    +
  • Scrapy An open source and collaborative framework for extracting the data you need from websites. In a fast, simple, yet extensible way.
  • +
  • First web scraper A step-by-step guide to writing a web scraper with Python.
  • +
  • TWINT - Twitter Intelligence Tool Twint is an advanced Twitter scraping tool written in Python that allows for scraping Tweets from Twitter profiles without using Twitter’s API.
  • +
+

Jython

+ +

Eclipse IDE

+ +

Python Libraries

+
    +
  • https://pypi.org 🌟 Find, install and publish Python packages with the Python Package Index. The Python Package Index (PyPI) is a repository of software for the Python programming language. PyPI helps you find and install software developed and shared by the Python community.
  • +
  • Click 🌟 is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary. It’s the “Command Line Interface Creation Kit”. It’s highly configurable but comes with sensible defaults out of the box.
  • +
  • PyGithub 🌟 Typed interactions with the GitHub API v3 - pygithub.readthedocs.io PyGitHub is a Python library to access the GitHub REST API. This library enables you to manage GitHub resources such as repositories, user profiles, and organizations in your Python applications.
  • +
+

Python Snippets

+ +

Slides

+
+ Click to expand! + +
+

PEP-8 Cheatsheet (2009) by Veeraj Shenoy on Scribd

+
+
+ +

Videos

+
+Click to expand! +

+ + + + +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qa/index.html b/qa/index.html new file mode 100644 index 00000000..3f57318b --- /dev/null +++ b/qa/index.html @@ -0,0 +1,6613 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + QA - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

QA/TestOps - Continuous Testing. Software Quality Test Automation

+
    +
  1. Introduction
  2. +
  3. Blogs
  4. +
  5. Testing Frameworks
  6. +
  7. Release Testing
  8. +
  9. Tools
  10. +
  11. Performance Testing
  12. +
  13. Kubernetes conformance testing tools
  14. +
  15. Codeless Automation Testing
  16. +
  17. Images
  18. +
  19. Tweets
  20. +
+

Introduction

+ +

Blogs

+ +

Testing Frameworks

+ +

Release Testing

+
    +
  • launchdarkly.com: Release Testing Explained 🌟 Release testing refers to coding practices and test strategies that give teams confidence that a software release candidate is ready for users. Release testing aims to find and eliminate errors and bugs from a software release so that it can be released to users. Let’s dive in and explore several methods used to perform release testing.
  • +
+

Tools

+ +

Performance Testing

+ +

Kubernetes conformance testing tools

+
    +
  • Mastercard, for example, checks every deployment with Kubernetes conformance testing tools such as sonobuoy and kubench.
  • +
  • sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of plugins (including Kubernetes conformance tests) in an accessible and non-destructive manner. It is a customizable, extendable, and cluster-agnostic way to generate clear, informative reports about your cluster.
  • +
  • kubench Benchmark different containerized applications within a kubernetes cluster.
  • +
+

Codeless Automation Testing

+ +

Images

+
+Click to expand! +

+tests in prod +10 must haves test automation +

+
+

Tweets

+
+ Click to expand! + +
+ + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rancher/index.html b/rancher/index.html new file mode 100644 index 00000000..93556d8f --- /dev/null +++ b/rancher/index.html @@ -0,0 +1,6796 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rancher - Enterprise management for Kubernetes - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

SUSE Rancher

+
    +
  1. Rancher: Enterprise management for Kubernetes
  2. +
  3. Rancher and Terraform
  4. +
  5. Rancher Desktop
  6. +
  7. Rancher Academy (online training)
  8. +
  9. Rancher 2
      +
    1. Rancher Networking and CNI Providers
    2. +
    3. Rancher 2 RKE
    4. +
    +
  10. +
  11. K3S
      +
    1. K3s Tools
    2. +
    3. K3S Use Cases
    4. +
    5. K3S in Public Clouds
    6. +
    7. K3D
    8. +
    9. K3OS
    10. +
    +
  12. +
  13. K3C
  14. +
  15. Hosted Rancher
  16. +
  17. Rancher on Microsoft Azure
  18. +
  19. Rancher RKE on vSphere
  20. +
  21. Rancher Kubernetes on Oracle Cloud
  22. +
  23. Rancher Software Defined Storage with Longhorn
  24. +
  25. Rancher Fleet to manage multiple kubernetes clusters
  26. +
  27. Kubernautic
  28. +
  29. Harvester Hyperconverged Infrastructure Software
  30. +
+

Rancher: Enterprise management for Kubernetes

+ +

+rancher architecture +
+

+

Rancher and Terraform

+ +

Rancher Desktop

+ +

Rancher Academy (online training)

+ +

Rancher 2

+ +

Rancher Networking and CNI Providers

+ +

Rancher 2 RKE

+
    +
  • Rancher 2 RKE Rancher 2 that runs in docker containers. RKE is a CNCF-certified Kubernetes distribution that runs entirely within Docker containers. It solves the common frustration of installation complexity with Kubernetes by removing most host dependencies and presenting a stable path for deployment, upgrades, and rollbacks.
  • +
  • Bootstrap RKE Kubernetes Cluster in AWS Environment
  • +
  • github.com/gruberdev/local-gitops: Local Gitops 🌟 An automated local cluster setup w/ tls, monitoring, ingress and DNS configuration. The goal of this project is to provide a simplified approach to creating your own local cluster, as well as all the utilities you’ll need to run a functional cluster using GitOps
  • +
  • github.com/rancherfederal/rke2-aws-tf This repository is intended to clearly demonstrate one method of deploying rke2 in a highly available, resilient, scalable, and simple method on AWS
  • +
+

K3S

+ +

K3s Tools

+
    +
  • tinyzimmer/k3p A k3s packager and installer, primarily intended for airgapped deployments
  • +
  • alexellis/k3sup bootstrap Kubernetes with k3s over SSH < 1 min 🚀. k3sup is a light-weight utility to get from zero to KUBECONFIG with k3s on any local or remote VM. All you need is ssh access and the k3sup binary to get kubectl access immediately.
  • +
  • clanktron/k3s-ansible Automated build of HA k3s Cluster with kube-vip, Cilium, and MetalLB
  • +
  • techno-tim/k3s-ansible Automated build of HA k3s Cluster with kube-vip and MetalLB. The easiest way to bootstrap a self-hosted High Availability Kubernetes cluster. A fully automated HA k3s etcd install with kube-vip, MetalLB, and more
  • +
  • cnrancher/autok3s Run K3s Everywhere. AutoK3s is a lightweight tool for simplifying the cluster management of K3s. Key features:
      +
    • Shorter provisioning time
    • +
    • Cloud provider integration
    • +
    • Flexible installation options
    • +
    • Low cost
    • +
    • Airgap K3s package management and installation
    • +
    +
  • +
+

K3S Use Cases

+
    +
  • K3S Use Cases:
      +
    1. Edge computing and Embedded Systems
    2. +
    3. IOT Gateway
    4. +
    5. CI environments (i.e. Jenkins with Configuration as Code)
    6. +
    7. Single-App Clusters
    8. +
    +
  • +
+

K3S in Public Clouds

+ +

K3D

+ +

K3OS

+
    +
  • k3OS k3OS is a Linux distribution designed to remove as much OS maintenance as possible in a Kubernetes cluster. It is specifically designed to only have what is needed to run k3s. Additionally the OS is designed to be managed by kubectl once a cluster is bootstrapped. Nodes only need to join a cluster and then all aspects of the OS can be managed from Kubernetes. Both k3OS and k3s upgrades are handled by the k3OS operator.
  • +
  • K3OS Value Add:
      +
    • Supports multiple architectures
        +
      • K3OS runs on x86 and ARM processors to give you maximum flexibility.
      • +
      +
    • +
    • Runs only the minimum required services
        +
      • Fewer services means a tiny attack surface, for greater security.
      • +
      +
    • +
    • Doesn’t require a package manager
        +
      • The required services are built into the distribution image.
      • +
      +
    • +
    • Models infrastructure as code
        +
      • Manage system configuration with version control systems.
      • +
      +
    • +
    +
  • +
+

K3C

+
    +
  • K3C Lightweight local container engine for container development. K3C is a local container engine designed to fill the same gap Docker does in the Kubernetes ecosystem. Specifically k3c focuses on developing and running local containers, basically docker run/build. Currently k3s, the lightweight Kubernetes distribution, provides a great solution for Kubernetes from dev to production. While k3s satisifies the Kubernetes runtime needs, one still needs to run docker (or a docker-like tool) to actually develop and build the container images. k3c is intended to replace docker for just the functionality needed for the Kubernetes ecosystem.
  • +
+

Hosted Rancher

+ +

Rancher on Microsoft Azure

+ +

Rancher RKE on vSphere

+ +

Rancher Kubernetes on Oracle Cloud

+ +

Rancher Software Defined Storage with Longhorn

+ +

Rancher Fleet to manage multiple kubernetes clusters

+ +

Kubernautic

+
    +
  • Kubernautic Kubernetes For Everyone, Free Forever! Start your CloudLess Journey and get free access to Rancher Shared as a Service (RSaaS) or apply to get access to your own Dedicated Rancher Dashboard (RDaaS) and save up-to 90% of your cloud costs with Auto Scaling of Spot Instances and Kubernauts Kubernetes Services KKS!
  • +
+

Harvester Hyperconverged Infrastructure Software

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/react/index.html b/react/index.html new file mode 100644 index 00000000..4be978a7 --- /dev/null +++ b/react/index.html @@ -0,0 +1,6386 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + React - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

React

+

Libraries and Tools

+ +
+Videos - Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/recruitment/index.html b/recruitment/index.html new file mode 100644 index 00000000..572c15cf --- /dev/null +++ b/recruitment/index.html @@ -0,0 +1,6781 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Recruitment - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Recruitment. Hiring and Freelancing

+
    +
  1. Introduction
  2. +
  3. Articles in Spanish
  4. +
  5. Recruitment Portals
  6. +
  7. Recruitment Portals in Spain
  8. +
  9. Recruitment Software
  10. +
  11. Soft Skills
  12. +
  13. Fair Job Offer
  14. +
  15. Writing a CV
  16. +
  17. Fake it til you make it
  18. +
  19. Tweets
  20. +
  21. Tweets 2
  22. +
  23. Tweets 3. Cultures
  24. +
  25. Images
  26. +
  27. Videos
  28. +
+

+ + +

+

Introduction

+ +

Articles in Spanish

+ +

Recruitment Portals

+ +

Recruitment Portals in Spain

+
    +
  • trycircular.com (Spain) The hiring community for tech recruiters and developers with good Candidate Experience guaranteed.
  • +
+

Recruitment Software

+ +

Soft Skills

+ +

Fair Job Offer

+
    +
  • mikzuit/fair-job-offer Looking for a job? this is what you should know first. This is a MUST read project when looking for a job and expand this properly to any country, turn yourself into an expert to easily & securely find a job globally, Understand your rights in a market populated by AI, Data Lakes. Use templates legally approved to handle your data less possible.
  • +
+

Writing a CV

+ +

Fake it til you make it

+
    +
  • github.com/rakyll/fake-it-til-you-make-it Have you come across to someone that thinks you don’t deserve a job because you don’t have GitHub contributions? Never worked for a company who hired based on GitHub contributions alone. If anyone is bugging you because you are not an open source developer or your company doesn’t use GitHub, use fake-it-til-you-make-it to generate two years of contributions.
  • +
+

Tweets

+ +
+ Click to expand! + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +

Tweets 2

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +

Tweets 3. Cultures

+
+ Click to expand! + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ +

Images

+
+Click to expand! +

+interviews getting harder

+

excelente_propuesta_de_trabajo_meme

+

new job every 3 years

+

meme job hunting 2 assessments

+

you get a new tech job

+

work chronicles cultural fit

+

you get a tech job

+

my company gave me

+

la gestion de uno mismo +

+
+

Videos

+
+Click to expand! +

+ + + + + +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/registries/index.html b/registries/index.html new file mode 100644 index 00000000..826d47eb --- /dev/null +++ b/registries/index.html @@ -0,0 +1,6685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Docker Registries. Quay, Nexus, JFrog Artifactory, Harbor and more - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Docker Registries. Quay, Nexus, JFrog Artifactory, Harbor and more

+
    +
  1. Introduction
  2. +
  3. OpenShift Registry
  4. +
  5. Quay Registry
  6. +
  7. Nexus Repository Manager (NXRM) 3
      +
    1. Getting Started
    2. +
    3. Setup Nexus Kubernetes. Run nexus3 with docker in a kubernetes cluster
    4. +
    5. Nexus as a Docker repo
        +
      1. Secure Docker Registries
      2. +
      +
    6. +
    7. SSL/TLS Certificates
        +
      1. Add Insecure Registry to Docker
      2. +
      +
    8. +
    9. Jenkins Integration with Nexus
    10. +
    11. Nexus 3 Configuration as Code
    12. +
    13. Nexus CLI
    14. +
    15. Sonatype Nexus Community
    16. +
    +
  8. +
  9. JFrog Artifactory
  10. +
  11. Harbor. Cloud native repository for Kubernetes
  12. +
  13. Other Alternatives
  14. +
+

Introduction

+ +

OpenShift Registry

+ +

Quay Registry

+ +

Nexus Repository Manager (NXRM) 3

+ +

Getting Started

+ +

Setup Nexus Kubernetes. Run nexus3 with docker in a kubernetes cluster

+ +

Nexus as a Docker repo

+ +

Secure Docker Registries

+ +

SSL/TLS Certificates

+ +

Add Insecure Registry to Docker

+ +

Jenkins Integration with Nexus

+ +

Nexus 3 Configuration as Code

+ +

Nexus CLI

+ +

Sonatype Nexus Community

+ +

JFrog Artifactory

+ +

Harbor. Cloud native repository for Kubernetes

+ +

Other Alternatives

+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/remote-tech-jobs/index.html b/remote-tech-jobs/index.html new file mode 100644 index 00000000..b6bfbc15 --- /dev/null +++ b/remote-tech-jobs/index.html @@ -0,0 +1,6470 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Remote Tech Jobs - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Remote Tech Jobs

+
    +
  1. Introduction
  2. +
  3. Remote Jobs
  4. +
  5. Kubernetes
  6. +
  7. Spain
  8. +
  9. Tweets
  10. +
  11. Videos
  12. +
+

Introduction

+ +

Remote Jobs

+ +

Kubernetes

+ +

Spain

+ +

Tweets

+
+ Click to expand! + +
+ + + +
+
+ +

Videos

+
+Click to expand! +

+ +

+
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/scaffolding/index.html b/scaffolding/index.html new file mode 100644 index 00000000..8f76d41d --- /dev/null +++ b/scaffolding/index.html @@ -0,0 +1,6482 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Scaffolding Tools - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + +

Scaffolding Tools

+
    +
  1. Scaffold Definition
  2. +
  3. Nodejs Scaffolding with Yeoman
  4. +
  5. Java Scaffolding
      +
    1. Java Scaffolding with Spring Roo
    2. +
    3. Java Scaffolding with Maven
    4. +
    +
  6. +
  7. Kubernetes Scaffolding. Built in snippets for creating k8s resources
  8. +
  9. Other Scaffolding Tools
  10. +
+

Scaffold Definition

+

Nodejs Scaffolding with Yeoman

+ +

Java Scaffolding

+ +

Java Scaffolding with Spring Roo

+ +

Java Scaffolding with Maven

+
    +
  • Maven supports project scaffolding, based on project templates (called archtype). This is provided by the archetype plug-in. Maven provides archetypes for almost anything, from a simple Java application to a complex web application. The goal of this scaffolding is to allow a fast start into the Maven world. It provides the “standardized” folder structure of software projects.
  • +
  • You can create a project by executing the generation goal on the archetype plugin via the following command: mvn archetype:generate.
  • +
  • Maven
  • +
+

Kubernetes Scaffolding. Built in snippets for creating k8s resources

+ +

Other Scaffolding Tools

+
    +
  • Atomist New automation platform, delivering pre-built automations called Skills.
  • +
+ + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/scaleway/index.html b/scaleway/index.html new file mode 100644 index 00000000..61e9c00a --- /dev/null +++ b/scaleway/index.html @@ -0,0 +1,6330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Scaleway - Nubenetes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ +
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 00000000..a294989e --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Nubenetes: Awesome Kubernetes & Cloud","text":"

Nubenetes V2: Agentic Elite Edition is now live!

Looking for a high-density, AI-curated experience? Explore our V2 Elite Portal - Optimized for 2026 Architectural Standards.

A curated list of awesome references collected since 2018. Microservices architectures rely on DevOps practices, automation, CI/CD (Continuous Integration & Delivery), and API-focused designs.

Nubenetes is also available at this other site.

\u201cI do not believe you can do today\u2019s job with yesterday\u2019s methods and be in business tomorrow\u201d (Horatio Nelson Jackson)

"},{"location":"#motivation","title":"Motivation","text":"
  • microservices.io
  • cncf.io
    • landscape.cncf.io
    • Certified Kubernetes offerings
    • CNCF Reports
      • CNCF Survey Report 2019
      • CNCF Survey Report 2020
      • CNCF Survey Report 2021 - CNCF Publishes State of Cloud Native Development Report - CNCF Sees Record Kubernetes and Container Adoption
  • State of DevOps Reports
    • 2020 State of DevOps Report
    • 2020 DevOps Salary Report
    • 2021 State of DevOps Report: A decade of DevOps
    • 2021 Gartner Report Top Trends Infra & Operations
  • CRI-O Lightweight Container Runtime for Kubernetes
  • Open Container Initiative
  • agilemethodology.org
  • agilemanifesto.org
  • 12factor.net - Are You 12-Factor Application Ready? - 12-factor app infographic - An illustrated guide to 12 Factor Apps \ud83c\udf1f
  • openpracticelibrary.com - Top 10 most visited pages
  • roadmap.sh - DevOps Roadmap - Kubernetes Roadmap
    • roadmap.sh/ai: Generate roadmaps with AI
    • roadmap.sh/terraform
  • API Landscape
  • Stack Overflow Annual Developer Survey
    • 2021
    • 2022 \ud83c\udf1f - betterprogramming.pub
  • Stack Overflow Collectives Communities for your favorite technologies
    • Go Collective
    • GitLab Collective
    • Google Cloud Collective
    • AWS Collective
    • Azure Collective
    • CI/CD Collective
    • WSO2 Collective
    • etc
  • Open Source Guides
  • The Open Group: Making Standards Work - publications.opengroup.org - The TOGAF\u00ae Standard, a standard of The Open Group
  • How Your Application Architecture Has Evolved \ud83c\udf1f
  • Kubernetes magic is in enterprise standardization, not app portability
  • A new role to emerge: Kubernetes Manager (KubeMaster) \ud83c\udf1f
  • An emerging Job: Kubernetes engineer \ud83c\udf1f
  • Google DORA Report: State of DevOps 2021 \ud83c\udf1f How to accelerate DevOps - summary 1 - summary 2
  • Top GitHub Users By Country
  • Red Hat automation glossary \ud83c\udf1f
  • The rise of the automation architect
  • Automation is the future of cloud cost optimization
  • The Rise of Modern Day Kubernetes Operations
  • The Evolution of Distributed Systems on Kubernetes
  • 10 Cloud Deficiencies You Should Know
  • How to Explain Kubernetes to a Business Team
  • Pets vs. Cattle: The Future of Kubernetes in 2022
  • dok.community: DoKC Data on Kubernetes
  • A Kubernetes Documentary Shares Google\u2019s Open Source Story
  • Infrastructure as Code in DevOps
  • Kubernetes at Scale without GitOps Is a Bad Idea
  • dzone.com/trendreports
  • kube.events A curated list of Kubernetes-related events such as meetups, conferences, training & webinars that you will find interesting to attend
  • The future of Kubernetes \u2013 and why developers should look beyond Kubernetes in 2022
  • cloudtechtwitter.com: Introduction to Kubernetes \ud83c\udf1f
  • GitHub Guides
  • learnk8s.io/news How do you keep up with Kubernetes? If you are looking for curated Kubernetes news, we have you covered on:
    • Core Kubernetes
    • Security
    • Architecture & development
    • Job opportunities
    • K3s
    • Events
  • thenewstack.io: What We Learned from Enabling Developer Self-Service \ud83c\udf1f
  • dzone: Kubernetes in the Enterprise - Trend Report
  • Struggling with IT Staff Leaving? Try Infrastructure as Code \ud83c\udf1f
  • learnk8s.io/learn-kubernetes-weekly \ud83c\udf1f
  • infoworld.com: Cloud architects are afraid of automation Automation is one of the greatest gifts to cloud architecture, operations, security, and finops. Yet, many architects still are reluctant to use it. What\u2019s so scary?
  • infoworld.com: The biggest obstacle to cloud is people People and culture prevent many businesses from capturing the true value of cloud computing. Transforming organizational culture and revamping KPIs can help.
  • Droogans/How To Write Unmaintainable Code Ensure a job for life ;-)
  • dzone.com: DevOps vs. SRE vs. Platform Engineer vs. Cloud Engineer
  • github.com/metaleapca: metaleap-devops-in-k8s.pdf
  • github.com/metaleapca: metaleap-k8s-troubleshooting.pdf
  • devops.com: Declarative Compliance With Policy-as-Code and GitOps \ud83c\udf1f
  • serverlessland.com: EDA VISUALS Small bite sized visuals about event-driven architectures
  • dzone: The Essentials of GitOps \ud83c\udf1f
  • dzone.com: REST vs. Messaging for Microservices
  • The Next Kubernetes Management Frontier: Automation Automation Is No Longer a \u201cNice to Have\u201d
  • redis.com: Microservice Architecture Key Concepts
  • thenewstack.io: Kubernetes Evolution: From Microservices to Batch Processing Powerhouse \ud83c\udf1f
  • Software Deployment Best Practices in 2023 Explore the best software development practices that are the proven catalysts for innovation and growth.
  • DevOps-Books \ud83c\udf1f
  • community.aws/kubernetes Kubernetes at AWS! Welcome to the hub for all things Kubernetes at AWS.
  • AWS Skill Builder
  • cloudcatalog.dev Documentation tool for AWS Architectures. CloudCatalog is an Open Source project that helps you document your AWS resources, services and assign owners.
  • platformengineering.org The global home for Platform Engineers
  • Azure DevOps vs GitHub Actions: Which is the best CI/CD tool?
  • Redefining Virtualization in the VMware Acquisition Era
  • Do Kubernetes Certs Prepare You For Real-World Production?
  • Why I Don\u2019t Consider Your Certifications During An Interview
  • dagger.io CI/CD as Code that Runs Anywhere.
  • Bus factor The bus factor is a measurement of the risk resulting from information and capabilities not being shared among team members, derived from the phrase \u201cin case they get hit by a bus\u201d.
  • seal.io: Open Source Platform Engineering for Dev & Ops
  • k8sgpt.ai K8sGPT is a tool for scanning your kubernetes clusters, diagnosing and triaging issues in simple english. It has SRE experience codified into its analyzers and helps to pull out the most relevant information to enrich it with AI.
  • github.com/topics/gitops
  • Dolt: Git for Data
  • serverlesshorrors.com
  • glasskube.dev package manager for k8s \ud83c\udf1f
  • github.com/infrahouse/infrahouse-toolkit A collection of tools for building infrastructure
  • github.com/taubyte/tau Open Source Git-Native CDN PaaS
  • mattias.engineer/courses \ud83c\udf1f HashiCorp Terraform, HashiCorp Vault, Kubernetes CKAD
  • The hater\u2019s guide to Kubernetes
  • github.com/cyclops-ui/cyclops Developer Friendly Kubernetes
  • k8z.dev A lightweight, modern mobile and desktop application for manage kubernetes
  • Kube-score
  • testkube.io \ud83c\udf1f
  • wcurl A simple wrapper around curl to easily download files
  • NetBox IPAM \ud83c\udf1f
    • NetBox Labs is the commercial steward of NetBox. We are on a mission to make it easier to build and manage complex networks.
    • Netbox Ansible Modules
  • youtube: GitOps Guide to the Galaxy
  • devopswithkubernetes.com Introductory course to Kubernetes with K3s and GKE
  • Gardener Deliver fully-managed clusters at scale everywhere with your own Kubernetes-as-a-Service
  • collabnix.github.io/kubetools \ud83c\udf1f A Curated List of Kubernetes Tools
  • OpenShift AI Examples
  • Jenkins Tutorials by CloudBeesTV \ud83c\udf1f
  • kui.tools Kui: CLI-driven Graphics for Kubernetes
"},{"location":"#introduction","title":"Introduction","text":"
  • Microservice Architecture. From Java EE To Cloud Native. Openshift VS Kubernetes
  • Microservices FAQ & Kubernetes Native
"},{"location":"#sre-site-reliability-engineering","title":"SRE Site Reliability Engineering","text":"
  • Site Reliability Engineering (SRE)
  • Networking
  • FinOps - Cloud Financial Management
  • Chaos Engineering
"},{"location":"#devops","title":"DevOps","text":"
  • DevOps
  • GitOps
  • MLOps
  • Cheat Sheets \ud83c\udf1f
"},{"location":"#devsecops-and-security","title":"DevSecOps and Security","text":"
  • DevSecOps and Security. Container Security
  • Security Policy as Code
  • OAuth2
"},{"location":"#noops-aka-serverless","title":"NoOps aka Serverless","text":"
  • NoOps
  • Serverless Architectures & Frameworks. OpenFaaS, Knative & Kubeless
"},{"location":"#docker","title":"Docker","text":"
  • Docker
"},{"location":"#kubernetes","title":"Kubernetes","text":"
  • Kubernetes
    • Kubernetes Tutorials
    • Kubernetes Plugins, Tools, Extensions and Projects \ud83c\udf1f
    • kubectl Commands
    • Kubernetes Networking
    • Kubernetes Monitoring and Logging
    • Kubernetes Security
    • Kubernetes Storage
    • Kubernetes Backup and Migrations
    • Kubernetes Autoscaling
    • Kubernetes Operators and Controllers
    • Kubernetes Based Development
    • Kubernetes On Premise
    • Managed kubernetes in public clouds
    • Kubernetes Troubleshooting
    • Kubernetes Releases
    • Kubernetes Newsletters
  • Kubernetes Distributions & Installers
  • Kubernetes Big Data
  • Kubernetes Alternatives
"},{"location":"#red-hat-openshift","title":"Red Hat OpenShift","text":"
  • OpenShift
  • OCP 3
  • OCP 4
"},{"location":"#suse-rancher","title":"SUSE Rancher","text":"
  • Rancher - Enterprise management for Kubernetes
"},{"location":"#software-delivery-pipeline","title":"Software Delivery Pipeline","text":"
  • CI/CD - Continuous Integration & Continuous Delivery
  • Git & Git Patterns. Trunk Devel, Git Flow & Feature Flags. Merge BOTs \ud83c\udf1f
"},{"location":"#jenkins-cloudbees","title":"Jenkins & CloudBees","text":"
  • Jenkins & CloudBees \ud83d\ude00
  • Performance testing with Jenkins, JMeter, Gatling, Azure Load Testing, etc
"},{"location":"#openshift-pipelines","title":"OpenShift Pipelines","text":"
  • OpenShift Pipelines with Jenkins, Tekton and more\u2026
"},{"location":"#devops-tools-aka-toolchain-jenkins-alternatives-cloud-native-cicd-tools","title":"DevOps Tools aka Toolchain. Jenkins Alternatives. Cloud Native CI/CD Tools","text":"
  • DevOps Tools
  • Jenkins Alternatives for Continuous Integration & Deployment \ud83c\udf1f
  • Argo - Declarative GitOps for Kubernetes \ud83c\udf1f
  • Flux CD - The GitOps Operator for Kubernetes \ud83c\udf1f
  • Tekton - Cloud Native CI/CD
  • Keptn
  • Container Runtimes/Managers & Base Images. Podman, Buildah & Skopeo
  • Maven, Gradle & SDKMAN
  • SonarQube
  • Docker Registries. Quay, Nexus, JFrog Artifactory, Harbor and more
  • Linux & SSH
  • MkDocs & GitHub Pages
"},{"location":"#web-servers-reverse-proxies-java-runtimes-caching-solutions","title":"Web Servers, Reverse Proxies, Java Runtimes & Caching Solutions","text":"
  • Web Servers & Reverse Proxies: Apache, Nginx, HAProxy, Traefik and more
  • Java EE/Jakarta EE and MicroProfile Runtimes: Payara, JBoss EAP, WebSphere Liberty, WildFly and more
  • Embedded Servlet Containers in SpringBoot: Jetty, Tomcat, Undertow and more
  • Caching Solutions
"},{"location":"#monitoring-and-performance-prometheus-grafana-apms-and-more","title":"Monitoring and Performance. Prometheus, Grafana, APMs and more","text":"
  • Monitoring and Performance
  • Prometheus \ud83c\udf1f
  • Grafana
"},{"location":"#infrastructure-provisioning-infra-management-tools","title":"Infrastructure Provisioning. Infra Management Tools","text":"
  • IaC Infrastructure as Code
  • Terraform & Packer.Kubernetes Boilerplates
  • Pulumi
  • Crossplane A Kubernetes Control Plane to Roll Your Own PaaS
  • Cloud Architecture Diagram Tools
  • Cloud Asset Inventory
"},{"location":"#configuration-management","title":"Configuration Management","text":"
  • Ansible
  • Helm Kubernetes Tool \ud83c\udf1f
  • Kustomize - Template-Free Kubernetes Configuration Customization
  • StackStorm
  • Chef
  • CI/CD Kubernetes Plugins
  • Client Libraries for Kubernetes: Go client, Python, Fabric8, JKube & Java Operator SDK
  • Database Version Control. Liquibase, Flyway and PlanetScale
  • redhat-cop: Openshift Applier
  • YAML and JSON \ud83c\udf1f
"},{"location":"#databases-on-kubernetes","title":"Databases on Kubernetes","text":"
  • Relational Databases and Database DevOps \ud83c\udf1f
  • Crunchy Data PostgreSQL Operator
  • NoSQL Databases
"},{"location":"#cloud-based-integration-messaging-data-processing-streaming-aka-data-pipeline","title":"Cloud Based Integration & Messaging. Data Processing & Streaming (aka Data Pipeline)","text":"
  • Data Pipeline \ud83c\udf1f
"},{"location":"#service-mesh","title":"Service Mesh","text":"
  • Service Mesh
  • Istio
"},{"location":"#demos-and-boilerplates","title":"Demos and Boilerplates","text":"
  • Demos, Boilerplates & Screencasts OpenShift, Kubernetes, Jenkins Pipelines with JCasC and more
"},{"location":"#cloud","title":"Cloud","text":"
  • Public Cloud Solutions
  • Private Cloud Solutions
  • Edge Computing
  • AWS
    • repost.aws
    • AWS Miscellaneous
    • AWS Architecture and Best Practices
    • AWS Networking
    • AWS Databases
    • AWS Storage
    • AWS Security
    • AWS Monitoring
    • AWS IaC
    • AWS Tools Scripts
    • AWS Messaging
    • AWS Data
    • AWS DevOps
    • AWS Serverless
    • AWS Pricing
    • AWS Containers
    • AWS Backup and Migrations
    • AWS Training and Certification
    • AWS New Features
    • AWS Spain
  • Microsoft Azure
  • Google Cloud Platform
  • IBM & IBM Cloud
  • Oracle Cloud
  • Digital Ocean
  • Cloudflare
  • Scaleway
  • Linode
  • Alibaba
  • Symbiosis
  • Gaia-X.eu
"},{"location":"#apis-with-soap-rest-and-grpc","title":"APIs with SOAP, REST and gRPC","text":"
  • APIs with SOAP, REST and gRPC \ud83c\udf1f
  • Swagger code generator for REST APIs
  • API Test Automation with Postman and REST Assured
  • API Marketplaces. API Management with API Gateways & Developer Portals \ud83c\udf1f
"},{"location":"#development-frameworks","title":"Development & Frameworks","text":"
  • Websites for web developers
  • Angular
  • Document Object Model (DOM)
  • Golang
  • JavaScript - node.js & npm
  • Python - Django & Flask
  • React
  • Low Code and No Code
  • Web3
"},{"location":"#microsoft","title":"Microsoft","text":"
  • Microsoft .NET
  • Microsoft Xamarin
"},{"location":"#java","title":"Java","text":"
  • Java & Open Source Microservices Frameworks. SpringBoot, MicroProfile, Quarkus and more
  • Java Memory Management & Java Performance Optimization
  • Java Parameters Matrix Table
"},{"location":"#dev-environment","title":"Dev Environment","text":"
  • Visual Studio Code \ud83c\udf1f
  • WSL: Linux Dev Environment on Windows
  • Scaffolding Tools
  • Chrome & Firefox DevTools. HTTP Protocols & WebSockets
"},{"location":"#qatestops-continuous-testing","title":"QA/TestOps - Continuous Testing","text":"
  • QA
  • TestOps and Continuous Testing
  • Test Automation Frameworks and Behavior Driven Development. Selenium, Cypress, Cucumber, Appium and more
"},{"location":"#ai","title":"AI","text":"
  • AI
  • MLOps
  • ChatGPT
"},{"location":"#project-management-methodology","title":"Project Management Methodology","text":"
  • Project Management Methodology
  • Project Management Tools
  • Appointment Scheduling
  • Work From Home
"},{"location":"#more-references","title":"More References","text":"
  • Other Awesome Lists \ud83c\udf1f
  • Interview Questions
  • Forums and Communities
  • E-Learning
  • Digital Money
"},{"location":"#hiring-and-freelancing","title":"Hiring and Freelancing","text":"
  • Recruitment
  • Human Resources
  • Freelancing
  • Remote Tech Jobs
"},{"location":"#customer-success-stories","title":"Customer Success Stories","text":"
  • Customer Success Stories
Top Videos & Clips - Click to expand!"},{"location":"ChromeDevTools/","title":"Chrome & Firefox DevTools. HTTP Protocols & WebSockets","text":"
  1. ChromeDevTools
  2. Firefox DevTools
  3. Other Tools
  4. Tweets
"},{"location":"ChromeDevTools/#chromedevtools","title":"ChromeDevTools","text":"
  • devtools.chrome.com
  • Port of Firefox\u2019s JSON Viewer
  • twitter.com/ChromeDevTools
  • In @ChromeDevTools Network, the Copy menu is powerful for replaying network requests. Copy as Fetch API code, cURL and a Node.js fetch that includes cookie data:
  • digitalocean.com: How To Debug Node.js with the Built-In Debugger and Chrome DevTools
  • dev.to: My 12 Favorite Chrome Extensions as a Web Developer
  • blog.bitsrc.io: Google Chrome Hidden Features Every Developer Should Know
"},{"location":"ChromeDevTools/#firefox-devtools","title":"Firefox DevTools","text":"
  • Firefox DevTools
  • Tip: Firefox has a really nice JSON viewer built in. Transforms JSON files (and API responses) into an easy to browse & search tree.
"},{"location":"ChromeDevTools/#other-tools","title":"Other Tools","text":"
  • jsontoolbox.com
"},{"location":"ChromeDevTools/#tweets","title":"Tweets","text":"Click to expand!

\u2764\ufe0f the Performance Monitor in @ChromeDevTools. Gives you a real-time view of CPU use, JS heap size, JS event listeners, style recalcs & more: https://t.co/tc6CyTya3O pic.twitter.com/BWSi8klGkE

\u2014 Addy Osmani (@addyosmani) July 7, 2020

8 Google extensions every developer must useA thread \ud83e\uddf5\ud83e\uddf5

\u2014 Meet Jain\ud83e\udd85 (@meetjain74) September 5, 2021

\ud83d\udca1 Web Development tipYou can restart Chrome from the address bar by typing: chrome://restart pic.twitter.com/0jbVoHwS1z

\u2014 Csaba Kissi \u26a1 (@csaba_kissi) November 7, 2021

Copy link to highlight is a new Chrome feature that allows you to create links to the exact part of a web page you want to share. https://t.co/IS0jijOjvP pic.twitter.com/L9q2abGQMd

\u2014 Kelsey Hightower (@kelseyhightower) November 20, 2021"},{"location":"GoogleCloudPlatform/","title":"Google Cloud Platform","text":"
  1. Introduction
  2. Google Cloud
  3. Google Landing Zone
  4. Dev Library
  5. GCP Samples (Boilerplates)
  6. Managing Cluster Level Configuration
  7. Google Cloud AppSheet
  8. Cloud Spanner
  9. Serverless
  10. Anthos. Google\u2019s Hybrid And Multi-Cloud Platform
  11. Python
  12. Cloud Code
  13. Google Cloud Buildpacks
  14. Google Cloud Deploy
  15. Cloud SQL
  16. Apigee
  17. Tools
    1. gcloud
    2. Google Sheets
  18. Videos
  19. Images
  20. Tweets
"},{"location":"GoogleCloudPlatform/#introduction","title":"Introduction","text":"
  • cloud.google.com
  • console.cloud.google.com/products
  • googlecloudcheatsheet.withgoogle.com: Google Cloud Developer cheat sheet
  • cloud.google.com: DevOps
  • Cloud Developer Tools
  • Google Cloud Code
  • Google Cloud Build
  • medium.com/google-cloud/tagged/devops
  • Platform comparisons
    • AWS and GCP comparison
    • Mapping of AWS services to Google Cloud
  • whizlabs.com: Introduction To Google Cloud Platform
  • cloud.google.com: Training more than 40 million new people on Google Cloud skills
    • Google Cloud Skills Boost
  • cloud.google.com: Microservices architecture on Google Cloud
  • cloud.google.com: How to get started with Google Cloud: Introducing our new learning hub and learning benefits for Innovators
"},{"location":"GoogleCloudPlatform/#google-cloud","title":"Google Cloud","text":"
  • New Cloud Shell Editor: Get your first cloud-native app running in minutes
  • techradar.com: Google Cloud is making it easier for developers to smuggle \u2018secrets\u2019 in their code Google Cloud wants to make building secure applications simpler
  • venturebeat.com: Google Cloud announces Network Connectivity Center to simplify hybrid cloud management
  • cloud.google.com: Demystifying Cloud Spanner multi-region configurations Cloud Spanner remains unique as a managed relational database that scales across regions while maintaining strong consistency. How does the regional and multi-regional setup differ?
  • cloud.google.com: Compare AWS and Azure services to Google Cloud
  • cloud.google.com: Secret Manager Best Practices
  • cloud.google.com: Choose the best way to use and authenticate service accounts on Google Cloud
  • cloud.google.com: 5 cheat sheets to help you get started on your Google Cloud journey \ud83c\udf1f Sometimes a picture is worth a thousand words, and that\u2019s where these cheat sheets come in handy. Cloud Developer Advocate Priyanka Vergadia has built a number of guides that help developers visually navigate critical decisions, whether it\u2019s determining the best way to move to the cloud, or deciding on the best storage options. Below are five of her top cheat sheets in one handy location.
  • thenewstack.io: Configuring the Google Cloud Platform for High Availability
  • zdnet.com: Google Cloud rolls out new security tools as threat landscape heats up New tools for the public sector will help agencies comply with President Joe Biden\u2019s cybersecurity executive order, while other tools give Google Cloud customers more automated security operations and access to Palo Alto Networks\u2019 threat detection technologies.
  • cloud.google.com: Consume services faster, privately and securely - Private Service Connect now in GA
  • cloud.google.com: VPN network overview Most VPC products in the public cloud take a regional approach. If you want to interconnect a bunch of regional VPCs later on, it\u2019s tricky. Not with googlecloud. A single VPC is global with automatic communication across regions.
  • kinsta.com: Top 7 Advantages of Choosing Google Cloud Hosting
  • cloud.google.com: Monitor and troubleshoot your VMs in context for faster resolution
  • infoq.com: Google Releases Its Certificate Authority Service into General Availability
  • cloud.google.com: Your Google Cloud database options, explained
  • cloud.google.com: A container story - Google Kubernetes Engine
  • cloud.google.com: Save money and time with automated VM management and suspend/resume
  • cloud.google.com: Traffic Director explained!
  • cloud.google.com: How to transfer your data to Google Cloud
  • cloud.google.com: Cloud DNS explained!
  • cloud.google.com: Where should I run my stuff? Choosing a Google Cloud compute option
  • cloud.google.com: What is Cloud Load Balancing?
  • cloud.google.com: Google Cloud Networking overview \ud83c\udf1f\ud83c\udf1f
  • cloud.google.com: Service orchestration on Google Cloud
  • cloud.google.com: The next big evolution in serverless computing
  • cloud.google.com: Enabling keyless authentication from GitHub Actions
  • cloud.google.com: Cloud IDS for network-based threat detection is now generally available
  • cloud.google.com: DevOps and CI/CD on Google Cloud explained
  • cloud.google.com: What is Cloud CDN and how does it work?
  • networkmanagementsoftware.com: Google Cloud Platform (GCP) Networking Fundamentals
  • cloud.google.com: Service Directory cheat sheet Fact: Most enterprises have a large number of heterogeneous services deployed across different clouds and on-premises environments. Fact: It is complex to look up, publish, and connect these services. Fact: Service Directory can help.
"},{"location":"GoogleCloudPlatform/#google-landing-zone","title":"Google Landing Zone","text":"
  • medium.com/google-cloud: Design your Landing Zone \u2014 Design Considerations Part 4\u2014 IaC, GitOps and CI/CD (Google Cloud Adoption Series)
"},{"location":"GoogleCloudPlatform/#dev-library","title":"Dev Library","text":"
  • Level Up Your Agents: Announcing Google\u2019s Official Skills Repository - (Related to ai-agents-mcp topic)

  • devlibrary.withgoogle.com \ud83c\udf1f New open source content library from Google, a showcase of what developers like you have built with Google technologies.

"},{"location":"GoogleCloudPlatform/#gcp-samples-boilerplates","title":"GCP Samples (Boilerplates)","text":"
  • github.com/GoogleCloudPlatform
  • github.com/GoogleCloudPlatform/cloud-code-samples \ud83c\udf1f
  • kelseyhightower/cmd-tutorial This tutorial will walk you through provisioning some VMs on GCP so you can kick the tires on Cmd \u2013 Track and Control Users in Production.
"},{"location":"GoogleCloudPlatform/#managing-cluster-level-configuration","title":"Managing Cluster Level Configuration","text":"
  • Config Sync Overview One of the most challenging day two concerns for Kubernetes users is managing cluster level configuration, think namespaces, CRDs, and RBAC rules, across multiple clusters. For GKE customers Config Sync is a game changer.
"},{"location":"GoogleCloudPlatform/#google-cloud-appsheet","title":"Google Cloud AppSheet","text":"
  • Google Cloud AppSheet
  • infoworld.com: Google Cloud AppSheet review: No-code with extras Google\u2019s easy no-code app builder lets you add functionality with spreadsheet formulas and expressions, and even apply machine learning models.
"},{"location":"GoogleCloudPlatform/#cloud-spanner","title":"Cloud Spanner","text":"
  • https://cloud.google.com/spanner
  • https://github.com/cloudspannerecosystem/autoscaler
  • engineering.mercari.com: Kubernetes based autoscaler for Cloud Spanner
"},{"location":"GoogleCloudPlatform/#serverless","title":"Serverless","text":"
  • Cloud Functions, meet VPC functionality
"},{"location":"GoogleCloudPlatform/#anthos-googles-hybrid-and-multi-cloud-platform","title":"Anthos. Google\u2019s Hybrid And Multi-Cloud Platform","text":"
  • Anthos \ud83c\udf1f
  • Everything You Want To Know About Anthos - Google\u2019s Hybrid And Multi-Cloud Platform
  • itnext.io: Anthos \u2014 Multi-cluster Management
  • itnext.io: Ingress for Anthos \u2014 Multi-cluster Ingress and Global Service Load Balancing
  • A hybrid cloud-native DevSecOps pipeline with JFrog Artifactory and GKE on-prem \ud83c\udf1f Running in a hybrid environment means that some of your processing happens on Google Cloud and other processing remains on-premises. Anthos helps you manage both an on-premises Kubernetes cluster and a cluster running on Google Cloud.
  • Bringing Kubernetes\u2019 goodness to Windows Server apps with Anthos Windows container support to GKE on-premises through Anthos.
  • cloud.google.com: Anthos makes multi-cloud easier with new API, support for Azure
  • medium.com/google-cloud: Anthos-at-Home: Spinning Up a Bare-Metal Anthos Cluster on Dumpster Servers In this article, you will learn the capabilities of Anthos on bare metal and find a detailed guide and explanation on how to do it yourself
"},{"location":"GoogleCloudPlatform/#python","title":"Python","text":"
  • anderfernandez.com: C\u00f3mo automatizar un script de Python en Google Cloud
"},{"location":"GoogleCloudPlatform/#cloud-code","title":"Cloud Code","text":"
  • Cloud Code \ud83c\udf1f Everything you need to write, debug, and deploy your cloud-native applications.
"},{"location":"GoogleCloudPlatform/#google-cloud-buildpacks","title":"Google Cloud Buildpacks","text":"
  • Google Cloud Buildpacks
"},{"location":"GoogleCloudPlatform/#google-cloud-deploy","title":"Google Cloud Deploy","text":"
  • cloud.google.com: Introducing Google Cloud Deploy: Managed continuous delivery to GKE
  • cloud.google.com: Google Cloud Deploy, now GA, makes it easier to do continuous delivery to GKE
  • infoq.com: Google\u2019s Managed Continuous Delivery Service for Kubernetes Moves to GA
"},{"location":"GoogleCloudPlatform/#cloud-sql","title":"Cloud SQL","text":"
  • Testing Cloud SQL failover: Where to begin
"},{"location":"GoogleCloudPlatform/#apigee","title":"Apigee","text":"
  • Announcing Apigee Integration: An API-first approach for connecting data and applications
"},{"location":"GoogleCloudPlatform/#tools","title":"Tools","text":"
  • Google Agents CLI - (Related to ai topic)
  • Terraform Provider for Google Cloud 7.0 is now GA - (Related to terraform topic)

  • db-auth-gateway An authentication proxy for Google Cloud managed databases

"},{"location":"GoogleCloudPlatform/#gcloud","title":"gcloud","text":"
  • cloud.google.com: Declarative Export. Build your perfect Google Cloud infrastructure using Terraform and the gcloud CLI Google Cloud CLI\u2019s preview release of Declarative Export for Terraform. Declarative Export allows you to export the current state of your Google Cloud infrastructure into a descriptive file compatible with Terraform (HCL) or Google\u2019s KRM declarative tooling.
  • cloud.google.com: The gcloud tool cheat sheet
  • github.com/GoogleCloudPlatform/k8s-config-connector: GCP Config Connector Config Connector is a Kubernetes add-on that allows you to manage GCP resources, such as Cloud Spanner or Cloud Storage, through your Kubernetes cluster\u2019s API
"},{"location":"GoogleCloudPlatform/#google-sheets","title":"Google Sheets","text":"
  • freecodecamp.org: Web Scraping with Google Sheets \u2013 How to Scrape Web Pages with Built-in Functions
"},{"location":"GoogleCloudPlatform/#videos","title":"Videos","text":"Click to expand!"},{"location":"GoogleCloudPlatform/#images","title":"Images","text":"Click to expand!

"},{"location":"GoogleCloudPlatform/#tweets","title":"Tweets","text":"Click to expand!

\ud83c\udf9f You want to get a ticket to @googlecloud networking, it's really cool!\ud83e\udd13 I take an example company and walk trough the different networking services, take look \ud83d\udc49 https://t.co/tTwLp7DXH4#cloudnetworking #cloudcomputing pic.twitter.com/yFVEUpLy1g

\u2014 Priyanka Vergadia (@pvergadia) November 1, 2021

Our new managed continuous service delivery, @googlecloud Deploy, just became generally available. I'm supposed to be working on something else, but I want to check it out. Let's procrastinate on real-work together, shall we? Quick \ud83e\uddf5 as I deploy a #dotnet app to GKE. pic.twitter.com/Ve07Gnog7q

\u2014 Richard Seroter (@rseroter) January 21, 2022

Creating a GCP service account for each running k8s deployment is ugly. Thankfully, good folks working on Workload Identity @googlecloud have conjured up some dark magic that allows you to bind RBAC directly to Kubernetes service accounts!Checkout a short demo \ud83e\uddf5 showing how\u2026

\u2014 Nick Eberts (@nicholas_eberts) March 18, 2022"},{"location":"about/","title":"About Nubenetes","text":"

\u201cOpen Source is most successful when is played as a positive sum game\u201d (Sarah Novotny)

This web started in 2018, after finishing my first relevant project on cloud computing with a well known consulting firm. It was an international project coordinated from Munich with remote work from other european countries and regular flights. The client was a major multinational car manufacturer with a big investment in OpenShift and Cloudbees/Jenkins infrastructure. Our role was to help the client with their pretty large CI/CD ecosystem while also implementing a new self-service developer platform, involving areas of development and operations and within a DevOps model. Requirements and way of working included continuous improvement, standardization, boilerplates and automation with a GitOps pattern, a highly recommended approach specially in demanding projects like this with hundreds of real microservices, a large number of IaC & CI/CD pipelines, hundreds (thousands?) of developers and millions of end users.

Since then I try to apply in my country what I learnt from the germans and other european colleagues.

I\u2019m not a freelancer and most of the time I work as a contractor, which in Spain means to be hired as an employee by an external company.

Suggesting improvements and best practices or applying quality standards and automated solutions that work well and are easy to verify shouldn\u2019t penalize a career, but it\u2019s terribly common. I am concerned about working with some colleagues or managers who consider it a threat, generating absurd conflicts, blame games and acting in bad faith or stupidly distorting the purpose of the project.

In a service driven IT sector (with calculated ambiguities and many hidden interests) the product is the hours billed by the consultant, being almost irrelevant the content of the job and the delivered quality. It is thus too common to find technical solutions under the policy of applying \u201cthe most difficult, non-standard, slowest and most obfuscated way possible\u201d as a competitive element (the hard way and doing weird things). This does not scale. Being ambiguous in JDs (not to say dishonest) without clarifying the real content of the job is easy and very well paid.

Ambiguities about DevOps term. Development of new ad-hoc devops tools and ad-hoc monitoring solutions should not be the role of devops specialists. DevOps professionals develop IaC and CI/CD pipelines with standard tools and code, ideally with a cattle service model, GitOps patterns & kubernetes among other responsabilities such as application monitoring. The development of devops tools for kubernetes with i.e. client-go should be clearly mentioned in a JD as \u201csoftware development of devops tools for kubernetes with client-go\u201d (suitable for a software engineer with client-go skills, a developer of devops/kubernetes/monitoring tools). In addition, a DevOps specialist should not be a fullstack developer who occasionally does QA + DevOps + Cloud Design/Ops. Moreover, avoid confusing terms to justify these different backgrounds by creating two roles like DevOps Software Developer and DevOps SysAdmin. Maybe DevOps should be renamed as OpsDev to avoid misunderstandings.

A tech stack is not relevant compared to the way technology is managed. You could have the best tool and run into trouble by taking the risk of applying an unsupported or not recommended1 approach.

DevOps principles: People, processes, technology

GitOps principles: Correctness, doing DevOps correctly

Principle Focus Main Tool Other Tools Flexibility Correctness DevOps Automation and frequent deployments CI/CD pipeline Supply chain management, Cloud Configuration as Code, etc. Less strict and more open Less focus on correctness GitOps Correctness; doing DevOps correctly Git Kubernetes, Controller (e.g., Operator), separate CI/CD pipelines, Infrastructure as a Code, etc. Stricter and less open Designed with correctness

The SRE Experience Is Changing with Cloud Native:

  • From Firefighting to Prevention for SREs.
  • Empower Developers with Self-Service.
  • Facilitate Developer Autonomy.
  • Adopting a New Code-Ship-Run Paradigm.
Site Reliability Engineer (SRE) team Developers Operations team Provide and teach effective use of platform tooling to empower developers to be self-sufficient Treat SREs as application operation partners, not only as first responders to incidents Provide self-service platform deployment and observability, and enable visibility into ramifications of actions Document clear escalation paths for developers struggling in production Turn to ops teams for the \u201cpaved path\u201d or centralized developer control plane Provide opinionated \u201cpaved path\u201d platform or developer control plane (DCP), but allow developers to swap platform components if they also want to be accountable

Avoiding standardization, automation and improvements because rivals do not invest in them is shortsighted. It is worrying because there is considerable resistance to change along with employment discrimination to prevent new proposals from succeeding. The term DevOps first appeared in 2009.

In this service driven IT sector, cloud certifications and technical assesment tests have much more weight in the selection processes that have little to do with real work. They are mostly a wall to justify the hiring of less experienced (younger and cheaper) employees. Fundamental in any profession to learn by doing while building a career and skills with decent opportunities and without too many difficulties and barriers.

A consequence of these technical assessment tests is the willingness to learn how to pass them while only implementing and practicing this specific knowledge at work. If assessments are about low level concepts then there\u2019s no interest in abstractions, frameworks and enterprise standards (real work). Similar scenario when evaluating kubernetes knowledge with manual tasks (CLI) instead of gitops pipelines (real work2).

Inbreeding is not a good strategy in IT. Hiring people with different background and skills is a better bet. Cronyism, kiss up kick down and blame games hurt employee retention and economic growth. This is terrible common too. If an employee doesn\u2019t trust their manager, the company suffers. Sure, ruling through fear works, but the employee will do the bare minimum amount of work needed to keep their job (manually and without automation).

Culture of mutual trust is key to beating competition and increasing employee retention. When something isn\u2019t right the employee should be able to bring it up without being afraid of being fired.

We are in business to make money, perhaps not only creating value on financial markets with jargon like margin and cost effective, common in financially driven companies.

Everyone sells the same thing: cloud, devops, big data, etc. Speaking is cheap. Throwing an SQL statement doesn\u2019t make you an SQL expert. Likewise, you don\u2019t need to be an SQL expert on every job. Actually most of the jobs require generalists rather than specialists, above all in countries where most companies are SMEs.

There are very few unicorns and to a certain extent it depends a lot on the environment created.

CKA is the top Kubernetes certification but only a few employers require one. Same logic applies to other certifications.

It is surprising the numerous resources and the strategy of psychological exhaustion of recruitment companies that continuously bombard us with interviews. They also force us to transfer our data to third parties without any control of where our CV ends. It is also very common to gather information from detailed CVs and interviews to afterwards publish similar JDs that can be sold as services to potential clients. Again, only the service name is what matters, not how this is implemented and whether the client have the capacity to implement it in a proper manner.

As professionals we are obliged to a high commitment to our clients, sometimes sacrificing our well-being in order to achieve the objectives. Everyone has limits, sometimes being a personal decision to abandon a project without this entailing a penalty in the next job (we have given our CV to third parties without any control). An unfair bad reference (blame games) and calculated ambiguities can ruin our careers. And I\u2019m not talking about an isolated case.

Losing employment and significantly penalizing employability and economic bargaining power for defending the value of automation, continuous improvement and standardization in computer engineering is a high price to pay. The alternatives often seem to be manual work with low salary expectations, lack of opportunities with new cloud jobs (better paid), promotion to a management position or emigration to countries with a different economic model (where technical jobs are better valued). This does not scale either. Freelancing worldwide is not for everyone either.

\u201cOne of the biggest problems in IT is that we keep reinventing the wheel. We are running the same circles, producing similar technologies to solve the same problems. Reinventing the wheel is a great way to learn how the wheel works, but not an efficient way to build software\u201d (@dmokafa)

\u201cTech industry thinks throwing more tools to the problem is the solution. More tools = more failure modes\u201d (@rakyll)

Instead of reinventing the wheel by rewriting from scratch a new installer or ad-hoc devops tool to manage/monitor kubernetes, please pay attention to the links shared here and learn how to add value on the so called day 2. You will find solutions and knowledge in a practical and efficient way without being totally essential to obtain a certification to successfully complete the task. For example, if there\u2019s money for reinventing the wheel on day 1, then there\u2019s money for investing in these high value added solutions on day 2 where automation can significantly improve our lives and the quality of the delivered service. Automation is also a key element when evaluating the delivery of a service.

Nubenetes shares relevant information that helps spread the new technological and cultural standards, in order to eliminate bottlenecks and silos and promote digital transformation.

Does saying this publicly imply being blacklisted and losing professional opportunities? What kind of society do we live in?

Tips: ask the hiring manager what experience they have with Cloud Automation, Cloud Managed Services and K8s in Production, if they deploy OpenShift via IPI1 or UPI, whether they are familiar with Gitops as the correct way of doing DevOps, if they work with modern, easy-to-use automation tools (terraform, ansible modules with YAML/Jinja templates, argocd, helm, an automation server3 to run pipelines, declarative code in Jenkins4 Pipelines or in DevOps Azure Pipelines, IaC boilerplates instead of k8s vanilla, etc) or they are not practical and prefer to develop their own ad-hoc tools with millions of lines of code that need maintenance (by who?). If any doubt, ask them to show you their pipelines and custom solutions, how long it takes them to deploy and setup their k8s infra on day 1 & day 2 (pets vs cattle service model), how long it takes them to deploy a single app and if the process is fully automated or not, what monitoring solutions they have, if security and Role-based Access Control (RBAC) are implemented in their k8s clusters, whether changes and PoCs are tested first in ephemeral and isolated K8s/Cloud infra test environments with IaC & CI/CD pipelines, if solutions can be discussed within the team, etc.

\u201cThe absolutely difficult thing is reaching volume production without going bankrupt, that is the actual hard thing\u201d Elon Musk

Click to expand!

\u201cI am a big fan of the scientific method. Engineers do not build bridges from a right or left perspective, the engineer builds bridges from an evidence-based perspective and over time bridge construction has improved. On the other hand, a politician does things from a right or left perspective, and over time politics has gotten worse. When I work with politicians and two of them are in a room together, one always thinks of the other, \u201cwill they get in my way? Will they damage my reputation? Is there a conflict of interest?\u201d On the other hand, when two engineers meet, they say, \u201chello! I have a problem, can you help me?\u201d Engineers rely on evidence. If you want to save the world, think like an engineer.\u201d ref 1 (Youtube Clip in Spanish), ref 2 (English), ref 3 (Spanish), ref 4 (Spanish) - Mark Stevenson, writer and businessman.

Click to expand!

Let\u2019s improve both the private & public IT sector and the opportunities in large, medium and small companies, and give us a star on GitHub if you like this blog!!

\u00b7 The Seatbelts - Tank!"},{"location":"about/#_1","title":"About","text":""},{"location":"about/#cloud-computing-job-market-in-2016","title":"Cloud Computing job market in 2016","text":"Click to expand!

\u201cIn the U.S. in 2016, 3.9 million jobs are associated with cloud computing, with 384,478 of them in IT. The median salary for IT professionals with cloud computing experience was $90,950. (Forbes)\u201d

From the above graph (credit: Forbes) we can see that the top three countries for Cloud Computing Jobs are:

China (7.5 Million). USA (4 Million). India (2.2 Million).

"},{"location":"about/#stats","title":"Stats","text":"Stats 1. Click to expand! Stats 2. Click to expand! Stats 3. Inflation and Unemployment. Click to expand! Stats 4. Government Debt and Income Tax Rate. Click to expand! Stats 5. Corruption, Favours, Influence Peddling, Unfair Competition, No Meritocracy. Click to expand! Stats 6. IT, Languages and Olympics. Click to expand!
  1. For example: OpenShift deployment using the UPI method instead of IPI because of lack of permissions as an excuse.\u00a0\u21a9\u21a9

  2. Manual operations with CLI are more appropriate for queries and troubleshooting (without modify permissions) when monitoring systems don\u2019t provide enough information. GitOps pipelines should be controlled and triggered by an automation server.\u00a0\u21a9

  3. Jenkins/CloudBees, Ansible Tower/AWX, Foreman, Rundeck, Azure DevOps, GitLab CI, etc.\u00a0\u21a9

  4. Automation with Jenkins Configuration as Code replaces what was previously done via Jenkins CLI and jenkins remote REST API calls (requiring backend development with tools like swagger and API Testing tools like postman). Similar scenario applies to other technologies.\u00a0\u21a9

"},{"location":"ai-agents-mcp/","title":"AI Agents and Model Context Protocol (MCP) for Kubernetes","text":"

Resources, tools, and projects related to autonomous AI agents, Model Context Protocol (MCP) implementations, and LLM orchestration within Kubernetes environments.

  1. Introduction
  2. AI Agents
  3. Model Context Protocol (MCP)
  4. LLM Operators and Infrastructure
"},{"location":"ai-agents-mcp/#introduction","title":"Introduction","text":"
  • Cursor AI Fundamentals Course - (Related to ai topic)

  • anthropic.com: Introducing the Model Context Protocol

  • modelcontextprotocol.io: MCP Official Documentation
"},{"location":"ai-agents-mcp/#ai-agents","title":"AI Agents","text":"
  • IBM IAM for AI Agents - This resource discusses how IBM Identity and Access Management (IAM) provides native IAM for AI agents, enabling them to have an identity and deliver least privileged access.
  • Level Up Your Agents: Announcing Google\u2019s Official Skills Repository \ud83c\udf1f - This blog post announces the launch of Google\u2019s official Agent Skills repository on GitHub, designed to equip AI agents with condensed expertise on specific technologies and tasks. Skills are presented in an open Markdown format, including reference files and code snippets, to provide agent-first documentation. This approach aims to reduce \u2018context bloat\u2019 often encountered when using Model Context Protocol (MCP) servers, leading to more efficient and cost-effective AI agent interactions with Google Cloud products like Gemini API, BigQuery, and GKE.
  • Claude Code Best Practice - A GitHub repository focused on \u2018vibe coding to agentic engineering\u2019, providing practices and examples for interacting with AI models like Claude. It includes sections on agents, commands, skills, development workflows, and implementation details.
  • Kiro: Engineering Rigor for Agentic Development - Kiro is a tool designed to bring engineering discipline to AI agent development. It focuses on managing intent, handling long-running tasks across large codebases, and validating code correctness through a learning agent. Key features include converting natural language prompts into structured requirements (EARS notation), generating architectural designs, creating implementation plans with discrete, sequenced tasks, and enabling terminal-based interaction for building features, automating workflows, and debugging.
  • HolmesGPT (Robusta) - An open-source AI agent for investigating Prometheus alerts and Kubernetes incidents. It uses LLMs to triage issues and provide recommended fixes.
  • Skyvern - Automate browser-based workflows using LLMs and Computer Vision.
"},{"location":"ai-agents-mcp/#model-context-protocol-mcp","title":"Model Context Protocol (MCP)","text":"
  • Announcing Azure MCP Server 2.0 Stable Release for Self-Hosted Agentic Cloud Automation \ud83c\udf1f - This blog post announces the stable release of Azure MCP Server 2.0, an open-source software that implements the Model Context Protocol (MCP) specification. It allows AI agents and developer tools to interact with Azure resources through a standardized tool interface. The key advancement in version 2.0 is the support for self-hosted, remote MCP server deployment, enabling flexible integration into developer workflows for local development, tool integrations, and centralized team/enterprise scenarios with consistent policy and security controls.
  • Awesome MCP Servers - A curated list of resources related to MCP (Machine Cognitive Progression) servers, focusing on AI and related technologies.
  • PulseMCP - A hosted hub for discovering and using MCP servers.
  • MCPBundles - Curated bundles of MCP servers for various use cases (DevOps, Data, Productivity).
  • GitHub MCP Server - Interact with GitHub repositories, issues, and PRs via AI agents.
  • Vercel MCP Server - Manage Vercel deployments and view logs directly from AI agents.
  • Chroma MCP Server - Vector database integration for agentic RAG.
  • Brave Search MCP - Grounded web search for AI agents.
  • PostgreSQL MCP Server - Secure SQL execution and schema inspection for agents.
  • Google Cloud Managed MCP - Production-grade MCP service for accessing GCP resources from Gemini.
"},{"location":"ai-agents-mcp/#llm-operators-and-infrastructure","title":"LLM Operators and Infrastructure","text":"
  • Kube-Ray - A toolkit to run Ray applications on Kubernetes.
  • vLLM on Kubernetes - High-throughput LLM serving with PagedAttention.
  • NVIDIA GPU Operator - Automates the management of all NVIDIA software components needed to provision GPU.
  • LocalAI - Self-hosted, community-driven, local OpenAI-compatible API.
"},{"location":"ai/","title":"Artificial Intelligence","text":"
  1. Introduction
  2. Machine Learning
  3. Transformers Library
  4. LLMOps
  5. The MAD (ML/AI/Data) Landscape
  6. OpenAI
  7. Kubernetes and AI
  8. IaC Terraform and AI
  9. IaC CloudFormation and AI
  10. Programming
  11. Medical Imaging
  12. Computer Vision
  13. AIOps
  14. Other Tools
  15. Videos
"},{"location":"ai/#introduction","title":"Introduction","text":"
  • guru99.com: Artificial Intelligence Tutorial for Beginners: Learn Basics of AI \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
  • technologyreview.com: Andrew Ng: Forget about building an AI-first business. Start with a mission \ud83c\udf1f An AI pioneer reflects on how companies can use machine learning to transform their operations and solve critical problems.
    • technologyreview.es: \u201cLas empresas que empiezan a lo grande con la IA fracasan m\u00e1s\u201d \ud83c\udf1f El pionero de la inteligencia artificial Andrew Ng asegura que es m\u00e1s importante tener buenos datos, aunque sean escasos, que muchos, pero mal etiquetados. Cree que todas las empresas deben empezar a pensar en la tecnolog\u00eda con proyectos r\u00e1pidos, pero peque\u00f1os, y escalarlos si resulta que funcionan.
    • cio.com: Make Better AI Infrastructure Decisions: Why Hybrid Cloud is a Solid Fit \ud83c\udf1f The unique demands of AI workloads drive increasing popularity of pairing on-premises infrastructure with cloud.
  • hipertextual.com: Diferencias entre Inteligencia Artificial, Machine Learning y Deep Learning
  • businessinsider.es: Los ingenieros de software est\u00e1n aterrorizados ante la posibilidad de ser sustituidos por la IA
  • computerhoy.com: \u00bfQu\u00e9 es el \u2018Deep Learning\u2019 y por qu\u00e9 se considera una revoluci\u00f3n en la inteligencia artificial?
  • poloclub.github.io: What is a Convolutional Neural Network?
  • freecodecamp.org: Ace Your Deep Learning Job Interview
  • freecodecamp.org: Deep Learning Fundamentals Handbook \u2013 What You Need to Know to Start Your Career in AI
  • aman.ai/primers/ai: Distilled AI Here\u2019s a hand-picked selection of articles on AI fundamentals/concepts that cover the entire process of building neural nets to training them to evaluating results.
    • aman.ai/primers/ai/LLM: Primers - Overview of Large Language Models
  • forbesargentina.com: Por qu\u00e9 Nvidia, Google y Microsoft apuestan miles de millones en modelos LLM de IA Generativa para biotecnolog\u00eda
  • youtube: AWS re:Invent 2023 - From hype to impact: Building a generative AI architecture (ARC217) Generative AI represents a paradigm shift for how companies operate today. Generative AI is empowering developers to reimagine customer experiences and applications while transforming virtually every industry. Organizations are rapidly innovating to create the right architecture for scaling generative AI securely, economically, and responsibly to deliver business value. In this talk, learn how leaders are modernizing their data foundation, selecting industry-leading foundation models, and deploying purpose-built accelerators to unlock the possibilities of generative AI.
"},{"location":"ai/#machine-learning","title":"Machine Learning","text":"
  • Machine Learning Crash Course \ud83c\udf1f - A practical and accelerated introduction to Google\u2019s machine learning, featuring a series of animated videos, interactive visualizations, and hands-on exercises. This course covers foundational concepts like regression and classification models, linear regression, loss, gradient descent, and hyperparameter tuning.

  • github.com/microsoft/ML-For-Beginners: Machine Learning for Beginners - A Curriculum

  • amazon.science/base-tts-samples BASE TTS: Audio samples. Audio samples for the paper BASE TTS: Lessons from building a billion-parameter text-to-speech model on 100K hours of data.
"},{"location":"ai/#transformers-library","title":"Transformers Library","text":"
  • github.com/NielsRogge/Transformers-Tutorials
  • aman.ai: Transformers
  • aman.ai: Primers \u2022 Bidirectional Encoder Representations from Transformers (BERT)
  • aman.ai: Primers \u2022 Generative Pre-trained Transformer (GPT)
"},{"location":"ai/#llmops","title":"LLMOps","text":"
  • Development Environments for Cloud Agents \ud83c\udf1f - This article introduces Cursor\u2019s new tools for configuring development environments for cloud agents. It highlights the importance of robust environments for agents to perform end-to-end engineering tasks, including accessing codebases, dependencies, credentials, and build systems. The feature supports multi-repo environments, allowing agents to reason across multiple codebases, which is crucial for microservice architectures.
  • Cursor AI Fundamentals Course - Official tutorials for Cursor, covering AI fundamentals including models, tokens, hallucinations, agents, MCP, skills, and context. The course is in Spanish and consists of 13 modules.
  • Cursor Bugbot Effort Levels Documentation - Documentation for Cursor\u2019s Bugbot, introducing \u2018effort levels\u2019 for users on usage-based plans. These levels can be configured via the Bugbot dashboard.
  • Claude Code in Action - A course from Anthropic Academy that provides comprehensive training on using Claude Code for software development tasks. It covers the underlying architecture of AI coding assistants, practical implementation techniques, and advanced integration strategies. Key topics include understanding coding assistant architecture, exploring Claude Code\u2019s tool use system, mastering context management techniques, implementing visual communication workflows, creating custom automation, and extending functionality with MCP servers.
  • LLMs-from-scratch \ud83c\udf1f - A GitHub repository that provides a step-by-step implementation of a ChatGPT-like Large Language Model (LLM) using PyTorch, covering development, pretraining, and finetuning.
  • Claude Code Best Practice - (Related to ai-agents-mcp topic)
  • Docker for LLMs - (Related to docker topic)
  • Learn to Manage Investments and Cost Efficiency of Azure and AI Workloads - (Related to finops topic)
  • How to run Deepseek R1 LLMs on GPU Droplets \ud83c\udf1f - This tutorial guides users on deploying the Deepseek R1 series of open-source Large Language Models (LLMs) on DigitalOcean\u2019s GPU Droplets. It leverages Ollama for easy model execution, focusing on the reasoning capabilities of these new LLMs and their potential to match proprietary alternatives.
  • Automate Pull Request Descriptions in Azure DevOps with Azure OpenAI - (Related to cicd topic)

  • github.com/tensorchord/Awesome-LLMOps: Awesome LLMOps An awesome & curated list of best LLMOps tools for developers

  • valohai.com/blog/llmops/ LLMOps: MLOps for Large Language Models
  • github.com/mlabonne/llm-course Course to get into Large Language Models (LLMs) with roadmaps and Colab notebooks.
  • itnext.io: Deploy Flexible and Custom Setups with Anything LLM on Kubernetes Step-by-Step Guide to Deploy Anything LLM with OpenAI, Azure AI, and Ollama
"},{"location":"ai/#the-mad-mlaidata-landscape","title":"The MAD (ML/AI/Data) Landscape","text":"
  • Ignore Prior Instructions: AI Still Befuddled by Basic Reasoning - An article discussing the limitations of current AI models, particularly their struggles with understanding and acting upon explicit instructions and basic reasoning, even when the instructions are clear. It highlights how AI can still be \u2018befuddled\u2019 by simple logical tasks.

  • mad.firstmark.com: The MAD (ML/AI/Data) Landscape

"},{"location":"ai/#openai","title":"OpenAI","text":"
  • Claude 101: Free Guides to Master Claude - A comprehensive collection of free guides for learning and mastering Anthropic\u2019s Claude AI model, covering beginner to expert levels. The content includes guides on basic usage, prompting techniques, certification, team collaboration, design integration, skill creation, advanced techniques for avoiding AI limitations and biases, and using Claude for coding and computer interaction.

  • github.com/openai/openai-cookbook: OpenAI Cookbook Examples and guides for using the OpenAI API

  • xataka.com: Microsoft no quiere poner todos los huevos en la misma cesta: anuncia una asociaci\u00f3n con Mistral AI, la OpenAI de Europa
    • Mistral AI acceder\u00e1 a la infraestructura en la nube de Azure AI para desarrollar sus modelos y ofrecerlos comercialmente
    • La startup, con sede en Par\u00eds, acaba de lanzar su modelo de lenguaje Mistral Large y su chatbot conversacional Le Chat
"},{"location":"ai/#kubernetes-and-ai","title":"Kubernetes and AI","text":"
  • Introducing Kiro: AWS Agentic AI-Based IDE - This article introduces Kiro, an AI-based IDE designed to leverage agentic AI for cloud development, specifically mentioning its integration with AWS and potential for Kubernetes environments.
  • Limitless Kubernetes Scaling for AI and Data-intensive Workloads: The AKS Fleet Strategy - (Related to kubernetes topic)
  • Warp: The Agentic Development Environment - (Related to kubernetes-tools topic)

  • k8sgpt.ai K8sGPT is a tool for scanning your kubernetes clusters, diagnosing and triaging issues in simple english. It has SRE experience codified into its analyzers and helps to pull out the most relevant information to enrich it with AI.

  • collabnix.com: The Rise of Kubernetes and AI \u2013 Kubectl OpenAI plugin
"},{"location":"ai/#iac-terraform-and-ai","title":"IaC Terraform and AI","text":"
  • Terraform 2.0 in Practice: Using AI to Generate Infrastructure as Code - (Related to terraform topic)
  • Discussion: Where is AI Still Completely Useless? - A Reddit discussion exploring the current limitations of AI and identifying areas where it remains ineffective or completely useless. The conversation touches on various domains and tasks.
  • AI Meets Terraform: Prompt Strategies for Test Generation \ud83c\udf1f - This article details the experience of developing and refining an LLM prompt using Cursor and Claude Code to generate meaningful Terraform tests. It explores various experimental approaches, emphasizes strategies for creating \u201cdurable prompts,\u201d and shares the final prompt in a GitHub repository. The content highlights the value of AI in Infrastructure as Code (IaC) workflows, specifically for writing tests for Terraform child modules, and provides takeaways for crafting effective prompts.
  • AWS Well-Architected IaC Analyzer - (Related to aws-architecture topic)

  • hashicorp.com: Accelerate your Terraform development with Amazon CodeWhisperer

"},{"location":"ai/#iac-cloudformation-and-ai","title":"IaC CloudFormation and AI","text":"
  • IDE extension for AWS Application Composer enhances visual modern applications development with AI-generated IaC
"},{"location":"ai/#programming","title":"Programming","text":"
  • Tech companies cutting devs for AI - A Reddit post from r/ProgrammerHumor discussing the trend of tech companies reducing their developer workforce in favor of AI.
  • Extend your coding agent with .NET Skills \ud83c\udf1f - This blog post introduces the dotnet/skills repository, a collection of agent skills designed to enhance coding agents for .NET developers. These skills provide specialized knowledge and context that coding agents can discover and utilize, improving their ability to solve tasks with less trial and error. The post explains the concept of agent skills and their adherence to the Agent Skills specification, which is supported by various coding agents like GitHub Copilot CLI, Visual Studio, and VS Code.
  • Best Practices for Using GitHub Copilot \ud83c\udf1f - A guide detailing the strengths, weaknesses, and optimal usage scenarios for GitHub Copilot, differentiating between inline suggestions and Copilot Chat for various coding tasks, including writing tests, debugging, code generation, and explanation.
  • Programming with GitHub Copilot Agent Mode \ud83c\udf1f - This article explores the capabilities of GitHub Copilot\u2019s agent mode, detailing how it can assist developers in various programming tasks. It highlights its potential to streamline workflows and enhance productivity within development environments.
  • Google Launches Gemini Code Assist, Challenging GitHub Copilot with Generous Free Tier - Google has introduced Gemini Code Assist, an AI-powered programming assistant that aims to compete with GitHub Copilot. A key differentiator is its significantly larger free usage tier, offering 180,000 queries per month compared to GitHub Copilot\u2019s 2,000, making it a more accessible option for developers to explore and adopt.

  • xataka.com: https://www.xataka.com/servicios/copilot-chatgpt-gpt-4-han-cambiado-para-siempre-mundo-programacion-esto-que-opinan-expertos

"},{"location":"ai/#medical-imaging","title":"Medical Imaging","text":"
  • Microsoft Dragon Copilot: Unified Voice AI Assistant for Healthcare - Microsoft announces Dragon Copilot, a voice AI assistant for the healthcare industry that combines Dragon Medical One and DAX Copilot. It aims to streamline clinical documentation, improve information retrieval, and automate tasks for clinicians, ultimately enhancing well-being, efficiency, and patient experiences.

  • blog.redbrickai.com: F.A.S.T. \u26a1\ufe0f Meta AI\u2019s Segment Anything for Medical Imaging

"},{"location":"ai/#computer-vision","title":"Computer Vision","text":"
  • github.com/SkalskiP/top-cvpr-2023-papers This repository is a curated collection of the most exciting and influential CVPR 2023 papers.
"},{"location":"ai/#aiops","title":"AIOps","text":"
  • OpenOps: No-Code FinOps Automation Platform with AI - (Related to finops topic)
  • HolmesGPT (Robusta) - Agentic alert investigation for Kubernetes.
  • CAST AI - AI-driven Kubernetes cost optimization and autonomous rightsizing.
  • apmdigest.com: What Can AIOps Do For IT Ops? - Part 1
    • apmdigest.com: What Can AIOps Do For IT Ops? - Part 2
    • apmdigest.com: What Can AIOps Do For IT Ops? - Part 3
    • apmdigest.com: What Can AIOps Do For IT Ops? - Part 4
    • apmdigest.com: What Can AIOps Do For IT Ops? - Part 5
  • thenewstack.io: The Urgency Driving AIOps into Your Enterprise
  • thenewstack.io: Intelligent Automation: What\u2019s the Missing Piece of AIOps?
  • infoworld.com: 5 best practices for securing CI/CD pipelines Build in security from the beginning with continuous testing, automation, zero trust, and AIops.
  • infoq.com: AIOps: Site Reliability Engineering at Scale
  • hashicorp.com: Accelerating AI adoption on Azure with Terraform
  • hashicorp.com: AI for infrastructure management Accelerate your IT operations and support AIOps implementation with HashiCorp.
  • platformengineering.org: AI is changing the future of platform engineering. Are you ready? AI is changing the future of platform engineering. And the future is much closer than you might think.
  • aws.amazon.com/blogs/industries: BMW Group Develops a GenAI Assistant to Accelerate Infrastructure Optimization on AWS
"},{"location":"ai/#other-tools","title":"Other Tools","text":"
  • Cerebras AI - Cerebras offers an AI platform with a free API providing access to various large language models like GPT OSS, Qwen, GLM, and Llama. The service boasts high request limits, fast inference, and options for cloud serving, dedicated scaling, and on-premise deployment. Their hardware, the Wafer-Scale Engine, is designed for ultra-fast AI workloads.
  • GitHub Copilot CLI for Beginners: Getting Started - A beginner\u2019s guide to GitHub Copilot CLI, introducing its capabilities for bringing AI assistance directly into the terminal for faster workflow and code generation. Covers installation, authentication, and initial prompt usage.
  • Using Workspaces for AI Changes Across Multiple Repos - This article explores a workflow for using AI development tools, like GitHub Copilot, when changes span multiple repositories. It proposes creating feature-specific multi-root workspaces in IDEs (e.g., VS Code) to provide AI agents with comprehensive context across different codebases, improving efficiency compared to single-repo operations.
  • Awesome NotebookLM Slide Prompts - A curated collection of NotebookLM and Kael.im slide prompts, sourced from various creative platforms like WeChat, blogs, RED creators, and Twitter/X power users. These prompts are designed to be used with AI tools for generating presentations from documents, notes, and transcripts.
  • Tabularis: Open Source Desktop Client for Modern Databases with AI and MCP Integration - (Related to kubernetes-tools topic)
  • Skills for Real Engineers - A GitHub repository containing a collection of agent skills designed for real engineering tasks, focusing on composability, adaptability, and ease of use. These skills aim to assist in developing real applications by providing a more controlled and debuggable approach compared to other development methodologies.
  • Google Agents CLI \ud83c\udf1f - The CLI and skills that turn any coding assistant into an expert at creating, evaluating, and deploying AI agents on Google Cloud. It integrates with Gemini CLI, Claude Code, and Codex.
  • Draw.io MCP for Diagram Generation: Why It\u2019s Worth Using - (Related to cloud-arch-diagrams topic)
  • Claude Code Templates - A GitHub repository containing a CLI tool for configuring and monitoring Claude Code, a project potentially related to AI-driven code generation or assistance.
  • Quiz Grader - A GitHub repository containing a certification quiz application and question generator with prompt creator, designed to assist users in studying for technology certification exams through AI-generated practice questions.
  • Azure DevOps MCP Server Public Preview - This blog post announces the public preview of Azure DevOps MCP Server, a local tool that enhances AI assistants like GitHub Copilot by providing them with rich, real-time context from Azure DevOps environments. It enables AI to access and interact with work items, pull requests, test plans, builds, releases, and wiki pages, offering more tailored and accurate responses without data leaving the user\u2019s system. The post includes an example of generating test cases from user stories and links to setup instructions.
  • Awesome MCP Servers - (Related to ai-agents-mcp topic)

  • github.com/jupyterlab/jupyter-ai A generative AI extension for JupyterLab

  • github.com/XingangPan/DragGAN Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold
"},{"location":"ai/#videos","title":"Videos","text":"Click to expand!"},{"location":"angular/","title":"Angular framework","text":"
  • angular.io
  • angular.io: Building and serving Angular apps
  • developers.redhat.com: Handling Angular environments in continuous delivery with Red Hat OpenShift
  • javascript.plainenglish.io: Angular is Costing Companies Billions
"},{"location":"ansible/","title":"Configuration Management. Ansible","text":"
  1. Configuration Management with Ansible DevOps Tool
  2. Ansible AI
  3. Ansible UI
  4. Deploying custom files with Jinja2 templates
  5. Writing an Ansible module
  6. Interacting with REST API
    1. Writing an Ansible module for a REST API
  7. Ansible Videos
  8. Ansible Playbooks
  9. Ansible Collections
  10. Red Hat Ansible Automation Platform
    1. Automation services catalog
    2. Red Hat Certified Ansible Content Collections
  11. Ansible Cheat Sheets
  12. Running Ansible Playbooks
    1. Running Ansible Playbooks From Jenkins
    2. Ansible Tower and Ansible AWX. Running Ansible Playbooks From Ansible Tower
      1. Tower and AWX Installers
    3. Alternatives to Ansible Tower
  13. Ansible Kubernetes Operators
  14. Ansible Molecule. Development and Testing of Ansible Roles
  15. Books
  16. Ansible Galaxy Roles
  17. More Ansible Roles
  18. Ansible scripts
  19. Ansible with Helm
  20. Awesome Ansible
  21. Ansible and Public Cloud Guides
  22. Ansible Kubernetes Module
  23. NGINX Core Collection for Ansibe
  24. Dynatrace with Ansible
  25. SQL Server with Ansible
  26. OCI Oracle Cloud Infrastructure with Ansible
  27. Oracle Database with Ansible
  28. Ansistrano. Deploying applications with Ansible in Capistrano style
  29. Anacron and Ansible
  30. Tweets
  31. Videos
"},{"location":"ansible/#configuration-management-with-ansible-devops-tool","title":"Configuration Management with Ansible DevOps Tool","text":"
  • ansible.com
  • docs.ansible.com
  • dureka.co: What Is Ansible? Configuration Management And Automation With Ansible
  • Dzone: Part 1: Getting Started with Ansible [ARCHIVED]
  • Dzone: Part 2: Deploying Applications
  • Dzone: 10 easy to use modules in ansible
  • Dzone: Running Ansible at Scale
  • Udemy.com: Ansible Essentials: Simplicity in Automation (Free Tutorial)
  • Deployment of Microservices in Cloud With Ansible This tutorial will help you understand how Ansible orchestrates Docker containers at least for a dev environment
  • opensource.com: How to install software with Ansible Automate software installations and updates across your devices with Ansible playbooks.
  • opensource.com: Automate your container orchestration with Ansible modules for Kubernetes \ud83c\udf1f Combine Ansible with Kubernetes for cloud automation. Plus, get our cheat sheet for using the Ansible k8s module.
  • opensource.com: A quickstart guide to Ansible \ud83c\udf1f Download the Ansible Automation for SysAdmins guide.
  • opensource.com: 7 things you can do with Ansible right now If Ansible\u2019s inclusion as a leader on the Forrester Wave report piqued your interest, here are some ways the automation solution can simplify your life.
  • opensource.com: Integrate your calendar with Ansible to avoid schedule conflicts \ud83c\udf1f Make sure your automation workflow\u2019s schedule doesn\u2019t conflict with something else by integrating a calendar app into Ansible.
  • opensource.com: My first day using Ansible A sysadmin shares information and advice about putting Ansible into real-world use configuring computers on his network.
  • siliconangle.com: Red Hat ties Ansible automation to Kubernetes cluster management \ud83c\udf1f
  • thenewstack.io: Red Hat Brings Ansible Automation to Kubernetes \ud83c\udf1f
  • openshift.com: Ansible and OpenShift: Connecting for Success \ud83c\udf1f
  • zdnet.com: ed Hat expands Ansible ready to run cloud programs \ud83c\udf1f And, on top of more plug-and-play Ansible programs, you can now run Ansible hand-in-glove with Red Hat OpenShift.
  • theregister.com: Juggling Ansible, OpenShift and K8s? This is for you: Red Hat couples automation to cluster management
  • redhat.com: Ansible Essentials: Simplicity in Automation Technical Overview (Free Course) \ud83c\udf1f
  • opensource.com: 10 Ansible modules for Linux system automation c These handy modules save time and hassle by automating many of your daily tasks, and they\u2019re easy to implement with a few commands.
  • redhat.com: Renewing my thrill at work with Ansible
  • opensource.com: Set up an Ansible lab in 20 minutes Build an environment to support learning and experimenting with new software.
  • opensource.com: 4 lines of code to improve your Ansible play
  • redhat.com: Demystifying Ansible for Linux sysadmins \ud83c\udf1f Taking the labor out of labor-intensive tasks is what Ansible is all about. Learn the basics here.
    • redhat.com: Quick start guide to Ansible for Linux sysadmins \ud83c\udf1f
  • opensource.com: 10 ways Ansible is for everyone \ud83c\udf1f Expand your knowledge and skills with the top 10 Ansible articles plus five news summaries from 2020
  • ansible.com: Ansible Network Resource Modules: Deep Dive on Return Values
  • linkedin.com: Ansible what is it and what not
  • redhat.com: How to automate system reboots using the Ansible reboot module
  • developer.okta.com: Tutorial: Ansible and Account Automation with Okta
  • redhat.com: Got automation? Here\u2019s a quick guide to get you up to speed on Ansible \ud83c\udf1f This article gives you a quick, high-level guide on how to start with Ansible
  • opensource.com: How Ansible got started and grew
  • ansible.com: Announcing the Community Ansible 3.0.0 Package \ud83c\udf1f
  • toptechskills.com: Ansible Tutorials & Courses \ud83c\udf1f Ansible is an agentless infrastructure as code (IAC) tool that is super effective at configuring cloud and bare metal infrastructure.
    • toptechskills.com: How to Speed Up Your Ansible Playbooks Over 600% \ud83c\udf1f
  • opensource.com: 5 everyday sysadmin tasks to automate with Ansible \ud83c\udf1f Get more efficient and avoid errors by automating repeatable daily tasks with Ansible.
  • redhat.com: 8 steps to developing an Ansible role in Linux \ud83c\udf1f In this article, an existing Ansible playbook is used to deploy Vim and convert it to a role adding flexibility and reusability.
  • ansible.com: Ansible whitepaper Download this paper for a deep dive into Ansible, an open source IT configuration management, deployment, and orchestration tool.
  • redhat.com: How to use Ansible to send an email using Gmail
  • redhat.com: How to use Ansible to configure a reverse proxy \ud83c\udf1f Placing a load balancer in front of your web server infrastructure helps ensure any spike in traffic doesn\u2019t bring down the site.
  • Ansible 3.3.0 released
  • fedoramagazine.org: Using Ansible to configure Podman containers \ud83c\udf1f
  • acloudguru.com: Ansible vs Puppet: Which is right for you?
  • redhat.com: Add a repo and install a package the Ansible way How to add package repositories and install packages on many hosts by using Ansible.
  • redhat.com: Introduction to RHEL System Roles \ud83c\udf1f How to use Ansible Roles with RedHat Enterprise Linux
  • linuxtechlab.com: Ansible Tutorial: Introduction to simple Ansible commands
  • k21academy.com: Ansible for Beginners | Overview | Architecture & Use Cases \ud83c\udf1f
    • k21academy.com: Ansible for Beginners Day2 Live Session Review and Q/A \ud83c\udf1f
  • analyticsindiamag.com: Ansible vs Docker: A Detailed Comparison Of DevOps Tools
  • redhat.com: 6 steps to automating code pushes with Ansible Automation Platform \ud83c\udf1f Use a Git push to trigger an Ansible Automation Platform playbook execution in six easy steps.
  • redhat.com: 4 steps to create Linux users from a csv file with Ansible Automate Linux user account creation in four simple steps with Ansible.
  • cyberciti.biz: How to define multiple when conditions in Ansible
  • dev.to: DevOps 101 : Introduction to Ansible
  • redhat.com: How to set up and use Python virtual environments for Ansible Python\u2019s venv module gives you freedom to test new Ansible features before deploying them to production and without disturbing your system install.
  • redhat.com: Deep dive into Ansible ad hoc commands Make life easier when dealing with Ansible automation by using ad hoc commands.
  • redhat.com: How to install software packages with an Ansible playbook Learn how to install new software packages on all your managed hosts with a single Ansible playbook.
  • getbetterdevops.io: Build Docker Images Using Ansible and Packer Build Image from Ansible code and persist them on local or in AWS ECR
  • developers.redhat.com: Automate Red Hat JBoss Web Server deployments with Ansible
  • redhat.com: How to create dynamic configuration files using Ansible templates Ansible templates extend your ability to configure applications quickly and easily. This example uses a template to configure Vim.
  • redhat.com: 16 AnsibleFest presentations for sysadmins AnsibleFest offers a lot of information to help sysadmins automate better.
  • opensource.com: How I keep my file folders tidy with Ansible I try to use Ansible often, even for tasks that I know how to do with a shell script because I know that Ansible is easy to scale.
  • developers.redhat.com: Four reasons developers should use Ansible
  • opensource.com: How I keep my file folders tidy with Ansible I try to use Ansible often, even for tasks that I know how to do with a shell script because I know that Ansible is easy to scale.
  • vitux.com: How to speed-up an Ansible Playbook \ud83c\udf1f
  • youtube: Ansible Automation | How to Secure and Protect Critical Information Playbooks Using Ansible Vault
  • opensource.com: 9 ways to learn Ansible this year \ud83c\udf1f Ansible is an open source automation tool that can be used in a variety of ways. Here are a few examples of last year\u2019s most popular Ansible tutorials and stories.
  • cloud.google.com: How to deploy the Google Cloud Ops Agent with Ansible
  • cloudbees.com: Getting Started Quickly With Ansible Ad Hoc Commands
  • redhat.com: 8 ways to speed up your Ansible playbooks Here\u2019s how to optimize your Ansible playbooks to make them run faster.
  • middlewareinventory.com: Ansible List Examples \u2013 How to create and append items to List \ud83c\udf1f
  • middlewareinventory.com: Ansible Dictionary \u2013 How to create and add items to dict
  • middlewareinventory.com: How to use ansible with S3 \u2013 Ansible aws_s3 examples | Devops Junction
  • techbeatly.com: Ansible for Infrastructure Provisioning in AWS | Ansible Real Life Series - youtube
  • redhat.com: How to create dynamic inventory files in Ansible Learn how to use the host_list and Nmap plugins to build inventory files for your Ansible playbooks.
    • redhat.com: How to write a Python script to create dynamic Ansible inventories Write a script in Python that fetches hosts using Nmap to generate dynamic inventories.
    • redhat.com: How to write an Ansible plugin to create inventory files
  • dlford.io: Orchestrate Your Systems with Ansible Playbooks - How to Home Lab Part 10 \ud83c\udf1f Ansible is an administrative tool that aims to make server management easier by using declarative and idempotent configuration files.
  • learning-devops-tools-with-nandita.blogspot.com: Overview of Ansible and Ansible Playbooks
  • blog.learncodeonline.in: Everything about Ansible Variables \ud83c\udf1f
  • blog.learncodeonline.in: Managing File Operations With Ansible \ud83c\udf1f
  • developers.redhat.com: How to install VMs and Ansible Automation Platform on Mac M1
  • devopscube.com: How to Setup Ansible AWS Dynamic Inventory
  • ansible.com: Creating Custom Rules for Ansible Lint What\u2019s \u201clinting?\u201d Its objective is to promote proven behaviors, patterns, and practices while avoiding typical traps that can quickly result in errors or make code more difficult to maintain.
  • ansible.com: The Top 10 Ansible Blogs of 2022
  • tomsitcafe.com: Getting started with Ansible playbooks: more steps towards DevOps
  • tomsitcafe.com: Conditional statements \u2013 making decisions in Ansible code
  • tomsitcafe.com: How to implement and use handlers in Ansible code?
  • tomsitcafe.com: Configuration file blueprints: Jinja2 templates in the Ansible code
  • tomsitcafe.com: Handling sensitive data with Ansible Vault: encrypting strings instead of files
  • ansible.com: Kubernetes Meets Event-Driven Ansible \ud83c\udf1f
  • sayali.hashnode.dev: Day 56: Understanding Ad-hoc commands in Ansible \ud83c\udf1f
  • tomsitcafe.com: Let\u2019s use a more flexible directory structure for an Ansible project
  • tomsitcafe.com: Enhancing Ansible Automation: Exploring the Power of Ansible Semaphore, a Modern Open-Source GUI
  • tomsitcafe.com: Mastering Ansible: Navigating the Most Common Errors and Mistakes
  • tomsitcafe.com: Automating APIs with Ansible: A Comprehensive Guide
  • medium.com/@Techie1: Networking tasks in production using Ansible
  • medium.com/cloud-native-daily: Getting Started with Ansible: A Comprehensive Guide for DevOps Beginners Automate complex tasks, manage your Docker containers effortlessly, and even enhance collaboration using Ansible
  • devopsinside.com: Is Kubernetes killing tools like Ansible?
    • Kubernetes is not a replacement for ansible: Despite their overlapping functionality, it is important to note that Kubernetes is not a replacement for ansible. Both tools have their own strengths and use cases, and they can be used together to achieve different goals.
    • Kubernetes and ansible can be used together: Kubernetes and ansible can be used together to complement each other. For example, ansible can be used to automate the provisioning and configuration of Kubernetes clusters, while Kubernetes can be used to manage the deployment and scaling of applications within those clusters.
  • community.ibm.com: Red Hat Ansible Automation Platform on IBM Z and IBM LinuxONE is generally available now!
  • intellipaat.com: Ansible vs Kubernetes vs Docker
  • redhat.com/sysadmin/ansible-lists-dictionaries-yaml: How to work with lists and dictionaries in Ansible \ud83c\udf1f
  • github.com/naveensilver/Ansible My Ansible Notes (Beginner to Advanced) : Repository to learn Ansible from Zero. This repository covers the complete Ansible fundamentals along with examples required for a DevOps Engineer.
"},{"location":"ansible/#ansible-ai","title":"Ansible AI","text":"
  • ansible.ai
  • redhat.com: Red Hat Ansible Lightspeed with IBM watsonx Code Assistant Red Hat\u00ae Ansible\u00ae Lightspeed with IBM watsonx Code Assistant helps automation teams learn, create, and maintain Red Hat Ansible Automation Platform content more efficiently.
"},{"location":"ansible/#ansible-ui","title":"Ansible UI","text":"
  • Semaphore UI \ud83c\udf1f
  • thenewstack.io: How to Put a GUI on Ansible, Using Semaphore Ansible can be great for automating routine IT tasks, but some may feel stymied by the command line. Here\u2019s how to install the Semaphore graphical user interface.
"},{"location":"ansible/#deploying-custom-files-with-jinja2-templates","title":"Deploying custom files with Jinja2 templates","text":"
  • infraxpertzz.com: Deploying Custom Files with Jinja2 Template \ud83c\udf1f - video
  • jinja \ud83c\udf1f Jinja is a fast, expressive, extensible templating engine. Special placeholders in the template allow writing code similar to Python syntax. Then the template is passed data to render the final document.
"},{"location":"ansible/#writing-an-ansible-module","title":"Writing an Ansible module","text":"
  • docs.ansible.com: Developing Ansible modules
  • techforce1.nl: Creating your first Ansible module
"},{"location":"ansible/#interacting-with-rest-api","title":"Interacting with REST API","text":"
  • linuxctl.com: Ansible - Interacting with external REST API Ansible has many powerful modules. One of which is called uri which is capable of sending any kind of HTTP request. Using this module, it is fairly simple to allow ansible to intelligently talk to a REST API. This will come in handy during for automation of the sensu monitoring docker infrastructure I am currently working on.
  • steampunk.si: Let us give Ansible a REST
  • redhat.com: Using Ansible to interact with web endpoints How about an Ansible use case that you can implement today?
  • opensource.com: Using Ansible with REST APIs You may have queried APIs with a web browser or curl, but one of the overlooked capabilities of Ansible is how well it can leverage APIs as part of any playbook.
"},{"location":"ansible/#writing-an-ansible-module-for-a-rest-api","title":"Writing an Ansible module for a REST API","text":"
  • ansible.com: Automating your business application\u2019s REST API with Ansible You will learn how you can use Ansible to talk to your business application\u2019s REST API - and to develop your own Ansible modules doing just that.
  • liquidat.wordpress.com: [Howto] Writing an Ansible module for a REST API
"},{"location":"ansible/#ansible-videos","title":"Ansible Videos","text":"
  • youtube playlist: Ansible Tutorial - by Thetips4you \ud83c\udf1f
  • youtube playlist: Ansible Tutorial - by Infra Xpertzz \ud83c\udf1f
    • youtube.com: Ansible Tutorial Part 8 - Implementing Handlers and Handling Task Failures
  • youtube: Ansible for beginners - by XavkiEn - slides
    • youtube: Exercises / Monitoring : How to install node exporter \ud83c\udf1f In this tutorial, we start an exercise to install a monitoring stack. This exercise allows you to add prometheus + grafana on 1 server and node-exporter on all servers.
"},{"location":"ansible/#ansible-playbooks","title":"Ansible Playbooks","text":"
  • Ansible for DevOps Examples \ud83c\udf1f - A GitHub repository containing example Ansible playbooks and roles specifically tailored for DevOps practices. It covers various use cases, including infrastructure deployment, application configuration, and automation for common DevOps tools.

  • github.com/k3s-io/k3s-ansible \ud83c\udf1f Build a Kubernetes cluster using Ansible with k3s.

  • github.com/PyratLabs/ansible-role-k3s \ud83c\udf1f Ansible role for installing k3s as either a standalone server or HA cluster.
  • developers.redhat.com: Set up mod_cluster for Red Hat JBoss Web Server with Ansible
  • middlewareinventory.com: Ansible Playbook Examples \u2013 Sample Ansible Playbooks | Devops Junction
"},{"location":"ansible/#ansible-collections","title":"Ansible Collections","text":"
  • Ansible Collections \ud83c\udf1f
  • Amazon AWS Collection \ud83c\udf1f
  • Radware/radware-ansible: Radware Ansible Collection
  • ansible.com: Fundamentals of Network Automation with Ansible Validated Content using the network.base collection Ansible validated content is use cases-focused automation packaged as Collections. They include plugins, roles and playbooks that can be used as an automation job through RedHat Ansible Automation Platform. Here\u2019s how to use the network.base Collection.
"},{"location":"ansible/#red-hat-ansible-automation-platform","title":"Red Hat Ansible Automation Platform","text":"
  • redhat.com: Red Hat Ansible Automation Platform Enhancements and New Certified Ansible Content Collections Refine the Automation Experience to Drive Business Imperatives Ready-to-use, curated automation for a wide range of platforms, public clouds, network and security technologies help organizations more easily get started with the latest trusted automation
  • ansible.com: Red Hat Ansible Automation Platform 1.2
  • pypi.org: ansible-navigator \ud83c\udf1f A text-based user interface (TUI) for the Red Hat Ansible Automation Platform
  • ansible.com: Introducing Ansible Automation Platform 2
  • redhat.com: From the datacenter to the edge: The open hybrid cloud vision for Red Hat Ansible Automation Platform 2
  • redhat.com: Redefining the possibilities of IT automation across your ecosystem with Red Hat partners
  • crn.com: IBM\u2019s Red Hat Reveals Ansible Automation Platform 2 Early Access \u2018Automation is foundational. Not an option. Not tactical,\u2019 Massimo Ferrari, Red Hat\u2019s management strategy director, tells CRN in an interview. \u201cYou need automation, otherwise you won\u2018t be able to do many other things, whether that be DevOps, whether that be digital transformation.\u201d
  • devops.com: Red Hat Extends Scope of Ansible Automation Ambitions Red Hat announced the availability of a preview edition of Red Hat Ansible Automation Platform 2 that is intended to make it easier to automate IT processes at scale.
  • redhat.com: Red Hat Ansible Automation Platform 2 Drives Cloud-Native Automation and Helps Developers Become Automators Industry\u2019s leading IT automation platform now re-architected for deploying portable automation at massive scale across hybrid clouds and edge environments while shifting automation left into application development
  • ansible.com: What\u2019s new in Ansible Automation Platform 2: automation controller
    • ansible.com: What\u2019s new in Ansible Automation Platform 2: automation content navigator
  • venturebeat.com: Red Hat brings Ansible IT automation engine to Azure
  • redhat.com: Red Hat Brings Industry-Leading Ansible Automation Platform to Microsoft Azure Customers can more easily automate across hybrid clouds, IoT and edge deployments with Red Hat Ansible Automation Platform on Microsoft Azure
  • wraltechwire.com: Red Hat expands hybrid cloud efforts in Ansible deal with Microsoft Azure
"},{"location":"ansible/#automation-services-catalog","title":"Automation services catalog","text":"
  • ansible.com: Automation services catalog, the newest addition to the Ansible Automation Platform Provide lifecycle management, provisioning, retirement and cataloging of automation resources to your business
"},{"location":"ansible/#red-hat-certified-ansible-content-collections","title":"Red Hat Certified Ansible Content Collections","text":"
  • List of Red Hat Supported Maintained Ansible Collections \ud83c\udf1f
  • ansible.com: Automating Red Hat Satellite with Ansible
    • galaxy.ansible.com: letsencrypt This collection contains a role for issuing ssl certificates from Let\u2019s Encrypt via dns or http-challenge
  • opensource.com: 5 tips for choosing an Ansible collection that\u2019s right for you Try these strategies to find and vet collections of Ansible plugins and modules before you install them.
  • ansible.com: Announcing the Red Hat Enterprise Linux Certified Ansible Collection \ud83c\udf1f
  • youtube: Ansible Collections \ud83c\udf1f
"},{"location":"ansible/#ansible-cheat-sheets","title":"Ansible Cheat Sheets","text":"
  • Ansible Cheat Sheets
"},{"location":"ansible/#running-ansible-playbooks","title":"Running Ansible Playbooks","text":"
  • docs.ansible.com: Working With Playbooks
  • linuxtechi.com: How to Use Loops in Ansible Playbook
  • Ansible Let\u2019s Encrypt Collection
  • redhat.com: 6 troubleshooting skills for Ansible playbooks \ud83c\udf1f Here are six ways you can check for problems when running Ansible playbooks.
  • redhat.com: How to pass extra variables to an Ansible playbook Learn how to pass variables to your Ansible playbooks makes them more portable and flexible.
"},{"location":"ansible/#running-ansible-playbooks-from-jenkins","title":"Running Ansible Playbooks From Jenkins","text":"
  • Dzone: Running Ansible Playbooks From Jenkins
  • itnext.io: Ansible and Jenkins \u2014 automate your scritps \ud83c\udf1f
"},{"location":"ansible/#ansible-tower-and-ansible-awx-running-ansible-playbooks-from-ansible-tower","title":"Ansible Tower and Ansible AWX. Running Ansible Playbooks From Ansible Tower","text":"
  • Ansible Tower
  • Ansible Tower Docs
  • Ansible AWX
  • AWX Operator An Ansible AWX operator for Kubernetes built with Operator SDK and Ansible.
  • ansible.com/blog/topic/ansible-tower
  • Red Hat Ansible Tower Monitoring: Using Prometheus + Node Exporter + Grafana
  • linuxsysadmins.com: Install Ansible AWX on Kubernetes in 5 minutes
  • steampunk.si: Managing infrastructure using Ansible Tower
  • maquinasvirtuales.eu: Docker Swarm: Instalar Ansible AWX
  • techsupportpk.com: Install Ansible AWX on CentOS, RHEL 7, 8
  • medium: Ansible AWX: from scratch to REST API (part 4 of 8) Playbook to automate AWX REST API interactions
"},{"location":"ansible/#tower-and-awx-installers","title":"Tower and AWX Installers","text":"
  • galaxy.ansible.com/geerlingguy/awx \ud83c\udf1f Installs and configures AWX (Ansible Tower\u2019s open source version).
  • AWX Ansible Collection: galaxy.ansible.com/awx/awx This Ansible collection allows for easy interaction with an AWX server via Ansible playbooks.
  • vagrant: ansible tower
  • vagrant: centos-awx
  • github.com/tom-256/ansible-awx-packer ansible awx golden image based amazon linux
  • github.com/scorputty/packer-centos-awx Packer image build code for Ansible AWX (Tower) Vagrant box
  • github.com/jsmartin/ansible-tower-packer
  • artifacthub.io: Helm Charts - AWX
  • AWS Marketplace (AMIs): AWX/Tower
"},{"location":"ansible/#alternatives-to-ansible-tower","title":"Alternatives to Ansible Tower","text":"
  • Jenkins
  • Foreman
    • Ansible Modules to manage Foreman and Katello installations
    • Foreman Ansible Modules (FAM) Ansible modules for interacting with the Foreman API and various plugin APIs such as Katello.
    • RFC: Foreman Operations Ansible Collection
    • theforeman.org: Updating Foreman inventory with system facts
    • theforeman.org: Foreman 3.0 is here!
"},{"location":"ansible/#ansible-kubernetes-operators","title":"Ansible Kubernetes Operators","text":"
  • ansible.com: Fast vs Easy: Benchmarking Ansible Operators for Kubernetes
"},{"location":"ansible/#ansible-molecule-development-and-testing-of-ansible-roles","title":"Ansible Molecule. Development and Testing of Ansible Roles","text":"
  • Ansible Molecule Molecule project is designed to aid in the development and testing of Ansible roles.
  • jeffgeerling.com: Testing your Ansible roles with Molecule
  • PDF: Practical Ansible Testing with Molecule
  • opensource.com: Testing Ansible roles with Molecule Learn how to automate your verifications using Python.
  • medium.com: Test driven Development with Ansible using Molecule
  • tomsitcafe.com: How to test Ansible code with Molecule
"},{"location":"ansible/#books","title":"Books","text":"
  • ansiblefordevops.com
  • ansibleforkubernetes.com \ud83c\udf1f
  • redhat.com: The Automated Enterprise Transform your business with an automation platform that unifies your people and processes.
  • github.com/automateyournetwork/automate_your_network: Automate Your Network - John Capobianco - July 1st 2023
"},{"location":"ansible/#ansible-galaxy-roles","title":"Ansible Galaxy Roles","text":"
  • galaxy.ansible.com
  • galaxy.ansible.com/geerlingguy
  • redhat.com: A brief introduction to Ansible roles for Linux system administration \ud83c\udf1f In this part one of two articles, learn to use rhel-system-roles with your Ansible deployment to better manage functionality such as network, firewall, SELinux, and more on your Red Hat Enterprise Linux servers.
  • Ansible Role: Docker \ud83c\udf1f An Ansible Role that installs Docker on Linux. \u201cMy Docker role now supports managing the Docker daemon.json file, after years of people asking\u201d (Jeff Geerling)
"},{"location":"ansible/#more-ansible-roles","title":"More Ansible Roles","text":"
  • Tronde/ansible-role-rhel-patchmanagement Use Ansible and some custom scripts to deploy advisories and patches to RHEL servers.
"},{"location":"ansible/#ansible-scripts","title":"Ansible scripts","text":"
  • konstruktoid/ansible-hvault-inventory: Dynamic Ansible inventory using HashiCorp Vault SSH OTP and local password rotation Using HashiCorp Vault as a dynamic Ansible inventory and authentication service
"},{"location":"ansible/#ansible-with-helm","title":"Ansible with Helm","text":"
  • medium.com/opstree-technology: Understanding Ansible: Helm diff plugin \ud83c\udf1f Here in this blog, we\u2019ll discuss how we can leverage the validate & dry-run option in Ansible with Ansible: Helm diff plugin.
  • docs.ansible.com: kubernetes.core.helm module \u2013 Manages Kubernetes packages with the Helm package manager
  • docs.ansible.com: kubernetes.core.helm_plugin module \u2013 Manage Helm plugins
"},{"location":"ansible/#awesome-ansible","title":"Awesome Ansible","text":"
  • https://github.com/jdauphant/awesome-ansible
  • https://github.com/awesome-devops/awesome-ansible
"},{"location":"ansible/#ansible-and-public-cloud-guides","title":"Ansible and Public Cloud Guides","text":"
  • The Beginner\u2019s Guide to the Ansible Inventory \ud83c\udf1f - This guide explains the core concept of Ansible Inventory, detailing its role in organizing and defining automation targets. It covers both static and dynamic inventory types, their respective formats (INI and YAML), and how to configure dynamic inventories using plugins with sources like NetBox. The article also touches upon inventory filtering for precise host automation.

  • Public Cloud Guides \ud83c\udf1f

  • Ansible to automate Microsoft Azure
  • medium: AWS Configuration with Web Server in EC2 Using Ansible
"},{"location":"ansible/#ansible-kubernetes-module","title":"Ansible Kubernetes Module","text":"
  • docs.ansible.com: kubernetes.core.k8s \u2013 Manage Kubernetes (K8s) objects
  • adamtheautomator.com: How to Use the Ansible Kubernetes Module The Ansible Kubernetes module allows you to access the full range of Kubernetes APIs and create objects such as deployments, services, and so on. Learn how to use it in this step-by-step tutorial.
"},{"location":"ansible/#nginx-core-collection-for-ansibe","title":"NGINX Core Collection for Ansibe","text":"
  • galaxy.ansible.com/nginxinc/nginx_core
  • nginx.com: Announcing the NGINX Core Collection for Ansible
"},{"location":"ansible/#dynatrace-with-ansible","title":"Dynatrace with Ansible","text":"
  • dynatrace.com: Achieve faster time to value by deploying thousands of OneAgents at once with Ansible (Preview)
"},{"location":"ansible/#sql-server-with-ansible","title":"SQL Server with Ansible","text":"
  • redhat.com: Using Ansible to deploy Microsoft SQL Server 2019 on Red Hat Enterprise Linux 8
"},{"location":"ansible/#oci-oracle-cloud-infrastructure-with-ansible","title":"OCI Oracle Cloud Infrastructure with Ansible","text":"
  • oci-ansible-collection.readthedocs.io
"},{"location":"ansible/#oracle-database-with-ansible","title":"Oracle Database with Ansible","text":"
  • github.com/oravirt/ansible-oracle
  • github.com/oravirt/ansible-oracle-modules Oracle modules for Ansible
  • oravirt.wordpress.com: Getting started with ansible-oracle
  • oravirt.wordpress.com: Changes in ansible-oracle v1.2
  • github.com/abessifi/ansible-sqlplus Ansible role to install sqlplus tool to connect to an Oracle database server
  • stackoverflow.com: Ansible playbook to execute Oracle script
  • stackoverflow.com: Running Oracle SQL scripts with Ansible playbook
"},{"location":"ansible/#ansistrano-deploying-applications-with-ansible-in-capistrano-style","title":"Ansistrano. Deploying applications with Ansible in Capistrano style","text":"
  • Ansistrano
  • Capistrano A remote server automation and deployment tool written in Ruby.
"},{"location":"ansible/#anacron-and-ansible","title":"Anacron and Ansible","text":"
  • opensource.com: How I use Ansible and anacron for automation With anacron, I can drop scripts and Ansible playbooks into place for all manner of trivial tasks.
  • opensource.com: Use anacron for a better crontab Instead of manually performing repetitive tasks, let Linux do them for you.
"},{"location":"ansible/#tweets","title":"Tweets","text":"Click to expand!

How to manage Windows hosts with Ansible!A Short Thread \ud83d\udc47 pic.twitter.com/NGRqym4c91

\u2014 Rakesh Jain (@devops_tech) February 25, 2023

Ansible vs TerraformExplaining the differences and the better choice for you!A Thread \ud83d\udc47 pic.twitter.com/maKVIdHXki

\u2014 Rakesh Jain (@devops_tech) June 24, 2023

"},{"location":"ansible/#videos","title":"Videos","text":"Click to expand!"},{"location":"api/","title":"APIs with SOAP, REST and gRPC","text":"
  1. APIs
  2. From RESTful to Event-Driven APIs
  3. API Gateway vs. Load Balancer: What\u2019s The Difference?
  4. Python FastAPI
  5. Python REST APIs with flask
  6. Motivation
  7. State of the API Report
    1. Postman State of the API Report
    2. Smartbear State of the API Report
  8. Types of API Protocols. Interprocess Communication in Microservices
    1. SOAP API Protocol (Simple Object Access Protocol)
    2. REST API Protocol (Representational State Transfer)
      1. OpenAPI Specification (originally known as the Swagger Specification)
    3. RPC API Protocol (Remote Procedure Call)
      1. gRPC
    4. Asynchronous APIs
      1. WebSockets
      2. Socket.io
      3. AsyncAPI
  9. Comparisons
    1. SOAP vs REST
    2. REST vs OpenAPI vs gRPC
    3. REST vs GraphQL vs gRPC
  10. Tools
    1. API Testing
    2. GraphQL
      1. Hasura
  11. Browser APIs
  12. API Security
  13. Free Web Services (Public APIs)
  14. Open Banking
  15. RPA
  16. API Ops
  17. Related
  18. Video APIs
  19. API Business Models
  20. Videos
  21. Images
  22. Tweets
"},{"location":"api/#apis","title":"APIs","text":"
  • wikipedia: API Application Programming Interface
  • postman.com: What is an API?
  • github.com/public-apis/public-apis: Try Public APIs for free \ud83c\udf1f A collective list of free APIs. Explore popular APIs and see them work in Postman.
  • apifriends.com: What is an API?
  • axway.com: What is API Management?
  • mulesoft.com: APIs versus web services
  • Youtube Playlist: Introduction to APIs
  • Devdocs.io API Documentation \ud83c\udf1f
  • thenewstack.io: 5 Ways to Succeed with an API Gateway
  • redhat.com: An Architect\u2019s guide to APIs: SOAP, REST, GraphQL, and gRPC \ud83c\udf1f There are many strategies for data exchange. Here\u2019s a primer on four essentials.
  • amazicworld.com: Why APIs can\u2019t be missed when it comes to DevOps
  • medium: API Gateway Part 1 Understanding how API Gateway Works
    • medium: API Gateway Part 2
  • rapidapi.com: API vs Microservices [What\u2019s the Difference?]
  • snipcart.com: API vs. Microservices: A Beginners Guide to Understand Them \ud83c\udf1f
  • youtube: Local CRUD API Express App with Docker in 5 min
  • freecodecamp.org: REST API Best Practices \u2013 REST Endpoint Design Examples \ud83c\udf1f
  • dzone: API Throttling Strategies When Clients Exceed Their Limit Here\u2019s how to handle clients exceeding API rate limits, as well as a few alternate strategies to explore and implement.
  • abdulrwahab.medium.com: API Architecture \u2014 Design Best Practices for REST APIs
  • blog.bitsrc.io: API vs Microservices \u2014 Are you using 2 terms for the same concept? No, you\u2019re not, but let me explain
  • blog.devgenius.io: Principles & Best practices of REST API Design
  • troyhunt.com: Your API versioning is wrong, which is why I decided to do it 3 different wrong ways
  • infoq.com: A Standardized, Specification-Driven API Lifecycle
  • levelup.gitconnected.com: What\u2019s Wrong With Your CRUD APIs\u2014 Besides Everything? So\u2026 I heard you worship CRUDy REST interfaces.
  • dzone: Exploring the API-First Design Pattern Learn how the API-first design pattern is a carbon copy of the successful writing approach that John Vester has leveraged for several years.
  • genbeta.com: Hace 20 a\u00f1os, este correo de Jeff Bezos en Amazon cambi\u00f3 para siempre la forma en que programamos apps Un aspecto fundamental del valor de una API reside en su \u2018efecto red\u2019: siendo un conjunto de \u2018bloques de construcci\u00f3n digitales\u2019, cuanto mayor sea el n\u00famero de funcionalidades que proporcione m\u00e1s cosas valiosas permitir\u00e1 crear. El texto completo de la ya conocida como \u2018API Mandate\u2019 (\u2018Orden API\u2019) es el siguiente:
    • Todos los equipos expondr\u00e1n a partir de ahora sus datos y funcionalidad a trav\u00e9s de interfaces de servicio.
    • Los equipos deben comunicarse entre s\u00ed a trav\u00e9s de estas interfaces.
    • No se permitir\u00e1 ninguna otra forma de comunicaci\u00f3n entre procesos: nada de vinculaci\u00f3n directa, ni lecturas directas del dep\u00f3sito de datos de otro equipo, ni modelo de memoria compartida, ni ninguna clase de puertas traseras: la \u00fanica comunicaci\u00f3n permitida ser\u00e1 mediante llamadas a la interfaz de servicio a trav\u00e9s de la red.
    • No importa qu\u00e9 tecnolog\u00eda utilic\u00e9is: HTTP, Corba, Pubsub, protocolos personalizados? da igual.
    • Todas las interfaces de servicio, sin excepci\u00f3n, deber\u00e1n dise\u00f1arse desde cero para que sean externalizables. Es decir, el equipo debe planificar y dise\u00f1ar para poder exponer la interfaz a los desarrolladores en el mundo exterior. Sin excepciones.
    • Cualquiera que no haga esto ser\u00e1 despedido.
  • thenewstack.io: How to Achieve API Governance With APIs popping up everywhere, API strategy demands common design patterns, central discoverability, and putting users first.
  • jkebertz.medium.com: The Art of Writing Amazing REST APIs
  • freecodecamp.org: REST API Design Best Practices Handbook \u2013 How to Build a REST API with JavaScript, Node.js, and Express.js When you\u2019re working with APIs, there are some basic best practices you should follow. And if you really want to learn how they work, build one yourself. In this guide Jean-Marc goes over each best practice as you build a REST API w/ JS, Node, & Express.
  • infoq.com: Modern API Development and Deployment, from API Gateways to Sidecars
  • betterprogramming.pub: How To Deprecate APIs the Right Way Deprecate your old APIs with the consciousness of your users
  • dzone.com: REST vs. Messaging for Microservices \ud83c\udf1f Discover how to choose the right communication style for your microservices in this exploration of two common protocols.
  • medium.com/@ezinneanne: Best API documentation tools you need
  • freecodecamp.org: Public APIs Developers Can Use in Their Projects
  • blog.postman.com: How to choose between REST vs. GraphQL vs. gRPC vs. SOAP
  • postman.com: API versioning Learn how API versioning enables teams to make changes to their API without creating problems for consumers.
"},{"location":"api/#from-restful-to-event-driven-apis","title":"From RESTful to Event-Driven APIs","text":"
  • foojay.io: The Evolution of APIs: From RESTful to Event-Driven
"},{"location":"api/#api-gateway-vs-load-balancer-whats-the-difference","title":"API Gateway vs. Load Balancer: What\u2019s The Difference?","text":"
  • blog.hubspot.com: API Gateway vs. Load Balancer: What\u2019s The Difference? An API gateway vs. load balancer comparison can be boiled down to the fact that they both manage traffic entering your website or application but have different roles. An API gateway handles authentication and security policies, while a load balancer API distributes network traffic across multiple servers.
"},{"location":"api/#python-fastapi","title":"Python FastAPI","text":"
  • writersbyte.com: Introduction to APIs with Python FastAPI
"},{"location":"api/#python-rest-apis-with-flask","title":"Python REST APIs with flask","text":"
  • blog.devgenius.io: REST APIs with Python \ud83c\udf1f
"},{"location":"api/#motivation","title":"Motivation","text":"
  • APIs published, APIs consumed: mainstream enterprises increasingly behave like software vendors Mainstream enterprises increasingly reach out to customers with APIs, digital services. Unlike software providers though, many still have mostly on-premises infrastructure.
  • You Bet That APIs Power DevOps Tools
"},{"location":"api/#state-of-the-api-report","title":"State of the API Report","text":""},{"location":"api/#postman-state-of-the-api-report","title":"Postman State of the API Report","text":"
  • postman.com: 2019 Postman State of the API Report \ud83c\udf1f
  • blog.postman.com: You Can Now Capture Responses Using the Postman Proxy
"},{"location":"api/#smartbear-state-of-the-api-report","title":"Smartbear State of the API Report","text":"
  • smartbear.com: The State of API 2019 Report \ud83c\udf1f
"},{"location":"api/#types-of-api-protocols-interprocess-communication-in-microservices","title":"Types of API Protocols. Interprocess Communication in Microservices","text":"
  • apifriends.com: What are the different types of APIs? \ud83c\udf1f Types of API Protocols: SOAP, REST and RPC
  • vishnuch.tech: Interprocess Communication in Microservices \ud83c\udf1f Different IPC methods in microservices like REST API, gRPC, Kafka, RabbitMQ, etc\u2026 which developers should know.
"},{"location":"api/#soap-api-protocol-simple-object-access-protocol","title":"SOAP API Protocol (Simple Object Access Protocol)","text":"
  • wikipedia: SOAP
  • geeksforgeeks.org: Basics of SOAP \u2013 Simple Object Access Protocol
  • For information about the latest work on SOAP and a full list of SOAP specifications refer to the W3C Technical Reports
  • guru99.com: SOAP Web Services Tutorial: Simple Object Access Protocol. What is SOAP?
  • jitendrazaa.com: Create SOAP message using Java
  • dzone: Creating a SOAP Web Service With Spring Boot Starter Web Services In this post, we cover the concepts of SOAP and REST and show you all the code you need to use SOAP web services in a Spring Boot app.
"},{"location":"api/#rest-api-protocol-representational-state-transfer","title":"REST API Protocol (Representational State Transfer)","text":"
  • wikipedia: REST
  • geeksforgeeks.org: REST API (Introduction)
  • geeksforgeeks.org: REST API Architectural Constraints
  • mulesoft.com: What is a RESTful API?
  • Dzone refcard: Foundations of RESTful Architecture \ud83c\udf1f
  • Dzone: REST API tutorials
  • dev.to: Make your own API under 30 lines of code \ud83c\udf1f
  • dzone: REST API Versioning Strategies Today microservices are a hot trend for developing cloud-native applications. API versioning helps to iterate faster when the needed changes are identified.
  • freecodecamp.org: What is REST? Rest API Definition for Beginners
  • blog.devgenius.io: Principles & Best practices of REST API Design
  • javarevisited.blogspot.com: How to send POST Request with JSON Payload using Curl Command in Linux to Test RESTful Web Services?
  • medium.com/@shubhadeepchat: Best Practices for good REST API Design
  • blog.bytebytego.com: EP94: REST API Cheatsheet
  • freecodecamp.org: The REST API Handbook \u2013 How to Build, Test, Consume, and Document REST APIs
"},{"location":"api/#openapi-specification-originally-known-as-the-swagger-specification","title":"OpenAPI Specification (originally known as the Swagger Specification)","text":"
  • OpenAPI evolved from the Swagger project. Swagger started out as a specification for documenting RESTful APIs. Later on, tools to generate client and server code and generating of test cases were added. While the original Swagger Specification was donated to the Linux Foundation and renamed the OpenAPI, Swagger remains one of the most widely used open-source toolsets for developing OpenAPIs.
  • OpenAPI (f.k.a Swagger) has introduced a set of standardized specifications for REST APIs that, among many things, allows producers and consumers of APIs to work together in designing an API before even writing a single line of code! This design-first approach has improved the experience of API developers by giving them the opportunity to use tools like OpenAPI generator which takes an OpenAPI definition and generates scaffolding code for backenders, making the development of APIs much faster.
  • Wikipedia: OpenAPI Specification \ud83c\udf1f
  • OpenAPI FAQ. What is OpenAPI Specification (OAS)? OpenAPI Specification The OAS defines a standard, programming language-agnostic interface description for REST APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic.
"},{"location":"api/#rpc-api-protocol-remote-procedure-call","title":"RPC API Protocol (Remote Procedure Call)","text":"
  • wikipedia: RPC Remote Procedure Call
  • open-rpc.org lightweight RPC framework \ud83c\udf1f It layers an interface description on top of JSON-RPC 2.0 and ships with a few tools to help you design, document, and test your APIs.
"},{"location":"api/#grpc","title":"gRPC","text":"
  • gRPC
  • wikipedia: gRPC
  • developers.googleblog.com: Introducing gRPC, a new open source HTTP/2 RPC Framework
  • nordicapis.com: Using gRPC to Connect a Microservices Ecosystem
  • cncf.io: Think gRPC, when you are architecting modern microservices!
  • itnext.io: A minimalist guide to gRPC REST API is good but is it really the best option that we have?
  • gendocu.com: RPC API Developer Portal
  • medium.com/javarevisited: Microservices communication using gRPC Protocol
  • blog.getambassador.io: Implementing gRPC-Web with Emissary-ingress In this article, you\u2019ll learn how to implement gRPC-Web (a JavaScript implementation of gRPC for browser clients) with Emissary-ingress \u2014 an Envoy-based API gateway and Ingress controller
"},{"location":"api/#asynchronous-apis","title":"Asynchronous APIs","text":""},{"location":"api/#websockets","title":"WebSockets","text":"
  • WebSocket
  • The State of Real-Time Web in 2016
  • SPDY and WebSocket Support at Akamai
  • spring.io: YMNNALFT: Websockets Welcome to another installment of You May Not Need Another Library For That (YMNNALFT)!
  • blog.bitsrc.io: Deep Dive into WebSockets Understand the important attributes of WebSockets that every developer should know
  • betterprogramming.pub: Lambda vs. Step Functions: The Battle of Cost and Performance With the big push to use Step Functions over Lambda, you might be wondering \u201cwhich is more cost-effective\u201d? The answer might surprise you.
    • There are use cases for both, but the consensus for production development lives with a hybrid approach: performing a base set of actions synchronously, like validations and id creation and kicking off the rest of the processing asynchronously. You\u2019d then use a WebSocket to inform the user when the workflow is complete.
  • grafana.com: How to use WebSockets to visualize real-time IoT data in Grafana
"},{"location":"api/#socketio","title":"Socket.io","text":"
  • Socket.io
  • itnext.io: Differences between WebSockets and Socket.IO
"},{"location":"api/#asyncapi","title":"AsyncAPI","text":"
  • AsyncAPI Building the future of event-driven architecture. Open source tools to easily build and maintain your event-driven architecture. All powered by the AsyncAPI specification, the industry standard for defining asynchronous APIs.
  • thenewstack.io: AsyncAPI Could Be the Default API Format for Event-Driven Architectures
  • microcks.io: Simulating CloudEvents with AsyncAPI and Microcks
    • The rise of Event Driven Architecture (EDA) is a necessary evolution step towards cloud-native applications. Events are the ultimate weapon to decouple your microservices within your architecture. They are bringing great benefits like space and time decoupling, better resiliency and elasticity.
    • But events come also with challenges! One of the first you are facing when starting up as a development team - aside the technology choice - is how to describe these events structure? Another challenge that comes very quickly after being: How can we efficiently work as a team without having to wait for someone else\u2019s events?
    • We\u2019ll explore those particular two challenges and see how to simulate events using CloudEvents, AsyncAPI and Microcks.
    • AsyncAPI is an industry standard for defining asynchronous APIs. Our long-term goal is to make working with EDAs as easy as it is to work with REST APIs.
    • Microcks is an Open source Kubernetes-native tool for mocking/simulating and testing APIs. One purpose of Microcks is to turn your API contract (OpenAPI, AsyncAPI, Postman Collection) into live mocks in seconds. It means that once it has imported your AsyncAPI contract, Microcks start producing mock events on a message broker at a defined frequency. Using Microcks you can then simulate CloudEvents in seconds, without writing a single line of code. Microcks will allow the team relying on input events to start working without waiting for the team coding the event publication.
  • asyncapi.com: AsyncAPI and CloudEvents I\u2019ve been receiving the same question for a long time now: Should I use CloudEvents or AsyncAPI? \u2014 And my response has always been the same: it depends!
    • CloudEvents: a specification for describing event data in a common way. CloudEvents seeks to ease event declaration and delivery across services, platforms and beyond!
    • AsyncAPI: Create machine-readable definitions of your event-driven APIs.
"},{"location":"api/#comparisons","title":"Comparisons","text":"
  • blog.bitsrc.io: Not All Microservices Need to Be REST \u2014 3 Alternatives to the Classic
  • levelup.gitconnected.com: Truth About { SOAP vs REST vs GRPC vs GraphQL } Checklist
  • medium: REST, RPC, GraphQL\u2026 What to choose? API protocols comparison from the practical straightpoint
  • blog.logrocket.com: GraphQL vs. gRPC vs. REST: Choosing the right API
  • medium.com/dlt-labs-publication: gRPC vs. REST \u2014 Performance Test using JMeter
"},{"location":"api/#soap-vs-rest","title":"SOAP vs REST","text":"
  • geeksforgeeks.org: Difference between REST API and SOAP API
  • dzone: A Comprehensive Guide to REST vs. SOAP Learn the primary differences between REST and SOAP APIs, each one\u2019s benefits, and when it\u2019s appropriate to use the two.
  • dzone: Comparing RESTful APIs and SOAP APIs Using MuleSoft as an Example
  • reply.com: Web Services: SOAP and REST - A Simple Introduction
    • SOAP is a communications protocol while REST is a set of architectural principles for data transmission.
    • REST was designed to be a more straightforward and easy to implement alternative to heavyweight SOAP for web service access. SOAP functions well in distributed environments where REST assumes a direct point to point communication. Also, SOAP allows for services to describe themselves to clients and in some languages allows for automation. On the other hand, REST is fast as less processing is required, uses less bandwidth and is closer to technologies used in web design.
    • The choice on which to use is totally dependent on what the requirement. For example, SOAP is a better choice for applications that have complex API so as to describe the services and methods, where formal contracts are agreed for the exchange format, where a guaranteed level of security is required etc. REST will be preferred when limiting bandwidth and resources, when operations are can be stateless and the information can be cached.
  • baeldung.com: REST vs SOAP
"},{"location":"api/#rest-vs-openapi-vs-grpc","title":"REST vs OpenAPI vs gRPC","text":"
  • REST vs. gRPC: Battle of the APIs
  • Comparing OpenAPI With gRPC \ud83c\udf1f OpenAPI is a great choice due to its interoperability. On the other hand, gRPC offers a better performance. Luckily, you don\u2019t have to choose one or the other.
  • imaginarycloud.com: gRPC vs REST: Comparing APIs Architectural Styles
"},{"location":"api/#rest-vs-graphql-vs-grpc","title":"REST vs GraphQL vs gRPC","text":"
  • danhacks.com: REST vs. GraphQL vs. gRPC
"},{"location":"api/#tools","title":"Tools","text":"
  • APIDog - APIDog is a platform that allows users to manage and test APIs. It provides features for API documentation, testing, and collaboration.

  • OpenAPI Generator \ud83c\udf1f Generate clients, servers, and documentation from OpenAPI 2.0/3.x documents

  • dev.to: 7 API Tools for REST Developers and Testers
"},{"location":"api/#api-testing","title":"API Testing","text":"
  • softwaretestingportal.com: API Testing, Key Terminologies and more\u2026
  • dzone.com: 10 API Testing Tips for Beginners (SOAP and REST) Let\u2019s take a look at ten API testing tips for beginners with a focus on REST APIs and SOAP APIs.
  • blog.testproject.io: Top 10 API Testing Tools to Watch in 2020 \ud83c\udf1f
  • mockoon \ud83c\udf1f Create mock APIs in seconds. Mockoon is the easiest and quickest way to run mock API locally. No remote deployment, no account required, open source.
  • mockapy Create mock APIs from a JSON object and customize their behavior using a Python rule engine. Open source.
  • thenewstack.io: 4 Essential Tools for Protecting APIs and Web Applications
  • youtube: API Testing Part 1- API Core Concepts
  • blog.testproject.io: API Testing 101 \ud83c\udf1f
  • microcks.io \ud83c\udf1f Open source Kubernetes Native tool for API Mocking and Testing. If you are looking for a tool that helps in microservices API testing on Kubernetes it is worth taking a look at microcksio. It supports OpenAPI 3 and e.g. Kafka with Avro encoding
  • tricentis.com: Getting started with automated continuous performance testing
  • dev.to: Top 15 Automated API Testing Tools
  • opensource.com: 3 ways to test your API with Python Unit testing can be daunting, but these Python modules will make your life much easier.
"},{"location":"api/#graphql","title":"GraphQL","text":"
  • GraphQL A query language for your API
  • How is the OpenAPI Specification different from GraphQL? How are screws better than nails? Both are useful tools that solve similar problems in slightly different ways. OpenAPI Specification offers a declarative contract that defines the structure of API requests and responses as discrete operations. GraphQL prefers an interface style that is more like querying a database and is best suited to graph databases.
  • Hasura Launches Beta of GraphQL-Based Remote Joins Tool
  • thenewstack.io: Why Backend Developers Should Fall in Love with GraphQL too
  • blog.dream11engineering.com: Lessons learned from running GraphQL at scale
  • world.hey.com: Another REST vs GraphQL comparison
  • medium.datadriveninvestor.com: Everything You Wanted to Know About GraphQL (But Were Afraid to Ask) API\u2019s are Everywhere now. So, modern developers need an efficient Query Language, GraphQL. Learn everything about this query language used by Twitter, Facebook, Github, Shopify, Pinterest and thousands more.
  • betterprogramming.pub: Building GraphQL Server Using Schema-first Approach in Python Handle CRUD operations with ease
"},{"location":"api/#hasura","title":"Hasura","text":"
  • Hasura \ud83c\udf1f Instant realtime GraphQL APIs for all your data
    • Build modern apps and APIs 10x faster
    • TickInstant GraphQL & REST APIs
    • TickBuilt in authorization for secure data access
    • TickOpen source
"},{"location":"api/#browser-apis","title":"Browser APIs","text":"
  • betterprogramming.pub: 4 Awesome Browser APIs You Might Not Be Using Yet Keep them handy. They can be super useful!
"},{"location":"api/#api-security","title":"API Security","text":"
  • devops.com: Web Application Security is not API Security \ud83c\udf1f
  • biztechmagazine.com: 6 Steps to Improved API Security Application programming interfaces are critical to businesses. Tech leaders must do more to protect them.
  • portswigger.net: Introducing vAPI \u2013 an open source lab environment to learn about API security
  • thenewstack.io: Developer, Beware: The 3 API Security Risks You Can\u2019t Overlook
  • medium.com/@sajjadfazlani: How to protect your APIs and Microservices? \ud83c\udf1f The simplest answer is to enforce 1) Zero Trust and 2) Mitigate the critical security vulnerabilities by considering the OWASP top 10 recommendations.
"},{"location":"api/#free-web-services-public-apis","title":"Free Web Services (Public APIs)","text":"
  • Public APIs Directory - A curated directory of over 1000 free public REST APIs for developers to discover and integrate into their projects. It allows browsing by category, comparing alternatives, and accessing code examples.

  • free-web-services.com

  • SwaggerHub: Free Web Service
  • programmableweb.com
  • any-api.com
  • Rapid API
"},{"location":"api/#open-banking","title":"Open Banking","text":"
  • Open Banking
  • thenewstack.io: A Digital Transformation Journey in the Banking Sector
"},{"location":"api/#rpa","title":"RPA","text":"
  • thenewstack.io: True Success in Process Automation Requires Microservices
"},{"location":"api/#api-ops","title":"API Ops","text":"
  • thenewstack.io: How Platform Ops Teams Should Think About API Strategy Platform Ops Is API Ops
"},{"location":"api/#related","title":"Related","text":"
  • Cerebras AI - (Related to ai topic)

  • medium: Do I Need an API Gateway if I Use a Service Mesh? \ud83c\udf1f

  • Dzone: How to Create a REST API With Spring Boot
  • Dzone: Step-By-Step Spring Boot RESTful Web Service Complete Example
  • Creando un API REST en Java (parte 1)
  • dev.to: Rapid API Creation with AWS Amplify
  • portal.dev Build beautiful API documentation. Portal lets you create, publish, and maintain your API docs with ease.
  • openapi-comment-parser A clean and simple way to document your code for generating OpenAPI (Swagger) specs.
    • IBM creates an open source tool to simplify API documentation
"},{"location":"api/#video-apis","title":"Video APIs","text":"
  • Mux: The API to Video
    • softwareengineeringdaily.com: Kubernetes vs. Serverless with Matt Ward (podcast) \ud83c\udf1f
"},{"location":"api/#api-business-models","title":"API Business Models","text":"
  • API Business Models. 20 Models in 20 Minutes
"},{"location":"api/#videos","title":"Videos","text":"Click to expand!"},{"location":"api/#images","title":"Images","text":"Click to expand!

"},{"location":"api/#tweets","title":"Tweets","text":"Click to expand!

People complain about tooling fatigue but web dev in 2021 is 10x simpler than in 2011. You just gotta pick the right tools.Infra: @PulumiCorp Data: @PostgreSQL API: @HasuraHQ Frontend: @vercel's NextJSAnd no proprietary bullshit\u2014100% open source!

\u2014 gunar.uk (@gunar) May 21, 2021

/1 REST is the most common communication standard between computers over the internet. What is it? Why is it so popular? Let's take a look at this thread. pic.twitter.com/GBdBcC56aF

\u2014 Alex Xu (@alexxubyte) August 25, 2022

Optimize API performance with these 5 tips.Thread\ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) October 21, 2022

API Testing. What is it?Thread \ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) October 24, 2022

Authentication vs. Authorization \u2013 What's the difference?A thread \ud83e\uddf5

\u2014 RapidAPI (@Rapid_API) October 27, 2022

Let's discuss how we can handle CORS in Express.Thread \ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) October 27, 2022

HTTP headers that developers should be aware of.Thread\ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) November 10, 2022

OAuth2, features, and advantages.Thread \ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) November 12, 2022

How to increase API performance?Thread \ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) November 11, 2022

Different Architectural Styles of APIsThread \ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) November 25, 2022

What is GraphQL? When should we use it?How is GraphQL the same as REST? How are they different? Let\u2019s dive deeper.Watch here: https://t.co/AF9GfbgBWZ pic.twitter.com/EUgGe82rNu

\u2014 Bytebytego (@bytebytego) November 28, 2022

Local Storage. What is it?Thread \ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) November 28, 2022

Best Practices for Securing API KeysThread \ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) December 12, 2022

API Authentication methodsThread \ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) December 26, 2022

Here, we'll discuss the three most commonly used API authentication techniques:- HTTP Authentication- API Keys (Bearer token, JSON Web Token)- OAuth

\u2014 RapidAPI (@Rapid_API) December 26, 2022

HTTP Status codes worth knowing aboutThread \ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) December 27, 2022

What exactly is CORS, and how does it work?Thread \ud83e\uddf5

\u2014 RapidAPI (@Rapid_API) December 27, 2022

What is an API? pic.twitter.com/FBQfcGDsdh

\u2014 RapidAPI (@Rapid_API) December 28, 2022

Difference between API Authentication and API Authorization.Thread \ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) December 28, 2022

How does JSON web token (JWT) authentication work?Thread \ud83e\uddf5\ud83d\udc47\ud83c\udffb

\u2014 RapidAPI (@Rapid_API) December 29, 2022

What is the difference between an API and a Microservice?Thread \ud83e\uddf5\ud83d\udc47

\u2014 RapidAPI (@Rapid_API) December 29, 2022

API security best practices \ud83d\udc47{ 1 / 6 } pic.twitter.com/0IjjK7zhWv

\u2014 RapidAPI (@Rapid_API) December 30, 2022

What is a REST API?Thread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) January 30, 2023

10 API related terms that every developer should be aware ofThread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) February 6, 2023

What are CRUD operations?Thread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) February 6, 2023

How do Webhooks work?\ud83d\udc47 pic.twitter.com/9CQ76uhY4l

\u2014 Rapid (@Rapid_API) February 7, 2023

How to use Axios to make API requests.Thread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) February 6, 2023

Five GPT-3 based APIs for your next side project.Thread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) February 7, 2023

API Design best practicesThread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) February 9, 2023

HTTP 2xx Status Codes worth knowing aboutThread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) February 9, 2023

What's the difference between the HTTP methods PUT and PATCH? A thread \ud83d\udc47{ 1 / 5 } pic.twitter.com/lTCpIGU9l3

\u2014 Rapid (@Rapid_API) February 10, 2023

What's the difference between API and microservice?Thread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) February 14, 2023

Top location APIs that you can use in your next projectThread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) February 15, 2023

Cloud and APIs. How does it work?Thread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) February 18, 2023

8 APIs that you can use in your next side projectThread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) February 20, 2023

How does JSON web token (JWT) authentication work?Thread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) February 22, 2023

REST API development tips \ud83d\udc47{ 1 / 6 } pic.twitter.com/9L2QKReuRp

\u2014 Rapid (@Rapid_API) February 24, 2023

Benefits of API caching \ud83d\udc47\ud83e\uddf5

\u2014 Rapid (@Rapid_API) February 24, 2023

Difference between API and WebhookThread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) February 27, 2023

/1 What are the API architectural styles?The diagram below shows the common API architectural styles in one picture:1. REST2. GraphQL3. Web socket4. Webhook5. gRPC6. SOAP pic.twitter.com/ojmpp12A09

\u2014 Alex Xu (@alexxubyte) February 27, 2023

Introduction to GraphQL queries.A thread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) March 9, 2023

Let\u2019s talk about different API testing methods.Thread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) March 13, 2023

API Integration. What is it?Thread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) March 14, 2023

How to avoid API rate limits?A thread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) March 15, 2023

Difference between JSON and XML- Structure- Performance- Compatibility- Usage- Supported types- Readability- FlexibilityThread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) March 17, 2023

Let's talk about APIs- What is an API- Usage of APIs- Types of APIs- Benefits of APIsThread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) March 22, 2023

Let\u2019s learn about OAuthThread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) March 28, 2023

Different API Authentication Methods1\ufe0f\u20e3 Basic Auth2\ufe0f\u20e3 API Keys3\ufe0f\u20e3 OAuth 2.04\ufe0f\u20e3 JSON Web Tokens5\ufe0f\u20e3 Header API AuthenticationThread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) April 6, 2023

API Design Principles and Best Practices.\u276f Focus on User Experience\u276f Embrace RESTful Principles\u276f Use Consistent Naming Conventions\u276f Versioning & Backward Compatibility\u276f Error Handling and Messaging\u276f Pagination and Filtering\u276f Security and AuthenticationThread\ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) April 12, 2023

API documentation.Tools, Techniques, and Importance:Thread\ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) April 12, 2023

GraphQL APIs: concepts, advantages, and use casesThread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) April 13, 2023

HTTP HEAD method. When is it used?Thread \ud83e\uddf5\ud83d\udc47

\u2014 Rapid (@Rapid_API) April 11, 2023"},{"location":"appointment-scheduling/","title":"Appointment Scheduling Software","text":"
  • Calendly
  • youcanbook.me
  • Acuity Scheduling
  • Doodle
  • Karen
  • ScheduleOnce
  • Google Calendar appointment slots Ability to create and share appointment slots in Google Calendar natively. It\u2019s works for personal gmail accounts too. Requires a Workspace Individual Subscription.
  • timewatch.com: Outlook Resource Scheduling \u2013 View and report on Employee Outlook Calendars
  • cal.com - venturebeat.com: Open source Calendly alternative Cal.com promises greater data control
  • Google Calendar Appointment Schedule:
    • Google\u2019s New Offering isn\u2019t Free
    • support.google.com: How to set up an appointment schedule
    • wired.com: Google Calendar\u2019s \u2018Appointment Schedule\u2019 Is Good, Not Great Google has a new feature that makes it easy to find a time to meet with someone. Here\u2019s how it stacks up to Calendly.
    • gizmodo.com: Google Calendar\u2019s New Feature Can Figure Out When Your Friends Don\u2019t Have an Excuse to Flake You\u2019ll need a paid Google Workplace account to survey friends, family, and colleagues on when to get a meetup on the books with appointment scheduling.
    • arstechnica.com: New Google Calendar feature takes the back-and-forth out of scheduling Calendar can now generate a webpage of available time slots for a user to pick from. The creator of the booking page will need to be using at least the \u201cBusiness Standard\u201d version of Google Workspace. The lower-level \u201cBusiness Starter\u201d level is still paid, but it doesn\u2019t get access to these sorts of fancy new features. The feature should roll out to everyone by April 9. Once you have it, just load up the web version of Google Calendar, click on the \u201cCreate\u201d button, and pick \u201cAppointment Schedule.\u201d
"},{"location":"appointment-scheduling/#comparisons","title":"Comparisons","text":"
  • wpamelia.com: Calendly vs YouCanBook.Me
  • wpamelia.com: Calendly vs Acuity
  • wpamelia.com: Calendly vs Doodle
  • karenapp.io: Calendly vs ScheduleOnce
"},{"location":"argo/","title":"Argo Declarative GitOps for Kubernetes","text":"
  1. Introduction
  2. Argo CD
  3. Argo CD Vulnerabilities
  4. Argo CD Tools and Plugins
  5. Argo Rollouts
  6. Argo Workflows
  7. Videos
"},{"location":"argo/#introduction","title":"Introduction","text":"
  • argoproj.github.io: Argo Events - The Event-driven Workflow Automation Framework Argo Events is an event-driven workflow automation framework for Kubernetes which helps you trigger K8s objects, Argo Workflows, Serverless workloads, etc. on events from a variety of sources like webhooks, S3, schedules, messaging queues, etc.
  • Why and when do you need Argo CD? High-level explanation of in which cases Argo CD makes sense and what you should keep in mind if you want to use it.
"},{"location":"argo/#argo-cd","title":"Argo CD","text":"
  • feat(ui): Add AppSet to Application Resource Tree in Argo CD \ud83c\udf1f - This pull request introduces the ability to display the ApplicationSet resource as a parent in the Application Resource Tree within the Argo CD UI. This enhancement, now merged and part of Argo CD v3.5, allows users to see which ApplicationSet created or manages an application, providing a clearer understanding of application relationships.

  • argoproj.github.io: Argo CD - Declarative GitOps for Kubernetes

  • youtube: GitOps with Argo-CD & Kubernetes
  • openshift.com: OpenShift Authentication Integration with ArgoCD
  • thenewstack.io: Applied GitOps with ArgoCD
  • thenewstack.io: Why ArgoCD Is the Lifeline of GitOps
  • openshift.com: Getting Started with ApplicationSets \u201cApp of Apps\u201d pattern.
  • medium: Argo CD: A Tool for Kubernetes DevOps
  • itnext.io: ArgoCD: users, access, and RBAC
  • opensource.com: Automatically create multiple applications in Argo CD
  • cloud.redhat.com: How to Use ArgoCD Deployments with GitHub Tokens
  • blog.risingstack.com: Argo CD Kubernetes Tutorial
  • wecloudpro.com: Deploying Helm Charts with ArgoCD
  • thenewstack.io: GitOps on Kubernetes: Deciding Between Argo CD and Flux
  • medium.com/gumgum-tech: Streamlining your Kubernetes adoption with Helmfile / ArgoCD and GitOps
  • levelup.gitconnected.com: Getting Started With ArgoCD on your Kubernetes Cluster A step-by-step guide to set up ArgoCD on your Kubernetes cluster and synchronize your resources with your GitHub repository.
  • digitalocean.com: How to Deploy to Kubernetes using Argo CD and GitOps
  • aws.amazon.com: Cloud Native CI/CD with Tekton and ArgoCD on AWS
  • blog.argoproj.io: New sync and diff strategies in ArgoCD
  • igboie.medium.com: Kubernetes CI/CD with GitHub, GitHub Actions and Argo CD
  • medium.com/containers-101: Using GitOps, Multiple Argo Instances, and Environments with Argo CD at Scale
  • blog.argoproj.io: Best Practices for Multi-tenancy in Argo CD
  • medium.com/@ScrumPokerPro: Cloud native architecture with Kubernetes and ArgoCD
  • faun.pub: Deploying Argo CD and Sealed Secrets with Helm In this tutorial, you will go over the declarative setup of Argo CD and Sealed Secrets on a Kubernetes cluster. For deploying Argo CD and Sealed Secrets you will be using Helm Charts
  • amralaayassen.medium.com: How to create ArgoCD Applications Automatically using ApplicationSet? \u201cAutomation of GitOps\u201d
  • blog.getambassador.io: GitOps in Kubernetes with ArgoCD
  • blog.akuity.io: Unveil the Secret Ingredients of Continuous Delivery at Enterprise Scale with Argo CD Do you know that Argo CD can support thousands of apps and hundreds of clusters? in this article you will deep dive into Argo CD, bring answers and best practices on operating it at an enterprise scale
  • dev.to: Towards a Modular DevOps Stack In this article, you will learn how to modularize your infrastructure using Terraform and ArgoCD
  • datree.io: ArgoCD Best Practices In this article, you\u2019ll explore some best practices for ArgoCD:
    • Disallow providing an empty retryStrategy
    • Ensure that Workflow pods are not configured to use the default service account
    • Ensure retry on both Error and TransientError
  • devops.com: The Argo Project: Making GitOps Practical
  • piotrminkowski.com: Manage Kubernetes Cluster with Terraform and Argo CD. Create Kakfa Cluster using GitOps \ud83c\udf1f This article shows how to create and manage Kubernetes (Kind) cluster with Terraform and Argo CD, and install Kafka on it. Terraform is very useful for automating infrastructure. On the other hand, Argo CD helps us implement GitOps and continuous delivery for our applications. It seems that we can successfully combine both these tools. Let\u2019s consider how they can help us to work with Kubernetes in the GitOps style.
  • prashant-48386.medium.com: Continuous Delivery for Kubernetes With Argo CD
  • medium.com/@outlier.developer: Getting Started with ArgoCD for GitOps Kubernetes Deployments
  • medium.com/@hmquan08011996: Setup Microservices on Kubernetes \u2014 Automating Kubernetes with ArgoCD
  • datree.io: ArgoCD Best Practices You Should Know In this article, you\u2019ll explore some best practices for ArgoCD:

    • Disallow providing an empty retryStrategy
    • Ensure that Workflow pods are not configured to use the default service account
    • Ensure retry on both Error and TransientError
  • kamsjec.medium.com: ArgoCD Setup on Kubernetes/OpenShift Cluster ArgoCD is a declarative GitOps tool built to deploy applications to Kubernetes/OpenShift clusters. ArgoCD is a Kubernetes/OpenShift controller, responsible for continuously monitoring all running applications and comparing their live state to the desired state specified in the Git repository.

  • medium.com/@versentfastforward: GitOps on Kubernetes with ArgoCD This is the first post in our series about Managing Complex Kubernetes Clusters. We introduce how we used ArgoCD to enforce GitOps by preventing any alternate means of deployment to your cluster other than through a commit in your GitOps repo.
    • medium.com/@versentfastforward: One-click Bootstrap Deployment of ArgoCD This is the second post in our series about Managing Complex Kubernetes Clusters. We describe how to create a bootstrap script that automates key prerequisites: deployment of ArgoCD and pointing it at the repo and cluster that it needs to use for deployments.
    • medium.com/@versentfastforward: Structuring Your Repo for ArgoCD, Part 1 This is the third post in our series about Managing Complex Kubernetes Clusters. We address the challenge of eliminating duplication of YAML files and reduce the amount effort required to deploy Kubernetes in multiple environments, as well as the continuous deployment (CD) of containerized workloads without developing complex imperative pipelines.
  • faun.pub: Continuous Deployments of Kubernetes Applications using Argo CD GitOps & Helm Charts
  • jamalshahverdiev.medium.com: ArgoCD ApplicationSet with Applications, Image Updater and Notification controller with SSO
  • kubebyexample.com: Argo CD Overview \ud83c\udf1f
  • faun.pub: Hygiene of an ArgoCD-built automation at a scale In this article, you will find a list of best practices and tips for using ArgoCD automation at scale
  • blog.devgenius.io: Argo CD Introduction What is ArgoCD and why use it
  • dev.to: Argo CD and Sealed Secrets is a perfect match In this article, you will learn how to configure Sealed Secrets with ArgoCD
  • figments.medium.com: ArgoCD: The first step towards GitOps A core component of GitOps is enforcing the deployment of apps using Git. This means defining the app version and configuration you want in a Git repo, and using a tool like ArgoCD to sync the Git configuration to the deployment. In this article, we\u2019ll look at how we can use ArgoCD to manage automatic Git based deployments of apps.
  • medium.com/@nsfabrice2009: How to install ArgoCD on k8s cluster
  • akuity.io: How many do you need? - Argo CD Architectures Explained
  • piotrminkowski.com: Manage Multiple Kubernetes Clusters with ArgoCD \ud83c\udf1f
  • medium.com/containers-101: How to Install and Upgrade Argo CD
  • medium.com/containers-101: Argo CD Best Practices In this blog post, you\u2019ll learn some best practices tied to Argo CD that allow you to leverage GitOps easily within your deployment workflow.
  • github.com/crumbhole/argocd-lovely-plugin: argocd-lovely-plugin This plugin extends ArgoCD with:
    • Composing multiple things together to form a single app from multiple directories
    • Helm + Kustomize just work
    • You can chain several plugins together
    • When used with application sets, you can apply Kustomizations
  • gokhan-karadas1992.medium.com: ArgoCD + Kubevela Integration
  • blog.tanmaysarkar.tech: Beginners Guide to Argo CD In this guide, you will learn how to use ArgoCD by practising on a local minikube cluster
  • medium.com/devops-techable: GitOps with ArgoCD running in Kubernetes for deployment processing
  • seraf.dev: ArgoCD Tutorial \u2014 (with Terraform) Here we\u2019ll be deploying ArgoCD resources with Terraform on a local Kubernetes Cluster (KIND) for a true IaC infrastructure
  • medium.com/@eduard.mihai.lemnaru: Auto-update helm chart version using ArgoCD
  • 53jk1.medium.com: ArgoCD: The Continuous Delivery Solution for Kubernetes
  • github.com/myspotontheweb/gitops-workloads-demo This repository demonstrates how Helm based work loads can be managed by ArgoCD.
  • medium.com/@jon.mclean: ArgoCD: The GitOps Way
  • medium.com/@devopsrockers: Blue-Green Deployment on EKS using Argocd with Kubecost, Istio, External DNS, Grafana-Prometheus and More: \u201cBuild, Deploy a Resilient and Observability-Driven Application\u201d
  • medium.com/@samuelbagattin: Partial Helm values encryption using AWS KMS with ArgoCD In this blog post, you\u2019ll learn how to encrypt only specific yaml fields in values.yaml, and how to configure ArgoCD to decrypt these secrets on the fly before installing a Helm release
  • blog.devops.dev: GitOps at Scale Scale your Projects like a Fleet with Argo CD
  • medium.com/@jerome.decoster: Create temporary environment from Pull Request with ArgoCD ApplicationSet In this post, you\u2019ll learn how to create a new environment for each pull request with ArgoCD:
    • Creating a Pull Request creates a new environment
    • Each git push builds an image and updates the app
    • Closing the pull request terminates the environment
  • piotrminkowski.com: Manage Kubernetes Operators with ArgoCD
  • medium.com/@geoffrey.muselli: ArgoCD: Multi-cluster Helm charts management in mono-repo
  • itnext.io: Build a Lightweight Internal Developer Platform with Argo CD and Kubernetes Labels Don\u2019t Underestimate Labels with Kubernetes: Simplify, Don\u2019t Overcomplicate. This article demonstrates how to create a lightweight Internal Developer Platform utilizing GitOps with Argo CD and leveraging Kubernetes labels to offer a streamlined and efficient solution for managing and deploying your infrastructure
  • medium.com/otomi-platform: Helmfile and ArgoCD are better together
  • overcast.blog: GitOps with ArgoCD for Kubernetes
  • medium.com/globant: Using multiple sources for a Helm Chart deployment in ArgoCD
  • faun.pub: ArgoCD Finalizer Shield: Protecting Your Production Clusters from Unintended Deletion This article teaches how to protect your ArgoCD clusters from accidental deletion using finalizers, a simple yet powerful mechanism that ensures the integrity of your cloud-native infrastructure
  • overcast.blog: Kubernetes \u2014 ArgoCD \u2014 Gitlab Webhook Configuration
  • developers.redhat.com: Enhance Kubernetes deployment efficiency with Argo CD and ApplicationSet
  • dev.to: Extending GitOps: Effortless continuous integration and deployment on Kubernetes This article discusses using GitOps and Argo CD Image Updater for effortless continuous integration and deployment on Kubernetes
  • dev.to/devsatasurion: Deploying Applications with GitHub Actions and ArgoCD to EKS: Best Practices and Techniques
"},{"location":"argo/#argo-cd-vulnerabilities","title":"Argo CD Vulnerabilities","text":"
  • threatpost.com: Argo CD Security Bug Opens Kubernetes Cloud Apps to Attackers
  • thehackernews.com: New Argo CD Bug Could Let Hackers Steal Secret Info from Kubernetes Apps
  • armosec.io: CVE 2022-24348 \u2013 Argo CD High Severity Vulnerability and its impact on Kubernetes
  • securityaffairs.co: Argo CD flaw could allow stealing sensitive data from Kubernetes Apps Argo CD is used by hundreds of organizations, including Alibaba Group, BMW Group, Deloitte, IBM, Intuit, Red Hat, Skyscanner, and Swisscom.
  • infoworld.com: How to protect your Kubernetes infrastructure from the Argo CD vulnerability A zero-day vulnerability in Argo CD could be putting sensitive information like passwords and API keys at risk. Are you protected?
  • dnastacio.medium.com: Six critical blindspots while securing Argo CD This article shows the core strategies for securing an Argo CD deployment and keeping you ahead of potential exposures:
    • Use a dedicated project for the control plane
    • Argo resources are for Argo admins only
    • \u2026
    • Have a CVE response plan ready
"},{"location":"argo/#argo-cd-tools-and-plugins","title":"Argo CD Tools and Plugins","text":"
  • AWS EKS Argo CD Terraform Component - (Related to gitops topic)

  • argoproj-labs/argocd-autopilot: Argo-CD Autopilot The Argo-CD Autopilot is a tool which offers an opinionated way of installing Argo-CD and managing GitOps epositories. New users to GitOps and Argo CD are not often sure how they should structure their repos, add applications, promote apps across environments, and manage the Argo CD installation itself using GitOps. Argo Autopilot is a project that solves that

  • argoproj-labs/applicationset: Argo CD ApplicationSet Controller The ApplicationSet controller is a Kubernetes controller that adds support for a new custom ApplicationSet CustomResourceDefinition (CRD). The ApplicationSet controller manages multiple Argo CD Applications as a single ApplicationSet unit, supporting deployments to large numbers of clusters, deployments of large monorepos, and enabling secure Application self-service.
  • IBM/argocd-vault-plugin An ArgoCD plugin to retrieve secrets from Hashicorp Vault and inject them into Kubernetes secrets.
  • argoproj-labs/argocd-vault-plugin ArgoCD-Vault-plugin is an Argo CD plugin to retrieve secrets from various Secret Management tools (HashiCorp Vault, IBM Cloud Secrets Manager, AWS Secrets Manager, etc.) and inject them into Kubernetes resources - https://argocd-vault-plugin.readthedocs.io
  • github.com/crumbhole/argocd-vault-replacer An Argo CD plugin to replace placeholders in Kubernetes manifests with secrets stored in Hashicorp Vault. Scans the current directory recursively for any YAML files and attempts to replace strings following a pattern.
"},{"location":"argo/#argo-rollouts","title":"Argo Rollouts","text":"
  • argoproj.github.io/argo-rollouts/
  • argoproj.github.io: Argo Rollouts - Kubernetes Progressive Delivery Controller Argo Rollouts is a Kubernetes controller and set of CRDs which provide advanced deployment capabilities such as blue-green, canary, canary analysis, experimentation, and progressive delivery features to Kubernetes
  • jijujacob27.medium.com: Sharded applications on Kubernetes using Helm, ArgoCD, and Argo-Rollouts You will use Argo-Rollouts for deploying the app using the Blue/Green strategy.
  • medium.com/@ej.sta.ana: Easy Blue-Green Deployment on Openshift Container Platform using Argo Rollouts Argo Rollouts is part of the Argo project which includes the popular ArgoCD gitops tool. Argo Rollouts can help you do blue-green deployment easily on Kubernetes/OpenShift.
  • infracloud.io: Progressive Delivery with Argo Rollouts : Blue-Green Deployment In this post, you\u2019ll learn how to perform a blue-green deployment using the Argo Rollouts controller and CRD.
  • infracloud.io: Progressive Delivery with Argo Rollouts: Canary Deployment
  • medium.com/everything-full-stack: Deployment Strategies: Argo Rollouts
  • faun.pub: Kubernetes Practice \u2014 Automating Blue/Green Deployment with Argo Rollouts In this article, we will learn how to automate Blue/Green Deployment with Argo Rollouts.
  • infracloud.io: How to Setup Blue Green Deployments with DNS Routing \ud83c\udf1f This blog post will teach you how to set up blue-green deployments using Argo Rollouts with DNS routing using Azure Traffic Manager
  • codefresh.io: Progressive delivery for Kubernetes Config Maps using Argo Rollouts In this tutorial, you will learn how to use Argo Rollouts for settings/ConfigMaps using the Kustomize configmap generators. This is useful during blue/green deployments where you need a (templated) copy of the ConfigMap.
  • faun.pub: How Helm Subcharts Make the Transition to Argo Rollouts a Breeze
"},{"location":"argo/#argo-workflows","title":"Argo Workflows","text":"
  • Migrating CI/CD from Jenkins to Argo Workflows - (Related to cicd topic)

  • blog.argoproj.io: What\u2019s new in Argo Workflows v3.3

  • dev.to: The three meanings of \u201ctemplate\u201d in Argo Workflows
  • blog.argoproj.io: Practical Argo Workflows Hardening \ud83c\udf1f In this post, you\u2019ll cover:

    • High-level best practices you should know to secure your workflows
    • The various components that make up Argo, and how to secure those components
    • Dive into operating and using Argo securely
  • blog.argoproj.io: Architecting Workflows For Reliability 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 \u2014 it will kill your pods. Kubernetes expects applications built on it to be tolerant of both any disruption\u2014 so apps must be designed with that in mind.

    Dear user,\nI will kill your pod:\n\nIf I want the node for something more important.\nIf I\u2019m draining the node, or scaling down a cluster.\nIf it runs out of memory (because you got the config wrong).\nIf I overcommitted.\nHardware failure (computer catches fire).\nKernel panic.\nAbsolutely any reason I feel like.\n\nI\u2019m sorry \u2014 I am who I am.\n\nAll the best,\n\nKubernetes xx\n
  • medium.com/atlantbh: Implementing CI/CD pipeline using Argo Workflows and Argo Events \ud83c\udf1f

"},{"location":"argo/#videos","title":"Videos","text":"
  • ArgoCon North America 2026 Call for Proposals \ud83c\udf1f - The Call for Proposals (CFP) for ArgoCon North America 2026 is open, inviting submissions for presentations, panel discussions, and lightning talks focusing on the Argo Project (Argo CD, Argo Workflows, Argo Rollouts, Argo Events). Topics include software delivery, scalability, data processing, observability, and progressive delivery. Submissions are due by June 21, 2026.
Click to expand!"},{"location":"aws-architecture/","title":"AWS Architecture and Best Practices","text":"
  1. Introduction
  2. AWS Well Architected Framework
  3. AWS Architecture Blog, Official Blog, AWS Labs, AWS Quick Start
  4. AWS Case Studies
  5. AWS Best Practices and Tips. AWS Performance. Handling AWS Failures and Outages
"},{"location":"aws-architecture/#introduction","title":"Introduction","text":"
  • AWS application-architecture
  • Optimizing your AWS Infrastructure for Sustainability, Part I: Compute
  • Optimizing your AWS Infrastructure for Sustainability, Part II: Storage
  • AWS App2Container: Migrate your Applications to Containers at Scale
  • dev.to: How Well-Architected Enables Junior Engineers
  • This is My Architecture Innovative cloud architectures from AWS partners and customers. \u2018This is My Architecture\u2019 is a video series that showcases innovative architectural solutions on the AWS Cloud by customers and partners. Each episode examines the most interesting and technically creative elements of each cloud architecture.
  • Creating a Multi-Region Application with AWS Services \u2013 Part 1, Compute, Networking, and Security
  • Creating a Multi-Region Application with AWS Services \u2013 Part 2, Data and Replication
  • Let\u2019s Architect! Architecting microservices with containers Microservices structure an application as a set of independently deployable services. They speed up software development and allow architects to quickly update systems to adhere to changing business requirements. According to best practices, the different services should be loosely coupled, organized around business capabilities, independently deployable, and owned by a single team. If applied correctly, there are multiple advantages to using microservices. However, working with microservices can also bring challenges. In this edition of Let\u2019s Architect!, we explore the advantages, mental models, and challenges deriving from microservices with containers.
  • Strategies for consolidating AWS environments
  • Maintain visibility over the use of cloud architecture patterns Cloud platform and enterprise architecture teams use architecture patterns to provide guidance for different use cases. Cloud architecture patterns are typically aggregates of multiple Amazon Web Services (AWS) resources, such as Elastic Load Balancing with Amazon Elastic Compute Cloud, or Amazon Relational Database Service with Amazon ElastiCache. In a large organization, cloud platform teams often have limited governance over cloud deployments, and, therefore, lack control or visibility over the actual cloud pattern adoption in their organization.
  • Architecture patterns for consuming private APIs cross-account
  • awstip.com: Increase Security and Efficiency with a 3-Tier Cloud Architecture
  • github.com/ministryofjustice: Modernisation Platform - Architecture Decisions This is our architecture decision log, made during the design and build of the Modernisation Platform.
"},{"location":"aws-architecture/#aws-well-architected-framework","title":"AWS Well Architected Framework","text":"
  • AWS Well Architected Framework
  • aws.amazon.com/well-architected-tool: AWS Well-Architected Tool Do couple of WAR (Well-Architect Review) for public cloud. Basically it is to scan the cloud on 5-6 KPI\u2019s : Performance, Cost, Operations, Business etc..
  • infoq.com: AWS Updates the Well-Architected Framework
"},{"location":"aws-architecture/#aws-architecture-blog-official-blog-aws-labs-aws-quick-start","title":"AWS Architecture Blog, Official Blog, AWS Labs, AWS Quick Start","text":"
  • Clean Architecture on Frontend - This blog post explores the application of Clean Architecture principles to frontend development, focusing on how to structure applications for better maintainability, testability, and scalability. It discusses separating concerns and organizing code in a way that promotes independence from UI frameworks and external services.
  • AWS Organizations: The Key to Managing Your Cloud Infrastructure Effectively - (Related to aws topic)
  • AWS Well-Architected IaC Analyzer \ud83c\udf1f - A sample generative AI tool designed to evaluate Infrastructure as Code (IaC) definitions and architecture diagrams against AWS Well-Architected best practices. This repository provides a practical approach to leveraging AI for enhancing cloud architecture quality and compliance.

  • AWS Architecture Blog

  • AWS Official Blog
  • AWS Labs GitHub
  • AWS Quick Start Reference Deployments
  • InfoWorld Review \u2013 Amazon Aurora Rocks MySQL
  • AWS Cost Explorer Update \u2013 Access to EC2 Usage Data
"},{"location":"aws-architecture/#aws-case-studies","title":"AWS Case Studies","text":"
  • Thomas Publishing Case Study After moving to AWS, we were able to shut down our largest data center, eliminating hundreds of thousands of dollars in associated real estate, facility operations, and power and cooling costs.
"},{"location":"aws-architecture/#aws-best-practices-and-tips-aws-performance-handling-aws-failures-and-outages","title":"AWS Best Practices and Tips. AWS Performance. Handling AWS Failures and Outages","text":"
  • AWS Tips I Wish I\u2019d Known Before I Started (Feb 2014) A collection of random tips for Amazon Web Services (AWS) that I wish I\u2019d been told a few years ago, based on what I\u2019ve learned by building and deploying various applications on AWS.
  • DZone: A Guide to Performance Challenges with AWS EC2: Part 1
  • The Truth About Downtime in the Cloud
  • thenewstack.io: Avoid the 5 Most Common Amazon Web Services Misconfigurations in Build-Time
  • foreseeti.com: How to become and stay AWS well architected in a smart way
  • AWS Architecture Blog: Use templated answers to perform Well-Architected reviews at scale
  • medium.com/@buraktahtacioglu: AWS Well-Architected Framework \u2014 AWS Roadmap
  • cbui.dev: Every company has an \u201cold\u201d production AWS account When companies are in the startup phase, they create their root AWS account and put everything in it. Later on, it might become necessary for the company to have SOC2 certification. These certifications\u2019 audit and security requirements require a lockdown of the root AWS account. It is an expensive and painful migration from the root AWS account to a new production account. I\u2019ve seen it at Venmo and Flex. If you\u2019re starting today, I highly recommend setting up your AWS organizations and a sub-account under your root account. This will save you potentially hundreds of thousands to millions of dollars in migration costs down the line.
"},{"location":"aws-backup/","title":"AWS Backup and Migrations. Design for failure. Disaster Recovery","text":"
  1. Introduction
  2. AWS Backup Service
  3. AWS Migrations
    1. Migrating On Premise VM to AWS
"},{"location":"aws-backup/#introduction","title":"Introduction","text":"
  • Quantum Taps AWS for Cloud-Powered Disaster Recovery
  • Linkedin discussion: Need help on Backup and restore methods of EC2 using s3 services
  • Design for failure lessons learnt from the Sydney AWS outage
  • Chaos Monkey The Netflix Chaos Monkey tool allows you to proactively launch attack code against your infrastructure to cause failures and give you the chance to fix potential problems before they occur on their own.
  • Udemy - AWS: How to Architect with a Design for Failure Approach
  • How to Restore Your Instance Data from a Backup using Snapshots on AWS EC2/EBS
  • Backup and archive to AWS Storage Gateway VTL with Veeam Backup & Replication v9
  • Creating Disaster Recovery Mechanisms Using Amazon Route 53 \ud83c\udf1f
    • Disaster recovery with AWS managed services, Part 2: Multi-Region/backup and restore \ud83c\udf1f
  • dev.to: Best way to Automate AWS EBS Snapshots (without scripts)
  • Quick Restoration through Replacing the Root Volumes of Amazon EC2 instances
"},{"location":"aws-backup/#aws-backup-service","title":"AWS Backup Service","text":"
  • AWS Backup Service
  • medium: AWS Backup Service for Amazon RDS
  • Automate and centrally manage data protection for Amazon S3 with AWS Backup
  • Preview \u2013 AWS Backup Adds Support for Amazon S3
  • Disaster Recovery with AWS Managed Services, Part I: Single Region
  • AWS Backup supports cross-Region backups in four new Regions
"},{"location":"aws-backup/#aws-migrations","title":"AWS Migrations","text":"
  • New AWS Competency \u2013 AWS Migration
  • Migrate Resources Between AWS Accounts
  • Multi-Region Migration using AWS Application Migration Service I built my infrastructure in Region A, I want to now move it to Region B.
"},{"location":"aws-backup/#migrating-on-premise-vm-to-aws","title":"Migrating On Premise VM to AWS","text":"
  • youtube: Migrating On Premise VM to AWS | VM Import/Export | Create EC2 instance based on on-premises server
"},{"location":"aws-containers/","title":"AWS Containers","text":"
  1. AWS ECS
  2. Rancher on AWS
  3. Amazon ECS optimized AMI
  4. AWS EC2 Container Registry ECR (Docker)
  5. Docker for AWS
"},{"location":"aws-containers/#aws-ecs","title":"AWS ECS","text":"
  • cloudonaut.io: Scaling Container Clusters on AWS: ECS and EKS
  • medium: Creating CI/CD Pipeline for AWS ECS \u2014 Part I
  • clickittech.com: Amazon ECS vs EKS : The Best Container Orchestration Platform
  • dev.to: Sharing secrets to ECS in an AWS multi-account architecture
  • cast.ai: AWS EKS vs. ECS vs. Fargate: Where to manage your Kubernetes?
  • neal-davis.medium.com: ECS vs EC2 vs Lambda
  • faun.pub: Why We Moved From Lambda to ECS
  • Automate rollbacks for Amazon ECS rolling deployments with CloudWatch alarms
  • aws.plainenglish.io: Choosing the Right AWS Container Service: ECS vs. EKS
"},{"location":"aws-containers/#rancher-on-aws","title":"Rancher on AWS","text":"
  • aws-quickstart.github.io: Rancher on the AWS Cloud. Quick Start Reference Deployment
"},{"location":"aws-containers/#amazon-ecs-optimized-ami","title":"Amazon ECS optimized AMI","text":"
  • Amazon ECS-optimized AMI
"},{"location":"aws-containers/#aws-ec2-container-registry-ecr-docker","title":"AWS EC2 Container Registry ECR (Docker)","text":"
  • A Better Dev/Test Experience: Docker and AWS
  • Amazon EC2 Container Registry Documentation
  • Get started with Amazon EC2 Container Registry (Amazon ECR)
  • Using Docker Machine with AWS
  • Docker Datacenter on the AWS Cloud: Quick Start Reference Deployment
  • ecrcp aims to mimic cp command in Linux systems as closely as possible in its implementation. Consider ecrcp to be the cp equivalent to copy container images from docker hub to ECR.
  • aws.plainenglish.io: How to Push a Docker Image to the AWS ECR
  • awslabs/amazon-ecr-credential-helper: Amazon ECR Docker Credential Helper Automatically gets credentials for Amazon ECR on docker push/docker pull
"},{"location":"aws-containers/#docker-for-aws","title":"Docker for AWS","text":"
  • blog.couchbase.com: Getting Started with Docker for AWS and Scaling Nodes
"},{"location":"aws-data/","title":"AWS Big Data","text":"
  1. Introduction
  2. AWS Data Lake
  3. AWS Data Pipeline (aka Big Data Pipelines or Data Streams)
"},{"location":"aws-data/#introduction","title":"Introduction","text":"
  • aws.amazon.com/big-data
  • blogs.aws.amazon.com/bigdata
  • Querying Amazon Kinesis Streams Directly with SQL and Spark Streaming
  • Using Spark SQL for ETL
  • whizlabs.com: AWS Kinesis vs Kafka Apache
"},{"location":"aws-data/#aws-data-lake","title":"AWS Data Lake","text":"
  • Building a Data Lake on AWS AWS provides a highly scalable, flexible, secure, and cost-effective solution for your organization to build a Data Lake \u2013 a data repository for both structured and unstructured data that is designed to be easily accessible for on-demand data analytics enabling you to answer questions as they arise.
"},{"location":"aws-data/#aws-data-pipeline-aka-big-data-pipelines-or-data-streams","title":"AWS Data Pipeline (aka Big Data Pipelines or Data Streams)","text":"
  • AWS Data Pipeline
  • AWS Data Pipeline Documentation
  • medium: No-Code Data Collect API on AWS A No-Code Data Collections mechanism for Big Data Pipelines on AWS.
  • AWS Big Data Blog: Category - AWS Data Pipeline
"},{"location":"aws-databases/","title":"AWS RDS Databases","text":"
  1. Introduction
  2. AWS Database Migration Service DMS
  3. AWS RDS Proxy
  4. AWS Schema Conversion Tool
  5. AWS Redshift
  6. AWS Data Mesh and Batch Data Processing
  7. AWS NoSQL DynamoDB
"},{"location":"aws-databases/#introduction","title":"Introduction","text":"
  • Tutorial: Restoring a DB Instance from a DB Snapshot
  • Partitioning MySQL on RDS: \u201cHow We Partitioned Airbnb\u2019s Main Database in Two Weeks\u201d
  • Amazon RDS for SQL Server \u2013 Support for Windows Authentication
  • Why Support of PostgreSQL 9.5 by Amazon RDS is Such Great News
  • AWS Tutorials: Create and Connect to a MySQL Database with Amazon RDS
  • Working with PostgreSQL, MySQL, and MariaDB Read Replicas - Amazon Use RDS PostgreSQL cross-region Read Replicas to get data close to customers.
  • Working with an Amazon RDS DB Instance in a VPC
  • Creating a DB Instance Running the Oracle Database Engine In RDS, create Oracle Standard Edition 2 DB instances with the License Included model.
  • Oracle Database on the AWS Cloud: Quick Start Reference Deployment
  • besanttechnologies.com: AWS \u2013 Relational Database Service
  • Introducing the Aurora Storage Engine
  • sysadminxpert.com: How to Enable Slow Query Logs in AWS RDS MySQL
  • New \u2013 Create Microsoft SQL Server Instances of Amazon RDS on AWS Outposts
  • percona.com: The Benefits of Amazon RDS for MySQL
  • medium: AWS Backup Service for Amazon RDS
  • migops.com: Is Aurora PostgreSQL really faster and cheaper than RDS PostgreSQL \u2013 Benchmarking
  • dashbird.io: [Infographic] AWS RDS from a Serverless perspective
  • Auditing for highly regulated industries using Amazon Aurora PostgreSQL
  • New Amazon RDS for MySQL & PostgreSQL Multi-AZ Deployment Option: Improved Write Performance & Faster Failover
  • Amazon Aurora PostgreSQL blue/green deployment using fast database cloning
  • Securely connect to an Amazon RDS or Amazon EC2 database instance remotely with your preferred GUI
  • Modernize database stored procedures to use Amazon Aurora PostgreSQL federated queries, pg_cron, and AWS Lambda
  • Let\u2019s Architect! Architecting with Amazon DynamoDB
  • itnext.io: Manage Redis on AWS from Kubernetes
  • thenewstack.io: Diving into AWS Databases: Amazon RDS and DynamoDB Explained A look at the differences between these popular options, and between relational and nonrelational databases.
"},{"location":"aws-databases/#aws-database-migration-service-dms","title":"AWS Database Migration Service DMS","text":"
  • AWS Database Migration Service
  • Whitepaper: Migrating Your Databases to AWS
  • Replicate and transform data in Amazon Aurora PostgreSQL across multiple Regions using AWS DMS
  • Amazon RDS for PostgreSQL Enhancements: Support for new minor versions, Logical Replication, and Amazon RDS PostgreSQL as a source for AWS DMS
  • Migrating Oracle databases with near-zero downtime using AWS DMS
  • Migrating a commercial database to open source with AWS SCT and AWS DMS
  • revenuecat.com: Replicating a postgresql cluster to redshift
"},{"location":"aws-databases/#aws-rds-proxy","title":"AWS RDS Proxy","text":"
  • Amazon RDS Proxy \u2013 Now Generally Available A fully managed, highly available database proxy for Amazon Relational Database Service (RDS) that makes applications more scalable, more resilient to database failures, and more secure.
"},{"location":"aws-databases/#aws-schema-conversion-tool","title":"AWS Schema Conversion Tool","text":"
  • cloudacademy.com: Migrating Data to AWS Using the AWS Schema Conversion Tool: A Preview
  • AWS Schema Conversion Tool now supports PostgreSQL as conversion target
  • Creating an AWS Schema Conversion Tool Project Use SSL to connect to your source DB with the AWS Schema Conversion Tool.
  • AWS Schema Conversion Tool now supports conversions from Oracle DW and Teradata to Amazon Redshift, Embedded Code Conversion, and Cloud native Code Optimization
"},{"location":"aws-databases/#aws-redshift","title":"AWS Redshift","text":"
  • Tutorial: Tuning Table Design In this tutorial, you will learn how to optimize the design of your tables.
"},{"location":"aws-databases/#aws-data-mesh-and-batch-data-processing","title":"AWS Data Mesh and Batch Data Processing","text":""},{"location":"aws-databases/#aws-nosql-dynamodb","title":"AWS NoSQL DynamoDB","text":"
  • Easily model your app data in a NoSQL database with AWS Mobile Hub
"},{"location":"aws-devops/","title":"AWS DevOps. AWS CodePipeline","text":"
  1. Introduction
  2. Continuous Deployment with AWS
  3. AWS CodeDeploy
  4. Admiralty
"},{"location":"aws-devops/#introduction","title":"Introduction","text":"
  • AWS DevOps
  • AWS DevOps Blog
  • blazemeter.com: Three Ways DevOps Benefit from AWS CodePipeline
  • AWS Partner Network - CodePipeline Integrations
  • Multi-Region Infrastructure Deployment This solution automatically provisions and configures AWS CodePipeline to automate the CI/CD pipeline for CloudFormation templates
  • k21academy.com: AWS DevOps Vs. Azure DevOps
  • Amazon DevOps Guru ML-powered cloud operations service to improve application availability
    • infoq.com: AWS Launches Amazon DevOps Guru
  • aws.plainenglish.io: AWS CodePipeline for Amazon ECS In this tutorial, I would like to explain to you how to create an AWS CodePipeline for ECS with a Blue/green deployment type.
  • aws.amazon.com: Multi-branch pipeline management and infrastructure deployment using AWS CDK Pipelines
  • medium.com/@d.kumarkaran12: DevSecOps with AWS CodePipeline and ECS
  • aws.amazon.com: AWS CodePipeline adds support for Branch-based development and Monorepos
"},{"location":"aws-devops/#continuous-deployment-with-aws","title":"Continuous Deployment with AWS","text":"
  • Continuous Deployment with AWS
"},{"location":"aws-devops/#aws-codedeploy","title":"AWS CodeDeploy","text":"
  • AWS CodeDeploy: Deploying from a Development Account to a Production Account
  • Setting Up the Jenkins Plugin for AWS CodeDeploy
  • adamtheautomator.com: Getting Started with AWS CodeDeploy
"},{"location":"aws-devops/#admiralty","title":"Admiralty","text":"
  • admiralty.io The simplest way to deploy applications to multiple Kubernetes clusters.
  • thenewstack.io: Making Kubernetes Serverless and Global with AWS Fargate on EKS and Admiralty
  • admiralty.io: Multi-Region AWS Fargate on EKS
"},{"location":"aws-iac/","title":"AWS IaC","text":"
  1. AWS CloudFormation. Free Templates
  2. Infrastructure Code Template Generators
    1. Former2 to generate IaC templates
  3. Console Recorder for AWS
"},{"location":"aws-iac/#aws-cloudformation-free-templates","title":"AWS CloudFormation. Free Templates","text":"
  • AWS Cloud Formation Release History
  • All the AWS Resource Types Reference for AWS CloudFormation
  • Introducing Cloud Formation Guard - a new opensource CLI for infrastructure compliance
    • AWS CloudFormation Guard Guard offers a policy-as-code domain-specific language (DSL) to write rules and validate JSON- and YAML-formatted data such as CloudFormation Templates, K8s configurations, and Terraform JSON plans/configurations against those rules.
  • cloudonaut.io: Getting Started with Free Templates for AWS CloudFormation - Free Templates for AWS CloudFormation - templates.cloudonaut.io
  • Use Git pre-commit hooks to avoid AWS CloudFormation errors
  • Introducing a Public Registry for AWS CloudFormation
  • cloudkatha.com: How to Setup S3 Bucket CORS Configuration using CloudFormation
  • cloudkatha.com: How to Configure AWS SQS Dead Letter Queue using CloudFormation
  • cloudkatha.com: How to Create an S3 Bucket using CloudFormation
  • cloudkatha.com: How to use CloudFormation to Create SNS Topic and Subscription
  • cloudkatha.com: How to Create IAM Role using CloudFormation
  • luminousmen.com: A very quick introduction to the pain of AWS CloudFormation
  • medium.com/bb-tutorials-and-thoughts: How To Deploy and Run Python APIs on AWS App Runner With CloudFormation A step by step guide with an example project With GitHub
  • AWS CloudFormation introduces Git management of stacks
  • aws.amazon.com: Generate AWS CloudFormation templates and AWS CDK apps for existing AWS resources in minutes
  • youtube.com: AWS Cloud Complete Bootcamp Course - CloudFormation | freeCodeCamp \ud83c\udf1f
"},{"location":"aws-iac/#infrastructure-code-template-generators","title":"Infrastructure Code Template Generators","text":"
  • aws.amazon.com: Amazon EC2 announces Spot Blueprints, an infrastructure code template generator to get started with EC2 Spot Instances
"},{"location":"aws-iac/#former2-to-generate-iac-templates","title":"Former2 to generate IaC templates","text":"
  • former2.com
  • Accelerate infrastructure as code development with open source Former2
"},{"location":"aws-iac/#console-recorder-for-aws","title":"Console Recorder for AWS","text":"
  • onecloudplease.com: Console Recorder for AWS Records actions made in the AWS Management Console and outputs the equivalent CLI / SDK commands and CloudFormation / Terraform templates.
"},{"location":"aws-messaging/","title":"AWS Messaging Services","text":"
  1. AWS SNS and SQS. Amazon Simple Notification Service and Amazon Simple Queue Service
    1. SNS vs SQS
  2. AWS EventBridge
  3. Tweets
"},{"location":"aws-messaging/#aws-sns-and-sqs-amazon-simple-notification-service-and-amazon-simple-queue-service","title":"AWS SNS and SQS. Amazon Simple Notification Service and Amazon Simple Queue Service","text":"
  • dev.to: Getting started with SNS and SQS
  • Limits in Amazon SQS
  • Amazon SQS FAQs
  • The Simple Notification Service, or SNS for short, is one of the central services to build serverless architectures in the AWS cloud. SNS itself is a serverless messaging service that can distribute massive numbers of messages to different recipients. These include mobile end-user devices, like smartphones and tablets, but also other services inside the AWS ecosystem.
  • SNS\u2019 ability to target AWS services makes it the perfect companion for AWS Lambda. If you need custom logic, go for Lambda; if you need to fan out messages to multiple other services in parallel, SNS is the place to be.
  • dashbird.io: [Infographic] AWS SNS from a serverless perspective
  • enlear.academy: How To Build a Scalable Email Notification Service Using AWS Using AWS Lambda, DynamoDB, Amazon SQS, Amazon SES, and Amazon API Gateway to build a scalable email notification service.
"},{"location":"aws-messaging/#sns-vs-sqs","title":"SNS vs SQS","text":"
  • dev.to: When to SNS or SQS
"},{"location":"aws-messaging/#aws-eventbridge","title":"AWS EventBridge","text":"
  • https://aws.amazon.com/eventbridge
  • Building an event-driven application with Amazon EventBridge \u201cIn event-driven architecture, each component of the application raises an event whenever anything changes. Other components listen and decide what to do with it and how they would like to react.\u201d \u2013 by @talia_nassi
  • faun.pub: Implementing Event Driven Architecture With AWS EventBridge \u2014 Event-Driven Messaging Pattern
"},{"location":"aws-messaging/#tweets","title":"Tweets","text":"Click to expand!

A handy Decision Tree for choosing the right messaging service on AWS.As per my calculations, following it gives you a 90% chance of making the right choice.Read more in the thread \ud83e\uddf5\ud83d\udc47 pic.twitter.com/s7Q5uoENop

\u2014 Maciej Radzikowski (@radzikowski_m) April 12, 2022

AWS SNS: a fully-managed messaging service \ud83d\udce8A collection of the fundamentals to get you started \ud83d\udcda pic.twitter.com/6betCtkscC

\u2014 Tobias Schmidt (@tpschmidt_) June 16, 2022"},{"location":"aws-miscellaneous/","title":"AWS Miscellaneous","text":"
  1. AWS Application Discovery Service
  2. AWS Elastic Beanstalk
  3. AWS OpsWorks
  4. AWS Cloud Control API
  5. VMware Cloud on AWS
    1. AWS Application Discovery Service Update. Agentless Discovery for VMware
  6. AWS for Windows
  7. AWS IoT
  8. AWS Elastic Transcoder. Video streaming
  9. Amazon Alexa. Voice User Interface
  10. AWS Partner Network (APN)
  11. AWS App Mesh
  12. Local Testing
    1. Localstack
  13. AWS Service Quota Requests
  14. AWS Chaos Engineeering. AWS Fault Injection Simulator
  15. Superwerker
  16. AWS Amplify
  17. AWS App Runner
  18. Development
  19. Cloud Development Kit CDK
  20. AWS Session Manager
  21. AWS Cloud Endure
  22. ECommerce
  23. AWS Clients
  24. AWS LightSail
  25. AWS Data Lake
  26. AWS Managed Grafana
  27. AWS Landing Zone
"},{"location":"aws-miscellaneous/#aws-application-discovery-service","title":"AWS Application Discovery Service","text":"
  • AWS Application Discovery Service
"},{"location":"aws-miscellaneous/#aws-elastic-beanstalk","title":"AWS Elastic Beanstalk","text":"
  • AWS Elastic Beanstalk Documentation
  • Deploying a High-Availability PHP Application with an External Amazon RDS Database to Elastic Beanstalk
  • Creating and Deploying PHP Applications on AWS Elastic Beanstalk
  • AWS Elastic Beanstalk Supports ASP.NET Core and Multi-App .NET Support
  • AWS Elastic Beanstalk Supports Application Load Balancer
  • Configuring an Application Load Balancer
  • AWS Elastic Beanstalk Supports Nginx Proxy Server with Tomcat
"},{"location":"aws-miscellaneous/#aws-opsworks","title":"AWS OpsWorks","text":"
  • AWS OpsWorks
  • youtube: AWS OpsWorks Overview and Demo
"},{"location":"aws-miscellaneous/#aws-cloud-control-api","title":"AWS Cloud Control API","text":"
  • AWS Cloud Control API Manage AWS and third-party cloud infrastructure with consistent APIs
  • AWS Cloud Control API, a Uniform API to Access AWS & Third-Party Services
"},{"location":"aws-miscellaneous/#vmware-cloud-on-aws","title":"VMware Cloud on AWS","text":"
  • VMware Cloud on AWS The Only Way to Extend Your VMware Environment into AWS
"},{"location":"aws-miscellaneous/#aws-application-discovery-service-update-agentless-discovery-for-vmware","title":"AWS Application Discovery Service Update. Agentless Discovery for VMware","text":"
  • AWS Application Discovery Service Update \u2013 Agentless Discovery for VMware
"},{"location":"aws-miscellaneous/#aws-for-windows","title":"AWS for Windows","text":"
  • blog.rackspace.com: Patch and AMI Management for Windows on AWS step-by-step guide about patch and AMI management for Windows on AWS
"},{"location":"aws-miscellaneous/#aws-iot","title":"AWS IoT","text":"
  • aws.amazon.com/en/iot
  • What Is AWS IoT?
"},{"location":"aws-miscellaneous/#aws-elastic-transcoder-video-streaming","title":"AWS Elastic Transcoder. Video streaming","text":""},{"location":"aws-miscellaneous/#amazon-alexa-voice-user-interface","title":"Amazon Alexa. Voice User Interface","text":"
  • New Alexa Skills Kit Template: Build a Trivia Skill in under an Hour
"},{"location":"aws-miscellaneous/#aws-partner-network-apn","title":"AWS Partner Network (APN)","text":"
  • AWS Partner Network
    • APN Technology Partners
    • APN Consulting Partners
  • AWS Partner Network (APN) blog
    • Active Directory Single Sign-On (SSO) on AWS with Bitium
    • How to Deploy a High Availability Web Service on AWS Using Spotinst
"},{"location":"aws-miscellaneous/#aws-app-mesh","title":"AWS App Mesh","text":"
  • AWS App Mesh Workshop
  • amazon.com: Leveraging App Mesh with Amazon EKS in a Multi-Account environment
"},{"location":"aws-miscellaneous/#local-testing","title":"Local Testing","text":"
  • Amazon EC2 Metadata Mock
"},{"location":"aws-miscellaneous/#localstack","title":"Localstack","text":"
  • localstack.cloud Develop and test your cloud apps offline. A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline!
  • github.com/localstack/localstack
  • github.com/omenking/localstack-gitpod-template: LocalStack Gitpod Template
"},{"location":"aws-miscellaneous/#aws-service-quota-requests","title":"AWS Service Quota Requests","text":"
  • How can I troubleshoot errors using the AWS CLI to manage my service quota requests?
  • AWS API: get-service-quota
"},{"location":"aws-miscellaneous/#aws-chaos-engineeering-aws-fault-injection-simulator","title":"AWS Chaos Engineeering. AWS Fault Injection Simulator","text":"
  • techcrunch.com: AWS introduces new Chaos Engineering as a Service offering
"},{"location":"aws-miscellaneous/#superwerker","title":"Superwerker","text":"
  • superwerker Automates AWS Cloud deployments backed by decades of expertise and best practices
"},{"location":"aws-miscellaneous/#aws-amplify","title":"AWS Amplify","text":"
  • blog.logrocket.com: AWS Amplify and React Native: A tutorial
  • dev.to: 10 New AWS Amplify Features to Check Out
  • docs.amplify.aws: Set up Amplify Auth
"},{"location":"aws-miscellaneous/#aws-app-runner","title":"AWS App Runner","text":"
  • AWS App Runner \ud83c\udf1f AWS App Runner is one of the simplest ways to run your containerized web applications and APIs on AWS. App Runner abstracts away the cloud resources needed for running your web application or API, including load balancers, TLS certificates, auto-scaling, logs, metrics, tracing (such as observability), as well as the underlying compute resources. With App Runner, you can start with source code or a container image.
  • dev.to: AWS App Runner : How to deploy containerized applications using App Runner AWS App Runner is an AWS service that provides a fast, simple and cost-effective way to deploy from source code or a container image directly to a scalable and secure web application in the AWS Cloud. You don\u2019t need to learn new technologies, decide which compute service to use, or know how to provision and configure AWS resources.
  • Architecting for resiliency on AWS App Runner Using two regions in an active-active configuration
"},{"location":"aws-miscellaneous/#development","title":"Development","text":"
  • thenewstack.io: Remote Debugging in AWS: The Missing Link in Your Debugging Toolset
"},{"location":"aws-miscellaneous/#cloud-development-kit-cdk","title":"Cloud Development Kit CDK","text":"
  • CDK
  • bbvanexttechnologies.com: C\u00f3mo definir infraestructura como c\u00f3digo en AWS con CDK
  • itnext.io: AWS CDK for EKS \u2014 Handling Helm Charts
  • freecodecamp.org: AWS CDK v2 Tutorial \u2013 How to Create a Three-Tier Serverless Application
  • medium.com/contino-engineering: We\u2019ve begun to move towards the AWS CDK and here\u2019s why
  • medium.com/simform-engineering: Infrastructure as Code and CI/CD in Practice with AWS CDK
  • Announcing CDK Migrate: A single command to migrate to the AWS CDK
  • sst.dev: Moving away from CDK: CDK doesn\u2019t create the infrastructure you define On the CDK side, we write TypeScript code that defines our infrastructure. But CDK doesn\u2019t create the infrastructure you define. It generates a CloudFormation template (JSON) that CloudFormation will use to create your infrastructure.
"},{"location":"aws-miscellaneous/#aws-session-manager","title":"AWS Session Manager","text":"
  • aws.amazon.com: AWS Systems Manager announces support for port forwarding to remote hosts using Session Manager
  • faun.pub: Using AWS Session Manager For Port Forwarding To Remote Hosts
"},{"location":"aws-miscellaneous/#aws-cloud-endure","title":"AWS Cloud Endure","text":"
  • AWS Cloud Endure Migration
"},{"location":"aws-miscellaneous/#ecommerce","title":"ECommerce","text":"
  • Architecting a Highly Available Serverless, Microservices-Based Ecommerce Site
"},{"location":"aws-miscellaneous/#aws-clients","title":"AWS Clients","text":"
  • Trainline.com dumps Oracle and Microsoft, gulps AWS Kool-Aid
  • London DevOps - Trainline, A DevOps Journey - Chris Turvil
  • aws.amazon.com: Trainline Case Study
  • treblle.com: How does Treblle scale on AWS without breaking the bank?
  • aws.amazon.com: Creating a digital map of COVID-19 virus for discovery of new treatment compounds
"},{"location":"aws-miscellaneous/#aws-lightsail","title":"AWS LightSail","text":"
  • AWS LightSail Build applications and websites fast with low-cost, pre-configured cloud resources
"},{"location":"aws-miscellaneous/#aws-data-lake","title":"AWS Data Lake","text":"
  • aws.amazon.com: Optimize your modern data architecture for sustainability: Part 1 \u2013 data ingestion and data lake
"},{"location":"aws-miscellaneous/#aws-managed-grafana","title":"AWS Managed Grafana","text":"
  • dev.to: Automatic API Key rotation for Amazon Managed Grafana
"},{"location":"aws-miscellaneous/#aws-landing-zone","title":"AWS Landing Zone","text":"
  • medium.com/@mike_tyson_cloud: AWS Landing Zone: Mastering the Architecture \u2014 Best Practices and Design Secrets
"},{"location":"aws-monitoring/","title":"AWS Monitoring and Logging","text":"
  1. Introduction
  2. Metrics
  3. AWS Cloudwatch
  4. AWS Cloud Map and HealthChecks
  5. AWS Managed Services for Prometheus and Grafana
  6. AWS and Splunk
"},{"location":"aws-monitoring/#introduction","title":"Introduction","text":"
  • github: Steps I used to install Nagios in the cloud
  • github: ElectricEye is a set of Python scripts (affectionately called Auditors) that continuously monitor your AWS infrastructure looking for configurations related to confidentiality, integrity and availability that do not align with AWS best practices.
  • medium: AWS Account Security Monitoring
  • elastic.co: Elastic and AWS: Accelerating the cloud migration journey
  • How to use AWS Config and CloudTrail to find who made changes to a resource
  • kevintuei.medium.com: A Deep Dive into Logs and Metrics for AWS Observability \u2014 One Observability Workshop
"},{"location":"aws-monitoring/#metrics","title":"Metrics","text":"
  • logz.io: What are AWS EC2 Instances? A Tutorial for EC2 Metrics Shipping with Logz.io
  • logz.io: A Guide to Monitoring AWS Lambda Metrics with Prometheus & Logz.io
"},{"location":"aws-monitoring/#aws-cloudwatch","title":"AWS Cloudwatch","text":"
  • threatstack.com: 50 Best AWS CloudWatch Tutorials
  • Amazon CloudWatch now monitors Prometheus metrics from Container environments
  • Amazon CloudWatch Dashboards now supports sharing
  • How BT uses Amazon CloudWatch to monitor millions of devices
  • Extending and exploring alarm history in Amazon CloudWatch \u2013 part 2
  • dzone: Optimize AWS Costs With CloudWatch\u2019s Advanced Metrics, Dashboards, and Alerts In this article, we dive deep into leveraging advanced dashboarding with Amazon CloudWatch to efficiently manage and analyze AWS costs.
"},{"location":"aws-monitoring/#aws-cloud-map-and-healthchecks","title":"AWS Cloud Map and HealthChecks","text":"
  • Custom Health Check: HealthCheckCustomConfig Cloud Map will eventually mark the instance as unhealthy if it doesn\u2019t receive the health status in 30 seconds. Custom health checks are implemented as regular Route53 healthchecks that check S3 bucket keys (note http access instead of https).
"},{"location":"aws-monitoring/#aws-managed-services-for-prometheus-and-grafana","title":"AWS Managed Services for Prometheus and Grafana","text":"
  • Amazon Managed Service for Prometheus Highly available, secure, and managed monitoring for your containers
    • medium.com: Up and running with Amazon Managed Service for Prometheus
  • Amazon Managed Service for Grafana Powerful, interactive data visualizations for builders, operators, and business leaders
  • infoq.com: AWS Introduces Amazon Managed Service for Grafana and Amazon Managed Service for Prometheus
"},{"location":"aws-monitoring/#aws-and-splunk","title":"AWS and Splunk","text":"
  • blogs.splunk.com: AWS Agility + Splunk Visibility = Customer Success
"},{"location":"aws-networking/","title":"AWS Networking","text":"
  1. Introduction
  2. AWS Route 53
  3. AWS Elastic Load Balancing (ELB)
  4. AWS Application Load Balancer (ALB)
  5. Gateway Load Balancer (GWLB)
  6. AWS WAF
  7. NGINX
  8. AWS Latency
  9. AWS VPC
    1. AWS Client VPN
    2. Tailscale
  10. AWS CloudFront
  11. AWS API Gateway
  12. Tweets
"},{"location":"aws-networking/#introduction","title":"Introduction","text":"
  • AWS Networking for Developers
  • Elastic Network Adapter
  • AWS Cloud Networking \u2013 Zero to Hero
  • cloudonaut.io: What Architects Need to Know About Networking on AWS
  • cloudonaut.io: Advanced AWS Networking: Pitfalls That You Should Avoid
  • Resolve DNS names of Network Load Balancer nodes to limit cross-Zone traffic
  • github.com/seligman/aws-ip-ranges: AWS\u2019s ip-ranges.json AWS adds an extra 5.5M IPv4 addresses. Tracking the history and size of AWS\u2019s ip-ranges.json file. AWS provides a data file showing the current IP ranges their services use, called ip-ranges.json. This repository tracks changes to that file, and based off a trigger on the SNS topic automatically produces this chart showing how what percentage of the Internet\u2019s IPv4 address space AWS is in control of.
  • medium: Building a Global Network with AWS Transit Gateway Connecting branch and corporate offices into the AWS cloud to build a global network is necessary to provide ubiquitous accessibility for users. This solution uses AWS Transit Gateway, AWS Direct Connect, and AWS Accelerated Site-to-Site VPN to build a modern, secure, scalable, and cost-efficient WAN on top of the AWS global network.
  • aws.amazon.com: Creating active/passive BGP connections over AWS Direct Connect
  • towardsaws.com: Networking Basics in AWS
  • aws.amazon.com: Network operations with AWS Network Manager Efficiently manage and monitor your AWS network
  • Secure Connectivity from Public to Private: Introducing EC2 Instance Connect Endpoint
"},{"location":"aws-networking/#aws-route-53","title":"AWS Route 53","text":"
  • How do I transfer a domain to AWS from another registrar?
  • Configuring Route 53 for cost protection from NXDOMAIN attacks
"},{"location":"aws-networking/#aws-elastic-load-balancing-elb","title":"AWS Elastic Load Balancing (ELB)","text":"
  • AWS Summit Series 2016 | London: Deep Dive on Elastic Load Balancing
  • docs.aws.amazon.com: What Is Elastic Load Balancing?
  • ably.com: Balancing act: the current limits of AWS network load balancers
  • luis-sena.medium.com: Automated AWS Load Balancer Warm-Up Automate AWS load balancer to avoid issues with huge traffic spikes
  • dashbird.io: AWS Elastic Load Balancing from a Serverless perspective Should you switch your AWS API Gateway out for an Application Load Balancer (ALB)? A cheat sheet for all you need to know about ALB:
    • Pricing
    • Regions
    • Transformations
    • Limits
    • Permissions
    • Health
"},{"location":"aws-networking/#aws-application-load-balancer-alb","title":"AWS Application Load Balancer (ALB)","text":"
  • Application Load Balancer
  • aws blogs - New \u2013 AWS Application Load Balancer
  • medium: 10 reasons why you should think about using an AWS Application Load Balancer
  • Introducing the AWS Load Balancer Controller
  • Fine-tuning blue/green deployments on application load balancer
  • faun.pub: End To End SSL Encryption With AWS Application Load Balancer
  • aws.amazon.com/about-aws: Application Load Balancer enables configuring HTTP client keepalive duration
"},{"location":"aws-networking/#gateway-load-balancer-gwlb","title":"Gateway Load Balancer (GWLB)","text":"
  • Centralized Traffic Inspection with Gateway Load Balancer on AWS
"},{"location":"aws-networking/#aws-waf","title":"AWS WAF","text":"
  • AWS WAF enhances rate-based rules to support lower rate limits
"},{"location":"aws-networking/#nginx","title":"NGINX","text":"
  • NGINX Plus on the AWS Cloud: Quick Start Reference Deployment
"},{"location":"aws-networking/#aws-latency","title":"AWS Latency","text":"
  • Find the fastest region from your location Check AWS response time from you browser. Sharing my mini-project, it measures response time from AWS services from different regions base on your location. let me know what you think.
  • Linkedin Discussion
    1. Don\u2019t do just a single check, the first check will be a lot slower as DNS lookups will need to be done, etc.
    2. I\u2019d recommend doing at least 3 checks getting an average.
  • Run 6 checks (with a random 3-10 second delay between each one), the first can be ignored, the highest one is also ignored (as a likely outlier), then for the next 4 show the minimum, maximum and average (mean).
  • medium.com: Optimizing Latency and Bandwidth for AWS Traffic
"},{"location":"aws-networking/#aws-vpc","title":"AWS VPC","text":"
  • Azure ExpressRoute Resiliency: Best Practices for Production-Critical Workloads - This article details best practices for configuring Azure ExpressRoute to ensure high availability and resiliency for production-critical workloads. It covers topics like redundant connections, diverse routing, and failover mechanisms.

  • AWS-VPC

  • linuxjournal.com: AWS EC2 VPC CLI
  • Build a Modular and Scalable Amazon VPC Architecture with New Quick Start Build a modular virtual network architecture with Amazon VPC in 5 minutes with our new Quick Start
  • Specifying the VPC for your Amazon RDS DB Instance You can now easily change the Amazon VPC used by your Amazon RDS DB instance!
  • awsfundamentals.blogspot.com: AWS Virtual Private Cloud - VPC
  • Reduce Cost and Increase Security with Amazon VPC Endpoints
  • ealtili.medium.com: Deepdive to VPCs and Connections to VPC
  • Centralize access using VPC interface endpoints to access AWS services across multiple VPCs
  • betterprogramming.pub: AWS: Creating a VPC With an Auto-scaling Group Using T2.micro Instances Maintain a self-healing architecture
  • alanblackmore.medium.com: What is AWS VPC Peering? \ud83c\udf1f
  • awstip.com: Setting Up AWS VPC Endpoint Connection
  • towardsaws.com: How to centralize VPC endpoints in AWS
"},{"location":"aws-networking/#aws-client-vpn","title":"AWS Client VPN","text":"
  • cloudonaut.io: AWS Client VPN: Connected with the Cloud
"},{"location":"aws-networking/#tailscale","title":"Tailscale","text":"
  • tailscale.com: Connect to an AWS VPC using subnet routes
"},{"location":"aws-networking/#aws-cloudfront","title":"AWS CloudFront","text":"
  • Amazon CloudFront now supports HTTP/2
  • aws.amazon.com: Authorization@Edge using cookies: Protect your Amazon CloudFront content from being downloaded by unauthenticated users
"},{"location":"aws-networking/#aws-api-gateway","title":"AWS API Gateway","text":"
  • alexdebrie.com: A Detailed Overview of AWS API Gateway
  • towardsaws.com: Accessing a Private REST API from another Private REST API in AWS API Gateway In this post, we\u2019ll see how we can access a Private REST API From Another Private REST API In AWS API Gateway. We will create 2 EC2 Instances(EC2A and EC2B) and 2 API Gateways(APIA and APIB). EC2A will be accessing EC2B with following workflow.
  • faun.pub: Using AWS API Gateway As Proxy To Our Internal Application
  • aws.amazon.com: Architecture patterns for consuming private APIs cross-account Architecture patterns for consuming private APIs cross-account over AWS PrivateLink
"},{"location":"aws-networking/#tweets","title":"Tweets","text":"Click to expand!

\ud835\uddd4\ud835\uddfa\ud835\uddee\ud835\ude07\ud835\uddfc\ud835\uddfb \ud835\udde9irtual \ud835\udde3rivate \ud835\uddd6loud \u2601\ufe0f \ud83d\udd10Your \ud835\uddf9\ud835\uddfc\ud835\uddf4\ud835\uddf6\ud835\uddf0\ud835\uddee\ud835\uddf9\ud835\uddf9\ud835\ude06 \ud835\uddf6\ud835\ude00\ud835\uddfc\ud835\uddf9\ud835\uddee\ud835\ude01\ud835\uddf2\ud835\uddf1 \ud835\ude03\ud835\uddf6\ud835\uddff\ud835\ude01\ud835\ude02\ud835\uddee\ud835\uddf9 \ud835\uddfb\ud835\uddf2\ud835\ude01\ud835\ude04\ud835\uddfc\ud835\uddff\ud835\uddf8 in the cloud \ud83d\udee0From Security Groups, over Route Tables to VPC Peering \u2193 pic.twitter.com/OWhIWVbJwu

\u2014 Tobias Schmidt (@tpschmidt_) October 18, 2022"},{"location":"aws-newfeatures/","title":"AWS New Features","text":"
  • AWS Config Rules \u2013 Dynamic Compliance Checking for Cloud Resources
  • Amazon Inspector \u2013 Automated Security Assessment Service
  • Coming Soon \u2013 EC2 Dedicated Hosts
  • AWS Device Farm: Improve the quality of your web and mobile applications by testing across desktop browsers and real mobile devices hosted in the AWS Cloud
  • AWS Mobile Hub \u2013 Build, Test, and Monitor Mobile Applications
  • EC2 Container Service Update \u2013 Container Registry, ECS CLI, AZ-Aware Scheduling, and More
  • CloudWatch Dashboards \u2013 Create & Use Customized Metrics Views
  • AWS Lambda Update \u2013 Python, VPC, Increased Function Duration, Scheduling, and More
  • AWS IoT \u2013 Cloud Services for Connected Devices
  • Amazon EFS: Amazon Elastic File System \u2013 Shared File Storage for Amazon EC2
  • New \u2013 Encrypted EBS Boot Volumes
    • Amazon EBS Encryption
  • Now Add or Modify Request Headers Forwarded From Amazon CloudFront to Origin
  • AWS CloudFormation Adds Support for AWS WAF and AWS Directory Service for Microsoft Active Directory
  • Amazon WorkMail \u2013 Now Generally Available
  • London Calling! An AWS Region is coming to the UK!
  • New \u2013 Scheduled Reserved Instances
  • AWS CloudShell - Command-Line Access to AWS Resources
  • github.com/hayao-k/cdk-ecr-image-scan-notify
  • cloudonaut.io: Seamless EC2 monitoring with the Unified CloudWatch Agent
  • amazon.com: Reduce Unwanted Traffic on Your Website with New AWS WAF Bot Control
  • infoq.com: AWS Introduces EC2 Serial Console: Troubleshoot Boot and Networking Issues
  • infoq.com: AWS Introduces a New Workflow Studio for AWS Step Functions
  • New AWS Solutions Implementation: Tag Tamer Tag Tamer helps you apply tags to new and existing AWS resources. Using the pre-built web user interface ensures a consistent tagging implementation\u2014providing improved cost allocations, automation, access controls, and organization.
  • Introducing new self-paced courses to improve Java and Python code quality with Amazon CodeGuru
  • Automate preapproved operations with AWS Service Catalog service actions Most of my enterprise customers have the need to allow their users to execute self-service operational tasks while restricting access to a minimum set of services. With AWS Service Catalog, you can provision pre-approved products, when combined with AWS Service Catalog service actions, you can provide simple predefined actions associated with the AWS Service Catalog products that their users can execute.
  • Amazon Virtual Private Cloud (VPC) customers can now assign IP prefixes to their EC2 instances
  • Amazon RDS Proxy can now be created in a shared Virtual Private Cloud (VPC)
  • Amazon VPC CNI plugin increases pods per node limits
  • theregister.com: AWS to retire EC2-Classic \u2013 the network glue that helped start the IaaS rush You\u2019ve got a year to sort yourself out if you\u2019re still using it for some reason
  • AWS Security Hub adds 18 new controls to its Foundational Security Best Practices standard and 8 new partners for enhanced cloud security posture monitoring
  • EC2 VM Import/Export now supports migration of virtual machines with Unified Extensible Firmware Interface (UEFI) boot to AWS
  • Amazon Virtual Private Cloud (VPC) customers can now resize their prefix list
  • New for AWS CloudFormation \u2013 Quickly Retry Stack Operations from the Point of Failure
  • AWS Site-to-Site VPN releases updated Download Configuration utility With this update, Site-to-Site VPN customers can generate configuration templates for compatible Customer Gateway (CGW) devices, making it easier to create VPN connections to AWS.
  • New for AWS Distro for OpenTelemetry \u2013 Tracing Support is Now Generally Available
  • Application Load Balancer now enables AWS PrivateLink and static IP addresses by direct integration with Network Load Balancer
  • Amazon EC2 now offers Global View on the console to view all resources across regions together
  • siliconangle.com: Amazon debuts fully managed, Prometheus-based container monitoring service
  • aws.amazon.com: Amazon Managed Service for Prometheus Is Now Generally Available with Alert Manager and Ruler
  • Now \u2014 AWS Step Functions Supports 200 AWS Services To Enable Easier Workflow Automation
  • AWS Control Tower now supports nested organizational units
  • Visualize all your Kubernetes clusters in one place with Amazon EKS Connector, now generally available
  • venturebeat.com: Amazon\u2019s AWS expands free \u2018egress\u2019 data transfer limits
  • linux.slashdot.org: AWS Embraces Fedora Linux for Its Cloud-Based \u2018Amazon Linux\u2019
  • AWS announces the new Amazon Inspector for continual vulnerability management
  • techcrunch.com: AWS to launch over 30 new Local Zones internationally starting in 2022
  • venturebeat.com: 6 big Kubernetes container security launches at AWS re:Invent 2021
  • forbes.com: AWS re:Invent - A Roundup Of Container Services Announcements
  • aws.amazon.com/blogs: Top Announcements of AWS re:Invent 2021
  • infoq.com: Recap of AWS re:Invent 2021
  • infoq.com: AWS Launches Amazon Kinesis Data Streams On-Demand
  • theregister.com: The big AWS event: 120 announcements but nothing has changed Our wrap-up: Instant Glacier storage, Kubernetes at AWS, Adobe pops up despite Microsoft partnership, and more
  • aws.amazon.com: Share your Amazon CloudWatch Dashboards with anyone using AWS Single Sign-On
  • New \u2013 Amazon VPC Network Access Analyzer
  • AWS Backup Adds Support for Amazon S3
  • Migrate AWS Landing Zone solution to AWS Control Tower AWS Control Tower creates your landing zone using AWS Organizations, thereby bringing together ongoing account management and governance, as well as implementation of best practices based on our experience of working with thousands of customers as they migrate to the cloud.
  • infoq.com: Amazon RDS Introduces Readable Standby Instances in Multi-AZ Deployments
  • Announcing Amazon Elastic File System Replication Amazon EFS Replication provides you with an easy way to keep an up-to-date copy of your file system in a second AWS Region or within the same Region.
  • infoq.com: Amazon Announces Elastic File System Replication for Multi-Region Deployments
  • medium.com/@fabrizio-cafolla: Dockerize Python for AWS Lambda \u2014 Deploy with GitHub Workflow
  • Announcing the general availability of AWS Backup for Amazon S3
  • thenewstack.io: HashiCorp Adds Consul and Vault to Cloud Platform for AWS
  • Amazon EKS clusters now support user authentication with OIDC compatible identity providers
  • Amazon Managed Service for Grafana (AMG) preview updated with new capabilities
  • xataka.com: Hasta AWS se pasa al low-code: Workflow Studio es su primera herramienta de desarrollo de bajo c\u00f3digo
  • Easily Manage Security Group Rules with the New Security Group Rule ID
  • Amazon Virtual Private Cloud (VPC) customers can now assign IP prefixes to their EC2 instances
  • AWS Network Firewall \u2013 Nuevo Servicio Gestionado de Firewall para VPC
  • Amazon EC2 Auto Scaling now lets you control which instances to terminate on scale-in
  • EC2-Classic Networking is Retiring \u2013 Here\u2019s How to Prepare
  • Announcing General Availability of Amazon Redshift Cross-account Data Sharing
  • infoq.com: Amazon Introduces Cloudwatch Cross Account Alarms to Consolidate Management
  • Monitor, Evaluate, and Demonstrate Backup Compliance with AWS Backup Audit Manager
  • Amazon Managed Grafana Is Now Generally Available with Many New Features
  • AWS Lambda Now Supports Up to 10 GB Ephemeral Storage
  • Introducing Amazon CloudWatch Metrics Insights (General Availability)
  • AWS Shield Advanced now supports Application Load Balancer for automatic application layer DDoS mitigation
  • AWS Single Sign-On launches configurable synchronization for Microsoft Active Directory
  • Integration of AWS Well-Architected Tool with AWS Organizations
  • AWS Single Sign-On (AWS SSO) adds support for AWS Identity and Access Management (IAM) customer managed policies (CMPs)
  • Announcing new AWS IAM Identity Center APIs to manage users and groups at scale
  • Amazon WorkSpaces Introduces Ubuntu Desktops
  • IAM Access Analyzer now reviews your AWS CloudTrail history to identify actions used across 140 AWS services and generates fine-grained policies
  • Announcing dark mode support in the AWS Management Console
  • IAM Identity Center adds session management features for improved user experience and cloud security
  • Amazon SNS increases the default quota for subscription filter policies by 50x to 10,000 per account
  • Amazon EC2 announces new price and capacity optimized allocation strategy for provisioning Amazon EC2 Spot Instances
  • Now Open\u2013AWS Region in Spain
  • AWS Identity and Access Management now supports multiple multi-factor authentication (MFA) devices
  • Amazon NAT Gateway Now Allows You to Select Private IP Address for Network Address Translation
  • Application Load Balancers now support turning off cross zone load balancing per target group
  • Announcing delegated administrator for AWS Organizations
  • AWS Backup Audit Manager adds centralized reporting for AWS Organizations
  • Amazon CloudWatch launches cross-account observability across multiple AWS accounts
  • Announcing Amazon RDS Blue/Green Deployments for safer, simpler, and faster updates
  • Announcing AWS KMS External Key Store (XKS)
  • Heads-Up: Amazon S3 Security Changes Are Coming in April of 2023
  • Amazon EKS launches automated provisioning and lifecycle management for Windows containers
  • Amazon Timestream now enables you to protect your data through AWS Backup
  • Amazon RDS announces integration with AWS Secrets Manager
  • Amazon ECS now integrates with Amazon CloudWatch alarms to improve safety for deployments
  • AWS Cost Explorer\u2019s New Look and Common Use Cases
  • Amazon CloudWatch now supports high resolution metric extraction from structured logs Provide an optional \u201cStorageResolution\u201d parameter with a value of 1 or 60 (default) to indicate the resolution of the metric in seconds.
  • AWS SAM CLI introduces \u2018sam list\u2019 command to inspect AWS SAM resources List resources that are defined in SAM apps or deployed within a CloudFormation stack, including endpoints, methods, and stack outputs to test the deployed app
  • Amazon GuardDuty now available in AWS Europe (Spain) Region
  • New \u2013 Visualize Your VPC Resources from Amazon VPC Creation Experience
  • AWS Network Firewall now supports tag-based resource groups
  • Amazon EKS now supports Kubernetes version 1.25
  • Amazon Detective adds graph visualization for interactive security investigations
  • Announcing the ability to enable AWS Systems Manager by default across all EC2 instances in an account
  • Amazon CloudFront announces one-click security protections
  • AWS WAF enhances rate-based rules to support request headers and composite keys
  • New \u2013 AWS DMS Serverless: Automatically Provisions and Scales Capacity for Migration and Data Replication
  • Temporary elevated access management with IAM Identity Center
  • AWS Config supports recording exclusions by resource type
  • Amazon EKS introduces EKS Pod Identity
  • Amazon ECS and AWS Fargate now integrate with Amazon EBS
"},{"location":"aws-pricing/","title":"AWS Pricing and Cost Optimization","text":"
  1. Introduction
  2. AWS Calculator
  3. S3 Intelligent Tiering
"},{"location":"aws-pricing/#introduction","title":"Introduction","text":"
  • May 2020: EC2 Price Reduction \u2013 For EC2 Instance Saving Plans and Standard Reserved Instances
  • ec2.shop: Compare AWS EC2 instance price from the CLI
  • infoq.com: AWS Launches Low-Cost Burstable T4g Instances Powered by AWS Graviton2
  • freecodecamp.org: How to Optimize your AWS Cloud Architecture Costs
  • aws.amazon.com: Amazon S3 Glacier Price Reduction
  • infoq.com: AWS Announces Lower Cost Storage Classes for Amazon Elastic File System
  • thenewstack.io: 7 Tips for Cutting Down Your AWS Kubernetes Bill
  • cast.ai: Keep your AWS Kubernetes costs in check with intelligent allocation (EKS) A guide to intelligently allocating Kubernetes costs with EKS
  • thenewstack.io: Cloud Bill Risks of AWS Reserved Instances and Savings Plans
  • Visualize and gain insights into your AWS cost and usage with Cloud Intelligence Dashboards and CUDOS using Amazon QuickSight
  • blog.cloud-mercato.com: AWS m6i: The why you should abandon your m5
  • aws.amazon.com: Exploring Data Transfer Costs for AWS Managed Databases
  • cloudkatha.com: How to Setup Budget in AWS to Keep your Bill in Check
  • AWS Announces Data Transfer Price Reduction for AWS PrivateLink, AWS Transit Gateway, and AWS Client VPN services
  • topcloudops.com: Optimizing AWS RDS Cost Ways of reducing RDS cost
"},{"location":"aws-pricing/#aws-calculator","title":"AWS Calculator","text":"
  • calculator.aws: AWS Total Cost of Ownership (TCO) Calculators
  • Understanding your AWS Cost Datasets: A Cheat Sheet
  • Announcing General Availability of AWS Cost Anomaly Detection
"},{"location":"aws-pricing/#s3-intelligent-tiering","title":"S3 Intelligent Tiering","text":"
  • Manage Amazon S3 storage costs granularly and at scale using S3 Intelligent-Tiering Cost-effective data storage is critical when building and scaling data lakes that manage and hold growing datasets. By choosing the right storage architecture, customers are empowered to quickly experiment and migrate to AWS. Amazon S3 Intelligent-Tiering is a storage class that allows customers to optimize storage costs automatically when data access patterns change without performance impact or operational overhead, for all stages of data lake workflows.
"},{"location":"aws-security/","title":"AWS Security","text":"
  1. Introduction
  2. AWS Security Scanners
  3. AWS Security Reference Architecture AWS SRA
  4. Application Security
  5. Policy as Code with AWS CDK and Open Policy Agent
  6. Payment Card Industry Data Security Standard compliance
  7. AWS IAM
  8. CI/CD Security
    1. Terraform IAM Policy Validator
    2. AWS IAM Anywhere
  9. AWS Organizations
  10. AWS Control Tower
  11. AWS Firewalls
  12. AWS WAF Web Application Firewall
  13. AWS Secrets Manager
  14. AWS Vault
  15. Tweets
"},{"location":"aws-security/#introduction","title":"Introduction","text":"
  • AWS Security Blog
  • AWS Security
  • AWS Security docs
  • Tutorial: Configure Apache Web Server on Amazon Linux to use SSL/TLS
  • The Most Popular AWS Security Blog Posts in 2015
  • Amazon\u2019s customer service backdoor
  • Announcing Industry Best Practices for Securing AWS Resources
  • The Most Viewed AWS Security Blog Posts so Far in 2016
  • Oracle Database Encryption Options on Amazon RDS
  • Learn AWS Security Fundamentals with Free and Online Training
  • How to Restrict Amazon S3 Bucket Access to a Specific IAM Role
  • Updated Whitepaper Available: AWS Best Practices for DDoS Resiliency
  • AWS Security Blog: In Case You Missed These: AWS Security Blog Posts from June, July, and August 2016
  • Amazon Inspector Announces General Availability for Windows
  • encrypt and decrypt data: Importing Key Material in AWS Key Management Service (AWS KMS) Use your own encryption keys with AWS Key Management Service.
  • Amazon s2n: AWS\u2019s new Open Source implementation of the SSL/TLS network encryption protocols
  • Encrypt global data client-side with AWS KMS multi-Region keys Today, AWS Key Management Service (AWS KMS) is introducing multi-Region keys, a new capability that lets you replicate keys from one Amazon Web Services (AWS) Region into another. Multi-Region keys are designed to simplify management of client-side encryption when your encrypted data has to be copied into other Regions for disaster recovery or is replicated in Amazon DynamoDB global tables.
  • dzone: Removing the Bastion Host and Improving the Security in AWS This article covers the security in AWS and overcoming the classic SSH/RDP jump with a better alternative for all OS.
  • acloudguru.com: How to audit and secure an AWS account
  • yobyot.com: AWS multi-region KMS keys and Data Lifecycle Manager: better together
  • How to automate AWS account creation with SSO user assignment
  • Security practices in AWS multi-tenant SaaS environments Many good tips, from identity management to tenant isolation.
  • How to use AWS Security Hub and Amazon OpenSearch Service for SIEM
  • faun.pub: Handling Exposed AWS Access Key
  • github.com/aws-samples: How to set up continuous replication from your third-party secrets manager to AWS Secrets Manager
  • medium.com/@neonforge: Why You Shouldn\u2019t Use AWS managed KMS Keys
  • linkedin.com: Complexities of AWS Security Groups in the Cloud World Do you feel AWS security groups are hard to implement? Are you tired of reconfiguring IP addresses in security groups whenever workloads get restarted or redeployed?
  • awslabs/cognito-at-edge Serverless authentication solution to protect your website or Amplify application
  • github.com/aws-samples: Service Control Policy examples Example AWS Service control policies to get started or mature your usage of AWS SCPs.
  • medium.parttimepolymath.net: No more AWS Access Keys?
  • darryl-ruggles.cloud: AWS SSO Credentials With Multiple Accounts
"},{"location":"aws-security/#aws-security-scanners","title":"AWS Security Scanners","text":"
  • github.com/awslabs/sustainability-scanner: Sustainability Scanner (SusScanner) Validate AWS CloudFormation templates against AWS Well-Architected Sustainability Pillar best practices.
"},{"location":"aws-security/#aws-security-reference-architecture-aws-sra","title":"AWS Security Reference Architecture AWS SRA","text":"
  • docs.aws.amazon.com: AWS Security Reference Architecture (AWS SRA) \ud83c\udf1f
  • aws.amazon.com: Update of AWS Security Reference Architecture is now available A set of guidelines for deploying the full complement of AWS security services in a multi-account environment.
"},{"location":"aws-security/#application-security","title":"Application Security","text":"
  • How-To Secure A Linux Server - (Related to linux topic)
  • Securing Azure DevOps When Using Private Repositories - (Related to azure topic)

  • docs.aws.amazon.com: Application security Application security (AppSec) describes the overall process of how you design, build, and test the security properties of the workloads you develop. You should have appropriately trained people in your organization, understand the security properties of your build and release infrastructure, and use automation to identify security issues.

"},{"location":"aws-security/#policy-as-code-with-aws-cdk-and-open-policy-agent","title":"Policy as Code with AWS CDK and Open Policy Agent","text":"
  • Realize Policy-as-Code with AWS Cloud Development Kit through Open Policy Agent \ud83c\udf1f
"},{"location":"aws-security/#payment-card-industry-data-security-standard-compliance","title":"Payment Card Industry Data Security Standard compliance","text":"
  • PCI DSS Standardized Architecture on the AWS Cloud: Quick Start Reference Deployment
"},{"location":"aws-security/#aws-iam","title":"AWS IAM","text":""},{"location":"aws-security/#cicd-security","title":"CI/CD Security","text":"
  • Deploying to Azure: Secure Your GitHub Workflow with OIDC - (Related to cicd topic)
  • Avoiding Mistakes with AWS OIDC Integration Conditions \ud83c\udf1f - This blog post discusses common security misconfigurations when integrating third-party SaaS solutions with AWS accounts using OpenID Connect (OIDC). It highlights the importance of specific conditions in AWS IAM trust policies, particularly the \u2018sub\u2019 condition, to prevent unauthorized access. The article uses GitHub Actions as a concrete example, explaining how a missing \u2018sub\u2019 condition could allow any GitHub user to assume an IAM role, and provides an example of a correctly configured trust policy.

  • AWS Identity and Access Management - Getting Started

  • AWS Identity and Access Management (IAM) best practices in 2016
  • How to Record and Govern Your IAM Resource Configurations Using AWS Config
  • How to Use SAML to Automatically Direct Federated Users to a Specific AWS Management Console Page
  • New IAMCTL tool compares multiple IAM roles and policies
  • Bring your own CLI to Session Manager with configurable shell profiles
  • keepler.io: Gestionando el control de accesos en nuestro data lake en AWS
  • aws.amazon.com: IAM Access Analyzer now supports over 100 policy checks with actionable recommendations to help you author secure and functional policies
  • aws.amazon.com: IAM Access Analyzer Update \u2013 Policy Validation
  • netflixtechblog.com: ConsoleMe: A Central Control Plane for AWS Permissions and Access - github.com/Netflix/consoleme
  • cloudkatha.com: Difference between Root User and IAM User in AWS You Need to Know
  • ben11kehoe.medium.com: AWS Authentication: Principals (users and roles) in AWS IAM this article uses the boto3, the AWS Python SDK, as an example, but other SDKs have analogous features.
  • infoq.com: Incorrect IAM Policy Raised Questions About AWS Access to S3 Data
  • iann0036/iamlive Generate an IAM policy from AWS calls using client-side monitoring (CSM) or embedded proxy
  • awsiam.info: AWS IAM Search
  • daan.fyi: AWS IAM Demystified
  • willdady/cdk-iam-credentials-rotator: IAM Credentials Rotator AWS CDK construct for rotating IAM user credentials and sending to a third party.
  • Organizing Your AWS Environment Using Multiple Accounts (white paper for best practices) Reasons you should be using multiple accounts in AWS:
    • You can constrain access to sensitive data
    • You\u2019ll promote innovation & agility
    • You can more easily manage costs
  • aws.amazon.com: When and where to use IAM permissions boundaries A permissions boundary is an IAM feature that helps your centralized cloud IAM teams to safely empower your application developers to create new IAM roles and policies in Amazon Web Services (AWS).
  • Extend AWS IAM roles to workloads outside of AWS with IAM Roles Anywhere \ud83c\udf1f A secure way for on-premises servers, containers, or apps to obtain temporary AWS credentials and remove the need for creating and managing long-term AWS credentials
  • binx.io: Working with AWS Permission Policies \ud83c\udf1f
  • Use IAM Access Analyzer policy generation to grant fine-grained permissions for your AWS CloudFormation service roles
  • ermetic.com: Diving Deeply into IAM Policy Evaluation \u2013 Highlights from AWS re:Inforce IAM433
  • globaldatanet.com: .AWS IAM Identity Center Permission Management at Scale Part 2
  • How to monitor and query IAM resources at scale \u2013 Part 1 Useful details on how AWS IAM works so that you can use it more effectively.
  • github.com/aws-samples: Visualize AWS IAM Access Analyzer Policy Validation Findings
  • thenewstack.io: A Deep Dive into the Security of IAM in AWS How do you tighten up identity access management when you\u2019re using Amazon\u2019s cloud? Here are some best practices and useful tools for keeping everything safe.
"},{"location":"aws-security/#terraform-iam-policy-validator","title":"Terraform IAM Policy Validator","text":"
  • awslabs/terraform-iam-policy-validator A command line tool that validates AWS IAM Policies in a Terraform template against AWS IAM best practices.
"},{"location":"aws-security/#aws-iam-anywhere","title":"AWS IAM Anywhere","text":"
  • jimmydqv.com: AWS IAM Anywhere \ud83c\udf1f
    • Most of us that have worked with cloud long enough has encountered hybrid cloud solutions in one way or another. I often see clients with some parts, or applications, running on-premises that need to call AWS services. I\u2019m working with an client with an application running on-premises. The application gather data from different sources, and then upload the data files to an Amazon S3 Bucket. The data is imported and analyzed in the cloud. Up till now I needed to create an IAM User and generate long lived credentials that the on-premises part could use. That is until the recent release of IAM Anywhere.
    • IAM Anywhere rely on Public key Infrastructure (PKI) and exchange x.509 certificates for temporary AWS IAM credentials. You establish a trust between you AWS account and a Certificate Authority (CA), a trust anchor. Certificates issued by that CA can then be used to get credentials. Fields, like the Common Name (CN), in the certificate can be used as conditions in policies to limit what IAM Roles that can be assumed.
"},{"location":"aws-security/#aws-organizations","title":"AWS Organizations","text":"
  • Simplifying permissions management at scale using tags in AWS Organizations
  • Standardize compliance in AWS using DevOps and a Cloud Center of Excellence (CCOE) approach
  • blog.wut.dev: Moving AWS Accounts and OUs Within An Organization - Not So Simple!
"},{"location":"aws-security/#aws-control-tower","title":"AWS Control Tower","text":"
  • AWS Control Tower The easiest way to set up and govern a secure multi-account AWS environment
  • aws.amazon.com: New \u2013 AWS Control Tower Account Factory for Terraform
  • hashicorp.com: HashiCorp Teams with AWS on New Control Tower Account Factory for Terraform AWS Control Tower Account Factory for HashiCorp Terraform (AFT), the evolution of Terraform Landing Zones, offers an easy way to set up and govern a secure, multi-account AWS environment.
  • aws.amazon.com: Automate AWS Control Tower landing zone operations using APIs
"},{"location":"aws-security/#aws-firewalls","title":"AWS Firewalls","text":"
  • doit-intl.com: AWS Firewalls 101: How and when to use each one
  • Automatically block suspicious traffic with AWS Network Firewall and Amazon GuardDuty
"},{"location":"aws-security/#aws-waf-web-application-firewall","title":"AWS WAF Web Application Firewall","text":"
  • AWS WAF - Web Application Firewall
  • How to Automatically Update Your Security Groups for Amazon CloudFront and AWS WAF by Using AWS Lambda (boto3 python)
  • How to Use AWS WAF to Block IP Addresses That Generate Bad Requests
  • How to Reduce Security Threats and Operating Costs Using AWS WAF and Amazon CloudFront
  • AWS WAF sample rules
  • medium: Blocking bots using AWS WAF
  • medium: Protecting your Web Application or APIs using AWS WAF
  • faun.pub: Set up global rate limiting with AWS WAF in 5 minutes
  • dev.to: AWS WAF (Web Application Firewall): Deep Dive
"},{"location":"aws-security/#aws-secrets-manager","title":"AWS Secrets Manager","text":"
  • Automated Let\u2019s Encrypt Certificates in Azure Key Vault with ACME Bot - (Related to azure topic)

  • How to replicate secrets in AWS Secrets Manager to multiple Regions

  • AWS Secrets Manager controller POC: an EKS operator for automatic rotation of secrets
  • k21academy.com: AWS Secrets Manager
  • blog.devops.dev: Debugging Kubernetes Secrets, Why My Pod Wouldn\u2019t Start
"},{"location":"aws-security/#aws-vault","title":"AWS Vault","text":"
  • AWS Vault is a tool to securely store and access AWS credentials in a development environment.
"},{"location":"aws-security/#tweets","title":"Tweets","text":"Click to expand!

Do you secure your @awscloud access?11 secrets hackers don't want you to know \ud83d\udcc8. Number 7 will blow your mind \ud83e\udd2fA thread \ud83d\udd3d\ud83d\udd3d\ud83d\udd3d#AWSCommunity

\u2014 Andrea Cavagna (@a_cava94) September 6, 2022"},{"location":"aws-serverless/","title":"AWS Serverless","text":"
  1. Introduction
  2. AWS Fargate
"},{"location":"aws-serverless/#introduction","title":"Introduction","text":"
  • you can use Python with AWS Lambda
  • Build a Python Microservice with Amazon Web Services Lambda & API Gateway
  • AWS Lambda, Echo, and the Future of Cloud Automation A fantastic blog article by Logicworks on Lambda, the coming move to serverless architecture and even the possibility of using Amazon\u2019s Echo to launch entire AWS environments by using just your voice
  • Serverless: The Future of Software Architecture?
  • npmjs.com: Lambda load test
  • AWS Lambda Limits
  • blog.powerupcloud.com: AWS inventory details in CSV using lambda
  • How do I stop and start EC2 instances at regular intervals using AWS Lambda? (Video)
  • Youtube channel: AWS Serverless
  • Using Amazon EFS for AWS Lambda in your serverless applications
  • blog.usejournal.com: Building a Serverless Back-end with AWS
  • dashbird.io: Deploying AWS Lambda with Docker Containers: I Gave it a Try and Here\u2019s My Review
  • aws.amazon.com: Operating Lambda: Understanding event-driven architecture \u2013 Part 1
  • aws.amazon.com: Optimizing Lambda functions packaged as container images
  • Security Overview of AWS Lambda
  • cloudonaut.io: Serverless Hybrid Cloud: Accessing an API Gateway via VPN or Direct Connect
  • infoworld.com: Serverless computing with AWS Lambda, Part 1 Get an overview of AWS Lambda\u2019s nanoservices architecture and execution model, then build your first Lambda function in Java
  • dashbird.io: 4 Tips for AWS Lambda Optimization for Production
  • AWS Step Functions
  • kothiyal-anuj.medium.com: Serverless Diary: The Ultimate Guide to Caching in the Cloud
  • medium: Going Serverless (on AWS)
  • Data Caching Across Microservices in a Serverless Architecture
  • Introducing AWS SAM Pipelines: Automatically generate deployment pipelines for serverless applications
  • Simplify CI/CD configuration for serverless applications and your favorite CI/CD system \u2014 Public Preview
  • Building a Serverless Back-end with AWS
  • liavyona09.medium.com: Spice up Your Kubernetes Environment with AWS Lambda
  • Achieve up to 34% better price/performance with AWS Lambda Functions powered by AWS Graviton2 processor
  • Deploying AWS Lambda layers automatically across multiple Regions Many developers import libraries and dependencies into their AWS Lambda functions. These dependencies can be zipped and uploaded as part of the build and deployment process but it\u2019s often easier to use Lambda layers instead.
  • medium: Serverless enterprise-grade multi-tenancy using AWS | Tarek Becker
  • dev.to: Manage webhooks at scale with AWS Serverless
  • Issues to Avoid When Implementing Serverless Architecture with AWS Lambda
  • medium.com/@andrewjr350: Misunderstanding of Serverless (AWS)
  • freecodecamp.org: How to Setup a Basic Serverless REST API with AWS Lambda and API Gateway
  • Migrating a monolithic .NET REST API to AWS Lambda
  • medium.com/aws-serverless-microservices-with-patterns-best: Cloud-Native Microservices Evolves to AWS Serverless Event-driven Architectures In this article, we are going to discuss about How Cloud-Native Microservices Evolves to AWS Serverless Event-driven Architectures when developing Serverless E-Commerce application.
  • betterprogramming.pub: Exploring the Serverless Event-Driven Architecture Meet your old friends Terraform, Lambda, SQS, and Python
  • betterprogramming.pub: Lambda vs. Step Functions: The Battle of Cost and Performance With the big push to use Step Functions over Lambda, you might be wondering \u201cwhich is more cost-effective\u201d? The answer might surprise you.
    • There are use cases for both, but the consensus for production development lives with a hybrid approach: performing a base set of actions synchronously, like validations and id creation and kicking off the rest of the processing asynchronously. You\u2019d then use a WebSocket to inform the user when the workflow is complete.
  • medium.com/awesome-cloud: AWS \u2014 Difference between Serverless (Lambda) and Containers (Kubernetes)
  • aws.amazon.com: Scaling AWS Lambda permissions with Attribute-Based Access Control (ABAC)
  • aws.amazon.com: Understanding AWS Lambda scaling and throughput
  • How to enforce user quota on AWS AppSync with Lambda Authorizer API Quotas define the valid amount of calls available for a consumer during a specific amount of time. Enforcing quotas protects your API from unintentional abuse, minimizes data exfiltration and protects your resources from excessive usage. Beyond the mentioned security benefits, it can also unlock your capabilities to monetize the digital assets sitting behind the API.
  • aws.plainenglish.io: Let\u2019s design a serverless ETL pipeline with AWS services
  • theserverlessmindset.com: Choosing the Best Database for Your Serverless Project It comes down to a few options, and one of them is the best (but your prior experience may change that)
  • aidansteele/secretsctx secretsctx is a Lambda extension (packaged as a Lambda layer) that injects secret values from AWS Parameter Store and AWS Secrets Manager into your Lambda function\u2019s invocation \u201ccontext\u201d.
  • faun.pub: Serverless With Spring Boot & AWS Lambda
  • aws.amazon.com: New \u2013 Accelerate Your Lambda Functions with Lambda SnapStart
  • infoworld.com: AWS Lambda kickstarts Java functions AWS Lambda SnapStart cuts Java startup times by initializing Java functions ahead of time and caching a snapshot of the initialized execution environment.
  • medium.com/@dan.avila7: Prueba tus proyectos serverless de forma local con serverless-offline En este art\u00edculo veremos como instalar y configurar el plugin serverless-offline con sls framework para realizar pruebas locales de las funciones lambda antes de realizar el deploy en AWS.
  • tutorialsdojo.com: Real-time Monitoring of 5XX Errors using AWS Lambda, CloudWatch Logs and Slack
  • dev.to: Go fast and reduce risk: using CDK to deploy your serverless applications on AWS
  • dev.to: Event driven architectures using AWS with example
  • terrateam.io: AWS Lambda Function with Terraform
  • medium.com/lego-engineering: A Journey into Serverless and Handling Step Function Failures Have you ever wondered how you would handle failures in your AWS Step Functions? And what benefits would a robust failure-handling system have?
  • dev.to/aws-builders: Introduction to AWS SAM (Serverless Application Model)
  • blog.devops.dev: Deploying Awesome App on AWS Serverless Services \u2014 Step-by-Step Guide
  • medium.com/@sassenthusiast: Serverless Simplified: Integrating Docker Containers into AWS Lambda via serverless.yml
"},{"location":"aws-serverless/#aws-fargate","title":"AWS Fargate","text":"
  • Amazon EFS with Amazon ECS and AWS Fargate \u2013 Part 1
  • Deploy Machine Learning Pipeline on AWS Fargate
  • deloitte.com: Fargate con EKS \u00bfEs Fargate la soluci\u00f3n de AWS con la que siempre so\u00f1amos para evitar manejar infraestructura con Kubernetes? S\u00ed, pero\u2026
  • element7.io: A Hidden Gem: Two Ways to Improve AWS Fargate Container Launch Times In this post you will learn two strategies to speed up the pod creation time:
    • zstd compressed container images
    • Seekable OCI for lazy loading container images
  • medium.com/@HirenDhaduk1: Best choice to run your containers: AWS FARGATE or AWS LAMBDA or Both?
  • github.com/awslabs/specctl CLI to convert Kubernetes specifications to ECS Fargate and vice-versa
  • AWS SAM CLI Advanced Serverless Deployments \ud83c\udf1f - This article explores advanced deployment strategies using AWS SAM CLI for serverless applications.
"},{"location":"aws-spain/","title":"Spain","text":"
  • AWS en Espa\u00f1a
  • xataka.com: Por qu\u00e9 Amazon ha elegido Arag\u00f3n para instalar sus tres primeros centros de datos en Espa\u00f1a
  • RESOURCE HUB: Eventos y webinars de AWS
  • aboutamazon.es: AWS acelera la apertura de la Regi\u00f3n AWS Europa (Espa\u00f1a) para apoyar la transformaci\u00f3n digital de Espa\u00f1a
  • techunwrapped.com: Spain becomes a Cloud Region in 2022
  • AWS Transit Gateway is now available in Europe (Spain) Region
"},{"location":"aws-spain/#videos","title":"Videos","text":"Click to expand!"},{"location":"aws-storage/","title":"AWS Storage. S3 & EBS. AWS Storage Gateway","text":"
  1. Introduction
  2. Amazon EFS Elastic File System
  3. AWS Transfer
  4. AWS S3 Sync
"},{"location":"aws-storage/#introduction","title":"Introduction","text":"
  • S3 FAQ
  • Making Requests to Amazon S3 over IPv6 Amazon Simple Storage Service (Amazon S3) supports the ability to access S3 buckets using the Internet Protocol version 6 (IPv6), in addition to the IPv4 protocol.
  • How to Build Sparse EBS Volumes for Fun and Easy Snapshotting
  • Getting Started with AWS Storage Gateway
  • devopscube.com: How to Automate EBS Snapshot Creation, Retention and Deletion
  • cloudkatha.com: Is S3 Region Specific or Global? What do you think?
  • cloudkatha.com: This is why S3 Bucket Names are unique Globally
  • cloudkatha.com: AWS S3 Storage Classes: Everything You Need to Know
  • A step-by-step guide to synchronize data between Amazon S3 buckets
  • percona.com: Performance of Various EBS Storage Types in AWS
  • harness.io: Tutorial: [Artifact Servers] S3 \u2013 How to Provide Cross-Account Access Via Bucket Policies
  • Connect Amazon S3 File Gateway using AWS PrivateLink for Amazon S3
  • blog.min.io: Certificate-based Authentication for S3 MinIO encrypts data when stored on disk and when transmitted over the network.
  • acloudguru.com: S3 Glacier Instant Retrieval deep dive: Which S3 Storage Class is right for me?
  • Monitor Amazon S3 activity using S3 server access logs and Pandas in Python
  • Building an active-active, latency-based application across multiple Regions \ud83c\udf1f
  • dev.to: Adding an EBS volume to a running AWS EC2 Instance
  • awstip.com: Uploading files to S3 through API Gateway
    • When you have a front-end application and need to upload files to an S3 bucket securely and keep your bucket private, you can use API Gateway to post your files to S3.
    • If you don\u00b4t want to make any modifications to the file and upload it as is, you can upload the files directly from API Gateway to S3. But if some modifications are required, you may consider using Lambda to receive the request from API Gateway and upload to S3. In this article we will not use Lambda.
"},{"location":"aws-storage/#amazon-efs-elastic-file-system","title":"Amazon EFS Elastic File System","text":"
  • Ceph: A Distributed Object, Block, and File Storage Platform - (Related to kubernetes-storage topic)

  • EFS Elastic File System

  • Amazon Elastic File System triples read throughput
"},{"location":"aws-storage/#aws-transfer","title":"AWS Transfer","text":"
  • infoq.com: AWS Transfer Family Introduces Support for EFS
"},{"location":"aws-storage/#aws-s3-sync","title":"AWS S3 Sync","text":"
  • blog.awsfundamentals.com: AWS S3 Sync - An Extensive Guide Learn all about AWS S3 sync - covering download, upload, synchronize buckets, file selection patterns, dry-run, and more - examples included. The CLI is a daily tool for every DevOps engineer working with AWS. A deep-dive for the \ud835\uddee\ud835\ude04\ud835\ude00 \ud835\ude00\ud835\udfef \ud835\ude00\ud835\ude06\ud835\uddfb\ud835\uddf0 command & its powerful options.
"},{"location":"aws-tools-scripts/","title":"AWS Tools and Scripts","text":"
  1. AWS Scripts
  2. AWS Samples (Boilerplates)
  3. Open Source at AWS
  4. AWS Tools
    1. AWS CI/CD Tools
  5. AWS Toolkits
  6. AWS Management Tools Blog
  7. AWS CLI and AWS SDK
  8. Amazon CodeWhisperer
  9. AWS S3 Sync
  10. Third Party Tools
"},{"location":"aws-tools-scripts/#aws-scripts","title":"AWS Scripts","text":"
  • AWS IP inventory Tool to generate an inventory of all IP addresses in use in an account, one or multiple VPC, or one or multiple subnet.
  • dev.to: How to Copy a Security Group with Rules from one AWS Account to Another account
  • github.com/awslabs/assisted-log-enabler-for-aws: Assisted Log Enabler - Find resources that are not logging, and turn them on
  • https://github.com/dannysteenman/aws-toolbox A collection of useful Shell & Python scripts that make your DevOps life easier in AWS. Furthermore you\u2019ll also find a list of links that point to awesome DevOps tools from other creators.
  • saml-to/assume-aws-role-action Assume AWS IAM Roles using SAML.to in GitHub Actions. This action enables workflows to obtain AWS Access Credentials for a desired IAM Role using AWS IAM SAML and a GitHub Actions Repository Token.
  • github.com/Levi-Michael/boto3-ec2-s3-management: A python tools base on AWS boto3 for manage ec2 and s3 buckets
  • github.com/cavaliercoder/vpc-free Find free IP address blocks in AWS EC2.
"},{"location":"aws-tools-scripts/#aws-samples-boilerplates","title":"AWS Samples (Boilerplates)","text":"
  • AWS Samples (Boilerplates)
"},{"location":"aws-tools-scripts/#open-source-at-aws","title":"Open Source at AWS","text":"
  • OpenSource at AWS
"},{"location":"aws-tools-scripts/#aws-tools","title":"AWS Tools","text":"
  • Floci - An AWS Local Emulator Alternative - (Related to kubernetes-tools topic)

  • github.com/awslabs

  • steampipe \ud83c\udf1f Steampipe is an open source tool for querying cloud APIs in a universal way and reasoning about the data in SQL.
    • Querying AWS at scale across APIs, Regions, and accounts
  • awslabs/aws-cloudsaga: AWS CloudSaga - Simulate security events in AWS AWS CloudSaga is for customers to test security controls and alerts within their Amazon Web Services (AWS) environment, using generated alerts based on security events seen by the AWS Customer Incident Response Team (CIRT).
    • New Open Source tool alert! Introducing AWS CloudSaga, a open source tool for generating events within AWS to be investigated by blue teams & incident responders.
    • AWS CloudSaga is based on basic scenarios related to security events. Using AWS CloudSaga, you can safely generate events via the AWS API, and then use these events to test your team\u2019s investigation capabilities and responses in order to identify gaps and areas of improvement.
  • willdady/aws-resource-based-policy-collector: AWS resource-based policy collector Utility for collecting resource-based policies from an AWS account
  • ermetic/access-undenied-aws \ud83c\udf1f Ermetic is launching a new open-source tool: Access Undenied on AWS. The tool parses AWS AccessDenied CloudTrail events, explains the reasons for them and offers actionable fixes.
    • ermetic.com: Access Undenied on AWS
  • github.com/ualter: AwsBe A tool to help handle AWS Session connections on terminals, using your configured AWS Shared Config and Credentials files. It manages Roles to Assume, MFA Token requests, AWS SSO Sign-in, AWS SSO Tokens and the expiration of opened sessions.
  • github.com/awslabs/amazon-s3-tar-tool: Amazon S3 Tar Tool A utility tool to create a tarball of existing objects in Amazon S3
  • github.com/aws-samples/aws-cdk-stack-builder-tool AWS CDK Builder is a browser-based tool designed to streamline bootstrapping of Infrastructure as Code (IaC) projects using the AWS Cloud Development Kit (CDK).
  • github.com/containerscrew/aws-sso-auth Fetch your local ~/.aws/credentials using AWS SSO
  • cloudcatalog.dev Documentation tool for AWS Architectures. CloudCatalog is an Open Source project that helps you document your AWS resources, services and assign owners.
  • spacelift.io/blog/aws-s3-cp: AWS S3 Cp [Copy] Command Overview with Examples Effectively working with S3 requires moving data in and out of S3 buckets efficiently, supporting use cases such as web hosting, content distribution, backups, archiving, media storage and streaming, and more. In this article, we will explore how to use the aws s3 cp command to transfer data between your local filesystem and the S3 buckets.
  • github.com/infrahouse/infrahouse-toolkit A collection of tools for building infrastructure
"},{"location":"aws-tools-scripts/#aws-cicd-tools","title":"AWS CI/CD Tools","text":"
  • dev.to: Continuous Integration and Deployment on AWS - and a wishlist for CI/CD Tools on AWS
"},{"location":"aws-tools-scripts/#aws-toolkits","title":"AWS Toolkits","text":"
  • AWS Toolkits for Cloud9, JetBrains and VS Code now support interaction with over 200 new resource types \ud83c\udf1f
"},{"location":"aws-tools-scripts/#aws-management-tools-blog","title":"AWS Management Tools Blog","text":"
  • AWS Management Tools Blog
  • Metabadger Prevent SSRF attacks on AWS EC2 via automated upgrades to the more secure Instance Metadata Service v2 (IMDSv2).
"},{"location":"aws-tools-scripts/#aws-cli-and-aws-sdk","title":"AWS CLI and AWS SDK","text":"
  • Amazon CLI Documentation
  • AWS CLI Command Reference
  • New usage examples have been added to the CLI for CodePipeline API Reference
  • ec2-ssh-yplan: A pair of command line utilities for finding and SSH-ing into your Amazon EC2 instances by tag (such as \u2018Name\u2019)
  • List running instances using \u2018awscli\u2019:
aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query 'Reservations[].Instances[].[InstanceID]'\n
  • List all AWS instances in a table format using \u2018awscli\u2019:
aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.AvailabilityZone, State.Name, InstanceID,InstanceType,Platform,Tags.Value,State.Code,Tags.Values]' --output table\n
  • Announcing the end of support for Python 2.7 in the AWS SDK for Python and AWS CLI v1
  • AWS SDK for Java
  • medium: AWS CLI with jq and Bash The CLI is utilitarian, but a little jq sauce makes it beautiful
  • aws.plainenglish.io: Lessons Learned From Switching to AWS SDK v3 Dive into some lessons learned before you switch your Node.js lambda functions over to the latest and greatest
  • blog.awsfundamentals.com: Step-By-Step: Emptying S3 Buckets and Directories Using the AWS CLI with S3 RM
  • dev.to/franciscogm: AWS CLI SSO made easy
"},{"location":"aws-tools-scripts/#amazon-codewhisperer","title":"Amazon CodeWhisperer","text":"
  • Amazon CodeWhisperer \ud83c\udf1f Amazon CodeWhisperer is a machine learning (ML)\u2013powered service that helps improve developer productivity by generating code recommendations based on developers\u2019 comments in natural language and their code in the integrated development environment (IDE). During preview, CodeWhisperer is available for Java, JavaScript, and Python programming languages. The service integrates with multiple IDEs, including JetBrains (IntelliJ, PyCharm, and WebStorm), Visual Studio Code, AWS Cloud9, and the AWS Lambda console.
  • genbeta.com: Amazon lanza CodeWhisperer, su propia alternativa a GitHub Copilot\u2026 que no insertar\u00e1 c\u00f3digo ya licenciado sin avisar
  • hashicorp.com: Accelerate your Terraform development with Amazon CodeWhisperer
  • aws.amazon.com/blogs: Introducing Amazon CodeWhisperer for command line
"},{"location":"aws-tools-scripts/#aws-s3-sync","title":"AWS S3 Sync","text":"
  • blog.awsfundamentals.com: AWS S3 Sync - An Extensive Guide Learn all about AWS S3 sync - covering download, upload, synchronize buckets, file selection patterns, dry-run, and more - examples included. The CLI is a daily tool for every DevOps engineer working with AWS. A deep-dive for the \ud835\uddee\ud835\ude04\ud835\ude00 \ud835\ude00\ud835\udfef \ud835\ude00\ud835\ude06\ud835\uddfb\ud835\uddf0 command & its powerful options.
"},{"location":"aws-tools-scripts/#third-party-tools","title":"Third Party Tools","text":"
  • ec2-spot-converter This tool converts existing EC2 instances back and forth from on-demand and \u2018persistent\u2019 Spot billing models while preserving instance attributes (Launch configuration, Tags..), network attributes (existing Private IP addresses, Elastic IP), storage (Volumes), Elastic Inference accelerators and Elastic GPUs. It also allows replacement of existing Spot instances with new \u201cidentical\u201d ones to update the instance type and cpu options.
  • techcrunch.com: Vantage makes managing AWS easier
  • vantage.sh
  • github.com/one2nc/cloudlens \ud83c\udf1f k9s like CLI for AWS
  • Amazon CodeCatalyst Quickly build and deliver apps at scale on AWS.
  • github.com/Reaimua/AWS-CLI-Uploader-Project Simple bash scripts that uploads a local file to an Amazon S3 bucket
  • github.com/welldone-cloud/aws-list-resources Uses the AWS Cloud Control API to list resources that are present in a given AWS account and region(s). Discovered resources are written to a JSON output file.
"},{"location":"aws-training/","title":"AWS Training and Certification","text":"
  1. Introduction
  2. eBooks
  3. AWS Certification
  4. Closed groups for AWS certified professionals
  5. Tweets
"},{"location":"aws-training/#introduction","title":"Introduction","text":"
  • New digital course and lab: AWS Cloud Development Kit (CDK) Primer
  • acloudguru.com
  • twitch.tv/acloudguruofficial
  • learn.cantrill.io \ud83c\udf1f
    • github.com/acantril/learn-cantrill-io-labs
    • linkedin.com/pulse: So, you think you\u2019re an associate level Solutions Architect?
  • analyticsindiamag.com: Free Online Resources To Get Started On Cloud Computing
  • acloudguru.com: 10 fun hands-on projects to learn AWS
  • portal.tutorialsdojo.com: AWS Digital Courses (free)
  • hashnode.tpschmidt.com: My Top 10 Free Learning Resources for AWS There\u2019s probably nothing you can\u2019t build on AWS, but starting your Cloud Journey looking at over 200 AWS Services needs guidance.
  • explore.skillbuilder.aws/learn: AWS Skill Builder \ud83c\udf1f Your learning center to build in-demand cloud skills
    • explore.skillbuilder.aws: AWS Skill Builder - Introducci\u00f3n a AWS Data Pipeline (Espa\u00f1ol Latinoam\u00e9rica) | AWS Technical Essentials (Spanish from Latin America) - Free
  • aws.amazon.com: Ex\u00e1menes pr\u00e1cticos gratuitos y 100% en espa\u00f1ol para que obtenga su certificaci\u00f3n
  • satyenkumar.medium.com: My Youtube Channel is updated for AWS Certifications (Over 150 Video list)
  • explore.skillbuilder.aws: AWS Security Fundamentals (free) In this self-paced course, you will learn fundamental AWS cloud security concepts, including AWS access control, data encryption methods, and how network access to your AWS infrastructure can be secured. We will address and your security responsibility in the AWS cloud and the different security-oriented services available.
  • medium.com/towards-cloud-computing: 7 Free AWS Practice Labs and AWS Workshops resources
  • devopsmonk.hashnode.dev: Learn AWS if you want to save your career..!!
  • youtube.com: AWS Cloud Complete Bootcamp Course - CloudFormation | freeCodeCamp \ud83c\udf1f
"},{"location":"aws-training/#ebooks","title":"eBooks","text":""},{"location":"aws-training/#aws-certification","title":"AWS Certification","text":"
  • AWS Cloud Practitioner - Curso Completo 2023 \ud83c\udf1f - A comprehensive 2-hour course designed to help users understand the fundamentals of AWS and prepare for the Cloud Practitioner certification.

  • linkedin: Sharing My Top 10 resources to use while preparing for AWS Certification Exams

  • Schedule an Exam Find the testing option that works best for you
  • dev.to: How to become a Certified AWS Solution Architect in 2022
  • community.aws/training: Training and Certification Advance your cloud skills and elevate your career with Training and Certification
"},{"location":"aws-training/#closed-groups-for-aws-certified-professionals","title":"Closed groups for AWS certified professionals","text":"
  • awscerts.slack.com
  • Amazon AWS Certification Preparation Tips
  • A curated list of AWS resources to prepare for the AWS Certifications
  • AWS Certified Solutions Architect Professional \u2013 Study Guide
  • aws.amazon.com: First AWS Certification Study Guide Now Available
  • Tips on Passing AWS Certified Solutions Architect - Professional Level
"},{"location":"aws-training/#tweets","title":"Tweets","text":"Click to expand!

\ud835\udc03\ud835\udc28 \ud835\udc32\ud835\udc28\ud835\udc2e \ud835\udc30\ud835\udc1a\ud835\udc27\ud835\udc2d \ud835\udc2c\ud835\udc28\ud835\udc26\ud835\udc1e \ud835\udc26\ud835\udc28\ud835\udc2b\ud835\udc1e \ud835\udc21\ud835\udc1a\ud835\udc27\ud835\udc1d\ud835\udc2c-\ud835\udc28\ud835\udc27 \ud835\udc1e\ud835\udc31\ud835\udc29\ud835\udc1e\ud835\udc2b\ud835\udc22\ud835\udc1e\ud835\udc27\ud835\udc1c\ud835\udc1e \ud835\udc28\ud835\udc27 \ud835\udc00\ud835\udc16\ud835\udc12?AWS offers amazing workshops for free!Let's take a look at some interesting ones \ud83e\uddf5 pic.twitter.com/wbcJJFVsuR

\u2014 Sandro Volpicella (@sandro_vol) August 9, 2022"},{"location":"aws/","title":"Public Cloud Provider. Amazon Web Services","text":"
  1. Introduction
  2. AWS Reference Archigtecture
  3. AWS Application Services
  4. Blogs
  5. AWS Free Resources
  6. Containers on AWS
  7. AWS Startup Collection. For startups building on AWS
  8. AWS on Twitter
  9. AWS Youtube channel and Podcasts
  10. AWS Developer Blog
  11. AWS Patterns
  12. AWS configuration files
  13. AWS Config Rules
  14. AWS Management Console
  15. Resource Hierarchies
  16. AWS Tags
  17. AWS Systems Manager Explorer
    1. AWS Systems Manager Incident Manager
  18. AWS Cloud Adoption Framework (AWS CAF)
  19. AWS re:Post
  20. Bunch of Images
  21. Videos
  22. Tweets
"},{"location":"aws/#introduction","title":"Introduction","text":"
  • AWS Cloud Products
  • AWS Local Zones locations
  • status.aws.amazon.com: Service Health Dashboard
  • aws.amazon.com/new: What\u2019s New with AWS?
  • aws.amazon.com/releasenotes
  • AWS Forums
  • AWS Knowledge Center
  • AWS Glossary
  • Awesome AWS \ud83c\udf1f
  • AWS Marketplace
  • AWS Support
  • github.com/awslabs
  • slideshare.net/AmazonWebServices
  • AWS 10-Minute Tutorials
  • How do I create and activate a new Amazon Web Services account?
  • onlineitguru.com: AWS Services [ARCHIVED]
  • The Open Guide to Amazon Web Services
  • AWS Ramp-Up Guides Your guides to learning the AWS Cloud. Build Your AWS Cloud Knowledge with Ramp-Up Guides.
  • serverlessland.com This site brings together all the latest blogs, videos, and training for AWS Serverless. Learn to use and build apps that scale automatically on low-cost, fully-managed serverless architecture.
    • serverlessland.com/patterns: Serverless Patterns Collection Use serverless patterns to quickly build integrations using AWS SAM and CDK templates. Filter by pattern and copy the template directly into your application.
    • AWS SAM Pipelines Video tutorials: Learn how to generate CI/CD pipelines and deployment templates for serverless applications with AWS\u2019 best practices for CloudBees, JenkinsCI, GitLab, GitHub using AWS SAM Pipelines.
  • AWS Activate AWS Activate offers startups free tools, resources, and more to quickly get started on AWS. Build and scale with up to $100,000 in AWS Activate credits
  • aws/containers-roadmap: AWS Containers Roadmap This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS).
  • dashbird.io: Get started and keep using AWS for free
  • dzone: AWS Basics
  • dzone: AWS Basics: Bastion Hosts and NAT In this post, we will set up Bastion Host and NAT instances in our VPC. We will learn why we need those and some of the options available to us.
  • acloudguru.com: The Cloud Dictionary of Pain: Five Of AWS\u2019s Toughest Cloud Topics
  • dannys.cloud: 10 Best Free AWS Learning Resources for Beginners This blogpost provides free resources for beginners to get started with AWS through videos, whitepapers, labs, and certification guides.
  • linkedin pulse: Listado de todos los Servicios de AWS (actualizado 1 de Enero 2021)
  • towardsaws.com: A Gentle Introduction to Amazon Web Services (AWS)
  • docs.aws.amazon.com: The AWS Security Reference Architecture
  • thenewstack.io: The AWS Shared Responsibility Model for Kubernetes
  • medium: AWS Services Every Developer Should Be Aware Of
  • blog.cloudyali.io: The Absolute minimum every developer must know about AWS security!
  • acloudguru.com: 12 AWS Config rules that every account should have
  • cloudonaut.io: EC2 Checklist: 7 things to do after launching an instance
  • medium: 6 Lessons Learned - Migrating Application on Production
  • lastweekinaws.com: 17 More Ways to Run Containers on AWS
  • What is Streaming Data?
  • dzone: Five Different Ways to Build AWS Infrastructure Before deciding on how to create your production platform, learn about the benefits and drawbacks of different ways to build your AWS infrastructure.
  • AWS Architecture Blog: What to Consider when Selecting a Region for your Workloads
  • ben11kehoe.medium.com: Never put AWS temporary credentials in the credentials file (or env vars) \u2014 there\u2019s a better way Stop putting AWS temporary credentials in ~/.aws/credentials or environment variables!
  • Implementing Microservices on AWS \ud83c\udf1f
  • intellipaat.com: What is AWS?
  • tech.twenix.com: Securiza tu infraestructura cloud sin arruinarte
  • amazon.qwiklabs.com/catalog One of the best ways to learn AWS services is to use them. If you want to grow your skills this year check out these AWS quicklabs. Free and paid quests to get you started and gaining experience.
  • freecodecamp.org/news/tag/aws Are you looking to get into cloud? Check out all the amazing free content available on freecodecamp under the AWS tag.
  • paigeshin1991.medium.com: Drop Nuclear Bomb on your AWS account. How to clear your entire AWS services in 3 seconds
  • medium.com/gargee-bhatnagar: How to Create a Custom AMI with Image Pipeline and Automate its Creation Using EC2 Image Builder
  • docs.aws.amazon.com: Actions, resources, and condition keys for AWS services \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f There\u2019s a Reference for all \ud835\udddc\ud835\uddd4\ud835\udde0 \ud835\uddd4\ud835\uddf0\ud835\ude01\ud835\uddf6\ud835\uddfc\ud835\uddfb\ud835\ude00, \ud835\uddff\ud835\uddf2\ud835\ude00\ud835\uddfc\ud835\ude02\ud835\uddff\ud835\uddf0\ud835\uddf2\ud835\ude00, \ud835\uddee\ud835\uddfb\ud835\uddf1 \ud835\uddf0\ud835\uddfc\ud835\uddfb\ud835\uddf1\ud835\uddf6\ud835\ude01\ud835\uddf6\ud835\uddfc\ud835\uddfb \ud835\uddf8\ud835\uddf2\ud835\ude06\ud835\ude00 \ud835\uddf3\ud835\uddfc\ud835\uddff \ud835\uddee\ud835\uddf9\ud835\uddf9 \ud835\uddd4\ud835\uddea\ud835\udde6 \ud835\ude00\ud835\uddf2\ud835\uddff\ud835\ude03\ud835\uddf6\ud835\uddf0\ud835\uddf2\ud835\ude00 \ud83d\udd10 Bookmark it! \ud83d\udd16
  • medium.com/@imaze.enabulele: Autoscaling EC2 Instances for High Availability and Stress Testing \ud83c\udf1f
  • awstip.com: How to list all resources in your AWS account
  • Building highly resilient applications with on-premises interdependencies using AWS Local Zones AWS Local Zones are a type of infrastructure deployment that places compute, storage, database, and other select AWS services close to large population and industry centers.
  • dev.to: Disaster Recovery Cheat-sheet/Write-up \ud83c\udf1f
  • terminalsandcoffee.com: Setting Up the AWS CLI & IAM User API Keys \ud83c\udf1f
  • dev.to: Best Practices When Designing AWS Architecture \ud83c\udf1f\ud83c\udf1f AWSArchitecture is the way you design & implement your cloud apps using AWS services & resources. A well-designed architecture help to achieve business goals \ud83d\udc49 scalability, reliability, etc.
  • infoworld.com: Amazon\u2019s quiet open source revolution After years of getting a free ride from open source projects, the company is developing its own obsession with contributing.
  • mrdevops.hashnode.dev: How to Create EC2 Instance in AWS: Step by Step Tutorial
"},{"location":"aws/#aws-reference-archigtecture","title":"AWS Reference Archigtecture","text":"
  • infoq.com: AWS Publishes Reference Architecture and Implementations for Deployment Pipelines - New - Deployment Pipelines Reference Architecture and Reference Implementations
"},{"location":"aws/#aws-application-services","title":"AWS Application Services","text":"
  • k21academy.com: AWS Application Services: Lambda, SES, SNS, SQS, SWF
"},{"location":"aws/#blogs","title":"Blogs","text":"
  • Introducing Kiro: AWS Agentic AI-Based IDE - (Related to ai topic)
  • AWS Organizations: The Key to Managing Your Cloud Infrastructure Effectively - A comprehensive guide to AWS Organizations, explaining its importance for managing multiple AWS accounts, including account management, consolidated billing, and policy enforcement for security and compliance. It highlights the benefits of separating resources into distinct accounts for production, non-production, and other organizational units.
  • DevOps Made Easy: Install AWS CLI, ECS CLI, Docker & Terraform Using Chocolatey - (Related to devops topic)

  • Jayendra\u2019s Blog \ud83c\udf1f\ud83c\udf1f

  • aws.plainenglish.io
  • AWStip.com Community of passionate AWS builders.
"},{"location":"aws/#aws-free-resources","title":"AWS Free Resources","text":"
  • https://aws.amazon.com/architecture
  • https://aws.amazon.com/whitepapers
  • https://docs.aws.amazon.com
  • https://www.aws.training
  • https://aws.amazon.com/solutions/case-studies
  • https://www.youtube.com/user/amazonWebServices
  • https://forums.aws.amazon.com
  • https://aws.amazon.com/blogs
  • https://www.slideshare.net/AmazonWebServices
  • https://www.twitch.tv/aws
  • Everything AWS | Search and discover 6K+ quality AWS repositories
  • workshops.aws: AWS Workshops This website lists workshops created by the teams at Amazon Web Services (AWS). Workshops are hands-on events designed to teach or introduce practical skills, techniques, or concepts which you can use to solve business problems. You can filter by topic using the toolbar above.
  • AWS Courses created by AWS experts
  • dev.to: Many free and useful AWS official Dev and User guides!
  • medium.com/towards-cloud-computing: 7 Free AWS Practice Labs and AWS Workshops resources
"},{"location":"aws/#containers-on-aws","title":"Containers on AWS","text":"
  • RunsOn: Self-hosted GitHub Actions Runners in AWS - (Related to cicd topic)

  • vladionescu.me: Scaling containers on AWS in 2022 (comparison)

"},{"location":"aws/#aws-startup-collection-for-startups-building-on-aws","title":"AWS Startup Collection. For startups building on AWS","text":"
  • bitmovin: Improving Video Quality on the Web
  • What Startups Should Know about Amazon VPC\u200a\u2014\u200aPart 1
  • Scaling on AWS (Part 3): >500K Users
  • medium.com: Building a Serverless Dynamic DNS System with AWS
  • medium.com: The Top 10 AWS Startup Blog Posts of 2015
"},{"location":"aws/#aws-on-twitter","title":"AWS on Twitter","text":"
  • twitter.com/awscloud
  • twitter.com/AWSreInvent
  • twitter.com/jeffbarr
  • twitter.com/AWSstartups
  • twitter.com/AWS_Partners
"},{"location":"aws/#aws-youtube-channel-and-podcasts","title":"AWS Youtube channel and Podcasts","text":"
  • Amazon Web Services Youtube
  • AWS Tutorial Series
  • AWS Webinar Channel
  • AWS Podcasts
  • AWS Techchat
  • Stitcher AWS Podcasts
"},{"location":"aws/#aws-developer-blog","title":"AWS Developer Blog","text":"
  • Enhanced Local IDE Experience for AWS Step Functions \ud83c\udf1f - This blog post introduces an enhanced local Integrated Development Environment (IDE) experience for AWS Step Functions, integrating Workflow Studio directly into Visual Studio Code (VS Code) via the AWS Toolkit extension. This allows developers to visually author and edit state machines locally, mirroring the AWS Console experience. The integration simplifies the development of distributed applications, process automation, microservice orchestration, and data/ML pipelines by providing a seamless workflow authoring experience within the developer\u2019s preferred IDE, synchronizing visual changes with the Amazon States Language (ASL) definition.

  • The AWS Developer Blog now includes Python & GoLang

  • Create an API Using the Swagger Specification and the API Gateway Extensions
"},{"location":"aws/#aws-patterns","title":"AWS Patterns","text":"
  • Terraform for Standardizing AWS Deployments - (Related to terraform topic)
  • Cloudburn: An Open-Source Policy Engine for AWS Spending - Cloudburn is an open-source policy engine designed to prevent and remediate inefficient AWS spending patterns. It aims to block \u2018bad AWS spending patterns before they ship\u2019 and actively remediates existing \u2018burning\u2019 costs.

  • medium: Top 4 AWS Patterns of Highly Available API We want to tell you about a few common patterns that can be used to build highly available APIs on top of AWS infrastructure. We will highlight each of them and briefly describe the pros and cons.

"},{"location":"aws/#aws-configuration-files","title":"AWS configuration files","text":"
  • medium: AWS configuration files, explained
"},{"location":"aws/#aws-config-rules","title":"AWS Config Rules","text":"
  • AWS Config Rules now available in 4 new regions: US West (Oregon), EU (Ireland), EU (Frankfurt) and Asia Pacific (Tokyo)
  • medium.com/swlh: AWS Config \u2014 Compliance as Code
"},{"location":"aws/#aws-management-console","title":"AWS Management Console","text":"
  • Working with the AWS Management Console
"},{"location":"aws/#resource-hierarchies","title":"Resource Hierarchies","text":"
  • AWS, Azure, GCP: Resource Hierarchies
"},{"location":"aws/#aws-tags","title":"AWS Tags","text":"
  • bridgecrew.io: Best practices for AWS tagging with Yor
"},{"location":"aws/#aws-systems-manager-explorer","title":"AWS Systems Manager Explorer","text":"
  • Multi-account AWS Trusted Advisor summaries now available in AWS Systems Manager Explorer
"},{"location":"aws/#aws-systems-manager-incident-manager","title":"AWS Systems Manager Incident Manager","text":"
  • How to automate incident response to security events with AWS Systems Manager Incident Manager
"},{"location":"aws/#aws-cloud-adoption-framework-aws-caf","title":"AWS Cloud Adoption Framework (AWS CAF)","text":"
  • AWS Cloud Adoption Framework (AWS CAF) 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
"},{"location":"aws/#aws-repost","title":"AWS re:Post","text":"
  • repost.aws \ud83c\udf1f
  • AWS re:Post \u2013 A Reimagined Q&A Experience for the AWS Community
  • infoq.com: Amazon Introduces re:Post, a \u201cStack Overflow\u201d for AWS
"},{"location":"aws/#bunch-of-images","title":"Bunch of Images","text":"Click to expand!

"},{"location":"aws/#videos","title":"Videos","text":"Click to expand!"},{"location":"aws/#tweets","title":"Tweets","text":"Click to expand!

You don't know how to get started with AWS?I can relate!When I started, AWS already offered so much that I literally couldn't find an entry point.If you still feel this way, let me give you a little guide.\ud83e\uddf5\u23ec

\u2014 Oliver Jumpertz (@oliverjumpertz) April 5, 2021

This is BIG! You can now assign IPv4 and IPv6 prefixes to your ENIs. The net result is that EC2 instances will now support vastly larger number of IP addresses, and managing those addresses will become easier. 1/nhttps://t.co/3ilNrFtuAp

\u2014 Joe Magerramov (@_joemag_) July 22, 2021

When we first launched the managed Prometheus service, one of the feedback was about cost of ingestion. We announced a pricing discount up to 84% recently in case you haven't seen it. https://t.co/wqioBvSXme pic.twitter.com/64ezXUg753

\u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) September 8, 2021

\ud83d\udcab AWS VPC 101Virtual Private Cloud is a fundamental concept of AWS \u2601\ufe0fLet's explore it together in this thread \ud83e\uddf5\ud83d\udc47

\u2014 Simon \u2601\ufe0f (@simonholdorf) September 24, 2021

\ud83d\udcda AWS 1x1\u026a\u1d05\u1d07\u0274\u1d1b\u026a\u1d1b\u028f- & \u1d00\u1d04\u1d04\u1d07\ua731\ua731 \u1d0d\u1d00\u0274\u1d00\u0262\u1d07\u1d0d\u1d07\u0274\u1d1b (\u026a\u1d00\u1d0d) \ud83d\udd11The concepts are crucial & being confident in them is a necessity.From basics to advanced concepts \ud83e\uddf5\u2193

\u2014 Tobias Schmidt (@tpschmidt_) September 28, 2021

AWS Amplify refers to different products.You are confused what Amplify exactly is? We know that AWS isn't the best with naming its products so let's see what Amplify products are exactly out there.1/6 pic.twitter.com/9dUtwpdjPU

\u2014 Sandro Volpic (@sandro_vol) September 28, 2021

Yes, creating your first AWS account with your own credit card feels scary\u2022 those are your first steps \ud83d\udeb6\u2022 you haven't got much or any hands-on yet \ud83c\udfd7\u2022 you've read about those expenses horror stories \ud83d\udca5but there are a lot of easy ways to get \ud835\uddf3\ud835\uddff\ud835\uddf2\ud835\uddf2 \ud835\uddf0\ud835\uddff\ud835\uddf2\ud835\uddf1\ud835\uddf6\ud835\ude01\ud835\ude00 \u2193

\u2014 Tobias Schmidt (@tpschmidt_) September 30, 2021

\u2601\ufe0f Knowledge - Virtual Private Cloud (VPC)#AWS VPCs are region-scoped. If you want to route traffic between regional resources, you need to set up VPC peering, for example. \u2705#GCP VPCs are global-scoped. Traffic between resources is automatically routed across regions. \u2611\ufe0f

\u2014 Simon \u2601\ufe0f (@simonholdorf) October 1, 2021

A new checkbox appears in the create subnet dialog of the Amazon VPC console... pic.twitter.com/RroXl07Fe0

\u2014 Matthew S. Wilson (msw) (@_msw_) November 23, 2021

Me: using AWS since 2014, using k8s since 2016, AWS Container Hero, and other fancy-sounding stats.Also me: takes 2 hours to get AWS CloudWatch Container Insights (expensive logs and metrics) running on an EKS clusterTech is hard for everybody! Be confident! Full-steam ahead!

\u2014 Vlad Ionescu (he/him) (@iamvlaaaaaaad) December 18, 2021

\ud83d\udcda AWS 1x1 - \ud835\uddd6\ud835\uddf9\ud835\uddfc\ud835\ude02\ud835\uddf1\ud835\uddea\ud835\uddee\ud835\ude01\ud835\uddf0\ud835\uddf5Your fully-managed monitoring & observability solution for your AWS services, resources & applications.Almost all you need to know \u2193

\u2014 Tobias Schmidt (@tpschmidt_) January 14, 2022

\ud835\uddd4\ud835\uddea\ud835\udde6 \ud835\uddd4\ud835\udde3\ud835\udddc \ud835\uddda\ud835\uddee\ud835\ude01\ud835\uddf2\ud835\ude04\ud835\uddee\ud835\ude06 is one of AWS' fully-managed flagship services \u26a1 All of the important facts & key capabilities that you need to know in a single infographic \ud83c\udf20 \u2193 pic.twitter.com/uzdqdPMmCs

\u2014 Dashbird.io (@thedashbird) January 17, 2022

\"Why do you only focus on @awscloud instead of other cloud providers? Doesn't that cut your market to a tiny fraction of the industry?\"The latest @okta report has a chart within that tells the story succinctly. pic.twitter.com/AkNt1jwUMU

\u2014 Corey Quinn (@QuinnyPig) January 31, 2022

In my opinion, IAM is the \ud835\uddfa\ud835\uddfc\ud835\ude00\ud835\ude01 \ud835\uddf0\ud835\uddfc\ud835\uddfa\ud835\uddfd\ud835\uddf9\ud835\uddf2\ud835\ude01\ud835\uddf2 & \ud835\uddf0\ud835\uddfc\ud835\uddfa\ud835\uddfd\ud835\uddff\ud835\uddf2\ud835\uddf5\ud835\uddf2\ud835\uddfb\ud835\ude00\ud835\uddf6\ud835\ude03\ud835\uddf2 service by AWS \ud83d\udd10What's a \ud835\uddf3\ud835\uddee\ud835\uddf0\ud835\ude01: the concepts are crucial & being confident in them is a necessity! pic.twitter.com/MtvOyLjRzS

\u2014 Tobias Schmidt (@tpschmidt_) February 2, 2022

I don't know who did this...but It made my day \ud83d\ude02 AWS moving workloads out of Exadata #HappyWednesday #CloudHumor pic.twitter.com/vq1CSCyr8b

\u2014 Guillermo Ruiz (@IaaSgeek) February 2, 2022

My personal holy grail of database solutions: \ud835\uddd7\ud835\ude06\ud835\uddfb\ud835\uddee\ud835\uddfa\ud835\uddfc\ud835\uddd7\ud835\uddd5 \u26a1\ufe0f Sadly, I couldn't fit all the features & must-knows into a single infographic.There are just too many \ud83d\udc9b pic.twitter.com/UkLcvH19Cp

\u2014 Tobias Schmidt (@tpschmidt_) February 16, 2022

Today we announced the completion of 16 #AWS Local Zones in the US and plans for 32 more to be built globally. Local Zones offer ultra-low latency at the edge of the cloud\u2014awesome for gaming, streaming, ML, more!https://t.co/CFHmBI8zrK

\u2014 Adam Selipsky (@aselipsky) February 17, 2022

What's the fastest way to scale containers on AWS in 2022? Is EKS faster than ECS? What's faster: serverless workers (Fargate) or to serverful workers (EC2)?What about App Runner and Lambda?Now we know: https://t.co/R82caY9nmn

\u2014 Vlad Ionescu (he/him) (@iamvlaaaaaaad) April 13, 2022

AWS DevOps Tools: (Thread)- #AWS provides plenty of managed tools to meet the needs of #DevOps tools. pic.twitter.com/MxSIw9N6tZ

\u2014 Ankit Mehta \ud83c\uddee\ud83c\uddf3\ud83c\uddf9\ud83c\udded (@ankyitm) June 19, 2022

Just stumbled upon my first cheat sheet for the Solutions Architect Associate \ud83d\udcdaIt's more of a key-facts collection with a design that would need improvement \ud83c\udf1f\ud835\uddd7\ud835\uddf6\ud835\ude00\ud835\uddf0\ud835\uddf9\ud835\uddee\ud835\uddf6\ud835\uddfa\ud835\uddf2\ud835\uddff: was made for the \ud835\udde6\ud835\uddd4\ud835\uddd4-\ud835\uddd6\ud835\udfec\ud835\udfee & I think there's an upcoming exam update next month! pic.twitter.com/m3dNE57cpZ

\u2014 Tobias Schmidt (@tpschmidt_) July 4, 2022

A list of small tools with a \ud835\uddef\ud835\uddf6\ud835\uddf4 \ud835\uddf6\ud835\uddfa\ud835\uddfd\ud835\uddee\ud835\uddf0\ud835\ude01 \ud835\uddfc\ud835\uddfb \ud835\uddfd\ud835\uddff\ud835\uddfc\ud835\uddf1\ud835\ude02\ud835\uddf0\ud835\ude01\ud835\uddf6\ud835\ude03\ud835\uddf6\ud835\ude01\ud835\ude06 when working with AWS \ud83d\udee0 \ud83d\udcc8 \u2193

\u2014 Tobias Schmidt (@tpschmidt_) July 4, 2022
  • Convert AWS console actions to reusable code with AWS Console-to-Code, now generally available \ud83c\udf1f - AWS Console-to-Code is now generally available, enabling users to convert AWS console actions and workflows into reusable Infrastructure as Code (IaC) formats like AWS CLI, CloudFormation, and AWS CDK.
"},{"location":"azure/","title":"Microsoft Azure","text":"
  1. Azure
  2. Azure Architecture Check List
  3. Azure Mindmap
  4. Azure APIOps
  5. Migration
  6. Azure Policy
    1. Azure Policy Best Practices
  7. Azure Cloud Adoption Framework CAF
  8. Azure Well-Architected Framework WAF
    1. Well-Architected Framework Assessments
  9. CAF vs WAF
  10. Azure Landing Zones
  11. Azure Extended Zones
  12. Azure Sandbox
  13. Azure Marketplace
  14. Microsoft REST API Guidelines
  15. Azure Quick Review
  16. New Features
  17. Blogs
  18. Azure Training and Certifications
  19. Azure Naming Convention
  20. Mission-critical Architecture on Azure
  21. Understand Azure Load Balancing
  22. Azure Load Testing
  23. Microsoft Linux Distribution CBL Mariner
  24. Azure Patterns
  25. ARM Templates
  26. DevTest
  27. Azure DevOps
    1. Azure DevOps Backup Tool
    2. Azure DevOps vs GitHub Actions
    3. YAML Schema in DevOps Azure Pipelines
    4. Azure Pipeline Tasks
    5. Azure DevOps Templates or Snippets
    6. Databricks CI/CD with Azure DevOps
  28. Azure AD and RBAC. Azure Tenant and Azure Subscription. Service Principal SPN. Microsoft Entra
    1. Register applications in Azure AD. Authenticate apps and services
    2. Azure AD Pen Testing
  29. Azure Arc. Azure\u2019s Hybrid And Multi-Cloud Platform. GitOps with Azure Arc
  30. Secure DevOps Kit for Azure
  31. Azure App Service
  32. Azure Application Gateway
  33. Azure Functions
  34. Azure Monitor
    1. Azure Monitor managed service for Prometheus
  35. Azure Log Analytics
  36. Azure Grafana
  37. Mobile Apps
  38. Powershell
    1. Azure Enterprise Policy As Code (EPAC)
    2. Microsoft Graph PowerShell SDK
    3. Powershell repos
    4. Crescendo powershell module
    5. Secrets Management with Powershell
    6. Azure Resource Inventory
  39. Azure CLI. AZ CLI
  40. Azure Run Command
  41. IaC with PowerShell DSC Desired State Configuration
  42. Azure Bicep
  43. Azure Verified Modules
  44. Azure Cross region Load Balancer
  45. Azure Traffic Manager
  46. Azure DNS
  47. Azure OpenVPN
  48. Azure Security
    1. Azure Microsoft Defender for Cloud
    2. Microsoft Sentinel
  49. Microsoft Copilot for Azure
  50. Azure Virtual WAN. vWAN
  51. Azure Fleet
  52. Data Ingestion. Azure Data Factory
  53. WinGet Windows Package Manager CLI
  54. Windows 11
  55. Azure API Management
  56. Azure Container Apps
  57. Azure Container Instances
  58. Azure Container Storage
  59. Windows Server Container Host
  60. Disaster Recovery
  61. Azure Samples (Boilerplates)
  62. Azure Healthcare Data Services
  63. Office 365
  64. Azure Books
  65. Azure OpenAI
  66. Windows Tools
  67. Azure Tools
  68. Images
  69. Videos
  70. Tweets
"},{"location":"azure/#azure","title":"Azure","text":"
  • Automated Let\u2019s Encrypt Certificates in Azure Key Vault with ACME Bot - A step-by-step guide demonstrating how to obtain free automated Let\u2019s Encrypt TLS certificates and store them securely in Azure Key Vault. This solution allows for automatic renewal and provisioning of additional certificates, offering a cost-effective way to secure services in Azure.
  • Application Network Security in Azure Subnets, Endpoints, DNS, NSGs with Terraform Code \ud83c\udf1f - A technical article demonstrating how to implement application network security in Azure using subnets, endpoints, DNS, and Network Security Groups (NSGs), with accompanying Terraform code.
  • Azure Products by Region Table \ud83c\udf1f - This page provides a comprehensive table of Azure products and their availability across various Azure regions globally. It\u2019s a valuable resource for understanding where specific Azure services can be deployed.
  • Azure Network Security Perimeter Concepts \ud83c\udf1f - This article explains Azure Network Security Perimeter (NSP), a feature that establishes logical network boundaries around Azure Platform-as-a-Service (PaaS) resources deployed outside of virtual networks. It enhances security by controlling public network access to PaaS resources like Azure Storage and Key Vault, restricting inbound and outbound traffic by default and allowing explicit exceptions. Key benefits include preventing data exfiltration, managing external access, providing access logs for auditing, and offering a unified management experience across PaaS resources.

  • Microsoft Azure

  • Microsoft Docs
  • Azure Docs
  • Azure Updates \ud83c\udf1f
  • Azure Updates AKS \ud83c\udf1f
  • azurecharts.com: Azure Charts Live visual exploration environment for Azure Cloud + ecosystem. Cloud representation metrics auto-updated continuously
    • azurecharts.com/learning: Azure Learning Explorer Discover published Azure learning modules, paths, videos, certifications, exams for services of your interest.
  • github.com/azure/mission-critical-online: Welcome to Azure Mission-Critical Online Reference Implementation This repository is part of the Azure Mission-Critical open source project that provides a prescriptive architectural approach to building highly-reliable cloud-native applications on Microsoft Azure for mission-critical workloads.
  • techcommunity.microsoft.com: Microsoft Learn - Learning Rooms Directory
  • Introducing the third of three Microsoft Clouds: Azure. 4 major sections of the Cloud Models are:
    • On-Premises: As you start on the left in the traditional on-prem configuration you are responsible for all layers of IT from the networking stack all the way up to the applications which are being provided. You may also be responsible for the data center, power, Internet service, and other underlying aspects.
    • Infrastructure as a Service: In IaaS (Take & Bake) the cloud vendor is responsible for the stack from networking through virtualization and your IT team is responsible for the Operating System (OS) through the applications. Common uses of IaaS are testing environments, development environments or hosting of a website.
    • Platform as a Service: In PaaS (Pizza Delivered) the cloud vendor is responsible for the networking layers through the runtime layer and your IT team is responsible for the data and the applications. PaaS is commonly used to test, build and deploy applications for an organization.
    • Software as a Service: In SaaS (Dining Out) the cloud vendor is responsible for all layers from the networking through to the application layer. A common example of SaaS is a web-based email service such as Outlook, Hotmail or Gmail.
  • medium: Scaling Applications in the Cloud
  • thenewstack.io: Azure Kubernetes Service Replaces Docker with containerd
  • blog.sixeyed.com: You can\u2019t always have Kubernetes: running containers in Azure VM Scale Sets
  • devblogs.microsoft.com: Deploy Spring Boot applications by leveraging enterprise best practices \u2013 Azure Spring Cloud Reference Architecture
  • techcommunity.microsoft.com: Non-interactive logins: minimizing the blind spot In this blog post, we will review the new Azure Sentinel data streams for Azure Active Directory non-interactive, service principal, and managed identity logins. We will also share the new security content we built and updated in the product, which includes analytics rules for the detection part and workbooks to assist our customers to deal with this blind spot.
  • returngis.net: Replicaci\u00f3n de blobs entre dos cuentas de Azure Storage en dos tenants diferentes
  • c-sharpcorner.com: Comparing AWS SQL Server With Azure SQL Database
  • techcommunity.microsoft.com: How to create a VPN between Azure and AWS using only managed solutions
  • teacdmin.net: How To Enable Multiple RDP Sessions on Windows Server
  • k21academy.com: Azure Data Lake Overview For Beginners
  • theregister.com: Microsoft Azure deprecations: API changes will break applications and PowerShell scripts
  • k21academy.com: Azure RBAC Vs Azure Policies Vs Azure Blueprints
  • blog.identitydigest.com: Azure AD workload identity federation with Kubernetes Any k8s cluster, running on any platform, can now securely access Azure resources without keys or secrets through Azure AD Workload Identity Federation.
  • thomasmaurer.ch: How to check the available VM Sizes (SKUs) by Azure Region
  • docs.microsoft.com: Multi-tenant user management scenarios
  • docs.microsoft.com: Overview: Cross-tenant access with Azure AD External Identities (Preview) Azure AD organizations can use External Identities cross-tenant access settings to manage how they collaborate with other Azure AD organizations through B2B collaboration. Cross-tenant access settings give you granular control over how external Azure AD organizations collaborate with you (inbound access) and how your users collaborate with external Azure AD organizations (outbound access).
  • nubesgen.com - microsoft/NubesGen Going to production on Azure is only one git push away. Kickstart your project on Azure in minutes! Easily generate Terraform and Bicep templates for your project. Automate your infrastructure using GitOps best practices with GitHub Actions. NubesGen is an Open Source project and we are always looking for feedbacks and contributions.
    • infoq.com: NubesGen Brings Git Push to Azure Infrastructure
  • charbelnemnom.com: Move Files Between Azure File Share Tiers and optimize storage costs
  • techrepublic.com: What can you do with Azure Files?
  • satyenkumar.medium.com: Demystifying The Cloud: An Overview of the Microsoft Azure \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Learn how to make the most of the Azure cloud platform in this comprehensive story (Cloud Demystified Series). Go through 80% of Azure in 30 minutes
  • learn.microsoft.com: Migrate Java applications to Azure \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
  • blog.cloudtrooper.net: Overlapping IP addresses in a hub-and-spoke network (feat. AVNM & ARS)
  • blog.cloudtrooper.net: Virtual Network Gateways routing in Azure
  • returngis.net: Monitorizar aplicaci\u00f3n Java con Spring Boot con Azure Application Insights
  • medium.com/awesome-azure: Azure \u2014 Most Useful Azure Services Every Developer Must Know
  • returngis.net: Invitar a usuarios externos a un tenant de Azure AD a trav\u00e9s de Microsoft Graph y Azure CLI
  • learn.microsoft.com: Choose an Azure compute service \ud83c\udf1f\ud83c\udf1f
  • nwktimes.blogspot.com: NVA Part IV: NVA Redundancy with Azure Internal Load Balancer
  • azure.microsoft.com: Choose the best global distribution solution for your applications with Azure
  • blog.davesdomain.co.uk: A look at Azure RBAC Constrained Delegation
  • linkedin.com: Azure Networking | Filiz Akkaya
  • allazureblog.wordpress.com: Azure Bastion vs UDR
  • medium.com/@mikakrief: Using Azure Service Operator v2 Azure Service Operator v2 is a Kubernetes operator that enables you to manage Azure resources directly through Kubernetes tooling. It\u2019s designed to simplify the deployment and management of Azure services, allowing developers to use familiar Kubernetes commands (like kubectl apply) to handle Azure resources.
  • blog.cloudtrooper.net: Azure network monitoring with synthetic traffic
  • techcommunity.microsoft.com: Leveraging Azure Event Hub, Microsoft Fabric, and Power BI for Real-Time Data Analytics
  • techcommunity.microsoft.com: Azure SQL Managed Instance pools: new features
  • github.com/Azure/Enterprise-Scale: ALZ AMA Update The Log Analytics agent, also known as the Microsoft Monitoring Agent (MMA), is on a deprecation path and won\u2019t be supported after August 31, 2024. Any new data centers brought online after January 1 2024 will not support the Log Analytics agent. If you use the Log Analytics agent to ingest data to Azure Monitor, migrate to the new Azure Monitor agent prior to that date.
  • blog.siliconvalve.com: Analysing git commit history using Azure Data Explorer
  • azure.microsoft.com: Generally available: Azure Blob Storage Cold Tier support on Change Feed and Object Replication
  • hlokensgard.no: Azure Firewall as DNS Proxy with the new Azure DNS Resolver
  • linkedin.com/pulse: The Who\u2019s Who of the Azure Configuration Management Landscape | Mark Tinderholt
  • techcommunity.microsoft.com: Microsoft Fabric - Multi-Tenant Architecture
  • build5nines.com: Why do Azure Resource Groups have an Azure Region association?
  • build5nines.com: Read and Write Azure Blob Storage with Javascript
  • techcommunity.microsoft.com: Azure Orphan Resources
    • github.com/dolevshor/azure-orphan-resources Centralize orphan resources in Azure environments
  • build5nines.com: Azure CDN POP Locations: Interactive Map of Azure CDN Points of Presence
"},{"location":"azure/#azure-architecture-check-list","title":"Azure Architecture Check List","text":"
  • Deploying Virtual Networks Across Tenants Using Azure Virtual Network Manager - This article details how to deploy and manage virtual networks across different Azure tenants using Azure Virtual Network Manager. It covers the capabilities and implementation steps for achieving cross-tenant network connectivity, which is crucial for large organizations with multiple Azure subscriptions and tenants.

  • luke.geek.nz/azure: Azure Architecture - Solution Requirement Consideration Checklist

"},{"location":"azure/#azure-mindmap","title":"Azure Mindmap","text":"
  • github.com/sajeetharan/azure-mindmap Solution Architecture Patterns and Checklists Mind Map for beginners on Azure
    • Azure Fundamentals: AZ-900.pdf
  • techcommunity.microsoft.com: Azure Architecture - Course Blueprint This blueprint offers a comprehensive guide to the Azure ecosystem, specifically designed to align with the content of a specific course. It encompasses all resources, tools, structures, and connections discussed throughout the course. The layer filtering feature allows for focused study on specific sections of the course, facilitating a more digestible understanding of the information.
"},{"location":"azure/#azure-apiops","title":"Azure APIOps","text":"
  • github.com/Azure/apiops \ud83c\udf1f APIOps applies the concepts of GitOps and DevOps to API deployment. By using practices from these two methodologies, APIOps can enable everyone involved in the lifecycle of API design, development, and deployment with self-service and automated tools to ensure the quality of the specifications and APIs that they\u2019re building.
"},{"location":"azure/#migration","title":"Migration","text":"
  • github.com/Azure/migration: The Migration Execution Guide. This repo contains a Migration Execution Guide, which has been authored and developed by a team of FastTrack for Azure Program Managers and Engineers working with the Microsoft SMC team, the Azure Advanced Cloud Engineering team and the Customer Success Unit. It provides prescriptive guidance for the structure and running of a successful migration project. The guidance includes digital estate discovery, defining the migration scope with common business drivers, selection and implementation of migration tooling, project management, risk management and many other related templates.
"},{"location":"azure/#azure-policy","title":"Azure Policy","text":"
  • techcommunity.microsoft.com: Azure Policy for Kubernetes releases support for custom policy A tutorial on how to set up Azure Policy for Kubernetes with custom policies.
  • arinco.com.au: Awesome Azure Policy Chapter 1
  • arinco.com.au: Awesome Azure Policy Chapter 2
"},{"location":"azure/#azure-policy-best-practices","title":"Azure Policy Best Practices","text":"
  • Azure Policy Recommended Practices
"},{"location":"azure/#azure-cloud-adoption-framework-caf","title":"Azure Cloud Adoption Framework CAF","text":"
  • Transitioning an Existing Azure Environment to the Azure Landing Zone Reference Architecture - This Microsoft Learn article provides guidance and recommendations for organizations looking to migrate their existing Azure environments, including resources and management group structures, to align with the Azure landing zone reference architecture. It covers considerations for moving resources within Azure and discusses different approaches based on user RBAC permissions.
  • Azure Cloud Adoption Framework: Platform Landing Zone Implementation Options \ud83c\udf1f - This article from Microsoft Learn details the various implementation options for deploying and managing Azure platform landing zones, a key component of the Cloud Adoption Framework. It highlights Infrastructure-as-Code (IaC) using Azure Verified Modules (AVMs) with Terraform or Bicep as the recommended approach, while also presenting a portal-based approach for organizations less familiar with IaC.

  • learn.microsoft.com: What is the Microsoft Cloud Adoption Framework for Azure?

  • linkedin.com: The Ultimate Guide to Azure Cloud Adoption Framework Lifecycle
"},{"location":"azure/#azure-well-architected-framework-waf","title":"Azure Well-Architected Framework WAF","text":"
  • Architecture Best Practices for Azure Kubernetes Service (AKS) \ud83c\udf1f - This document provides architectural recommendations for Azure Kubernetes Service (AKS), aligning with the principles of the Azure Well-Architected Framework. It covers best practices for both the AKS cluster itself and the workloads deployed on it, distinguishing between responsibilities of cluster administrators and developers. The content aims to guide architects in making informed decisions for deploying and managing containerized applications on AKS.

  • learn.microsoft.com: Azure Well-Architected Framework The Azure Well-Architected Framework (WAF) is a set of quality-driven tenets, architectural decision points, and review tools intended to help solution architects build a technical foundation for their workloads.

  • infoq.com: Microsoft Refreshes its Well-Architected Framework
  • azure.github.io: Azure Proactive Resiliency Library (APRL)
    • This library is built with the intention of being a staging area for guidance and recommendations that can be used by customers, partners and the field in Well-Architected Framework reliability engagements/assessments; with the intent of the guidance and recommendations being promoted, once tested and validated with customers and partners, into the official Well-Architected Framework documentation.
    • The library also contains supporting Azure Resource Graph (ARG) queries, and sometimes Azure PowerShell or Azure CLI scripts, that can help customers, partners and the field identify resources that may or may not be compliant with the guidance and recommendations. The intent for these queries, in the long-term, is to make them part of the Azure Advisor service.
  • learn.microsoft.com: Azure Well-Architected Framework perspective on Azure App Service (Web Apps)
"},{"location":"azure/#well-architected-framework-assessments","title":"Well-Architected Framework Assessments","text":"
  • learn.microsoft.com: Use Azure WAF assessments
  • techcommunity.microsoft.com: Get tailored insights with our Advisor Well-Architected assessments
"},{"location":"azure/#caf-vs-waf","title":"CAF vs WAF","text":"
  • linkedin.com: CAF vs WAF: Which Framework to Use for Your Cloud Migration?
  • techcommunity.microsoft.com: Infra in Azure for Developers - The What
"},{"location":"azure/#azure-landing-zones","title":"Azure Landing Zones","text":"
  • Enterprise-Scale Azure Subscription Vending Using Azure Verified Modules (AVM) \ud83c\udf1f - This article from the Microsoft Community Hub details a production-ready guide for implementing automated Azure subscription vending at enterprise scale. It leverages Azure Verified Modules (AVM) with Terraform to ensure standardized, governed, and automated subscription creation, addressing common scalability and governance challenges associated with manual processes. The guide covers necessary permissions, role assignments, and best practices aligned with Azure Landing Zones.
  • Azure Landing Zone IaC Accelerator Release Notes - (Related to iac topic)
  • Building a FinOps-Ready Azure Landing Zone: Infrastructure Foundations for Cost Optimization - (Related to finops topic)
  • Subscription Vending Implementation Guidance \ud83c\udf1f - This article provides implementation guidance for automating the process of requesting, deploying, and governing Azure subscriptions. It aims to standardize subscription provisioning, enabling application teams to deploy workloads more efficiently. The guidance includes an architecture diagram illustrating a management group hierarchy and a subscription automation workflow, detailing how subscriptions are organized under platform, landing zones, and sandbox child groups, with specific examples of subscription types and associated resources.
  • Azure Landing Zone IaC Accelerator - (Related to iac topic)
  • Azure Landing Zone Technical Documentation \ud83c\udf1f - Comprehensive documentation for deploying and managing Azure landing zones, covering foundational components, governance, networking, security, and management.
  • Announcing General Availability of Terraform Azure Verified Modules for Platform Landing Zone (ALZ) - (Related to terraform topic)
  • Azure Landing Zone - Microsoft Cloud Adoption Framework \ud83c\udf1f - This documentation describes the concept of an Azure landing zone, which is a standardized and recommended approach for organizations to set up and manage their Azure environments at scale. It emphasizes consistency, security, compliance, and operational efficiency through platform and application landing zones, built upon a well-architected foundation across eight design areas. The content also touches on the scalable and modular nature of the Azure landing zone architecture, its repeatable infrastructure, and the use of modules for deployment and modification. It references a specific reference architecture as a starting point.

  • medium.com/microsoftazure: Ultimate guide for Enterprise-scale landing zone for Azure

  • techcommunity.microsoft.com: Azure Landing Zones Accelerators for Bicep and Terraform. Announcing General Availability!
  • techcommunity.microsoft.com: Azure OpenAI Landing Zone reference architecture
  • techcommunity.microsoft.com: New feature: easily assign regulatory compliance policies to your Azure Landing Zone
  • techcommunity.microsoft.com: Azure landing zones custom archetypes using Terraform
  • thomasmaurer.ch: Azure Landing Zone Review Assessment
  • techcommunity.microsoft.com: From Zero to Hero with Azure Landing Zones
"},{"location":"azure/#azure-extended-zones","title":"Azure Extended Zones","text":"
  • Azure Extended Zones: Azure Extended Zones are small-footprint extensions of Azure to serve low latency or data residency workloads Azure Extended Zones enable some key Azure services for customers to deploy. The control plane for these services remains in the region and the data plane is deployed at the Extended Zone site, resulting in a smaller Azure footprint.
"},{"location":"azure/#azure-sandbox","title":"Azure Sandbox","text":"
  • 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.
"},{"location":"azure/#azure-marketplace","title":"Azure Marketplace","text":"
  • AKS Bitnami Open Source Deployments \ud83c\udf1f - This article discusses leveraging Bitnami\u2019s 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 Firefly\u2019s 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.

"},{"location":"azure/#microsoft-rest-api-guidelines","title":"Microsoft REST API Guidelines","text":"
  • Microsoft REST API Guidelines \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
"},{"location":"azure/#azure-quick-review","title":"Azure Quick Review","text":"
  • github.com/Azure/azqr Azure Quick Review (azqr) is a command-line interface (CLI) tool specifically designed to analyze Azure resources and identify whether they comply with Azure\u2019s best practices and recommendations. Its primary purpose is to provide users with a detailed overview of their Azure resources, enabling them to easily identify any non-compliant configurations or potential areas for improvement.
"},{"location":"azure/#new-features","title":"New Features","text":"
  • Introducing Subnet Peering in Azure - This Microsoft Community Hub blog post introduces Subnet Peering in Azure, a new networking capability that allows users to peer specific subnets across local and remote Virtual Networks (VNETs). This feature offers enhanced flexibility compared to traditional VNET peering by enabling granular control over which subnets participate in the peering. Key benefits include IPv4 address space conservation through reuse, limiting unnecessary exposure of non-peered subnets across hub gateways, and implementing IPv6-only peering for dual-stack subnets. The article highlights use cases such as peering subnets with overlapping address spaces (in a hub-and-spoke model) and leveraging IPv6 for peering connectivity in dual-stack environments. It also addresses scenarios involving on-premises connectivity via gateways where specific subnets need to be exposed selectively.

  • azure.microsoft.com: General availability: Azure Bastion native client support

  • azure.microsoft.com: Generally available: SFTP support for Azure Blob Storage
  • azure.microsoft.com: Generally Available: Durable Functions support of managed identity for Azure Storage Azure Durable Functions support of managed identity for Azure Storage is now generally available! Instead of embedding secrets in connection strings, you can use an identity-based connection to access Azure Storage. The identity is managed by the Azure platform and does not require you to provision or rotate any secrets. See quickstart on how to configure managed identity for Azure Storage in your Durable Functions app.
  • Generally available: Azure Bastion now support shareable links
  • theregister.com: Microsoft has made Azure Linux generally available. Repeat, Azure Linux Come for the Kubernetes, stay for the containers
  • azure.microsoft.com: Azure Virtual Network Manager topology view now generally available AVNM is a highly scalable and available network management solution that allows you to simplify network management across subscriptions globally. Azure Resource Topology (ART) allows you to visualize the resources in your network \u2013 collaborating with AVNM results in a topology view contextualized by your AVNM connectivity configurations. Connectivity configuration in Azure Virtual Network Manager
  • hlokensgard.no: Azure Virtual Network Manager \u2013 A game changer or just a costly upgrade?
"},{"location":"azure/#blogs","title":"Blogs","text":"
  • Announcing Azure MCP Server 2.0 Stable Release for Self-Hosted Agentic Cloud Automation - (Related to ai-agents-mcp topic)
  • Which Azure Network is Cheaper? - A blog post comparing the costs of different Azure networking services to help users make more cost-effective decisions.
  • Manage Azure IPAM with Terraform \ud83c\udf1f - A blog post detailing how to provision and utilize Azure IPAM (IP Address Management) service using Terraform. It explains the benefits of IPAM in simplifying IP address allocation across teams and environments by abstracting the complexity of IP ranges, allowing consumers to request a specific number of addresses from a shared pool.
  • Building a DDoS Response Plan with Azure DDoS Protection \ud83c\udf1f - This blog post outlines the development of a comprehensive DDoS response strategy by leveraging the capabilities of Azure DDoS Protection. It details the types of DDoS attacks (Volumetric, Protocol, and Resource), and explains how Azure DDoS Protection, in conjunction with Azure Web Application Firewall (WAF), provides mitigation. The post emphasizes the importance of incident detection, communication protocols, and the overall creation of a robust plan to ensure the availability and performance of online services.
  • Limitless Kubernetes Scaling for AI and Data-intensive Workloads: The AKS Fleet Strategy - (Related to kubernetes topic)
  • Learn to Manage Investments and Cost Efficiency of Azure and AI Workloads - (Related to finops topic)
  • A Guide to Azure Data Transfer Pricing - This Microsoft Community Hub blog post provides a comprehensive guide to understanding Azure data transfer pricing. It breaks down costs by various use cases including VM to VM (same VNet, across VNets, same region, and global peering), VM to Private Endpoint, VM to Internal Standard Load Balancer, VM to Internet, and hybrid connectivity. The article aims to clarify the complexities of Azure networking charges for effective budget management.

  • techcommunity.microsoft.com

  • thomasthornton.cloud: Thomas Thornton
  • thomasmaurer.ch
  • CommandLine Ninja PowerShell, Active Directory, GPO & Azure Automation. Learn how to automate using PowerShell!
  • dotnetcurry.com
  • azurebrains.com: Azurebrains Blog sobre Tecnologias Cloud, Azure, Inteligencia Artificial, etc.
  • rutlandblog.com All Things Azure
"},{"location":"azure/#azure-training-and-certifications","title":"Azure Training and Certifications","text":"
  • johnthebrit/CertificationMaterials A collection of materials related to my certification videos
  • thomasmaurer.ch: How To Learn Microsoft Azure in 2022
  • charbelnemnom.com: Exam AZ-305: Microsoft Certified: Azure Solutions Architect Expert
  • learn.microsoft.com: Browse all courses, learning paths, and modules \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
  • freecodecamp.org: Azure Fundamentals Certification (AZ-900) \u2013 Pass the Exam With This Free 8-Hour Course
  • learn.microsoft.com: Practice Assessments for Microsoft Certifications
  • marketplace.visualstudio.com: Learn Cloud \ud83c\udf1f Guiding first-time cloud users to deploy to Azure PaaS
"},{"location":"azure/#azure-naming-convention","title":"Azure Naming Convention","text":"
  • docs.microsoft.com: Define your naming convention
    • seifbassem.com: Azure Naming Tool
  • justinoconnor.codes: Azure Periodic Table of Resource Naming Convention Shorthands
"},{"location":"azure/#mission-critical-architecture-on-azure","title":"Mission-critical Architecture on Azure","text":"
  • Azure ExpressRoute Resiliency: Best Practices for Production-Critical Workloads - (Related to aws-networking topic)

  • learn.microsoft.com: Mission-critical baseline architecture on Azure

  • learn.microsoft.com: Mission-critical workloads
"},{"location":"azure/#understand-azure-load-balancing","title":"Understand Azure Load Balancing","text":"
  • 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 - (Related to kubernetes-networking topic)

  • docs.microsoft.com: Understand Azure Load Balancing. Decision tree for load balancing in Azure

  • mvark.blogspot.com: Comparison of Azure Front Door, Traffic Manager, Application Gateway & Load Balancer
"},{"location":"azure/#azure-load-testing","title":"Azure Load Testing","text":"
  • Azure Load Testing
  • azure.microsoft.com: Microsoft Azure Load Testing is now generally available
  • github.com/Azure-Samples/azure-load-testing-samples \ud83c\udf1f Samples for Azure Load Testing
"},{"location":"azure/#microsoft-linux-distribution-cbl-mariner","title":"Microsoft Linux Distribution CBL Mariner","text":"
  • thenewstack.io: Deploying Microsoft\u2019s New Linux Distribution as a VM is Not Easy
  • github.com/microsoft/CBL-Mariner Linux OS for Azure 1P services and edge appliances
"},{"location":"azure/#azure-patterns","title":"Azure Patterns","text":"
  • Enterprise Web App Patterns - Azure Architecture Center - This article from the Azure Architecture Center outlines enterprise web app patterns, offering a structured approach for developers and architects to guide web applications through the cloud journey. It focuses on two phases, each addressing a common business goal and progressing towards more advanced web applications, with prescriptive guidance aligned with the Azure Well-Architected Framework.
  • Hub-Spoke Network Topology in Azure - Azure Architecture Center - This Microsoft Learn page details the hub-spoke network pattern as a recommended best practice for Azure network topology by the Cloud Adoption Framework. It provides an architecture diagram and explains the implementation of customer-managed hub infrastructure components. The page also references an alternative solution with Microsoft-managed hub infrastructure using Azure Virtual WAN.

  • mattfeltonma/azure-networking-patterns

  • docs.microsoft.com: Cloud Design Patterns \ud83c\udf1f
"},{"location":"azure/#arm-templates","title":"ARM Templates","text":"
  • AZVerify: Bridging Azure Resources, Bicep Templates, and Diagrams with GitHub Copilot - AZVerify is a GitHub repository that enhances GitHub Copilot\u2019s capabilities to synchronize Azure resources, Bicep templates, and live environment diagrams. It addresses the common issue of drift between these three sources of truth. The project provides skills for GitHub Copilot Chat and the Copilot CLI to facilitate this synchronization, allowing users to generate diagrams from Azure resources or vice versa, and ensuring consistency.
  • Export Terraform Code from the Azure Portal - (Related to terraform topic)
  • Terraform Azure Resource IPAM Module - (Related to terraform topic)
  • Announcing Public Preview of Terraform Export from the Azure Portal - (Related to terraform topic)
  • Announcing Public Preview of Terraform Export from the Azure Portal - (Related to terraform topic)
  • Enhancing Infrastructure as Code Generation with GitHub Copilot for Azure - (Related to iac topic)
  • Automate Terraform Testing with Azure DevOps Pipelines - (Related to terraform topic)
  • Terraform Provider for Azure IPAM - (Related to terraform topic)

  • azure.microsoft.com: Azure Quickstart Templates Deploy Azure resources through the Azure Resource Manager with community contributed templates to get more done. Deploy, learn, fork and contribute back.

  • thomasmaurer.ch: Learn how to deploy and manage Azure resources with ARM templates
  • techcommunity.microsoft.com: ARM Template Specs now GA!
  • docs.microsoft.com: Azure Resource Manager template specs
"},{"location":"azure/#devtest","title":"DevTest","text":"
  • learn.microsoft.com: DevTest and DevOps for microservice solutions
"},{"location":"azure/#azure-devops","title":"Azure DevOps","text":"
  • Azure DevOps Terraform Pipeline (Complete Guide + YAML Examples) - (Related to cicd topic)
  • Azure DevOps MCP Server - This repository contains the server-side implementation for the Microsoft Cloud Platform (MCP) agent, which integrates Azure DevOps capabilities directly with agent environments. It enables enhanced CI/CD workflows and DevOps automation by bringing Azure DevOps features to the agent level.
  • Azure DevOps MCP Server Public Preview - (Related to ai topic)
  • Automating Microsoft Sentinel Deployment with Azure DevOps CI/CD \ud83c\udf1f - This article demonstrates how to automate the deployment of Microsoft Sentinel using Azure DevOps CI/CD pipelines. It covers the setup of Sentinel resources, workspace configuration, and the integration with Azure DevOps for continuous integration and deployment.
  • AKS Labs - Introduction - (Related to kubernetes-tutorials topic)
  • Deploying to Azure: Secure Your GitHub Workflow with OIDC - (Related to cicd topic)
  • Dependabot Version Updates in Azure DevOps - (Related to cicd topic)
  • Securing Azure DevOps When Using Private Repositories - This article, originating from a LinkedIn post about securing Azure DevOps when utilizing private repositories, appears to be lost. The provided link redirects to a general LinkedIn \u2018Top Content\u2019 page, indicating the original content is unavailable. Therefore, its technical value and cataloging are impossible.
  • Terraform: Get User Principal Name (UPN) of User Running Deployment without Entra ID Read Permissions - (Related to terraform topic)
  • Four Methods to Access Azure Key Vault from Azure Kubernetes Service (AKS) - (Related to kubernetes-security topic)
  • Automate Pull Request Descriptions in Azure DevOps with Azure OpenAI - (Related to cicd topic)
  • Update to Azure DevOps Allowed IP Addresses - This post announces upcoming changes to Azure DevOps networking infrastructure, requiring users to allow list new IP addresses in their firewall configurations. These updates are aimed at enhancing performance, speed, and stability of Azure DevOps services, with a transition period to ensure a smooth migration. The new IPv4 and IPv6 ranges, as well as ExpressRoute IP ranges, are provided.

  • Azure DevOps \ud83c\udf1f

  • Azure DevOps Labs \ud83c\udf1f
  • github.com/nnellans/ado-pipelines-guide: Azure DevOps YAML Pipelines Guide \ud83c\udf1f
  • docs.microsoft.com: Build applications with Azure DevOps (Learning Path)
  • docs.microsoft.com: Azure Pipelines documentation Implement continuous integration and continuous delivery (CI/CD) for the app and platform of your choice.
  • microsoft/azure-pipelines-tasks
  • info.acloud.guru: Deploying your first kubernetes app with Azure DevOps
  • info.acloud.guru: Azure DevOps VS GitHub: Comparing Microsoft\u2019s DevOps Twins
  • techcommunity.microsoft.com: Building a path to success for microservices and .NET Core - Project Tye + GitHub Actions
  • medium: Azure DevOps HandBook !
  • Azure DevOps Tips: \u201cEach\u201d Loops
  • cloudskills.io: Getting Started with Git and Azure DevOps: The Ultimate Guide \ud83c\udf1f
  • zartis.com: Simplify Your SDLC with Azure DevOps
  • devblogs.microsoft.com: Controlling Release Pipelines with Gates and Azure Policy Compliance \ud83c\udf1f
  • youtube: Azure DevOps Pipeline and Image Builder
  • dev.to: Setting up a CI-CD Pipeline Using Azure DevOps \ud83c\udf1f
  • zartis.com: Simplify Your SDLC with Azure DevOps \ud83c\udf1f
  • thomasthornton.cloud: Scout Suite reports using Azure DevOps Pipeline Interesting article on how to fecth az DevOps pipelines reports as a static website
  • Azure DevOps Dashboard
  • cloud.google.com: Crea una canalizaci\u00f3n de CI/CD con Azure Pipelines y Compute Engine
  • letsdevops.net: Introduction to Azure DevOps for Beginners - Create CI/CD Pipelines, Setup Repository \ud83c\udf1f
  • kevinrchant.com: Increase in demand for Data Platform automation
    • kevinrchant.com: Introducing my Azure DevOps templates for Data Platform deployments
  • dotnetcurry.com: Customization of Work Items in Azure DevOps and Azure DevOps Server 2020
  • thomast1906/DevOps-The-Hard-Way-Azure \ud83c\udf1f This repository contains free labs for setting up an entire workflow and DevOps environment from a real-world perspective in Azure
  • thinksys.com: Azure DevOps Pipeline Complete Guide 2022
  • techcommunity.microsoft.com: CICD in Synapse SQL: How to deliver your database objects across multiple environments
  • medium.com/geekculture: Provision resources on AWS with Azure DevOps and Terraform \u2014 Part I
    • medium.com/geekculture: Provision resources on AWS with Azure DevOps and Terraform \u2014 Part II
  • medium.com/@sdevsecops: How to implement DevSecOps in a Kubernetes cluster environment-Github Actions and Azure DevOps
  • learn.microsoft.com: Azure DevOps Templates - Template types & usage \ud83c\udf1f\ud83c\udf1f
  • medium.com/geekculture: Continuous Deployment with Azure DevOps Pipelines and Kubernetes Create a Continuous Deployment workflow for your application
  • techcommunity.microsoft.com: Azure DevOps Pipelines: If Expressions and Conditions \ud83c\udf1f
  • linkedin.com: Complete CI/CD Solution for mS on AKS using Azure DevOps, ArgoCD and External Kubernetes Secretes \ud83c\udf1f
  • techcommunity.microsoft.com: Introduction to Azure DevOps Workload identity federation (OIDC) with Terraform
  • datascientest.com: Azure DevOps Pipeline YAML: why configure CI/CD pipelines with YAML?
  • thomasthornton.cloud: Conditional Variables in Azure DevOps Pipelines
  • build5nines.com: Azure Pipeline: Publish Unit Test and Code Coverage Results with .NET 7 Solution using VSTest, Cobertura, and Coverlet
  • thomasthornton.cloud: Adding pull-request comments to Azure DevOps Repo from Azure DevOps Pipelines
  • towardsdev.com: Azure DevOps Project Creation and Setup via Terraform
  • thomasthornton.cloud: Deploy Terraform using Azure DevOps
  • blog.johnfolberth.com: Resources and posts for those figuring out DevOps in Azure
  • medium.com/@muppedaanvesh: Azure DevOps \u2014 Self Hosted Agents on Kubernetes \u2014 PART-1 Unlocking Efficiency and Scalability for Your CI/CD Workflows
  • medium.com/@DevOps-Diva.o: Implementing Security on Azure DevOps Pipelines
  • luke.geek.nz/azure: Export Azure DevOps Repositories to Azure Storage Account
  • learn.microsoft.com: Managed DevOps Pools documentation Managed DevOps Pool is a fully managed service where VMs or containers powering the agents will live in a Microsoft Azure subscription and not in your own Azure subscription.
  • youtube: Managed DevOps Pools for Azure DevOps | Full Overview & Demo \ud83c\udf1f
"},{"location":"azure/#azure-devops-backup-tool","title":"Azure DevOps Backup Tool","text":"
  • https://github.com/michaelmsonne/AzureDevOpsBackupTool
  • blog.sonnes.cloud: Introducing Azure DevOps Backup Tool 1.1.0.0: Major update with new features, bug fixes and enhanced security!
"},{"location":"azure/#azure-devops-vs-github-actions","title":"Azure DevOps vs GitHub Actions","text":"
  • datascientest.com: Azure DevOps vs GitHub Actions: Which is the best CI/CD tool?
"},{"location":"azure/#yaml-schema-in-devops-azure-pipelines","title":"YAML Schema in DevOps Azure Pipelines","text":"
  • DevOps Azure Pipelines: YAML Schema
"},{"location":"azure/#azure-pipeline-tasks","title":"Azure Pipeline Tasks","text":"
  • Install Java 23 in an Azure DevOps Pipeline - This article provides a step-by-step guide on how to install Java 23 within an Azure DevOps pipeline, specifically when the default JavaToolInstaller task does not support the desired version. It outlines the necessary scripts to download, extract, and configure Java 23, setting JAVA_HOME and updating the PATH environment variables, and then demonstrates how to use it with a Maven build.

  • Microsoft/azure-pipelines-tasks This repo contains the tasks that are provided out-of-the-box with Azure Pipelines and Team Foundation Server. This provides open examples on how we write tasks which will help you write other tasks which can be uploaded to your account or server.

    • github.com/datakickstart
"},{"location":"azure/#azure-devops-templates-or-snippets","title":"Azure DevOps Templates or Snippets","text":"
  • github.com/JFolberth/TheYAMLPipelineOne \ud83c\udf1f
  • gist.github.com: This snippet contains the steps to generate a terraform plan and post it as a comment of a pull request in Azure DevOps

    - script: |\n    terraform plan -out tf.tfplan\ndisplayName: Generate Terraform plan\n\n- script: |\n    terraform show -no-color tf.tfplan > $(Agent.TempDirectory)/tf.txt\ndisplayName: Convert Terraform plan to text\n\n- bash: |\n    cd $(Agent.TempDirectory)\n    ENCODED_URL=$(echo \"$(System.CollectionUri)$(System.TeamProject)/_apis/git/repositories/${{ variables.SourceRepositoryName }}/pullRequests/$(System.PullRequest.PullRequestId)/threads?api-version=7.0\" | sed 's/ /%20/g')\n    jq --rawfile comment tf.txt '.comments[0].content=$comment' <<< '{\"comments\": [{\"parentCommentId\": 0,\"content\": \"\",\"commentType\": 1}],\"status\": 1}' |\n    curl --request POST \"$ENCODED_URL\" \\\n    --header \"Content-Type: application/json\" \\\n    --header \"Accept: application/json\" \\\n    --header \"Authorization: Bearer $SYSTEM_ACCESSTOKEN\" \\\n    --data @- \\\n    --verbose\nenv:\n    SYSTEM_ACCESSTOKEN: $(System.AccessToken)\ndisplayName: 'Post comment with Terraform Plan'\n
"},{"location":"azure/#databricks-cicd-with-azure-devops","title":"Databricks CI/CD with Azure DevOps","text":"
  • youtube: Databricks CI/CD: Azure DevOps Pipeline + DABs 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.
"},{"location":"azure/#azure-ad-and-rbac-azure-tenant-and-azure-subscription-service-principal-spn-microsoft-entra","title":"Azure AD and RBAC. Azure Tenant and Azure Subscription. Service Principal SPN. Microsoft Entra","text":"
  • Automating Microsoft Entra ID with Terraform: From CSV to Users and RBAC in Minutes - (Related to terraform topic)
  • 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 - (Related to kubernetes-security topic)

  • stackoverflow.com: What is the difference between an Azure tenant and Azure subscription?

  • marckean.com: Azure Vs Azure AD \u2013 Accounts / Tenants / Subscriptions
  • blogit.create.pt: Pros and Cons of Single Tenant vs Multiple Tenants in Office 365
  • learn.microsoft.com: Classic subscription administrator roles, Azure roles, and Azure AD roles
  • learn.microsoft.com: Subscriptions, licenses, accounts, and tenants for Microsoft\u2019s cloud offerings
  • learn.microsoft.com: Azure subscription and service limits, quotas, and constraints
    • learn.microsoft.com: Azure Active Directory limits
  • itnext.io: Secure Azure Cosmos DB access by using Azure Managed Identities Getting rid of passwords (or connection strings) while accessing Azure services and instead making use of Managed Identities is a way to increase the security of your workloads. Learn how to use Managed Identities in this article.
  • youtube.com: Azure Service Principal - SPN | Houssem Dellai
  • youtube.com: How to create Service Principals in Azure Portal | Raaviblog
  • techcommunity.microsoft.com: Dynamic user membership rules, Azure Active Directory Administrative Units and password reset! \ud83c\udf1f
  • learn.microsoft.com: Application registration permissions for custom roles in Azure Active Directory
  • learn.microsoft.com: What are Azure Active Directory recommendations? \ud83c\udf1f\ud83c\udf1f
  • learn.microsoft.com: Multi-tenant user management introduction
  • learn.microsoft.com: Delegate Azure role assignment management to others with conditions
  • codewithme.cloud: Why aren\u2019t you using Managed Identities?!
  • linkedin.com/pulse: No Credentials, No Problem - using Azure Managed Identity
  • learn.microsoft.com/nb-no: Delegate Azure role assignment management to others with conditions
  • learn.microsoft.com/en-us: Azure built-in roles \ud83c\udf1f\ud83c\udf1f
  • techcommunity.microsoft.com: Azure Permissions 101: How to manage Azure access effectively
  • techcommunity.microsoft.com: Important: Azure AD Graph Retirement and Powershell Module Deprecation
  • journeyofthegeek.com: Azure Authorization \u2013 Azure RBAC Delegation
  • mattias.engineer: Azure Federated Identity Credentials for GitHub
"},{"location":"azure/#register-applications-in-azure-ad-authenticate-apps-and-services","title":"Register applications in Azure AD. Authenticate apps and services","text":"
  • agrenpoint.com: Azure AD & Microsoft Graph permission scopes, with Azure CLI In this small post, we will look at a scenario where we want to register an Azure AD Application using specific scopes. When adding scopes for service principals using the Azure CLI we need to use the internal Ids. And one way would be to manually create one registration, get that app and then print out the scopes and then copy and paste.
  • medium.com/medialesson: Create Azure Active Directory App Registration with Azure CLI
  • inkoop.io: How to get Azure API Credentials How to create an application in Azure active directory and get subscription id, tenant id, client id, client secret and generate management certificates. You will need these keys to access Azure API.
  • docs.microsoft.com: Use the portal to create an Azure AD application and service principal that can access resource
  • medium.com/medialesson: Assigning Azure built-in roles vs Azure AD built-in roles with Azure CLI Depending on what action you are trying to perform in Azure you might require either to be member of a certain Azure role or a certain Azure AD role. For example if we want an identity to create an app registration in Azure AD we need the role Application Administrator which is part of the Azure AD roles. When we want to create a resource in a certain resource group we need the Contributor role which is part of the Azure AD and typically scoped to a either a subscription, a resource group or a distinct resource.
  • microsoftgraph/msgraph-sdk-powershell/samples: 9-Applications.ps1
  • vcloud-lab.com: Get started and configure certificate-based authentication in Azure
  • vcloud-lab.com: Create an Azure App registrations in Azure Active Directory using PowerShell & AzureCLI
  • nathannellans.com: App Registrations, Enterprise Apps, and Service Principals \ud83c\udf1f
    • nathannellans.com: Application Registrations and Enterprise Apps - Part 2 \ud83c\udf1f
"},{"location":"azure/#azure-ad-pen-testing","title":"Azure AD Pen Testing","text":"
  • zer1t0.gitlab.io: Attacking Active Directory: 0 to 0.9 \ud83c\udf1f
"},{"location":"azure/#azure-arc-azures-hybrid-and-multi-cloud-platform-gitops-with-azure-arc","title":"Azure Arc. Azure\u2019s Hybrid And Multi-Cloud Platform. GitOps with Azure Arc","text":"
  • Announcing Private Preview: ArgoCD through Microsoft GitOps - (Related to gitops topic)

  • Azure Arc overview Alternative to Google Anthos or RHACM

  • azurearcjumpstart.io - microsoft/azure_arc
    • architecture diagrams and slides
  • techcommunity.microsoft.com: Standardize DevOps practices across hybrid and multicloud environments With Azure Arc-enabled Kubernetes, you can attach and configure Kubernetes clusters located either inside or outside Azure.
  • docs.microsoft.com: CI/CD workflow using GitOps (Flux v2) - Azure Arc enabled Kubernetes
  • thomasmaurer.ch: Run cloud-native apps on Azure PaaS anywhere
  • seifbassem.com: SSH into your Azure Arc-enabled servers from anywhere
"},{"location":"azure/#secure-devops-kit-for-azure","title":"Secure DevOps Kit for Azure","text":"
  • Secure DevOps Kit for Azure
  • DevOpsKit-docs
  • ismiletechnologies.com: Secure DevOps Kit For Azure(AzSK)
"},{"location":"azure/#azure-app-service","title":"Azure App Service","text":"
  • Azure App Service Auto-Heal: Capturing Relevant Data During Performance Issues \ud83c\udf1f - This blog post details Azure App Service Auto-Heal, a diagnostic and recovery feature designed to proactively detect and mitigate application performance issues. It explains how Auto-Heal can be configured with custom rules based on metrics like request duration and memory usage to trigger automatic corrective actions such as recycling the application process, collecting diagnostic dumps, or logging additional telemetry. The goal is to minimize downtime, improve reliability, and facilitate efficient troubleshooting by capturing vital diagnostic data.

  • learn.microsoft.com: Environment variables and app settings in Azure App Service

  • learn.microsoft.com: Configure a Java app for Azure App Service
  • learn.microsoft.com: Configure a custom container for Azure App Service
  • returngis.net: Acceder a un App Service con Private Endpoint desde otra Vnet
  • youtube: How to run an App Service Web App on Azure Arc-enabled Kubernetes - Part 2 | Azure Tips and Tricks
  • azure.github.io/AppService: General availability of Diagnostics tools for App Service on Linux Node.js apps
"},{"location":"azure/#azure-application-gateway","title":"Azure Application Gateway","text":"
  • Application Gateway for Containers: Istio Integration - (Related to istio topic)
  • Application Gateway for Containers with AKS Overlay Networking and VNet Flow Logs - (Related to kubernetes-networking topic)
  • Introduction to Azure Application Gateway for Containers (AGC) - A detailed introduction to Azure Application Gateway for Containers (AGC), a reverse proxy solution for Kubernetes workloads. This post covers its architecture, components, and how it differs from the previous Application Gateway Ingress Controller (AGIC), focusing on benefits like external deployment to conserve cluster resources and faster reconfiguration times.

  • nathannellans.com: Azure Application Gateway - Part 1 \ud83c\udf1f

  • acethecloud.com: Which is better Azure App Gateway or Nginx configured on Azure VMs
"},{"location":"azure/#azure-functions","title":"Azure Functions","text":"
  • Azure Functions Cost Considerations and Optimization - (Related to serverless topic)

  • learn.microsoft.com: AZ-204: Implement Azure Functions \ud83c\udf1f

  • azurebrains.com: Despliega tu Azure Function App con Terraform y Azure DevOps \ud83c\udf1f
"},{"location":"azure/#azure-monitor","title":"Azure Monitor","text":"
  • Monitor your Azure cloud estate - Cloud Adoption Framework - This Microsoft Learn article outlines how to plan, configure, and optimize monitoring for Azure cloud environments. It covers integrating data from other clouds, on-premises, and edge locations, and details monitoring responsibilities based on deployment models (IaaS, PaaS, SaaS). The article emphasizes defining a monitoring strategy to detect, diagnose, and predict issues.

  • techcommunity.microsoft.com: Azure Monitor Logs Next Evolution: Multi-tier logging

"},{"location":"azure/#azure-monitor-managed-service-for-prometheus","title":"Azure Monitor managed service for Prometheus","text":"
  • techcommunity.microsoft.com: Introducing Azure Monitor managed service for Prometheus \ud83c\udf1f
  • techcommunity.microsoft.com: How To Monitor Your Multi-Tenant Solution on Azure With Azure Monitor
  • techcommunity.microsoft.com: Advanced Network Observability for your Azure Kubernetes Service clusters through Azure Monitor
"},{"location":"azure/#azure-log-analytics","title":"Azure Log Analytics","text":"
  • havanrijn.wordpress.com: Don\u2019t let Azure Log Analytics break the bank
"},{"location":"azure/#azure-grafana","title":"Azure Grafana","text":"
  • techcommunity.microsoft.com: Azure Orphan Resources Grafana Dashboard
"},{"location":"azure/#mobile-apps","title":"Mobile Apps","text":"
  • Visual Studio App Center VS Azure Pipelines
  • itnext.io: How to setup CI CD pipelines for Android with Azure DevOps At Royale Cheese initially we had setup CI/CD for Android via Microsoft\u2019s Visual Studio App Center (an upgrade of Hockey App), but last year they declared the retirement of MBaas which got us worried about the overall future of VS App Center. That was one of the reasons we wanted to switch away from it. Secondly, the free tier provided around 400 minutes of build time per month per account which would had been sufficient for other technologies, but Android takes around 15 minutes to create a single build and deploy. We all know what gradle is capable of \ud83d\ude09. So having multiple apps (both iOS and Android) in the same account didn\u2019t fare well.
  • arjavdave.com: Continuous Integration: CI/CD for iOS (Part 1)
  • sahansera.dev: Multi-stage builds for Ionic Apps with Azure Pipeline Templates
  • sahansera.dev: Publishing Android Apps to Microsoft App Center from Azure DevOps
  • yoshevski.medium.com: Cost-effective Azure Devops and AppCenter integration
  • youtube: Signing & Versioning iOS & Android Apps | DevOps for Mobile
"},{"location":"azure/#powershell","title":"Powershell","text":"
  • PowerShell
  • PowerShell Gallery \ud83c\udf1f The central repository for sharing and acquiring PowerShell code including PowerShell modules, scripts, and DSC resources.
  • PowerShell Community
  • reddit.com: PowerShell Core yaml support?
  • powershellmagazine.com
  • dbatools.io SQL Server instance migrations and best practice implementation.
  • thomasmaurer.ch: PowerShell: Download script or file from GitHub
  • deepinstinct.com: What makes powershell a challenge for cybersecurity solutions? \ud83c\udf1f
  • fedoramagazine.org: PowerShell on Linux? A primer on Object-Shells
  • sqlservercentral.com: Powershell Day by Day: Adding Help to Scripts
  • dahlbyk/posh-git A PowerShell environment for Git
  • blog.guybarrette.com: Powershell prompt: How to display your current Kubernetes context using Oh-My-Posh 3 \ud83c\udf1f
  • jinwookim928.medium.com: Automation Script for Git Flow on PowerShell
  • youtube: Azure PowerShell account management with Azure contexts | A Cloud Guru \ud83c\udf1f If you\u2019ve been using Azure PowerShell, you might\u2019ve noticed that when you launch a script, you\u2019ll need to authenticate. When you have multiple Azure subscriptions with their own resources, this makes account management difficult. Mark Mikula demonstrates how you can manage multiple Azure subscriptions through Azure Contexts in PowerShell
  • hackingarticles.in: PowerShell for Pentester: Windows Reverse Shell We\u2019ll explore how to acquire a reverse shell using Powershell scripts on the Windows platform.
  • hashicorp.com: Managing Terraform Cloud With PowerShell
  • acloudguru.com: The Beginner\u2019s Guide to Azure PowerShell: One Shell to Rule Them All
  • techcommunity.microsoft.com: An example why PowerShell is so important!
  • jdhitsolutions.com: Profile PowerShell Functions
  • devblogs.microsoft.com: When PowerShellGet v1 fails to install the NuGet Provider
  • techcommunity.microsoft.com: An example why PowerShell is so important! Create 500 training (test) accounts
  • commandline.ninja: Use Powershell to find windows services configured to run as another user
  • techcommunity.microsoft.com: Use PowerShell to retrieve all assigned Intune policies and applications per Azure AD group!
  • softzone.es: Por qu\u00e9 me interesa m\u00e1s usar PowerShell en lugar de CMD
  • mssqltips.com: PowerShell for the DBA - If Else and Switch statements
  • 4sysops.com: Use PsExec and PowerShell together How to run PowerShell commands remotely with PsExec
  • dotnet-helpers.com: Passing Local Variables to Remote PowerShell session
  • techcommunity.microsoft.com: Use PowerShell to search for accounts in Active Directory that have gone stale!
  • techcommunity.microsoft.com: Azure Storage Blob Count & Capacity usage Calculator This PowerShell script allow you to count and calculate Azure Storage blob usage for Soft Deleted / non-Soft Deleted objects, by Container, by Tier, with Prefix, and considering Last Modified Date. Azure Storage blob objects is defined as Base Blobs, Blob Snapshots or Blob Versions.
  • dotnet-helpers.com: Azure KeyVault Set and Retrieve Secrets using Powershell \ud83c\udf1f
  • thomasmaurer.ch: Enable PowerShell SSH Remoting in PowerShell 7
  • hlokensgard.no: Get started with PowerShell 7.2 in Azure Automation Account
  • techcommunity.microsoft.com: Azure PowerShell Tips and Tricks
  • techcommunity.microsoft.com: Announcing a new login experience with Azure PowerShell and Azure CLI
"},{"location":"azure/#azure-enterprise-policy-as-code-epac","title":"Azure Enterprise Policy As Code (EPAC)","text":"
  • azure.github.io/enterprise-azure-policy-as-code: Enterprise Azure Policy as Code Overview Enterprise Azure Policy as Code (EPAC for short) is a number of PowerShell scripts which can be used in CI/CD based system or a semi-automated use to deploy Policies, Policy Sets, Policy Assignments, Policy Exemptions and Role Assignments. It also contains operational scripts to simplify operational tasks.
"},{"location":"azure/#microsoft-graph-powershell-sdk","title":"Microsoft Graph PowerShell SDK","text":"
  • microsoftgraph/msgraph-sdk-powershell The Microsoft Graph PowerShell SDK is a collection of PowerShell modules that contain commands for calling Microsoft Graph service.
  • microsoftgraph/msgraph-sdk-powershell: samples
    • Samples: how to create a corresponding service principal from an application
  • docs.microsoft.com: Microsoft Graph migration Due to the deprecation of Azure Active Directory (Azure AD) Graph, the underlying Active Directory Graph API will be replaced by Microsoft Graph API in Azure CLI 2.37.0.
  • techtarget.com: Get up to speed with PowerShell and the Microsoft Graph API Microsoft plans to retire technologies that admins depend on to handle Office 365 and other cloud services via PowerShell. Learn how to start with this newer management method.
  • rakhesh.com: Graph cmdlets and Azure AD App Registrations
  • blog.yannickreekmans.be: Secretless applications: add permissions to a Managed Identity Your Managed Identity needs permissions to access other Azure resources or even other Azure AD protected applications and APIs. This is how you do that!
    • YannickRe/msgraph-utility-scripts
  • practical365.com: The Ups and Downs of Connecting to the Microsoft Graph Using the PowerShell SDK
  • practical365.com: Using Certificate-based Authentication with the Microsoft Graph PowerShell SDK
"},{"location":"azure/#powershell-repos","title":"Powershell repos","text":"
  • Abhisheksinhacoder/collection-of-useful-scripts
  • jrussellfreelance/powershell-scripts
  • github.com/search?l=powershell
  • systemcenterdudes.com: Create Operational SCCM Collection Using Powershell Script
    • prae1809/PowerShell-Scripts: OperationalCollections This script will create a set of 134 SCCM collections for your various needs. These collections can be used for operational tasks afterward.
  • github.com/Mr-Un1k0d3r/ATP-PowerShell-Scripts Microsoft Signed PowerShell scripts
  • shudnow.io - github.com/ElanShudnow/AzureCode A place to share all the Azure Code I am writing. This includes PowerShell, Terraform, ARM, Bicep, Ansible, etc\u2026
    • github.com/ElanShudnow/AzureCode: AzVNETOverlap.ps1 This script creates will output any VNET that overlaps with another VNET.
  • github.com/admindroid-community/powershell-scripts: PowerShell Scripts for Microsoft 365 Management, Reporting, and Auditing Office 365 Reporting PowerShell Scripts
"},{"location":"azure/#crescendo-powershell-module","title":"Crescendo powershell module","text":"
  • Crescendo is an experimental module developed by Jim Truher, one of the main developers of PowerShell. Crescendo provides a framework to rapidly develop PowerShell cmdlets that wrap native commands, regardless of platform. The goal of a Crescendo-based module is to create PowerShell cmdlets that use a native command-line tool, but unlike the tool, return PowerShell objects instead of plain text.
  • devblogs.microsoft.com: My Crescendo journey
  • powershellgallery.com: Microsoft.PowerShell.Crescendo Module that improves user experience with native commands
  • visualstudiomagazine.com: PowerShell Crescendo Now Generally Available
"},{"location":"azure/#secrets-management-with-powershell","title":"Secrets Management with Powershell","text":"
  • https://www.powershellgallery.com/packages/Microsoft.PowerShell.SecretManagement
  • https://www.powershellgallery.com/packages/Microsoft.PowerShell.SecretStore
  • commandline.ninja: Video Intro to Secret Management with Powershell
"},{"location":"azure/#azure-resource-inventory","title":"Azure Resource Inventory","text":"
  • github.com/microsoft/ARI: Azure Resource Inventory \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Azure Resource Inventory - It\u2019s a Powerful tool to create EXCEL inventory from Azure Resources with low effort
"},{"location":"azure/#azure-cli-az-cli","title":"Azure CLI. AZ CLI","text":"
  • argonsys.com: How to query Azure resources using the Azure CLI
  • docs.microsoft.com: Expand virtual hard disks on a Linux VM with the Azure CLI
  • techcommunity.microsoft.com: Announcing template-based previews of Azure CLI and Azure PowerShell for Key Vault deployments
  • build5nines.com: Azure Resource Tags: Important Organization Strategies and Tips \ud83c\udf1f
  • build5nines.com: Azure CLI: Check if Blob Exists in Azure Storage
"},{"location":"azure/#azure-run-command","title":"Azure Run Command","text":"
  • mandiant.com: Azure Run Command for Dummies
  • docs.microsoft.com: Run scripts in your Linux VM by using action Run Commands
  • docs.microsoft.com: Run scripts in your Windows VM by using action Run Commands
"},{"location":"azure/#iac-with-powershell-dsc-desired-state-configuration","title":"IaC with PowerShell DSC Desired State Configuration","text":"
  • docs.microsoft.com: Desired State Configuration overview for decision makers \ud83c\udf1f
  • docs.microsoft.com: Using configuration data in DSC
  • octopus.com: Getting started with PowerShell Desired State Configuration (DSC) PowerShell DSC is an Infrastructure as Code (IaC) technology that uses PowerShell to create Managed Object Format (MOF) files, which Windows Management Instrumentation (WMI) can use to configure a machine. In other words, PowerShell DSC uses PowerShell to programmatically configure your Windows-based computers. Additionally, DSC can monitor the state of the configured resources to make sure your machines stay consistent. Along with monitoring, DSC can also automatically correct the configuration of your system, so it\u2019s always in the desired state. PowerShell != PowerShell DSC
"},{"location":"azure/#azure-bicep","title":"Azure Bicep","text":"
  • Bicep Bicep is a Domain Specific Language (DSL) for deploying Azure resources declaratively.
  • github.com/johnlokerse/azure-bicep-cheat-sheet: Azure Bicep Cheat Sheet Quick-reference guide on Azure Bicep \ud83d\udcaa\ud83c\udffb
  • github.com/nnellans/bicep-guide
  • faun.pub: From Terraform to Azure Bicep: What You Need to Know about syntax
  • techcommunity.microsoft.com: How to install an AKS cluster with the Istio service mesh add-on via Bicep
  • techcommunity.microsoft.com: (Part-1) Leverage Bicep: Standard model to Automate Azure IaaS deployment
  • blog.cloudtrooper.net: Deploy (Azure) Network-as-Code as a champ
  • learn.microsoft.com: Discover misconfigurations in Infrastructure as Code (IaC)
  • insight-services-apac.github.io: Getting Started with Bicep
  • build5nines.com: Get Started with Azure Bicep \u2013 Alternative to ARM Templates
  • linkedin.com/pulse: Exporting and importing variables between Bicep files: compileTimeImports | Freek Berson
  • luke.geek.nz: Using the Azure Naming Tool API to name your Bicep resources
  • microsoft.com: Revolutionizing our ARM template deployment at Microsoft with shift from JSON to BICEP
  • techcommunity.microsoft.com: Infra in Azure for Developers - The How (Part 2)
  • johnlokerse.dev: Lint Azure Bicep templates in Azure DevOps
  • techcommunity.microsoft.com: Announcing public preview of Bicep templates support for Microsoft Graph
  • github.com/Azure-Samples/azure-ai-studio-secure-bicep This repository contains a collection of Bicep modules designed to deploy a secure Azure AI Studio environment with robust network and identity security restrictions.
    • Deploy Secure Azure AI Studio with a managed virtual network
"},{"location":"azure/#azure-verified-modules","title":"Azure Verified Modules","text":"
  • azure.github.io/Azure-Verified-Modules \ud83c\udf1f Azure Verified Modules (AVM) is an initiative to consolidate and set the standards for what a good Infrastructure-as-Code module looks like. Modules will then align to these standards, across languages (Bicep, Terraform etc.) and will then be classified as AVMs and available from their respective language specific registries.
  • youtube: Code To Cloud - Getting Started With: Azure Verified Modules
  • learn.microsoft.com: Introduction to using Azure Verified Modules for Terraform - github.com/azure-samples/avm-terraform-labs
"},{"location":"azure/#azure-cross-region-load-balancer","title":"Azure Cross region Load Balancer","text":"
  • azure.microsoft.com: How Microsoft Azure Cross-region Load Balancer helps create region redundancy and low latency \ud83c\udf1f
"},{"location":"azure/#azure-traffic-manager","title":"Azure Traffic Manager","text":"
  • Azure Traffic Manager
"},{"location":"azure/#azure-dns","title":"Azure DNS","text":"
  • learn.microsoft.com: What is Azure DNS Private Resolver? Azure DNS Private Resolver is a new service that enables you to query Azure DNS private zones from an on-premises environment and vice versa without deploying VM based DNS servers. Customers will no longer need to provision IaaS based solutions on their Virtual Networks to resolve names registered on Azure Private DNS Zones and will be able to do conditional forwarding of domains back to on-prem, multi-cloud and public DNS servers.
  • aidanfinn.com: Script \u2013 Document All Azure Private DNS Zones This post contains a script that will find all Azure Private DNS Zones in a tenant and export information on screen and as markdown in a file.
  • techcommunity.microsoft.com: Centralized private resolver architecture implementation using Azure private DNS resolver
"},{"location":"azure/#azure-openvpn","title":"Azure OpenVPN","text":"
  • Create an Azure Active Directory tenant for P2S OpenVPN protocol connections
"},{"location":"azure/#azure-security","title":"Azure Security","text":"
  • techcommunity.microsoft.com: Security Control: Implement security best practices
  • github.com/Cloud-Architekt: Azure AD - Attack and Defense Playbook This publication is a collection of various common attack scenarios on Azure Active Directory and how they can be mitigated or detected.
  • devops.com: DevSecOps in Azure
  • learn.microsoft.com: SC-100: Design a Zero Trust strategy and architecture [ARCHIVED]
    • https://github.com/MicrosoftLearning/SC-100-Microsoft-Cybersecurity-Architect
  • learn.microsoft.com: Azure network security overview
  • learn.microsoft.com: Conditional Access templates
  • learn.microsoft.com: Conditional Access architecture and personas
"},{"location":"azure/#azure-microsoft-defender-for-cloud","title":"Azure Microsoft Defender for Cloud","text":"
  • github.com/Azure/Microsoft-Defender-for-Cloud Network Security Dashboard for Microsoft Defender for Cloud
  • techcommunity.microsoft.com: Microsoft Announces General Availability of Defender for APIs
  • techcommunity.microsoft.com: What\u2019s new in Defender: How Copilot for Security can transform your SOC
"},{"location":"azure/#microsoft-sentinel","title":"Microsoft Sentinel","text":"
  • techcommunity.microsoft.com: Monitoring Microsoft Sentinel Reports with Dashboard Hub & Power BI
"},{"location":"azure/#microsoft-copilot-for-azure","title":"Microsoft Copilot for Azure","text":"
  • build5nines.com: Introducing Microsoft Copilot for Azure
"},{"location":"azure/#azure-virtual-wan-vwan","title":"Azure Virtual WAN. vWAN","text":"
  • Azure Virtual WAN introduces its first SaaS offering
"},{"location":"azure/#azure-fleet","title":"Azure Fleet","text":"
  • github.com/azure/fleet Multi-cluster core
"},{"location":"azure/#data-ingestion-azure-data-factory","title":"Data Ingestion. Azure Data Factory","text":"
  • medium.com/codex: 7 Best Practices for Data Ingestion
    • Data engineering is the practice of designing and building systems for collecting, storing, and analyzing data at scale.
    • Data Ingestion is defined as the process of absorbing data from a vast multitude of sources, and then transferring it to a target site where it can be analyzed and deposited.
    • A Data Engineer spends more than 50% of his time writing different pipelines that move data from one place to another. There are two basic frameworks to achieve the same:
      • ETL: Extract \u2014 Transform \u2014 Load
      • ELT: Extract \u2014 Load \u2014 Transform
    • However, in both the frameworks the common element is to be able to extract the data and load it into another destination. This is Data Ingestion.
    • On a broad categorization, there are mainly 3 types of Data Ingestion:
      • Batch-based Data Ingestion: Batch-based ingestion happens at a regularly scheduled time. The data is ingested in batches. This is important when a business needs to monitor daily reports, ex: sales reports for different stores. This is the most commonly used data ingestion use case.
      • Real-time/Streaming Data Ingestion:
        • The process of gathering and transmitting data from source systems in real-time solutions such as Change Data Capture (CDC) is known as Real-Time Data Ingestion.
        • CDC or Streaming Data captures any changes, new transactions, or rollback in real time and moves changed data to the destination, without impacting the database workload.
        • Real-Time Ingestion is critical in areas like power grid monitoring, operational analytics, stock market analytics, dynamic pricing in airlines, and recommendation engines.
      • Lambda-based Data Ingestion Architecture: Lambda architecture in Data ingestion tries to use the best practices of both batch and real-time ingestion.
        • Batch Layer: Computes the data based on the whole picture. This is more accurate however is slower to compute.
        • Speed Layer: Is used for real-time ingestion, the computed data might not be completely accurate, however, gives a real-time picture of the data.
        • Serving layer: The outputs from the batch layer in the form of batch views and those coming from the speed layer in the form of near real-time views get forwarded to the serving. This layer indexes the batch views so that they can be queried in low latency on an ad-hoc basis.
  • mssqltips.com: Choosing Between SQL Server Integration Services and Azure Data Factory
  • techcommunity.microsoft.com: Azure Data Factory: How to split a file into multiple output files with Bicep
"},{"location":"azure/#winget-windows-package-manager-cli","title":"WinGet Windows Package Manager CLI","text":"
  • WinGet: Welcome to the Windows Package Manager Client (aka winget.exe) repository Windows Package Manager CLI (aka winget)
  • muycomputer.com: WinGet 1.0, ya est\u00e1 aqu\u00ed el administrador de paquetes para Windows
  • thomasmaurer.ch: Getting started with Windows Package Manager WinGet
"},{"location":"azure/#windows-11","title":"Windows 11","text":"
  • thenewstack.io: This Week in Programming: Windows Opens Up to Android Developers
"},{"location":"azure/#azure-api-management","title":"Azure API Management","text":"
  • azure.microsoft.com: Azure API Management
  • jmfloreszazo.com: Monetizar un API, con Azure API Management
  • github.com/Azure-Samples/api-management-workspaces-migration: Azure API Management workspaces migration tool Tooling to ease migration of Azure API Management service-level resources to workspaces.
"},{"location":"azure/#azure-container-apps","title":"Azure Container Apps","text":"
  • Azure Container Apps Build and deploy modern apps and microservices using serverless containers
  • techcommunity.microsoft.com: Introducing Azure Container Apps: a serverless container service for running modern apps at scale
  • techcommunity.microsoft.com: Azure Policy for Azure Container Apps? Yes, please
  • denniszielke.medium.com: Using Azure Container Apps at scale instead of your building your own NaaS on top of K8s?
"},{"location":"azure/#azure-container-instances","title":"Azure Container Instances","text":"
  • azure.microsoft.com: Azure Container Instances Launch containers with hypervisor isolation
  • unit42.paloaltonetworks.com: Finding Azurescape \u2013 Cross-Account Container Takeover in Azure Container Instances
  • nedinthecloud.com: Using azure container instances for an azure dev ops self hosted agent
"},{"location":"azure/#azure-container-storage","title":"Azure Container Storage","text":"
  • techcommunity.microsoft.com: Azure Container Storage in Public Preview
"},{"location":"azure/#windows-server-container-host","title":"Windows Server Container Host","text":"
  • thomasmaurer.ch: How to Install a Windows Server Container Host
"},{"location":"azure/#disaster-recovery","title":"Disaster Recovery","text":"
  • docs.microsoft.com: Using Policy with Azure Site Recovery Disaster Recovery with Azure Policy. Learn how to enable Policy Support to protect your VMs using Azure Site Recovery.
"},{"location":"azure/#azure-samples-boilerplates","title":"Azure Samples (Boilerplates)","text":"
  • github.com/Azure-Samples \ud83c\udf1f Microsoft Azure code samples and examples in .NET, Java, Python, Node.js, PHP and Ruby
    • Azure-Samples/azure-pipelines-variable-templates This sample Python Web app demonstrates the use of variable template files in Azure Pipelines.
    • Azure-Samples/jmeter-aci-terraform Scalable cloud load/stress testing pipeline solution with Apache JMeter and Terraform to dynamically provision and destroy the required infrastructure on Azure.
    • Azure-Samples/azure-pipelines-remote-tasks
    • Azure-Samples/jenkins-terraform-azure-example
    • etc
  • github.com/azure-devops
  • Azure Quickstart Templates \ud83c\udf1f Deploy Azure resources through the Azure Resource Manager with community contributed templates to get more done. Deploy, learn, fork and contribute back.
    • https://github.com/Azure/azure-quickstart-templates
  • microsoft/azure-pipelines-yaml: Azure Pipelines YAML \ud83c\udf1f YAML templates, samples, and community interaction for designing Azure Pipelines.
    • microsoft/azure-pipelines-yaml: maven.yml
"},{"location":"azure/#azure-healthcare-data-services","title":"Azure Healthcare Data Services","text":"
  • Microsoft - DICOM Service
    • github.com/microsoft/dicom-server OSS Implementation of DICOMweb standard
    • github.com/microsoft/fhir-server A service that implements the FHIR standard
  • Project InnerEye \u2013 Democratizing Medical Imaging AI
    • github.com/microsoft/InnerEye-Gateway The InnerEye-Gateway is a Windows service that acts as a DICOM end point to run inference on https://github.com/microsoft/InnerEye-DeepLearning models.
  • microsoft.com: Biomedical Research Platform Terra Now Available on Microsoft Azure
"},{"location":"azure/#office-365","title":"Office 365","text":"
  • o365reports.com: Office 365 Reports
"},{"location":"azure/#azure-books","title":"Azure Books","text":"
  • azure.microsoft.com: Azure for Architects, Third Edition
  • dev.to/javinpaul: 7 Free Courses to Learn Microsoft Azure Cloud Platform
  • github.com/PacktPublishing/The-Azure-Cloud-Native-Architecture-Mapbook
"},{"location":"azure/#azure-openai","title":"Azure OpenAI","text":"
  • infoworld.com: Getting started with Azure OpenAI Microsoft\u2019s Azure-hosted OpenAI language models are now generally available, and it\u2019s surprisingly simple to use them in your code.
  • jamiemaguire.net: First Look: Azure Open AI Studio, Prompt Engineering. What You Can Do and How
  • techcommunity.microsoft.com: The AI Study Guide: Azure\u2019s top free resources for learning generative AI in 2024
  • hashicorp.com: Build secure AI applications on Azure with HashiCorp Terraform and Vault
  • techcommunity.microsoft.com: Azure OpenAI Landing Zone reference architecture
"},{"location":"azure/#windows-tools","title":"Windows Tools","text":"
  • Scoop: A command-line installer for windows
  • github.com/JPCERTCC/LogonTracer Investigate malicious Windows logon by visualizing and analyzing Windows event log
"},{"location":"azure/#azure-tools","title":"Azure Tools","text":"
  • github.com/mspnp/AzureNamingTool - Azure Naming Tool \ud83c\udf1f The Azure Naming Tool is a .NET 8 Blazor application, with a RESTful API. The UI consists of several pages to allow the configuration and generation of Azure Resource names. The API provides a programmatic interface for the functionality.
  • github.com/JulianHayward/AzADServicePrincipalInsights Insights and change tracking on Azure Active Directory Service Principals (Enterprise Applications and Applications)
  • github.com/ElanShudnow/AzureCode A place to share all the Azure Code I am writing. This includes PowerShell, Terraform, ARM, Bicep, Ansible, etc\u2026
    • github.com/ElanShudnow/AzureCode/tree/main/PowerShell/AzResourceMoveSupport This script will take an Azure Usage Report csv file and provide new columns as to whether each resource supports migration to another Resource Group, to another Subscription, or to another Region.
  • github.com/mustafakaya/Azure-Reliability-Checker-Tool This project contains a PowerShell script that scans Azure resources based on Azure Proactive Resiliency Library. The script clones the library to a local directory and then scans all folders and files and runs KQL queries. Finally, it exports the resources to a CSV file with recommendation ID, subscription ID, and resource ID.
  • github.com/microsoft/finops-toolkit Starter kits, scripts, and advanced solutions to accelerate your FinOps journey in the Microsoft Cloud.
  • github.com/BrianCollet/onboard-automator Streamline and automate the onboarding process for new employees using Azure Logic Apps, Azure Function Apps, Azure Blob Storage, Azure Resource Manager, Azure Active Directory, and Outlook
  • github.com/nicolgit/azure-firewall-mon: az-firewall-mon A near-real-time Azure Firewall Monitor log viewer
"},{"location":"azure/#images","title":"Images","text":"Click to expand!"},{"location":"azure/#videos","title":"Videos","text":"Click to expand!"},{"location":"azure/#tweets","title":"Tweets","text":"Click to expand!

Cloud Networking concepts you need to know before getting into being a good architect\u23ecHere are the useful link \ud83e\uddf0Thread\ud83e\uddf5\ud83d\udc47

\u2014 Satyen Kumar (@SatyenKumar) March 11, 2022

PowerShell cheatsheet#devops #devsecops #kubernetes #cicd #k8s #linux #docker #sysadmin #automation #technology #cloudcomputing #serverless #windows #powershell pic.twitter.com/zljv4ikFp3

\u2014 Valdemar (@heyValdemar) June 27, 2022

Are you looking to start a career in AI using Microsoft Azure? Here are some of the best Azure services to learn:

\u2014 Simon (@simonholdorf) February 16, 2023

  • Private Link Reality Bites: Service Endpoints vs Private Link - (Related to kubernetes-networking topic)
"},{"location":"caching/","title":"Caching Solutions","text":"
  1. Introduction to Caching
  2. Java Caching
  3. Infinispan
  4. Red Hat Data Grid (commercial version of Infinispan)
  5. CDN Content Delivery Network
  6. HAProxy
  7. Varnish
  8. Memcached
  9. Redis
  10. Nginx High-performance caching
  11. Tau Git-Native CDN PaaS
  12. Videos
  13. Slides
"},{"location":"caching/#introduction-to-caching","title":"Introduction to Caching","text":"
  • Wikipedia: Web cache
  • Wikipedia: Dynamic site acceleration
  • Slideshare: Caching
  • nixCraft: 9 Awesome Open Source Web Performance Software For Linux and Unix-like Systems
  • Dzone: An Introduction to Caching: How and Why We Do It \ud83c\udf1f When it comes to caching, what was once a nice-to-have it now a must-have. Check out this detailed article to learn everything you need to know about caching!
  • medium: Caching \u2014 System Design Concept \ud83c\udf1f
  • medium: Microservices Distributed Caching In this article, we are going to talk about Microservices Distributed Caching for Microservices Architectures. As you know that we learned practices and patterns and add them into our design toolbox. And we will use these pattern and practices when designing e-commerce microservice architecture.
  • kothiyal-anuj.medium.com: Serverless Diary: The Ultimate Guide to Caching in the Cloud | Anuj Kothiyal
  • medium.com/rtkal: Distributed Cache Design
  • learncsdesign.medium.com: An Overview of Distributed Caching \ud83c\udf1f [ARCHIVED]
  • surfingcomplexity.blog: Cache invalidation really is one of the hardest problems in computer science
"},{"location":"caching/#java-caching","title":"Java Caching","text":"
  • DZone refcard: Java Caching Strategies and the JCache API. Explores the building blocks of JCache and other caching APIs, as well as multiple strategies for implementing temporary data storage in your application.
"},{"location":"caching/#infinispan","title":"Infinispan","text":"
  • Dzone: Getting Started with Infinispan Enhance Performance With Scalable, Highly Available Data Stores. Infinispan is an open-source, ASL 2.0-licensed, in-memory data grid platform based on Java 8. This newly updated Refcard offers tips for implementing Infinispan, gives a practical example for using it in embedded mode, and lists key APIs and cache features. Learn more about running Infinispan in containers and how to integrate the platform with Hibernate ORM, Apache Hadoop, Apache Spark, and Apache Camel.
"},{"location":"caching/#red-hat-data-grid-commercial-version-of-infinispan","title":"Red Hat Data Grid (commercial version of Infinispan)","text":"
  • In 2011, Red Hat began producing a commercial version of Infinispan, dubbed JBoss Enterprise Data Grid.
  • Red Hat Data Grid Overview
  • Red Hat Data Grid
  • Red Hat JBoss Data Grid is Not Just for Caching Java Objects Anymore \ud83c\udf1f
  • developers.redhat.com: Red Hat Data Grid 8.0 brings new server architecture, improved REST API, and more
"},{"location":"caching/#cdn-content-delivery-network","title":"CDN Content Delivery Network","text":"
  • Wikipedia: CDN Content Delivery Network
    • Traditional commercial CDNs \ud83c\udf1f
  • How content delivery networks (CDNs) work
  • imperva.com: CDN Caching
  • nczonline: How content delivery networks (CDNs) work - Nov 2011
"},{"location":"caching/#haproxy","title":"HAProxy","text":"
  • HAProxy
  • slideshare: Haproxy web performance
  • slideshare: Load Balancing MySQL with HAProxy
  • slideshare: Haproxy best practice
  • slideshare: How To Set Up SQL Load Balancing with HAProxy
  • slideshare: Performance Tuning of HAProxy for Database Load Balancing
  • haproxy.com: The HAProxy Enterprise WAF \ud83c\udf1f
"},{"location":"caching/#varnish","title":"Varnish","text":"
  • Varnish Cache
  • varnish-software.com Varnish Software is the company behind Varnish Cache, the open source HTTP accelerator.
    • The Varnish Book Download the Varnish Book to learn how you can optimize your Varnish instance.
  • fedoramagazine.org: Varnish: Your site faster and more stable
  • Red Hat Developer Blog. Tag: Varnish
  • Red Hat Enterprise Linux Blog. Tag: Varnish
  • varnish-cache.org: Installation on RedHat
  • Hitch - scalable TLS proxy. Hitch is a libev-based high performance SSL/TLS proxy by Varnish Software
  • slideshare: Varnish - Tips & Tricks - 4Developers 2015
  • digitalocean.com: How To Speed Up Static Web Pages with Varnish Cache Server on Ubuntu 20.04
  • github.com/IBM/varnish-operator Run and manage Varnish clusters on Kubernetes. Varnish operator manages Varnish clusters using a CustomResourceDefinition that defines a new Kind called VarnishCluster. The operator manages the whole lifecycle of the cluster: creating, deleting and keeping the cluster configuration up to date
  • github.com/mittwald/kube-httpcache Varnish Reverse Proxy on Kubernetes
"},{"location":"caching/#memcached","title":"Memcached","text":"
  • memcached.org
  • Slideshare: Introduction to memcached
"},{"location":"caching/#redis","title":"Redis","text":"
  • redis.io
  • Slideshare: Introduction to Redis
  • medium: Scaling Millions of Geospatial Queries per minute using Redis
  • architecturenotes.co: Redis Explained \ud83c\udf1f\ud83c\udf1f A deep technical dive into all things Redis. Covering various Redis topologies, data persistence and process forking.
  • faun.pub: Redis High availability with Sentinel on Kubernetes(K8s) In this tutorial, you will learn how to deploy Redis with Sentinel in Kubernetes. You will also test the availability of the setup by simulating a master failure.
  • medium.com/lightricks-tech-blog: Step by Step Guide: How to create a Dynamic Service Endpoint via K8S API This article explains how to deploy Redis HA in Kubernetes and create a Service that always points to the master Redis. It also demonstrates how to interact with Kubernetes API from inside a pod using a script to update the endpoint dynamically.
"},{"location":"caching/#nginx-high-performance-caching","title":"Nginx High-performance caching","text":"
  • Nginxconf 2014. When Dynamic Becomes Static:The Next Step in Web Caching Techniques: Wim Godden
  • Nginx: a caching, thumbnailing, reverse proxying image server? \ud83c\udf1f
  • highscalability.com: Building nginx and Tarantool based services \ud83c\udf1f
"},{"location":"caching/#tau-git-native-cdn-paas","title":"Tau Git-Native CDN PaaS","text":"
  • github.com/taubyte/tau: Tau Open Source Git-Native CDN PaaS. An alternative to: Vercel, Netlify, Cloudflare, Amazon Lambda with CloudFront, S3, ElastiCache & SQS, Etc\u2026
"},{"location":"caching/#videos","title":"Videos","text":"Click to expand!"},{"location":"caching/#slides","title":"Slides","text":"Click to expand! NGINX High-performance Caching from NGINX, Inc. Introduction to Redis from Dvir Volk Caching from Nascenia IT Introduction to memcached from Jurriaan Persyn Varnish Configuration Step by Step from Kim Stefan Lindholm Varnish Cache and its usage in the real world! from Ivan Chepurnyi Supercharging Content Delivery with Varnish from Samantha Qui\u00f1ones Haproxy best practice from haproxytech"},{"location":"chaos-engineering/","title":"Chaos Engineering","text":"
  1. Introduction
  2. Chaos Engineering for kubernetes/Openshift
  3. Chaos Engineering for serverless computing
  4. Other Chaos Engineering Tools
  5. Videos
"},{"location":"chaos-engineering/#introduction","title":"Introduction","text":"
  • Awesome Chaos Engineering \ud83c\udf1f - A curated list of Chaos Engineering resources, covering principles, culture, books, tools, papers, and community events.

  • thenewstack.io: Chaos Engineering Is Not Just for Ops

  • thenewstack.io: Why Chaos Engineering Isn\u2019t Just for Operations
  • medium.com/adidoescode: Chaos Engineering: How simulating adversity can help build eCommerce Resilience
  • opsmx.com: What is Chaos Engineering?
  • aws.amazon.com: Verify the resilience of your workloads using Chaos Engineering
  • faun.pub: What is Chaos Engineering? Chaos Engineering is the discipline of experimenting on a system in order to build confidence in the system\u2019s capability to withstand turbulent conditions in production.
"},{"location":"chaos-engineering/#chaos-engineering-for-kubernetesopenshift","title":"Chaos Engineering for kubernetes/Openshift","text":"
  • Platform Democracy: Rethinking Who Builds and Consumes Your Internal Platform - (Related to devops topic)

  • reddit: Help with Kube Monkey setup

  • GitHub: kube-monkey An implementation of Netflix\u2019s Chaos Monkey for Kubernetes clusters
  • GitHub: monkey-ops, Openshift compliant, no cluster-admin required
  • Chaos Mesh
  • Litmus Chaos is a toolset to do chaos engineering in a kubernetes native way. Litmus provides chaos CRDs for Cloud-Native developers and SREs to inject, orchestrate and monitor chaos to find weaknesses in Kubernetes deployments
    • cloud.redhat.com: Chaos Engineering With LitmusChaos
  • thenewstack.io: Using Chaos Engineering to Improve the Resilience of Stateful Applications on Kubernetes
  • infoq.com: Chaos Engineering on Kubernetes : Chaos Mesh Generally Available with v1.0
  • chaos-mesh.org: Chaos Mesh 1.0: Chaos Engineering on Kubernetes Made Easier
  • thenewstack.io: Develop a Daily Reporting System for Chaos Mesh to Improve System Resilience
  • pingcap.com: chaos-mesh-action: Integrate Chaos Engineering into Your CI
  • openshift.com: Introduction to Kraken, a Chaos Tool for OpenShift/Kubernetes
  • thenewstack.io: Chaos Engineering Progressively Moves to Production
  • blog.flant.com: Open Source solutions for chaos engineering in Kubernetes
    • kube-monkey
    • chaoskube
    • Chaos Mesh
    • Litmus Chaos
    • Chaos Toolkit
    • KubeInvaders
  • PowerfulSeal injects failure into your Kubernetes clusters, so that you can detect problems as early as possible. It allows for writing scenarios describing complete chaos experiments.
  • BuggyApp: Simulate performance problems BuggyApp can simulate various performance problems like Memory Leak, OutOfMemoryError, CPU spike, thread leak StackOverflowError, deadlock, unresponsiveness and so on. youtube: BuggyApp Demo
  • medium.com: Getting Started with Chaos Engineering
  • Chaos Mesh \ud83c\udf1f A Powerful Chaos Engineering Platform for Kubernetes - github ref
  • opensource.com: 5 lessons I learned about chaos engineering for Kubernetes
  • thenewstack.io: Chaos Engineering Made Simple
  • thenewstack.io: Use Chaos Engineering to Strengthen Your Incident Response
  • thenewstack.io: Operationalizing Chaos Engineering with GitOps
  • medium.com/better-practices: Learn how your Kubernetes clusters respond to failure using Gremlin and Grafana Building resilient APIs with chaos engineering
  • Chaos engineering on Amazon EKS using AWS Fault Injection Simulator
  • aws.amazon.com: Chaos Engineering with LitmusChaos on Amazon EKS In this tutorial, you will create an Amazon EKS cluster, install LitmusChaos and deploy a demo application. Then, you will define chaos experiments to be run on it and observe the behaviour
  • blog.container-solutions.com: Comparing Chaos Engineering Tools for Kubernetes Workloads How do Chaos Toolkit, Pumba, Litmus, and Chaos Mesh stack up against each other as chaos engineering tools for Kubernetes workloads? In this article, you will compare strengths and weaknesses.
  • blog.palark.com: Attaining harmony of chaos in Kubernetes with Chaos Mesh This article discusses chaos engineering solutions for Kubernetes using the Chaos Mesh operator. It covers tests on:

    • Failing nodes
    • Failing infrastructure dependencies
    • Network problems
  • awstip.com: Kubernetes Chaos Monkey: A Scheduled Random Pod Deletion Python Script for Testing Cluster Resilience

  • medium.com/@alex.ivenin: Chaos engineering in kubernetes
"},{"location":"chaos-engineering/#chaos-engineering-for-serverless-computing","title":"Chaos Engineering for serverless computing","text":"
  • thenewstack.io: Breaking Serverless on Purpose with Chaos Engineering
"},{"location":"chaos-engineering/#other-chaos-engineering-tools","title":"Other Chaos Engineering Tools","text":"
  • chaosblade An easy to use and powerful chaos engineering experiment toolkit. ChaosBlade is an Alibaba open source experimental injection tool that follows the principles of chaos engineering and chaos experimental models to help enterprises improve the fault tolerance of distributed systems and ensure business continuity during the process of enterprises going to cloud or moving to cloud native systems.
  • Azure Chaos Studio
    • techcommunity.microsoft.com: Announcing the Public Preview of Azure Chaos Studio
    • docs.microsoft.com: What is Azure Chaos Studio?
    • sqlservercentral.com: Chaos Engineering in Azure
  • aws.amazon.com: Automating and Scaling Chaos Engineering using AWS Fault Injection Simulator
"},{"location":"chaos-engineering/#videos","title":"Videos","text":"Click to expand!"},{"location":"chatgpt/","title":"ChatGPT","text":"
  1. Introduction
  2. TableauGPT
  3. k8sgpt
  4. ChatGPT YAML generator
  5. Explained by ChatGPT
    1. DevOps Compliance
    2. GitOps vs ClickOps 1
    3. GitOps vs ClickOps 2
  6. Tools
"},{"location":"chatgpt/#introduction","title":"Introduction","text":"
  • medium.com/@andretost_75145: Using ChatGPT to learn Kubernetes and OpenShift
  • ansible.com: Ansible and ChatGPT: Putting it to the test You know we had to road test the hottest trend in #generativeAI! In this blog, we put ChatGPT to the test of developing Ansible Playbooks. We also explore Project Wisdom, an Ansible AI capability that is currently in development.
  • betterprogramming.pub: ChatGPT and Software Architecture Let\u2019s generate diagrams
  • genbeta.com: En la era de la inteligencia artificial, Microsoft es el nuevo Google
  • abcabhishek.substack.com: ChatGPT for generating SQL as a Data Engineer\u2019s assistant Lets generate SQL using chatGPT and simplify our work
  • businessinsider.es: Uso ChatGPT entre 50 y 70 veces al d\u00eda para todo, desde preparar reuniones hasta quitarme el pegamento de los dedos
  • thenewstack.io: Using ChatGPT for Questions Specific to Your Company Data ChatGPT is a powerful language model that can be used for a variety of tasks. But did you know you can use custom data to improve its accuracy and speed?
  • techrepublic.com: ChatGPT Cheat Sheet: Complete Guide for 2023
  • businessinsider.mx: 5 trucos de ChatGPT que pueden ayudar a reducir tu carga laboral
  • christianmartinezfinancialfox.medium.com: How to use ChatGPT to improve your Microsft Excel skills?
  • thenewstack.io: Developers Put AI Bots to the Test of Writing Code With so many AI-powered assistants waiting to be explored, we\u2019ve now entered the phase where excited coders are trying their own homegrown experiments \u2014 and sharing the results online.
  • aihr.com: 21+ ChatGPT Prompts for HR To Accelerate Your Productivity
"},{"location":"chatgpt/#tableaugpt","title":"TableauGPT","text":"
  • TableauGPT \u2014 The Ultimate Guide on how to utilize its full potential in Finance
"},{"location":"chatgpt/#k8sgpt","title":"k8sgpt","text":"
  • k8sgpt.ai
"},{"location":"chatgpt/#chatgpt-yaml-generator","title":"ChatGPT YAML generator","text":"
  • github.com/robusta-dev/chatgpt-yaml-generator
"},{"location":"chatgpt/#explained-by-chatgpt","title":"Explained by ChatGPT","text":"
  • Discussion: Where is AI Still Completely Useless? - (Related to ai topic)
"},{"location":"chatgpt/#devops-compliance","title":"DevOps Compliance","text":"

What is DevOps compliance? DevOps compliance refers to the process of integrating compliance and security requirements into DevOps practices. DevOps is a methodology that emphasizes collaboration and communication between development, operations, and other teams involved in the software development process. It aims to deliver software quickly and reliably through continuous integration, testing, and deployment.

DevOps compliance is important because it ensures that the software being developed adheres to regulatory and security standards. This can include compliance with laws such as HIPAA or GDPR, industry-specific regulations, or organizational policies.

DevOps compliance involves implementing security and compliance requirements into the DevOps workflow. This includes incorporating compliance checks and security testing into the development process, as well as ensuring that security and compliance concerns are addressed throughout the entire software development lifecycle.

In summary, DevOps compliance is about balancing the need for speed and agility in software development with the need to meet regulatory and security requirements. It enables organizations to deliver software that is not only innovative and efficient but also meets the necessary compliance standards.

"},{"location":"chatgpt/#gitops-vs-clickops-1","title":"GitOps vs ClickOps 1","text":"

What is the best strategy for cloud managers? Gitops or ClickOps? As an AI language model, I cannot make a definitive recommendation between GitOps and ClickOps as the \u201cbest\u201d strategy for cloud managers, as each approach has its own advantages and disadvantages depending on the specific needs and goals of the organization. However, I can provide an overview of the two strategies to help you understand their differences and choose the one that best fits your needs.

GitOps is an approach that emphasizes using Git as the source of truth for managing infrastructure and application deployment. In this approach, changes to the infrastructure or application are made via pull requests in Git, and the changes are automatically deployed to the cloud environment based on the Git commit history. GitOps enables version control of infrastructure and application configurations, and it facilitates collaboration between team members. However, it requires a significant investment in automation and tooling to set up and maintain the GitOps pipeline.

ClickOps, on the other hand, is an approach that relies on graphical user interfaces (GUIs) and point-and-click actions to manage cloud resources. This approach is typically more accessible to non-technical users and can provide a more straightforward and intuitive interface for cloud management. However, ClickOps can be more error-prone, as it does not provide the same level of visibility and transparency as GitOps, and it can be more challenging to maintain consistent infrastructure and application configurations.

Ultimately, the choice between GitOps and ClickOps depends on the specific needs and goals of the organization, as well as the level of technical expertise of the team. For organizations that value version control, collaboration, and automation, GitOps may be the better choice, while ClickOps may be a more accessible and user-friendly option for teams with less technical experience. It is also worth noting that many organizations use a combination of both approaches, depending on the specific use case and context.

"},{"location":"chatgpt/#gitops-vs-clickops-2","title":"GitOps vs ClickOps 2","text":"

GitOps and ClickOps are different approaches to infrastructure management and application deployment in the cloud.

GitOps focuses on automation and managing infrastructure as code (IaC) using Git as a single source of truth for configuration and version control. In this approach, changes to the infrastructure are made by updating the Git repository and the implementation of changes is automatically done through CI/CD tools.

ClickOps, on the other hand, focuses on manual and visual management of infrastructure and application deployment using graphical user interfaces (GUIs). This approach allows developers and IT operations teams to make changes and deploy applications quickly and easily without the need for knowledge of the underlying technical details.

The problem between GitOps and ClickOps lies in how infrastructure management and application deployment are approached. GitOps is more automated and focused on IaC, which can result in greater efficiency and a reduction of human errors. ClickOps is more manual and visual, which can be easier to use and understand for teams who do not have programming and automation experience.

In summary, both approaches have their advantages and disadvantages and are suited to different situations and needs. It depends on the preferences and skills of the development and IT operations team to choose the appropriate approach for their organization.

"},{"location":"chatgpt/#tools","title":"Tools","text":"
  • Tech companies cutting devs for AI - (Related to ai topic)
  • Cerebras AI - (Related to ai topic)
  • Awesome NotebookLM Slide Prompts - (Related to ai topic)
  • LLMs-from-scratch - (Related to ai topic)
  • Claude 101: Free Guides to Master Claude - (Related to ai topic)
  • Think Python - (Related to python topic)
  • Microsoft Dragon Copilot: Unified Voice AI Assistant for Healthcare - (Related to ai topic)
  • Google Launches Gemini Code Assist, Challenging GitHub Copilot with Generous Free Tier - (Related to ai topic)
  • GitHub Copilot Now Explains Failed Actions Jobs (GA) - (Related to cicd topic)

  • github.com/robusta-dev/kubernetes-chatgpt-bot A ChatGPT bot for Kubernetes issues. Ask the AI how to solve your Prometheus alerts, get pithy responses.

  • itnext.io: K8sGPT + LocalAI: Unlock Kubernetes superpowers for free!
  • numerous.ai Prompt ChatGPT in bulk, in your spreadsheets. Use AI for writing content, product descriptions, SEO keywords, and more in bulk.
  • chat.openai.com/g/g-6eSNNNvsB-kubernetes-terraformer: Kubernetes Terraformer Converts Kubernetes YAML to Terraform HCL, extracting key variables. By Mark Tinderholt
"},{"location":"cheatsheets/","title":"Cheat Sheets","text":"
  1. Miscellaneous
  2. Networking
  3. Google Search
  4. Bash Shell
  5. AWS Cheat Sheets
  6. Google Cloud Cheat Sheets
  7. Azure Cheat Sheets
  8. API Cheatsheets
  9. REST API
  10. eBooks
  11. Documentation Browser for Software Developers
    1. Dash for MacOS (paid)
    2. Velocity (Windows, paid)
    3. Zeal (Windows, Linux, Free)
  12. Kubernetes Knowledge Hubs and Glossary
  13. Kubernetes and Kubectl Cheat Sheets
  14. Kubernetes Kustomize Cheat Sheet
  15. Docker Cheat Sheets
    1. Docker Swarm Cheat Sheets
  16. Security Cheat Sheets
  17. Git and GitHub Cheat Sheets
    1. Git Flow Cheat Sheets
    2. Sourcetree Cheat Sheet
    3. GitKraken Git Cheat
  18. Ansible Cheat Sheets
  19. Packer and Terraform Cheat Sheets
  20. Linux Command Cheat Sheets
    1. SSH Cheat Sheets
    2. Nmap Cheat Sheet
  21. OpenShift Cheat Sheets
    1. Debezium Cheat Sheets
  22. Kubernetes Operator Cheat Sheets
  23. Kubernetes POD Cheat Sheets
  24. Buildah Cheat Sheets
  25. Prometheus Cheat Sheets
  26. Helm Cheat Sheets
  27. Maven Cheat Sheets
  28. Gradle Cheat Sheets
  29. Eclipse MicroProfile
  30. Jenkins Cheat Sheets
  31. Bitbucket Pipelines
  32. JMeter Cheat Sheets
  33. Quarkus Cheat Sheets
  34. Markdown Cheat Sheets
  35. Kafka
  36. Machine Learning
  37. Javascript
  38. TypeScript
  39. Jupyter
  40. SQL
  41. Postgres
  42. MariaDB and mySQL
  43. MongoDB
  44. Python
  45. Go
  46. NodeJS
  47. C++
  48. Selenium
  49. RPA
  50. Data Science
  51. Scrum Cheat Sheet
  52. Images
  53. Tweets
"},{"location":"cheatsheets/#miscellaneous","title":"Miscellaneous","text":"
  • wizardzines.com \ud83c\udf1f programming zines by Julia Evans
  • cheatography.com
  • LeCoupa/awesome-cheatsheets
  • detailyang/awesome-cheatsheet
  • Red Hat Developer cheat sheets \ud83c\udf1f Browse through our collection of cheat sheets to help you develop with Red Hat products, which you can download for free as a Red Hat Developer member. You\u2019ll find handy guides on a range of the latest developer tools and technologies, including Kubernetes, microservices, containers, and more.
  • blog.jromanmartin.io: ActiveMQ, Kafka, Strimzi and CodeReady Containers
  • cheat-sheets.org \ud83c\udf1f
  • simplecheatsheet.com
  • medium: The DevOps Cheat Sheet This comprehensive guide covers everything DevOps
  • ABZ-Aaron/CheatSheets
  • developers.redhat.com: Intermediate Linux Cheat Sheet
  • developers.redhat.com: MicroProfile Rest Client Cheat Sheet
  • cheat.sh \ud83c\udf1f
    • betterprogramming.pub: Cheat.sh \u2014 The Ultimate Multi-Language Cheat Sheet Introducing cheat.sh, a powerful syntax and code-snippet search engine.
  • bash.cyberciti.biz: Man command
  • opensource.com: Linux logrotate cheat sheet
  • manz.dev/cheatsheets
  • crontab.guru \ud83c\udf1f The quick and simple editor for cron schedule
"},{"location":"cheatsheets/#networking","title":"Networking","text":"
  • Networking Cheat Sheet
"},{"location":"cheatsheets/#google-search","title":"Google Search","text":"
  • wikipedia: Google Search
  • seranking.com: The cheat sheet of 30+ Google Search operators
  • supple.com.au: Google advanced search operators tips and tricks
  • blog.linkody.com: The Ultimate Google Search Operators Cheatsheet \ud83c\udf1f
"},{"location":"cheatsheets/#bash-shell","title":"Bash Shell","text":"
  • Bash Pitfalls \ud83c\udf1f This page is a compilation of common mistakes made by bash users. Each example is flawed in some way.
  • developers.redhat.com: Bash Shell Scripting Cheat Sheet
  • developers.redhat.com: Advanced Linux commands cheat sheet for developers
  • opensource.com: Watch command cheat sheet
"},{"location":"cheatsheets/#aws-cheat-sheets","title":"AWS Cheat Sheets","text":"
  • intellipaat.com: AWS Cheat Sheet \ud83c\udf1f
  • tutorialsdojo.com: AWS Cheat Sheets \ud83c\udf1f
  • igoroseledko.com: AWS CLI Cheat Sheet
  • docs.aws.amazon.com: Actions, resources, and condition keys for AWS services \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f There\u2019s a Reference for all \ud835\udddc\ud835\uddd4\ud835\udde0 \ud835\uddd4\ud835\uddf0\ud835\ude01\ud835\uddf6\ud835\uddfc\ud835\uddfb\ud835\ude00, \ud835\uddff\ud835\uddf2\ud835\ude00\ud835\uddfc\ud835\ude02\ud835\uddff\ud835\uddf0\ud835\uddf2\ud835\ude00, \ud835\uddee\ud835\uddfb\ud835\uddf1 \ud835\uddf0\ud835\uddfc\ud835\uddfb\ud835\uddf1\ud835\uddf6\ud835\ude01\ud835\uddf6\ud835\uddfc\ud835\uddfb \ud835\uddf8\ud835\uddf2\ud835\ude06\ud835\ude00 \ud835\uddf3\ud835\uddfc\ud835\uddff \ud835\uddee\ud835\uddf9\ud835\uddf9 \ud835\uddd4\ud835\uddea\ud835\udde6 \ud835\ude00\ud835\uddf2\ud835\uddff\ud835\ude03\ud835\uddf6\ud835\uddf0\ud835\uddf2\ud835\ude00 \ud83d\udd10 Bookmark it! \ud83d\udd16
  • awsgeek.com/Amazon-S3
"},{"location":"cheatsheets/#google-cloud-cheat-sheets","title":"Google Cloud Cheat Sheets","text":"
  • The Google Cloud Developer\u2019s Cheat Sheet \ud83c\udf1f
  • googlecloudcheatsheet.withgoogle.com: Google Cloud Developer cheat sheet
"},{"location":"cheatsheets/#azure-cheat-sheets","title":"Azure Cheat Sheets","text":"
  • cloud-architect.fr: AZ-CheatSheet: Become an expert in Azure Landing Zones Azure landing zones are the output of a multisubscription Azure environment that accounts for scale, security governance, networking, and identity. Azure landing\u2026
"},{"location":"cheatsheets/#api-cheatsheets","title":"API Cheatsheets","text":"
  • freecodecamp.org: API Cheatsheet \u2013 What is an API, How it Works, and How to Choose the Right API Testing Tools \ud83c\udf1f
"},{"location":"cheatsheets/#rest-api","title":"REST API","text":"
  • karneliuk.com: REST API 1. Basics cheat sheet (Ansible, Bash, Postman, and Python) for GET using NetBox and Docker as examples
  • karneliuk.com: REST API 2. Basics cheat sheet (Ansible, Bash, Postman, and Python) for POST/DELETE using NetBox and Docker as examples
"},{"location":"cheatsheets/#ebooks","title":"eBooks","text":"
  • Red Hat Developer eBooks \ud83c\udf1f Browse through our collection of eBooks to help you develop with Red Hat products, which you can download for free as a Red Hat Developer member. You\u2019ll find handy books on a range of the latest developer tools and technologies, including Kubernetes, microservices, containers, and more.
  • Transformation takes practice Our experts understand this: When it comes to your unique business challenges, one size does not fit all. We can guide you through exercises and tools, like the ones within the Open Practice Library, that are right for where you are, right now.
"},{"location":"cheatsheets/#documentation-browser-for-software-developers","title":"Documentation Browser for Software Developers","text":""},{"location":"cheatsheets/#dash-for-macos-paid","title":"Dash for MacOS (paid)","text":"
  • Dash for MacOS Dash gives your Mac instant offline access to 200+ API documentation sets.
  • Dash Cheat Sheets
"},{"location":"cheatsheets/#velocity-windows-paid","title":"Velocity (Windows, paid)","text":"
  • Velocity Velocity gives your Windows desktop offline access to over 150 API documentation sets
"},{"location":"cheatsheets/#zeal-windows-linux-free","title":"Zeal (Windows, Linux, Free)","text":"
  • Zeal Zeal is an offline documentation browser for software developers.
"},{"location":"cheatsheets/#kubernetes-knowledge-hubs-and-glossary","title":"Kubernetes Knowledge Hubs and Glossary","text":"
  • k8sref.io Kubernetes Reference - dev-k8sref-io.web.app \ud83c\udf1f Imports paths are not always easy to find for a resource. Get some help from this doc.
  • Kubernetes Research. Research documents on node instance types, managed services, ingress controllers, CNIs, etc. \ud83c\udf1f A research hub to collect all knowledge around Kubernetes. Those are in-depth reports and comparisons designed to drive your decisions. Should you use GKE, AKS, EKS? How many nodes? What instance type?
  • Kubernetes Glossary \ud83c\udf1f
  • mirantis.com: Kubernetes Cheat Sheet
  • manifests.io \ud83c\udf1f
    • manifests.io/kubernetes/1.28
"},{"location":"cheatsheets/#kubernetes-and-kubectl-cheat-sheets","title":"Kubernetes and Kubectl Cheat Sheets","text":"
  • QuickRef.ME - Quick Reference Cheat Sheets \ud83c\udf1f - QuickRef.ME is a curated collection of quick reference cheat sheets for various programming languages, tools, and technologies, including Kubernetes, Docker, Python, JavaScript, and more. It serves as a centralized repository for developers and engineers to quickly access essential commands, syntax, and configurations.

  • developers.redhat.com: Kubernetes Cheat Sheet

  • kubernetes.io \ud83c\udf1f
  • linuxacademy
  • fabric8 - kubectl
  • intellipaat.com \ud83c\udf1f
  • dzone: kubectl commands cheat sheet
  • jimmysong.io: kubectl cheat sheet \ud83c\udf1f
  • cheatsheet.dennyzhang.com: kubectl kubernetes free cheat sheet \ud83c\udf1f
  • opensource.com: 9 kubectl commands sysadmins need to know \ud83c\udf1f Keep these 9 critical kubectl commands handy to help you with troubleshooting and managing your Kubernetes cluster administration.
  • bluematador.com: kubectl cheatsheet
  • dockerlabs.collabnix.com: Cheatsheet - Kubectl \ud83c\udf1f
  • medium: Awesome Kubernetes Command-Line Hacks Tips for you to kubectl like a pro
  • akhilsharma.work: kubectl Get Resource - Short Names
  • blog.mimacom.com: Kubernetes Cheat Sheet
  • github: K8s in 30 mins \ud83c\udf1f This is not a comprehensive guide to learn Kubernetes from scratch, rather this is just a small guide/cheat sheet to quickly setup and run applications with Kubernetes and deploy a very simple application on single workload VM. This repo can be served as quick learning manual to understand Kubernetes.
  • kunchalavikram1427: kubernetes Public
    • kunchalavikram1427: kubernetes Commands
  • betterprogramming.pub: Awesome Kubernetes Command-Line Hacks Tips for you to kubectl like a pro
  • thechief.io: The Definitive Kubectl Cheat Sheet
  • ithands-on.com: Kubernetes 101 : kubectl - communication with pods and containers / running commands inside pods and containers
  • opensource.com: Learn essential Kubernetes commands with a new cheat sheet Start exploring kubectl, containers, pods, and more, then download our free cheat sheet so you always have the key commands at your fingertips.
  • computingforgeeks.com: Kubectl Cheat Sheet for Kubernetes Admins & CKA Exam Prep
  • mirantis.com: Kubernetes Cheat Sheet
  • myfuturehub.com: Must Keep these Kubernetes Commands handy
  • --tail=-1 lets you output all logs when you use a label selector:
    • kubectl logs -n etcd -l app=etcd -c etcd --tail=-1
    • kubectl logs -l app=my.app --tail=-1
  • cmcrowell.com/cheat-sheet \ud83c\udf1f
  • mirantis.com: Kubernetes Cheat Sheet \ud83c\udf1f
  • komodor.com: The Ultimate Kubectl Cheat Sheet \ud83c\udf1f
  • Top kubernetes troubleshooting Commands:
    • kubectl get pods -o wide
    • kubectl logs <pod>
    • kubectl logs <pod> --previous \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f (debugging a CrashLoopBackOff pod)
    • kubectl describe pod
    • kubectl describe ingress/service
    • kubectl delete
    • kubectl --help
  • betterprogramming.pub: Kubectl Commands All Beginners Must Know Control Kubernetes Cluster like a Pro
  • medium.com/@devopsfolks8546: Kubectl Commands Cheat Sheet. List Of Kubernetes Most Useful Commands
  • faun.pub: Kubernetes Commands for Deployment and Management
  • learncloudnative.com: Kubernetes CLI (kubectl) tips you didn\u2019t know about
  • cloudtechtwitter.com: kubernetes common commands
  • thenewstack.io: K8s Resource Management: An Autoscaling Cheat Sheet \ud83c\udf1f A concise but comprehensive guide to using and managing horizontal and vertical autoscaling in the Kubernetes environment.
  • abhirajdevops.hashnode.dev: A Cheat Sheet of Essential Commands for Managing and Debugging Your Kubernetes Cluster\u2019s Networking
  • github.com/devoriales/kubectl-cheatsheet This repository contains a kubectl cheatsheet to use as a quick reference guide. It contains the most common commands used when working with Kubernetes.
  • dev.to/msfaizi: Kubernetes Cheatsheet: Essential Commands and Concepts for Efficient Container Orchestration
"},{"location":"cheatsheets/#kubernetes-kustomize-cheat-sheet","title":"Kubernetes Kustomize Cheat Sheet","text":"
  • itnext.io: Kubernetes Kustomize Cheat Sheet
"},{"location":"cheatsheets/#docker-cheat-sheets","title":"Docker Cheat Sheets","text":"
  • dockerlux.github.io: Docker Cheat Sheet \ud83c\udf1f
  • cheatsheetseries.owasp.org: Docker Security Cheat Sheet \ud83c\udf1f\ud83c\udf1f
  • dockerlabs.collabnix.com: The Ultimate Docker Cheat Sheet \ud83c\udf1f
  • developers.redhat.com: Containers Cheat Sheet
  • github.com: Docker cheat Sheet
  • intellipaat.com: Docker Cheat Sheet \ud83c\udf1f - 2019, pdf
  • developers.redhat.com: Containers Cheat Sheet
  • blog.gitguardian.com: Docker Security Best Practices & Cheat Sheet \ud83c\udf1f Containers are no security devices. That\u2019s why we\u2019ve curated a set of easily actionable recommendations to improve your Docker containers security. Check out the one-page cheat sheet.
  • myfuturehub.com: Useful commands of Docker
  • docker system prune --all
  • docker image prune -a -f --filter \"until=720h\"
  • docker container prune -f --filter \"until=48h\"
  • sudo docker image prune --all --filter until=1h
  • Standard crontab on all machines I run docker builds on:
    • 50 * * * * docker container prune -f --filter \"until=4h\"
    • 55 * * * * docker image prune --all -f --filter \"until=4h\"
    • 59 * * * * docker volume prune -f
  • linuxhandbook.com: Docker Commands for Managing Container Lifecycle (Definitive Guide)
  • betterprogramming.pub: A Beginners\u2019 Cheat Sheet for Docker | Arjav Dave Get to know what is docker and how to use it
  • dev.to: Docker Commands Cheat Sheet | Pragyan Tripathi The 15 Commands You Need To Know
"},{"location":"cheatsheets/#docker-swarm-cheat-sheets","title":"Docker Swarm Cheat Sheets","text":"
  • github: sematext - Docker Swarm Cheatsheet
    • docker-swarm-cheatsheet-sematext.pdf
  • lzone.de: Docker Swarm Cheat Sheet
  • kerneltalks.com: Docker swarm cheat sheet
  • codingfriend.medium.com: Docker Swarm Cheatsheet (2017)
  • blog.programster.org: Docker Swarm Cheatsheet
"},{"location":"cheatsheets/#security-cheat-sheets","title":"Security Cheat Sheets","text":"
  • cheatsheetseries.owasp.org: OWASP Cheat Sheet Series \ud83c\udf1f\ud83c\udf1f The OWASP Cheat Sheet Series was created to provide a concise collection of high value information on specific application security topics. These cheat sheets were created by various application security professionals who have expertise in specific topics.
"},{"location":"cheatsheets/#git-and-github-cheat-sheets","title":"Git and GitHub Cheat Sheets","text":"
  • guides.github.com \ud83c\udf1f
  • dev.to: Git & Github Cheatsheet \ud83c\udf1f
  • git-scm.com: Git reference
  • zeroturnaround.com: Git cheat sheet \ud83c\udf1f
  • ndpsoftware.com: Interactive git cheat sheet \ud83c\udf1f
  • The awesome git cheat sheet
  • developers.redhat.com: Git cheat sheet
  • atlassian.com: Git cheat sheet
  • github.github.com/training-kit: Git cheat sheet
  • education.github.com: Git cheat sheet \ud83c\udf1f
  • dzone.com: refcard - getting started with git
  • git-tower.com: Git cheat sheet
  • rogerdudler.github.io: git - the simple guide \ud83c\udf1f Just a simple guide for getting started with git. no deep shit ;)
    • rogerdudler.github.io: git cheat sheet pdf
  • towardsdatascience.com: 18 Git Commands I Learned During My First Year as a Software Developer
  • dzone: Top 35 Git Commands With Examples \ud83c\udf1f Git commands are essential, and they help to manage your source code effectively. In this guide, you will learn Git commands from Beginners to Advanced level.
  • gitexplorer.com: Git Command Explorer \ud83c\udf1f\ud83c\udf1f Find the right commands you need without digging through the web.
  • justingarrison.com: GitHub URL Hacks \ud83c\udf1f GitHub\u2019s UI has improved a lot over the years but sometimes you just need quick access without clicking. Here are a few GitHub URL tips to get you data you want faster. One cool thing is all of these tips give raw text output so they work great with curl and other CLI tools.
  • dev.to: Git it Right\ud83d\udd25\ud83d\udd25\ud83d\ude80(Git CheatSheet) \ud83c\udf1f
  • jan-krueger.net: Git cheat sheet, extended edition
  • dev.to: A Git Cheat Sheet
  • geeksforgeeks.org: Essential Git Commands \ud83c\udf1f
  • dev.to: Git Cheat Sheet- 20 commands I Use Everyday | Tabassum Khanum
  • Find the first commit you ever made: git log --reverse
  • joshnh/Git-Commands \ud83c\udf1f A list of commonly used Git commands
  • dev.to: Git Commands Cheatsheet: Advanced (20+ Git Commands Advanced )
  • dev.to: Git Cheat Sheet \ud83d\udcc4 (50 commands + Free PDF and poster)
  • enlear.academy: 20 Git Commands Every Developer Should Know 20 Git Command I Use All The Time \u2014 Git CheatSheet
  • freecodecamp.org: Git Cheat Sheet \u2013 50 Git Commands You Should Know
  • opensource.com: 10 Git tips we can\u2019t live without Opensource.com community members share their favorite Git tips for saving time or preventing mistakes.
  • Terminal tip: Always use less -R to display colored terminal output properly: git diff --color=always | less -R
  • betterprogramming.pub: 8 Advanced Git Commands Universities Won\u2019t Teach You Advanced tips and tricks that will save you time and headaches.
  • intellipaat.com: GIT Cheat Sheet \ud83c\udf1f
  • dev.to: 20 Git Commands That Will Make You a Version Control Pro
"},{"location":"cheatsheets/#git-flow-cheat-sheets","title":"Git Flow Cheat Sheets","text":"
  • Git-flow cheatsheet
  • arslanbilal/git-cheat-sheet \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Git and Git Flow Cheat Sheet
"},{"location":"cheatsheets/#sourcetree-cheat-sheet","title":"Sourcetree Cheat Sheet","text":"
  • Sourcetree Cheat Sheet
"},{"location":"cheatsheets/#gitkraken-git-cheat","title":"GitKraken Git Cheat","text":"
  • GitKraken Git Cheat
"},{"location":"cheatsheets/#ansible-cheat-sheets","title":"Ansible Cheat Sheets","text":"
  • Ansible Roles Explained | Cheat Sheet
  • edureka.co: Ansible Cheat Sheet \u2013 A DevOps Quick Start Guide
  • intellipaat.com: Ansible Basic Cheat Sheet
  • mrxpalmeiras: Ansible Cheat Sheet
  • google.com/site/mrxpalmeiras: Ansible Cheat Sheet \ud83c\udf1f
  • Ansible k8s cheat sheet \ud83c\udf1f The Ansible k8s module enables you to manage Kubernetes objects with Ansible playbooks.
  • fosstechnix.com: Ansible ad hoc commands with Examples
"},{"location":"cheatsheets/#packer-and-terraform-cheat-sheets","title":"Packer and Terraform Cheat Sheets","text":"
  • dzone: Terraform Cheat Sheet
  • terraform.io: Terraform Commands
  • github.com/scraly: Terraform Cheat sheet
  • lzone.de: Terraform Cheat Sheet
  • thedevopsblog.co.uk: Terraform Cheat Sheet
  • acloudguru.com: The Ultimate Terraform Cheatsheet
  • hashicorp.com: Using Template Files with HashiCorp Packer
  • searchitoperations.techtarget.com: Terraform cheat sheet: Notable commands, HCL and more Terraform has a lot going on. This cheat sheet rounds up the essentials, from configuration settings to the key commands for managing the Terraform directory.
  • techbeatly.com: Terraform Cheat Sheet
  • praveendandu24.medium.com: Mastering Terraform: Top 20 Essential Commands with Examples for Beginners
"},{"location":"cheatsheets/#linux-command-cheat-sheets","title":"Linux Command Cheat Sheets","text":"
  • commandlinefu.com
  • opensource.com: 10 cheat sheets for Linux sysadmins
  • curl cheat sheet for Linux and Unix users
  • NetworkManager CLI cheatsheet
  • pixelbeat.org/cmdline
  • opensource.com: Linux Parted cheat sheet
  • opensource.com: GNU Screen cheat sheet
  • catonmat.net: GNU Coreutils Cheat Sheet
  • cyberciti.biz: Linux ip Command Examples Deprecated Linux command and their replacement cheat sheet.
  • linuxhandbook.com: Yum Command Cheat Sheet
  • stationx.net: Hacking Tools Cheat Sheet
"},{"location":"cheatsheets/#ssh-cheat-sheets","title":"SSH Cheat Sheets","text":"
  • ssh cheat sheet
  • lzone.de: ssh cheat sheet
  • pentestmonkey.net: ssh cheat sheet
  • The SSH Commands Cheat Sheet for Linux SysAdmins / Users
  • opensource.com: Learn advanced SSH commands with this cheat sheet
"},{"location":"cheatsheets/#nmap-cheat-sheet","title":"Nmap Cheat Sheet","text":"
  • comparitech.com: Nmap Cheat Sheet Nmap Cheat Sheet plus Nmap + Nessus Cheat Sheet. We include all the commands in an easy to download and reference format. Downloadable JPEG or PDF files.
"},{"location":"cheatsheets/#openshift-cheat-sheets","title":"OpenShift Cheat Sheets","text":"
  • mastertheboss.com: OpenShift Cheat Sheet
  • developers.redhat.com: Red Hat OpenShift Container Platform Cheat Sheet
  • github.com: Openshift cheat sheet 1
  • gist.github.com: Openshift cheat sheet 2
  • github.com: openshift cheat sheet 3
  • monodot.co.uk: openshift cheat sheet 4
  • openshift.tips
  • dzone refcard: Getting Started With OpenShift \ud83c\udf1f
  • cookbook.openshift.org \ud83c\udf1f
  • cookbook.openshift.org: How do I import an image from an external image registry? \ud83c\udf1f
"},{"location":"cheatsheets/#debezium-cheat-sheets","title":"Debezium Cheat Sheets","text":"
  • developers.redhat.com: Debezium on OpenShift Cheat Sheet Debezium is a distributed open-source platform for change data capture. Start it up, point it at your databases, and your apps can start responding to all of the inserts, updates, and deletes that other apps commit to your databases. Debezium is durable and fast, so your apps can respond quickly and never miss an event, even when things go wrong. This cheat sheet covers how to deploy/create/run/update a Debezium Connector on OpenShift.
"},{"location":"cheatsheets/#kubernetes-operator-cheat-sheets","title":"Kubernetes Operator Cheat Sheets","text":"
  • developers.redhat.com: Writing a Kubernetes Operator in Java using Quarkus - Cheat Sheet \ud83c\udf1f
"},{"location":"cheatsheets/#kubernetes-pod-cheat-sheets","title":"Kubernetes POD Cheat Sheets","text":"
  • jimmysong.io/kubernetes-handbook/concepts/pod.html \ud83c\udf1f
  • https://dev.to/aurelievache: Understanding Kubernetes: part 1 \u2013 Pods
  • garba.org: Kubernetes Pod Life Cycle Cheat Sheet
"},{"location":"cheatsheets/#buildah-cheat-sheets","title":"Buildah Cheat Sheets","text":"
  • developers.redhat.com: Buildah Cheat Sheet
"},{"location":"cheatsheets/#prometheus-cheat-sheets","title":"Prometheus Cheat Sheets","text":"
  • iximiuz.com: Prometheus Cheat Sheet - How to Join Multiple Metrics (Vector Matching) \ud83c\udf1f
  • iximiuz.com: Prometheus Cheat Sheet - Moving Average, Max, Min, etc (Aggregation Over Time) Building anomaly detection with Prometheus requires the use of *_over_time function. But what do these functions do concretely?
"},{"location":"cheatsheets/#helm-cheat-sheets","title":"Helm Cheat Sheets","text":"
  • Helm Cheat Sheet
  • faun.pub: Helm Command Cheat Sheet | By M. Sharma This cheat sheet covers all important Helm operations and provides examples to help you understand its syntax and features
"},{"location":"cheatsheets/#maven-cheat-sheets","title":"Maven Cheat Sheets","text":"
  • maven.apache.org: Maven Quick Reference Card
  • jrebel.com/blog/maven-cheat-sheet
  • medium 1
  • journaldev.com
  • cheatography.com
  • javaguides.net
  • bogotobogo.com
  • lzone.de/cheat-sheet/Maven
  • gist.github.com/michaellihs (jenkins pipeline)
  • confluence.sakaiproject.org
"},{"location":"cheatsheets/#gradle-cheat-sheets","title":"Gradle Cheat Sheets","text":"
  • polyglotdeveloper.com: Gradle Cheat Sheet
  • eta-lang.org: Gradle Cheat Sheet
  • mingliang.me: Gradle Cheat Sheet
  • rratliff.com: Gradle Cheat Sheet
  • github.com/jahe: Gradle Cheat Sheet
  • github.com/jiffle: Gradle Cheat Sheet
"},{"location":"cheatsheets/#eclipse-microprofile","title":"Eclipse MicroProfile","text":"
  • developers.redhat.com: MicroProfile JWT (JSON Web Tokens)
"},{"location":"cheatsheets/#jenkins-cheat-sheets","title":"Jenkins Cheat Sheets","text":"
  • edureka.co: Jenkins Cheat Sheet \ud83c\udf1f
    • Jenkins Cheat Sheet
  • medium: Jenkins Cheat Sheet
  • cheatography.com: Jenkins Cheat Sheet
  • intellipaat.com: Jenkins Cheat Sheet \ud83c\udf1f
"},{"location":"cheatsheets/#bitbucket-pipelines","title":"Bitbucket Pipelines","text":"
  • balajisblog.com: Cheatsheet for Bitbucket Pipelines
"},{"location":"cheatsheets/#jmeter-cheat-sheets","title":"JMeter Cheat Sheets","text":"
  • Dzone Refcard: Getting Started with Apache JMeter
  • Groovy Templates Cheat Sheet for JMeter Need help with your Groovy templates? Check out this cheat sheet to help you get started with scripting in Apache JMeter.
  • JMeter Web Application Testing Cheatsheet
  • CheatSheet for JMeter __time Function Calls
  • martkos-it.co.uk: JMeter Cheat Sheet This jmeter cheat sheet provides gentle reminders of the usage of jmeter gui/non-gui. It includes installation/execution, plugins, shortcut keys and functions and variables.
    • jmeter-testing-cheat-sheet-v10.pdf
  • Cheat Sheet for Regular Expression in Jmeter
"},{"location":"cheatsheets/#quarkus-cheat-sheets","title":"Quarkus Cheat Sheets","text":"
  • Quarkus Cheat-Sheet
"},{"location":"cheatsheets/#markdown-cheat-sheets","title":"Markdown Cheat Sheets","text":"
  • markdownguide.org
    • Markdown Cheat Sheet 1
  • guides.github.com: Markdown Cheat Sheet 2
  • Markdown Cheat Sheet 4
  • freecodecamp.org: Markdown Cheat Sheet \u2013 How to Write in Markdown with Examples
"},{"location":"cheatsheets/#kafka","title":"Kafka","text":"
  • codingharbour.com: kafkacat cheatsheet Kafkacat is a versatile tool for producing and consuming messages, as well as exploring the cluster and topic metadata. Download the 1-page cheatsheet to get the most out of this awesome CLI tool.
  • betterprogramming.pub: 15 Kafka CLI Commands For Everyday Programming Demonstrating the use of the most commonly used Kafka Command Line Interface Commands
"},{"location":"cheatsheets/#machine-learning","title":"Machine Learning","text":"
  • Quiz Grader - (Related to ai topic)

  • Machine Learning Glossary

"},{"location":"cheatsheets/#javascript","title":"Javascript","text":"
  • opensource.com: JavaScript cheat sheet
"},{"location":"cheatsheets/#typescript","title":"TypeScript","text":"
  • React+TypeScript Cheatsheets
  • docs.microsoft.com: Build JavaScript applications using TypeScript
  • levelup.gitconnected.com: NestJS: Microservices with gRPC, API Gateway, and Authentication \u2014 Part \u00bd Step-by-Step Guide: NestJS Applications with TypeScript, gRPC, API Gateway, Authentication, and Validation.
  • freecodecamp.org: How TypeScript Interfaces Work \u2013 Explained with Examples
"},{"location":"cheatsheets/#jupyter","title":"Jupyter","text":"
  • opensource.com: JupyterLab cheat sheet
"},{"location":"cheatsheets/#sql","title":"SQL","text":"
  • intellipaat.com: SQL Commands Cheat Sheet
  • sqltutorial.org: SQL Cheat Sheet
  • Kanak Infosystems LLP. SQL Cheat Sheet
  • github.com/ABZ-Aaron: SQL Cheat Sheet \ud83c\udf1f
  • github.com/enochtangg/quick-SQL-cheatsheet: Quick SQL Cheatsheet \ud83c\udf1f A quick reminder of all SQL queries and examples on how to use them.
  • hackr.io: SQL Commands Tutorial: DDL, DML, TCL and DQL Commands
  • github.com/swapnakpanda: SQL_CheatSheet.png
  • TSQL and SQL Queries Cheat Sheet
  • dev.to: Optimizing SQL Queries by 23x!!!
"},{"location":"cheatsheets/#postgres","title":"Postgres","text":"
  • postgrescheatsheet.com
  • datadoghq.com: PostgreSQL Cheatsheet Keep track of important resource and activity metrics from your PostgreSQL databases.
"},{"location":"cheatsheets/#mariadb-and-mysql","title":"MariaDB and mySQL","text":"
  • opensource.com: MariaDB and mySQL cheat sheet
"},{"location":"cheatsheets/#mongodb","title":"MongoDB","text":"
  • developer.mongodb.com: MongoDB Cheat Sheet
"},{"location":"cheatsheets/#python","title":"Python","text":"
  • intellipaat.com: Python Cheat Sheet Basics This part of the Python tutorial offers you a cheat sheet on Python basics wherein you will learn about Python data types, operators, flow control method, functions, file operations, class, objects and more.
  • websitesetup.org: Python Cheat Sheet
  • https://blog.finxter.com/python-cheat-sheets
  • https://www.pythoncheatsheet.org
  • python.plainenglish.io: The Ultimate Python Cheat Sheet | Muhammad Umair
  • github.com/ekramasif: Basic Machine Learning - Python Cheatsheet
"},{"location":"cheatsheets/#go","title":"Go","text":"
  • devhints.io/go: Go cheatsheet
  • github.com: golang-cheat-sheet
  • simplecheatsheet.com/tag/golang-cheat-sheet
"},{"location":"cheatsheets/#nodejs","title":"NodeJS","text":"
  • NodeJS Best Practices (Spanish Translation) - (Related to golang topic)

  • developers.redhat.com: Node.js Cheat Sheet

"},{"location":"cheatsheets/#c","title":"C++","text":"
  • hackingcpp.com: C++ Cheat Sheets
"},{"location":"cheatsheets/#selenium","title":"Selenium","text":"
  • dev.to: Selenium Cheat Sheet
  • lambdatest.com: The Ultimate Selenium Python Cheat Sheet for Test Automation
  • intellipaat.com: Selenium Cheat Sheet
"},{"location":"cheatsheets/#rpa","title":"RPA","text":"
  • intellipaat.com: RPA Cheat Sheet
"},{"location":"cheatsheets/#data-science","title":"Data Science","text":"
  • kdnuggets.com: The Complete Collection of Data Science Cheat Sheets \u2013 Part 1 A collection of cheat sheets that will help you prepare for a technical interview, assessment tests, class presentation, and help you revise core data science concepts.
  • kdnuggets.com: The Complete Collection of Data Science Cheat Sheets \u2013 Part 2 A collection of cheat sheets that will help you prepare for a technical interview on Data Structures & Algorithms, Machine learning, Deep Learning, Natural Language Processing, Data Engineering, Web Frameworks.
"},{"location":"cheatsheets/#scrum-cheat-sheet","title":"Scrum Cheat Sheet","text":"
  • dzone: Scrum refcard
  • teamhood.com: scrum cheat sheet
"},{"location":"cheatsheets/#images","title":"Images","text":"Click to expand!

"},{"location":"cheatsheets/#tweets","title":"Tweets","text":"Click to expand!

Best of HTTP Cheat Sheet#infosec #cybersecurity #pentesting #oscp #informationsecurity #hacking #cissp #redteam #technology #DataSecurity #CyberSec #Hackers #tools #bugbountytips #Linux #websecurity #Network #NetworkSecurity #cybersecurityawareness pic.twitter.com/KoxbnH06JB

\u2014 Shubham Sharma (@Shubham_pen) June 18, 2022

PowerShell cheatsheet#devops #devsecops #kubernetes #cicd #k8s #linux #docker #sysadmin #automation #technology #cloudcomputing #serverless #windows #powershell pic.twitter.com/zljv4ikFp3

\u2014 Valdemar (@heyValdemar) June 27, 2022

Cron cheatsheet#devops #devsecops #kubernetes #cicd #k8s #linux #docker #sysadmin #automation #technology #cloudcomputing #serverless #cron #crontab pic.twitter.com/ECiUvYU938

\u2014 Valdemar (@heyValdemar) July 9, 2022

#Python Cheat Sheet #MachineLearning #DataScience #SQL #Cybersecurity #BigData #Analytics #AI #IIoT #RStats #TensorFlow #JavaScript #ReactJS #CloudComputing #Serverless #DataScientist #Linux #Programming #Coding #100DaysofCode #NodeJS #golang #NLP #GitHub #IoT #MLOps #blockchain pic.twitter.com/XKjrAnWL2Y

\u2014 Sushant Singh (@Nostalgicbrain0) July 16, 2022

"},{"location":"chef/","title":"Chef","text":"
  • chef.io
  • learn.chef.io
"},{"location":"cicd-kubernetes-plugins/","title":"CI/CD Kubernetes Plugins","text":"
  1. Jenkins Kubernetes Plugins
  2. Jenkins OpenShift Plugins
  3. Argo CD Config Management Plugins
  4. GitLab Kubernetes Agent
"},{"location":"cicd-kubernetes-plugins/#jenkins-kubernetes-plugins","title":"Jenkins Kubernetes Plugins","text":"
  • Jenkins Kubernetes Plugin
  • Kubernetes Continuous Deploy
"},{"location":"cicd-kubernetes-plugins/#jenkins-openshift-plugins","title":"Jenkins OpenShift Plugins","text":"
  • openshift-pipeline
  • openshift-sync
  • openshift-client
"},{"location":"cicd-kubernetes-plugins/#argo-cd-config-management-plugins","title":"Argo CD Config Management Plugins","text":""},{"location":"cicd-kubernetes-plugins/#gitlab-kubernetes-agent","title":"GitLab Kubernetes Agent","text":"
  • GitLab Kubernetes Agent
  • GitLab Kubernetes Agent available on GitLab.com
"},{"location":"cicd/","title":"Software Delivery Pipeline. CI/CD","text":"
  1. Introduction
  2. CI/CD Continuous Integration and Continuous Delivery
  3. CI/CD Pipelines With Kubernetes
  4. Observability
  5. Code Review
  6. Security in CI/CD
  7. Progressive Delivery
  8. Deployment Strategies
  9. Pipeline Patterns
  10. CI/CD with Kubernetes
  11. CI/CD with OpenShift
  12. CI/CD with AWS
  13. Reports on the Enterprise CI/CD Market
  14. Tools
  15. Awesome Lists
  16. Images
  17. Videos
  18. Tweets
"},{"location":"cicd/#introduction","title":"Introduction","text":"
  • The 12-Factor App: An Updated Guide - (Related to introduction topic)

  • opensource.com: What is CI/CD?

  • Wikipedia.org: DevOps
  • Wikipedia.org: Continuous Integration
  • Wikipedia.org: Continuous Delivery
  • martinfowler.com: Continuous Integration (original version)

"},{"location":"cicd/#cicd-continuous-integration-and-continuous-delivery","title":"CI/CD Continuous Integration and Continuous Delivery","text":"
  • DZone: Continuous Integration: Servers and Tools Learning to Utilize DevOps with Servers and Tools
  • sdtimes.com: CI/CD pipelines are expanding \ud83c\udf1f The \u201cbasic\u201d CI/CD pipeline includes five processes, which are: merge, build, test, package and deploy. All of these are individually defined so readers have a common reference point. The basic pipeline includes sub-pipelines associated with each step, such as moving artifacts from a build into a repository.
  • devopsonline.co.uk: ChatOps, DevOps, ScrumOps and 5 Other Ops religions
  • opensource.com: A beginner\u2019s guide to building DevOps pipelines with open source tools If you\u2019re new to DevOps, check out this five-step process for building your first pipeline.
  • acloud.guru: How youtr org predicts your CI/CD pipeline
  • dev.to: CI/CD Continuous Integration & Delivery Explained \ud83c\udf1f\ud83c\udf1f
  • mindtheproduct.com: The Product Managers\u2019 Guide to Continuous Delivery and DevOps \ud83c\udf1f\ud83c\udf1f
  • tech.buzzfeed.com: Continuous Deployments at BuzzFeed
  • Dzone refcard: Continuous Delivery - Patterns and Anti-Patterns in the Software Lifecycle \ud83c\udf1f
  • infoworld.com: What is CI/CD? Continuous integration and continuous delivery explained The CI/CD pipeline is one of the best practices for devops teams to implement, for delivering code changes more frequently and reliably
  • devops.com: How to Implement an Effective CI/CD Pipeline
  • ammeon.com: 5 Tips For Building A CI/CD Pipeline
  • medium: What is CI/CD Pipeline in DevOps? \ud83c\udf1f\ud83c\udf1f Understanding the Importance of CI/CD Pipeline.
  • aws.amazon.com: Automating safe, hands-off deployments \ud83c\udf1f\ud83c\udf1f
  • techuz.com: What is CI/CD? An Introduction to Continuous Integration, Continuous Deployment and CI/CD Pipeline
  • kodekloud.com: What is CI/CD Pipeline in DevOps CI/CD plays an important role in your DevOps implementation path. Here are some important things to consider while building a CI/CD pipeline:
    • Peer code review
    • Build in a containerized environment
    • Shorten the feedback loop
    • Do CI first
    • Compare efficiency
    • Insert security checkpoints in the pipeline
    • Implement an easy way to rollback
    • Proactively monitor your CD pipeline
  • medium: How to build an efficient CI/CD pipeline \ud83c\udf1f\ud83c\udf1f
  • developers.redhat.com: The present and future of CI/CD with GitOps on Red Hat OpenShift
  • CI/CD Best Practices \ud83c\udf1f
  • harness.io: What is a CI/CD Platform and why should I care? \ud83c\udf1f
  • harness.io: 3 Ways to Use Automation in CI/CD Pipelines
  • cloudbees.com: 7 Tips for Creating A Successful CI/CD Pipeline \ud83c\udf1f
  • javi-kata.medium.com: CI/CD the journey of a dummy team \ud83c\udf1f This article tries to help people in how to achieve CI/CD starting from a feature branching model (gitflow).
  • thinkinglabs.io: Feature Branching considered evil \ud83c\udf1f
  • tripwire.com: Everything You Need to Know About CI/CD and Security
  • harness.io: CI/CD Pipeline: Everything You Need to Know \ud83c\udf1f
  • stackoverflow.blog: Fulfilling the promise of CI/CD \ud83c\udf1f When people say \u201cCI/CD,\u201d they are only talking about continuous integration. Nobody is talking about (or practicing) continuous deployment. AT ALL. It\u2019s like we have all forgotten it exists. It\u2019s time to change that.
  • Top 5 CI/CD best practices for 2021 \ud83c\udf1f
  • harness.io: What is Continuous Integration? \ud83c\udf1f
  • cd.foundation: 2021 Technology Trends and Predictions
  • opsmx.com: What is a CI/CD Pipeline ?
  • continuousdelivery.com: Patterns \ud83c\udf1f
  • devops.com: 7 Popular Open Source CI/CD Tools
  • testguild.com: Pipeline as Code with Mohamed Labouardy
  • harness.io: Understanding the Phases of the Software Development Life Cycle
  • cloudbees.com: Key Components of a CI/CD Pipeline
  • blog.thundra.io: Why a CI/CD Pipeline Makes Good Business Sense
  • jfrog.com: Cloud Native CI/CD: The Ultimate Checklist
  • jfrog.com: How to Accelerate Software Delivery with Hybrid Cloud CI/CD (e-commerce) \ud83c\udf1f
  • harness.io: Streamlining CI/CD and Optimizing AWS Cloud Spend
  • sdtimes.com: The State of CI/CD \u201cA few years ago, CI/CD started off as a method to help continuous deployment, but that definition of CI/CD is long defunct. CI/CD now has QA and security elements to it. We may have seen people refer to the current trend as DevSecOps. In my mind, DevSecOps is changing to be Dev-Infra-Sec-Ops (infrastructure-as-a-service) and will soon be called \u201cDev-Infra-Sec-Analytics-Ops (including analytics-as-a-service). One day the trend of CI/CD will eventually lead to touchless software development and maintenance. We are on the brink of major efficiency shift in the industry now and AI/ML and LCNC [low code/no code] technologies are enabling this shift.\u201d
  • javacodegeeks.com: The Case Against CI/CD What\u2019s the Point of CI/CD?
  • thenewstack.io: Improve Dev Experience to Maximize the Business Value of CD
  • community.dataminer.services: CI/CD and the Agile Principles
  • medium: Automated Build and Deploy Pipelines for Kubernetes
  • medium: Next Generation Kubernetes Deployments
  • levelup.gitconnected.com: Basics of CI/CD
  • techrepublic.com: CI/CD platforms: How to choose the right continuous integration and delivery system for your business
  • stackoverflow.blog: Fulfilling the promise of CI/CD When people say \u201cCI/CD,\u201d they are only talking about continuous integration. Nobody is talking about (or practicing) continuous deployment. AT ALL. It\u2019s like we have all forgotten it exists. It\u2019s time to change that.
  • speakerdeck.com: Deployment Scripting != Continuous Delivery
  • lambdatest.com: Top 10 CI/CD Pipeline Implementation Challenges And Solutions
  • devopsdigest.com: CI/CD Deployments: How to Expedite Across a Kubernetes Environment With DevOps Orchestration
  • medium.com/softwareimprovementgroup: CI/CD best practices: How to set up your pipeline
  • medium.com/dynatrace-engineering: How to combine and automate infrastructure and application deployment in a microservice environment A collection of best practices to improve your confidence in your deployed applications.
  • thenewstack.io: 4 Best Practices to Drive Successful Adoption of CI/CD
  • about.gitlab.com: How to keep up with CI/CD best practices
  • harness.io: Modern Software Delivery Best Practices & Software Delivery Management
  • linkedin pulse: Enabling CI/CD to Boost DevOps | Pavan Belagatti
  • about.gitlab.com: How to learn CI/CD fast
  • thenewstack.io: Are Monolith CI/CD Pipelines Killing Quality in Your Software? This creates complex challenges for developers trying to push commits with confidence and DevOps teams responsible for fine-tuning their pipelines.
  • clickittech.com: CI/CD Best Practices: Top 10 Practices for Financial Services
  • medium.com/@rifkikarimr: Continuous Integration and Continuous Deployment: Best Practices for DevOps \ud83c\udf1f Explore the basics of CICD. What they\u2019re, why they\u2019re important, how to set up CI/CD pipeline, the best practices for CI/CD, and how to overcome common challenges
  • guru99.com: CI/CD Pipeline: Learn with Example \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f CICD automates the process of app delivery. It builds code, runs tests, helps to safely deploy new version of the app. It reduces manual errors, provides feedback, and allows fast product iterations.
  • dzone.com: How To Build an Effective CI/CD Pipeline This article leads you through an exploration of practical steps for creating pipelines that accelerate deployments.
  • groundcover.com: Cloud-native CI/CD? Yeah, that\u2019s a thing \ud83c\udf1f Discover how leveraging CI/CD pipelines based on Kubernetes gives organizations improved control and more efficient management, allowing for faster recovery and replication of runtime environments.
  • spacelift.io: Kubernetes CI/CD Pipelines \u2013 7 Best Practices and Tools | James Walker \ud83c\udf1f CICD pipelines enhance app delivery process by automating key stages like testing, security scanning, and deployment. Adopting pipeline-based workflow helps to ship more quickly.
  • thenewstack.io: Embracing Database Deployments in CI/CD Practices with Git Databases have not been well integrated into the CI/CD tooling landscape, but applying git-like concepts can help.
  • hart-michael.medium.com: Why You Need Continuous Deployment
"},{"location":"cicd/#cicd-pipelines-with-kubernetes","title":"CI/CD Pipelines With Kubernetes","text":"
  • ArgoCon North America 2026 Call for Proposals - (Related to argo topic)
  • Enhancing Infrastructure as Code Generation with GitHub Copilot for Azure - (Related to iac topic)
  • Automating Kubernetes Deployments with Helm Charts - (Related to helm topic)

  • dzone.com: An Overview of CI/CD Pipelines With Kubernetes Take a look at CI/CD approaches in a Kubernetes ecosystem, best practices for implementing an efficient CI/CD framework, and popular open-source CI/CD tools.

  • thenewstack.io: Kubernetes CI/CD Pipelines Explained Building an effective CI/CD pipeline requires diligent technical analysis, a generous amount of planning and choosing the right set of tools.
"},{"location":"cicd/#observability","title":"Observability","text":"
  • betanews.com: Overcoming observability challenges in the CI/CD Pipeline
"},{"location":"cicd/#code-review","title":"Code Review","text":"
  • Purposeful Commits - (Related to git topic)
  • Automate Pull Request Descriptions in Azure DevOps with Azure OpenAI - This article details how to leverage Azure OpenAI\u2019s large language models to automatically generate pull request descriptions in Azure DevOps. It outlines a process where Azure Pipelines, triggered by pull request creation, use Azure DevOps variables to interact with the Azure OpenAI API. The LLM summarizes code changes into natural language, which is then programmatically set as the pull request description via the Azure DevOps API. This aims to enhance developer experience by providing context without manual effort.

  • developers.redhat.com: 10 tips for reviewing code you don\u2019t like

"},{"location":"cicd/#security-in-cicd","title":"Security in CI/CD","text":"
  • Deploying to Azure: Secure Your GitHub Workflow with OIDC \ud83c\udf1f - This blog post explains the benefits of using OpenID Connect (OIDC) for securing GitHub Actions workflows when deploying to Azure. It provides a step-by-step guide on setting up OIDC authentication using Azure CLI, including creating an Azure AD application with federated credentials, and demonstrates its implementation within a GitHub repository workflow. The article highlights how OIDC eliminates the need for long-lived secrets in GitHub, thus enhancing security and simplifying credential management.
  • Securing Azure DevOps When Using Private Repositories - (Related to azure topic)
  • Avoiding Mistakes with AWS OIDC Integration Conditions - (Related to aws-security topic)
  • Update to Azure DevOps Allowed IP Addresses - (Related to azure topic)

  • CI Checks Are Not Enough: Combat Configuration Drift in Kubernetes Resources

  • devops.com: 8 Security Considerations for CI/CD
"},{"location":"cicd/#progressive-delivery","title":"Progressive Delivery","text":"
  • split.io: Progressive Delivery
  • harness.io: Progressive Delivery: Everything You Need to Know
  • weave.works: Progressively Delivering Applications Across Cloud and On-Premise. Using Kuma & GitOps to implement canary releasing
"},{"location":"cicd/#deployment-strategies","title":"Deployment Strategies","text":"
  • blog.container-solutions.com: Deployment Strategies \ud83c\udf1f
    • It really depends on the needs and budget. When releasing to development/staging environments, a recreate or ramped deployment is usually a good choice. When it comes to production, a ramped or blue/green deployment is usually a good fit, but proper testing of the new platform is necessary.
    • Blue/green and shadow strategies have more impact on the budget as it requires double resource capacity. If the application lacks in tests or if there is little confidence about the impact/stability of the software, then a canary, a/b testing or shadow release can be used. If your business requires testing of a new feature amongst a specific pool of users that can be filtered depending on some parameters like geolocation, language, operating system or browser features, then you may want to use the a/b testing technique.
    • Last but not least, a shadow release is complex and requires extra work to mock egress traffic which is mandatory when calling external dependencies with mutable actions (email, bank, etc.). However, this technique can be useful when migrating to a new database technology and use shadow traffic to monitor system performance under load.
  • harness.io: Intro to Deployment Strategies: Blue-Green, Canary, and More \ud83c\udf1f
  • medium: Continuous Kubernetes blue-green deployments on Azure using Nginx, AppGateway or TrafficManager \u2014 part 2
  • gitconnected.com: Blue-Green with Canary Deployment \u2014 A Novel approach
  • semaphoreci.com: Continuous Blue-Green Deployments With Kubernetes \ud83c\udf1f
  • cd.foundation: Intro to Deployment Strategies: Blue-Green, Canary, and More \ud83c\udf1f
  • opsmx.com: What is Blue Green Deployment ?
  • devopslearners.com: Blue-Green vs Canary Deployment
  • youtube: Kubernetes Deployment Strategies | DevOps FAQ | DevOps DevOps Interview Q&A
"},{"location":"cicd/#pipeline-patterns","title":"Pipeline Patterns","text":"
  • Azure DevOps Terraform Pipeline (Complete Guide + YAML Examples) \ud83c\udf1f - A comprehensive guide to building a production-ready Azure DevOps pipeline for Terraform, focusing on safety, reusability, security, and structure. It covers OIDC authentication, reusable templates, gated approvals, private module access, and dynamic state file naming, presenting a robust pattern beyond basic \u2018plan and apply\u2019 scripts.
  • Kiro: Engineering Rigor for Agentic Development - (Related to ai-agents-mcp topic)

  • harness.io: Pipeline Patterns for CI/CD Pipelines \ud83c\udf1f Button Push Pattern, Test Automation Pattern, Full Approval Pattern.

"},{"location":"cicd/#cicd-with-kubernetes","title":"CI/CD with Kubernetes","text":"
  • Automating Microsoft Sentinel Deployment with Azure DevOps CI/CD - (Related to azure topic)
  • Azure Landing Zone IaC Accelerator - (Related to iac topic)

  • blog.sonatype.com: Achieving CI and CD With Kubernetes \ud83c\udf1f

  • Devtron Labs: Devtron provides a \u2018seamless,\u2019 \u2018implementation agnostic uniform interface\u2019 across Kubernetes Life Cycle integrated with most Opensource and commercial tools
  • thenewstack.io: 7 features that make kubernetes ideal for CI/CD
  • thenewstack.io: CI/CD with kubernetes \ud83c\udf1f
  • harness.io: Kubernetes CI/CD Best Practices With all of the benefits that Kubernetes has, having good CI/CD practices is key. Kubernetes did not magically erase the discipline that your CI/CD journey has taken you on before Kubernetes. Leverage Kubernetes\u2019s strengths to further your CI/CD journey.
"},{"location":"cicd/#cicd-with-openshift","title":"CI/CD with OpenShift","text":"
  • developers.redhat.com: The present and future of CI/CD with GitOps on Red Hat OpenShift \ud83c\udf1f
"},{"location":"cicd/#cicd-with-aws","title":"CI/CD with AWS","text":"
  • Cloud Posse runs-on: GitHub Actions Self-Hosted Runners - (Related to kubernetes-tools topic)
  • RunsOn: Self-hosted GitHub Actions Runners in AWS \ud83c\udf1f - RunsOn provides a self-hosted solution for GitHub Actions runners, allowing you to run them within your own AWS account. This enables significant cost savings (up to 90%) compared to GitHub-hosted runners and offers greater control over instance types (x64, ARM64, GPU) and configurations. It integrates seamlessly with existing workflow syntax and handles runner management, caching, networking, and observability.
  • Install Java 23 in an Azure DevOps Pipeline - (Related to azure topic)

  • mediatemple.net: Cloud-Native CI/CD Workflows in AWS: 3 Use Cases

  • trek10.com: Enterprise CI/CD on AWS: a pragmatic approach How can we work within the constraints of a large organization to develop CI/CD flows that help us deploy applications quickly, safely, and accountably on AWS?
"},{"location":"cicd/#reports-on-the-enterprise-cicd-market","title":"Reports on the Enterprise CI/CD Market","text":"
  • GigaOm\u2019s Radar for Enterprise CI/CD \ud83c\udf1f is a must-see report for any DevOps enthusiast. The goal of an end-to-end Continuous Integration/Continuous Delivery (CI/CD) pipeline is to deliver software-based innovation and business value at both speed and scale. CI/CD plays a very important role in the company\u2019s DevOps journey. Keeping several factors in mind, Gigaom has come up with it\u2019sown research and presented who leads and who lags in the CI/CD market.
"},{"location":"cicd/#tools","title":"Tools","text":"
  • Terraform Enterprise 2.0 - (Related to terraform topic)
  • feat(ui): Add AppSet to Application Resource Tree in Argo CD - (Related to argo topic)
  • Claude Code in Action - (Related to ai topic)
  • Terraform & OpenTofu Skill for AI Agents - (Related to terraform topic)
  • Draw.io MCP for Diagram Generation: Why It\u2019s Worth Using - (Related to cloud-arch-diagrams topic)
  • Buildbot - Buildbot is an open-source Python-based framework for automating software build, test, and release processes. It facilitates continuous integration and continuous delivery pipelines.
  • PMEase QuickBuild - QuickBuild is a flexible continuous integration and continuous deployment (CI/CD) server designed for DevOps teams. It offers features like build promotion, integration with LDAP, and support for various build customization options. Version 16.0 includes updates for Java LTS, improved build subscriptions, artifact reservation, and API enhancements.
  • FossFLOW - A CI/CD pipeline for GitHub projects using GitHub Actions, Argo CD for GitOps, and FluxCD.
  • Canine: A Developer-friendly PaaS for Kubernetes - (Related to kubernetes-tools topic)
  • Azure DevOps MCP Server - (Related to azure topic)
  • Azure DevOps MCP Server Public Preview - (Related to ai topic)
  • Best Practices for Using GitHub Copilot - (Related to ai topic)
  • Programming with GitHub Copilot Agent Mode - (Related to ai topic)
  • InfraCost + Terraform PRs: Making Cost Awareness Effortless - (Related to terraform topic)
  • Automate Terraform Testing with Azure DevOps Pipelines - (Related to terraform topic)
  • Google Launches Gemini Code Assist, Challenging GitHub Copilot with Generous Free Tier - (Related to ai topic)
  • Back of the Napkin Guide to Updating Jenkins - (Related to jenkins topic)
  • Terraform Module Releaser GitHub Action - (Related to iac topic)
  • Gama: Terminal UI for GitHub Actions - Gama is a terminal-based user interface (TUI) tool that allows users to manage GitHub Actions workflows directly from their terminal. It enables listing, triggering, and managing workflows, with support for extended workflow inputs and workflow history.
  • Migrating CI/CD from Jenkins to Argo Workflows \ud83c\udf1f - This article from DEV Community details Intuit\u2019s experience and considerations when migrating their CI/CD pipelines from Jenkins to Argo Workflows. It discusses the challenges of running Jenkins at scale on Kubernetes and explores how Argo Workflows can be used alongside Argo CD for cloud-native CI/CD. The post focuses on the CI aspect and provides insights into mapping Jenkins functionalities to Argo Workflows, with an example to illustrate the differences.
  • Dependabot Version Updates in Azure DevOps - This article details how to integrate Dependabot-like functionality into Azure DevOps pipelines, allowing for automated dependency updates in repositories. It covers installing the \u2018Dependabot\u2019 extension from the Azure DevOps Marketplace and configuring a pipeline to run the task regularly, mimicking GitHub\u2019s Dependabot behavior. The setup includes utilizing a dependabot.yml configuration file, similar to its GitHub counterpart, to define package ecosystems and update strategies.
  • action-tmate: Debug GitHub Actions via SSH - This GitHub Action allows users to debug their GitHub Actions by providing SSH access to the runner system itself. It leverages tmate to establish a secure shell connection, enabling real-time interaction and inspection of the execution environment.
  • GitHub Copilot Now Explains Failed Actions Jobs (GA) - GitHub\u2019s Copilot can now assist users by explaining why an Actions job failed. This feature, now Generally Available, allows users to select \u2018Explain Error\u2019 from a failing check in the pull request merge box or on the Actions job page. Copilot analyzes the job and provides tailored guidance for resolution, consuming one chat message per use. This integration aims to streamline debugging and improve CI/CD workflows.

  • plutora.com: Artifacts management tools

  • cloudbees.com: Continuous Delivery Tools: The 5 You Absolutely Need to Know in 2021
  • dzone: DevOps: CI/CD Tools to Watch Out for in 2022 CI/CD is an integral part of any successful DevOps team. This list includes the finest CI/CD tools currently available in the market.
  • betterprogramming.pub: When Should You Self-Host CI Tools? | William Anderson How to decide whether you should self-host, go with a SaaS option, or bundle your choice of CI tool through a vendor
"},{"location":"cicd/#awesome-lists","title":"Awesome Lists","text":"
  • Awesome CI/CD \ud83c\udf1f
"},{"location":"cicd/#images","title":"Images","text":"Click to expand!

"},{"location":"cicd/#videos","title":"Videos","text":"Click to expand!"},{"location":"cicd/#tweets","title":"Tweets","text":"Click to expand!

CI/CD is a must-know in DevOps. Here's a dead simple guide to understanding it:

\u2014 Nikki Siapno (@NikkiSiapno) January 30, 2023
  • GitBook Webinar: GitBook for Public Docs - Webinar sobre el uso de GitBook para la documentaci\u00f3n p\u00fablica, \u00fatil para equipos que gestionan documentaci\u00f3n de proyectos de Kubernetes y Cloud Native.
"},{"location":"cloud-arch-diagrams/","title":"Cloud Architecture Diagram Tools","text":"
  1. Introduction
  2. MultiCloud
  3. K8s Diagrams
  4. Architecture Icons
  5. AWS
  6. Google Cloud Architecture Diagramming Tool
  7. Airflow
"},{"location":"cloud-arch-diagrams/#introduction","title":"Introduction","text":"
  • CloudCanvas - Diagramming for Cloud Infrastructure - CloudCanvas is a web-based tool that allows users to visually design and document their cloud infrastructure. It supports various cloud providers and services, enabling the creation of detailed architecture diagrams.

  • betterprogramming.pub: Solutions Architect Tips \u2014 The 5 Types of Architecture Diagrams The flow, service, persona, infrastructure, and developer diagram

  • alibabacloud.com: How to Create an Effective Technical Architectural Diagram?
  • learningdaily.dev: Software architecture diagramming and patterns
"},{"location":"cloud-arch-diagrams/#multicloud","title":"MultiCloud","text":"
  • CloudSkew Free AWS, Azure, GCP, Kubernetes Architecture Diagram Tool
  • diagrams.net Diagram with anyone, anywhere. Open source, online, desktop and container deployable diagramming software.
  • Hyperglance Cloud diagrams & inventory - Cost optimization & alerting - Security & compliance monitoring - Automatic policy enforcement - Self-hosted deployment - Free trial.
  • CloudSkew Free AWS, Azure, GCP, Kubernetes Architecture Diagram Tool
  • PlantUML
  • draw.io
    • opensource.com: Open source mind mapping with Draw.io Next time you need to brainstorm, organize ideas, or plan a project, start with Draw.io.
    • chcommunity.microsoft.com: Draw.io Azure infrastructure diagrams through code like an artist
  • Isoflow Infrastructure Diagrams
  • acloudguru.com: The top cloud diagramming tools, ranked
  • redhat.com: 6 architectural diagramming tools for cloud infrastructure Communicating a vision for cloud computing requires meaningful diagrams of logical, physical, and every layer in between. Here are tools that will help make them.
  • autodraw.com Fast drawing for everyone. AutoDraw pairs machine learning with drawings from talented artists to help you draw stuff fast.
  • redhat.com: Try these 5 diagramming tools for network architecture
  • redhat.com: Design professional enterprise architecture diagrams with this open source tool (diagrams.net) Walk step-by-step through creating enterprise architecture diagrams like an expert in this DevConf workshop.
  • kubernetes.io: Diagram Guide - Mermaid JavaScript library \ud83c\udf1f
  • mingrammer/diagrams \ud83c\udfa8 Diagram as Code for prototyping cloud system architectures
    • navveenbalani.dev: Code To Custom Cloud Architecture Diagrams
  • github.com/dcasati/kubernetes-PlantUML Kubernetes diagrams using VS Code. Kubernetes-PlantUML contains the PlantUML sprites, macros and stereotypes for creating PlantUML diagrams with the Kubernetes components. This work is based on the official Kubernetes Icons Set.
  • excalidraw.com
  • diagrams.mingrammer.com: Diagram as Code Diagrams lets you draw the cloud system architecture in Python code.
"},{"location":"cloud-arch-diagrams/#k8s-diagrams","title":"K8s Diagrams","text":"
  • Draw.io MCP for Diagram Generation: Why It\u2019s 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 - (Related to kubernetes topic)

  • cloudogu/k8s-diagrams A collection of diagrams explaining kubernetes by cloudogu, written in PlantUML.

"},{"location":"cloud-arch-diagrams/#architecture-icons","title":"Architecture Icons","text":"
  • AWS Architecture Icons
  • Azure Architecture Icons - thomasmaurer.ch: Download New Azure Architecture Icons now!
  • Google Cloud Architecture Icons
  • aquasecurity/cloudsec-icons A collection of cloud security icons \u2601\ufe0f\ud83d\udd12
  • github.com/kubernetes: Kubernetes Icons Set These icons are a way to standardize Kubernetes architecture diagrams for presentation. Having uniform architecture diagrams improve understandability
"},{"location":"cloud-arch-diagrams/#aws","title":"AWS","text":"
  • AZVerify: Bridging Azure Resources, Bicep Templates, and Diagrams with GitHub Copilot - (Related to azure topic)
  • Enterprise Web App Patterns - Azure Architecture Center - (Related to azure topic)
  • Azure Products by Region Table - (Related to azure topic)
  • Hub-Spoke Network Topology in Azure - Azure Architecture Center - (Related to azure topic)
  • Azure Landing Zone Technical Documentation - (Related to azure topic)
  • Azure Landing Zone - Microsoft Cloud Adoption Framework - (Related to azure topic)
  • Architecture Best Practices for Azure Kubernetes Service (AKS) - (Related to azure topic)

  • AWS Architecture Icons The official AWS icon set for building architecture diagrams

  • cloudcraft.co
    • diagrams.net: Use Cloudcraft to export your AWS architecture to a .drawio diagram
  • hava.io
  • draw.io
  • CloudMapper (OSS)
  • Lucidchart
    • Lucidscale: Import your architecture Lucidscale is the cloud visualization solution that helps organizations see and understand their cloud environment.
  • infviz.io
  • AWS Account Cloud9 Visualizer
    • How to visualize your AWS Account with AWS Cloud9?
  • AWS CloudFormer + AWS CloudFormation Designer
  • AWS Architecture Icons The official AWS icon set for building architecture diagrams
  • cloudcraft.co
  • hava.io
  • CloudMapper (OSS)
  • Lucidchart
  • infviz.io
  • AWS CloudFormer + AWS CloudFormation Designer
  • What is the best way to generate a visual diagram of the AWS environment which includes VPC, VPN, EC2, and AMIs?
  • AWS Perspective \ud83c\udf1f a tool to automatically visualise your loud workloads.
    • https://github.com/awslabs/aws-perspective
    • Perspective inventories your aws accounts and can automatically create architecture diagrams with your resources along with the relationships between them. The diagrams are dynamic and you have the ability to explore them to discover how your resources are associated and connected.
    • Perspective displays indicative costing data for the resources in your diagrams and works cross-account and cross-region.
    • Perspective is open source and has an open road map. Feel free to raise issues and contribute to future development!
  • cfn-diagram \ud83c\udf1f CLI tool to visualise CloudFormation/SAM/CDK stacks as visjs networks or draw.io diagrams.
  • alanblackmore.medium.com: AWS Diagram Architecture
  • github.com/awslabs/diagram-as-code \ud83c\udf1f
"},{"location":"cloud-arch-diagrams/#google-cloud-architecture-diagramming-tool","title":"Google Cloud Architecture Diagramming Tool","text":"
  • cloud.google.com: Introducing a Google Cloud architecture diagramming tool
"},{"location":"cloud-arch-diagrams/#airflow","title":"Airflow","text":"
  • feluelle/airflow-diagrams Auto-generated Diagrams from Airflow DAGs
  • medium.com/contino-engineering: Data Pipeline Orchestration - Using Amazon Managed Workflows for Apache Airflow (MWAA)
"},{"location":"cloud-asset-inventory/","title":"Cloud Asset Inventory","text":"
  1. CloudQuery
  2. Steampipe
  3. Azure Architecture
  4. kubernetes-storage
"},{"location":"cloud-asset-inventory/#cloudquery","title":"CloudQuery","text":"
  • https://github.com/cloudquery/cloudquery
  • cloudquery.io: Cloud Query: The open-source cloud asset inventory powered by SQL CloudQuery enables you to assess, audit, and evaluate the configurations of your cloud assets.
  • cloudquery.io: Building an Open-Source Cloud Asset Inventory with CloudQuery and Grafana
"},{"location":"cloud-asset-inventory/#steampipe","title":"Steampipe","text":"
  • ServerlessHorrors: A Web Compiling Nightmares in the Serverless World - (Related to serverless topic)
"},{"location":"cloud-asset-inventory/#azure-architecture","title":"Azure Architecture","text":""},{"location":"cloud-asset-inventory/#kubernetes-storage","title":"kubernetes-storage","text":"
  • Ceph: A Distributed Object, Block, and File Storage Platform - (Related to kubernetes-storage topic)
  • AWS Cloud Practitioner - Curso Completo 2023 - (Related to aws-training topic)
  • CloudCanvas - Diagramming for Cloud Infrastructure - (Related to cloud-arch-diagrams topic)
  • Transitioning an Existing Azure Environment to the Azure Landing Zone Reference Architecture - (Related to azure topic)
  • Subscription Vending Implementation Guidance - (Related to azure topic)

  • steampipe Steampipe is an open source tool for querying cloud APIs in a universal way and reasoning about the data in SQL.

  • Querying AWS at scale across APIs, Regions, and accounts
"},{"location":"cloudflare/","title":"Cloudflare Public Cloud","text":""},{"location":"cloudflare/#email-services","title":"Email Services","text":"
  • How to Set Up a Custom Email with Cloudflare and Mailgun - This article provides a step-by-step guide on how to set up a custom email address (e.g., info@yourdomain.com) for free using Cloudflare for DNS management and Mailgun for email services. It explains how to integrate these services to manage custom emails directly within a Gmail inbox, focusing on efficiency, reliability, and security.

  • cloudflare.com

  • Cloudflare workers (Serverless)
  • venturebeat.com: Cloudflare acquires Linc to automate web app deployment
  • blog.cloudflare.com: Network Performance Update: Full Stack Week
  • blog.cloudflare.com: Guest Blog: k8s tunnels with Kudelski Security
  • blog.cloudflare.com: Zero Trust Private Networking Rules
"},{"location":"container-managers/","title":"Container Runtimes/Managers, Base Images and Container Tools. Podman, Buildah & Skopeo","text":"
  1. Introduction
  2. OCI Project. Open Container Initiative
    1. OCI Runtimes
      1. runc
      2. crun
    2. OCI Monitors
  3. Container Managers / Container Runtimes (CRI runtimes)
    1. CRI-O
    2. Podman. Pod Manager tool
      1. Podman Desktop
      2. Containers In High Security Environments with Podman
  4. Container Images
    1. Red Hat Universal Base Image
  5. Container Tools
    1. Buildah
    2. Skopeo
  6. Images
  7. Tweets
"},{"location":"container-managers/#introduction","title":"Introduction","text":"
  • A Practical Introduction to Container Terminology
  • inovex.de: Welcome To The Container Jungle: Docker vs. containerd vs. Nabla vs. Kata vs. Firecracker and more! \ud83c\udf1f
  • blog.alexellis.io: Building containers without Docker \ud83c\udf1f
  • thenewstack.io: Container Best Practices: What They Are and Why You Should Care
"},{"location":"container-managers/#oci-project-open-container-initiative","title":"OCI Project. Open Container Initiative","text":"
  • OCI: Open Container Initiative
  • scrivano.org: the journey to speed up running OCI containers
"},{"location":"container-managers/#oci-runtimes","title":"OCI Runtimes","text":""},{"location":"container-managers/#runc","title":"runc","text":"
  • runc CLI tool for spawning and running containers according to the OCI specification
"},{"location":"container-managers/#crun","title":"crun","text":"
  • crun A fast and lightweight fully featured OCI runtime and C library for running containers
"},{"location":"container-managers/#oci-monitors","title":"OCI Monitors","text":"
  • Conmon An OCI container runtime monitor.
"},{"location":"container-managers/#container-managers-container-runtimes-cri-runtimes","title":"Container Managers / Container Runtimes (CRI runtimes)","text":"
  • containerd - An open and reliable container runtime \ud83c\udf1f - The containerd GitHub repository hosts the source code and documentation for containerd, an open and reliable container runtime. It is a core component for running containers, often used by higher-level orchestrators like Kubernetes and Docker.
  • Controlling Process Resources with Linux Control Groups (cgroups) - (Related to kubernetes topic)
  • What is Podman and How Does it Compare to Docker? - An article from Build5Nines providing a detailed overview of Podman, an open-source container engine developed by Red Hat. It explains Podman\u2019s key features such as its daemonless architecture, rootless execution, native pod support, and Docker-compatible CLI, and contrasts it with Docker\u2019s daemon-based model. The article aims to help developers transition between the two container management tools.

  • Kubernetes.io: Container runtimes

  • Docker
  • containerd.io
  • Frakti
"},{"location":"container-managers/#cri-o","title":"CRI-O","text":"
  • cri-o.io Lightweight Container Runtime for Kubernetes
  • Why Red Hat is investing in CRI-O and Podman
"},{"location":"container-managers/#podman-pod-manager-tool","title":"Podman. Pod Manager tool","text":"
  • Podman.io
  • Libpod: Library and tool for running OCI-based containers in Pods
    • Libpod is a library used to create container pods. Home of Podman.
    • Libpod provides a library for applications looking to use the Container Pod concept, popularized by Kubernetes. Libpod also contains the Pod Manager tool (Podman). Podman manages pods, containers, container images, and container volumes.
  • Intro to Podman
  • redhat.com: Be careful when pulling images by short name
  • developers.redhat.com: Podman and Buildah for Docker users \ud83c\udf1f
  • podmain.io: Announcing Podman v2 Featuring a new REST API, Remote Clients, Auto-update, Systemd Integration Improvements and more!
  • youtube: Getting started with Podman
  • Podman remote clients for macOS and Windows Podman manages your containers on a Linux host. Manage your containers from macOS or Windows by using the Podman remote client.
  • developers.redhat.com: Rootless containers with Podman: The basics
  • tecmint.com: How to Manage Containers Using Podman and Skopeo in RHEL 8
  • thenewstack.io: Tutorial: Host a Local Podman Image Registry \ud83c\udf1f
  • redhat.com: Using Podman and Docker Compose Podman 3.0 now supports Docker Compose to orchestrate containers.
  • redhat.com: From Docker Compose to Kubernetes with Podman Use Podman 3.0 to convert Docker Compose YAML to a format Podman recognizes.
  • fedoramagazine.org: Manage containers with Podman Compose
  • medium: Podman: Getting Started
  • oldgitops.medium.com: Setting up Podman on WSL2 in Windows 10 \ud83c\udf1f
  • youtube: Podman in Podman (Running a container within a container)
  • \u201cForget about Docker image updating hassle. Podman offers simple auto updating capabilities. It works with conjunction with systemd. Just add label \u201cio.containers.autoupdate=image\u201d and run podman auto-update in cron or with help of systemd.timer and be done with it\u201d puksiarz
  • wbhegedus.me: Configuring Podman for WSL2 \ud83c\udf1f
  • redhat.com: How to replace Docker with Podman on a Mac Want to use Podman to work with containers? Here\u2019s what you need to know about Podman on a Mac.
  • redhat.com: Exploring the new Podman secret command \ud83c\udf1f Use the new podman secret command to secure sensitive data when working with containers.
  • developers.redhat.com: Using Podman Compose with Microcks: A cloud-native API mocking and testing tool
  • redhat.com: How to automate Podman installation and deployment using Ansible \ud83c\udf1f Learn how to easily install and deploy Podman using Ansible in your environment.
  • tutorialworks.com: How to Start Containers Automatically, with Podman and Systemd
  • youtube: Podman 3 and Docker Compose - How Does the Dockerless Compose Work? \ud83c\udf1f
  • fedoramagazine.org: Use Docker Compose with Podman to Orchestrate Containers on Fedora Linux
  • opensource.com: Run a Linux virtual machine in Podman Use Podman Machine to create a basic Fedora CoreOS VM to use with containers and containerized workloads.
  • developers.redhat.com: Transitioning from Docker to Podman \ud83c\udf1f
  • pythonspeed.com: Using Podman with BuildKit, the better Docker image builder \ud83c\udf1f
  • devopscube.com: Podman Tutorial For Beginners: Step by Step Guides \ud83c\udf1f
  • kubernetespodcast.com: Podman, with Daniel Walsh and Brent Baude
  • redhat.com: How to use auto-updates and rollbacks in Podman
    • New auto-update capabilities enable you to use Podman in edge use cases, update workloads once they are connected to the network, and roll back failures to a known-good state.
    • Podman: the best tool for running containers on the edge servers. On the edge you want no human intervention. Podman+systemd support auto-update of container image & rollback, when update fails.
  • opensource.com: Get podman up and running on Windows using Linux Enable WSL 2 guests to run the podman, skopeo, or buildah commands from within Windows using the Linux distribution of your choice.
  • crunchtools.com: Should I Use Docker Compose Or Podman Compose With Podman?
  • medium.com: Exploring Docker alternative \u2014 Podman
  • darumatic.com: Podman - Introduction \ud83c\udf1f
  • redhat.com: Build Kubernetes pods with Podman play kube Enhancements include building images and tearing down pods with play kube and support for Kubernetes-style init containers.
  • iongion.github.io: Podman Desktop Companion \ud83c\udf1f Cross-platform desktop integrated application with consistent UI
  • redhat.com: How to replace Docker with Podman on a Mac, revisited Want to use Podman on macOS? There\u2019s a new way with podman machine. Here\u2019s what you need to know.
  • imaginarycloud.com: Podman vs Docker: What are the differences?
  • opensource.com: Run containers on Linux without sudo in Podman Configure your system for rootless containers.
  • redhat.com: Create fast, easy, and repeatable containers with Podman and shell scripts
  • redhat.com: How to use Podman to get information about your containers Use the podman ps command to get size, resource consumption, and other information about your containers.
  • redhat.com: 5 Podman features to try now Improve how you use containers with these new Podman features: \u2013latest, \u2013replace, \u2013all, \u2013ignore, and \u2013tz.
  • Here\u2019s how I stop all containers before: \ud83d\udc33 docker stop $(docker ps -aq)
    • Here\u2019s how I stop/remove all containers with podman: podman stop -a; podman rm -a
  • medium.com/@raghavendraguttur: Podman Containers \u2014 Beginner\u2019s Guide In this article, you will learn about Podman \u2014 an open-source tool for managing containers, images, volumes, and pods (group of containers). You will also compare it to buildah and skopeo.
  • nilesh93.medium.com: Replacing Docker Desktop with Podman and Kind in MacOS
  • dev.to: Containers without Docker (podman, buildah, and skopeo) In this article, you will learn how you can use Podman, Buildah, and Skopeo as replacements for the traditional Docker workflow, without the use of a daemon or root privileges
  • redhat.com/sysadmin/quadlet-podman Make systemd better for Podman with Quadlet. Quadlet, a tool merged into Podman 4.4, hides the complexity of running containers under systemd to make it easier to maintain unit files written from scratch.
"},{"location":"container-managers/#podman-desktop","title":"Podman Desktop","text":"
  • Podman Desktop
  • developers.redhat.com: Podman expands to the Desktop
"},{"location":"container-managers/#containers-in-high-security-environments-with-podman","title":"Containers In High Security Environments with Podman","text":"
  • Build trusted pipelines/Guards with Podman containers Container technology makes develoment easier/cheaper & much more secure. SELinux,SECCOMP,Namespaces,Dropped Capabilities.
"},{"location":"container-managers/#container-images","title":"Container Images","text":"
  • sherifabdlnaby/kubephp \ud83d\udc33 Production Grade, Rootless, and Optimized PHP Container Image Template for Cloud-Native Deployments and Kubernetes.
  • iximiuz.com: In Pursuit of Better Container Images: Alpine, Distroless, Apko, Chisel, DockerSlim, oh my!
"},{"location":"container-managers/#red-hat-universal-base-image","title":"Red Hat Universal Base Image","text":"
  • Introducing the Red Hat Universal Base Image \ud83c\udf1f
  • What is Red Hat Universal Base Image?
  • RH Universal Base Image FAQ
  • Red Hat Ecosystem Catalog
  • ubi-micro: RHEL tiny images to build containers \ud83c\udf1f
  • developers.redhat.com: How to pick the right container base image
"},{"location":"container-managers/#container-tools","title":"Container Tools","text":"
  • bul: Interactive TUI for Exploring Kubernetes Container Logs - (Related to kubernetes-tools topic)

  • How to use the \u2013privileged flag with container engines Let\u2019s take a deep dive into what the \u2013privileged flag does for container engines such as Podman, Docker, and Buildah.

  • itnext.io: Docker, Kaniko, Buildah Different ways to build container images
  • blog.kubesimplify.com: Getting started with ko: A fast container image builder for your Go applications
"},{"location":"container-managers/#buildah","title":"Buildah","text":"
  • Buildah.io A tool that facilitates building Open Container Initiative (OCI) container images
    • github.com/containers/buildah
  • developers.redhat.com: Getting started with Buildah
  • youtube: How to live without Docker for developers - Part 1 | Migration from Docker to Buildah and Podman
"},{"location":"container-managers/#skopeo","title":"Skopeo","text":"
  • Skopeo is a command line utility that performs various operations on container images and image repositories.
  • Promoting container images between registries with skopeo
"},{"location":"container-managers/#images","title":"Images","text":"Click to expand!"},{"location":"container-managers/#tweets","title":"Tweets","text":"Click to expand!

Running openvscode-server from #podman with:podman pull https://t.co/eXpnV9qXTtpodman run -it --init -p 3000:3000 -v \"$(pwd):/home/workspace:cached\" gitpod/openvscode-serverNote; you might get a permission denied, is not aware of rootless use. Resolve with `chmod o+w -R` :-/

\u2014 Forever Young (@gbraad) (@gbraad) October 27, 2021

The RHEL/UBI 9 container images were released today! I'm quite happy with the size reduction! We have UBI Micro down to 7MB compressed! pic.twitter.com/PBU3cAApsp

\u2014 Scott McCarty (@fatherlinux) November 3, 2021

Some of the things I like about @Podman_io is this ability to generate K8s pod YAMLs from podman pods.(1): deploy a pod named webserver with an Nginx container.(2): generate the K8s YAML for the podman pod(3): You can direct the generated YAML to a file with redirection pic.twitter.com/PTykINAS4A

\u2014 SAIM SAFDAR (@cloudnativeboy) January 31, 2022"},{"location":"crossplane/","title":"Crossplane. A Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions","text":"
  1. Introduction
  2. Demo. YAML Your Cloud. Managing Cloud-Hosted Resources from Kubernetes
  3. Videos
"},{"location":"crossplane/#introduction","title":"Introduction","text":"
  • crossplane.io Crossplane is an open source Kubernetes add-on that supercharges your Kubernetes clusters enabling you to provision and manage infrastructure, services, and applications from kubectl.
  • Crossplane, a Universal Control Plane API for Cloud Computing
  • Crossplane as an OpenShift Operator to manage and provision cloud-native services
  • Crossplane: A Kubernetes Control Plane to Roll Your Own PaaS
  • medium: Using Crossplane to Provision a Kubernetes Cluster in Google Cloud
  • upbound/platform-ref-multi-k8s: Upbound\u2019s reference platform for multi-cloud Kubernetes with Crossplane Use crossplane and provision new EKS/AKS/GKE clusters declaratively and have them continuously managed for you.
  • codefresh.io: Using GitOps for Infrastructure and Applications With Crossplane and Argo CD
  • itnext.io: Why do developers find Kubernetes so hard? And how can Crossplane Kubernetes Provider help
  • faun.pub: Defining Infrastructure Declaratively with Crossplane
  • itnext.io: GitOpsify Cloud Infrastructure with Crossplane and Flux In this article, we are going to learn how to automate the provisioning of cloud resources via Crossplane and combine it with GitOps practices.
  • symphony.is: Crossplane - The New Kid in Town
"},{"location":"crossplane/#demo-yaml-your-cloud-managing-cloud-hosted-resources-from-kubernetes","title":"Demo. YAML Your Cloud. Managing Cloud-Hosted Resources from Kubernetes","text":"
  • Very cool talk from @askmeegs and @shabirmean with an insightful look into the tools for managing cloud resources from Kubernetes. Great demonstration of @crossplane_io spanning your control plane across multiple clouds.
  • Presentation: YAML your cloud
  • askmeegs/yaml-your-cloud
"},{"location":"crossplane/#videos","title":"Videos","text":"Click to expand!"},{"location":"crunchydata/","title":"Crunchy Data PostgreSQL Operator","text":"
  1. Introduction
  2. Crunchy Data Developer Portal
  3. Crunchy Data Postgres Operator in OpenShift 4. Overview & Proof of Concept
    1. Crunchydata Postgres Operator 3.5
    2. Crunchydata Postgres Operator 4.0.1
    3. Crunchydata Postgres Operator 4.0.1 Community Edition
      1. Service Accounts
      2. Roles assigned to Service Accounts
      3. Security Context Constraints (SCC)
        1. SCC Recommendations
      4. Add a SCC to a Project
        1. Workflow1 without custom Service Account and without DeploymentConfig
        2. Workflow2 with custom Service Account and without DeploymentConfig
        3. Workflow3 with custom service Account and DeploymentConfig
      5. Environment setup. Port Forward and WSL
      6. Cluster Deployment and Operation with pgo
      7. Psql access from postgres operator POD
      8. List Databases with psql
      9. Access from another POD within the cluster with psql client
      10. Access from another POD within the cluster with Pgadmin4 of Crunchy containers Community Edition
      11. Debugging Crunchydata Postgres Operator 4.0.1 Community Edition
    4. Certified Crunchydata Postgres Operator (OLM/OperatorHub). Manual Setup
"},{"location":"crunchydata/#introduction","title":"Introduction","text":"
  • crunchydata.com
  • learn.crunchydata.com \ud83c\udf1f
  • github.com/CrunchyData
  • github.com/CrunchyData/postgres-operator
  • Documentation: Crunchy Data Container Suite \ud83c\udf1f
  • crunchydata blog: Deploying Active-Active PostgreSQL on Kubernetes
  • crunchydata blog: What\u2019s New in Crunchy PostgreSQL Operator 4.0
  • slideshare.net: Deploying PostgreSQL on Kubernetes
  • slideshare.net: Operating PostgreSQL at Scale with Kubernetes
  • Youtube: Demo of Crunchy Data Postgres Operator v1.0.0 (2017)
  • Youtube: Crunchy PostgreSQL Operator for Kubernetes 3.4 Overview (2018)
  • Youtube: OpenShift Meetup Tokyo #05 - Operator and Operator Lifecycle Manager on OpenShift (2019, openshift 4.1)
  • info.crunchydata.com: Monitoring PostgreSQL clusters in kubernetes
  • info.crunchydata.com: Deploy High-Availability PostgreSQL Clusters on Kubernetes by Example
  • info.crunchydata.com: Migrating from Oracle to PostgreSQL: Tips and Tricks
  • info.crunchydata.com: Scheduled PostgreSQL Backups and Retention Policies with Kubernetes
  • info.crunchydata.com: Guard Against Transaction Loss with PostgreSQL Synchronous Replication
  • info.crunchydata.com: Crunchy PostgreSQL for Kubernetes 4.3 Released Crunchy #PostgreSQL for #Kubernetes 4.3 released! Now supports multi-Kubernetes deployments, easier customization + installation, TLS, pgAdmin 4, improved pgBouncer support, and much more!
  • info.crunchydata.com: Deploy pgAdmin4 with PostgreSQL on Kubernetes
  • info.crunchydata.com: Multi-Kubernetes Cluster PostgreSQL Deployments
  • info.crunchydata.com: Quickly Document Your Postgres Database Using psql Meta-Commands
  • info.crunchydata.com: Fast CSV and JSON Ingestion in PostgreSQL with COPY
  • info.crunchydata.com: Composite Primary Keys, PostgreSQL and Django
  • info.crunchydata.com: Getting Started with PostgreSQL Operator 4.3 in OpenShift
  • info.crunchydata.com: Introducing the Postgres Prometheus Adapter
  • info.crunchydata.com: Getting Started with PostgreSQL Operator 4.3 in OpenShift
  • info.crunchydata.com: Deploying Active-Active PostgreSQL on Kubernetes
  • opensource.com: Scaling PostgreSQL with Kubernetes Operators \ud83c\udf1f Operators let users create standardized interfaces for managing stateful applications, like PostgreSQL, across Kubernetes-enabled cloud environments.
  • info.crunchydata.com: Setup ora2pg for Oracle to Postgres Migration
  • info.crunchydata.com: pgBackRest - Performing Backups on a Standby Cluster
  • thenewstack.io: Advanced Kubernetes Namespace Management with the PostgreSQL Operator \ud83c\udf1f
  • postgresql.org: Crunchy PostgreSQL Operator 4.5: Enhanced Monitoring, Custom Annotations, PostgreSQL 13 \ud83c\udf1f
  • info.crunchydata.com: How to Setup PostgreSQL Monitoring in Kubernetes
  • info.crunchydata.com: PostgreSQL Monitoring for Application Developers: The DBA Fundamentals
  • youtube: OCB: High Availability PostgreSQL and more on OpenShift - Jonathan Katz (Crunchy Data) \ud83c\udf1f Learn how the PostgreSQL Operator from Crunchy Data makes it easy to deploy high availability Postgres clusters on OpenShift. Beyond that, we\u2019ll look at how the Operator pattern makes it possible to run your own open source database-as-a-service and cover the essential features: provisioning, HA, disaster recovery, monitoring, and how to do it all securely!
  • info.crunchydata.com: Tuning Your Postgres Database for High Write Loads
  • info.crunchydata.com: Using the PostgreSQL Operator with Rook Ceph Storage
  • info.crunchydata.com: Multi-Kubernetes Cluster PostgreSQL Deployments
  • info.crunchydata.com: An Easy Recipe for Creating a PostgreSQL Cluster with Docker Swarm
  • info.crunchydata.com: Deploying the PostgreSQL Operator on GKE
  • info.crunchydata.com: Using GitOps to Self-Manage Postgres in Kubernetes \ud83c\udf1f
  • info.crunchydata.com: Kubernetes Pod Tolerations and Postgres Deployment Strategies
  • blog.crunchydata.com: Helm, GitOps and the Postgres Operator
  • blog.crunchydata.com: Crunchy Postgres Operator 4.6.0 \ud83c\udf1f
  • blog.crunchydata.com: Deploy PostgreSQL With TLS in Kubernetes
  • blog.crunchydata.com: Announcing Google Cloud Storage (GCS) Support for pgBackRest
  • youtube: Install and use Crunchy PostgreSQLfor OpenShift operator for simple todo app on OpenShift \ud83c\udf1f
  • blog.crunchydata.com: Query Optimization in Postgres with pg_stat_statements
  • blog.crunchydata.com: Kubernetes Pod Tolerations and Postgres Deployment Strategies \ud83c\udf1f
  • blog.crunchydata.com: Active-Active PostgreSQL Federation on Kubernetes
  • blog.crunchydata.com: Multi-Kubernetes Cluster PostgreSQL Deployments
  • blog.crunchydata.com: Next Generation Crunchy Postgres for Kubernetes 5.0 Released
  • blog.crunchydata.com: pgBackRest Point-In-Time Recovery Using Crunchy PostgreSQL Operator
  • blog.crunchydata.com: Using Cert Manager to Deploy TLS for Postgres on Kubernetes
  • dzone: PostgreSQL HA and Kubernetes I share my thoughts about how to set up a PostgreSQL Database in Kubernetes with some level of high availability, introducing 3 different architectural styles to do so.
  • blog.crunchydata.com: Can\u2019t Resize your Postgres Kubernetes Volume? No Problem!
  • blog.crunchydata.com: Your Guide to Connection Management in Postgres \ud83c\udf1f
  • blog.crunchydata.com: PostgreSQL 14 on Kubernetes (with examples!)
  • blog.crunchydata.com: Kubernetes + Postgres Cluster From Scratch on Rocky 8
  • blog.crunchydata.com: Kubernetes + Postgres Cluster From Scratch on Rocky 8
  • blog.crunchydata.com: Announcing Postgres Container Apps: Easy Deploy Postgres Apps With Postgres Container Apps you can, from directly inside Postgres with a simple function call, spin up a container that is running right alongside your Postgres database.
"},{"location":"crunchydata/#crunchy-data-developer-portal","title":"Crunchy Data Developer Portal","text":"
  • Announcing the Crunchy Data Developer Portal
  • Crunchy Data Developer Portal Self-service tools for developers and data scientists to easily get productive with PostgreSQL and Crunchy Data products.
"},{"location":"crunchydata/#crunchy-data-postgres-operator-in-openshift-4-overview-proof-of-concept","title":"Crunchy Data Postgres Operator in OpenShift 4. Overview & Proof of Concept","text":"
  • In earlier days, Red Hat recommended running PostgreSQL database outside the Kubernetes cluster. Now, with\u00a0Kubernetes Operator\u00a0technology, you can run stateful database applications on Kubernetes.
  • Crunchy PostgreSQL Operator\u00a0extends Kubernetes to give you the power to easily \u00a0create, configure and manage PostgreSQL clusters at scale.\u00a0 When combined with the\u00a0Crunchy PostgreSQL Container Suite, the Crunchy PostgreSQL Operator provides an open source software solution for PostgreSQL scaling, high-availability, disaster recovery, monitoring, and more.\u00a0 All of this capability comes with the repeatability and automation that comes from Operators on Kubernetes.
  • Crunchy PostgreSQL Operator is open source and developed in close collaboration with users to support enterprise deployments of cloud agnostic PostgreSQL-as-a-Service capability.\u00a0This release comes after extensive feedback from our customers and the community to ensure the scalability and security that sysadmins, DBAs, and developers have come to rely on.
  • Crunchy PostgreSQL and Openshift
  • Crunchy Postgres Solutions:
    1. Postgres Operator Community Edition:
      • \u2018pgo\u2019 CLI tool
      • Not certified by Red Hat
      • The Operator can be deployed by multiple methods including:
        • The PostgreSQL Operator Installer with kubectl
        • Install Operator Using Bash (the one used in this overview)
        • Ansible playbook installation
        • CLI installation using OLM (Deprecated): new CatalogSource added via \u201cpgo.catalogsource.yaml\u201d.
        • Openshift Console installation using OLM (OperatorHub):
          • New CatalogSource requirement.
          • CLI settings required.
    2. Certified Crunchydata Postgres Operator (OLM/OperatorHub):
      • Openshift Console installation using OLM (OperatorHub): One-click deployment and Web based operation
      • No \u2018pgo\u2019 CLI tool? (compatibility issues: unable to find in github the version that matches the server API - Sept 2019)
      • Certified by Red Hat
      • Provided by CrunchyData
    3. Other non-certified installations (unsupported by Red Hat): with or without OLM, CLI, etc.
  • Crunchy Containers Community Edition:
    • Installation:
      1. Installation guide
      2. Pgadmin4 install (easy)
    • Not certified by Red Hat
"},{"location":"crunchydata/#crunchydata-postgres-operator-35","title":"Crunchydata Postgres Operator 3.5","text":"
  • Release date: Januay 2019
  • pgBackRest\u00a0Architecture Enhancements
  • pgBackRest Point-In-Time-Recovery
  • Fast Failover
  • Archive\u00a0Storage Configuration
  • Preferred Failover Node Label
  • pgo-scheduler
"},{"location":"crunchydata/#crunchydata-postgres-operator-401","title":"Crunchydata Postgres Operator 4.0.1","text":"
  • Release date: June 2019
  • Namespace Deployment Options: Ability to deploy the operator its own namespace but manage PostgreSQL clusters in multiple namespace. The new namespace management features lets users create multi-tenant PostgreSQL environments that add further isolation and security to their deployments.
  • Further\u00a0Enhancements to pgBackRest Integration: Perform pgBackRest backups to Amazon S3. This allows \u00a0users to create an automated, geographically distributed, and hybrid cloud disaster recovery strategy.
  • Integrated PostgreSQL Benchmarking
  • Ansible Playbook Based Installation
  • Operator Lifecycle Management (OLM): The OLM project is a component of the Operator Framework, an open source toolkit to manage Operators, in an effective, automated, and scalable way. OLM concepts were included into Crunchy PostgreSQL Operator to assist in the deployment on Kubernetes using OLM integration.
"},{"location":"crunchydata/#crunchydata-postgres-operator-401-community-edition","title":"Crunchydata Postgres Operator 4.0.1 Community Edition","text":""},{"location":"crunchydata/#service-accounts","title":"Service Accounts","text":"
  • Service accounts give us flexibility to control access to API without sharing user\u2019s credentials.
  • Service Accounts are also used by pods and other non-human actors to perform various actions and are a central vehicle by which their access to resources is managed. By default, three service accounts are created in each project:
    1. Builder: Used by build pods and assigned the system:image-builder role, which grants push capability into the internal registry to any image stream in the project.
    2. Deployer: Used by deploy pods and assigned the system:deployer role, which allows modifying replication controllers in the project.
    3. Default: Used by all other pods by default.
  • You can see them by running the following command:
oc get serviceaccounts\noc get sa\n
  • Running a Pod with a Different Service Account. You can run a pod with a service account other than the default:
    • Edit the deployment configuration: $ oc edit dc/<deployment_config>
    • Add the serviceAccount and serviceAccountName parameters to the spec field, and specify the service account you want to use:
spec:\n    securityContext: {}\n    serviceAccount: <service_account>\n    serviceAccountName: <service_account>\n
  • Refs:

    • ref1
    • ref3
  • Each service account is represented by the ServiceAccount resource and is associated with two additional secrets for access to the OpenShift API and the internal registry:

$ oc describe serviceaccounts/default\nName:                default\nNamespace:           pgouser1\nLabels:              <none>\nAnnotations:         <none>\nImage pull secrets:  default-dockercfg-nrhwt\nMountable secrets:   default-token-vm8b5\n                     default-dockercfg-nrhwt\nTokens:              default-token-p6rhz\n                     default-token-vm8b5\nEvents:              <none>\n
  • The service account can be created and deleted with a simple command:
    • oc create sa myserviceaccount
    • oc delete sa/myserviceaccount
  • Every service account is also a member of two groups:
    • system:serviceaccounts, which includes all service accounts in the cluster
    • system:serviceaccounts:<project>, which includes all service accounts in the project
"},{"location":"crunchydata/#roles-assigned-to-service-accounts","title":"Roles assigned to Service Accounts","text":"
  • When you create a pod, if you do not specify a service account, it is automatically assigned the default service account in the same namespace. If you get the raw json or yaml for a pod you have created (e.g. oc get pods/podname -o yaml), you can see the spec.serviceAccountName field has been automatically set.
  • You can grant privileges to groups of service accounts, which will effectively grant those privileges to all accounts in the group:
$ oc adm policy add-role-to-group view system:serviceaccounts -n myproject\nrole \"view\" added: \"system:serviceaccounts\" \n
  • For example, to grant view privileges to all service accounts in the cluster in the project myproject:
$ oc adm policy remove-role-from-group view system:serviceaccounts \u2013n myproject\nrole \"view\" removed: \"system:serviceaccounts\" \n
"},{"location":"crunchydata/#security-context-constraints-scc","title":"Security Context Constraints (SCC)","text":"
  • Security Context Constraints (SCCs) control what actions pods can perform and what resources they can access.
  • SCCs combine a set of security configurations into a single policy object that can be applied to pods.
  • These security configurations include, but are not limited to, Linux Capabilities, Seccomp Profiles, User and Group ID Ranges, and types of mounts.
  • OpenShift ships with several SCCs:
    • The most constrained is the restricted SCC, and the least constrained is the privileged SCC:
      • oc edit scc restricted
      • oc edit scc privileged
    • The other SCCs provide intermediate levels of constraint for various use cases.
    • The restricted SCC is granted to all authenticated users by default.
    • The default SCC for most pods should be the restricted SCC.
  • If required, a cluster administrator may allow certain pods to run with different SCCs. Pods should be run with the most restrictive SCC possible. Pods inherit their SCC from the Service Account used to run the pod. With the default project template, new projects get a Service Account named default that is used to run pods. This default service account is only granted the ability to run the restricted SCC.
"},{"location":"crunchydata/#scc-recommendations","title":"SCC Recommendations","text":"
  • Use OpenShift\u2019s Security Context Constraint feature, which has been contributed to Kubernetes as Pod Security Policies (PSP). PSPs are still beta in Kubernetes 1.10, 1.11, 1.12, 1.13, 1.14, 1.15 .
  • Use the restricted SCC as the default
  • For pods that require additional access, use the SCC that grants the least amount of additional privileges or create a custom SCC
  • Remediation: Apply the SCC with the least privilege required
  • Audit:
    • To show all available SCCs: oc describe scc
    • To audit a single pod:
oc describe pod <POD> | grep openshift.io\\/scc\nopenshift.io/scc: restricted             \n
  • Problem: Default SCC is \u201crestricted\u201d SCC -> Crunchydata Postgres Cluster PODs are not rolled out

    • oc get rs:

    • oc describe rs mycluster5-lgyb-84b58f5dd9: Warning FailedCreate 3m24s (x17 over 7m30s) replicaset-controller Error creating: pods \u201cmycluster5-lgyb-84b58f5dd9-\u201d is forbidden: unable to validate against any security context constraint: [fsGroup: Invalid value: []int64{26}: 26 is not an allowed group]
"},{"location":"crunchydata/#add-a-scc-to-a-project","title":"Add a SCC to a Project","text":"
  • SCCs are not granted directly to a project. Instead, you add a service account to an SCC and either specify the service account name on your pod or, when unspecified, run as the default service account.
  • To add a SCC to a user: oc adm policy add-scc-to-group <scc_name> <group_name>
  • To add a SCC to all service accounts in a namespace: oc adm policy add-scc-to-group <scc_name> system:serviceaccounts:<serviceaccount_namespace>
  • If you are currently in the project to which the service account belongs, you can use the -z flag and just specify the serviceaccount_name: oc adm policy add-scc-to-user <scc_name> -z <serviceaccount_name>
  • Examples:

    • oc describe scc anyuid
    • oc adm policy add-scc-to-group anyuid system:serviceaccounts:pgouser1
    • \u2018default\u2019 serviceAccount:

      oc adm policy add-scc-to-user anyuid system:serviceaccounts:pgouser1:default\n
    • User registered in Identity Provider:

      oc adm policy add-scc-to-user anyuid myuser\n
    • Custom serviceAccount:

      oc adm policy add-scc-to-user anyuid system:serviceaccounts:pgouser1:my-sa\n
  • Refs:

    • ref1
    • ref2
    • ref3 \ud83c\udf1f
"},{"location":"crunchydata/#workflow1-without-custom-service-account-and-without-deploymentconfig","title":"Workflow1 without custom Service Account and without DeploymentConfig","text":""},{"location":"crunchydata/#workflow2-with-custom-service-account-and-without-deploymentconfig","title":"Workflow2 with custom Service Account and without DeploymentConfig","text":"
  • Create a custom ServiceAccount and add a role to it within a Project:
    1. oc project pgouser1
    2. oc get scc
    3. oc create serviceaccount my-sa \u2013n pgouser1
    4. oc describe sa my-sa
    5. oc get scc
    6. oc adm policy add-scc-to-user anyuid system:serviceaccount:pgouser1:my-sa
    7. oc policy add-role-to-user edit system:serviceaccount:pgouser1:my-sa
    8. Alternative to step #6:
oc edit scc anyuid \n
users:\n- system:serviceaccount:pgouser1:my-sa\n
  • Other commands of interest:

    • oc get role
    • oc describe role pgo-role
    • oc edit role pgo-role
  • References:

    • ref1
    • ref2
    • ref3
"},{"location":"crunchydata/#workflow3-with-custom-service-account-and-deploymentconfig","title":"Workflow3 with custom service Account and DeploymentConfig","text":""},{"location":"crunchydata/#environment-setup-port-forward-and-wsl","title":"Environment setup. Port Forward and WSL","text":"
  • Deployment method used in this presentation: Install Operator Using Bash
  • Config files setup by installer are saved in:
    • \u201cpgo\u201d Project -> Deployments
    • \u201cpgo\u201d Project -> Deployment Configs (empty, openshift feature not provided by CrunchyData)
    • \u201cpgo\u201d Project -> Secrets
    • \u201cpgo\u201d Project -> Config Maps
  • References:
    • ref1
  • WSL (Windows Subystem for Linux): alog/olog/clog functions must be adapted to be run in WSL\u2019s Ubuntu:
vim $HOME/.bashrc\n
# ~/.bashrc: executed by bash(1) for non-login shells.\n# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)\n# for examples\n# If not running interactively, don't do anything\ncase $- in\n    *i*) ;;\n    *) return;;\nesac\n# don't put duplicate lines or lines starting with space in the history.\n# See bash(1) for more options\nHISTCONTROL=ignoreboth\n# append to the history file, don't overwrite it\nshopt -s histappend\n# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)\nHISTSIZE=1000\nHISTFILESIZE=2000\n# check the window size after each command and, if necessary,\n# update the values of LINES and COLUMNS.\nshopt -s checkwinsize\n# If set, the pattern \"**\" used in a pathname expansion context will\n# match all files and zero or more directories and subdirectories.\n#shopt -s globstar\n# make less more friendly for non-text input files, see lesspipe(1)\n[ -x /usr/bin/lesspipe ] && eval \"$(SHELL=/bin/sh lesspipe)\"\n# set variable identifying the chroot you work in (used in the prompt below)\nif [ -z \"${debian_chroot:-}\" ] && [ -r /etc/debian_chroot ]; then\n    debian_chroot=$(cat /etc/debian_chroot)\nfi\n# set a fancy prompt (non-color, unless we know we \"want\" color)\ncase \"$TERM\" in\n    xterm-color|*-256color) color_prompt=yes;;\nesac\n# uncomment for a colored prompt, if the terminal has the capability; turned\n# off by default to not distract the user: the focus in a terminal window\n# should be on the output of commands, not on the prompt\n#force_color_prompt=yes\nif [ -n \"$force_color_prompt\" ]; then\n    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then\n    # We have color support; assume it's compliant with Ecma-48\n    # (ISO/IEC-6429). (Lack of such support is extremely rare, and such\n    # a case would tend to support setf rather than setaf.)\n    color_prompt=yes\n    else\n    color_prompt=\n    fi\nfi\nif [ \"$color_prompt\" = yes ]; then\n    PS1='${debian_chroot:+($debian_chroot)}\\[\\033[01;32m\\]\\u@\\h\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]\\$ '\nelse\n    PS1='${debian_chroot:+($debian_chroot)}\\u@\\h:\\w\\$ '\nfi\nunset color_prompt force_color_prompt\n# If this is an xterm set the title to user@host:dir\ncase \"$TERM\" in\nxterm*|rxvt*)\n    PS1=\"\\[\\e]0;${debian_chroot:+($debian_chroot)}\\u@\\h: \\w\\a\\]$PS1\"\n    ;;\n*)\n    ;;\nesac\n# enable color support of ls and also add handy aliases\nif [ -x /usr/bin/dircolors ]; then\n    test -r ~/.dircolors && eval \"$(dircolors -b ~/.dircolors)\" || eval \"$(dircolors -b)\"\n    alias ls='ls --color=auto'\n    #alias dir='dir --color=auto'\n    #alias vdir='vdir --color=auto'\n    alias grep='grep --color=auto'\n    alias fgrep='fgrep --color=auto'\n    alias egrep='egrep --color=auto'\nfi\n# colored GCC warnings and errors\n#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'\n# some more ls aliases\nalias ll='ls -alF'\nalias la='ls -A'\nalias l='ls -CF'\n# Add an \"alert\" alias for long running commands.  Use like so:\n#   sleep 10; alert\nalias alert='notify-send --urgency=low -i \"$([ $? = 0 ] && echo terminal || echo error)\" \"$(history|tail -n1|sed -e '\\''s/^\\s*[0-9]\\+\\s*//;s/[;&|]\\s*alert$//'\\'')\"'\n# Alias definitions.\n# You may want to put all your additions into a separate file like\n# ~/.bash_aliases, instead of adding them here directly.\n# See /usr/share/doc/bash-doc/examples in the bash-doc package.\nif [ -f ~/.bash_aliases ]; then\n    . ~/.bash_aliases\nfi\n# enable programmable completion features (you don't need to enable\n# this, if it's already enabled in /etc/bash.bashrc and /etc/profile\n# sources /etc/bash.bashrc).\nif ! shopt -oq posix; then\nif [ -f /usr/share/bash-completion/bash_completion ]; then\n    . /usr/share/bash-completion/bash_completion\nelif [ -f /etc/bash_completion ]; then\n    . /etc/bash_completion\nfi\nfi\n#########################################\n# CRUNCHYDATA POSTGRES OPERATOR SETTINGS:\n#########################################\n# operator env vars\nexport PATH=$PATH:$HOME/odev/bin\nexport PGO_APISERVER_URL=https://127.0.0.1:18443\n#export PGO_APISERVER_URL=https://172.25.212.138:8443\nexport PGO_CA_CERT=$HOME/odev/src/github.com/crunchydata/postgres-operator/conf/postgres-operator/server.crt\nexport PGO_CLIENT_CERT=$HOME/odev/src/github.com/crunchydata/postgres-operator/conf/postgres-operator/server.crt\nexport PGO_CLIENT_KEY=$HOME/odev/src/github.com/crunchydata/postgres-operator/conf/postgres-operator/server.key\n#alias setip='export PGO_APISERVER_URL=https://`kubectl get service postgres-operator -o=jsonpath=\"{.spec.clusterIP}\"`:18443'\n#alias alog='kubectl logs `kubectl get pod --selector=name=postgres-operator -o jsonpath=\"{.items[0].metadata.name}\"` -c apiserver'\n#alias olog='kubectl logs `kubectl get pod --selector=name=postgres-operator -o jsonpath=\"{.items[0].metadata.name}\"` -c operator'\n#\nexport CCP_IMAGE_TAG=rhel7-11.1-2.3.0\nexport CCP_IMAGE_PREFIX=registry.connect.redhat.com/crunchydata\nexport PGO_CMD=oc\nexport PGO_BASEOS=rhel7\nexport PGO_VERSION=4.0.1\nexport PGO_NAMESPACE=pgo\nexport PGO_IMAGE_TAG=rhel7-4.0.1\nexport PGO_IMAGE_PREFIX=registry.connect.redhat.com/crunchydata\nexport GOPATH=$HOME/odev\nexport GOBIN=$GOPATH/bin\nexport PATH=$PATH:$GOBIN\n# NAMESPACE is the list of namespaces the Operator will watch\nexport NAMESPACE=pgouser1,pgouser2\n# PGO_OPERATOR_NAMESPACE is the namespace the Operator is deployed into\nexport PGO_OPERATOR_NAMESPACE=pgo\n# PGO_CMD values are either kubectl or oc, use oc if Openshift\nexport PGO_CMD=kubectl\n# the directory location of the Operator scripts\nexport PGOROOT=$GOPATH/src/github.com/crunchydata/postgres-operator\n# the version of the Operator you run is set by these vars\nexport PGO_IMAGE_PREFIX=crunchydata\nexport PGO_BASEOS=centos7\nexport PGO_VERSION=4.0.1\nexport PGO_IMAGE_TAG=$PGO_BASEOS-$PGO_VERSION\n# for the pgo CLI to authenticate with using TLS\nexport PGO_CA_CERT=$PGOROOT/conf/postgres-operator/server.crt\nexport PGO_CLIENT_CERT=$PGOROOT/conf/postgres-operator/server.crt\nexport PGO_CLIENT_KEY=$PGOROOT/conf/postgres-operator/server.key\n# common bash functions for working with the Operator\nfunction setip() { \nexport PGO_APISERVER_URL=https://`$PGO_CMD -n \"$PGO_OPERATOR_NAMESPACE\" get service postgres-operator -o=jsonpath=\"{.spec.clusterIP}\"`:18443 \nexport CO_APISERVER_URL=https://`$PGO_CMD -n \"$PGO_OPERATOR_NAMESPACE\" get service postgres-operator -o=jsonpath=\"{.spec.clusterIP}\"`:18443 \n}\nfunction alog() {\n$PGO_CMD  -n \"$PGO_OPERATOR_NAMESPACE\" logs `$PGO_CMD  -n \"$PGO_OPERATOR_NAMESPACE\" get pod --selector=name=postgres-operator -o jsonpath=\"{.items[0].metadata.name}\"` -c apiserver\n}\nfunction olog () {\n$PGO_CMD  -n \"$PGO_OPERATOR_NAMESPACE\" logs `$PGO_CMD  -n \"$PGO_OPERATOR_NAMESPACE\" get pod --selector=name=postgres-operator -o jsonpath=\"{.items[0].metadata.name}\"` -c operator\n}\nfunction slog () {\n$PGO_CMD  -n \"$PGO_OPERATOR_NAMESPACE\" logs `$PGO_CMD  -n \"$PGO_OPERATOR_NAMESPACE\" get pod --selector=name=postgres-operator -o jsonpath=\"{.items[0].metadata.name}\"` -c scheduler\n}\n#export DOCKER_HOST=tcp://localhost:2375\n# crunchy containers: https://github.com/CrunchyData/crunchy-containers/tree/2.4.1\nexport GOPATH=$HOME/cdev        # set path to your new Go workspace\nexport GOBIN=$GOPATH/bin        # set bin path \nexport PATH=$PATH:$GOBIN        # add Go bin path to your overall path\nexport CCP_BASEOS=centos7       # centos7 for Centos, rhel7 for Redhat\nexport CCP_PGVERSION=10         # The PostgreSQL major version\nexport CCP_PG_FULLVERSION=10.9\nexport CCP_VERSION=2.4.1\nexport CCP_IMAGE_PREFIX=crunchydata # Prefix to put before all the container image names\nexport CCP_IMAGE_TAG=$CCP_BASEOS-$CCP_PG_FULLVERSION-$CCP_VERSION   # Used to tag the images\nexport CCPROOT=$GOPATH/src/github.com/crunchydata/crunchy-containers    # The base of the clone github repo\nexport CCP_SECURITY_CONTEXT=\"\"\nexport CCP_CLI=oc          # kubectl for K8s, oc for OpenShift\nexport CCP_NAMESPACE=crunchy-containers       # Change this to whatever namespace/openshift project name you want to use\nexport CCP_SECURITY_CONTEXT='\"fsGroup\":26'\nexport CCP_STORAGE_CLASS=gp2\nexport CCP_STORAGE_MODE=ReadWriteOnce\nexport CCP_STORAGE_CAPACITY=400M\n
  • port-forward to reach postgres-operator POD with \u2018pgo\u2019 tool (18443 port defined in previous .bashrc):
oc project pgo\noc get pod \noc port-forward postgres-operator-844d8f9777-8d5k5 -n pgo 18443:8443\n
"},{"location":"crunchydata/#cluster-deployment-and-operation-with-pgo","title":"Cluster Deployment and Operation with pgo","text":"
pgo create cluster mycluster --pgpool -n pgouser1 --resources-config=small --replica-count=1\npgo show cluster --all -n pgouser1\npgo backup mycluster --backup-type=pgbackrest \u2013n pgouser1\npgo failover mycluster --query \u2013n pgouser1\npgo failover mycluster --target=mycluster-olvhy \u2013n pgouser1\npgo test mycluster -n pgouser1\npgo create cluster somefastpg -n pgouser1 --node-label=speed=fast\npgo create cluster abouncer --pgbouncer  (sidecar pgbouncer added to this PG cluster)\npgo create cluster apgpool --pgpool \npgo status cluster mycluster \u2013n pgouser1\npgo ls mycluster \u2013n pgouser1\npgo reload mycluster \u2013n pgouser1\npgo scale mycluster \u2013n pgouser1\n

PGO USER allows you to manage users and passwords across a set of clusters:

pgo user \u2013-selector=name=mycluster --expired=300 \u2013-update-password \u2013n pgouser1\npgo user \u2013-change-password=bob \u2013n pgouser1 --selector=name=mycluster --password=newpass\n
"},{"location":"crunchydata/#psql-access-from-postgres-operator-pod","title":"Psql access from postgres operator POD","text":"
oc project pgo\noc get pods\noc rsh postgres-operator-844d8f9777-ppjv9\nexport PGPASSWORD=password\npsql -h mycluster-pgpool.pgouser1 -U testuser -l\npsql -h mycluster-pgpool.pgouser1 -U postgres -c \"CREATE DATABASE testdb\"\npsql -h mycluster-pgpool.pgouser1 -U postgres testdb -c \"CREATE TABLE test (ID CHAR(4) NOT NULL, name TEXT NOT NULL, PRIMARY KEY (id))\"\npsql -h mycluster-pgpool.pgouser1 -U postgres testdb -c \"INSERT INTO test (id,name) VALUES (1, 'user01')\"\npsql -h mycluster-pgpool.pgouser1 -U postgres testdb -c \"select * from test\"\n
"},{"location":"crunchydata/#list-databases-with-psql","title":"List Databases with psql","text":"
postgres=# \\l\n                                 List of databases\n   Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges\n-----------+----------+----------+------------+------------+-----------------------\n postgres  | postgres | UTF8     | en_US.UTF8 | en_US.UTF8 |\n template0 | postgres | UTF8     | en_US.UTF8 | en_US.UTF8 | =c/postgres          +\n           |          |          |            |            | postgres=CTc/postgres\n template1 | postgres | UTF8     | en_US.UTF8 | en_US.UTF8 | =c/postgres          +\n           |          |          |            |            | postgres=CTc/postgres\n userdb    | postgres | UTF8     | en_US.UTF8 | en_US.UTF8 | =Tc/postgres         +\n           |          |          |            |            | postgres=CTc/postgres+\n           |          |          |            |            | testuser=CTc/postgres+\n           |          |          |            |            | user1=CTc/postgres\n(4 rows)\n
"},{"location":"crunchydata/#access-from-another-pod-within-the-cluster-with-psql-client","title":"Access from another POD within the cluster with psql client","text":"

For example with this psql client

oc rsh postgresql-10-centos7-1-pjh46\nsh-4.2$ psql -p 5432 -h mycluster-pgpool.pgouser1 -U postgres postgres\npsql (10.6, server 11.3)\nWARNING: psql major version 10, server major version 11.\n         Some psql features might not work.\nType \"help\" for help.\n\npostgres=#\n
"},{"location":"crunchydata/#access-from-another-pod-within-the-cluster-with-pgadmin4-of-crunchy-containers-community-edition","title":"Access from another POD within the cluster with Pgadmin4 of Crunchy containers Community Edition","text":"
  • crunchy-pgadmin4
  • pgAdmin 4
"},{"location":"crunchydata/#debugging-crunchydata-postgres-operator-401-community-edition","title":"Debugging Crunchydata Postgres Operator 4.0.1 Community Edition","text":"
  • Debug level logging in turned on by default when deploying the Operator.
  • Sample bash functions are supplied in\u00a0examples/envs.sh\u00a0to view the Operator logs.
  • You can view the Operator REST API logs with the\u00a0alog\u00a0bash function.
  • You can view the Operator core logic logs with the\u00a0olog\u00a0bash function.
  • You can view the Scheduler logs with the\u00a0slog\u00a0bash function.
  • You can enable the\u00a0pgo\u00a0CLI debugging with the following flag:
$ pgo version --debug\n
  • You can set the REST API URL as follows after a deployment if you are developing on your local host by executing the setip\u00a0bash function.
  • \u201calog\u201d, \u201colog\u201d, \u201cslog\u201d and \u201csetip\u201d are defined in $HOME/.bashrc
"},{"location":"crunchydata/#certified-crunchydata-postgres-operator-olmoperatorhub-manual-setup","title":"Certified Crunchydata Postgres Operator (OLM/OperatorHub). Manual Setup","text":"
  • We will set this up manually:
    • StorageClass changed to \u201cgp2\u201d in YAML file (AWS)
    • \u2018pgo\u2019 tool compatibility issues

  • NO PODs are deployed -> configuration needed:

  • Replica Sets: where PODs should be launched

  • ReplicaSets (environment) and Deployment:

  • Error detected. Solution:
oc adm policy add-scc-to-user anyuid system:serviceaccount:pgophub:default\n

  • We see now a new POD being created:

  • New errors: \u201csecrets\u201d need to be setup:

  • New errors: 3 \u201csecrets\u201d need to be setup manually -> POD is started successfully and we have psql access.

"},{"location":"customer/","title":"Customer Success Stories. Cloud Native Projects","text":"
  1. BMW IT-Zentrum (Munich)
    1. BMW ConnectedDrive and OpenShift
    2. BMW InnovationLab
  2. Audi
  3. Volkswagen
  4. Mercedes Benz
  5. Tesla
  6. IDRA Group
  7. Williams F1
  8. Carrefour Spain
  9. Decathlon
  10. Deutsche Telekom
  11. AstraZeneca
  12. AI for Medical Imaging
  13. AXA Group
  14. Videos
"},{"location":"customer/#bmw-it-zentrum-munich","title":"BMW IT-Zentrum (Munich)","text":"
  • BMW IT-Zentrum
  • CI/CD at BMW IT-Zentrum (2018):
    • Jenkins in OpenShift (CloudBees & OSS): Maven, Seed Job, Multibranch Pipelines, Merge BOTs, OpenShift Source-to-Image (S2I), Fabric8 Java Client Library for Kubernetes, JobDSL & Shared Libraries (groovy).
    • Requirements of each microservice (configurations) defined in a single json file.
    • Java Frameworks: Java EE (Jakarta EE) running on Payara.
    • HA-Proxy, SonarQube, Nexus3, JMeter, Selenium, etc.
    • Docker, Terraform, Packer, Ansible, YAML, Flyway, PostgreSQL.
    • Swagger, Postman, Visual Studio Code.
    • Atlassian: Confluence, Bitbucket, Jira, Crowd.
    • Hybrid Clouds: OpenStack on-premise clusters, OpenShift 3.10 on-premise clusters, AWS.
    • Dynatrace APM, Prometheus, Grafana.
    • Rocket Chat
    • BMC Remedy ITSM
    • DevOps with Scrum, GitOps, ITIL Incident Management Workflow, Remote Work.
    • International Deloitte team based in Munich and outside Germany: Germany, Poland, Albany, Bulgaria, Portugal, Spain.
"},{"location":"customer/#bmw-connecteddrive-and-openshift","title":"BMW ConnectedDrive and OpenShift","text":"
  • BMW ConnectedDrive: BMW ConnectedDrive Platform helps drivers communicate with their cars. Initially, the platform was enabled for convenience type of features like locating the vehicle, sounding the horn, locking the car, remote car health check\u2026 As the adoption of electric cars grows, BMW decided to create an ultimate driving experience by adding new services addressing the unique challenges of electric vehicles, like locating the closest electric charging stations, monitoring the car battery\u2026 This addition of new services has been creating new challenges in terms of API security.
  • Red Hat OpenShift Container Platform Takes Digital Innovation into the Fast Lane with Major European Automaker
  • BMW takes digital innovation into the fast lane with Red Hat Openshift Container Platform
  • Youtube: BMW enables the BMW Group to deliver the continuous service that today\u2019s consumers expect (video starts at 1:29:00): BMW Group started working with 4 Openshift clusters in 2016 to support ConnectedDrive, a solution that delivers IoT digital services since 20 years ago. It took them a full-time migration for 2 years with a big transformation of the culture of the company, migrating monolithic applications to microservices. This is a consequence of having 30% of growth of request rate, by selling 2.5 million of cars yearly, all of them connected. Traditional IT could not cope with this growth. In 2019 they have 19 Openshift Clusters worldwide, with 12000 containers, 300 microservices, and 1 Billion requests per week. Future plans are to move to OpenShift Dedicated in the Public Cloud since they need to be more scalable and resilient, while building an Artificial Intelligence platform with a Data Lake on the public cloud to offer the best possible experience to their customers.
  • linkedin.com/pulse: How BMW uses Redhat OpenShift?
"},{"location":"customer/#bmw-innovationlab","title":"BMW InnovationLab","text":"
  • BMW InnovationLab This organization contains open source software for realtime computer vision published by the developers, partners and friends of the BMW InnovationLab.
  • As we transform into a data-driven company, the BMW Group Technology Office conducted a virtual hackathon, together with the Google Cloud Handle \u2018Google Cloud\u2019 on machine learning.
  • Google Cloud Handle\u2019s machine learning capabilities were used to implement use cases \u2014 ranging from charging optimisation for our electric vehicles, to wheel classification along our assembly line.
  • Artificial Intelligence is a key technology in our digital transformation, and we want to enable our colleagues across all disciplines to work with the latest technologies. We strive to offer our worldwide network of software developers the opportunity to view, change, and develop their own algorithms. These projects illustrate the range of solutions that AI can provide, from automatic image recognition to natural language processing.
  • We also make selected algorithms available in an open source platform. \u201cWe expect the further open source development to lead to a rapid and agile advancement of the software,\u201d says Kai Demtroeder, Head of Artificial Intelligence and Data Platforms at BMW Group IT.
  • aws.amazon.com/blogs/industries: BMW Group Develops a GenAI Assistant to Accelerate Infrastructure Optimization on AWS
"},{"location":"customer/#audi","title":"Audi","text":""},{"location":"customer/#volkswagen","title":"Volkswagen","text":"
  • redhat.com: The Volkswagen Group builds automated testing environment
  • xataka.com: El auge del coche el\u00e9ctrico y aut\u00f3nomo se ha topado con otra barrera: el software. Volkswagen lo sabe bien
"},{"location":"customer/#mercedes-benz","title":"Mercedes Benz","text":"
  • infoworld.com: Why Mercedes-Benz runs on 900 Kubernetes clusters The German automaker runs a massive fleet of Kubernetes clusters to support a wide range of project teams around the world. \u2018For us, managing Kubernetes is not that hard.\u2019
  • github.com/mercedes-benz
  • genbeta.com: El software de los coches de Mercedes contiene c\u00f3digo abierto y en vez de distribuirlo en GitHub usan un CD
  • youtube: Keynote: 7 Years of Running Kubernetes for Mercedes-Benz - Jens Erat, Peter Mueller, Sabine Wolz
  • thenewstack.io: Mercedes-Benz: 4 Reasons to Sponsor Open Source Projects
"},{"location":"customer/#tesla","title":"Tesla","text":"
  • hibridosyelectricos.com: Tesla recurre a China para aumentar la calidad de fabricaci\u00f3n de sus coches el\u00e9ctricos
    • La Gigafactor\u00eda de Tesla en Shangh\u00e1i es todo un ejemplo de eficiencia, innovaci\u00f3n tecnol\u00f3gica y calidad de fabricaci\u00f3n. El responsable de este logro es Tom Zhu, su jefe de Operaciones, que recientemente visit\u00f3 las dos plantas estadounidenses.
    • W. Edward Deming fue un ingeniero y consultor estadounidense reconocido como el padre de la gesti\u00f3n de la calidad total en la fabricaci\u00f3n de autom\u00f3viles. Se le considera uno de los responsables del progreso de la industria, gracias al desarrollo de una serie de teor\u00edas funcionales y econ\u00f3micas que, desde hace a\u00f1os, supervisan la producci\u00f3n de los veh\u00edculos que se fabrican en casi todo el mundo.
    • Las teor\u00edas de Deming estaban muy por delante de su tiempo. Afirman que las organizaciones que se centran en reducir \u00fanicamente los costes de producci\u00f3n, autom\u00e1ticamente disminuyen la calidad de sus productos. Por el contrario, aquellas que se concentran en mejorar la calidad, autom\u00e1ticamente rebajan los costes.
"},{"location":"customer/#idra-group","title":"IDRA Group","text":"
  • teslarati.com: IDRA finishes 9,000-ton Giga Press; Tesla expecting it any day now
  • eleconomista.es: Giga Press, la colosal m\u00e1quina de Tesla que ha revolucionado la fabricaci\u00f3n de coches el\u00e9ctricos
"},{"location":"customer/#williams-f1","title":"Williams F1","text":"
  • xataka.com: El Excel se ha usado en la F\u00f3rmula 1 hasta que se han dado cuenta que no es la mejor forma de controlar las 20.000 piezas del coche James Vowles, nuevo jefe de Williams, encontr\u00f3 uno de los motivos por los que el hist\u00f3rico equipo de la F\u00f3rmula 1 estaba tan atrasado
"},{"location":"customer/#carrefour-spain","title":"Carrefour Spain","text":"
  • Efficient Java in the cloud with Quarkus. Carrefour Spain\u2019s test: Quarkus vs. Spring Boot \u201cThis move will help our applications to become scalable, real time, resilient and, all in all, provide a better experience to our customers\u201d
"},{"location":"customer/#decathlon","title":"Decathlon","text":"
  • quarkus.io: VCStream: a new messaging platform for DECATHLON\u2019s Value Chain, built on Quarkus Another successful Quarkus user story! Decathlon picking QuarkusIO over springboot
"},{"location":"customer/#deutsche-telekom","title":"Deutsche Telekom","text":"
  • thenewstack.io: How Deutsche Telekom Manages Edge Infrastructure with GitOps
"},{"location":"customer/#astrazeneca","title":"AstraZeneca","text":"
  • aws.amazon.com: AstraZeneca\u2019s Drug Design Program Built using AWS wins Innovation Award
"},{"location":"customer/#ai-for-medical-imaging","title":"AI for Medical Imaging","text":"
  • chaimeleon.eu Accelerating the lab to market transition of AI tools for cancer management. CHAIMELEON will set up an EU-wide structured repository for health imaging data as an open source for artificial intelligence (AI) experimentation in cancer management.
  • healthitanalytics.com: AI for Medical Imaging Boosts Cancer Screenings with Provider Aid
  • valenciaplaza.com: El IIS La Fe liderar\u00e1 la direcci\u00f3n cient\u00edfica del Nodo Central del Atlas de Im\u00e1genes en C\u00e1ncer Se trata de una plataforma dise\u00f1ada para generar \u201cconjuntos masivos de datos de calidad\u201d centrados en la imagen m\u00e9dica y su informaci\u00f3n cl\u00ednica, molecular y gen\u00e9tica relacionada, obtenidos en el \u00e1mbito asistencial y de investigaci\u00f3n. Estos datos enlazados permiten construir estudios cl\u00ednicos observacionales controlados, como si fueran ensayos cl\u00ednicos. Esta gran plataforma de im\u00e1genes y datos ser\u00e1 tambi\u00e9n \u201cclave\u201d para el desarrollo y validaci\u00f3n de modelos de inteligencia artificial que permitan un diagn\u00f3stico temprano, predecir la evoluci\u00f3n de la enfermedad y estimar la respuesta a un tratamiento oncol\u00f3gico espec\u00edfico en un paciente concreto. Los datos cl\u00ednicos y las im\u00e1genes que se obtienen en el \u00e1mbito asistencial se adquieren con el foco en un paciente individual, su aprovechamiento posterior necesita procesos que garanticen su seguridad (desidentificaci\u00f3n) y normalizaci\u00f3n (armonizaci\u00f3n) para minimizar las diferencias en calidad de imagen entre diferentes equipamientos y fabricantes.
  • aws.amazon.com: Accelerating radiology imaging workflows with relevant clinical context on AWS
  • biobanking.com: Europe\u2019s Leading Cancer Image Biobank (EUCAIM) Launched by Quibim and European Commission
  • health.google: AI-enabled imaging and diagnostics previously thought impossible
  • nature.com: Quibim: empowering biopharma to turn images into actionable predictions using artificial intelligence Taking an innovative approach to applying artificial intelligence (AI) to medical imaging, Quibim is designing predictive panels to enable healthcare providers to improve patient outcomes.
  • imperialbiosciencereview.wordpress.com: Redefining diagnostics: the integration of machine learning in medical imaging
  • falco.org/about/case-studies/incepto-medical: Protect shared clusters for medical imaging Incepto Medical provides on-demand medical imaging analysis to healthcare facilities. This analysis is based on AI technology manufactured or distributed by Incepto for mammography, X-ray, emergency, CT, MR and PET scanners. Incepto\u2019s partners can also use shared clusters to host their own medical devices and AI models.
  • hms.harvard.edu: Does AI Help or Hurt Human Radiologists\u2019 Performance? It Depends on the Doctor New research shows radiologists and AI don\u2019t always work well together
  • cronicaglobal.elespanol.com: Roberto Ardon (Incepto): \u201cA la IA no se le pueden pedir imposibles\u201d Incepto es una empresa dedicada al desarrollo de inteligencia artificial para diagn\u00f3stico de imagen m\u00e9dica en hospitales; su director de Data Science responde sobre los retos que supone dise\u00f1ar y entrenar programas de este tipo
"},{"location":"customer/#axa-group","title":"AXA Group","text":"
  • hashicorp.com: Standardizing infrastructure automation with Terraform Enterprise
"},{"location":"customer/#videos","title":"Videos","text":"Click to expand!"},{"location":"databases/","title":"Databases on Kubernetes. Database DevOps","text":"
  1. Introduction
  2. How to choose the right database for your service
  3. Database Load Balancer
  4. SQL
    1. Alternatives to SQL
  5. Stored Procedures
  6. Performance
  7. Stateful and Stateless Applications
  8. Serverless Databases
  9. DataOps
  10. Database Continuous Integration
  11. Databases on Kubernetes
  12. Database DevOps
  13. Database Mesh
  14. KubeDB Cloud Native Postgress Database
  15. Cockroach Cloud Native Database
  16. Operator Lifecycle Manager (OLM)
  17. Spilo PostgreSQL Operator
  18. Zalando PostgreSQL Operator
  19. Crunchy Data PostgreSQL Operator
  20. Oracle 12c on OpenShift Container Platform
  21. Oracle Database Operator for Kubernetes
  22. SQL Server
  23. MySQL
  24. MariaDB
  25. PostgreSQL
  26. Percona MySQL
  27. Percona PostgreSQL Operator
  28. Redis
  29. Rockset
  30. PysonDB
  31. Clickhouse
  32. Apache Ignite
  33. Apache Druid
  34. Dolt is Git for Data
  35. VictoriaMetrics and VictoriaLogs
  36. Tools
  37. Time-Series Database
  38. Data Analytics and Visualization Tools
  39. Data Lakes
  40. Graph Databases
  41. Excel
  42. Videos
  43. Tweets
"},{"location":"databases/#introduction","title":"Introduction","text":"
  • thenewstack.io: How Database Load Balancing Completes the 3-Tiered Architecture \ud83c\udf1f
  • sqlshack.com: SQL Database on Kubernetes: Considerations and Best Practices \ud83c\udf1f
  • thenewstack.io: Just How Challenging Is State in Kubernetes? \ud83c\udf1f
  • theregister.com: 75% of databases to be cloud-hosted by 2022, says Gartner while dishing on the weak points of each provider
  • thenewstack.io: What Is Data Management in the Kubernetes Age?
  • thenewstack.io: A Case for Databases on Kubernetes from a Former Skeptic
  • hackernoon.com: Database Vs Data Warehouse Vs Data Lake: A Simple Explanation
  • percona.com: DBaaS on Kubernetes: Under the Hood \ud83c\udf1f
  • blog.crunchydata.com: Using Kubernetes? Chances Are You Need a Database \ud83c\udf1f
  • thenewstack.io: Databases \u2014 Finally \u2014 Get Containerized
  • percona.com: Autoscaling Databases in Kubernetes for MongoDB, MySQL, and PostgreSQL
  • levelup.gitconnected.com: How to design a system to scale to your first 100 million users Think Big, Do Small, Learn Fast
  • magalix.com: Kubernetes And Databases \ud83c\udf1f
  • towardsdatascience.com: SQL vs. NoSQL: How to Select from 12 Database Types \ud83c\udf1f\ud83c\udf1f When to use SQL vs. NoSQL database? Deep dive, differences, decision tree, and cloud cheatsheet to choose the best database for your data type and use case.
  • andrewlock.net: Running database migrations when deploying to Kubernetes \ud83c\udf1f Deploying ASP.NET Core applications to Kubernetes - Part 7. Learn how to run database migrations with init containers and Jobs in Kubernetes.
  • redislabs.com: What is a \u201cDatabaseless\u201d (DBLess) Architecture, and Why It\u2019s the Future \ud83c\udf1f [ARCHIVED] DBLess architecture provides a new approach to data pipeline and backend architecture. Just like the terms serverless, stateless, and NoSQL, it attempts to provide more options for architects to think about.
  • red-gate.com: Designing Highly Scalable Database Architectures
  • medium: Not using trendy technologies is the best thing for your Startup! I refused to use MongoDB and I convinced my company to use a SQL relational database system.
  • thenewstack.io: Database-as-a-Service: A Key Technology for Agile Growth
  • cloud.redhat.com: OpenShift Commons Briefing: Database Disaster Recovery Made Easy with Annette Clewett (Red Hat) and Andrew L\u2019Ecuyer (Crunchy Data)
  • thenewstack.io: A Case for Databases on Kubernetes from a Former Skeptic
  • hackernoon.com: Practical Transaction Handling in Microservice Architecture
  • thenewstack.io: Data on Kubernetes: Operators, Tools Need Standardization
  • thenewstack.io: Kubernetes Will Revolutionize Enterprise Database Management
  • dok.community: Data on Kubernetes 2021 Report Standardization, consistency and the ability for developers to self-manage - are among the top 3 important factors in the organization\u2019s decision to run stateful workloads on Kubernetes.
  • cloud.redhat.com: Simplifying Database Cloud Service Access
  • venturebeat.com: The rise of Kubernetes and its impact on enterprise databases
  • vladmihalcea.com: Single-Primary Database Replication
  • treblle.com: How does Treblle scale on AWS without breaking the bank? A completely scalable intake solution that didn\u2019t require a database because all the data was stored on S3.
  • intellipaat.com: Difference between DBMS and RDBMS DBMS and RDBMS sound very similar, but can be confusing to those who are completely new to the database domain. Both of them are based on the technology of storing data. However, we will dive into this DBMS vs RDBMS blog to learn the difference between them.
  • betterprogramming.pub: Multi-Tenancy Support With Spring Boot, Liquibase, and PostgreSQL A step-by-step guide on how to implement multi-tenancy.
  • thenewstack.io: How Kubernetes and Database Operators Drive the Data Revolution
  • thenewstack.io: How Radical API Design Changed the Way We Access Databases
  • architecturenotes.co: Things You Should Know About Databases This is the first post in a series called Things You Should Know. Think of it as a primer to level set from base principles on various topics. Today we are discussing databases!
  • vladmihalcea.com: A beginner\u2019s guide to database multitenancy
  • itnext.io: How to Run Databases in Kubernetes 90% of the customers believe it is ready for stateful workloads, and a large majority (70%) are running them in production with databases topping the list. Companies report significant benefits to standardization, consistency, and management as key drivers.
  • thenewstack.io: More Database, Analytics Workloads Ran on Kubernetes in 2022 More than three in four participants in the new Data on Kubernetes survey now acknowledge the use of databases on Kubernetes, up from 50% in 2021.
  • medium.com/@bijit211987: Kubernetes ready for stateful workloads and to Revolutionize Enterprise Database Management
  • medium.com/javarevisited: Top Performance issues every developer/architect must know \u2014 part 1-Database
  • infoq.com: Create Your Distributed Database on Kubernetes with Existing Monolithic Databases
  • dineshchandgr.medium.com: Why do we need a Database Connection Pool? -every programmer must know In this article, we looked at what is Database connection and its life cycle. Then we saw the drawbacks of creating connections on the fly and then saw the need to use a Database Connection Pool. We also looked at the design patterns on where to place the connection pool. We have then looked at the performance issues that can arise from the Database connection pool and concluded the article by looking at the common connection pool frameworks used in Java.
  • medium.com/fintechexplained: What Is Database Sharding? Learn How Splitting Database Across Multiple Machines Improves Performance By Processing Requests In Parallel For High Volume Applications
  • blog.equationlabs.io: Managing database migrations safely in high replicated k8s deployment \ud83c\udf1f In this article, you will learn how to run database migrations in Kubernetes using the Job resource, init containers and rolling updates.
  • blog.equationlabs.io: Managing database migrations safely in high replicated k8s deployment In this article, you will learn how to run database migrations in Kubernetes using the Job resource, init containers and rolling updates
  • thenewstack.io: Distributed Database Architecture: What Is It?
  • medium.com/@mkremer_75412: Why Postgres RDS didn\u2019t work for us (and why it won\u2019t work for you if you\u2019re implementing a big data solution)
  • medium.com/@fengruohang: Database in Kubernetes: Is that a good idea? Perhaps one day, when the reliability and performance of distributed network storage surpass local storage and mainstream databases have some native support for storage-computation separation, things might change again \u2014 K8S might become suitable for databases. But for now, I believe putting serious production OLTP databases into K8S is immature and inappropriate. I hope readers will make wise choices on this matter.
"},{"location":"databases/#how-to-choose-the-right-database-for-your-service","title":"How to choose the right database for your service","text":"
  • medium.com: How to choose the right database for your service \ud83c\udf1f
"},{"location":"databases/#database-load-balancer","title":"Database Load Balancer","text":"
  • severalnines.com: How Does a Database Load Balancer Work?
"},{"location":"databases/#sql","title":"SQL","text":"
  • digitalocean.com: How To Use WHERE Clauses in SQL
  • intellipaat.com: SQL vs MySQL - Key Differences Between SQL and MySQL
  • vettabase.com: How slow is SELECT * ?
  • towardsdatascience.com: How to Use SQL Cross Joins The SQL join you never knew existed
  • vladmihalcea.com: SQL EXISTS and NOT EXISTS
  • vladmihalcea.com: Default Database Primary, Foreign, and Unique Key Indexing
  • blog.jooq.org JAVA, SQL AND JOOQ. Best Practices and Lessons Learned from Writing Awesome Java and SQL Code. Get some hands-on insight on what\u2019s behind developing jOOQ.
  • vladmihalcea.com: SQL LEFT JOIN \u2013 A Beginner\u2019s Guide
  • vladmihalcea.com: SQL JOIN USING \u2013 A Beginner\u2019s Guide
  • gcreddy.com: SQL Step by Step Videos
  • freecodecamp.org: SQL Joins Tutorial: Cross Join, Full Outer Join, Inner Join, Left Join, and Right Join
  • freecodecamp.org: SQL Join Types \u2013 Inner Join VS Outer Join Example
  • freecodecamp.org: The SQL Inner Join Command: Example Syntax
  • freecodecamp.org: SQL Inner Join \u2013 How to Join 3 Tables in SQL and MySQL
  • geeksforgeeks.org: Best Practices for SQL Query Optimization
  • towardsdatascience.com: You Should Use This to Visualize SQL Joins Instead of Venn Diagrams
  • vladmihalcea.com: MySQL JSON_TABLE \u2013 Map a JSON object to a relational database table
"},{"location":"databases/#alternatives-to-sql","title":"Alternatives to SQL","text":"
  • infoworld.com: Beyond SQL: 8 new languages for data querying SQL has dominated data querying for decades. Newer query languages offer more elegance, simplicity, and flexibility for modern use cases.
"},{"location":"databases/#stored-procedures","title":"Stored Procedures","text":"
  • blog.yugabyte.com: Are Stored Procedures and Triggers Anti-Patterns in the Cloud Native World?
  • stackoverflow.com: Is the usage of stored procedures a bad practice?
  • softwareengineering.stackexchange.com: What is the best practice about microservice architecture for consuming many stored procedures in the same database?
"},{"location":"databases/#performance","title":"Performance","text":"
  • betterprogramming.pub: 8 Techniques To Speed up Your Database \u201cIf everything seems under control, you\u2019re not going fast enough\u201d
"},{"location":"databases/#stateful-and-stateless-applications","title":"Stateful and Stateless Applications","text":"
  • xenonstack.com: Stateful and Stateless Applications Best Practices and Advantages
  • threadreaderapp.com: Kelsey Hightower: \u201cKubernetes has made huge improvements in the ability to run stateful workloads including databases and message queues, but I still prefer not to run them on Kubernetes\u201d \ud83c\udf1f
  • thenewstack.io: Data on Kubernetes: The Next Frontier \u201cThe interesting opportunity I see in the Kubernetes ecosystem,\u201d Evenson continued, \u201cis that, with the advent of custom resources and Kubernetes, you can build bespoke APIs for your application really easily. We\u2019re in the world of operator explosion. In essence, it makes Kubernetes applications aware.\u201d
  • openshift.com: OpenShift, Databases and You: When to Put Containerized Database Workloads on OpenShift \ud83c\udf1f
  • sixfold.medium.com: Reducing database queries to a minimum with DataLoaders
"},{"location":"databases/#serverless-databases","title":"Serverless Databases","text":"
  • thenewstack.io: How to Ensure Your Serverless Database Stays Serverless
"},{"location":"databases/#dataops","title":"DataOps","text":"
  • thenewstack.io: The Benefits and Drawbacks of DataOps in Practice
"},{"location":"databases/#database-continuous-integration","title":"Database Continuous Integration","text":"
  • cloudbees.com: Introductory Handbook for Database Continuous Integration
"},{"location":"databases/#databases-on-kubernetes","title":"Databases on Kubernetes","text":"
  • cloud.google.com: To run or not to run a database on Kubernetes - What to consider
  • reddit.com: What\u2019s the best, proper way of running a database cluster on top of Kubernetes?
  • learnk8s.io: Provisioning cloud resources (AWS, GCP, Azure) in Kubernetes
  • cloudsavvyit.com: Should You Run a Database in Docker?
"},{"location":"databases/#database-devops","title":"Database DevOps","text":"
  • informationweek.com: Can Enterprises Benefit From Adopting Database DevOps?
  • medium: DevOps and Databases\u200a\u2014\u200aThe forgotten automation
"},{"location":"databases/#database-mesh","title":"Database Mesh","text":"
  • medium.com/@database-mesh: Database Mesh 2.0: Database Governance in a Cloud Native Environment This article reviews the background of Database Mesh, reexamines the value of Database Mesh 1.0, and introduces the new concepts, ideas, and features of Database Mesh 2.0. It also attempts to explore the future of Database Mesh
"},{"location":"databases/#kubedb-cloud-native-postgress-database","title":"KubeDB Cloud Native Postgress Database","text":"
  • kubedb.com Run production-grade databases easily on Kubernetes
"},{"location":"databases/#cockroach-cloud-native-database","title":"Cockroach Cloud Native Database","text":"
  • Wikipedia: CockroachDB is a project that is designed to store copies of data in multiple locations in order to deliver speedy access. It is described as a scalable, consistently-replicated, transactional datastore.
  • Cockroach
  • cockroachlabs.com: Automated database operations with Terraform
  • blog.cloudneutral.se: Running CockroachDB TPC-C benchmark on GKE This article demonstrates how to run a TPC-C 2.5K benchmark on a self-hosted, 3-node, single-region CockroachDB cluster on Google Kubernetes Engine (GKE)
"},{"location":"databases/#operator-lifecycle-manager-olm","title":"Operator Lifecycle Manager (OLM)","text":"
  • itnext.io: Operator Lifecycle Manager
"},{"location":"databases/#spilo-postgresql-operator","title":"Spilo PostgreSQL Operator","text":"
  • Spilo: HA PostgreSQL Clusters with Docker Spilo is a Docker image that provides PostgreSQL and Patroni bundled together. Patroni is a template for PostgreSQL HA.
  • Patroni
  • How I\u2019ve Set Up HA PostgreSQL on Kubernetes (powered by Patroni, a template for PostgreSQL HA)
"},{"location":"databases/#zalando-postgresql-operator","title":"Zalando PostgreSQL Operator","text":"
  • Zalando Postgres Operator Postgres operator creates and manages PostgreSQL clusters running in Kubernetes
"},{"location":"databases/#crunchy-data-postgresql-operator","title":"Crunchy Data PostgreSQL Operator","text":"
  • Crunchy Data PostgreSQL Operator
"},{"location":"databases/#oracle-12c-on-openshift-container-platform","title":"Oracle 12c on OpenShift Container Platform","text":"
  • medium: Running Oracle 12c on OpenShift Container Platform Oracle is now offering an Oracle 12c image on Docker Hub for dev/test purposes (license still required for Prod).
"},{"location":"databases/#oracle-database-operator-for-kubernetes","title":"Oracle Database Operator for Kubernetes","text":"
  • https://github.com/oracle/oracle-database-operator
"},{"location":"databases/#sql-server","title":"SQL Server","text":"
  • Automate SQL Server Backups with PowerShell - (Related to kubernetes-backup-migrations topic)

  • Expanding SQL Server Big Data Clusters capabilities, now on Red Hat OpenShift

  • devblogs.microsoft.com: DevOps for Azure SQL \ud83c\udf1f
  • khalidabuhakmeh.com: Running SQL Server Queries In Docker
"},{"location":"databases/#mysql","title":"MySQL","text":"
  • twindb.com: Verify MySQL Backups With TwinDB Backup Tool
  • blog.eduguru.in: mysql create index on table
  • percona.com: MySQL 101: Parameters to Tune for MySQL Performance
  • pub.towardsai.net: Step-by-Step Design of Enhanced Entity-Relationship (EER) in MySQL Database schema relationships of tables
  • dbasecenter.com: The top 5 MySQL performance variables
  • opensource.com Tune your MySQL queries like a pro. Optimizing your queries isn\u2019t a dark art; it\u2019s just simple engineering.
  • percona.com: MySQL on Kubernetes with GitOps \ud83c\udf1f
  • Moco MOCO is a Kubernetes operator for MySQL created and maintained by Cybozu.
  • cloudsavvyit.com: How to Run PHPMyAdmin in a Docker Container
  • tusacentral.com: MySQL on Kubernetes demystified
  • dzone: PostgreSQL vs MySQL Performance
  • thenewstack.io: Deploy MySQL and phpMyAdmin with Docker
"},{"location":"databases/#mariadb","title":"MariaDB","text":"
  • thenewstack.io: Maria DB Gets Reactive with a Non-Blocking Connector for Java
"},{"location":"databases/#postgresql","title":"PostgreSQL","text":"
  • momjian.us: Mastering PostgreSQL Administration [pdf]
  • 9 High-Performance Tips when using PostgreSQL with JPA and Hibernate
  • migops.com: pgBackRest \u2013 The Best Postgres Backup Tool with a very active community
  • towardsdatascience.com: Practical Introduction to PostgreSQL
  • percona.com: An Overview of Sharding in PostgreSQL and How it Relates to MongoDB\u2019s
  • blog.crunchydata.com: How to Setup PostgreSQL Monitoring in Kubernetes
  • blog.flant.com: Comparing Kubernetes operators for PostgreSQL
  • blog.crunchydata.com: Cut Out the Middle Tier: Generating JSON Directly from Postgres
  • percona.com: How to Adjust Linux Out-Of-Memory Killer Settings for PostgreSQL
  • Postgres.app The easiest way to get started with PostgreSQL on the Mac
  • devopscube.com: How to Deploy PostgreSQL Statefulset in Kubernetes With High Availability
  • blog.crunchydata.com: Quickly Document Your Postgres Database Using psql Meta-Commands
  • Why Postgres?
    • Its fully open source, so control over destiny
    • Features are comparable to Oracle, so minimizes mental friction of the move
  • blog.crunchydata.com: Devious SQL: Message Queuing Using Native PostgreSQL
  • percona.com: Should I Create an Index on Foreign Keys in PostgreSQL?
  • percona.com: PostgreSQL 14 Database Monitoring and Logging Enhancements
  • theregister.com: MySQL a \u2018pretty poor database\u2019 says departing Oracle engineer PostgreSQL a better option for open source RDBMS, he claims
  • wanago.io: Creating views with PostgreSQL
  • percona/pg_stat_monitor PostgreSQL Statistics Collector
  • blog.crunchydata.com: A Postgres Primer for Oracle DBAs
  • blog.crunchydata.com: Postgres Indexes for Newbies
  • dev.to: REST Data Service on YugabyteDB / PostgreSQL
  • orgrim/pg_back: Simple backup tool for PostgreSQL pg_back dumps databases from PostgreSQL
  • sqlrevisited.blogspot.com: MySQL vs PostgreSQL? Pros and Cons
  • adamtheautomator.com: How to Deploy Postgres to Kubernetes \ud83c\udf1f In this step-by-step tutorial, you will learn how to securely deploy Postgres to Kubernetes using two methods:
    • Helm charts
    • YAML configurations
  • purnapoudel.blogspot.com: How to Configure PostgreSQL with SSL/TLS support on Kubernetes This tutorial describes detailed steps to deploy PostgreSQL on Kubernetes with SSL/TLS support using PersistentVolume, configMap, and secrets along with possible issues, troubleshooting steps and work-around.
"},{"location":"databases/#percona-mysql","title":"Percona MySQL","text":"
  • Percona.com: Percona Kubernetes Operator for Percona XtraDB Cluster
  • medium: Upgrading MySQL (Percona Server) from 5.7 to 8.0
  • percona.com: MySQL 101: How to Find and Tune a Slow SQL Query
  • percona.com: Storing Kubernetes Operator for Percona Server for MongoDB Secrets in Github
  • percona.com: Migration of a MySQL Database to a Kubernetes Cluster Using Asynchronous Replication
"},{"location":"databases/#percona-postgresql-operator","title":"Percona PostgreSQL Operator","text":"
  • percona.com: Migrating PostgreSQL to Kubernetes
"},{"location":"databases/#redis","title":"Redis","text":"
  • RedisLabs/redis-enterprise-k8s-docs: Deploying Redis Enterprise on Kubernetes This page describes how to deploy Redis Enterprise on Kubernetes using the Redis Enterprise Operator.
  • tech.trell.co: Redis Cluster Creation Automation
  • blog.devgenius.io: How to use Redis Pub/Sub in your Python Application \ud83c\udf1f
"},{"location":"databases/#rockset","title":"Rockset","text":"
  • rockset.com: Sequoia Capital: Why We Moved from Elasticsearch to Rockset
"},{"location":"databases/#pysondb","title":"PysonDB","text":"
  • https://pysondb.github.io/pysonDB/
  • freecodecamp.org: How to Get Started with PysonDB PysonDB is yet another document-oriented database written in pure Python. Developed by Fredy Somy, it is simple, lightweight, and efficient.
"},{"location":"databases/#clickhouse","title":"Clickhouse","text":"
  • clickhouse.com ClickHouse is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).
  • Altinity/clickhouse-operator The ClickHouse Operator creates, configures and manages ClickHouse clusters running on Kubernetes
  • radondb/radondb-clickhouse-kubernetes Open Source\uff0cHigh Availability Cluster\uff0cbased on ClickHouse
  • tech.marksblogg.com: Monitor ClickHouse column oriented database with Prometheus & Grafana
"},{"location":"databases/#apache-ignite","title":"Apache Ignite","text":"
  • Apache Ignite Distributed Database For High-Performance Computing With In-Memory Speed
  • dzone: Stateful Microservices With Apache Ignite This article explains how to implement stateful microservices architecture for Spring Boot applications with distributed database Apache Ignite.
"},{"location":"databases/#apache-druid","title":"Apache Druid","text":"
  • Apache Druid Druid is a high performance, real-time analytics database that delivers sub-second queries on streaming and batch data at scale and under load.
  • dev.to: Apache Druid: overview, running in Kubernetes and monitoring with Prometheus In this detailed tutorial, you will learn how to install, run and monitor Apache Druid on Kubernetes \u2014 a columnar database designed to work with large amounts of data
"},{"location":"databases/#dolt-is-git-for-data","title":"Dolt is Git for Data","text":"
  • github.com/dolthub/dolt Git for Data
"},{"location":"databases/#victoriametrics-and-victorialogs","title":"VictoriaMetrics and VictoriaLogs","text":"
  • victoriametrics.com
  • victoriametrics.com: Q2 2024 Round Up: VictoriaMetrics & VictoriaLogs Updates VictoriaLogs is an open source database for logs that uses up to 30x less RAM and up to 15x disk space than Elasticsearch has just relased several new features to celebrate their one year anniversary
"},{"location":"databases/#tools","title":"Tools","text":"
  • Tabularis: Open Source Desktop Client for Modern Databases with AI and MCP Integration - (Related to kubernetes-tools topic)
  • SQL Studio: A Unified SQL Database Explorer - (Related to kubernetes-tools topic)

  • SHMIG A database migration tool written in BASH consisting of just one file - shmig.

  • DATA-DOG/go-sqlmock Sql mock driver for golang to test database interactions
  • datafold/data-diff Efficiently diff rows across two different databases.
  • medium.com/@nomulex: How to create an ssh tunnel to a remote database in Kubernetes \ud83c\udf1f
"},{"location":"databases/#time-series-database","title":"Time-Series Database","text":"
  • thenewstack.io: You Don\u2019t Need a Blockchain, You Need a Time-Series Database
"},{"location":"databases/#data-analytics-and-visualization-tools","title":"Data Analytics and Visualization Tools","text":"
  • opensource.com: Make your data boss-friendly with EDA - Enterprise Data Analytics - EDA
  • thenewstack.io: Kubernetes-Run Analytics at the Edge: Postgres, Kafka, Debezium
"},{"location":"databases/#data-lakes","title":"Data Lakes","text":"
  • unifieddatascience.com: Data lake design patterns on Azure (Microsoft) cloud
  • unifieddatascience.com: Data lake design patterns on AWS (Amazon) cloud
  • unifieddatascience.com: Data lake design patterns on google (GCP) cloud
"},{"location":"databases/#graph-databases","title":"Graph Databases","text":"
  • SQErzo: Tiny ORM for Graph databases Tiny ORM for graph databases: Neo4j, RedisGraph, AWS Neptune or Gremlin
  • towardsdatascience.com: At Its Core: How Is a Graph Database Different from a Relational One? It\u2019s easy to come up with some answers by simply Googling the topic, however, as I found, most answers list benefits mostly superficially
"},{"location":"databases/#excel","title":"Excel","text":"
  • xataka.com: El Excel se ha usado en la F\u00f3rmula 1 hasta que se han dado cuenta que no es la mejor forma de controlar las 20.000 piezas del coche James Vowles, nuevo jefe de Williams, encontr\u00f3 uno de los motivos por los que el hist\u00f3rico equipo de la F\u00f3rmula 1 estaba tan atrasado
"},{"location":"databases/#videos","title":"Videos","text":"Click to expand!"},{"location":"databases/#tweets","title":"Tweets","text":"Click to expand!

Kubernetes has made huge improvements in the ability to run stateful workloads including databases and message queues, but I still prefer not to run them on Kubernetes.

\u2014 Kelsey Hightower (@kelseyhightower) February 13, 2018

Postgres is what happens when tech gets so good, for so long, it becomes boring. Dope since the 80s. https://t.co/zeoagBfMvW

\u2014 Kelsey Hightower (@kelseyhightower) December 28, 2020

Stack Overflow's SQL Server is at 4% CPU with 500M queries/day https://t.co/wX9Od749ik https://t.co/1BAuEV9VgT

\u2014 Lukas Eder (@lukaseder) August 18, 2021

PostgreSQL for relational.PromQL for monitoring.Two big alignments across the industry.

\u2014 Jaana Dogan at KubeCon \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) October 13, 2021

I'm super curious, how many people have successfully migrated their databases from Oracle to Postgres in production? I'm talking 100% migration with Oracle being turned off at the end.

\u2014 Kelsey Hightower (@kelseyhightower) November 1, 2021

Kubernetes can only meet stateful services half way. We need direct changes in databases, message brokers, and other stateful systems if we want to see a future where Kubernetes becomes the preferred destination to run them. The @vectorizedio team is doing their part. https://t.co/w94Q56nnXM

\u2014 Kelsey Hightower (@kelseyhightower) November 8, 2021

Sometimes we work for a database and need to connect to another (#migration ;) so I explained to a colleague the difference between Oracle SERVICE_NAME and SID. Pasting it here in case it helps \ud83e\uddf5

\u2014 Franck Pachot \ud83d\ude80 (@FranckPachot) February 2, 2022

Kubernetes Database Operator is useful for building scalable database servers as a database cluster. But migrating existing databases to k8s requires a lot of manual work due to having to create new artifacts.At our next meetup, we'll demo an open-source tool to solve this. pic.twitter.com/o55vnyITV2

\u2014 konveyor.io (@Konveyor_io) February 4, 2022

Surprising number of devs today don't seem to know how to write their own database schemas. Is SQL really that out of fashion?

\u2014 Joyce Park (@troutgirl) April 2, 2022

It is often surprising how little is known about how databases operate at a surface level, considering they store almost all of the states in our applications. Things You Should Know About Databases. pic.twitter.com/SAX5wHaS3m

\u2014 Architecture Notes (@arcnotes) October 27, 2022

Partitioning is the process of storing a large database across multiple machines.Here are the popular partitioning architectures with their benefits and costs: {1/8} \u2193 pic.twitter.com/85JdhcISJq

\u2014 Fernando \ud83c\uddee\ud83c\uddf9\ud83c\udde8\ud83c\udded (@Franc0Fernand0) December 17, 2022

What is the \ud835\udde6\ud835\udde4\ud835\udddf \ud835\udde4\ud835\ude02\ud835\uddf2\ud835\uddff\ud835\ude06 \ud835\uddfc\ud835\uddff\ud835\uddf1\ud835\uddf2\ud835\uddff \ud835\uddfc\ud835\uddf3 \ud835\uddd8\ud835\ude05\ud835\uddf2\ud835\uddf0\ud835\ude02\ud835\ude01\ud835\uddf6\ud835\uddfc\ud835\uddfb?There are many steps involved in optimising your SQL Queries. It is helpful to understand the order of SQL Query Execution as we might have constructed a different picture mentally.The actual order is as\u2026 pic.twitter.com/ApvRbkH652

\u2014 Aurimas Grici\u016bnas (@Aurimas_Gr) May 9, 2023

State of Database 2023 https://t.co/uXd2sM7dq9 pic.twitter.com/sGBmXqT3CA

\u2014 Architecture Notes (@arcnotes) August 6, 2023"},{"location":"demos/","title":"DevOps Demos. Boilerplates/Samples, Tutorials & Screencasts","text":"
  1. DevOps Screencasts
  2. DevOps Blogs
  3. Kubernetes Blogs
  4. DevOps Docker Demos
    1. Container Tools
    2. Ansible and Ansible Tower
    3. GitOps
  5. Kubernetes Demos
    1. Webhooks app
    2. Django on K8s
    3. Postgres Operator
    4. CI/CD with SpringBoot for Kubernetes
      1. Deploy a Spring Boot Application to Openshift with Spring Cloud Kubernetes and Fabric 8 Maven Plugin
      2. Spring Initializr and k8s Initializer
    5. Kubernetes CKAD Example Exam Questions Practical Challenge Series
    6. Istio Service Mesh
    7. Envoy Service Mesh
    8. Consul Service Mesh
    9. Kubernetes Network Policy Samples
    10. Rancher
    11. GitOps Workflow with Flux
    12. Amazon EKS. Deploy example microservices on EKS
    13. Azure AKS
    14. Google Kubernetes Engine GKE
    15. Environments to learn and practice Kubernetes security
    16. Harbor Container Registry
    17. OPA Gatekeeper
    18. Konveyor Move2Kube
  6. Red Hat Demo Central
    1. Cloud Native Development Architectural Diagrams Demos
  7. OpenShift Demos
    1. Developer Sandbox
    2. OpenShift VS Kubernetes
    3. IBM Cloud Pak Playbooks and GitOps
    4. Knative
    5. OpenShift Pipelines Workshop (Tekton)
    6. OpenShift GitOps (ArgoCD)
    7. ArgoCD
    8. GitLab Pipelines on OpenShift
    9. Deploying Web Applications with Eclipse JKube (formerly known as Fabric8 Maven Plugin)
    10. Monitoring Services with OpenShift ServiceMesh
    11. Red Hat Migration Toolkit for Applications
    12. Red Hat Advanced Cluster Management RHACM. Red Hat\u2019s Hybrid And Multi-Cloud Platform
    13. OKD
    14. Helm demos
    15. Writing Kubernetes Operators
    16. Customized Reports with Metering Operator (monitoring k8s resources)
    17. Red Hat AMQ Streams (Kafka)
    18. OpenShift AI
  8. Jenkins Demos
    1. Jenkins Declarative Pipelines with OpenShift
    2. OpenShift Pipelines with S2i and Jenkins Blue Ocean
    3. Jenkins Configuration as Code on Kubernetes
    4. From Jenkins Freestyle jobs to Pipeline, with JobDSL. Seed jobs
    5. Jenkins and GitHub
    6. Jenkins and AWS Kubernetes
    7. SDKMAN
    8. Jenkins Scripts
    9. Postman \\& Newman API Automated Tests
    10. Monitoring Jenkins with Grafana
  9. Jenkins X
  10. Spinnaker
  11. Nexus3 on Kubernetes
  12. GitLab
  13. Spring PetClinic Sample Application
    1. Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL
    2. PetClinic on Kubernetes
    3. PetClinic Docker images
    4. OpenShift.io Samples
  14. AWS Samples (Boilerplates)
  15. Azure Samples
    1. Azure DevOps Demos. Azure DevOps Pipelines
    2. Azure Demos
  16. GCP Samples
    1. Google DevOps Demos. Custom Samples and Cloud Code
    2. GitOps with Anthos Config Management
  17. SpringBoot Demos
  18. Quarkus Demos
  19. Golang Demos
  20. Kafka
  21. Apache Camel \\& ActiveMQ. Event driven integration
  22. Codeless
  23. JBoss EAP
  24. Terraform
  25. Prometheus and Grafana
  26. GitHub Actions
    1. RedHat GitHub Actions
  27. Red Hat Process Automation Manager
  28. API Testing and Postman
  29. OpenTelemetry
  30. QR Codes
  31. Serverless
  32. Labs
"},{"location":"demos/#devops-screencasts","title":"DevOps Screencasts","text":"
  • SysAdmin Casts
  • DEVOPS Library
  • youtube: Cloud Quick POCs
"},{"location":"demos/#devops-blogs","title":"DevOps Blogs","text":"
  • DevStack All about DevOps
"},{"location":"demos/#kubernetes-blogs","title":"Kubernetes Blogs","text":"
  • Awesome NotebookLM Slide Prompts - (Related to ai topic)

  • kubernetes-advocate.medium.com \ud83c\udf1f

"},{"location":"demos/#devops-docker-demos","title":"DevOps Docker Demos","text":"
  • RedHatGov.io is an open source collection of workshop materials that cover various topics relating to Red Hat\u2019s product portfolio.
  • github.com/wardviaene (kubernetes, terraform, ansible, docker, etc) \ud83c\udf1f
    • wardviaene/jenkins-course
    • wardviaene/kubernetes-course
  • thoughtworks.com: Modernizing your build pipelines with Concourse CI \ud83c\udf1f
    • github.com/sirech/example-concourse-pipeline
  • yankils/Simple-DevOps-Project
  • Spring PetClinic Sample Application By following this repository you can able to setup a DevOps CI/CD Pipeline using: git, Jenkins, Maven, Ansible, Docker & Kubernetes
  • swissarmydevops.com
  • dev.to: Build a highly available Node.js application using Docker, NGINX and AWS ELB
  • linuxtechlab.com: How to create a Dockerfile with some dockerfile examples
  • bregman-arie/devops-exercises \ud83c\udf1f This repo contains questions and exercises on various technical topics related to DevOps and SRE. Linux, Jenkins, AWS, Cloud, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, OpenShift, Big Data, Databases, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization, DevOps Interview Questions.
  • jose-r-lopez/SSI_Materials A bunch of infrastructure automation scripts we use in our course, in case you find them useful!
  • dzone: DIY DevOps, CI, and CD with GitHub, Docker and a VPS Azure and AWS is insanely cool until you look at your invoice and realise that what you\u2019re paying for can easily be replicated for 2% of your current cloud costs.
  • github.com/learning-cloud-native-go/myapp: Learning Cloud Native Go - myapp \ud83c\udf1f How to build a Dockerized RESTful API application using Go.
"},{"location":"demos/#container-tools","title":"Container Tools","text":""},{"location":"demos/#ansible-and-ansible-tower","title":"Ansible and Ansible Tower","text":"
  • ansible.github.io/workshops/demos : Red Hat Ansible Automation Platform Workshops
  • Red Hat Ansible Tower - Workshop and Demo
  • blog.stephane-robert.info: Ansible - Utiliser MySQL comme inventaire dynamique (Use MySQL as a dynamic inventory)
  • opensource.com: Build a Kubernetes Minecraft server with Ansible\u2019s Helm modules Deploy a Minecraft server into a Kubernetes cluster with Ansible\u2019s new collections.
  • kubernetes-advocate.medium.com: Website Deployment to AWS with Ansible
  • konstruktoid.medium.com: Running a NGINX container using rootless Docker with Ansible
  • kmahi2600.medium.com: Launching A WordPress Application With MYSQL Database in K8S Cluster On AWS Using Ansible
  • faun.pub: Automation: Deploying an app in GKE using Ansible Ansible infrastructure-as-code to automate Nginx deployment in Google Kubernetes Cluster (GKE) on Google Cloud Platform (GCP).
  • galaxy.ansible.com/ansible/product_demos \ud83c\udf1f
  • ankush-chavan.medium.com: Creating Multi-Cloud Kubernetes Cluster on AWS, Azure, and GCP cloud
  • redhat.com: Build a lab in 36 seconds with Ansible Using Ansible makes provisioning virtual machines automated, flexible, repeatable, and fast.
  • betterprogramming.pub: Clean Up Your Kubernetes Deployments Using Ansible Playbooks and templates make rolling out K8s objects a breeze
  • praveendandu24.medium.com: Ensuring AWS Infrastructure Consistency with Ansible Playbooks
"},{"location":"demos/#gitops","title":"GitOps","text":"
  • thenewstack.io: GitOps in Multicluster Environments with Anthos Config Management
  • mytechramblings.com: A practical example of GitOps using Azure DevOps, Azure Container Registry, Helm, Flux and Kubernetes
  • youtube.com: Cloud Native GitOps with Anthos and JFrog Artifactory
  • todaywasawesome/oss-apps: OSS Applications Example repo to show GitOps lifecycle from staging to production with canary and blue/green deployments. This is a GitOps repo that acts as the source of truth for the open source team at Codefresh demoing GitOps apps.
"},{"location":"demos/#kubernetes-demos","title":"Kubernetes Demos","text":"
  • kubernetesbyexample.com \ud83c\udf1f
  • Free Kubernetes \ud83c\udf1f\ud83c\udf1f List of free Trials/Credit for Managed Kubernetes Services.
  • github.com/eon01/kubernetes-workshop
  • wardviaene/kubernetes-course
  • github.com/kubernetes-course/container_workshops
  • Mautic
  • howtoforge.com: How to create a Deployment in Kubernetes
  • codeburst.io: getting started with kubernetes, deploy a docker container in 5 minutes
  • Kubernetes workshop in a box
    • GitHub: K8s workshop in a box
  • medium.com/@Kubernetes_Advocate \ud83c\udf1f
    • medium.com/avmconsulting-blog
  • medium: Efficient Node Out-of-Resource Management in Kubernetes
  • itnext.io: K8s raise StatefulSet volume size with low impact Shown step-by-step on a simple example application
  • Kubernetes Examples
  • medium: Prometheus-Grafana on K8s
  • blog.scottlowe.org: Using kubectl via an SSH Tunnel Learn how to use kubectl via an SSH Tunnel to connect to the Kubernetes API server.
  • trainings.kubernauts.sh Learn Kubernetes by doing and run into problems!
  • magalix.com: How To Integrate OPA Into Your Kubernetes Cluster Using Kube-mgmt
  • itnext.io: Kubernetes Journey \u2014 Up and running out of the cloud \u2014 How to setup the Masters using kubeadm bootstrap
  • medium: Build a Federation of Multiple Kubernetes Clusters With Kubefed V2
  • medium: Single Sign-On in Kubernetes This article walks you through creating a service, exposing it with an Ingress, and adding Single Sign On. The article uses Okta (but of course you\u2019re free to use any other OIDC SSO provider you prefer)
  • medium: Kubernetes in a nutshell \u2014 tutorial for beginners \ud83c\udf1f\ud83c\udf1f Deploy a complete application stack just in a few steps!
  • shipa.io: Developing and deploying applications to Kubernetes locally with Shipa and Minikube
  • shipa.io: Deploying a real-world application on Kubernetes
  • shipa.io: GitOps in Kubernetes, the easy way\u2013with GitHub Actions and Shipa
  • shipa.io: A Developer focused CI/CD pipeline for Kubernetes
  • kruyt.org: Running a mailserver in Kubernetes
  • piotrminkowski.com: RabbitMQ Monitoring on Kubernetes
  • dzone: Bootstrapping Java Kubernetes Apps With Spring Initializr and K8s Initializer \ud83c\udf1f Build a Spring Boot app and deploy to K8s without writing a single line of YAML.
  • medium: Production Ready CI/CD Pipeline with Kubernetes
  • myweblearner.com: Kubernetes(k8s) Readiness and Liveness Probe
  • medium.com: Attacking Kubernetes clusters using the Kubelet API Knock-knockin\u2019 on kubelet\u2019s door. From the doormat to full node access.
  • nfrankel/jvm-controller Example on how to write a kubernetes controller in Java. The demo code for nfrankel\u2019s talk on Kubernetes operators in Java.
  • matthewpalmer.net: Kubernetes Ingress with Nginx Example \ud83c\udf1f
  • developers.redhat.com: Deploying Node.js applications to Kubernetes with Nodeshift and Minikube
  • itnext.io: Breaking down and fixing Kubernetes In this article you\u2019ll break the cluster, delete certificates and rejoin the nodes without causing any downtime.
  • dev.to: Implementing a simple K8s admission controller in Go
  • ishantgaurav.in: Complete Application Deployment using Kubernetes
  • betterprogramming.pub: Deploy a Python API With Docker and Kubernetes Autoscale compute-intensive workloads to keep up with changing demand
  • github.com/developer-guy: Set up HA k3s cluster on DigitalOcean using Terraform + Ansible
  • cncf.io: Kubernetes Ingress gRPC example with a Dune quote service
  • betterprogramming.pub: How To Create a NoOps Deployment With GitHub Actions Kubernetes and Shipa Discover the DevOps simplicity and reduce the Kubernetes complexity
  • piotrminkowski.com: Kubernetes Multicluster with Kind and Cilium
  • todaywasawesome/atomic-cluster: The Atomic Cluster Running a k3s Kubernetes cluster homelab on the adorable and affordable Atomic Pi.
  • youtube: Deploy Docker image to Kubernetes Cluster | CI-CD for Azure Kubernetes Service | Mohamed Radwan - DevOps
  • howtoforge.com: How to deploy your first pod on a Kubernetes Cluster
  • github.com/AdminTurnedDevOps/kubernetes-examples This repo contains a bunch of Kubernetes examples
  • levelup.gitconnected.com: Deploying a Simple Golang Web App to Kubernetes Part II: Deployment Using YAML Configuration
  • medium.com/groupon-eng: LoadBalancer Services using Kubernetes in Docker (kind) In this tutorial, you\u2019ll learn how to build a multi-node kind cluster with extraPortMappings to forward requests from your host to an NGINX ingress controller
  • devxblog.hashnode.dev: Deploying Microservices with Persistent Volumes in Kubernetes - Kubernetes Microservice Flask Application
  • medium.com/@hmquan08011996: Setup Microservices on Kubernetes \u2014 Write a Configuration File Deployed the microservice to Kubernetes
  • github.com/AdminTurnedDevOps/kubernetes-in-production-examples This repo contains examples of a few tools and services you may use in production.
"},{"location":"demos/#webhooks-app","title":"Webhooks app","text":"
  • webhooks.app Webhook endpoints available for your tests and demos.
  • itnext.io: Journey Of A Microservice Application In The Kubernetes World Presentation of webhooks.app . TL;DR webhooks.app is an open source application following the microservice architecture. Its purpose is to provide a webhook endpoint for demos. In this series of articles, I will present the application and several steps I used (and will use) to have it running in production in a Kubernetes cluster.
"},{"location":"demos/#django-on-k8s","title":"Django on K8s","text":"
  • digitalocean.com: How To Deploy a Scalable and Secure Django Application with Kubernetes
  • dev.to: Django on K8s (Part 0: Introduction)
"},{"location":"demos/#postgres-operator","title":"Postgres Operator","text":"
  • blog.flant.com: Our experience with Postgres Operator for Kubernetes by Zalando
"},{"location":"demos/#cicd-with-springboot-for-kubernetes","title":"CI/CD with SpringBoot for Kubernetes","text":"
  • CI/CD for Kubernetes through a Spring Boot example (Banzai Cloud CI/CD)
  • piotrminkowski.com: Spring Boot on Kubernetes with Buildpacks and Skaffold \ud83c\udf1f
  • spring.io: YMNNALFT: Easy Docker Image Creation with the Spring Boot Maven Plugin and Buildpacks
"},{"location":"demos/#deploy-a-spring-boot-application-to-openshift-with-spring-cloud-kubernetes-and-fabric-8-maven-plugin","title":"Deploy a Spring Boot Application to Openshift with Spring Cloud Kubernetes and Fabric 8 Maven Plugin","text":"
  • github: Spring Cloud Kubernetes \ud83c\udf1f
  • baeldung.com: Deploy a Spring Boot Application to OpenShift with Spring Cloud Kubernetes \ud83c\udf1f
"},{"location":"demos/#spring-initializr-and-k8s-initializer","title":"Spring Initializr and k8s Initializer","text":"
  • Spring Initializr \ud83c\udf1f a web application that can generate a Spring Boot project structure, fill in your project details, pick your options, and download a bundled up project
  • k8s Initializer \ud83c\udf1f Build Your Own Application-Ready Kubernetes Playground. Generate YAML configs for ingress, CI/CD, observability, authentication, and more in just 3 minutes.
  • dzone: Bootstrapping Java Kubernetes Apps With Spring Initializr and K8s Initializer Build a Spring Boot app and deploy to K8s without writing a single line of YAML
  • hashicorp.com: Getting Started with Ambassador and Consul Using Kubernetes Initializer Kubernetes Initializer built by Ambassador Labs provides a new experience for simplifying the deployment of Ambassador and Consul in a Sandbox Kubernetes environment.
"},{"location":"demos/#kubernetes-ckad-example-exam-questions-practical-challenge-series","title":"Kubernetes CKAD Example Exam Questions Practical Challenge Series","text":"
  • Kubernetes CKAD Example Exam Questions Practical Challenge Series
"},{"location":"demos/#istio-service-mesh","title":"Istio Service Mesh","text":"
  • github: redhat-developer-demos Istio Tutorial for Java Microservices
  • blog.jetstack.io: Istio OIDC Authentication In this article you\u2019ll deploy an app and secure it with authenticaiton and authorisation for using Istio
  • github.com/stefanprodan/gitops-istio: A GitOps recipe for Progressive Delivery with Flux v2, Flagger and Istio \ud83c\udf1f
  • blog.alexellis.io: A bit of Istio before tea-time In this post you will learn how to set up a full Istio demo running with a public IP directly to your laptop Wirth KinD
"},{"location":"demos/#envoy-service-mesh","title":"Envoy Service Mesh","text":""},{"location":"demos/#consul-service-mesh","title":"Consul Service Mesh","text":"
  • medium: Consul-Kubernetes Ingress Gateways and L7 Traffic Management
    • github: Andrew-Klaas/hashi-k8s-demo
  • medium: Kittens-as-a-Service: Layer 7 Traffic Management & Security with Consul Connect
  • learn.hashicorp.com: Consul Service Discovery and Mesh on Minikube \ud83c\udf1f
  • consul.io: Ingress Gateways on Kubernetes \ud83c\udf1f
"},{"location":"demos/#kubernetes-network-policy-samples","title":"Kubernetes Network Policy Samples","text":"
  • ahmetb/kubernetes-network-policy-recipes \ud83c\udf1f 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.
"},{"location":"demos/#rancher","title":"Rancher","text":"
  • Deploy a Rancher Cluster with GitLab CI and Terraform
  • cncf.io: Implementing GitOps on Kubernetes Using K3s, Rancher, Vault and Argo CD
  • stackrox.com: Part 1 - Rancher Kubernetes Engine (RKE) Security Best Practices for Cluster Setup \ud83c\udf1f
  • thenewstack.io: Maximize K3s Resource Efficiency with Calico eBPF Data Plane
"},{"location":"demos/#gitops-workflow-with-flux","title":"GitOps Workflow with Flux","text":"
  • managedkube.com: A Complete Step by Step Guide to Implementing a GitOps Workflow with Flux
  • youtube: GitOps Guide to the Galaxy (Ep 12): Flux On OpenShift
  • flux2-kustomize-helm-example \ud83c\udf1f A GitOps workflow example for multi-env deployments with Flux, Kustomize and Helm.
"},{"location":"demos/#amazon-eks-deploy-example-microservices-on-eks","title":"Amazon EKS. Deploy example microservices on EKS","text":"
  • eksworkshop.com
  • eksworkshop.com/x-ray/microservices
  • eksworkshop.com: Configure Cluster Autoscaler (CA)
  • aws.amazon.com: Deploy a kubernetes application
  • aws blogs: Git Push to Deploy Your App on EKS
  • medium: create your first application on aws eks kubernetes
  • dzone: deploying a kubernetes cluster with amazon eks \ud83c\udf1f
  • stacksimplify.com: DevOps with AWS CodePipeline on AWS EKS
  • medium: AWS App Mesh with EKS and Canary deployment
  • github.com/stacksimplify/aws-eks-kubernetes-masterclass \ud83c\udf1f
  • hbollon/k8s-voting-app-aws Example of a distributed voting app running on Kubernetes. Written in Golang with Terraform definitions to deploy to AWS EKS
  • aws.plainenglish.io: Deploying Application on Amazon EKS
"},{"location":"demos/#azure-aks","title":"Azure AKS","text":"
  • github.com/stacksimplify/azure-aks-kubernetes-masterclass \ud83c\udf1f
  • channel9.msdn.com: Troubleshoot AKS cluster issues with AKS Diagnostics and AKS Periscope
  • trstringer.com: Deploy to AKS from GitHub Actions \ud83c\udf1f
  • trstringer.com: Deploy to AKS Using a Managed Identity from a GitHub Actions Self-Hosted Runner \ud83c\udf1f
  • medium.com/bb-tutorials-and-thoughts: How to Build and Deploy MERN Stack on Azure AKS MERN stands for MongoDB, Express, React, Node, after the four key technologies that make up the stack. Express and Node make up the middle (application) tier.
    • You will dockerize the app and push that image to the Azure container registry
    • You will pull the image and deploy it to AKS
    • You will learn how to expose the app
  • Azure/Draft \ud83c\udf1f
"},{"location":"demos/#google-kubernetes-engine-gke","title":"Google Kubernetes Engine GKE","text":"
  • cloud.google.com: Troubleshooting services on Google Kubernetes Engine by example \ud83c\udf1f
  • github.com/MatthewCYLau: React App on Google Kubernetes Engine (GKE) with Terraform
  • github.com/MatthewCYLau: TypeScript Node Express Google Kubernetes Engine (GKE)
"},{"location":"demos/#environments-to-learn-and-practice-kubernetes-security","title":"Environments to learn and practice Kubernetes security","text":"
  • The Kubernetes Goat designed to be intentionally vulnerable cluster environment to learn and practice Kubernetes security.
"},{"location":"demos/#harbor-container-registry","title":"Harbor Container Registry","text":""},{"location":"demos/#opa-gatekeeper","title":"OPA Gatekeeper","text":"
  • chrisns/k8s-opa-boilerplate Boilerplate example of managing OPA with kustomize
  • medium: Verifying container signatures on Kubernetes with Gatekeeper
  • medium: Mutating Kubernetes resources with Gatekeeper
  • opensource.com: Implement governance on your Kubernetes cluster Use OPA Gatekeeper to create and enforce policies and governance for your Kubernetes clusters so the resources you apply comply with that policy.
"},{"location":"demos/#konveyor-move2kube","title":"Konveyor Move2Kube","text":"
  • Move2Kube is a command-line tool for automating creation of Infrastructure as code (IaC) artifacts. It has inbuilt support for creating IaC artifacts for replatforming to Kubernetes/Openshift.
  • medium.com/@hari.balagopal: Create a Helm chart automatically from Kubernetes YAMLs Generating custom Helm charts, Kustomize YAMLs, Openshift templates and more, using Move2Kube.
"},{"location":"demos/#red-hat-demo-central","title":"Red Hat Demo Central","text":"
  • gitlab.com/redhatdemocentral \ud83c\udf1f
  • redhatdemocentral.gitlab.io
  • CodeReady Containers - Red Hat Decision Manager Install Demo
  • youtube: CodeReady Containers - Easy OpenShift Container Platform 4.5 Installation
  • gitlab.com/redhatdemocentral: Healthcare Have you wondered what an edge medical diagnosis architecture might look like when you want to create a scaleable #opensource solutions? Here\u2019s a peak at the logical view, but you can explore all the diagrams.
"},{"location":"demos/#cloud-native-development-architectural-diagrams-demos","title":"Cloud Native Development Architectural Diagrams Demos","text":"
  • Cloud-native development is an approach to building and running applications to fully exploit the advantages of the cloud computing model (i.e. responsive, elastic and resilient applications).
  • Portfolio Architecture Workshops for creating impactful architectural diagrams. This workshop will teach you how to use, design, and create architectural diagrams based on the draw.io tooling and Red Hat Portfolio Architecture design elelements. You\u2019ll leverage existing portfolio architecture diagrams as starting points.
    • redhatdemocentral.gitlab.io/portfolio-architecture-tooling
    • gitlab.com: Project Examples
"},{"location":"demos/#openshift-demos","title":"OpenShift Demos","text":"
  • Getting Started with Data Wrangler in VS Code - (Related to visual-studio topic)

  • developers.redhat.com: Developing on OpenShift (katacoda interactive learning) \ud83c\udf1f Learn how to access an OpenShift cluster, manage apps with the odo command-line tool, then try image and source-based deployment techniques.

  • github.com/OpenShiftDemos \ud83c\udf1f
  • DockerHub OpenShift Demos
  • Red Hat Tutorials & Examples: github.com/redhat-developer-demos \ud83c\udf1f
  • redhatgov.io RedHatGov.io is an open source collection of workshop materials that cover various topics relating to Red Hat\u2019s product portfolio.
  • blog.openshift.com: OCP multi-node deployment on AWS using CloudFormation and Ansible (quickstart workshop)
  • Deploying Docker Images to OpenShift We take a look at how to deploy a Docker image from DockerHub into RedHat\u2019s OpenShift environment, bringing added functionality along the way.
  • SonarQube: An OpenShift-focused Docker build of Sonarqube
  • Deploying PostgreSQL in MiniShift/OpenShift 3
  • Clustering WildFly on Openshift
  • Java EE example on Openshift
  • Microprofile example on Openshift
  • Deploying WildFly apps on Openshift
  • Running Thorntail apps on Openshift
  • Running Spring Boot applications on Openshift
  • github.com/openshiftdemos \ud83c\udf1f
  • github.com/openshift-labs \ud83c\udf1f
  • MapIt MapIt is a geo-spatial Spring Boot app which shows the location of AirPorts on the Map using Leaflet.
  • openshift.com: Simple Canary Deployments using Kubernetes StatefulSets on OpenShift
  • github.com/jbossdemocentral: Red Hat Process Automation Manager Mortgage Demo
  • medium: Tutorial : Secure your API with x509 Mutual Authentication with Spring Boot on OpenShift4
  • medium.com: Red Hat OpenShift Virtualization in nested VMware vSphere Cluster In this post, I\u2019ll go thru the process of running Virtual Machines on OpenShift Virtualization in a nested setup inside VMware vSphere. This requires both ESXi hosts and a VCenter, both on 6.7U3 or up.
  • schabell.org: CodeReady Containers - Building a Cloud-Native Human Resources Process
  • developers.redhat.com: Persistent storage in action: Understanding Red Hat OpenShift\u2019s persistent volume framework \ud83c\udf1f
  • opensource.com: Set up Minishift and run Jenkins on Linux Install, configure, and use Minishift to create your first pipeline.
  • Rcarrata\u2019s blog
  • JBoss Web Server Operator \ud83c\udf1f Did you know that you can run Tomcat in Containers on Kubernetes in a easy supported manner? Take a look at the JBoss Web Server (a.k.a. @RedHat \u2018s build of Tomcat) Operator for OpenShift
  • developers.redhat.com: Containerize and deploy Strapi CMS applications on Kubernetes and Red Hat OpenShift
  • developers.redhat.com: Build lean Java containers with the new Red Hat Universal Base Images OpenJDK runtime images \ud83c\udf1f
  • youtube: No YAML! Kubernetes done the easy way | DevNation Tech Talk
  • developers.redhat.com: New application samples in Red Hat OpenShift 4.8 Check out all of the new and updated samples that comes with OpenShift 4.8. Try any or all of these samples within minutes of downloading your free openshift cluster.
  • developers.redhat.com: Build and store universal application images on OpenShift (with Buildah)
  • piotrminkowski.com: Serverless Java Functions on OpenShift
"},{"location":"demos/#developer-sandbox","title":"Developer Sandbox","text":"
  • Developer Sandbox for Red Hat OpenShift \ud83c\udf1f 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: How to deploy a Java application on Kubernetes in minutes Move your legacy Java application into a container and deploy it to Kubernetes. The Developer Sandbox for Red Hat OpenShift is a free OpenShift cluster that gives you access to the cutting-edge technologies built on Kubernetes. A quick sign-up gets you a cluster and access to a set of developer tools and services. Move this Spring Pet Clinic example application into a container using the Source-to-Image (s2i) feature.
  • developers.redhat.com: Welcome to the Developer Sandbox for Red Hat OpenShift. Part 1: Deploying full-stack JavaScript applications to the Developer Sandbox for Red Hat OpenShift
"},{"location":"demos/#openshift-vs-kubernetes","title":"OpenShift VS Kubernetes","text":"
  • developer.ibm.com: Example exercises to differentiate OpenShift and Kubernetes Example exercises to differentiate OpenShift and Kubernetes. Walk through some steps with Red Hat OpenShift on IBM Cloud.
"},{"location":"demos/#ibm-cloud-pak-playbooks-and-gitops","title":"IBM Cloud Pak Playbooks and GitOps","text":"
  • IBM Cloud Pak Playbook
  • cloud-native-toolkit/multi-tenancy-gitops \ud83c\udf1f 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.
"},{"location":"demos/#knative","title":"Knative","text":"
  • knative-tutorial A pratical guide to get started with knative. Knative concepts are explained simple and easy way with lots of demos and exercises.
  • aymen-segni.com: Deploying Serverless Services on Kubernetes using Knative
"},{"location":"demos/#openshift-pipelines-workshop-tekton","title":"OpenShift Pipelines Workshop (Tekton)","text":"
  • Build a Go application using OpenShift Pipelines
    • openshift-pipelines-workshop Workshop to demonstrate OpenShift Pipelines (featuring Tekton)
  • OpenShift Pipelines Catalog
  • systemcraftsman/lab-tekton-pipelines: OpenShift Pipelines workshop
  • openshift.com: GitOps Using Red Hat OpenShift Pipelines (Tekton) and Red Hat Advanced Cluster Management
  • Set up continuous integration for .NET Core with OpenShift Pipelines
  • alesnosek.com: CI/CD Pipeline Spanning Multiple OpenShift Clusters (jenkins & tekton)
  • openshift.com: Guide to OpenShift Pipelines Part 1 - Introducing OpenShift Pipelines
  • kailashyogeshwar.medium.com: How we implemented Reusable CI/CD Pipeline using Git and Tekton
  • openshift.com: GitOps Using Red Hat OpenShift Pipelines (Tekton) and Red Hat Advanced Cluster Management to Deploy on Multiple Clusters \ud83c\udf1f
  • developers.redhat.com: Getting started with Tekton and Pipelines
  • developers.redhat.com: Bootstrap GitOps with Red Hat OpenShift Pipelines and kam CLI Generate a #GitOps repository using the kam CLI for simple GitOps adoption by bootstrapping Git repositories with opinionated layouts for continuous delivery.
  • dev.to: What is Knative Serving? A Friendly Guide In this article you will explore several benefits of Knative Serving:
    • Ease of deployment
    • Scale to zero
    • Traffic splitting
    • Rollbacks
    • Routes and access
"},{"location":"demos/#openshift-gitops-argocd","title":"OpenShift GitOps (ArgoCD)","text":"
  • docs.openshift.com: OpenShift GitOps
  • cloud.redhat.com: Virtual Machines as Code with OpenShift GitOps and OpenShift Virtualization
"},{"location":"demos/#argocd","title":"ArgoCD","text":"
  • rromannissen/rhoar-microservices-demo: GitOps for Microservices with Red Hat Runtimes demo A GitOps pipeline example using ArgoCD, tektoncd and HelmPack for springboot and QuarkusIO microservices.
  • developers.redhat.com: From code to production with OpenShift Pipelines and Argo CD
  • developers.redhat.com: Building modern CI/CD workflows for serverless applications with Red Hat OpenShift Pipelines and Argo CD, Part 1
    • developers.redhat.com: Building modern CI/CD workflows for serverless applications with Red Hat OpenShift Pipelines and Argo CD, Part 2
  • itnext.io: Deploy Argo CD with Ingress and TLS in Three Steps: No YAML Yak Shaving Required \ud83c\udf1f
    • Ambassador Edge Stack. K8S Initializer (scaffolding tool) \ud83c\udf1f
  • developers.redhat.com: Introduction to Tekton and Argo CD for multicluster development
  • itnext.io: Solving ArgoCD Secret Management with the argocd-vault-plugin \ud83c\udf1f
  • youtube: Exploring The Cloud-native Kubernetes CI/CD Pipeline Tool Landscape In this meetup, we explore the new era of Kubernetes continuous integration continuous deployment pipelines based on a set of fancy tools as Tekton Pipelines, ArgoCD or Helm. We walk through the new DevOps and GitOps technologies landscape and a real demonstration of how these tools work together in order to make developers and system administrators lives easier. repo1 , repo2 , slides
  • blog.argoproj.io: Introducing the ApplicationSet Controller for Argo CD
  • vzilla.co.uk: GitOps - Getting started with ArgoCD
  • openshift.com: SSO Integration for the OpenShift GitOps Operator This is a demo-heavy blog. Readers of this blog will get an idea about why SSO is important, how OpenShift handles authN/authZ and a step-by-step guide on using Red Hat Single Sign-On(RHSSO) to log in to an Argo CD application.
  • openshift.com: How to Use HashiCorp Vault and Argo CD for GitOps on OpenShift
  • blog.argoproj.io: Getting started with ApplicationSets
  • piotrminkowski.com: Kubernetes CI/CD with Tekton and ArgoCD \ud83c\udf1f
  • infracloud.io: Multicluster GitOps with ArgoCD
  • developers.redhat.com: Managing GitOps control planes for secure GitOps practices \ud83c\udf1f
  • opensource.com: Get started with Argo CD \ud83c\udf1f Argo CD is a simple pull-based GitOps deployment tool that syncs Kubernetes manifest files with a cluster for easy, no-nonsense deployments.
  • blog.argoproj.io: Getting started with ApplicationSets
  • blog.argoproj.io: Introducing the AppSource Controller for ArgoCD
  • piotrminkowski.com: Continuous Delivery on Kubernetes with Database using ArgoCD and Liquibase
  • medium.com/adaltas: GitOps in practice, deploy Kubernetes applications with ArgoCD
  • gokuldevops.medium.com: Argo CD-Sample app deployment Argo CD one of the most popular continues deployment tools used in Kubernetes. It is very simple to use and quite powerful. Personally, it is the first tool in my mind when I think of Kubernetes GitOps.
  • codefresh.io: Using Argo CD and Kustomize for ConfigMap Rollouts \ud83c\udf1f\ud83c\udf1f In this article, you will learn how to automatically rollout ConfigMap changes in your GitOps workflows using Argo CD and Kustomize.
  • medium.com/@martin.hodges: Spring Boot CI/CD on Kubernetes using Terraform, Ansible and GitHub: Part 12
  • mrcloudbook.com: Automating Tetris Deployments: DevSecOps with ArgoCD, Terraform, and Jenkins for Two Game Versions
  • mrcloudbook.com: GitOps: Deploying Tetris on EKS Using ArgoCD
"},{"location":"demos/#gitlab-pipelines-on-openshift","title":"GitLab Pipelines on OpenShift","text":"
  • openshift.com: Building GitLab Pipelines on OpenShift
"},{"location":"demos/#deploying-web-applications-with-eclipse-jkube-formerly-known-as-fabric8-maven-plugin","title":"Deploying Web Applications with Eclipse JKube (formerly known as Fabric8 Maven Plugin)","text":"
  • Building and Deploying a Weather Web Application onto Kubernetes/Red Hat OpenShift using Eclipse JKube
  • Java development on top of Kubernetes using Eclipse JKube
    • medium: Deploy Quarkus Todo List App to Kubernetes Using Eclipse JKube
  • youtube: Deploy your Java applications to the Cloud using Eclipse JKube (petclinic) \ud83c\udf1f
"},{"location":"demos/#monitoring-services-with-openshift-servicemesh","title":"Monitoring Services with OpenShift ServiceMesh","text":"
  • Monitoring Services like an SRE in OpenShift ServiceMesh
"},{"location":"demos/#red-hat-migration-toolkit-for-applications","title":"Red Hat Migration Toolkit for Applications","text":"
  • Migration Toolkit for Applications: Getting Started
  • Migration Toolkit for Applications Demo - June 2020 Migraiton Toolkit from Applications by Red Hat can help you migrate and/or modernize your applications by analyzing them and finding isses such as use of proprietary classes or behaviousr that are not conformant with 12factor app, in order to help you modernize your app portfolio and make it more cloud & container friendly.
"},{"location":"demos/#red-hat-advanced-cluster-management-rhacm-red-hats-hybrid-and-multi-cloud-platform","title":"Red Hat Advanced Cluster Management RHACM. Red Hat\u2019s Hybrid And Multi-Cloud Platform","text":"
  • openshift.com: Applications Here, Applications There! - Part 3 - Application Migration
  • Advanced Cluster Management Demos Want to manage Kubernetes clusters at scale? Struggle with Application Lifecycle? Need to ensure Security and Compliance policies across clusters? Check out these demos of Red Hat Advanced Cluster Manager (RHACM).
  • redhat.com: ACM Ansible Integration Overview
  • opensift.com: K8s Integrity Shield (tech-preview): Protecting the Integrity of Kubernetes Resources with Signature
  • cloud.redhat.com: How to Observe your Clusters with Red Hat Advanced Cluster Management - Customize the Grafana Dashboard
"},{"location":"demos/#okd","title":"OKD","text":"
  • medium.com: Installing an OKD 4.5 Cluster
    • itnext.io: Guide: Installing an OKD 4.5 Cluster
  • openshift.com: Recap: OKD 4 Testing and Deployment Workshop - Videos and Additional Resources
"},{"location":"demos/#helm-demos","title":"Helm demos","text":"
  • wkrzywiec.medium.com: How to deploy application on Kubernetes with Helm In this blog post I present step-by-step how to deploy multiple applications on Kubernetes cluster using Helm.
  • josephrodriguezg.medium.com: Deploying a Spring Boot microservice in Kubernetes using Helm charts
"},{"location":"demos/#writing-kubernetes-operators","title":"Writing Kubernetes Operators","text":"
  • developers.redhat.com: \u2018Hello, World\u2019 tutorial with Kubernetes Operators
"},{"location":"demos/#customized-reports-with-metering-operator-monitoring-k8s-resources","title":"Customized Reports with Metering Operator (monitoring k8s resources)","text":"
  • Writing Customized Reports Using Metering Operator
"},{"location":"demos/#red-hat-amq-streams-kafka","title":"Red Hat AMQ Streams (Kafka)","text":"
  • developers.redhat.com: HTTP-based Kafka messaging with Red Hat AMQ Streams
  • developers.redhat.com: Message broker integration made simple with Red Hat Fuse This article presents a sample integration between Red Hat AMQ 7 and IBM MQ, using Red Hat Fuse 7 for the integration. Traditionally, developers have used resource adapters for message bridging with external systems. A resource adapter is a system library that provides connectivity to an enterprise information system (EIS). Similar to how a Java Database Connectivity (JDBC) driver provides connectivity to a database management system, a resource adapter plugs into an application server such as Red Hat JBoss Enterprise Application Platform (JBoss EAP). It then connects the application server, enterprise information system, and the enterprise application.
"},{"location":"demos/#openshift-ai","title":"OpenShift AI","text":"
  • OpenShift AI Examples A repository containing deployments of popular open source generative AI projects including Open-WebUI, Ollama, and Stable Diffusion WebUI.
"},{"location":"demos/#jenkins-demos","title":"Jenkins Demos","text":"
  • bitbucket.org: setting up a cicd pipeline with spring mvc and kubernetes on aws
  • Medium.com - Simple Spring Boot microservice deployed in Kubernetes using Docker and Nexus \ud83c\udf1f:
    • Part 1
    • Part 2
  • kubernetes-advocate.medium.com: CI/CD with Dockers and Jenkins \ud83c\udf1f
  • medium.com/@devml2016: Let\u2019s Start Automation using Jenkins, Docker, GitHub
  • developers.redhat.com: An easier way to create custom Jenkins containers Create your own custom Jenkins container image by aggregating readily available containers in a pod template.
  • medium: Just commit your code and your docker server is ready (jenkins + github + docker)
  • lambdatest.com: Best Jenkins Pipeline Tutorial For Beginners (Examples) \ud83c\udf1f
  • ittroubleshooter.in: Run Parallel Builds in Kubernetes Cluster with Jenkins Pipeline \ud83c\udf1f
  • cloudogu/jenkinsfiles \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f This project contains examples for the Jenkins pipeline plugin, comparing both declarative and scripted syntax. The examples were developed while working on an article series called Coding Continuous Delivery published in Java aktuell. Both English translation and German original can be found on the Cloudogu Blog.
  • aws.amazon.com: Integrating Jenkins with AWS CodeArtifact to publish and consume Python artifacts
  • github.com/monodot/pipeline-library-demo \ud83c\udf1f Demonstrates how to use a Shared Library in Jenkins pipelines. This repository defines a single function, sayHello, which will echo a greeting.
  • piotrminkowski.com: Continuous Integration with Jenkins on Kubernetes \ud83c\udf1f
  • youtube: Simple DevOps Project | Publish Android APK to App Center | Beginner Pipeline
  • lambdatest.com: Comprehensive Guide To Jenkins Declarative Pipeline [With Examples] \ud83c\udf1f
  • medium: DevOps CI/CD Pipeline with Jenkins, Kubernetes & GitHub: Part 1 \ud83c\udf1f How to set up Jenkins and CI/CD pipelines using GitHub?
    • medium: Building CI/CD Pipeline with Jenkins, Kubernetes & GitHub: Part 2 \ud83c\udf1f How To Configure Jenkins To Build Your CI CD Pipeline?
  • developers.redhat.com: Deploy Helm charts with Jenkins CI/CD in Red Hat OpenShift 4 \ud83c\udf1f
  • devopscube.com: How to Setup Jenkins Build Agents on Kubernetes Cluster \ud83c\udf1f
  • medium: Deploy Docker Image To Kubernetes Cluster Using Jenkins \ud83c\udf1f This article explains the complete DevOps pipeline setup from creating project to deploying the Docker image to Kubernetes cluster using Jenkins.
  • igorzhivilo.com: How To Read Vault\u2019s Secrets from Jenkin\u2019s Declarative Pipeline \ud83c\udf1f [ARCHIVED]
  • simplilearn.com: What is CI/CD Pipeline and How to Implement it Using Jenkins?
  • youtube: CI CD Pipeline Using Jenkins | Continuous Integration and Deployment using Azure Devops | K21Academy
  • lambdatest.com: How To Create Jenkins Multibranch Pipeline \ud83c\udf1f
  • faun.pub: [DevOps] Create your first CI/CD pipeline!! A CI/CD pipeline is a series of steps that must be performed in order to deliver a new version of software.A CI/CD pipeline introduces monitoring and automation to improve the process of application development, particularly at the integration and testing phases, as well as during delivery and deployment. Although it is possible to manually execute each of the steps of a CI/CD pipeline, the true value of CI/CD pipelines is realized through automation.
  • lakshaws.medium.com: CI/CD Pipeline for Dockerized Applications Kubernetes is becoming de-facto standard for containerized applications and it is important to be aware and get yourself familiarized with of CI/CD Pipeline for Dockerized Applications. I have created the CI/CD Pipeline Using AWS, Jenkins and EKS as major components.
  • github.com/arun-gupta/docker-jenkins-pipeline: Docker + Java + Jenkins Pipeline Devops for Java EE
"},{"location":"demos/#jenkins-declarative-pipelines-with-openshift","title":"Jenkins Declarative Pipelines with OpenShift","text":"
  • github.com/openshift: Using Jenkins Declarative Pipelines with OpenShift \ud83c\udf1f
  • github.com/gnunn1/openshift-basic-pipeline
  • github.com/deweya/OpenShift-Jenkins-Lab
  • Red Hat CodeReady Containers (Minishift equivalent for OpenShift 4.2 or newer) - step-by-step demo guides
  • Grading Pipeline for OpenShift 4 Advanced Application Deployment Homework Assignment
  • github - Demostration of a basic OpenShift CI/CD pipeline deploying an application in Development then Test
"},{"location":"demos/#openshift-pipelines-with-s2i-and-jenkins-blue-ocean","title":"OpenShift Pipelines with S2i and Jenkins Blue Ocean","text":"
  • OpenShift Pipelines with Jenkins Blue Ocean \ud83c\udf1f
  • github.com/siamaksade/jenkins-blueocean Jenkins Blue Ocean for OpenShift Jenkins S2I
"},{"location":"demos/#jenkins-configuration-as-code-on-kubernetes","title":"Jenkins Configuration as Code on Kubernetes","text":"
  • Demo of Jenkins Configuration-As-Code with Docker and Groovy Hook Scripts (java11-support branch) \ud83c\udf1f\ud83c\udf1f
  • Configuration as Code of Jenkins (for Kubernetes) \ud83c\udf1f\ud83c\udf1f
  • Jenkins Configuration as Code on Kubernetes \ud83c\udf1f A Codecentric/Jenkins Helm 3 Sample Chart on Digital Ocean Kubernetes with Spring Petclinic Demo Pipeline
"},{"location":"demos/#from-jenkins-freestyle-jobs-to-pipeline-with-jobdsl-seed-jobs","title":"From Jenkins Freestyle jobs to Pipeline, with JobDSL. Seed jobs","text":"
  • Meetup event: From Freestyle jobs to Pipeline, with JobDSL
    • Manually managing Jenkins jobs is painful. Jenkins Pipeline exists, but how do you get started and why should you bother in the first place? Journey with Nicolaj, as he talks about the pains of managing a manually configured job in Jenkins; converts a Freestyle Job to JobDSL, instantly; introduces mechanisms for adding the jobs to Jenkins, as code; and ultimately converts the job to a Jenkins Pipeline!
    • Just like last time, in the talk \u201cConfiguration as Code of Jenkins (for Kubernetes),\u201d you\u2019ll see plenty of live demos and get to take home all the code and examples afterwards. Use it as the starting point for taking advantage of the Configuration as Code (CasC) that everyone is talking about, and hopefully it will save you a lot of headache in the future!
    • Agenda:
      • Manual Freestyle jobs, and why they hurt us
      • Introduction to JobDSL and adding JobDSL-jobs to Jenkins
      • From Freestyle Jobs to JobDSL, the beginning of our CasC adventure
      • From JobDSL to Pipeline, all the fun of CasC; with even more resilience!
    • Nicolaj Gr\u00e6sholt is a Continuous Delivery and DevOps Consultant and Trainer from Eficode Praqma. He helps organizations with all things CI/CD, Artifact Management, Git, Docker and Kubernetes, and he\u2019s a Certified Kubernetes Administrator of CNCF.
    • Slides \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
    • Demo repository \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
  • Links of interest provided in the event:
    • Continuation Passing Style (CPS) is a style of programming in which the remainder of the program is passed explicitly as a parameter, as opposed to that being handled implicitly represented as call stack.
      • Jenkins Pipeline execution engine based on Continuation Passing Style (CPS) transformation of Groovy scripts. DSL Methods::
        • cps: WorkflowDefinitionContext
        • cpsScm: WorkflowDefinitionContext
      • Defines a Groovy CPS DSL definition: pipelineJob definition cps script
    • Jenkins CLI
    • How to create initial \u201cseed\u201d job
    • Jenkinsfile Runner Test Framework
    • Jenkins Pipeline Unit testing framework
    • Plugin Installation Manager Tool
    • Jenkins Custom WAR Packager
    • Jenkins Configuration as Code:
      • Configuration as Code of Jenkins (for Kubernetes) \ud83c\udf1f
      • JEP-224: System Read permission: Improve experience of Jenkins Configuration-as-Code users It improves the modifying Web UI configuration controls to support the read-only mode.
    • Plugins:
      • Plugin Usage This plugin gives you the possibility to analyze the usage of your installed plugins.
      • Pipeline as YAML (Incubated) \ud83c\udf1f
      • Jenkins Job DSL Plugin A Groovy DSL for Jenkins Jobs - Sweeeeet!
      • Least Load This plugin overrides the default Load Balancer behavior and assigns jobs to nodes with the least load
      • Declarative Pipeline Migration Assistant
    • Jenkins Job DSL:
      • Jenkins Job DSL API \ud83c\udf1f
        • mavenJob
      • Example of a pipeline with parameters
    • Pipeline Global Library for ci.jenkins.io Collection of custom steps and variables for our Jenkins instance(s)
Video: From Freestyle jobs to Pipeline, with JobDSL. Click to expand!"},{"location":"demos/#jenkins-and-github","title":"Jenkins and GitHub","text":"
  • towardsdatascience.com: Create your first CI/CD pipeline with Jenkins and GitHub A guide to create and deploy a freestyle Jenkins project
"},{"location":"demos/#jenkins-and-aws-kubernetes","title":"Jenkins and AWS Kubernetes","text":"
  • youtube: How to set up AWS Kubernetes Jenkins pipeline Java Spring boot, terraform, helm chart, pipeline, destroy RDS.
"},{"location":"demos/#sdkman","title":"SDKMAN","text":"
  • SdkMan is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems. It provides a convenient Command Line Interface (CLI) and API for installing, switching, removing and listing Candidates. Formerly known as GVM the Groovy enVironment Manager, it was inspired by the very useful RVM and rbenv tools, used at large by the Ruby community.
  • Using Jenkins Pipeline parallel stages to build Maven project with different JDKs
  • Demo: A single Jenkinsfile, a Java Maven project, a single Dockerfile, multiple Java versions build and tested in parallel thanks to SDKMAN:
    • Using SDKMAN! as a docker image for Jenkins Pipeline - a step by step guide \ud83c\udf1f
    • Multiple Java versions in a single Jenkins Pipeline using Docker and SDKMAN \ud83c\udf1f In this video, I show you how you can use Jenkins Declarative Pipeline to create a build pipeline that compiles the Maven Java project using three different Java versions (8, 11, and 15.) You will learn how to use a matrix section of the Jenkins Pipeline to define parallel stages, as well as how to create a Docker image that provides both Java and Maven using the powerful SDKMAN command-line tool. After watching this video you should feel comfortable with setting up multiple parallel stages to build your Java project using different versions of the compiler. And what is most important - it does not require creating Dockerfiles for each Java version. I will show you how to build the pipeline using just a single Dockerfile that does the job.
    • Jenkins Pipeline Maven build demo
Video: Jenkins Pipeline with multiple Java versions. Click to expand!"},{"location":"demos/#jenkins-scripts","title":"Jenkins Scripts","text":"
  • cleanup.Jenkinsfile: Jenkinsfile with Declarative Pipeline Multiline sh that cleanups old builds. All the Stages are now visually monitored. It is triggered every saturday night and ends with jenkins restart. These Multi-line bash commands make easier to read Jenkins Projects.
  • daily_restart.Jenkinsfile: A script that automatically triggers a daily restart of Jenkins due to performance issues (Jenkins is a Java application). Jenkins with Declarative Pipeline multiline sh that restarts Jenkins every night except on Saturday nights (when cleanup.Jenkinsfile is triggered).
  • confluence6-docker-build.Jenkinsfile: Declarative Jenkinsfile for building and uploading a docker image to Openshift-DEV, Dockerhub and Openshift-PROD (Stages are disabled via Conditional Build Steps). Tip: A Docker Plugin for Jenkins can easily replace this Jenkinsfile.

Grab them from here: awesome-kubernetes/scripts

"},{"location":"demos/#postman-newman-api-automated-tests","title":"Postman & Newman API Automated Tests","text":"
  • LerryAlexander: Postman + Newman API Automated Tests running on a Jenkins Pipeline \ud83c\udf1f
  • praveendavidmathew.medium.com: Data driven testing per request without using data file
  • freecodecamp.org: Master API Testing with Postman
"},{"location":"demos/#monitoring-jenkins-with-grafana","title":"Monitoring Jenkins with Grafana","text":"
  • Mostrando resultados de Jenkins en Grafana mediante InfluxDB \ud83c\udf1f
"},{"location":"demos/#jenkins-x","title":"Jenkins X","text":"
  • blog.testproject.io: Jenkins X Cloud Native CI/CD with TestProject
  • Modernize Your CI/CD Pipeline Using Jenkins X with Amazon EKS
"},{"location":"demos/#spinnaker","title":"Spinnaker","text":"
  • Demo/Evaluation Installations
  • wardviaene/advanced-kubernetes-course/spinnaker \ud83c\udf1f
  • imperialwicket/spinnaker-demo
  • codeburst.io: Spinnaker by Example: Part 1
  • codeburst.io: Spinnaker by Example: Part 2
  • codeburst.io: Spinnaker by Example: Part 3
  • dzone: Continuous Deployment on Kubernetes With Spinnaker In this article, learn how to setup Spinnaker and integrate it with Gitlab CI and Jenkins to build and run CI and CD pipelines.
  • armory.io: How to Set Up Liquibase in Spinnaker
  • armory.io: Build a Deployment Pipeline with Spinnaker on Kubernetes
  • hackernoon: Using Spinnaker with Kubernetes for CI/CD
  • amazon.com: Declarative provisioning of AWS resources with Spinnaker and Crossplane
  • armory.io: Git Pull Support in Spinnaker
"},{"location":"demos/#nexus3-on-kubernetes","title":"Nexus3 on Kubernetes","text":"
  • Proof of Concept: Nexus3 Chart configuration on Kubernetes A choerodon/nexus3 Helm 3 Sample Chart on Digital Ocean Kubernetes
"},{"location":"demos/#gitlab","title":"GitLab","text":"
  • piotrminkowski.com: GitLab CI/CD on Kubernetes
  • about.gitlab.com: The basics of CI: How to run jobs sequentially, in parallel, or out of order New to continuous integration? Learn how to build your first CI pipeline with GitLab.
  • about.gitlab.com: GitOps with GitLab: Connect with a Kubernetes cluster
  • medium.com/@kachidude007: Setting up an Access Token in GitLab for a Jenkins Pipeline Navigate to your GitLab Personal Token Page
"},{"location":"demos/#spring-petclinic-sample-application","title":"Spring PetClinic Sample Application","text":"
  • spring-petclinic.github.io
    • spring-petclinic.github.io Docs
  • github.com/spring-projects/spring-petclinic
    • gitlab.beuth-hochschule.de
    • gitlab.comquent.de: Microservices branch
  • deors/deors-demos-petclinic jenkinsfile
  • liatrio.com: building with docker using jenkins pipelines
  • stackoverflow: How to define BuildConfig object with Jenkins and openshift
  • cloudogu.com: CD with Jenkins, Nexus and cloudogu
  • experfy.com e-learning: Effective Jenkins - Continuous Delivery and Continuous Integration
  • github.com/redhat-developer-demos/spring-petclinic \ud83c\udf1f
  • https://github.com/Azure-Samples/spring-petclinic-microservices
  • https://github.com/Azure-Samples/spring-petclinic-microservices-config
  • https://github.com/Azure-Samples/java-spring-petclinic
"},{"location":"demos/#modular-pipeline-library-mpl-petclinic-pipeline-example-with-mpl","title":"Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL","text":"
  • griddynamics/mpl
  • blog.griddynamics.com: Developing a modular pipeline library to improve DevOps collaboration
  • youtube: Modular Pipeline Library: 4. Petclinic Pipeline \ud83c\udf1f MPL demo video about more or less real petclinic pipeline with selenium tests, comparison to bare jenkinsfile pipeline without mpl, modules override mechanisms.
"},{"location":"demos/#petclinic-on-kubernetes","title":"PetClinic on Kubernetes","text":"
  • github.com/spring-petclinic/spring-petclinic-kubernetes \ud83c\udf1f
    • While waiting for a working version, you could check this fork
  • Spring PetClinic Microservices
    • Google Cloud Native Spring Boot PetClinic. Spring PetClinic Microservices on GCP \ud83c\udf1f Example Petclinic deployment on Google Cloud Platform into Google Kubernetes Engine with Istio. This is based on Spring PetClinic Microservices.
  • spring-petclinic-microservices renamed to spring-petclinic-cloud \ud83c\udf1f: https://github.com/spring-petclinic/spring-petclinic-cloud
  • Distributed version of Spring Petclinic built with Spring Cloud \ud83c\udf1f
  • github.com/paulczar/k8s-spring-petclinic
  • tech.paulcz.net/blog/spring-into-kubernetes-part-1
  • github.com/kohsuke/petclinic Jenkinsfile
  • pushbuildtestdeploy.com/jenkins-on-kubernetes-building-docker-images \ud83c\udf1f
"},{"location":"demos/#petclinic-docker-images","title":"PetClinic Docker images","text":"
  • ref 1
  • ref 2
  • ref 3
  • ref 4
  • ref 5 arey/springboot-petclinic
  • ref 6
  • ref 7
  • ref 8
  • ref 9 - I have a branch that adds Docker, Kubernetes and Knative into the mix - planning on submitting a PR at some point
"},{"location":"demos/#openshiftio-samples","title":"OpenShift.io Samples","text":"
  • OpenShift.io Samples \ud83c\udf1f\ud83c\udf1f
  • github.com/che-samples
"},{"location":"demos/#aws-samples-boilerplates","title":"AWS Samples (Boilerplates)","text":"
  • github.com/aws-samples \ud83c\udf1f
  • github.com/aws-samples/aws-auto-inventory: AWS Automated Inventory \ud83c\udf1f A command line tool that allows you to quickly and easily generate inventory reports of your AWS resources.
  • github.com/aws-samples/aws-waf-ops-dashboards In this repository, we share code for building infrastructure to collect, enrich, and visualize AWS Web Application Firewall logs. Implementing this project in your AWS account will allow you to view and filter the logs through Kibana dashboards below, as well as customize views and dashboards to your needs.
  • github.com/aws-samples/aws-customer-playbook-framework \ud83c\udf1f This repository provides sample templates for security playbooks against various scenarios when using Amazon Web Services.
  • aws-samples/serverless-java-frameworks-samples: Lambda demo with common Java application frameworks \ud83c\udf1f
  • github.com/miztiik/AWS-Demos
  • github.com/aws-samples/aws-training-demo
  • aws-samples/aws-network-hub-for-terraform: Network Hub Account with Terraform This repository demonstrates a scalable, segregated, secured AWS network for multi-account organizations. Using Transit Gateway to separate production, non-production and shared services traffic, it deploys an advanced AWS networking pattern using centralized ingress and egress behind Network Firewall, centralizes private VPC endpoints to share across all VPCs, and manages IP address allocation using Amazon VPC IPAM.
  • cyberciti.biz: How to create MySQL user and grant permissions in AWS RDS
  • stacksimplify.com: DevOps with AWS CodePipeline on AWS EKS
  • medium: Fetch Application Inventory using Systems Manager Get application inventory from each EC2 instance and store it in centralized account S3 bucket. To query the information from s3 bucket, we are integrating Glue, Athena (from another account).
  • youtube: Build a Music Sharing App with Amazon S3 and AWS Amplify
  • freecodecamp.org: How to Deploy a React App to Production Using Docker and NGINX with API Proxies
  • itnext.io: Hydrating a Data Lake using Log-based Change Data Capture (CDC) with Debezium, Apicurio, and Kafka Connect on AWS Import data from Amazon RDS into Amazon S3 using Amazon MSK, Apache Kafka Connect, Debezium, Apicurio Registry, and Amazon EKS
  • jfrog.com: 5 Steps to Hosting Your Application on Amazon Cloud Container Service
  • dzone.com: From Spring Boot Microservices to Lambda Functions \ud83c\udf1f\ud83c\udf1f Get your microservices where they need to be.
  • AdminTurnedDevOps/DevOps-The-Hard-Way-AWS This repository contains free labs for setting up an entire workflow and DevOps environment from a real-world perspective in AWS
  • medium.com/@adrianarba: CI/CD defined through terraform using AWS CodePipeline, AWS CodeCommit, and AWS CodeBuild
  • faun.pub: Using AWS Session Manager With Ansible To Execute Playbook On EC2 In this post, we\u2019ll see how we can use AWS Session Manager instead of SSH to connect to an EC2 instance and execute a playboook.
  • betterprogramming.pub: Build a Cloud-Native Multiprocessing Framework How to convert a local multiprocessing framework to the cloud
  • github.com/aws-samples: Guide to Resource Tagging Automation A Lambda function for Resource Tagging Automation
  • aws.plainenglish.io: Trigger, Function, Message | Brandi McCall Utilizing Amazon API Gateway to Invoke a Python AWS Lambda to Send a Message to Amazon SQS
  • towardsaws.com: Integrating Python, Amazon API Gateway, Lambda, SQS, and SNS Services | Brandi McCall
  • github.com/unitypark/aws-serverless-demos
    • github.com/unitypark: AWS Serverless Demos - cloudfront-http-api-cognito
"},{"location":"demos/#azure-samples","title":"Azure Samples","text":"
  • github.com/Azure-Samples \ud83c\udf1f Microsoft Azure code samples and examples in .NET, Java, Python, Node.js, PHP and Ruby
  • doylestowncoder.com: Building CI/CD Pipelines with Azure Data Factory: Part 1
    • doylestowncoder.com: Building CI/CD Pipelines with Azure Data Factory: Part 2
    • doylestowncoder.com: Building CI/CD Pipelines with Azure Data Factory: Part 3
  • github.com/microsoft: Contoso Traders - Cloud testing tools demo app The Contoso Traders app is a sample application showcasing Playwright, Azure Load Testing, Azure Chaos Studio.
"},{"location":"demos/#azure-devops-demos-azure-devops-pipelines","title":"Azure DevOps Demos. Azure DevOps Pipelines","text":"
  • Azure DevOps Demo Generator \ud83c\udf1f Azure DevOps Demo Generator helps you create projects on your Azure DevOps Organization with pre-populated sample content that includes source code, work items, iterations, service endpoints, build and release definitions based on a template you choose. The purpose of this system is to simplify working with the Azure Devops hands-on-labs \ud83c\udf1f, demos and other education material provided by the Microsoft Azure Marketing team.
  • Azure DevOps Demo Generator is now open source
  • Get started creating and populating demo Azure DevOps Services projects
  • reddit.com: Automate Infrastructure Deployments on Microsoft Azure with Terraform and Jenkins
  • docs.microsoft.com: Deploy Spring microservices to Azure
  • davidsr.me: Deploy Azure WAF with Terraform and Azure DevOps
  • thomasthornton.cloud: A DevOps journey using Azure DevOps - thomast1906/DevOps-Journey-Using-Azure-DevOps \ud83c\udf1f
  • lambdatest.com: How To Build a CI/CD Pipeline In Azure DevOps ?
  • medium.com/tea-networks: Kubernetes & CI/CD Pipeline
  • docs.microsoft.com: Create a build pipeline with Azure Pipelines
"},{"location":"demos/#azure-demos","title":"Azure Demos","text":"
  • blogs.sap.com: Cloud Integration with Commerce Azure Blob Storage using REST API \u2013 Part 1
  • blogs.sap.com: Cloud Integration with Commerce Azure Blob Storage using REST API \u2013 Part 2
"},{"location":"demos/#gcp-samples","title":"GCP Samples","text":"
  • github.com/GoogleCloudPlatform
  • github.com/GoogleCloudPlatform/cloud-code-samples
"},{"location":"demos/#google-devops-demos-custom-samples-and-cloud-code","title":"Google DevOps Demos. Custom Samples and Cloud Code","text":"
  • Terraform Automation Demo using Google Cloud Provider
  • cloud.google.com: Follow your org\u2019s app dev best practices with Cloud Code custom samples \ud83c\udf1f As an engineering leader, it can be difficult to disseminate best practices to developers in your organization. This is critical, however, as these best practices can be used as a starting point to accelerate the time-to-market for your team\u2019s ideas. Today, we are excited to introduce custom samples in Cloud Code, our family of IDE plugins, helping you easily distribute your best practices directly to your developers\u2019 environments. - youtube: Getting started with custom samples and Cloud Code
"},{"location":"demos/#gitops-with-anthos-config-management","title":"GitOps with Anthos Config Management","text":"
  • Tutorial: Connect Amazon EKS and Azure AKS Clusters with Google Anthos
  • Tutorial: GitOps in Multicluster Environments with Anthos Config Management
  • Tutorial: Deploy Anthos Apps from GCP Marketplace into Amazon EKS Cluster
"},{"location":"demos/#springboot-demos","title":"SpringBoot Demos","text":"
  • javatechonline.com: How To Deploy Spring Boot Application In Docker?
  • tanzu.vmware.com: Microservices with Spring Cloud Kubernetes Reference Architecture \ud83c\udf1f
  • Salaboy/From Monolith to K8s Workshop-style guide for rearchitecting a Java Monolith application to a Cloud Native architecture running in Kubernetes
  • dyser/kubernetes-intro
  • piomin/sample-spring-microservices-kubernetes: Microservices with Spring Boot and Spring Cloud on Kubernetes Demo Project - piotrminkowski.com \ud83c\udf1f sample spring boot application that uses some features provided by spring cloud kubernetes, spring cloud ribbon and zuul proxy deployed on Kubernetes
  • piomin/sample-spring-microservices-new: Microservices with Spring Cloud Advanced Demo Project I have just updated my sample microservices repository to the latest versions of SpringBoot (2.6.1), SpringCloud, and Java (17). The previously used versions were Java 8 and Spring Boot 2.0.6. Demo for Spring Boot 2 and Spring Cloud microservices with distributed configuration (Spring Cloud Config), service discovery (Eureka), API gateway (Spring Cloud Gateway, Zuul), Swagger2 API documentation, logs correlation using Spring Cloud Sleuth and many more.
"},{"location":"demos/#quarkus-demos","title":"Quarkus Demos","text":"
  • Develop and test a Quarkus client on Red Hat CodeReady Containers with Red Hat Data Grid 8.0
  • aytartana.wordpress.com: Migrating SpringBoot PetClinic REST to Quarkus
  • aalmiray/q-cli Sample Quarkus CLI application
  • piomin/sample-quarkus-serverless-kafka Demo illustrating how to run Quarkus application on Knative Eventing with Kafka and Funqy modules
  • piotrminkowski.com: Introduction to gRPC with Quarkus
"},{"location":"demos/#golang-demos","title":"Golang Demos","text":"
  • stefanprodan/podinfo Go microservice template for Kubernetes. Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes. Podinfo is used by CNCF projects like Flux and Flagger for end-to-end testing and workshops.
"},{"location":"demos/#kafka","title":"Kafka","text":"
  • medium: Setting up KafkaSource to send data and displayed with Knative event-display
  • dev.to: Go, Kafka and gRPC clean architecture CQRS microservices with Jaeger tracing
  • ably.com: Building a realtime ticket booking solution with Kafka, FastAPI, and Ably
  • itnext.io: Event-Driven Architectures with Kafka and Java Spring-Boot \u2014 Revision 1
  • codeopinion.com: Troubleshooting Kafka with 2000 Microservices
"},{"location":"demos/#apache-camel-activemq-event-driven-integration","title":"Apache Camel & ActiveMQ. Event driven integration","text":"
  • tomd.xyz: Event-driven integration on Kubernetes with Camel & KEDA
  • developers.redhat.com: Modernizing applications with Apache Camel, JavaScript, and Red Hat OpenShift
"},{"location":"demos/#codeless","title":"Codeless","text":"
  • github.com/kelseyhightower/nocode
"},{"location":"demos/#jboss-eap","title":"JBoss EAP","text":"
  • developers.redhat.com: Red Hat JBoss Enterprise Application Platform expansion pack (JBoss EAP XP) 1.0 released This version enables JBoss EAP developers to build Java microservices using Eclipse MicroProfile 3.3 APIs while continuing to also support Jakarta EE 8.
  • redhat.com: Getting started with JBoss Learn how to set up JBoss EAP and start using it to build, run, deploy, and manage enterprise Java applications.
"},{"location":"demos/#terraform","title":"Terraform","text":"
  • terraform.collabnix.com An Ultimate Terraform Hands-on Labs. Get access to 50+ tutorials around Terraform, Kubernetes & Cloud.
  • opensource.com: A guide to Terraform for Kubernetes beginners Learn how to make a Minikube cluster and deploy to it with Terraform.
  • medium: Install Istio on Azure Kubernetes cluster using Terraform
  • brennerm.github.io: Setting up an EKS cluster with IAM/IRSA integration
  • betterprogramming.pub: Create an Amazon EKS Fargate Cluster and Managed Node Group Using Terraform Serverless clusters and HashiCorp\u2019s Terraform on AWS
  • azapril.dev: Deploying a LogicApp with Terraform (Bonus: in an AzDO pipeline)
  • k21academy.com: Automate AWS Virtual Machine using Terraform \u2013 Creation Demo
  • fsgeorgee.medium.com: Growing out of Heroku to Terraform, Docker and AWS
  • StarpTech/k-andy This terraform module will install a High Availability K3s Cluster with Embedded DB in a private network on Hetzner Cloud.
  • adamtheautomator.com: How To Build a Database Instance with Terraform and AWS RDS
  • BishopFox/iam-vulnerable Use Terraform to create your own vulnerable by design AWS IAM privilege escalation playground. IAM Vulnerable uses the Terraform binary and your AWS credentials to deploy over 250 IAM resources into your selected AWS account. Within minutes, you can start learning how to identify and exploit vulnerable IAM configurations that allow for privilege escalation.
  • betterprogramming.pub: Automate and Configure Your RDS Database With Terraform \ud83c\udf1f Execute post-deployment scripts based on your needs
  • middlewareinventory.com: Terraform Create Multiple EC2 with different Configs \u2013 for_each and count together
  • the-tech-guy.in: Automating LAMP deployment using Terraform and Ansible
  • betterprogramming.pub: All Hail the Monolith \u2014 Celebrating the Verbosity of the Unified Architecture in Terraform
  • faun.pub: AWS ECS Blue/Green Deployment Setup Using Terraform
  • medium.com/@cyber-security: [DevOps] 01 - Example project with Terraform
  • aws.plainenglish.io: Creating a custom EC2 module using Terraform
  • medium.com/@zeloygabri: Deploying 2-Tier AWS Architecture using Terraform
  • christopher-lawshe.medium.com: Building infrastructure with Terraform: EC2, Jenkins, S3 and more
  • dev.to: Creating a Rest API with Infrastructure as Code (Terraform) & Serverless (Lambda + Python) - Part 2 CI/CD
  • towardsaws.com: How to Deploy Two-Tier AWS Architecture with Terraform?
  • blog.awsfundamentals.com: Using S3 with Terraform
  • devopscube.com/terraform-aws-rds Terraform AWS RDS Provisioning Tutorial
  • techcommunity.microsoft.com: Create an Azure OpenAI, LangChain, ChromaDB, and Chainlit Chat App in Container Apps using Terraform | Paolo Salvatori
  • mahira-technology.medium.com: Automating AWS CodePipeline Setup with Terraform: Streamline Your CI/CD Workflow
  • patrickkoch.dev: Terraform on Azure with GitHub Copilot - Creating a Kubernetes Cluster and a Container Registry
  • medium.com/@Tyler.Gallimore: Deploying Apache Web Server on AWS EC2 with Terraform and Docker
  • github.com/venkateshk111/terraform-beginners-guide \ud83c\udf1f
  • https://github.com/chenjd/terraform-101 \ud83c\udf1f This repository contains a series of examples and exercises designed to help you get started with Terraform. Whether you are a beginner or looking to refresh your skills, you will find valuable resources here to understand the basics of Terraform and its application in real-world scenarios.
"},{"location":"demos/#prometheus-and-grafana","title":"Prometheus and Grafana","text":"
  • docker-compose-tpg: Telegraf + Prometheus + Grafana Local Testing Environments Setup learning environment for Telegraf, Prometheus and Grafana with docker-compose. (include SNMP simulators).
  • grafana.com: How Istio, Tempo, and Loki speed up debugging for microservices
  • medium.com/geekculture: Monitoring your system with Docker + Grafana + Prometheus + Node
"},{"location":"demos/#github-actions","title":"GitHub Actions","text":"
  • linkedin: Test Automation - How To Build a CI/CD Pipeline Using Pytest and GitHub Actions
  • github.com/major/imagebuilder-containerized Image Builder in Github Actions building a CentOS Stream image, uploading it to S3, and importing it into EC2 \u2013 all from within a CentOS Stream container.
  • docs.microsoft.com: Build and deploy applications to Azure by using GitHub Actions \ud83c\udf1f
  • itnext.io: Github: Github Actions overview and ArgoCD deployment example
  • debianmaster/actions-k3s Github action for spinning up local k3s instance and running kubectl commands
  • judebantony.github.io: DevSecOps with GitHub Action and SaaS Tools CICD Using GitHub Action and Harness
  • codeproject.com: Making a Simple Data Pipeline Part 4: CI/CD with GitHub Actions
  • levelup.gitconnected.com: GitOps: CI/CD using GitHub Actions and ArgoCD on Kubernetes Deploying Helm Charts on AWS EKS Cluster using ArgoCD and GitOps.
  • freecodecamp.org: How to Setup a CI/CD Pipeline with GitHub Actions and AWS
  • nicwortel.nl: Continuous deployment to Kubernetes with GitHub Actions In this article, you will learn how to use GitHub Actions to automatically test, build and deploy your Docker images to Kubernetes on every commit to the main branch
  • medium.com/geekculture: GitOps \u2014 Github Actions K8s Deploy Workflow
  • eggboy.medium.com: CI/CD Java apps securely to Azure Kubernetes Service with GitHub Action \u2014 Part 1
  • github.com/GitHubSecurityLab/actions-permissions: GitHub token permissions Monitor and Advisor actions GitHub token permissions Monitor and Advisor actions
  • thomasthornton.cloud: If, elseif or else in GitHub Actions
  • kaleshreya907.medium.com: GitHub Actions: Netflix Deployment
  • medium.com/@ebonyymonae: Github Actions and Automation
  • levelup.gitconnected.com: GitHub Actions, self-hosted runners on Amazon EKS & spot instances How to spin up ephemeral runners in Kubernetes.
  • medium.com/@eduardo854: Building Your GitOps Pipeline with GitHub Actions, DockerHub, and Helm Repository
  • dev.to/aws-builders: From Scratch: OIDC Providers
"},{"location":"demos/#redhat-github-actions","title":"RedHat GitHub Actions","text":"
  • redhat-actions/spring-petclinic
"},{"location":"demos/#red-hat-process-automation-manager","title":"Red Hat Process Automation Manager","text":"
  • gitlab.com: Red Hat Process Automation Manager - Signal Marketing Demo
"},{"location":"demos/#api-testing-and-postman","title":"API Testing and Postman","text":"
  • developers.redhat.com: Automated API testing for the KIE Server
  • github.com/microsoft/azure-digital-twins-postman-samples The repo contains a single postman_collection.json file that contains a postman collection of requests to the Azure Digital Twins APIs. Currently the focus of the collection is on on the data plan and includes Models, Query, and Twins.
"},{"location":"demos/#opentelemetry","title":"OpenTelemetry","text":"
  • blog.devgenius.io: Running the OpenTelemetry Demo App in Kubernetes
  • itnext.io: OpenTelemetry \u2014 Understanding SLI and SLO with OpenTelemetry Demo
  • devops.com: Measuring the Progress of the OpenTelemetry Project
"},{"location":"demos/#qr-codes","title":"QR Codes","text":"
  • hasura.io: A Simple, Realtime, Event Driven Architecture with QR Codes
"},{"location":"demos/#serverless","title":"Serverless","text":"
  • sitepoint.com: A Guide to Serverless Functions and How to Deploy Them
"},{"location":"demos/#labs","title":"Labs","text":"
  • learntocloud.guide: 3 ways to get hands on (AWS, Azure, GCP)
"},{"location":"devel-sites/","title":"Development & Frameworks. Websites for web developers","text":"
  1. Introduction
  2. Design Patterns
  3. Documentation Driven Development (DDD)
  4. Developer Tools
    1. Firebase
    2. Supabase Studio. An alternative to Firebase
    3. Ballerina
    4. Red Hat Software Collections and Red Hat Developer Toolset
    5. Dhall Configuration Language
    6. DDEV
    7. OCLIF
  5. AI Programming
  6. No code tools
  7. Images
  8. Tweets
"},{"location":"devel-sites/#introduction","title":"Introduction","text":"
  • https://public-apis.io A list of free Apis for developers.
  • https://drawkit.io Hand drawn illustrations.
  • https://happyhues.com Superb colors palettes.
  • https://svgporn.com High quality svg logos.
  • https://www.geeksforgeeks.org
  • https://opensource.apple.com \ud83c\udf1f
  • https://www.frontendmentor.io Improve your front-end coding skills by building real projects
  • El camino del Frontend Developer Recursos gratuitos para empezar a ser un Frontend Developer o ampliar conocimientos
  • python.plainenglish.io: 15 GitHub Repos That Every Developers Must Bookmark Right Now Everything from Command Line (Linux), Python, Java, JavaScript, web development, and many more.
  • dev.to: Top 3 sites for programmers
  • makeuseof.com: The 5 Best Open-Source Webinar Software
  • dzone.com: Software Engineering Best Practices That High-Performing Teams Follow
  • geeksforgeeks.org: 7 Most In-Demand and High Paying Programming Jobs
  • analyticsinsight.net: Top 10 programming languages to learn for better job opportunities in 2022
  • dev.to: \ud83d\ude8010 Trending projects on GitHub for web developers - 3rd December 2021
  • infoworld.com: Complexity is killing software developers The growing complexity of modern software systems is slowly killing software developers. How can you regain control, without losing out on the best these technologies have to offer?
  • techrepublic.com: The best programming languages to learn in 2022
  • https://suckless.org/philosophy software that sucks less
  • baeldung.com: Concurrency vs Parallelism
  • readwrite.com: Tech for Programmers in 2022: The Good, The Bad, and The Ugly
  • dev.to: 19 Valuable GitHub Repositories for Beginner Developers \ud83d\udcda\u2728
  • freecodecamp.org: Frontend VS Backend \u2013 What\u2019s the Difference?
  • betterprogramming.pub: How to Refactor a Codebase?
  • freecodecamp.org: What is a Full Stack Developer? 2022 Full Stack Engineer Guide Full stack developers are in high demand in today\u2019s job market. But what does \u201cfull stack\u201d actually mean, and what skills do you need to have? In this detailed guide, Dionysia explains what a full stack dev is, and what you should learn to become one.
  • dev.to: 10 best GitHub repos for developers
  • dev.to: 5 Books and Courses to Learn Object Oriented Programming in Depth
  • trio.dev: Angular vs React: Is Angular Dead?
  • freecodecamp.org: How to Start Learning to Code \u2013 Handbook for Beginners
"},{"location":"devel-sites/#design-patterns","title":"Design Patterns","text":"
  • refactoring.guru: Design Patterns
    • refactoring.guru: Design Patterns Java
    • refactoring.guru: Design Patterns Python
    • refactoring.guru: Design Patterns Go
    • etc
  • medium: 7 Best Java Design Pattern Books for Beginners and Experienced Programmers
  • shadman-jamil.medium.com: Most Useful Software Architecture Patterns
  • medium.com/@victor.ronin: Design your code for readability vs. writability
  • betterprogramming.pub: How SOLID Remains Solid \u2014 Software Principles vs. Patterns
"},{"location":"devel-sites/#documentation-driven-development-ddd","title":"Documentation Driven Development (DDD)","text":"
  • dev.to: A Better Way To Code: Documentation Driven Development
"},{"location":"devel-sites/#developer-tools","title":"Developer Tools","text":"
  • Build Your Own X - (Related to kubernetes-tutorials topic)
  • FreeLens - (Related to kubernetes-tools topic)
  • IntelliJ vs. VSCode for Rust Development - A discussion thread on the Rust programming language forum where users share their experiences and reasons for switching between IntelliJ IDEA and Visual Studio Code for their development workflow, particularly focusing on the perceived benefits and drawbacks of each IDE.

  • dev.to: 15 Developer Tools to Make You Super Productive

  • dev.to: 7 API Tools for REST Developers and Testers
"},{"location":"devel-sites/#firebase","title":"Firebase","text":"
  • firebase.google.com
"},{"location":"devel-sites/#supabase-studio-an-alternative-to-firebase","title":"Supabase Studio. An alternative to Firebase","text":"
  • supabase.com The Open Source Firebase Alternative. Create a backend in less than 2 minutes. Start your project with a Postgres Database, Authentication, instant APIs, Realtime subscriptions and Storage.
  • blog.logrocket.com: Working with Supabase Studio
"},{"location":"devel-sites/#ballerina","title":"Ballerina","text":"
  • infoq.com: Ballerina for Full-Stack Developers: A Guide to Creating Backend APIs
"},{"location":"devel-sites/#red-hat-software-collections-and-red-hat-developer-toolset","title":"Red Hat Software Collections and Red Hat Developer Toolset","text":"
  • softwarecollections.org Software Collections give you the power to build, install, and use multiple versions of software on the same system, without affecting system-wide installed packages.
  • developers.redhat.com: Red Hat Software Collections
  • developers.redhat.com: Red Hat Developer Toolset
  • developers.redhat.com: Red Hat Software Collections 3.8 and Red Hat Developer Toolset 11 now generally available
"},{"location":"devel-sites/#dhall-configuration-language","title":"Dhall Configuration Language","text":"
  • dhall-lang.org: Dhall Configuration Language - Dhall is a programmable configuration language that you can think of as: JSON + functions + types + imports
  • https://github.com/dhall-lang/dhall-kubernetes Typecheck, template and modularize your Kubernetes definitions with Dhall
"},{"location":"devel-sites/#ddev","title":"DDEV","text":"
  • ddev.com Meet your new local development environment. DDEV simplifies integrating the power and consistency of containerization into your workflows. Set up environments in minutes; switch contexts and projects quickly and easily; speed your time to deployment. We handle the complexity. You get on with the valuable part of your job.
  • opensource.com: 16 reasons DDEV will be your new favorite web development environment What\u2019s so different about DDEV? It\u2019s a container-based local web development environment. An open source tool for launching local PHP, Node.js, and HTML/JS development environments in minutes.
"},{"location":"devel-sites/#oclif","title":"OCLIF","text":"
  • oclif.io \ud83c\udf1f Build simple to advanced CLIs in minutes. oclif is an open source framework for building a command line interface (CLI) in Node.js. Create CLIs with a few flags or advanced CLIs that have subcommands. oclif makes it easy for you to build CLIs for your company, service, or your own development needs.
  • medium.com/@jdxcode: 12 Factor CLI Apps
"},{"location":"devel-sites/#ai-programming","title":"AI Programming","text":"
  • GitHub Copilot
  • Amazon CodeGuru Reviewer
  • Amazon CodeWhisperer Amazon CodeWhisperer is a machine learning (ML)\u2013powered service that helps improve developer productivity by generating code recommendations based on developers\u2019 comments in natural language and their code in the integrated development environment (IDE). During preview, CodeWhisperer is available for Java, JavaScript, and Python programming languages. The service integrates with multiple IDEs, including JetBrains (IntelliJ, PyCharm, and WebStorm), Visual Studio Code, AWS Cloud9, and the AWS Lambda console.
  • hipertextual.com: As\u00ed es Devin, la inteligencia artificial que programa software de principio a fin
"},{"location":"devel-sites/#no-code-tools","title":"No code tools","text":""},{"location":"devel-sites/#images","title":"Images","text":"Click to expand!"},{"location":"devel-sites/#tweets","title":"Tweets","text":"Click to expand!

10 Best Github repositories for all web developers:\ud83e\uddf5\ud83d\udc47\ud83c\udffb

\u2014 Sunil Kumar (@sunilc_) June 7, 2021

I'm a senior engineer, and I sometimes take a week or two to fix a bug.Sometimes the issue is a fix in only one line of code.Software systems are complex.If you are a beginner and struggling:It's fine! Take your time. You'll fix it. It's not you.

\u2014 Oliver Jumpertz (@oliverjumpertz) July 8, 2021

8 Awesome Generator Sites for Front-End Developers You May Not Know ExistedThread \ud83e\uddf5\ud83d\udc47

\u2014 Csaba Kissi \u26a1 (@csaba_kissi) July 23, 2021

5 great code snippet websites for every web developer and designer \ud83e\uddf5\ud83d\udc47\ud83c\udffb pic.twitter.com/rN41mIftMV

\u2014 Pratham (@Prathkum) July 30, 2021

What is WEB SCRAPING? \ud83e\udd37\u200d\u2642\ufe0fTo answer this question, I created a small web scraper for Amazon items.This is a thread that explains step by step how it works \ud83e\uddf5\ud83d\udc47(find the complete code at the end) pic.twitter.com/DWdkE8EAYh

\u2014 Marc Backes (@themarcba) August 6, 2021

Top 10 Programming Practices to Code Like a Pro\ud83d\ude0eA THREAD \ud83e\uddf5\ud83d\udc47

\u2014 Ayesha Sahar (@IAyeshaSahar) October 23, 2021

Just learned about the groupBy feature in #javascript. (currently stage 3)This sure looks handy! pic.twitter.com/msVSNistuN

\u2014 Cory House (@housecor) December 28, 2021

This #OpenSource project needs some contribution pic.twitter.com/TJZ0KqBSBK

\u2014 Amelia Warner (@facetimeJS) February 14, 2022

You are never too senior to write code. I only laugh at people who believe they are too good to write any code as a software engineer.

\u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) March 24, 2022

\ud83e\uddf5 The Ultimate TypeScript Thread \ud83e\uddf5Here's everything I've learned from leading TS dev teams and working on XState's core team.My goal is to turn you into a TypeScript wizard.And yes, this thread is EVERGREEN - I'll add at least 3 more tips a week \ud83d\ude80Let's get started.

\u2014 Matt Pocock (@mpocock1) April 1, 2022

100+ data structure algorithms problems1. Array - https://t.co/tXqrvpJO3S2. String - https://t.co/tXqrvpJO3S3. Binary tree - https://t.co/fsi40ENQRL4. Linked List - https://t.co/iuItMZrvTA5. Dynamic Programming - https://t.co/qYKjmZseXr6. Recursion - https://t.co/4R3eODO4iL pic.twitter.com/G8QLbYF2Y0

\u2014 javinpaul (@javinpaul) August 7, 2022

5 GitHub repositories will make you feel like an expert developer:

\u2014 Pratham (@Prathkum) October 22, 2022

Data structures and algorithms are important for any software developer.Sometimes loved, more often dreaded, but at the core of our craft.Here is an introduction to the most important data structures, including learning resources:

\u2014 Oliver Jumpertz (@oliverjumpertz) December 16, 2022"},{"location":"developerportals/","title":"API Marketplaces. API Management with API Gateways & Developer Portals","text":"
  1. Introduction
  2. HTTPs for Developers
  3. API Landscape and API Marketplaces
    1. API Marketplaces
    2. Rapid API Marketplace. Free Public \\& Open REST APIs
    3. Apis.guru Large Archive of Sample OpenAPI Descriptions
  4. API Managers with API Gateways \\& Developer Portals
    1. API Management vs API Gateway vs Developer Portals
    2. 3scale API Manager
    3. Google Apigee API Manager
    4. IBM API Connect
    5. WSO2 API Manager
    6. Kong API Manager
    7. Tyk API Manager
    8. Axway API Manager
    9. MuleSoft API Manager
    10. Gloo Federation API Gateway Management
    11. Backstage Developer Portal
    12. APISIX
    13. NGINX as an API Gateway
    14. Lura API Gateway (based on KrakenD)
    15. Spring Cloud Gateway
  5. Mobile Developer Portals
  6. Automotive
    1. Auto API
    2. Smartcar
    3. Others
  7. Banking
  8. Insurance
  9. Telecom
  10. Tweets
"},{"location":"developerportals/#introduction","title":"Introduction","text":"
  • Layering domains and microservices using API Gateways
  • blog.oliverjumpertz.dev: The 10 Most Valuable Lessons I Learned As A Developer
  • genbeta.com: 32.000 desarrolladores responden sobre plataformas y lenguajes de programaci\u00f3n: JavaScript, AWS, GitHub y Windows, los m\u00e1s usados
  • github.com/readme/guides: Functional Programming 101
  • medium.com/apache-apisix: 10 most common use cases of an API Gateway
  • siliconrepublic.com: 10 dev tools recommended by start-up founders
"},{"location":"developerportals/#https-for-developers","title":"HTTPs for Developers","text":"
  • howhttps.works
  • dev.to: HTTPS for Developers \ud83c\udf1f
"},{"location":"developerportals/#api-landscape-and-api-marketplaces","title":"API Landscape and API Marketplaces","text":"
  • Cursor AI Fundamentals Course - (Related to ai topic)
  • Extend your coding agent with .NET Skills - (Related to ai topic)
  • Claude 101: Free Guides to Master Claude - (Related to ai topic)
  • Public APIs Directory - (Related to api topic)

  • API Landscape

"},{"location":"developerportals/#api-marketplaces","title":"API Marketplaces","text":"
  • chakray.com: API Strategy. How to create an API Marketplace
  • API Marketplace vs API Gateway (What\u2019s the Difference?)
"},{"location":"developerportals/#rapid-api-marketplace-free-public-open-rest-apis","title":"Rapid API Marketplace. Free Public & Open REST APIs","text":"
  • Rapid API: Find and Connect to Thousands of APIs. RapidAPI is the world\u2019s largest API Marketplace, is used by over one million developers to find, test, and connect to thousands of APIs \u2014 all with a single account, API Key, and SDK.
  • dzone: RapidAPI Provides API Marketplace and Insight APIs are driving businesses and innovation.
"},{"location":"developerportals/#apisguru-large-archive-of-sample-openapi-descriptions","title":"Apis.guru Large Archive of Sample OpenAPI Descriptions","text":""},{"location":"developerportals/#api-managers-with-api-gateways-developer-portals","title":"API Managers with API Gateways & Developer Portals","text":"
  • GitHub for Beginners: Getting Started with OSS Contributions - (Related to git topic)
  • GitHub Copilot CLI for Beginners: Getting Started - (Related to ai topic)
  • Open Source Friday: Spec Kit - What it is, the problems it solves, and how clear specs make collaboration work - (Related to kubernetes-tutorials topic)
  • Using Workspaces for AI Changes Across Multiple Repos - (Related to ai topic)
  • Claude Code Best Practice - (Related to ai-agents-mcp topic)
  • Clean Architecture on Frontend - (Related to aws-architecture topic)
  • Best Practices for Using GitHub Copilot - (Related to ai topic)
  • Warp: The Agentic Development Environment - (Related to kubernetes-tools topic)
  • What is a GitHub Wiki and How Do You Use it? - This article explains what a GitHub Wiki is, its benefits for project documentation, and provides a step-by-step guide on how to enable, create, and locally clone a wiki for a GitHub repository. It highlights that wikis are integrated with GitHub repositories and primarily use Markdown for content creation.

  • moesif.com: How to choose the right API Gateway for your platform: Comparison of Kong, Tyk, Apigee, and alternatives

"},{"location":"developerportals/#api-management-vs-api-gateway-vs-developer-portals","title":"API Management vs API Gateway vs Developer Portals","text":"
  • An API gateway refers to the individual proxy server.
  • API management refers to the overall solution of managing APIs in production which includes a set of API gateways acting in a cluster, an administrative UI, and may even include additional items such as a developer portal for customers to sign up and generate new API keys.
  • API Management vs API Gateway: Where Does API Analytics and Monitoring Fit?
  • API Management vs API Gateway and where does API Analytics and Monitoring fit?
"},{"location":"developerportals/#3scale-api-manager","title":"3scale API Manager","text":"
  • 3scale API Manager
  • Red Hat 3scale API Management
  • Red Hat 3Scale API Management @Youtube
  • OpenShift Ecosystem: API Management on Red Hat OpenShift with 3scale
  • Adding API Gateway Policies Now Easier With Red Hat 3scale API Management
  • Install Red Hat 3scale and configure tenants with 7 simple commands
  • developers.redhat.com: New custom metrics and air gapped (restricted networks) installation in Red Hat 3scale API Management 2.9 The 3scale Operator now fully supports air gapped installation for 3scale API Management on OpenShift. Air gapped or restricted networks are isolated from the Internet and physically isolated from any other network. Secure environments such as government agencies and financial institutions typically require an air gapped installation for Red Hat Integration on OpenShift.
  • developers.redhat.com: Enhance application security by rotating 3scale access tokens
  • developers.redhat.com: How to expose a WebSocket endpoint using Red Hat 3scale API Management
  • developers.redhat.com: Simplify load balancing for API gateways using Red Hat 3scale API Management
"},{"location":"developerportals/#google-apigee-api-manager","title":"Google Apigee API Manager","text":"
  • Google Apigee API Manager Apigee is an API management platform for developing, analyzing, securing & scaling various APIs and apps. It provides API technology and services for a wide range of organizations and developers to stimulate the pace of digital business. Through API, Apigee assists businesses to securely share data and services across various channels/devices in order to enhance the customer experience. Companies can manage growth and spikes in API traffic with features like traffic isolation and independent scaling.
  • Apigee @Youtube
"},{"location":"developerportals/#ibm-api-connect","title":"IBM API Connect","text":"
  • IBM API Connect
"},{"location":"developerportals/#wso2-api-manager","title":"WSO2 API Manager","text":"
  • WSO2 @Youtube
  • chakray.com: Why API Lifecycle Management is a MUST for Your Organisation APIs
  • chakray.com: 11 Steps to achieving a successful API Management Strategy
  • chakray.com: Por qu\u00e9 API LIFECYCLE MANAGEMENT es imprescindible para la organizaci\u00f3n de APIs
  • chakray.com: 11 Pasos para lograr una estrategia API Management exitosa
"},{"location":"developerportals/#kong-api-manager","title":"Kong API Manager","text":"
  • Kong API Manager
  • Kong API Platform @Youtube
  • medium: Kong API Gateway - From Zero to Production Let\u2019s start by exploring the API gateway architecture pattern and then slowly deep dive into the details of running a production-grade Kong API gateway.
  • openshift.com: Modern Application Development With Kong Konnect Enterprise and Red Hat OpenShift
  • medium: KONG \u2014 The Microservice API Gateway
  • medium: Running services with Knative & Kong
  • dzone: Breaking Up a Monolithic Database with Kong If your microservice design results in a very large API or multiple services accessing a single database, check out why Kong Gateway should be part of your project.
  • konghq.com: Kong and Red Hat: Delivering Seamless Customer Experience
  • medium.com/@martin.hodges: Why do I need an API Gateway on a Kubernetes cluster In this article I introduce the concepts of an API Gateway and explain why you would need one in your Kubernetes cluster. In my next article I will show how to set one up using Kong.
"},{"location":"developerportals/#tyk-api-manager","title":"Tyk API Manager","text":"
  • Tyk API Manager
  • Tyk @Youtube
"},{"location":"developerportals/#axway-api-manager","title":"Axway API Manager","text":"
  • Axway API Management
  • Axway API Management @Youtube
  • axway.com/digitize
"},{"location":"developerportals/#mulesoft-api-manager","title":"MuleSoft API Manager","text":"
  • MuleSoft API Manager
  • MuleSoft @Youtube
"},{"location":"developerportals/#gloo-federation-api-gateway-management","title":"Gloo Federation API Gateway Management","text":"
  • Introducing Gloo Federation for Multi-Cluster API Gateway Management
  • solo.io: [Tutorial] Securing APIs with OIDC Using Keycloak In this tutorial, you will learn how to integrate the Gloo API gateway with Keycloack in Kubernetes
"},{"location":"developerportals/#backstage-developer-portal","title":"Backstage Developer Portal","text":"
  • Backstage Developer Portal: Spotify has now open-sourced Backstage (under Apache-2.0), the platform of platforms to create a great developer experience across hundreds of squads at Spotify
  • Backstage @Youtube
  • medium.com/@_gdantas: Backstage and Terraform \u2014 A Powerful Combination for Ops, Wonderful for Devs
  • piotrminkowski.com: Getting Started with Backstage
  • piotrminkowski.com: Backstage on Kubernetes
"},{"location":"developerportals/#apisix","title":"APISIX","text":"
  • apisix
  • thenewstack.io - APISIX: An Open Source API Gateway for Microservices
"},{"location":"developerportals/#nginx-as-an-api-gateway","title":"NGINX as an API Gateway","text":"
  • nginx.com: Deploying NGINX as an API Gateway, Part 1 \ud83c\udf1f
"},{"location":"developerportals/#lura-api-gateway-based-on-krakend","title":"Lura API Gateway (based on KrakenD)","text":"
  • Lura \ud83c\udf1f An extendable, simple and stateless high-performance API Gateway framework designed for both cloud-native and on-prem setups.
  • KrakenD: The fastest API gateway comes with true linear scalability \ud83c\udf1f KrakenD is a stateless, distributed, high-performance API Gateway that helps you effortlessly adopt microservices.
  • krakend.io: KrakenD framework becomes a Linux Foundation project KrakenD framework has been donated to the Linux Foundation and is now the \u201cLura Project.\u201d
"},{"location":"developerportals/#spring-cloud-gateway","title":"Spring Cloud Gateway","text":"
  • Spring Cloud Gateway
  • dzone: Custom Rate Limiting for Microservices \ud83c\udf1f Enforcing rate limits on microservices is a common requirement in the API economy. In this article, we are going to build a custom rate limiting solution.
  • cloudtechtwitter.com: Pattern: API Gateway / Backends for Frontends Spring Cloud Gateway provides a library to build an API Gateway. This is the preferred gateway implementation provided by Spring Cloud. It\u2019s built with Spring 5, Spring Boot 2, and Project Reactor. To understand the offerings of Spring Cloud Gateway we must understand the API Gateway pattern in detail.
  • medium.com/@jeevansathisocial: High-performance API gateway
"},{"location":"developerportals/#mobile-developer-portals","title":"Mobile Developer Portals","text":"
  • developer.mobileconnect.io
  • developer.android.com
  • developer.apple.com
"},{"location":"developerportals/#automotive","title":"Automotive","text":""},{"location":"developerportals/#auto-api","title":"Auto API","text":"
  • auto-api.dev
    • github.com/highmobility
  • high-mobility.com
    • REST Auto API Tutorial
  • High Mobility @Youtube
"},{"location":"developerportals/#smartcar","title":"Smartcar","text":"
  • smartcar.com
  • Smartcar API for BMW
"},{"location":"developerportals/#others","title":"Others","text":"
  • rapidapi.com/collection/car-api
  • BMW InnovationLab
"},{"location":"developerportals/#banking","title":"Banking","text":"
  • Wikipedia: Open Banking
  • Wikipedia: PSD2 - the Revised Payment Services Directive
    • berlin-group.org: PSD2 Access to Bank Accounts
  • openbankingtracker.com
  • Santander APIs
  • BBVA API Market
  • CaixaBank API Store
  • Deutsche Bank API Program
  • TSB API Developer Portal
  • ING Developer Portal
    • ING API Marketplace
  • Rabobank Developer Portal
    • Rabobank API Marketplace
  • Cecabank API Market
"},{"location":"developerportals/#insurance","title":"Insurance","text":"
  • Open Insurance
  • santalucia.es
"},{"location":"developerportals/#telecom","title":"Telecom","text":"
  • Telefonica Thinking Cities
"},{"location":"developerportals/#tweets","title":"Tweets","text":"
  • Programming with GitHub Copilot Agent Mode - (Related to ai topic)
Click to expand!

What is clean code?Clean code is the code if:- it is easily readable- it is easily extendable and maintainable- it is as simple as possible- it is cheap and risk-free to change- it reveals our intent- it has corresponding clean tests What else would you add?

\u2014 Daniel Moka\u26a1 (@dmokafa) January 24, 2021

5 things I've learned in 10 years as a developer:1. No one knows exactly what they are doing2. Anything can be learned with enough dedication3. Perception > reality4. Taking on the toughest problems pays dividends5. People like to make things sound complicated for their ego

\u2014 Nader Dabit (@dabit3) April 22, 2021

Deleting code matters! You can provide tons of value by deleting code!Deleting code such as:- removing duplication- removing redundant comments- removing unnecessary complexity- removing unused codeAlways keep in mind: The less the code, the less to maintain.

\u2014 Daniel Moka\u26a1 (@dmokafa) May 5, 2021

Top 8 Things I Learned as a Software Engineer (Developer)...A Thread... pic.twitter.com/P4AMGlzYA9

\u2014 Ankur\ud83d\udcbb\ud83c\udfa7\ud83d\udcaa (@TheAnkurTyagi) May 23, 2021

To be fullstack doesn't mean you know every part of the modern technology landscape. It means that you've made a decision to be open to picking up the parts you need as you need them.

\u2014 Chris Ford (@ctford) June 20, 2021

If you want to be successful in programming, open this:

\u2014 Nikki Siapno (@NikkiSiapno) November 1, 2022

Computer Networking For Developers \ud83e\uddf5Need to get into networking but all materials you find feel like they are written for bearded networking gurus?I've got a bunch of \"different\" articles for you! Written by a developer for fellow developers \ud83d\udc47 pic.twitter.com/HdgrG7yNys

\u2014 Ivan Velichko (@iximiuz) November 3, 2022

Do we need \"software architecture?\" Some thoughts that might help you in our busy software development world \ud83e\uddf5

\u2014 Markus Harrer (@feststelltaste) November 16, 2022"},{"location":"devops-tools/","title":"DevOps Tools aka Toolchain","text":"
  1. Introduction
  2. Keptn
  3. Relay
  4. Devtron. Tool integration platform for kubernetes
  5. Codegiant
  6. CapabilityPE (capipe)
"},{"location":"devops-tools/#introduction","title":"Introduction","text":"
  • IBM Vault 2.0 UI Enhancements and Reporting Improvements - (Related to ibm_cloud topic)
  • Cursor Bugbot Effort Levels Documentation - (Related to ai topic)
  • GitHub Copilot CLI for Beginners: Getting Started - (Related to ai topic)
  • Claude Code Templates - (Related to ai topic)
  • QuickRef.ME - Quick Reference Cheat Sheets - (Related to cheatsheets topic)
  • Awesome Sysadmin \ud83c\udf1f - A curated list of amazingly awesome Free and Open-Source sysadmin resources, covering software for automation, backups, cloud computing, configuration management, CI/CD, databases, and more.

  • These tools help you manage servers and deploy happier and more often with more confidence.

  • medium: Technologies & Tools to Watch in 2021 \ud83c\udf1f
  • DevOps Toolbox: Jenkins, Ansible, Chef, Puppet, Vagrant, & SaltStack
  • devopscube.com: Vagrant Tutorial For Beginners: Getting Started Guide \ud83c\udf1f
  • devops.com: 11 Open Source DevOps Tools We Love For 2021
  • youtube: Thetips4you \ud83c\udf1f
  • thenewstack.io: DevOps Is Fed by a Tools Culture Loop
  • dzone.com: DevOps Toolchain for Beginners \ud83c\udf1f DevOps toolchain plays a crucial role in automating and orchestrating DevOps capabilities to deliver software at the desired speed and quality.
  • gitkraken.com: DevOps Tools Report 2020 \ud83c\udf1f
  • guru99.com: 30 Best DevOps Tools & Technologies
  • raygun.com: The 10 best DevOps tools for 2020
  • hackr.io: Top 10 DevOps Tools To Look For in 2020
  • victorops.com: 20 Top DevOps Tools for 2020
  • techradar.com: techradar.com
  • geekflare.com: devops-tools
  • edureka.com: Top 10 DevOps Tools You Must Know In 2020
  • DevOps Tool Comparison: Docker Vs Kubernetes Vs Ansible
  • cloudtweaks.com: DevOps - Secure and Scalable CI/CD Pipeline with AWS
  • medium: DevOps tools Handbook \ud83c\udf1f
  • reviewnprep.com: DevOps Tool Primer: Docker, Kubernetes, Ansible
  • ASDF \ud83c\udf1f Manage multiple runtime versions with a single CLI tool
  • clarusway.com: Top 21 DevOps Tools Of 2021 (Comprehensive Guide)
  • zigiwave.medium.com: Top 10 Tools your DevOps Teams Should Use in 2022
  • faun.pub: Top 10 uncommon DevOps tools you should know
  • medium.com/leapp-cloud: Top 10 uncommon DevOps tools you should know
  • medium.com/4th-coffee: 10 New DevOps Tools to Watch in 2023 \ud83c\udf1f
  • medium.com/4th-coffee: 10 Best DevOps Tools for Start-ups
"},{"location":"devops-tools/#keptn","title":"Keptn","text":"
  • action-tmate: Debug GitHub Actions via SSH - (Related to cicd topic)

  • Keptn

"},{"location":"devops-tools/#relay","title":"Relay","text":"
  • Relay Event-driven automation that connects the cloud providers, DevOps tools, and other APIs you already use.
  • Automation tools can learn a lot from the CI/CD and Serverless ecosystems. Relay by PuppetLabs leverages Tekton and Knative in an attempt to do just that.
  • zdnet.com: Puppet introduces beta of cloud-native, event-driven DevOps program: Relay The open-source wants to expand DevOps to cover cloud and containers with its newest program.
"},{"location":"devops-tools/#devtron-tool-integration-platform-for-kubernetes","title":"Devtron. Tool integration platform for kubernetes","text":"
  • Using Workspaces for AI Changes Across Multiple Repos - (Related to ai topic)
  • Web-Check - (Related to kubernetes-tools topic)
  • Kubeterm: Graphical Management Tool for Kubernetes - (Related to kubernetes-tools topic)
  • Kiro: Engineering Rigor for Agentic Development - (Related to ai-agents-mcp topic)
  • SQL Studio: A Unified SQL Database Explorer - (Related to kubernetes-tools topic)
  • Canine: A Developer-friendly PaaS for Kubernetes - (Related to kubernetes-tools topic)
  • Azure DevOps MCP Server - (Related to azure topic)
  • DockSTARTer - (Related to docker topic)

  • Devtron is an Open Source End-to-End Software Delivery workflow for Kubernetes.

  • It leverages popular DevOps tools to provide a No-Code, Unified Heroku-like Experience for Kubernetes.
  • Integrations happen with existing Open-source systems like argocd, Argo workflow, Clair, hibernator, grafana, Prometheus, envoy, and many others and add capabilities on top of them to enable self serve for developers and DevOps.
  • blog.searce.com: Devtron: One-stop shop for all Kubernetes deployments
  • medium.com/cp-massive-programming: Deploying Devtron in a Local K8s Kind Cluster using Terraform Short Hands-On guide on how to deploy Devtron in a local Kubernetes cluster created with kind and Terraform
"},{"location":"devops-tools/#codegiant","title":"Codegiant","text":"
  • codegiant.io: Build software faster Codegiant is a DevSecOps platform with built-in best practices that enables your team to deliver faster.
"},{"location":"devops-tools/#capabilitype-capipe","title":"CapabilityPE (capipe)","text":"
  • github.com/AdminTurnedDevOps/CapabilityPE Platform Engineering capabilities and stacks installed with one command.
  • You know what\u2019s missing? An easy tool that just installs capibilities (ArgoCD, Datadog, KubeVirt, etc.) in an easy way. One command to do it all. A tool that easily gets whatever capabilities you want your kubernetes cluster to have deployed in production. Capipe, which stands for Capibility Platform Engineering, allows you to specify capabilities that you want to install within your Platform Engineering environment.

  • GitHub Copilot Now Explains Failed Actions Jobs (GA) - (Related to cicd topic)

  • KubeUI: A Desktop Kubernetes Client - (Related to kubernetes-tools topic)
  • PMEase QuickBuild - (Related to cicd topic)
"},{"location":"devops/","title":"DevOps","text":"
  1. Introduction to Digital Business Transformation
  2. Automation Glossary
  3. Blogs
  4. DevOps Books
  5. Podcasts
  6. Training
    1. Spanish
  7. Automation anxiety
  8. State of DevOps. Google\u2019s DevOps Research and Assessment (DORA)
  9. Configuration Drift
    1. Drift Detection Tools
  10. DevOps Docs
  11. DORA metrics
  12. DevOps Roadmap
  13. APIOps
  14. Multicloud
  15. Serverless DevOps
  16. DevOps as a Service (DaaS)
  17. IaC Infrastructure as Code
  18. Xebia Labs and DevOps
  19. DevOps Tools
  20. Netflix and DevOps
  21. Public Cloud DevOps
    1. AWS DevOps
    2. Azure DevOps
    3. Google Cloud Platform
  22. NoOps
  23. NetOps
  24. PlatformOps
  25. GPT 3 Tools
  26. Data as Code
  27. DevOps for SAP
  28. Youtube Playlists
  29. Platform Engineering and Internal Developer Platform
    1. IDP Tools
  30. Bunch of Images
  31. Slides
  32. Videos
  33. Tweets

Jimmy Sax \u00b7 Una Matina Jimmy Sax

"},{"location":"devops/#introduction-to-digital-business-transformation","title":"Introduction to Digital Business Transformation","text":"
  • The 12-Factor App: An Updated Guide - (Related to introduction topic)

  • enterprisersproject.com: DevOps: 5 things teams need from CIOs Consider these lessons learned as you strive to give DevOps teams what they need to succeed - from flexible technogy models to transparency.

  • redhat.com: Understanding DevOps DevOps is an approach to culture, automation, and platform design intended to deliver increased business value and responsiveness through rapid, high-quality service delivery. This is all made possible through fast-paced, iterative IT service delivery. DevOps means linking legacy apps with newer cloud-native apps and infrastructure.
  • redhat.com: El concepto de DevOps DevOps es un modo de abordar la cultura, la automatizaci\u00f3n y el dise\u00f1o de las plataformas para generar mayor valor empresarial y capacidad de respuesta, mediante la prestaci\u00f3n \u00e1gil de servicios de alta calidad. Todo ello es posible gracias a la prestaci\u00f3n r\u00e1pida y constante de servicios de TI. Para DevOps, se necesita vincular las aplicaciones heredadas con las aplicaciones creadas en la nube y las infraestructuras m\u00e1s nuevas.
  • medium: 6 key areas to improve your DevOps performance
  • redhat.com: Why IT automation training is a smart way to boost your career Make the path to automation more efficient with training that translates into immediate business impacts.
  • about.gitlab.com: Soft skills are the key to your DevOps career advancement
  • salesforceben.com: 5 DevOps Concepts You Need to Know
  • enterprisersproject.com: DevOps: 3 skills needed to support its future in the enterprise If you\u2019re aiming for continuous improvement with your DevOps effort, prioritize these skills. They\u2019re critical to helping teams conquer cultural and technology challenges
  • devblogs.microsoft.com: DevOps Dojo \u2013 Culture and Mindset
  • devops.com: The DevOps Journey: Continuous Mindset Starts With Cultural Change
  • dzone.com/trendreports/devops-3: DevOps CI/CD and Application Release Orchestration. With the need for companies to deliver capabilities faster, it has become increasingly clear that DevOps is a practice that many enterprises must adopt (if they haven\u2019t already). A strong CI/CD pipeline leads to a smoother release process, and a smoother release process decreases time to market. In DZone\u2019s \u201cDevOps: CI/CD and Application Release Orchestration\u201d Trend Report, we provide insight into how CI/CD has revolutionized automated testing, offer advice on why an SRE is important to CI/CD, explore the differences between managed and self-hosted CI/CD, and much more. The goal of this Trend Report is to offer guidance to our global audience of DevOps Engineers, Automation Architects, and all those in between on how to best adopt DevOps practices to help scale the productivity of their teams.
  • thenewstack.io: Automation Is No Silver Bullet: 3 Keys for Scaling Success
  • yourdevopsmentor.com: How to become a DevOps engineer \u2013 5 easy steps
  • devops.com: Why MTTR is a Vital Metric for DevOps Teams
  • umbrellainfocare.com: Cloud and DevOps are Made for Each Other
  • guru99.com: DevOps Lifecycle: Different Phases Explained with Examples \ud83c\udf1f
  • linkedin.com/pulse: Is DevOps just system administration repackaged?
  • devops.com: Home \u00bb Blogs \u00bb A DevOps Reset for a Multi-Cloud World
  • medium.com/@polatatc: Terraform; the most demanded DevOps skill!
  • dev.to: DevOps Trends for Developers in 2023 | Pavan Belagatti
  • abc.es: Ingenieros DevOps, la pieza clave del engranaje digital de las empresas \ud83c\udf1f Estos profesionales, que activan una sinergia eficaz entre las \u00e1reas tecnol\u00f3gicas y de producci\u00f3n, son un cotizado factor de competitividad
  • microsoft.com: DevOps threat matrix
  • devops.com: 11 Steps to a Successful DevOps Career
  • dev.to/aws-builders: How to get started with DevOps? What skills should we start with?
  • infoq.com: Dark Side of DevOps - the Price of Shifting Left and Ways to Make it Affordable
"},{"location":"devops/#automation-glossary","title":"Automation Glossary","text":"
  • Red Hat automation glossary \ud83c\udf1f
  • DZone: Defining Day-2 Operations Day-2 operations is where the system generates an outcome for the organization. Thus, continually seek improvements in day-2 operations, to maximize benefits.
"},{"location":"devops/#blogs","title":"Blogs","text":"
  • Announcing Azure MCP Server 2.0 Stable Release for Self-Hosted Agentic Cloud Automation - (Related to ai-agents-mcp topic)
  • 10 Real-World Kubernetes Troubleshooting Scenarios and Solutions - (Related to kubernetes-troubleshooting topic)

  • devops.com

  • devopscube.com
  • devopszone.info
  • devopsdigest.com
  • Top 15 DevOps blogs to read and follow
  • devopstips.net
  • devopslearners.com
  • orange-quarter.com: Upskill yourself with these 5 DevOps resources
    • dzone: DevOps
    • www.arresteddevops.com
    • devopsdays.org: Devopsdays Amsterdam
    • reddit.com/r/devops/
  • mrcloudbook.com: Mr Cloud Book
"},{"location":"devops/#devops-books","title":"DevOps Books","text":"
  • github.com/DevOps-Projects-Ideas/DevOps-Books \ud83c\udf1f\ud83c\udf1f
"},{"location":"devops/#podcasts","title":"Podcasts","text":"
  • deloitte.com: Culture change, not tech, is the secret to DevOps success (podcast) \ud83c\udf1f Doing DevOps right involves more than technology. It requires changing the organizational culture to build a joint-responsibility model based on outcomes and value. How companies implement that culture change will be critical in determining DevOps success.
  • bikeshed.fm: The Bike Shed
"},{"location":"devops/#training","title":"Training","text":"
  • Techworld with Nana: Learn DevOps topics easily
    • techworld-with-nana.com/devops-bootcamp
  • github.com/paragpallavsingh/90DaysOfDevOps: 90DaysOfDevOps Challenge This repository is a Challenge for the DevOps Community to get stronger in DevOps. This challenge starts on the 1st January 2023 and in the next 90 Days we promise ourselves to become better at DevOps. The reason for making this Public is so that others can learn from the community and help each other grow.
    • github.com/paragpallavsingh/90DaysOfDevOps: Day 21 Task: Docker Essential Concepts
"},{"location":"devops/#spanish","title":"Spanish","text":""},{"location":"devops/#automation-anxiety","title":"Automation anxiety","text":"
  • Sysadmins and engineers may have personal fears about adopting automation, as much of their typical day revolves around the manual tasks and processes that automation promises to eliminate. Automation anxiety is the fear that if these tasks can be handled by automated tools, there will no longer be any reason to keep a person in that role. Nobody likes being automated out of a job.
  • Automation anxiety is largely unfounded, however, as automating manual tasks frees up people\u2019s time that can instead be used to work on more innovative, more strategic and higher value projects.
"},{"location":"devops/#state-of-devops-googles-devops-research-and-assessment-dora","title":"State of DevOps. Google\u2019s DevOps Research and Assessment (DORA)","text":"
  • cloud.google.com: State of DevOps 2021 \ud83c\udf1f 2021 Accelerate State of DevOps report addresses burnout, team performance
  • itprotoday.com: Google DORA Report Details Best Practices to Speed DevOps The 2021 Accelerate State of DevOps report from Google Cloud\u2019s DORA group provides insight into the best practices of elite development teams. devops.com: summary 1 - dzone: summary 2
"},{"location":"devops/#configuration-drift","title":"Configuration Drift","text":"
  • Dzone: Configuration Drift \ud83c\udf1f Configuration Drift is the phenomenon where running servers in an infrastructure become more and more different as time goes on, due to manual ad-hoc changes and updates, and general entropy.
  • What is Configuration Drift? Configuration drift is a data center environment term. At a high level, configuration drift happens when production or primary hardware and software infrastructure configurations \u201cdrift\u201d or become different in some way from a recovery or secondary configuration or visa versa. Production or primary and recovery or secondary configurations are designed to be identical in certain aspects is order for business resumption should there be a disaster or major failure in production. When these infrastructure configurations drift from another, they leave a gap between them which commonly called a configuration gap.
  • thenewstack.io: Cloud Drift Detection: How to Resolve Out-of-State Changes
  • fairwinds.com: Configuration Drift in Kubernetes - What Is It and Why it Matters \ud83c\udf1f
"},{"location":"devops/#drift-detection-tools","title":"Drift Detection Tools","text":"
  • env0.com: Automated Drift Detection \ud83c\udf1f env0 is enabling the ability to automatically detect drift and make sure your real-world resources in the cloud provider are aligned with your Infrastructure as Code files. env0 will alert you once a drift has been detected and gives you the ability to view and fix the drift, which can help mitigate one of the main challenges when using Infrastructure as Code!
  • thenewstack.io: How Drift Detection and IaC Help Maintain a Secure Infrastructure
"},{"location":"devops/#devops-docs","title":"DevOps Docs","text":"
  • Kubernetes Troubleshooting Guide: Common Pitfalls and Solutions - (Related to kubernetes-troubleshooting topic)
  • Wikipedia: DevOps
    • Wikipedia: Twelve-Factor App methodology
    • Wikipedia: Infrastructure as code
    • Wikipedia: Lean software development
    • Wikipedia: Value stream
  • thenewstack.io: Kubernetes is the Accepted Platform for Cloud Native Computing
  • opensource.com: The case for making the transition from sysadmin to DevOps engineer \ud83c\udf1f There\u2019s a learning curve, but there\u2019s no time like the present to get started.
  • opensource.com: The case for making the transition from sysadmin to DevOps engineer There\u2019s a learning curve, but there\u2019s no time like the present to get started.
  • opensource.com: How to transition into a career as a DevOps engineer Whether you\u2019re a recent college graduate or a seasoned IT pro looking to advance your career, these tips can help you get hired as a DevOps engineer.
  • opensource.com: A beginner\u2019s guide to everything DevOps \ud83c\udf1f Take a fresh look at why DevOps is important, what it means for IT professionals, and its methods, frameworks, and tools.
  • How to get from DevOps to NoOps: 5 steps
  • Corporate culture complicates Kubernetes and container collaboration \ud83c\udf1f \u2018As the DevOps crew likes to say: containers won\u2019t fix your broken culture\u2019
  • mindtheproduct.com: The Product Managers\u2019 Guide to Continuous Delivery and DevOps \ud83c\udf1f
  • How to be a great DevOps Engineer \ud83c\udf1f
  • smartsheet.com: The Way of DevOps: A Primer on DevOps Principles and Practices
  • dzone: Are You Stuck in the New DevOps Matrix From Hell? \ud83c\udf1f See how Docker solved the matrix-from-hell problem, and how DevOps techniques can help avoid the config sprawl that comes with microservices.
  • opensource.com: 10 tips for maintaining a DevOps mindset for distributed teams You can do DevOps while working from home; it\u2019s all about the right approach.
  • stackoverflow.blog: The rise of the DevOps mindset \ud83c\udf1f
  • DevOps engineers: Common misconceptions about the role What qualities and skills define a future-ready DevOps engineer? Hint: It\u2019s about people, not code deployment.
  • DevOps for beginners: Where to start learning and focusing Where to start with DevOps? Let\u2019s explore how to get going with this cross-functional way of working that breaks down walls, improves speed of delivery, and increases experimentation.
  • contino.io: How to Make Enterprise Container Strategies That Last (Part One) \ud83c\udf1f
  • scaledagileframework.com: DevOps \ud83c\udf1f\ud83c\udf1f
  • containerjournal.com: How the Rise of Containers Will Drive DevOps
  • itprotoday.com: Is the DevOps Model Killing the Developer? In a Word, No The rise of the DevOps model means that app environments are moving faster and running on a larger scale than they did a decade ago.
  • blog.vmware.com: DevOps: Culture \u2013 Collaboration, Empowerment, Autonomy \ud83c\udf1f
  • enterprisersproject.com: 3 DevOps skills IT leaders need for the next normal
  • medium: How to Become a DevOps Engineer in 2020 (Tj Blogumas)
  • medium: How to Become a DevOps Engineer in 2020 (Shane Shown)
  • Digestible DevOps: The 7 DevOps Practices Breaking down DevOps into practical chunks for real-world implementation.
  • red-gate.com: Automated Production Deployments are Not the Key to DevOps Performance There\u2019s a myth about DevOps which is hard to shake free of: that \u201csuccess\u201d means fully automating your deployments from code check-in to production.
  • Hating code of others We struggle to appreciate the meaning and intent of other people\u2019s work because we fail to understand the deeply personal and subjective quality of software development.
  • BBVA - DevOps: qu\u00e9 es y c\u00f3mo mejorar los procesos gracias a esta estrategia
  • dzone: DevOps Guide: Implementing Four-Eyes Principle With Process Automation Tooling With great power comes great responsibility. More and more organisations are moving towards a DevOps based organisational model, putting more and more respon\u2026
  • cloudsavvyit.com: A Beginner\u2019s Introduction To DevOps Principles
  • learnsteps.com: DevOps Interview Question: How will you set up a CI/CD pipeline? \ud83c\udf1f
  • devops.com: Survey Surfaces High Reliance on DevOps to Build and Deploy APIs
  • computing.co.uk: CloudBees gets busy with security, visibility and control as DevOps evolves CEO Sacha Labourey: \u2018DevOps is a pretty good proxy for what needs to happen in any organisation\u2019
  • acloudguru.com: 5 Reasons to NOT Move to DevOps \ud83c\udf1f
  • forbes: Why No One Understands Agile, SCRUM & DevOps & Why Perfect Technology Abstractions Are Sure To Fail
  • github.blog: What is DevOps? A guide to common methods and misconceptions \ud83c\udf1f
  • thenewstack.io: From DevOps to DevApps \ud83c\udf1f
  • thenewstack.io: The Future of Ops Careers \ud83c\udf1f\ud83c\udf1f
  • cloudtweaks.com: DevOps - Secure & scalable CI/CD pipeline with AWS \ud83c\udf1f Devops is a union of software development and operations. It is a culture that the company imbibes in the agile development process.
  • devops.com: Survey Surfaces High Reliance on DevOps to Build and Deploy APIs
  • thenewstack.io: From DevOps to DevApps. Event-Driven Architecture \ud83c\udf1f
  • thenewstack.io: DevOps World: DevOps Moves to Resilient Collaboration
  • devopscurry.com: Key DevOps Principles to focus in 2021
  • medium: How to Become an DevOps Engineer in 2020 How to get started with a career in DevOps.
  • medium: How to Become a DevOps Engineer in 2020 Your guide to getting started in a career in DevOps.
  • cloudacademy.com: Blog / DevOpsDevOps: Why Is It Important to Decouple Deployment From Release?
  • infoq.com: Puppet Releases Its 2020 State of DevOps Report \ud83c\udf1f
  • informationweek.com: What\u2019s Holding DevOps Back? DevOps teams are at different stages of maturity. However, there are some common challenges they face along the way.
  • opensource.com: Create a DevOps culture with open source principles Now that more workforces are remote, DevOps teams can maximize their collaboration and productivity by following open source principles.
  • github.blog: How to make DevOps your competitive advantage
  • opensource.com: 3 critical DevOps concepts we explored in 2020 \ud83c\udf1f In 2020, Opensource.com\u2019s top DevOps articles focused on testing, software methodologies, and the most important part: the people.
  • sysadmin.prod.acquia-sites.com: 10 container guides for sysadmins Containers continue their quest to take over the world, and these 10 articles help you manage this technology.
  • devops.com: Unlocking Your DevOps Automation Mindset \ud83c\udf1f
  • devops.com: 7 Trends Influencing DevOps and DevSecOps Adoption
  • learnsteps.com: DevOps Interview Questions: How will you design your cloud VPC and subnets?
  • devops.com: DevOps for the Development and Delivery of High-Performance Applications
  • thenewstack.io: DevOps, DevApps and the Death of Infrastructure
  • dzone: 15 DevOps Trends to Expect in 2021 \ud83c\udf1f This is a round-up article where we collected opinions from 15 DevOps experts on what they think will be a trend in 2021 with context to DevOps.
  • devopscube.com: Become A DevOps Engineer in 2021: A Comprehensive Guide
  • devops.com: 6 Signs You\u2019re Doing DevOps Correctly
  • containerjournal.com: 9 Pillars of Engineering DevOps With Kubernetes
  • content.techgig.com: 5 Best DevOps practices for beginners
  • devops.com: 5 Steps to Successful DevOps Culture
  • cst-bg.net: 13 clues you are doing DevOps right \ud83c\udf1f
  • medium.com: DevOps, Observability, and the need to tear down organizational boundaries \ud83c\udf1f
  • softwebsolutions.com: DevOps and Microservices \u2013 Creating change together
  • thenewstack.io: 5 Cloud Automation Tips for Developers and DevOps
  • containerjournal.com: Kubernetes Enables DevOps-as-a-Service (DaaS) \ud83c\udf1f
  • thenewstack.io: Maximizing the Value of Containerization for DevOps
  • opensource.com: A DevOps guide to documentation Bring your documentation writing into the DevOps lifecycle.
  • infoq.com: DevOps is Not Enough for Scaling and Evolving Tech-Driven Organizations: a Q&A with Eduardo da Silva
  • infoworld.com: 5 devops practices to improve application reliability
  • devops.com: Languages and DevOps: Recommendations
  • devops.com: Survey Shows Mounting DevOps Frustration and Costs
  • youtube: The best DevOps tools, frameworks, and platforms in 2021 \ud83c\udf1f
  • devops.com: DevOps Trends to Watch in 2021 \ud83c\udf1f
  • itproportal.com: How to implement DevOps successfully in 2021 \ud83c\udf1f The question isn\u2019t whether or not companies should adopt DevOps, but how to successfully.
  • devops.com: Nine Pillars of DevOps Best Practices
  • medium: Digital Transformation for Modern Enterprises Through DevOps \u2014 A Complete Guide
  • weblineindia.com: DevOps Automation \u2013 Everything You Need to Know
  • getxray.app: Get started with DevOps: principles, best practices and tips
  • stackoverflow.blog: How developers can be their own operations department Many companies run parallel development and operations organizations. But what if you just ran one team that did both?
  • linkedin.com/pulse: Top 10 skills a DevOps engineer should possess
  • devops.com: How Containers Simplify DevOps Workflows and CI/CD Pipelines \ud83c\udf1f
  • dev.to: 5 GitHub Projects to make you a better DevOps Engineer \ud83c\udf1f
  • cloudbees.com: How to Nail DevOps Governance and Compliance in a Highly Regulated Industry \ud83c\udf1f
  • redhat.com: Tales from the field: A system administrator\u2019s guide to IT automation Download this collection of short stories about the excitement, frustrations, and challenges associated with learning IT automation.
  • forbes.com: DevOps: What You Need To Know \ud83c\udf1f The future of DevOps according to CloudBees\u2019 CEO: \u201cno company should re-write code that you can repeat through automation.\u201d
  • zdnet.com: Stop calling DevOps teams \u2018DevOps teams\u2019 \ud83c\udf1f\ud83c\udf1f Latest Puppet survey finds DevOps teams actually have a variety of roles that are more in line with business goals.
  • puppet.com: The 2021 State of DevOps Report is here! \ud83c\udf1f
  • devops.com: Yeah, You\u2019re Doing DevOps
  • infoq.com: How External IT Providers Can Adopt DevOps Practices \ud83c\udf1f
  • chaossearch.io: 9 Essential DevOps Tools for 2021
  • devopsonline.co.uk: The role of Automation in DevOps
  • sqlshack.com: 6 Reasons why you can\u2019t have DevOps without Test Automation \ud83c\udf1f
  • forbes.com: Who Should Own The Job Of Observability In DevOps?
  • dev.to: DevOps Is Not Automation
  • intellipaat.com: What Does a DevOps Engineer Do? \ud83c\udf1f DevOps assimilates development and operations teams to improve the collaboration process. A DevOps Engineer will work with IT developers to facilitate better coordination among operations, development, and testing functions by automating and streamlining the integration and deployment processes.
  • siliconangle.com: \u2018DevOps for Dummies\u2019 author Emily Freeman introduces revolutionary model for modern software development
  • thenewstack.io: Microservices Transformed DevOps \u2014 Why Security Is Next
  • thenewstack.io: DevOps at the Crossroads: The Future of Software Delivery
  • thenewstack.io: 3 Habits of Highly Successful DevOps Teams
  • devops.com: 5 Tips for a Successful DevOps Implementation
  • dev.to: DEV-OPS
    • Its a culture, concept, process and approach that merges software requirement gathering, software development, testing, quality assurance, system configurations, product deployment and operations. Organizations building or improving software products are moving towards a DevOps approach where development, testing, security, quality assurance and operations are getting merged within a large team and those technical resources work side by side to achieve higher return on investment
    • DevOps is one of the most broad topics within software dev because it lacks boundaries and limitations. Many technologies, tools, concepts, processes and ideas converge to give a good DevOps pipeline and DevOps process resulting in agile planning, continuous integration, continuous delivery, and high level monitoring of your enterprise level software systems. Hence, devops is not a single role or even a team\u2019s work that deals with all the technologies and processes. It a mixture of culture, traditions and process.
  • github.blog: 5 DevOps tips to speed up your developer workflow \ud83c\udf1f From learning YAML to scripting with Bash, here are a few simple tips for developers who want to speed up their workflows.
  • valuecoders.com: Why Should You Adopt DevOps To Deliver Business Value Rapidly?
  • itproportal.com: Stop messing up with CI/CD vs. DevOps and learn the difference finally When asking development pros to weigh in on the concept of DevOps, and share their views, we realised one thing.
  • blog.udemy.com: Becoming a DevOps Engineer: Understanding the Role and Responsibilities The title \u201cDevOps Engineer\u201d itself is confusing, and no one can agree on what precisely a DevOps Engineer is (or does). So, for now, let\u2019s list some typical activities you might have in this role:
    • Providing leadership and guidance for reducing the time it takes to deploy a software change.
    • Managing CI (continuous integration) systems and pipelines.
    • Creating automated software builds and testing.
    • Designing and implementing infrastructure.
    • Automating infrastructure buildout and maintenance.
    • Managing and enhancing logging and monitoring systems.
    • Providing developers with self-service tools for provisioning systems, deploying code, and running tests.
  • freecodecamp.org: DevOps Engineering Course for Beginners
  • bmc.com: DevOps Metrics for Optimizing CI/CD Pipelines
  • simform.com: How to Implement DevOps for Enterprise? This blog focuses on how to implement DevOps for enterprise-level organizations.
  • calcalistech.com: \u201cDevOps is a culture, it\u2019s not a job description\u201d
  • reviewnprep.com: DevOps Basics
  • dev.to: How I learn new technologies as a DevOps Engineer (without being overwhelmed \ud83d\udc4f) | TechWorld with Nana
  • medium.com/@hunkarbozkurt: What is DevOps? How Was DevOps Derived?
  • blog.devops.dev: Devops Best Practices for Continuous Delivery \ud83c\udf1f
  • devops.com: he Real Pipeline Your toolchains need to include stability and security tools.
  • information-age.com: DevOps vs Agile: distinguishing and combining the two
  • medium.com/@devfire: How To Become a DevOps Engineer In Six Months or Less, Part 6: Observe
  • rcls.medium.com: Stop calling yourselves DevOps engineers
  • enterprisersproject.com: DevOps: Why shift left goes wrong The shift-left approach helps development teams make software better and faster. So why hasn\u2019t it caught on - and how can you beat the barriers to success?
  • itnext.io: DevOps Big Picture (On-Premises)
  • medium.com/agileinsider: DevOps Principles and Practices Explained in Ten Minutes
  • medium.com/@perspectivementor: 6 Essential Skills for Landing a DevOps Job in 2024
  • net.connect4techs.com: What are the top DevOps trends in 2024

"},{"location":"devops/#dora-metrics","title":"DORA metrics","text":"
  • dynatrace.com: 9 key DevOps metrics for success - What are the four main DevOps metrics? DORA\u2019s Four Keys
    1. Deployment frequency
    2. Lead time for changes
    3. Change failure rate
    4. Mean time to restore service
  • medium.com/keptn: DORA metrics: automatically, for all your Kubernetes workloads DORA\u2019s Four Key DevOps metrics have gained much attention as they provide critical insights into an organization\u2019s maturity in automating the delivery of high-quality software. And rightfully so: According to the previous State of DevOps reports, organizations with higher successful deployment frequency have more business success in their market and tend to retain technical talent longer. But getting those insights can sometimes be tricky and cause even more manual work. How can you extract DORA metrics more efficiently?
"},{"location":"devops/#devops-roadmap","title":"DevOps Roadmap","text":"
  • DevOps Roadmap for 2026 \ud83c\udf1f - A comprehensive, step-by-step guide for aspiring DevOps engineers, featuring curated learning resources. This roadmap aims to provide a clear path and overview of the DevOps landscape, updated for 2026.

  • medium: The Complete DevOps RoadMap \ud83c\udf1f An illustrated guide to becoming a DevOps Engineer with links to relevant courses

  • dev.to: Your Roadmap to Become a DevOps Engineer in 2021
  • techworld-with-nana.com: DevOps Roadmap \ud83c\udf1f A step by step guide outlining the most efficient path to become a DevOps engineer
"},{"location":"devops/#apiops","title":"APIOps","text":"
  • dzone.com: What Is APIOps? How to Be Successful at It This article compares APIOps to other X-Ops and what you can do in order to make your APIOps journey successful.
"},{"location":"devops/#multicloud","title":"Multicloud","text":"
  • infoworld.com: How multicloud changes devops More clouds, more complexity, more challenges. Now\u2019s the time to prepare for the impact multicloud will have on your devops teams.
"},{"location":"devops/#serverless-devops","title":"Serverless DevOps","text":"
  • searchitoperations.techtarget.com: Tips and tools to achieve a serverless DevOps workflow Serverless functions bring the benefits of event-driven computing to a CI/CD pipeline \u2013 but to get there, DevOps teams might need to lean heavily on services and tools from the major cloud computing providers.
"},{"location":"devops/#devops-as-a-service-daas","title":"DevOps as a Service (DaaS)","text":"
  • DevOps as a Service: Migrating Your Entire DevOps Stack to the Cloud The goal of DaaS is to enable organizations to focus on developing and delivering software without having to worry about managing or maintaining tools. It is designed to abstract away the intricacies of tool integration, deployment and maintenance. This enables teams to focus on higher-level tasks, and outsources significant manual effort.
  • containerjournal.com: Best of 2021 \u2013 Kubernetes Enables DevOps-as-a-Service (DaaS)
"},{"location":"devops/#iac-infrastructure-as-code","title":"IaC Infrastructure as Code","text":"
  • How-To Secure A Linux Server - (Related to linux topic)
  • The DevOps Bottleneck: Why IaC Orchestration is the Missing Piece - (Related to iac topic)
  • Ansible for DevOps Examples - (Related to ansible topic)
  • Terraform: Get User Principal Name (UPN) of User Running Deployment without Entra ID Read Permissions - (Related to terraform topic)

  • IaC Infrastructure as Code

"},{"location":"devops/#xebia-labs-and-devops","title":"Xebia Labs and DevOps","text":"
  • DevOps Glosary of Terms \ud83c\udf1f
  • The Ultimate DevOps Tool Chest \ud83c\udf1f
    • The Ultimate List of Open Source DevOps Tools
  • Periodic Table of DevOps \ud83c\udf1f
"},{"location":"devops/#devops-tools","title":"DevOps Tools","text":"
  • Buildbot - (Related to cicd topic)
  • Purposeful Commits - (Related to git topic)
  • Awesome Chaos Engineering - (Related to chaos-engineering topic)
  • DevOps Made Easy: Install AWS CLI, ECS CLI, Docker & Terraform Using Chocolatey \ud83c\udf1f - This DEV Community post guides Windows users on how to streamline the installation of essential DevOps tools like AWS CLI, ECS CLI, Docker, and Terraform using Chocolatey, a Windows package manager. It explains Chocolatey\u2019s benefits for automating software installations and updates and provides steps for setting up Chocolatey and subsequently installing these tools via PowerShell.
  • Cloud Posse runs-on: GitHub Actions Self-Hosted Runners - (Related to kubernetes-tools topic)

  • DevOps Tools

"},{"location":"devops/#netflix-and-devops","title":"Netflix and DevOps","text":"
  • Full Cycle Developers at Netflix \u2014 Operate What You Build
  • Applying Netflix DevOps Patterns to Windows
"},{"location":"devops/#public-cloud-devops","title":"Public Cloud DevOps","text":""},{"location":"devops/#aws-devops","title":"AWS DevOps","text":"
  • Cloudburn: An Open-Source Policy Engine for AWS Spending - (Related to aws topic)

  • AWS DevOps \ud83c\udf1f

"},{"location":"devops/#azure-devops","title":"Azure DevOps","text":"
  • EntraExporter - (Related to azure topic)
  • Azure App Service Auto-Heal: Capturing Relevant Data During Performance Issues - (Related to azure topic)
  • Update to Azure DevOps Allowed IP Addresses - (Related to azure topic)

  • Azure DevOps \ud83c\udf1f

"},{"location":"devops/#google-cloud-platform","title":"Google Cloud Platform","text":"
  • cloud.google.com: DevOps
  • Cloud Developer Tools
  • Google Cloud Code
    • github: Google Cloud Code samples
  • Google Cloud Build
  • medium.com/google-cloud/tagged/devops
"},{"location":"devops/#noops","title":"NoOps","text":"
  • NoOps
"},{"location":"devops/#netops","title":"NetOps","text":"
  • datacenterdynamics.com: Why NetOps needs a digital sandbox to benefit from DevOps
  • devops.com: The Rise of NetDevOps and CI/CD Pipeline Solutions
"},{"location":"devops/#platformops","title":"PlatformOps","text":"
  • blog.postman.com: What Is PlatformOps?
"},{"location":"devops/#gpt-3-tools","title":"GPT 3 Tools","text":"
  • Development Environments for Cloud Agents - (Related to ai topic)
  • Skills for Real Engineers - (Related to ai topic)

  • dzone: 3 GPT-3 Tools for Developers, Software and DevOps Engineers, and SREs This article will explore GPT-3 applications in the developer space to discuss how GPT-3 can help DevOps Engineers, SREs, technical customer support, and developers.

    • Zebrium Monitoring detects problems, Zebrium finds root cause Resolve your software incidents 10x faster
    • Debuild Debuild is a tool that lets you generate functional web apps from a simple English description.
    • seekwell SeekWell helps write SQL requests and synchronizes the results to the apps your team operates in.
"},{"location":"devops/#data-as-code","title":"Data as Code","text":"
  • thenewstack.io: The Coming Era of Data as Code \ud83c\udf1f
  • arrikto.com: What is Data as Code \ud83c\udf1f
"},{"location":"devops/#devops-for-sap","title":"DevOps for SAP","text":"
  • blogs.sap.com: A Practical Guide to DevOps for SAP ERP
"},{"location":"devops/#youtube-playlists","title":"Youtube Playlists","text":"
  • youtube playlist: DevOps - SonarQube, Artifactory, JFrog, Jenkins, Maven, etc \ud83c\udf1f
  • youtube playlist: Docker \ud83c\udf1f
  • youtube playlist: Ansible \ud83c\udf1f
  • youtube playlist: Kubernetes \ud83c\udf1f
"},{"location":"devops/#platform-engineering-and-internal-developer-platform","title":"Platform Engineering and Internal Developer Platform","text":"
  • Platform Engineering Guide - 5 Key Use Cases of Internal Developer Platforms \ud83c\udf1f - This guide explains platform engineering and its impact on software development. It highlights how building a centralized Internal Developer Platform (IDP) automates tasks like environment provisioning, CI/CD, and infrastructure management, empowering developers. The guide details five key use cases, including accelerated project bootstrap and simplified database management, providing tangible benefits and technical examples of how IDPs leverage tools like Kubernetes, Prometheus, and Grafana.
  • Platform Democracy: Rethinking Who Builds and Consumes Your Internal Platform - This article discusses the evolution of platform engineering, from the Dev/Ops split to DevOps and the emergence of Platform Teams. It critiques the limitations of centralized platform teams and introduces the concept of \u2018Platform Democracy,\u2019 where multiple teams collaborate to build and consume platform capabilities in a more decentralized and collaborative manner.

  • platformengineering.org The global home for Platform Engineers

  • thenewstack.io/platform-engineering Platform engineering is the discipline of building workflows, toolchains, platforms & docs to support app teams in their delivery of business value. Benefits Include:
    • Increased velocity
    • Enable developer satisfaction
    • Speed up onboarding
  • honeycomb.io: The Future of Ops Is Platform Engineering \ud83c\udf1f Platform engineers vs. DevOps engineers
  • thenewstack.io: DevOps Burnout? Try Platform Engineering Internal developer platforms might be part of the solution by reducing repetitive and manual work and cognitive load.
  • softwareengineeringdaily.com: The Rise of Platform Engineering \ud83c\udf1f
  • thenewstack.io: How Is Platform Engineering Different from DevOps and SRE? Platform engineering is the next stage of evolution. Like DevOps, it enables developer self-service. Like SRE, it reduces errors and increases reliability.
  • salaboy.com: The Challenges of Platform Building on Top of Kubernetes 4/4 TLTR: We have reached a point where the adoption and understanding of Kubernetes and Kubernetes tools are mature enough to start hiding them away from the teams consuming them. This blog post explores some of the approaches different development tools take to provide a better and simplified experience for developers while allowing platform teams to curate the resources these tools use and how they behave.
  • thenewstack.io: Platform Engineering in 2023: Dev First, Collaboration and APIs Developer platforms won\u2019t eliminate DevOps but will prioritize developer experience.
  • frobes.com: How To Empower Modern Kubernetes Management With A Platform Team Model
  • thenewstack.io: Architecture and Design Considerations for Platform Engineering Teams What exactly is a platform? Is it an internal developer platform, a developer self-service portal or simply a developer onboarding tool?
  • dev.to/thenjdevopsguy: Platform Engineering On Kubernetes Part 4: Internal Developer Platforms
  • medium.com/agorapulse-stories: Platform Engineering, Part 3: WHEN & HOW to Build an Internal Developer Platform
  • dev.to/thenjdevopsguy: Create and Understand Your Platform Engineering Environment
  • siliconangle.com: The rise of platform engineering in the Kubernetes era
  • loft.sh: Platform Engineering: The Definitive Guide Platform engineering is the practice of designing, building, operating, and maintaining tools and infrastructure to help software developers build and ship software quickly
  • infoworld.com: Why platform engineering? The shift from devops to platform engineering could be transformational. Here\u2019s why and what\u2019s involved in making the leap.
  • dev.to: Platform Engineering and Internal Developer Platform (IDP)
  • devops.com: What\u2019s the Difference Between DevOps and Platform Engineering?
  • dev.to/thenjdevopsguy: What Is Platform Engineering (And What Is It Not?)
  • thenewstack.io: The 6 Pillars of Platform Engineering: Part 1 \u2014 Security Platform team workflows and checklists for building security, pipelines, provisioning, connectivity, orchestration, and observability into their platform.
  • humanitec.com: How to design your repository structures to nail platform engineering Unlock the full power of platform engineering with repo structures designed to nail high-impact IDPs. Optimize operations, security, and agility for enterprise-ready solutions.
  • medium.com/@rphilogene: What\u2019s an Internal Developer Platform?
  • medium.com/devoptimism: DevOps+Platform Engineering: A Necessary Love Story of Efficiency
  • medium.com/@rphilogene: Platform Engineering #7: Internal Developer Platform vs. Internal Developer Portal
  • muycomputerpro.com: Ingenier\u00eda de plataformas de DevOps: la nueva generaci\u00f3n de DevOps
  • fernandovillalba.substack.com: DevOps: Don\u2019t destroy silos, transform them \u201cDestroying silos\u201d is a clumsy solution to team isolation
  • humanitec.com: Escape VMware lock-in with a modular Internal Developer Platform
  • infoq.com: InfoQ platform engineering homepage
  • infoq.com: Platform as a Runtime - the Next Step in Platform Engineering
  • infoq.com: Platform Engineering \u2013 Making Other Teams 10x Better
  • syntasso.io: Platform Engineering: Orchestrating Applications, Platforms, and Infrastructure
  • thenewstack.io: 5 Lessons For Building a Platform as a Product
  • overcast.blog: 15 Cloud-Native DevOps Tools You Should Know
  • seal.io: Open Source Platform Engineering for Dev & Ops
  • humanitec.com: Why every Internal Developer Platform needs a backend It\u2019s not enough to just have an Internal Developer Platform. To get results, it needs to be done right, and that means building an effective platform backend, a Platform Orchestrator.
  • piotrminkowski.com: IDP on OpenShift with Red Hat Developer Hub
  • medium.com/spacelift: Platform Engineering vs. DevOps
"},{"location":"devops/#idp-tools","title":"IDP Tools","text":"
  • medium.com/@rphilogene: Top 10 Platform Engineering Tools You Should Consider in 2024
  • github.com/Qovery/Torii Torii \u26e9\ufe0f is a simple, powerful and extensible open-source Internal Developer Portal
  • github.com/backstage/backstage Backstage is an open platform for building developer portals
  • Port
  • Cortex
  • Atlassian Compass
  • github.com/KusionStack/kusion Intent-Driven Platform Orchestrator. Declarative Intent Driven Platform Orchestrator for Internal Developer Platform (IDP). Kusion is a modern application delivery and management toolchain that enables developers to specify desired intent in a declarative way and then use consistent workflow to drive continuous deployment through the application lifecycle
"},{"location":"devops/#bunch-of-images","title":"Bunch of Images","text":"Click to expand!

"},{"location":"devops/#slides","title":"Slides","text":"Click to expand!

How will DevOps benefit enterprise? from InterQuest Group

"},{"location":"devops/#videos","title":"Videos","text":"Click to expand!"},{"location":"devops/#tweets","title":"Tweets","text":"Click to expand!

It drives me nuts when people say \"DevOps\" when they really mean \"Ops.\" Ops didn't just disappear, folks.

\u2014 emily freeman (@editingemily) June 15, 2021

@HelmPack can hide some deep K8s knowledge.@crossplane_io does the same for infrastructure, best practices Postgres can be as simple as provide the version and the size. A game-changer for platforms

\u2014 Omer Kahani (@OmerKahani) August 17, 2021

Working on infrastructure is to keep things boring.

\u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) September 17, 2021

Progress! pic.twitter.com/FB7v3OOdsf

\u2014 Richard Campbell (@richcampbell) October 29, 2021

Automation tools don't reduce cloud complexity, they embrace it.

\u2014 Kelsey Hightower (@kelseyhightower) November 16, 2021

Artem Kobrin from @NTTDATAServices presents their multi-stage blue-green deployments with @keptnProject and @argoproj in #Kubernetes. Nice pipelines\ud83d\ude0d #keptnUserGroup pic.twitter.com/E1eDMoxcDz

\u2014 Oleg Nenashev (@oleg_nenashev) November 16, 2021

I like to architect cloud. What do you love - DevOps or architect?

\u2014 Satyen Kumar (@SatyenKumar) February 3, 2022

Few things you must absolutely know about DevOps1\u20e3 DevOps is a software development lifecycle (SDLC) approach which involves\ud83e\udde9Continuous integration\ud83e\uddeaContinuous testing\ud83d\ude9aContinuous Delivery\ud83d\udeebContinuous deployment\ud83d\udd0eContinuous monitoring throughout its development phase. \ud83e\uddf5 pic.twitter.com/I38Ntqryeq

\u2014 Satyen Kumar (@SatyenKumar) February 23, 2022

Interview on Austrian TV \ud83d\ude0a Talked about how we started our YouTube channel, as a temporary side project, which turned into this amazing and fulfilling job of educating people in DevOps engineering \ud83d\udc99.Full interview on @4Gamechanger: https://t.co/3jViGROFTP\ud83d\ude0a#devops #youtube pic.twitter.com/FIb8DubPup

\u2014 TechWorld with Nana | DevOps \ud83d\ude80 (@Njuchi_) March 19, 2022

If you want to master DevOps, watch these YouTube videos:

\u2014 Simon (@simonholdorf) November 10, 2022

Drone flight through the#GigaBerlinBrandenburg @Tesla pic.twitter.com/7yCehZl5G3

\u2014 Gigafactory Berlin-Brandenburg \ud83d\udd4a\ud83c\uddfa\ud83c\udde6 (@Gf4Tesla) March 25, 2022

"},{"location":"devsecops/","title":"DevSecOps and Security. Container","text":"
  1. Introduction
  2. Kubernetes Security Compliance Frameworks
  3. Zero Trust Security
  4. Authentication and Authorization
    1. OpenID Connect and OAuth 2.0
  5. Quality Gates
  6. 16 Gates
  7. Kubernetes Threat Modelling
  8. Kubernetes Config Security Threats
    1. Kubernetes Ingress Security
  9. Security Linting on Kubernetes
  10. IaC and Security
  11. Multi-Level Security (MLS) vs Multi-Category Security (MCS). Make Secure Pipelines with Podman and Containers
  12. Project Calico
  13. The Falco Project
  14. Security Patterns for Microservice Architectures
  15. Anchore Container Security Solutions for DevSecOps
  16. Twistlock and Threat Stack Container Security
  17. OWASP
  18. Source Code Audit
  19. StackRox
  20. Secure Container Based CI/CD Workflows. Vulnerability Scanner for Container Images
    1. Securing Kubernetes With Anchore
    2. Container Signing. Secure Containers with Notary or Cosign
  21. GitHub security
  22. Databases in DMZ and Intranet
  23. Removing Credentials From Git Repo
  24. Pentesting
  25. SQL Injection
  26. Credential Managers
    1. keycloak
    2. Git Credential Manager Core
  27. Secrets Management
    1. Anti Patterns. Wrong Secrets
    2. AWS Secret Manager
    3. Password Hashing
    4. Store private data in git repo
    5. HashiCorp Vault
      1. HashiCorp Vault Agent
    6. Azure Key Vault
    7. CyberArk and Ansible
    8. CyberArk Conjur
    9. SOPS for Kubernetes
    10. AKS Secrets
    11. Kapitan
    12. Alternatives with Kubernetes External Secrets
    13. Bitwarden
  28. Serverless Security Best Practices
  29. Docker Images and Container Security
    1. Sigstore
    2. Container security best practices
  30. Pod Security Policies
  31. Kubernetes Network Policies
  32. Static Analysis SAST
  33. Kubernetes Security Tools
  34. Helm Charts Security. Helm Secrets
  35. Password Recovery
  36. Attacks on Kubernetes via Misconfigured Argo Workflows
  37. PKI
  38. Network Intrusion Tools
  39. Other Security Tools
    1. Torq. No code Security Automation
    2. Security-Guard
  40. Books
  41. CVEs
    1. Log4j Log4Shell
  42. Powershell
  43. Nmap scripts
  44. Let\u2019s Encrypt SSL certificates
  45. WAF Web Application Firewall
  46. More Security Tools
  47. Videos
  48. Twitter
"},{"location":"devsecops/#introduction","title":"Introduction","text":"
  • devopszone.info: DevSecOps Explained
  • linkedin: Dear Google, my data has left your building!
  • snyk.io: The State of Open Source Security 2020
  • Exploring the (lack of) security in a typical Docker and Kubernetes installation
  • kalilinuxtutorials.com: Deploying & Securing Kubernetes Clusters
  • loves.cloud: Creating a fully automated DevSecOps CI/CD Pipeline
  • redhat.com: Balancing Linux security with usability Your system should be secure, but open enough to serve its function. Here are some tips on how to strike that balance.
  • thenewstack.io: Culture, Vulnerabilities and Budget: Why Devs and AppSec Disagree
  • computing.co.uk: CloudBees gets busy with security, visibility and control as DevOps evolves CEO Sacha Labourey: \u2018DevOps is a pretty good proxy for what needs to happen in any organisation\u2019
  • paloaltonetworks.com: Is Your Organization Protected Against IAM Misconfiguration Risks?
  • devops.com: How to Successfully Integrate Security and DevOps
  • helpnetsecurity.com: How to make DevSecOps stick with developers
  • blog.christophetd.fr: Shifting Cloud Security Left \u2014 Scanning Infrastructure as Code for Security Issues
  • devclass.com: Docker: It\u2019s not dead yet, but there\u2019s a tendency to walk away, security report finds
  • securityboulevard.com: DevOps vs. DevSecOps \u2013 Here\u2019s How They Fit Together
  • opensource.com: How to adopt DevSecOps successfully Integrating security throughout the software development lifecycle is important, but it\u2019s not always easy.
  • devops.com: DevSecOps Trends to Know For 2021
  • devops.com: From Agile to DevOps to DevSecOps: The Next Evolution
  • permission.site How much stuff one can do from a web browser these days\u2014scary stuff. Stay safe. Disable JS and most of stuff won\u2019t work at all.
  • ais.com: Leaping into DevSecOps from DevOps
  • infoq.com: The Defense Department\u2019s Journey with DevSecOps
  • amazon.com: Building end-to-end AWS DevSecOps CI/CD pipeline with open source SCA, SAST and DAST tools
  • infoq.com: 9 Trends That Are Influencing the Adoption of Devops and Devsecops in 2021
  • addteq.com: The REAL Difference between DevOps and DevSecOps
  • invensislearning.com: Difference between DevOps and DevSecOps
  • techerati.com: DevSecOps: Eight tips for truly securing software
  • devops.com: SecDevOps is the Solution to Cybersecurity \ud83c\udf1f
  • techrepublic.com: DevOps is getting code released faster than ever. But security is lagging behind
  • redeszone.net: No configurar bien la nube es culpable de la mayor\u00eda de vulnerabilidades
  • cybersecuritydive.com: Relationships between DevOps, security warm slowly Some hurdles stem from miscommunication, or balancing quick product releases with undesired security gaps. \u201cSecurity people need developers to be more like security people and developers need security people to be more like developers.\u201d James Arlen, CISO at Aiven.
  • bbvanexttechnologies.com: Filosof\u00eda DevSecOps en el desarrollo de aplicaciones sobre Azure
  • harness.io: Automated DevSecOps with StackHawk and Harness
  • cloudify.co: Understanding DevSecOps And Its Challenges
  • containerjournal.com: The What and Why of Cloud-Native Security
  • sysdig.com: Top vulnerability assessment and management best practices
  • thenewstack.io: Where Are You on the DevSecOps Maturity Curve?
  • thenewstack.io: The Top 5 Secrets Management Mistakes and How to Avoid Them
  • arsouyes.org: PKCS, pem, der, key, crt,\u2026 Interesting read on security and ssl/tls certificates
  • torq.io: 5 Security Automation Examples for Non-Developers
  • infoq.com: Serverless Security: What\u2019s Left to Protect?
  • dqindia.com: Secure your CI/CD pipeline with these tips from experts
  • thenewstack.io: The DevSecOps Skillsets Required for Cloud Deployments
  • devblogs.microsoft.com: You can\u2019t have security for DevOps until you have DevOps for security
  • goteleport.com: Anatomy of a Cloud Infrastructure Attack via a Pull Request
    • edidiongasikpo.com: How to Give Developers Secure Access to Kubernetes Clusters \ud83c\udf1f
  • cncf/tag-security: CNCF Security Technical Advisory Group \ud83c\udf1f CNCF Security Technical Advisory Group \u2013 secure access, policy control, privacy, auditing, explainability and more!
  • enterprisersproject.com: 5 DevSecOps open source projects to know Teams that embrace the DevSecOps approach make security an integral part of the entire application life cycle. These open source projects aim to help
    • Clair
    • Sigstore
    • KubeLinter
      • thomasthornton.cloud: Enforcing Kubernetes best practices and simplifying Kubernetes Configuration Validation with Kube-Linter and GitHub Actions
    • Open Policy Agent and Gatekeeper
    • Falco
  • thenewstack.io: 10 Steps to Simplify Your DevSecOps
    1. Promote a DevSecOps Culture
    2. Empower Teams to Build Security into the SDLC
    3. Plan Security Activities
    4. Improve Speed and Scale with Automation
    5. Start Early with Small Changes
    6. Tie in the Out-of-Band Activities
    7. Manage Security Vulnerabilities as Software Defects
    8. Collect and Analyze Data at Every Stage
    9. Learn from Your Failures
    10. Improve Velocity with Scalable Governance
  • redhat.com: 5 ways for teams to create an automation-first mentality DevSecOps can provide a competitive edge for your organization. Use these five strategies to get started.
  • devops.com: Transform Mobile DevOps into Mobile DevSecOps
  • softwebsolutions.com: What is DevSecOps and why your business needs it
  • containerjournal.com: Siloscape: The Dark Side of Kubernetes Siloscape is the first known malware to operate exclusively from within a container and target backdoors inside poorly configured Kubernetes clusters. Prizmant details how the malware collects data at the cluster level, making any hosted databases, user credentials and any business-critical data inside an easy and obvious target for the autonomous attacker.
  • thenewstack.io: Infrastructure-as-Code: 6 Best Practices for Securing Applications \ud83c\udf1f
  • devops.com: Securing Your Software Development Pipelines
  • thenewstack.io: How GitOps Benefits from Security-as-Code
  • devops.com: Tips for a Successful DevSecOps Life Cycle
  • blog.aquasec.com: Advanced Persistent Threat Techniques Used in Container Attacks In this blog, you will explore advanced persistent threat techniques used in container attacks, learn how rootkits work, and how adversaries are using them to attack cloud native environments.
  • thenewstack.io: 5 Misconceptions About DevSecOps
  • thenewstack.io: Why Cloud Native Systems Demand a Zero Trust Approach
  • dzone: Security Matters: Vulnerability Scanning Done Right! \ud83c\udf1f Security has become the priority in every company these days. Let\u2019s see how vulnerability scanning is done the right way.
  • redhat.com: Getting DevSecOps to production and beyond Building security into DevOps practices helps safeguard the organization across the software development lifecycle.
  • opensource.com: 5 open source security resources from 2021 This countdown is for the security articles for 2021 you need to read right now.
  • redhat.com: Red Hat\u2019s approach to DevSecOps
  • thenewstack.io: Open Source Democratized Software. Now Let\u2019s Democratize Security
  • goteleport.com: Why DevSecOps is Going Passwordless
  • infosecwriteups.com: How I Discovered Thousands of Open Databases on AWS My journey on finding and reporting databases with sensitive data about Fortune-500 companies, Hospitals, Crypto platforms, Startups during due diligence, and more.
  • thenewstack.io: Want Real Cybersecurity Progress? Redefine the Security Team
  • devops.com: Taking a DevSecOps Approach to API Security
  • devops.com: Continuous Security: The Next Evolution of CI/CD
  • about.gitlab.com: Fantastic Infrastructure as Code security attacks and how to find them IaC Security Scanning with Kubernetes
  • devops.com: How to Seamlessly Transition to DevSecOps DevSecOps Isn\u2019t Simple
    • In the last few months, the cybersecurity world has been taken by storm following the discovery of the Log4Shell vulnerability. The zero-day had the potential to put much of the connected world at risk and left security teams scrambling to quickly apply security patches to software just before Christmas 2021.
    • As a result of the chaos caused by Log4Shell, many organizations kicked off the new year by carrying out security assessments to identify ways to improve detection and mitigation of future vulnerabilities. One approach that is gaining a lot of attention is DevSecOps.
    • DevSecOps introduces and automates security in the earlier phases of the software development life cycle rather than bolting it on at the end. The approach saves money, saves time on tedious manual tasks, helps organizations meet regulatory compliance requirements and significantly reduces the risk of critical security bugs being found after an application\u2019s final build.
    • However, when it comes to kicking off DevSecOps projects, there are a few challenges application security teams need to overcome first to ensure their programs fit seamlessly into CI/CD pipelines.
  • bridgecrew.io: 6 key Kubernetes DevSecOps principles: People, processes, technology
  • research.nccgroup.com: 10 real-world stories of how we\u2019ve compromised CI/CD pipelines
  • thenewstack.io: SecOps in a Post-COVID World: 3 Security Trends to Watch
  • medium.com/microservices-learning: How to implement security for microservices
  • kubernetes.io: Overview of Cloud Native Security This overview defines a model for thinking about Kubernetes security in the context of Cloud Native security. The 4C\u2019s of Cloud Native security:
    • Cloud
    • Clusters
    • Containers
    • Code
  • sysdig.com: Triaging a Malicious Docker Container Malicious Docker containers are a relatively new form of attack, taking advantage of an exposed Docker API or vulnerable host to do their evil plotting.\u200b\u200b
  • blog.sonatype.com: Python Packages Upload Your AWS Keys, env vars, Secrets to the Web Last week, Sonatype discovered multiple Python packages that not only exfiltrate your secrets\u2014AWS credentials and environment variables but rather upload these to a publicly exposed endpoint. These packages were discovered by Sonatype\u2019s automated malware detection system, offered as a part of Nexus platform products, including Nexus Firewall.
  • medium.com/@anshuman2121: DevSecOps: Implement security on CICD Pipeline
  • medium.com/@jonathan_37674: What have we learned from scanning over 10K Kubernetes Clusters? \ud83c\udf1f Plan ahead and fight for fight misconfiguration and vulnerabilities across the SDLC with KubeScape, OS security platform providing a multi-cloud K8s single pane of glass.
  • bleepingcomputer.com: Over 900,000 Kubernetes instances found exposed online
    • Over 900,000 misconfigured Kubernetes clusters were found exposed on the internet to potentially malicious scans, some even vulnerable to data-exposing cyberattacks.
    • Kubernetes is a highly versatile open-source container orchestration system for hosting online services and managing containerized workloads via a uniform API interface.
    • It enjoys massive adoption and growth rates thanks to its scalability, flexibility in multi-cloud environments, portability, cost, app development, and system deployment time reductions.
    • If Kubernetes isn\u2019t configured properly, remote actors might be able to access internal resources and private assets that weren\u2019t meant to be made public.
    • Additionally, depending on the configuration, intruders could sometimes escalate their privileges from containers to break isolation and pivot to host processes, granting them intial access to internal corporate networks for futher attacks.
  • sysdig.com: How to apply security at the source using GitOps | Eduardo M\u00ednguez \ud83c\udf1f
  • medium.com/technology-hits: Incomplete Guide for Securing Containerized Environment \ud83c\udf1f And Understanding How Containers Present Unique Security Challenges. This article contains a collection of best practices and tips regarding securing containerized environments.
  • medium.com/@jonathan_37674: How to Keep your CI/CD Pipelines Secure? | ARMO CI/CD sits at the core of DevOps. The main aim of CICD is to automate & streamline app development process by making small changes & adding incrementally. It helps in pushing features faster with fewer errors.
  • freecodecamp.org: Authentication vs Authorization \u2013 What\u2019s the Difference?
  • betanews.com: Cloud security is complex \u2013 but most vulnerabilities fall into three key categories
  • medium.com/@pbijjala: Container security, an eco system view
  • containerjournal.com: Kubernetes Security in Your CI/CD Pipeline
  • acloudguru.com: Cloud security risks: Why you should make apps Secure by Design
  • medium.com/google-cloud: Shifting (even further) Left on Kubernetes Resource Compliance Shifting left can help organizations optimize their use of fully-managed cloud environments and managed services, and tools like Open Policy Agent and Gatekeeper can help organizations ensure compliance in these environments
  • hmaslowski.com: macOS Security hardening with Microsoft Intune
  • kubewarden.io: Scanning secrets in environment variables This tutorial will teach you how to scan secrets in environment variables using Kubewarden and the env-variable-secrets-scanner-policy
  • dzone.com: How To Manage Vulnerabilities in Modern Cloud-Native Applications The article describes how to secure cloud-native applications to identify, manage, and remediate vulnerabilities across the tech stack and ways of integrating security.
  • auth0.com: A Passwordless Future! Passkeys for Java Developers Passkeys and WebAuthn for Java developers. Learn how to get started with passkeys for your Java and Spring Boot applications.
  • infracloud.io: How to Prevent Secret Leaks in Your Repositories
  • blog.devops.dev: End-to-End DevSecOps Kubernetes Project In today\u2019s rapidly evolving tech landscape, deploying applications using Kubernetes has become a crucial aspect of modern software development. This guide provides a detailed walkthrough for setting up an end-to-end Kubernetes project, covering everything from infrastructure provisioning to application deployment and monitoring.
  • blog.stackademic.com: Advanced End-to-End DevSecOps Kubernetes Three-Tier Project using AWS EKS, ArgoCD, Prometheus, Grafana, and Jenkins
"},{"location":"devsecops/#kubernetes-security-compliance-frameworks","title":"Kubernetes Security Compliance Frameworks","text":"
  • armosec.io: Kubernetes Security Compliance Frameworks \ud83c\udf1f
    • The challenge of administering security and maintaining compliance in a Kubernetes ecosystem is typically the same: an increasingly dynamic, changing landscape, be it new approaches of cyberattacks or adhering to changing regulations. Kubernetes security requires a complex and multifaceted approach since an effective strategy needs to:
      • Ensure clean code
      • Provide full observability
      • Prevent the exchange of information with untrusted services
      • Produce digital signatures for clean code and trusted applications
    • Since Kubernetes follows a loosely coupled architecture, securing the ecosystem involves a cross-combination of best practices, tools, and processes. It is also recommended to consider frameworks that issue specific guidelines for easing the complexity of administering the security and compliance of a Kubernetes ecosystem. Such frameworks help organizations create flexible, iterative, and cost-effective approaches to keeping clusters and applications safe and compliant while ensuring optimum performance. A typical framework\u2019s guidance on Kubernetes security and compliance should essentially consider:
      • Architecture best practices
      • Security within CI/CD pipelines
      • Resource protection
      • Container runtime protection
      • Supply chain security
      • Network security
      • Vulnerability scanning
      • Secrets management and protection
"},{"location":"devsecops/#zero-trust-security","title":"Zero Trust Security","text":"
  • dzone.com: What Is Zero Trust Security? \ud83c\udf1f Zero Trust security is an IT security framework that treats everyone and everything to be hostile (in a good way!).
  • thenewstack.io: Secured Access to Kubernetes from Anywhere with Zero Trust | Tenry Fu \ud83c\udf1f
  • securityboulevard.com: Implementing Zero-Trust Security With Service Mesh and Kubernetes
  • cncf.io: Seven zero trust rules for Kubernetes
  • rtinsights.com: Implementing Zero Trust for Kubernetes
  • cisecurity.org: Where Does Zero Trust Begin and Why is it Important?
  • devops.com: DevOps Security: Your Complete Checklist
"},{"location":"devsecops/#authentication-and-authorization","title":"Authentication and Authorization","text":"
  • Configure Microsoft Entra for Increased Security - (Related to kubernetes-security topic)

  • thenewstack.io: How Do Authentication and Authorization Differ?

  • osohq.com: Patterns for Authorization in Microservices
"},{"location":"devsecops/#openid-connect-and-oauth-20","title":"OpenID Connect and OAuth 2.0","text":"
  • medium.com/getindata-blog: OAuth2-based authentication on Istio-powered Kubernetes clusters \ud83c\udf1f Starting with Envoy 1.17, authentication and authorization to Istio clusters don\u2019t require setting up external services if you decide to use OAuth2 Learn how it works in this hands-on tutorial.
  • oauth2-proxy/oauth2-proxy: OAuth2 Proxy \ud83c\udf1f A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers.
  • manfredmlange.medium.com: Containerized Keycloak in Development How to set up an OpenID Connect compliant development environment with Docker?
  • dev.to/fidalmathew: Session-Based vs. Token-Based Authentication: Which is better?
  • dev.to/irakan: Is JWT really a good fit for authentication?
"},{"location":"devsecops/#quality-gates","title":"Quality Gates","text":"
  • dzone: DevOps Pipeline Quality Gates: A Double-Edged Sword In theory, quality gates seem like a no-brainer, but it does come with a catch.
"},{"location":"devsecops/#16-gates","title":"16 Gates","text":"
  • medium: Focusing on the DevOps Pipeline \ud83c\udf1f Delivering High Quality Working Software Faster with Agile DevOps. At Capital One, we design pipelines using the concept of the \u201c16 Gates\u201d. These are our guiding design principles and they are:
    • Source code version control
    • Optimum branching strategy
    • Static analysis
    • More than 80% code coverage
    • Vulnerability scan
    • Open source scan
    • Artifact version control
    • Auto provisioning
    • Immutable servers
    • Integration testing
    • Performance testing
    • Build deploy testing automated for every commit
    • Automated rollback
    • Automated change order
    • Zero downtime release
    • Feature toggle
  • github.com/hygieia/Hygieia \ud83c\udf1f CapitalOne DevOps Dashboard
"},{"location":"devsecops/#kubernetes-threat-modelling","title":"Kubernetes Threat Modelling","text":""},{"location":"devsecops/#kubernetes-config-security-threats","title":"Kubernetes Config Security Threats","text":"
  • cncf.io: Identifying Kubernetes Config Security Threats: Pods Running as Root
  • thenewstack.io: How Kubernetes vulnerabilities have shifted since the first attacks
"},{"location":"devsecops/#kubernetes-ingress-security","title":"Kubernetes Ingress Security","text":"
  • mirantis.com: Introduction to Istio Ingress: The easy way to manage incoming Kubernetes app traffic Leaving your cluster exposed can be risky. That\u2019s why you need Istio Ingress, which only exposes the part that handles incoming traffic & allows routing rules based on routes, headers, IP addresses and more.
  • armosec.io: How to secure Kubernetes Ingress? This article will look into how you can secure Ingress resources via adding TLS to Ingress and then procuring TLS/SSL certificates.
"},{"location":"devsecops/#security-linting-on-kubernetes","title":"Security Linting on Kubernetes","text":"
  • kubeLinter \ud83c\udf1f KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices.
  • thenewstack.io: StackRox KubeLinter Brings Security Linting to Kubernetes
  • github.com/yannh/kubeconform \ud83c\udf1f A FAST Kubernetes manifests validator, with support for Custom Resources!
"},{"location":"devsecops/#iac-and-security","title":"IaC and Security","text":"
  • Automating Microsoft Sentinel Deployment with Azure DevOps CI/CD - (Related to azure topic)

  • thenewstack.io: Security Insights into Infrastructure-as-Code

"},{"location":"devsecops/#multi-level-security-mls-vs-multi-category-security-mcs-make-secure-pipelines-with-podman-and-containers","title":"Multi-Level Security (MLS) vs Multi-Category Security (MCS). Make Secure Pipelines with Podman and Containers","text":"
  • Why you should be using Multi-Category Security (MCS) for your Linux containers
  • Using Podman and Containers to make a more secure pipeline
"},{"location":"devsecops/#project-calico","title":"Project Calico","text":"
  • Project Calico Secure networking for the cloud native era
  • thenewstack.io: Project Calico: Kubernetes Security as SaaS
"},{"location":"devsecops/#the-falco-project","title":"The Falco Project","text":"
  • Falco.org Cloud-Native runtime security
  • sysdig.com: Getting started with runtime security and Falco
  • betterprogramming.pub: Kubernetes Security With Falco Comprehensive runtime security for your containers with a hands-on demo.
"},{"location":"devsecops/#security-patterns-for-microservice-architectures","title":"Security Patterns for Microservice Architectures","text":"
  • Security Patterns for Microservice Architectures
"},{"location":"devsecops/#anchore-container-security-solutions-for-devsecops","title":"Anchore Container Security Solutions for DevSecOps","text":"
  • Anchore Container image inspection and policy-based compliance
  • thenewstack.io: Anchore: Scan Your Container Images for Vulnerabilities from the Command Line
"},{"location":"devsecops/#twistlock-and-threat-stack-container-security","title":"Twistlock and Threat Stack Container Security","text":"
  • Twistlock
  • Threat Stack
  • dzone: A Twistlock and Threat Stack Comparison [ARCHIVED] Compare two of the most popular tools available for container security, and how their different approaches breed different solutions.
"},{"location":"devsecops/#owasp","title":"OWASP","text":"
  • vashishtsumit89.medium.com: Security/Pen Testing: A guide to run OWASP Zap headless in containers for CI/CD pipeline
  • cloud.google.com: OWASP Top 10 mitigation options on Google Cloud \ud83c\udf1f Terrific guidance in this paper that explains each attack vector and which product(s) can help
  • thenewstack.io: Latest OWASP Top 10 Surfaces Web Development Security Bugs
  • thenewstack.io: OWASP Top 10: A Guide to the Worst Software Vulnerabilities
  • owasp.org: OWASP API Security Project \ud83c\udf1f
  • traceable.ai: Use the OWASP API Top 10 To Secure Your APIs The OWASP API Top 10 documents the risks associated with API development. Here are the vulnerabilities highlighted in the most recent OWASP API Top 10:

    1. Broken Object Level Authorization (BOLA)
    2. Broken User Authentication
    3. Excessive Data Exposure
    4. Lack of Resources and Rate Limiting
    5. Broken Function Level Authorization
    6. Mass Assignment
    7. Security Misconfiguration
    8. Injection
    9. Improper Assets Management
    10. Insufficient Logging and Monitoring
  • cequence.ai: The OWASP API Security Top 10 From a Real-World Perspective

  • securityonline.info: VAmPI: Vulnerable REST API with OWASP top 10 vulnerabilities
  • github.com/OWASP: OWASP Kubernetes Top 10 \ud83c\udf1f
"},{"location":"devsecops/#source-code-audit","title":"Source Code Audit","text":"
  • securecoding.com: Code Audit: How to Ensure Compliance for an Application A source code audit is a process of analyzing the source code of an application with the objective of discovering security vulnerabilities, security design problems, and places of potential improvement in programming practices. After the analysis, a report is generated that is used to implement a range of measures that guarantee the security and reliability of the code. Code audits can be carried out in parallel with penetration tests. They can test the exploitability of code vulnerabilities to better estimate the risk they pose. Ideally, code audits are performed throughout the application lifecycle. The faster a vulnerability is discovered, the easier it is to fix!
"},{"location":"devsecops/#stackrox","title":"StackRox","text":"
  • stackrox.com
  • redhat.com: Red Hat to Acquire Kubernetes-Native Security Leader StackRox
"},{"location":"devsecops/#secure-container-based-cicd-workflows-vulnerability-scanner-for-container-images","title":"Secure Container Based CI/CD Workflows. Vulnerability Scanner for Container Images","text":"
  • trivy A Simple and Comprehensive Vulnerability Scanner for Container Images, Git Repositories and Filesystems. Suitable for CI
    • blog.aquasec.com: A Security Review of Docker Official Images: Which Do You Trust? (with trivy)
    • dev.to: Terraform IaC Scanning with Trivy
  • returngis.net: Buscar vulnerabilidades en im\u00e1genes de Docker con Snyk
  • iximiuz.com: The need for slimmer containers. Scanning official Python images with Snyk
  • gkovan.medium.com: A Zero Trust Approach for Securing the Supply Chain of Microservices Packaged as Container Images (sigstore, kyverno, openshift tekton, quarkus) \ud83c\udf1f
  • thenewstack.io: Find Vulnerabilities in Container Images with Docker Scan
  • medium.com/@nanditasahu031: DevSecOps \u2014 Implementing Secure CI/CD Pipelines \ud83c\udf1f
  • deepfence/YaraHunter Malware scanner for cloud-native, as part of CI/CD and at Runtime. Deepfence YaraHunter scans container images, running Docker containers, and filesystems to find indicators of malware. It uses a YARA ruleset to identify resources that match known malware signatures, and may indicate that the container or filesystem has been compromised. - https://deepfence.io/
"},{"location":"devsecops/#securing-kubernetes-with-anchore","title":"Securing Kubernetes With Anchore","text":"
  • Securing Kubernetes With Anchore
  • Anchore: Secure Container Based CI/CD Workflows
  • Jenkins Plugin: Anchore Container Image Scanner
"},{"location":"devsecops/#container-signing-secure-containers-with-notary-or-cosign","title":"Container Signing. Secure Containers with Notary or Cosign","text":"
  • Notary Notary is a project that allows anyone to have trust over arbitrary collections of data
  • Cosign: Container Signing Container Signing, Verification and Storage in an OCI registry. Cosign supports:
    • Hardware and KMS signing
    • Bring-your-own PKI
    • Our free OIDC PKI (Fulcio)
    • Built-in binary transparency and timestamping service (Rekor)
  • infracloud.io: Enforcing Image Trust on Docker Containers using Notary
  • medium: Verify Container Image Signatures in Kubernetes using Notary or Cosign or both Connaisseur v2.0 adds support for multiple keys and signature solutions.
  • infracloud.io: How to Secure Containers with Cosign and Distroless Images
  • github.blog: Safeguard your containers with new container signing capability in GitHub Actions (cosign)
  • chrisns/cosign-keyless-demo: Cosign Keyless GitHub Action Demo Proof of concept that uses cosign and GitHub\u2019s in built OIDC for actions to sign container images, providing a proof that what is in the registry came from your GitHub action.
  • blog.chainguard.dev: How To Verify Cosigned Container Images In Amazon ECS
  • justinpolidori.it: Secure Your Docker Images With Cosign (and OPA Gatekeeper) Learn how combining Gatekeeper + Cosign for image signature validation with the new external_data feature lets you stop untrusted docker images from being deployed on your Kubernetes cluster.
  • sysdig.com: How to secure Kubernetes deployment with signature verification Cosign and Connaisseur allow us to secure the Kubernetes deployment with signature verification, ensuring that our images do not change
  • medium.com/@slimm609: Secure image signing with Cosign and AWS KMS
  • itnext.io: Securing Kubernetes Workloads: A Practical Approach to Signed and Encrypted Container Images Podman \u2014 one tool to rule them all
"},{"location":"devsecops/#github-security","title":"GitHub security","text":"
  • GitHub Code Security Risk Assessment: Free Vulnerability Scanning - This blog post from GitHub introduces the Code Security Risk Assessment, a free, one-click tool that scans up to 20 active repositories for vulnerabilities using CodeQL. It provides a dashboard summarizing findings by severity, language, detected rules, and vulnerable repositories, aiming to help organizations quickly identify and prioritize code security risks.

  • GitHub security: what does it take to protect your company from credentials leaking on GitHub? \ud83c\udf1f

"},{"location":"devsecops/#databases-in-dmz-and-intranet","title":"Databases in DMZ and Intranet","text":"
  • Databases in DMZ and Intranet
"},{"location":"devsecops/#removing-credentials-from-git-repo","title":"Removing Credentials From Git Repo","text":"
  • medium: The Easiest Way To Remove Checked In Credentials From A Git Repo
"},{"location":"devsecops/#pentesting","title":"Pentesting","text":"
  • forbes.com: DevOps Drives Pentesting Delivered As A Service
"},{"location":"devsecops/#sql-injection","title":"SQL Injection","text":"
  • patchthenet.medium.com: Introduction to SQL Injection
"},{"location":"devsecops/#credential-managers","title":"Credential Managers","text":""},{"location":"devsecops/#keycloak","title":"keycloak","text":"
  • keycloak.org Open Source Identity and Access Management For Modern Applications and Services
  • Securing Kubernetes Apps with Keycloak and Gatekeeper
  • Authorizing multi-language microservices with Louketo Proxy
  • developers.redhat.com: A deep dive into Keycloak
  • blog.getambassador.io: Step-by-Step Centralized Authentication for Kubernetes with Keycloak and the Ambassador Edge Stack
  • blog.sighup.io: How to run Keycloak in HA on Kubernetes How to setup Keycloak, the Open Source Identity and Access Management, in HA on Kubernetes.
  • developers.redhat.com: Authentication and authorization using the Keycloak REST API
  • faun.pub: Integrate Keycloak with HashiCorp Vault A How-To guide using Terraform
  • openshift.com: Geographically Distributed Stateful Workloads - Part 3: Keycloak
  • blog.flant.com: Running fault-tolerant Keycloak with Infinispan in Kubernetes
  • baeldung.com: A Quick Guide to Using Keycloak with Spring Boot
  • medium.com/@charled.breteche: Securing Grafana with Keycloak SSO In this article you will learn how to deploy and configure Keycloak in a local Kubernetes cluster, then deploy Grafana and use the Keycloak instance for authentication and authorization
  • dev.to: KeyCloak with Nginx Ingress
  • medium.com/@amirhosseineidy: Kubernetes authentication with keycloak oidc
  • medium.com/@martin.hodges: How to install Keycloak IAM on your Kubernetes cluster, backed by Postgres In this article I look at installing Keycloak and integrating with a Kong API Gateway inside a Kubernetes cluster to provide an OAuth and OIDC solution for your services.
"},{"location":"devsecops/#git-credential-manager-core","title":"Git Credential Manager Core","text":"
  • Git Credential Manager Core GCM Core is a free, open-source, cross-platform credential manager for Git.
  • Git Credential Manager Core: Building a universal authentication experience
"},{"location":"devsecops/#secrets-management","title":"Secrets Management","text":"
  • blog.gitguardian.com: Secrets in source code (episode \u2154). Why secrets in git are such a problem
  • harness.io: Managing Secrets in CI/CD Pipelines \ud83c\udf1f How has your organization dealt with the challenge of managing secrets while delivering with CI/CD pipelines? Learn how to improve your process in the article.
  • smallstep.com: How to Handle Secrets on the Command Line \ud83c\udf1f
  • cloud.google.com: Analyze secrets with Cloud Asset Inventory Query information about all the secrets across your entire GoogleCloudTech organization! Secret Manager is now integrated with Asset Inventory!
  • sops: Simple and flexible tool for managing secrets \ud83c\udf1f
  • jenkins-x.io: Setting up the secrets for your installation Jenkins X 3.x uses Kubernetes External Secrets to manage populating secrets from your underlying secret store.
  • fpcomplete.com: Announcing Amber, encrypted secrets management
  • jfrog.com: How to protect your secrets with Spectral and JFrog Pipelines
  • github.com/keilerkonzept/aws-secretsmanager-files Writes AWS Secrets Manager secrets to files on disk. Single binary, no dependencies. osx & linux & windows.
  • medium: How to Handle Secrets Like a Pro Using Gitops
  • youtube: Which of your Kubernetes Apps are accessing Secrets? \ud83c\udf1f How do you know which apps across all your clusters are using Kubernetes Secrets? How are you sure that your secrets are not leaking? In the next 5 minutes, you will learn right that.
  • jenkins-x/gsm-controller gsm-controller is a Kubernetes controller that copies secrets from Google Secrets Manager into Kubernetes secrets. The controller watches Kubernetes secrets looking for an annotation, if the annotation is not found on the secret nothing more is done.
  • GoogleCloudPlatform/secrets-store-csi-driver-provider-gcp: Google Secret Manager Provider for Secret Store CSI Driver Google Secret Manager provider for the Secret Store CSI Driver. Allows you to access secrets stored in Secret Manager as files mounted in Kubernetes pods.
  • devops.com: DevOps Teams Struggling to Keep Secrets A growing number of organizations are suffering security incidents related to exposed secrets in DevOps CI/CD pipelines, according to a recent ThycoticCentrify report. The study paints a troubling picture: Only 5% of survey respondents said most of their development teams use the same secrets management processes and tools. The incidents run the gamut, from secrets published in the clear in public cloud code repositories to insecure third-party code to vulnerabilities in the organization\u2019s own code or configurations.
  • thorsten-hans.com: Encrypt your Kubernetes Secrets with Mozilla SOPS By default, Kubernetes Secrets (secrets) are stored with base64 encoding in YAML files. The lack of encryption for secrets often leads to the question of how to store secrets securely. Obviously, you don\u2019t want to put your sensitive configuration data into a git repository, because it is just encoded. echo | base64 -d.
    • A typical solution is using services like Azure Key Vault, or HashiCorp Vault to persist sensitive data. Those services can be integrated with Kubernetes by using the Secrets Store CIS driver. However, relying on an additional service means that you have to manage and maintain that service in addition to Kubernetes. Additionally, depending on the service you use to store your sensitive data, some sensitive configuration must be stored somewhere to configure the CIS driver.
    • As an alternative, you can use Mozilla SOPS (SOPS) to encrypt and decrypt your Kubernetes secret files. Secrets that are encrypted via SOPS can be stored in source control. Encrypted secrets will be decrypted locally just before they\u2019ll be deployed to Kubernetes. This article demonstrates how to encrypt and decrypt Kubernetes secrets (YAML files) using SOPS in combination with Azure Key Vault, which allows you to store your secrets along with other Kubernetes manifests directly in git.
  • developers.redhat.com: Protect secrets in Git with the clean/smudge filter
  • kubeopsskills/cloud-secret-resolvers: Cloud Secret Resolvers (CSR) Cloud Secret Resolvers is a set of tools to help your applications (on Kubernetes) to retrieve any credentials from cloud managed vaults without the needed to write additional boilerplate code in your applications!.
  • thenewstack.io: Managing Secrets in Your DevOps Pipeline
  • thenewstack.io: Kubernetes Secrets Management: 3 Approaches, 9 Best Practices Developers must make early design choices about where to store secrets, how to retrieve them and how to make them available in an application.
  • siddhivinayak-sk.medium.com: Kubeseal & SealedSecret: Make your \u2018secrets\u2019 secure in SCM by using \u2018sealed secret\u2019 In this article, you will learn the theory and practice behind encrypting your secrets with SealedSecret & Kubeseal
  • "},{"location":"devsecops/#anti-patterns-wrong-secrets","title":"Anti Patterns. Wrong Secrets","text":"
    • commjoen/wrongsecrets: OWASP WrongSecrets Examples with how to not use secrets. Welcome to the OWASP WrongSecrets p0wnable app. With this app, we have packed various ways of how to not store your secrets. These can help you to realize whether your secret management is ok. The challenge is to find all the different secrets by means of various tools and techniques.
    "},{"location":"devsecops/#aws-secret-manager","title":"AWS Secret Manager","text":"
    • medium: AWS Secret Manager: Protect sensitive information and functionality \ud83c\udf1f Protect Your Secrets in ApplicationsSecrets are frequently used to protect sensitive information and functionality.
    • blog.opstree.com: AWS Secret Manager
    • aws/secrets-store-csi-driver-provider-aws: AWS Secrets Manager and Config Provider for Secret Store CSI Driver AWS offers two services to manage secrets and parameters conveniently in your code. AWS Secrets Manager allows you to easily rotate, manage, and retrieve database credentials, API keys, certificates, and other secrets throughout their lifecycle. AWS Systems Manager Parameter Store provides hierarchical storage for configuration data. The AWS provider for the Secrets Store CSI Driver allows you to make secrets stored in Secrets Manager and parameters stored in Parameter Store appear as files mounted in Kubernetes pods.
    • medium.com/@ishana98dadhich: Integrating AWS Secret Manager with EKS and use Secrets inside the Pods: Part-1 This blog provides you enough details on how you can use secrets (managed by AWS Secrets Manager) inside AWS EKS pods.
    • unixarena.com: Terraform \u2013 Source credentials from AWS secret Manager
    "},{"location":"devsecops/#password-hashing","title":"Password Hashing","text":"
    • pyca/bcrypt Modern(-ish) password hashing for your software and your servers.
    • argon2-cffi
    • docs.python.org: scrypt (standard library)
    • cryptography.io: scrypt (cryptography)
    "},{"location":"devsecops/#store-private-data-in-git-repo","title":"Store private data in git repo","text":"
    • git-secret.io
    • git-cipher
    "},{"location":"devsecops/#hashicorp-vault","title":"HashiCorp Vault","text":"
    • hashicorp/vault A tool for secrets management, encryption as a service, and privileged access management
    • hashicorp/vault-csi-provider: HashiCorp Vault Provider for Secrets Store CSI Driver HashiCorp Vault provider for the Secrets Store CSI driver allows you to get secrets stored in Vault and use the Secrets Store CSI driver interface to mount them into Kubernetes pods
    • vaultproject.io Manage Secrets and Protect Sensitive Data. Secure, store and tightly control access to tokens, passwords, certificates, encryption keys for protecting secrets and other sensitive data using a UI, CLI, or HTTP API.
    • medium: Coding for Secrets Reliability with HashiCorp Vault
    • hashicorp.com: Vault & Kubernetes: Better Together
    • OpenShift Blogs:
      • https://www.openshift.com/blog/managing-secrets-openshift-vault-integration
      • https://www.openshift.com/blog/vault-integration-using-kubernetes-authentication-method
      • https://www.openshift.com/blog/integrating-vault-with-legacy-applications
      • https://www.openshift.com/blog/integrating-hashicorp-vault-in-openshift-4
    • Vault Learning Resources: Vault 1.5 features and more
    • medium: Securing K8s Ingress Traffic with HashiCorp Vault PKIaaS and JetStack Cert-Manager
    • hashicorp.com: Automate Secret Injection into CI/CD Workflows with the GitHub Action for Vault
    • hashicorp.com: Use AWS Lambda Extensions to Securely Retrieve Secrets From HashiCorp Vault Developers no longer have to make their Lambda functions Vault-aware.
    • github.com/kelseyhightower: Serverless Vault with Cloud Run This tutorial walks you through deploying Hashicorp\u2019s Vault on Cloud Run, Google Cloud\u2019s container based Serverless compute platform.
    • confluent.io: How to Manage Secrets for Confluent with Kubernetes and HashiCorp Vault
    • digitalvarys.com: Simple Introduction to HashiCorp Vault
    • hashicorp.com: HCP Vault is now generally available on AWS \ud83c\udf1f
    • hashicorp.com: Serverless Secrets with HashiCorp Vault Learn how to securely store and retrieve credentials across providers for applications running within AWS Lambda, Azure Functions, and Google Cloud Functions.
    • thenewstack.io: HashiCorp Releases HCP Vault to Combat \u2018Secrets Management\u2019 Fatigue
    • datadoghq.com: Monitor HashiCorp Vault metrics and logs
    • thenewstack.io: Reasons to Implement HashiCorp Vault and Other Zero Trust Tools
    • hashicorp.com: Retrieve HashiCorp Vault Secrets with Kubernetes CSI Learn how to use CSI to expose secrets on a volume within a Kubernetes pod and retrieve them using our beta Vault Provider for the Kubernetes Secrets Store CSI Driver.
    • testdriven.io: Running Vault and Consul on Kubernetes
    • hashicorp.com: Onboarding Applications to Vault Using Terraform: A Practical Guide \ud83c\udf1f Learn how to build an automated HashiCorp Vault onboarding system with Terraform using sensible naming standards, ACL policy templates, pre-created application entities, and workflows driven by VCS and CI/CD.
    • hashicorp.com: Managing SSH Access at Scale with HashiCorp Vault Learn how to build scalable, role-based SSH access with SSH certificates and HashiCorp Vault.
    • devopscube.com: How to Setup Vault in Kubernetes- Beginners Tutorial \ud83c\udf1f
    • hashicorp.com: Retrieve HashiCorp Vault Secrets with Kubernetes CSI \ud83c\udf1f Learn how to use CSI to expose secrets on a volume within a Kubernetes pod and retrieve them using our beta Vault Provider for the Kubernetes Secrets Store CSI Driver.
    • devopscube.com: Vault Agent Injector Tutorial: Inject Secrets to Pods Using Vault Agent
    • hashicorp.com: Announcing HashiCorp Vault 1.8
    • hashicorp.com: A Kubernetes User\u2019s Guide to HashiCorp Nomad Secret Management Learn how secrets management in Kubernetes compares to HashiCorp Nomad, and see why HashiCorp Vault is a powerful solution for both.
    • hashicorp.com: HashiCorp Vault Use Cases and Best Practices on Azure
    • medium: Install Hashicorp Vault on Kubernetes using Helm - Part 1 | Marco Franssen
      • medium: Install Hashicorp Vault on Kubernetes using Helm \u2014 Part 2 | Marco Franssen
    • piotrminkowski.com: Vault on Kubernetes with Spring Cloud
    • hashicorp.com: Integrating Azure AD Identity with HashiCorp Vault \u2014 Part 1: Azure Application Auth via OIDC
    • medium.com/@pratyush.mathur: Secrets Management Using Vault in K8S
    • hashicorp.com: Kubernetes Vault Integration via Sidecar Agent Injector vs. CSI Provider In this post, you will explore the different methods of integrating HashiCorp Vault with Kubernetes and learn how to choose the best solution for your use case.
    • hashicorp.com: Manage Kubernetes Secrets for Flux with HashiCorp Vault Configure the Secrets Store CSI driver with HashiCorp Vault to securely inject secrets into Flux or other GitOps tools on Kubernetes.
    • hashicorp.com: How to Integrate Your Application with Vault: Static Secrets Learn how to retrieve static secrets from HashiCorp Vault in a real-world setting using a new sample application.
    • blog.devops.dev: Using Vault in Kubernetes Production for Security Engineers
    • hashicorp.com: HashiCorp Vault 1.11 Adds Kubernetes Secrets Engine, PKI Updates, and More \ud83c\udf1f

      • Favorite OSS feature is the K8S secrets engine that can generate K8S service accounts as dynamic secrets.
      • Favorite Ent feature is that Autopilot can now perform safe, automated upgrades.
      • Plus a dozen other improvements\u2026
    • medium.com/@nikhil.purva: Securing Kubernetes Secrets with HashiCorp Vault

    • hashicorp.com: The State of Vault and Kubernetes, and Future Plans Get an overview of the most common ways to use HashiCorp Vault and Kubernetes together, and get a preview of a new method we\u2019re considering.
    • alexandre-vazquez.com: How To Inject Secrets in Pods To Improve Security with Hashicorp Vault in 5 Minutes \ud83c\udf1f
    • medium.com/@martin.hodges: Introduction to Vault to provide secret management in your Kubernetes cluster One of the core Kubernetes resources is a Secret. However, these Secrets are not actually secure, as anyone with access to the cluster may be able to read and update the secret. This article introduces Vault into the cluster to securely manage secrets.
      • medium.com/@martin.hodges: Enabling TLS on your Vault cluster on Kubernetes In this article I look at adding TLS secured connections to our unprotected Vault cluster. We will do this to ensure our secrets remain, well, secret.
    • medium.com/@calvineotieno010: Managing Application Secrets with Hashicorp Vault
    • medium.com/@muppedaanvesh: A Hands-On Guide to Vault in Kubernetes Manage k8s Secrets Using HashiCorp Vault: With Practical Examples
    "},{"location":"devsecops/#hashicorp-vault-agent","title":"HashiCorp Vault Agent","text":"
    • harness.io: Tutorial: How to Use the New Vault Agent Integration Method With Harness
    • harness.io: Tutorial: Vault Agent Advanced Use Case With Kubernetes Delegates and Shared Volumes \ud83c\udf1f
    • hashicorp.com: Why Use the Vault Agent for Secrets Management?
    • medium.com/nerd-for-tech: PKI Certs Injection to K8s Pods with Vault Agent Injector In this article, you\u2019ll learn how to use the Vault Agent Injector to dynamically generate and Inject PKI Certs to Pods by rendering secrets to a shared volume, containers within the pod will consume Vault secrets without being Vault aware.
    • hashicorp.com: Refresh Secrets for Kubernetes Applications with Vault Agent Learn the system signal and live reload methods for updating Kubernetes applications when secrets change. See an example via a Spring Boot application.
    "},{"location":"devsecops/#azure-key-vault","title":"Azure Key Vault","text":"
    • docs.microsoft.com: Azure Key Vault
    • azure.github.io: Azure Key Vault Provider for Secrets Store CSI Driver
    • akv2k8s.io: Azure Key Vault to Kubernetes akv2k8s \ud83c\udf1f Azure Key Vault to Kubernetes (akv2k8s) makes Azure Key Vault secrets, certificates and keys available in Kubernetes and/or your application - in a simple and secure way
      • Azure Key Vault to Kubernetes Azure Key Vault to Kubernetes (akv2k8s for short) makes it simple and secure to use Azure Key Vault secrets, keys and certificates in Kubernetes.
    • Neoteroi/essentials-configuration-keyvault Azure Key Vault source for essentials-configuration
    • techcommunity.microsoft.com: In preview: Azure Key Vault secrets provider extension for Arc enabled Kubernetes clusters
    • vcloud-lab.com: Create Azure Key Vault Certificates on Azure Portal and Powershell
    "},{"location":"devsecops/#cyberark-and-ansible","title":"CyberArk and Ansible","text":"
    • ansible.com: Simplifying secrets management with CyberArk and Red Hat Ansible Automation Platform
    • ansible.com: Automating Security with CyberArk and Red Hat Ansible Automation Platform
    "},{"location":"devsecops/#cyberark-conjur","title":"CyberArk Conjur","text":"
    • conjur.org
    • infracloud.io: Securing Kubernetes Secrets with Conjur \ud83c\udf1f
    "},{"location":"devsecops/#sops-for-kubernetes","title":"SOPS for Kubernetes","text":"
    • dev.to: Manage your secrets in Git with SOPS for Kubernetes \ud83c\udf1f
    "},{"location":"devsecops/#aks-secrets","title":"AKS Secrets","text":"
    • mehighlow.medium.com: Hardened-AKS/Secrets Commonly, an application requires access to data and, usually, such access must be restricted. So, you need to provide your pod/deployment/replicaSet/DaemonSet with secrets. Learn how you can do so in AKS
    "},{"location":"devsecops/#kapitan","title":"Kapitan","text":"
    • Kapitan: Generic templated configuration management for Kubernetes, Terraform and other things
    • medium: Declarative secret management for GitOps with Kapitan
    "},{"location":"devsecops/#alternatives-with-kubernetes-external-secrets","title":"Alternatives with Kubernetes External Secrets","text":"
    • GitOps secret management with bitnami-labs Sealed Secret and GoDaddy Kubernetes External Secrets \ud83c\udf1f
      • Kubernetes External Secrets \ud83c\udf1f Integrate external secret management systems with Kubernetes. Kubernetes External Secrets allows you to use external secret management systems, like AWS Secrets Manager or HashiCorp Vault, to securely add secrets in Kubernetes.
      • thenewstack.io: GoDaddy\u2019s Project to Secure, Rotate Kubernetes Secrets \ud83c\udf1f
    • aws.amazon.com: Managing secrets deployment in Kubernetes using Sealed Secrets \ud83c\udf1f
    • dzone: Managing Secrets Deployment in GitOps Workflow \ud83c\udf1f The importance of keeping your secrets safe.
    • blog.container-solutions.com: The Birth of the External Secrets Community
    • itnext.io: Secrets injection at runtime from external Vault into Kubernetes \u2014 POC
    • jx-secret-postrenderer \ud83c\udf1f a helm postrenderer for working with helm and Kubernetes External Secrets. This post renderer lets you use helm charts which contain Secret resources and have those secrets managed by Kubernetes External Secrets without having to modify your charts. Want seamless support for kubernetes external secrets with existing helm charts? but you\u2019re not using Jenkins X yet? then why not try this helm post renderer.
    • thenewstack.io: Managing Kubernetes Secrets with AWS Secrets Manager \ud83c\udf1f
    • K8s Vault Webhook \ud83c\udf1f - github: k8s-vault-webhook A k8s vault webhook is a Kubernetes webhook that can inject secrets into Kubernetes resources by connecting to multiple secret managers
    • portworx.com: Implementing Data Security on Red Hat OpenShift \ud83c\udf1f
    "},{"location":"devsecops/#bitwarden","title":"Bitwarden","text":"
    • thenewstack.io: Walkthrough: Bitwarden\u2019s New Secrets Manager
    • morey.tech: Bitwarden and External Secrets
    "},{"location":"devsecops/#serverless-security-best-practices","title":"Serverless Security Best Practices","text":"
    • 10 Serverless security best practices
    "},{"location":"devsecops/#docker-images-and-container-security","title":"Docker Images and Container Security","text":"
    • thehackernews.com: Docker Images Containing Cryptojacking Malware Distributed via Docker Hub
    • sysdig.com: 12 Container image scanning best practices to adopt in production
    • infracloud.io: The Ten Commandments of Container Security
    • medium: KubeSecOps Pipeline(Container security) in a cloudnative ecosystem
    • sysdig.com: Sysdig 2021 container security and usage report: Shifting left is not enough \ud83c\udf1f
    • itnext.io: Hardening Docker and Kubernetes with seccomp \ud83c\udf1f
    • redhat.com: Improving Linux container security with seccomp \ud83c\udf1f Try this method of using an OCI runtime hook for tracing syscalls before you build a container.
    • openshift.com: Signing and Verifying Container Images \ud83c\udf1f
    • redhat.com: Introducing Red Hat Vulnerability Scanner Certification
    • docs.microsoft.com: Introduction to Azure Defender for container registries Defender for Container Registries Continuous Image Scan for vulnerabilities is now available for General Availability (GA)
    • techbeacon.com: 17 open-source container security tools \ud83c\udf1f
    • about.gitlab.com: How to secure your container images with GitLab and Grype - grype: a vulnerability scanner for container images and filesystems
    • GoogleContainerTools/container-structure-test validate the structure of your container images
    • dynatrace.com: Container security: What it is, why it\u2019s tricky, and how to do it right
    • betterprogramming.pub: Secure Your Kubernetes Cluster With Seccomp A hands-on guide to applying the principle of least-privilege on container\u2019s syscalls
    "},{"location":"devsecops/#sigstore","title":"Sigstore","text":"
    • sigstore.dev A new standard for signing, verifying and protecting software. Making sure your software\u2019s what it claims to be.
      • youtube: Hands-on Introduction to sigstore | Rawkode Live In this tutorial, you\u2019ll learn how to sign and verify container images with co-sign, with and without a private key.
    • opensource.com: Sign and verify container images with this open source tool (sigstore) The sigstore project aims at securing supply chain technology.
    "},{"location":"devsecops/#container-security-best-practices","title":"Container security best practices","text":"
    • sysdig.com: Container security best practices: Ultimate guide \ud83c\udf1f
    • dzone: A Practical Guide for Container Security Explore container security\u2019s fundamental principles and strategies, learn 2 specific methods, and examine tools and techniques for securing keys, tokens, and passwords.
    "},{"location":"devsecops/#pod-security-policies","title":"Pod Security Policies","text":"
    • octetz.com: Setting Up Pod Security Policies By default, Kubernetes allows anything capable of creating a Pod to run a fairly privileged container that can compromise a system. Pod Security Policies protect clusters from privileged pods by ensuring the requester is authorised.
    • infracloud.io: Kubernetes Pod Security Policies with Open Policy Agent In this blog post, you will learn about the Pod Security Policy admission controller. Then you will see how Open Policy Agent can implement Pod Security Policies.
    "},{"location":"devsecops/#kubernetes-network-policies","title":"Kubernetes Network Policies","text":"
    • medium.com: K8s Network Policies Demystified and Simplified \ud83c\udf1f
    • blog.nody.cc: Verify your Kubernetes Cluster Network Policies: From Faith to Proof
    • medium: Kubernetes Network Policies: Are They Really Useful?
    "},{"location":"devsecops/#static-analysis-sast","title":"Static Analysis SAST","text":"
    • DevSecOps \u2013 Static Analysis SAST with Jenkins Pipeline
    "},{"location":"devsecops/#kubernetes-security-tools","title":"Kubernetes Security Tools","text":"
    • europeclouds.com: Implementing Aqua Security to Secure Kubernetes
    • Pomerium is an identity-aware proxy that enables secure access to internal applications. Pomerium brings consistent authz/authn, tooling, and auditing across cloud and on-premise deployments. No VPN or cloud provider account is required
    • cloud.redhat.com: Top Open Source Kubernetes Security Tools of 2021 \ud83c\udf1f\ud83c\udf1f
    • fluentbit.io Fluent Bit is an open source Log Processor and Forwarder which allows you to collect any data like metrics and logs from different sources, enrich them with filters and send them to multiple destinations. It\u2019s the preferred choice for containerized environments like Kubernetes.
      • falco.org: Detect Malicious Behaviour on Kubernetes API Server through gathering Audit Logs by using FluentBit - Part 2
    • kubearmor.io Runtime protection for Kubernetes & other cloud Workloads. KubeArmor uses eBPF and Linux Security Modules (LSM) to provide policy based system to restrict any unwanted, malicious behavior of cloud-native workloads at runtime.
      • itnext.io: Protecting Your Kubernetes Environment With KubeArmor In this article, you will learn how to use KubeArmor to define policies and protect your containerized workloads. You will test the setup against the ShellShock vulnerability and compare it to AppArmor.
    "},{"location":"devsecops/#helm-charts-security-helm-secrets","title":"Helm Charts Security. Helm Secrets","text":"
    • medium: Who\u2019s at the Helm? Or, how to deploy 25+ CVEs to prod in one command!
    • itnext.io: Helm 3 \u2014 Secrets management, an alternative approach \ud83c\udf1f
    • itnext.io: Manage Auto-generated Secrets In Your Helm Charts \ud83c\udf1f
    • dev-vibe.medium.com: Encrypt Helm sensitive data A guide on how to stay safe when pushing helm values files containing Your passwords and other sensitive data to the version control tool.
    "},{"location":"devsecops/#password-recovery","title":"Password Recovery","text":"
    • hashcat
    "},{"location":"devsecops/#attacks-on-kubernetes-via-misconfigured-argo-workflows","title":"Attacks on Kubernetes via Misconfigured Argo Workflows","text":"
    • intezer.com: New Attacks on Kubernetes via Misconfigured Argo Workflows
    "},{"location":"devsecops/#pki","title":"PKI","text":"
    • devops.com: How to Automate PKI for DevOps With Open Source Tools The ultimate goal of PKI for DevOps is to provision PKI credentials for business applications without hard-coded secrets, which is one less risk to concern the security team. The goal of DevOps for PKI is to automatically deploy a completely configured PKI solution, which is one less roadblock for DevOps teams.
    "},{"location":"devsecops/#network-intrusion-tools","title":"Network Intrusion Tools","text":"
    • cybersecsi/HOUDINI: Hundreds of Offensive and Useful Docker Images for Network Intrusion - https://houdini.secsi.io
    "},{"location":"devsecops/#other-security-tools","title":"Other Security Tools","text":"
    • itnext.io: Top 6 Threat Detection Tools for Containers Essentials to Securing Threats for Containerized Cloud-Native Applications
    • thenewstack.io: AWS Open Sources Security Tools AWS is open sourcing its Cedar policy language and authorization engine and Snapchange, an open source snapshot-based fuzzing tool.
    "},{"location":"devsecops/#torq-no-code-security-automation","title":"Torq. No code Security Automation","text":"
    • https://torq.io No-code Security Automation
    • sentinelone.com: Reducing Human Effort in Cybersecurity | Why We Are Investing in Torq\u2019s Automation Platform
    "},{"location":"devsecops/#security-guard","title":"Security-Guard","text":"
    • pkg.go.dev/knative.dev/security-guard
    • developer.ibm.com: Secure microservices by monitoring behavior An open source Kubernetes-native extension to secure containerized applications.
    "},{"location":"devsecops/#books","title":"Books","text":"
    • Microservices Security in Action
    "},{"location":"devsecops/#cves","title":"CVEs","text":"
    • sysdig.com: Mitigating CVE-2021-20291: DoS affecting CRI-O and Podman
    • armosec.io: Use Kubescape to check if your Kubernetes clusters are exposed to the latest K8s Symlink vulnerability (CVE-2021-25741)
    "},{"location":"devsecops/#log4j-log4shell","title":"Log4j Log4Shell","text":"
    • sysdig.com: Mitigating log4j with Runtime-based Kubernetes Network Policies
    • github.com/aws-samples: Apache Log4j2 CVE-2021-44228 node agent AWS has developed an RPM that performs a JVM-level hot-patch which disables JNDI lookups from the Log4j2 library, mitigating Log4j2 CVE-2021-44228. The Apache Log4j2 CVE-2021-44228 node agent is an open source project built by the Kubernetes team at AWS. It is designed to run as a DaemonSet and mitigate the impact of Log4j2 CVE-2021-44228, which affects applications running Apache Log4j2 versions < 2.15.0 when processing inputs from untrusted sources. Running this DeamonSet will patch JVMs running in containers as well as on the host.
    • proferosec/log4jScanner This tool provides you with the ability to scan internal (only) subnets for vulnerable log4j web services.
    • Apache Log4j Security Vulnerabilities
    • cloud.redhat.com: Log4Shell: Practical Mitigations and Impact Analysis of the Log4j Vulnerabilities
    • edition.cnn.com: The Log4j security flaw could impact the entire internet. Here\u2019s what you should know
    • yahoo/check-log4j To determine if a host is vulnerable to log4j CVE\u20102021\u201044228
    • welivesecurity.com: Lo que todo l\u00edder de una empresa debe saber sobre Log4Shell Se est\u00e1n detectando cientos de miles de intentos de ataque que buscan explotar la vulnerabilidad.
    • genbeta.com: \u201cInternet est\u00e1 en llamas\u201d: Cloudflare ha detectado m\u00e1s de 24.600 ataques por minuto que explotaban la vulnerabilidad Log4Shell
    • dynatrace.com: Log4Shell vulnerability
    • Maelstromage/Log4jSherlock Log4j Scanner coded in Powershell, so you can run it in windows! This tool scans for JAR, WAR, EAR, JPI, HPI that contain the effected JndiLookup.class even in nested files. Scans nested files searches for the effected JNDI class. pulls version and reports in CSV, JSON, and txt log. reports error i.e. access issues to folders where files could be missed.
    • blog.mimacom.com: A Summary of log4j Exploit in a Log4shell - What Happened and What You Can Do About It
    • cyberscoop.com: The Log4j flaw is the latest reminder that quick security fixes are easier said than done
    • vpnranks.com: Belgian Defense Ministry Under Cyber Attack Due to Log4j Vulnerability
    • dynatrace.com: Log4Shell vulnerability discovery and mitigation require automatic and intelligent observability
    • thenewstack.io: Yet Another Log4j Security Problem Appears
    • cisagov/log4j-scanner log4j-scanner is a project derived from other members of the open-source community by CISA to help organizations identify potentially vulnerable web services affected by the log4j vulnerabilities.
    • venturebeat.com: What Log4Shell teaches us about open source security
    • tanzu.vmware.com: Log4Shell Vulnerability Spotlights the Importance of Adopting Trusted Open Source Software Providers for the Enterprise
    • google/log4jscanner A log4j vulnerability filesystem scanner and Go package for analyzing JAR files.
    • thehackernews.com: Microsoft Warns of Continued Attacks Exploiting Apache Log4j Vulnerabilities
    • zdnet.com: Log4j: Google and IBM call for list of critical open source projects After attending a meeting at the White House, Google also proposed creating an organization to serve as a marketplace for open source maintenance.
    "},{"location":"devsecops/#powershell","title":"Powershell","text":"
    • it.slashdot.org: And the Top Source of Critical Security Threats Is\u2026PowerShell Microsoft\u2019s CLI management tool was the source of more than a third of critical security threats detected by Cisco in the second half of 2020, according to eSecurity Planet.
    "},{"location":"devsecops/#nmap-scripts","title":"Nmap scripts","text":"
    • therecord.media: UK government plans to release Nmap scripts for finding vulnerabilities
      • ncsc.gov.uk: Introducing Scanning Made Easy Trial project makes vulnerability scanning easier.
    "},{"location":"devsecops/#lets-encrypt-ssl-certificates","title":"Let\u2019s Encrypt SSL certificates","text":"
    • techrepublic.com: How to create Let\u2019s Encrypt SSL certificates with acme.sh on Linux
    "},{"location":"devsecops/#waf-web-application-firewall","title":"WAF Web Application Firewall","text":"
    • thenewstack.io: WAF: Securing Applications at the Edge
    "},{"location":"devsecops/#more-security-tools","title":"More Security Tools","text":"
    • zdnet.com: Google releases new open-source security software program: Scorecards How safe is that open-source software in the Git library, the one with the questionable history? Scorecard 2.0 can quickly tell you just how secure, or not, it really is.
    • sysadminxpert.com: How to do Security Auditing of CentOS System Using Lynis Tool
    • tryhackme.com: Metasploit: Introduction An introduction to the main components of the Metasploit Framework. Metasploit is a powerful tool that can support all phases of a penetration testing engagement
    • bridgecrew The codified cloud security platform for developers. Complete security and compliance visibility streamlined into developer-friendly workflows.
      • bridgecrew.io: Tutorial: Incorporate IaC Security in your CI/CD pipeline with Bridgecrew, Jenkins, and GitHub
    • socket.dev: Introducing Socket Socket\u2019s mission is to make open source safer. A platform that protects your most critical apps from software supply chain attacks.
    • itbusinessedge.com: Okta vs. Azure AD: IAM Tool Comparison
    • deepfence/ThreatMapper \ud83c\udf1f \ud83d\udd25 \ud83d\udd25 Open source cloud native security observability platform. Linux, K8s, AWS Fargate and more. \ud83d\udd25 \ud83d\udd25 ThreatMapper hunts for vulnerabilities in your production platforms and ranks these vulnerabilities based on their risk of exploitation. You can then prioritize the issues that present the greatest risk to the security of your applications.
    • github.com/goauthentik/authentik authentik is an open-source Identity Provider focused on flexibility and versatility
    • github.com/openappsec/openappsec open-appsec provides preemptive web app & API threat protection against OWASP-Top-10 and zero-day attacks. It can be deployed as an add-on to Kubernetes Ingress, NGINX, Envoy and API Gateways.
    • Microsoft Security Copilot
    • github.com/prowler-cloud/prowler \ud83c\udf1f\ud83c\udf1f Prowler is an Open Source Security tool for AWS, Azure and GCP to perform Cloud Security best practices assessments, audits, incident response, compliance, continuous monitoring, hardening and forensics readiness. Includes CIS, NIST 800, NIST CSF, CISA, FedRAMP, PCI-DSS, GDPR, HIPAA, FFIEC, SOC2, GXP, Well-Architected Security, ENS and more.
    "},{"location":"devsecops/#videos","title":"Videos","text":"Click to expand!"},{"location":"devsecops/#twitter","title":"Twitter","text":"Click to expand!

    End to End Encryption Explained#infosec #cybersecurity #pentesting #oscp #informationsecurity #hacking #cissp #redteam #technology #DataSecurity #CyberSec #Hackers #tools #bugbountytips #Linux #infosec #itsecurity #cybersecuritytips #securitybreach #encryption pic.twitter.com/eejf8JL9VF

    \u2014 Shubham Sharma (@Shubham_pen) February 13, 2022

    Critical Log Review Checklist For Security Incidents - by @SANSInstitute #infosec #cybersecurity #pentesting #oscp #informationsecurity #hacking #cissp #redteam #technology #DataSecurity #CyberSec #Hackers #tools #bugbountytips #Linux #infosec #itsecurity #cybersecuritytips pic.twitter.com/4zWIq1pkYO

    \u2014 Shubham Sharma (@Shubham_pen) February 13, 2022

    • Kubernetes Security Best Practices: A DevSecOps Perspective - This LinkedIn post discusses the challenges women face in advancing their careers in asset management, particularly concerning promotion decisions during childbearing years. It highlights how career interruptions and childcare responsibilities can disproportionately affect women\u2019s earnings and career progression. The author also touches on the career risks associated with pregnancy for women in new roles.
    "},{"location":"digital-money/","title":"Digital Money","text":"
    1. Introduction
    2. Tweets
    3. Spanish Videos
    4. English Videos
    "},{"location":"digital-money/#introduction","title":"Introduction","text":"
    • en.wikipedia.org: Cryptocurrency
    • en.wikipedia.org: Blockchain
    • Tether (USDt)
    "},{"location":"digital-money/#tweets","title":"Tweets","text":"Click to expand!

    OK fine. But then let me tell you what cryptocurrencies are!Here is my public answer to Christine Lagarde @LagardeRetweet if you agree! pic.twitter.com/2ggx3dssNq

    \u2014 CTO Larsson \ud83d\udc99\ud83d\udc9b cto.eth (@ctoLarsson) September 18, 2021

    A SWIFT payment takes 2-5 days to settle.A crypto transaction usually does not take more than a few minutes up to an hour.I prefer to get and send my money faster.It's sometimes that simple.

    \u2014 Oliver Jumpertz (@oliverjumpertz) September 18, 2021

    Crypto is a systemic shock that\u2019ll make society more equal.Rising inequality is an inevitable feature of capitalism. But like all systemic shocks through history, the rise of crypto\u2019ll help reset wealth distribution. Here\u2019s why & what it means for your own wealth strategy \ud83d\udc47

    \u2014 Tascha (@RealNatashaChe) October 1, 2021

    Blockchain: A new hope, or just hype? https://t.co/VsDcQShJEo #technology pic.twitter.com/bi3QPWbFrP

    \u2014 World Economic Forum (@wef) 11 de febrero de 2017

    What are the skills needed to become a #blockchain expert #Python #DataScientist #BigData #Analytics #DataScience #AI #IIoT #PyTorch #RStats #TensorFlow #JavaScript #ReactJS #CloudComputing #Serverless #Linux #Coding #100DaysofCode #ML #programming #flutter #golang #DL #Jupyter pic.twitter.com/8ZeoRrkFrs

    \u2014 Syeda Sheraj Ali (@Sheraj99) January 18, 2022

    \ud83d\udd32Blockchain in many languagesHere are some repos on GitHub to check a simple blockchain implementation for:JavaScript \u2192 Savjee/SavjeeCoinPython \u2192 satwikkansal/python_blockchain_appGo \u2192 Jeiwan/blockchain_goPHP \u2192 akondas/php-blockchainJava \u2192 Will1229/Blockchain\u2193

    \u2014 Francesco Ciulla (@FrancescoCiull4) January 30, 2022"},{"location":"digital-money/#spanish-videos","title":"Spanish Videos","text":"Click to expand!"},{"location":"digital-money/#english-videos","title":"English Videos","text":"Click to expand!"},{"location":"digitalocean/","title":"Digital Ocean","text":"
    1. Introduction
    2. Digital Ocean Kubernetes (DOKS)
    3. Migrating to Digital Ocean with CloudPlex
    4. Community Tools
    5. App Platform. Digital Ocean PaaS
    "},{"location":"digitalocean/#introduction","title":"Introduction","text":"
    • Digital Ocean
    "},{"location":"digitalocean/#digital-ocean-kubernetes-doks","title":"Digital Ocean Kubernetes (DOKS)","text":"
    • Digital Ocean Kubernetes (DOKS)
    "},{"location":"digitalocean/#migrating-to-digital-ocean-with-cloudplex","title":"Migrating to Digital Ocean with CloudPlex","text":"
    • try.digitalocean.com/cloudplex CloudPlex unlocks the freedom to migrate applications to the cloud of your choice. Avoid vendor lock-in and start taking advantage of DigitalOcean\u2019s simple Managed Kubernetes.
    "},{"location":"digitalocean/#community-tools","title":"Community Tools","text":"
    • How to run Deepseek R1 LLMs on GPU Droplets - (Related to ai topic)

    • Community Tools \ud83c\udf1f

    • NGINXConfig The easiest way to configure a performant, secure, and stable NGINX server.
    "},{"location":"digitalocean/#app-platform-digital-ocean-paas","title":"App Platform. Digital Ocean PaaS","text":"
    • App Platform
    • App Platform - Digital Ocean PaaS
    • theregister.com: DigitalOcean decides to head rivals off at the PaaS, floats App Platform to deploy, run code without juggling servers
    • thenewstack.io: DigitalOcean App Platform Eases Kubernetes Deployments for Developers
    "},{"location":"docker/","title":"Docker","text":"
    1. Introduction and Tutorials
    2. Docker Best Practices
    3. Docker Networking
    4. Docker Volumes
    5. Debugging
    6. Docker CLI
    7. Docker Extensions
    8. Docker Swarm
    9. Awesome Lists
    10. Docker VS Kubernetes
    11. Docker for LLMs
    12. Docker Patterns and Antipatterns
    13. Docker Security
    14. How To Build a Smaller Docker Image and write dockerfiles efficiently
    15. Reducing Build Time
    16. Modify containers without rebuilding
    17. Docker Tools
    18. Docker and WSL2
    19. Docker and Docker Swarm Cheat sheets
    20. Docker Compose
    21. Moving Linux Services Into Containers
    22. Windows Containers
    23. Portainer
    24. DockStation
    25. Linux Container Base Images
    26. Blogs
    27. Cloud Native Buildpacks
    28. Alternatives to Docker. Available alternatives to Docker for OCI compliant container image building
    29. Videos and Podcasts
    30. Tweets
    "},{"location":"docker/#introduction-and-tutorials","title":"Introduction and Tutorials","text":"
    • Dzone refcard: Getting Started with Docker
    • Dzone refcard: Java Containerization \ud83c\udf1f
    • americanexpress.io: Do Not Run Dockerized Applications as Root \ud83c\udf1f
    • medium.freecodecamp.com: A Beginner-Friendly Introduction to Containers, VMs and Docker
    • Play with docker \ud83c\udf1f A simple, interactive and fun playground to learn Docker
    • medium: Strategies of docker images optimization
    • Dzone: Docker explained, an introductory guide to docker
    • Dzone: everything you need to know about docker
    • GitHub build-push-action Build+push official Docker GitHub action
    • itnext.io: Getting Started with Docker: Facts You Should Know \ud83c\udf1f
    • jfrog.com: A Beginner\u2019s Guide to Understanding and Building Docker Images \ud83c\udf1f
    • Broken by default: why you should avoid most Dockerfile example \ud83c\udf1f
    • medium: What is Docker, Why should you use it in simple words
    • docker.com: Top Questions for Getting Started with Docker \ud83c\udf1f
    • medium: How to Start Working With Docker Containers
    • dzone: Mitigating DevOps Repository Risks Docker is in the news for two reasons: Image retention limits and download throttling. Let\u2019s discuss both and see the better alternatives.
    • Top 18 Docker commands for Automation Tester/Devops/SDET/Test Lead? \ud83c\udf1f
    • A Gentle Introduction to Using a Docker Container as a Dev Environment \ud83c\udf1f
    • docs.docker.com: Deploying Docker containers on ECS
      • AWS and Docker collaborate to simplify the developer experience
      • From Docker Straight to AWS
    • A Gentle Introduction to Using a Docker Container as a Dev Environment
    • martinheinz.dev: It\u2019s Time to Forget About Docker \ud83c\udf1f
    • docker.com: Docker Hub Experimental CLI tool
    • docker.com: Year in Review: The Most Viewed Docker Blog Posts of 2020 Part 1 \ud83c\udf1f
    • docker.com: Year in Review: The Most Viewed Docker Blog Posts of 2020 Part 2 \ud83c\udf1f
    • adictosaltrabajo.com: C\u00f3mo crear y desplegar microservicios con Spring Boot, Spring Cloud Netflix y Docker
    • cloudsavvyit.com: How to Use Cron With Your Docker Containers
    • infoq.com: Docker Hub and JFrog Partnership Removes Image Pull Limits for Artifactory Users
    • technology.doximity.com: Buildpacks vs Dockerfiles \ud83c\udf1f Exploring the tradeoffs of building container images at scale
    • docker.com: Containerized Python Development \u2013 Part 1
      • docker.com: Containerized Python Development \u2013 Part 2
      • docker.com: Containerized Python Development \u2013 Part 3
    • pythonspeed.com: The worst so-called \u201cbest practice\u201d for Docker
    • developers.redhat.com: Making environment variables accessible in front-end containers
    • medium: Dockerizing a REST API in Python Less Than 9 MB and Based on scratch Image
    • datamechanics.co: Optimized Apache Spark Docker Images
    • theskillpedia.com: Managing docker images - openshift tutorial
    • iximiuz.com: Container Networking Is Simple!
    • r-bloggers.com: Dockerizing Shiny Applications
    • pythonspeed.com: Docker can slow down your code and distort your benchmarks
    • turbofuture.com: A Beginners Guide to Containers and Docker
    • releasehub.com: Cutting Build Time In Half with Docker\u2019s Buildx Kubernetes Driver
    • medium.com/nttlabs: Kubernetes driver for Docker BuildX In this article, you will learn how Docker BuildX supports building images using BuildKit pods on a Kubernetes cluster. Docker BuildX, the extended version of docker build CLI, now supports distributed image building using Kubernetes!
    • linuxadictos.com: Docker presenta nuevas capacidades para desarrolladores
    • grafana.com: Docker Integration for Grafana Cloud Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly.
    • dev.to: Docker CMD vs ENTRYPOINT: explaining the difference
    • blog.gougousis.net: File Permissions: the painful side of Docker \ud83c\udf1f
      • \u201cExcellent description of user ids and access rights in Docker; it\u2019s a non trivial issue and there\u2019s no silver bullet other than to avoid running your containers with a privileged user. As a bonus, I personally like openshift approach (random UIDs belonging to the super user GID)\u201d
    • medium: Push Docker Image To Docker Hub Create Docker hub account and push Docker image.
    • blog.thundra.io: Why Should You Run All Your Tests in Docker? \ud83c\udf1f
    • returngis.net: Crea hosts de Docker con Docker Machine en Microsoft Azure
    • dev.to: Docker 101!
    • pawelurbanek.com: asdf and Docker for Managing Local Development Dependencies
    • tecmint.com: How to Install Docker on Rocky Linux and AlmaLinux
    • blog.adoptium.net: Using Jlink in Dockerfiles instead of a JRE
    • cloudsavvyit.com: How to SSH into a Docker container
    • cloudsavvyit.com: How to use docker cp to copy files between host and containers
    • baeldung.com: Deploying a Java War in a Docker Container
    • returngis.net: Explorar gr\u00e1ficamente el contenido de un volumen de Docker
    • opensource.com: What is a container image? A container image contains a packaged application, along with its dependencies, and information on what processes it runs when launched.
    • zdnet.com: Docker changes its subscription plans, usage rules, and product line
    • servethehome.com: Docker Abruptly Starts Charging Many Users for Docker Desktop
    • matt-rickard.com: An Overview of Docker Desktop Alternatives
    • blog.aquasec.com: How Do Containers Contain? Container Isolation Techniques
    • infoworld.com: How Docker broke in half The game changing container company is a shell of its former self. What happened to one of the hottest enterprise technology businesses of the cloud era?
    • cloudsavvyit.com: How to Pass Environment Variables to Docker Containers
    • dev.to: One does not \u201cjust containerize\u201d an app
      • The Docker ecosystem is filled with leaky abstractions. The utopian vision of Docker containers is a world where a developer can grab a base container for a language, copy in their code with a minimal Dockerfile, and be ready to develop and deploy instantly.
      • Unfortunately, this landscape is filled with per-language gotchas that make this world a far cry from reality. Here are some of the wonky things I\u2019ve run into when working with containers.
    • cloudsavvyit.com: How To Clean Up and Delete Docker Images
    • itnext.io: Software development in containers \u2014 a cookbook \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f A guide to developing containerized software
    • dev.to: How to create a production Docker image
    • dev.to: How to run docker on Windows without Docker Desktop
    • dev.to: Beginner\u2019s guide to Docker and Docker CLI commands
    • freecodecamp.org: Learn How to Deploy 12 Apps to AWS, Azure, & Google Cloud
    • cloudsavvyit.com: How to Assign a Static IP to a Docker Container
    • cloudsavvyit.com: How to Inspect a Docker Image\u2019s Content Without Starting a Container
    • freecodecamp.org: Why You Should Start Using Docker Right Now
    • infoworld.com: Docker really did change the world Developers quickly understood the value of containers for building cloud-native applications, and that the Docker command-line tool was better than all of the bells and whistles they got with PaaS.
    • cloudsavvyit.com: How (and Why) to Run Docker Inside Docker
    • cloudsavvyit.com: What\u2019s the Difference Between Exposing and Publishing a Docker Port?
    • clavinjune.dev: Working With Remote Docker Using Docker Context This is a cheatsheet for working with docker context to connect remote docker locally. Might help you to work with remote docker without manually SSH to the remote server.
    • cloudsavvyit.com: How to Add a Volume to an Existing Docker Container
    • cloudsavvyit.com: How to Manage Docker Engine Plugins
    • iximiuz.com: Learning Containers From The Bottom Up | Ivan Velichko \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Efficient Learning Path to Grasp Containers Fundamentals
    • thenewstack.io: The Time to Decide on Docker Desktop Has Arrived
    • codeproject.com: How to Create an Image in Docker using Python
    • thenewstack.io: How to Share Data Between Docker Containers
    • iximiuz.com: Containers 101: attach vs. exec - what\u2019s the difference?
    • acloudguru.com: Docker COPY vs ADD: What\u2019s the difference?
    • thenewstack.io: How to Run Docker in Rootless Mode
    • mjovanc.com: Get started with Docker and Docker Compose
    • dev.to: Docker: Explained to a 5 year old. \ud83d\udc76\ud83c\udffb
    • nishnit007.medium.com: A Journey from Dockerfile to Application Deployment on Kubernetes For Beginners
    • freecodecamp.org: Docker Cache \u2013 How to Do a Clean Image Rebuild and Clear Docker\u2019s Cache
    • dev.to: Docker 101: Introduction to Docker
    • medium.com/@joelbelton: Optimising Docker Performance \u2014 The Key 4 Techniques You Need
    • medium.com/geekculture: Docker \u2014 Limit Container CPU Usage \ud83c\udf1f
    • devtron.ai: Understand CMD and ENTRYPOINT Differences in Docker
    • fatehmuhammad.medium.com: Introduction to Docker | part 1
    • cloudnativeislamabad.hashnode.dev: Introduction to Docker | part 1 \ud83c\udf1f
    • docker-curriculum.com: A Docker Tutorial for Beginners \ud83c\udf1f
    • hostinger.in: What Is Docker and How Does It Work? \u2013 Docker Explained
    • blog.devgenius.io: Container \u2014 Namespace Introduction Introduction to common container namespaces
    • viblo.asia: How to prevent out-of-disk space when using Docker?
    • iximiuz.com: What Actually Happens When You Publish a Container Port \ud83c\udf1f \u201cPort publishing\u201d seems to be a term coined by Docker. But \u201cport forwarding\u201d aka \u201cport mapping - as a form of socket redirection - was a well-known trick well before the invention of containers. How are the two different?
    • iximiuz.com: How To Publish a Port of a Running Container \ud83c\udf1f
    • medium.com/@BeNitinAgarwal: Lifecycle of Docker Container
    • docker.com: Docker Compose: What\u2019s New, What\u2019s Changing, What\u2019s Next
    • medium.com/@i180826: Using Docker to build React App
    • dev.to: Simplify Your Dockerfile wiyth Rust programming language| Kamesh Sampath
    • itprotoday.com: Is Docker Still Worth Learning for IT Operations Teams? Probably Not While Docker isn\u2019t dead, Docker tooling may be. Here\u2019s why learning Docker tools isn\u2019t as important as it once was, especially for ITOps teams.
    • kennybrast.medium.com: How I Used Docker to Create a Python Dev Environment
    • youtube: Docker 101 (Workshop) how an application can be run using Docker containers. First, you\u2019ll learn how to take an application all the way from source code to a running container. Docker-compose, networking, multi-stage and more \ud83c\udf1f
    • codementor.io: Docker: What\u2019s Under the Hood? How does Docker work? Get a better understanding of the skeleton of Docker, Virtualization, and future development
    • dev.to/javinpaul: My Favorite Free Courses to Learn Docker and Containers in 2023
    • tonylixu.medium.com: Docker RUN vs CMD vs ENTRYPOINT Differences between three Docker build instructions
    • dev.to: Building a Robust CI/CD Pipeline with Docker: A Comprehensive Guide By adopting CI/CD, you can ensure your code is consistently tested & validated, reducing the likelihood of introducing errors and increasing overall software quality.
    • dev.to: Docker : From Zero to Hero \ud83d\udef8 ( part 1) | Prasenjeet Kumar Docker is a tool that allows you to package, distribute and run apps as containers. It provides an efficient & consistent way to deploy apps across different environments, from dev to prod.
    • dzone: Components of Container Management Strategizing beyond build and run: Explore the benefits of containers that are widely evident around the cloud-native world and its modernization journey.
    • devopscube.com: How to Build Docker Image : Comprehensive Beginners Guide
    • pointbase.hashnode.dev: Understand Docker layers by example : RUN instructions Impact
    "},{"location":"docker/#docker-best-practices","title":"Docker Best Practices","text":"
    • blog.docker.com: Intro Guide to Dockerfile Best Practices \ud83c\udf1f
    • docker.com: Intro Guide to Dockerfile Best Practices
    • docker.com: Speed Up Your Development Flow With These Dockerfile Best Practices
    • sysdig.com: Top 20 Dockerfile best practices \ud83c\udf1f
    • testdriven.io: Docker Best Practices for Python Developers
    • dev.to: Top 8 Docker Best Practices for using Docker in Production \ud83c\udf1f
    • dev.to: Top 5 Docker Best Practices
    • stevelasker.blog: Docker Tagging: Best practices for tagging and versioning docker images
    • faun.pub: Dockerfile Best Practices for Developers | Pavan Belagatti
    • azeynalli1990.medium.com: 15 Best Practices when working with Docker
    "},{"location":"docker/#docker-networking","title":"Docker Networking","text":"
    • hwchiu.medium.com: Docker Networking Model \u2014 Introduction This article provides an overview of several basic network models for Docker Containers:
      • None
      • Host
      • Bridge
      • Container:$ID
    "},{"location":"docker/#docker-volumes","title":"Docker Volumes","text":"
    • medium: Understanding Docker Volumes, Mounts and Layers and How to Manage Data in Containers
    • spacelift.io: Docker Volumes \u2013 Guide with Examples Volumes are a mechanism for storing data outside containers. All volumes are managed by Docker & stored in dedicated directory on your host, usually /var/lib/docker/volumes for Linux systems
    • docs.netapp.com: Work with docker volumes - Astra Trident \ud83c\udf1f
    "},{"location":"docker/#debugging","title":"Debugging","text":"
    • betterprogramming.pub: 5 Simple Tips For Debugging Docker Containers \ud83c\udf1f Smoke out annoying container problems with minimal insanity
    • iximiuz.com: Docker: How To Debug Distroless And Slim Containers \ud83c\udf1f A handy way to troubleshoot containers lacking a shell and/or debugging tools (e.g, scratch, slim, or distroless)
    "},{"location":"docker/#docker-cli","title":"Docker CLI","text":"
    • docs.docker.com: docker buildx imagetools Commands to work on images in registry
    • Who is still copying images between registries with:

      • docker cli:
        • docker pull
        • docker tag
        • docker push
        • Use:
          • crane cp
          • Or even:

            • cosign cp
            • It\u2019s faster, and supports multi-arch (and cosign copies signatures/sboms/attestations)

            • "},{"location":"docker/#docker-extensions","title":"Docker Extensions","text":"
              • dev.to: 9 Docker Extensions Every Developer Must Try
              • github.com/Saniewski/mongo-express-docker-extension Docker Extension for creating and running an embedded instance of Mongo Express connected to any accessible MongoDB server.
              "},{"location":"docker/#docker-swarm","title":"Docker Swarm","text":"
              • Docker Swarm
              "},{"location":"docker/#awesome-lists","title":"Awesome Lists","text":"
              • Awesome Docker \ud83c\udf1f
              • Awesome Compose \ud83c\udf1f
              • github.com/pabpereza/curated-dockerfiles-examples: Curated Dockerfiles examples Public repository dedicated to guide the use of multi-stage and distroless dockerfile examples in docker, or other containers technologies, with the objetive to create secured templates for new developments
              "},{"location":"docker/#docker-vs-kubernetes","title":"Docker VS Kubernetes","text":""},{"location":"docker/#docker-for-llms","title":"Docker for LLMs","text":"
              • Docker for LLMs - This page from Docker introduces how Docker can be leveraged to deploy and manage Large Language Models (LLMs), highlighting its capabilities in simplifying the LLM development lifecycle. It covers aspects like packaging models, managing dependencies, and scaling LLM applications.

              • blog.testproject.io: A Comparison of Kubernetes and Docker

              • containerjournal.com: What\u2019s the Difference Between Docker and Kubernetes?
              "},{"location":"docker/#docker-patterns-and-antipatterns","title":"Docker Patterns and Antipatterns","text":"
              • codefresh.io: Docker anti-patterns \ud83c\udf1f
              • medium: Docker anti-patterns | Codefresh
                • Creating Docker files that are not transparent.
                • Creating Dockerfiles that have side effects.
                • Confusing images used for deployment with those used for development.
                • Building different images per environment.
              "},{"location":"docker/#docker-security","title":"Docker Security","text":"
              • Docker Hardened Images for Every Developer \ud83c\udf1f - This article from Docker introduces their new hardened images, designed to provide developers with a more secure foundation for building and deploying containerized applications. It highlights the benefits of using these images and how they contribute to a stronger security posture.

              • thehackernews.com: Docker Images Containing Cryptojacking Malware Distributed via Docker Hub

              • acloudguru.com: 10 Docker Security Best Practices to Cut Container Chaos
              • brianchristner.io: How to use Docker Security Scan Locally Docker included a new command called docker scan that scans local images against the Snyk security engine, providing you with security visibility into your local Dockerfiles and images.
              • snyk.io: 10 Docker Security Best Practices \ud83c\udf1f
              • cheatsheetseries.owasp.org: Docker Security Cheat Sheet \ud83c\udf1f\ud83c\udf1f
              • augmentedmind.de: Docker optimization guide: the 12 best tips to optimize Docker image security
              • infoq.com: Is Docker Secure Enough?
              • clickittech.com: The Ultimate Docker Security Best Practices for Your Node.js Application Top 12 Docker Security Best Practices
              • infosecwriteups.com: Attacking and securing Docker containers
              • securitylabs.datadoghq.com: Container security fundamentals: Exploring containers as processes
              "},{"location":"docker/#how-to-build-a-smaller-docker-image-and-write-dockerfiles-efficiently","title":"How To Build a Smaller Docker Image and write dockerfiles efficiently","text":"
              • developers.redhat.com: Keep it small: a closer look at Docker image sizing
              • medium: How to build a smaller Docker image When you\u2019re building a Docker image it\u2019s important to keep the size under control. Having small images means ensuring faster deployment and transfers.
              • itsopensource.com: How to Reduce Node Docker Image Size by 10X
              • blog.bitsrc.io: Best Practices for Writing a Dockerfile Optimize your Docker Image by following these best practices from day one.
              • sequoia.makes.software: Reducing Docker Image Size (Particularly for Kubernetes Environments) \ud83c\udf1f
              • itnext.io: Building Docker Images The Proper Way \ud83c\udf1f Let\u2019s optimize Docker builds to create much smaller and more secure Docker images in a fraction of the usual build time\u2026
              • returngis.net: Reduce el tama\u00f1o de tus im\u00e1genes con Dockerfiles multi-stage
              • slim.ai Build secure containers, faster. Secure your software supply chain.
                • slim.ai: Automatically reduce Docker container size using DockerSlim
                • youtube: The need for Slim Docker Container Images with @DockerSlim & Slim.AI
                • slim.ai: Slim Docker Extension \ud83c\udf1f
              • learnk8s.io: 3 simple tricks for smaller Docker images \ud83c\udf1f When it comes to building Docker containers, you should always strive for smaller images. Images that share layers and are smaller in size are quicker to transfer and deploy.
              • contains.dev: Optimizing Docker image size and why it matters
              • jpetazzo.github.io: Anti-Patterns When Building Container Images
              • developers.redhat.com: Reduce the size of container images with DockerSlim
              • docker.com: Reduce Your Image Size with the Dive-In Docker Extension
              • medium.com/vantageai: How to make your Python Docker images secure, fast & small \ud83c\udf1f Exploring Image Layers and Implementing Multistage Builds
              • blog.devgenius.io: DevOps in K8s \u2014 Write Dockerfile Efficiently \ud83c\udf1f
              • piotrminkowski.com: Slim Docker Images for Java
              • bhupesh.me: How I reduced the size of my very first published docker image by 40% - A lesson in dockerizing shell scripts \ud83c\udf1f
                • The author details their journey of reducing the size of their Docker image by 40%, from 31.4 MB to 17.6 MB
                • They discuss optimization attempts, multi-stage builds, removing unnecessary binaries and dependencies, and using scratch as the base image
              • medium.com/@RoussiAbel: Optimizing java base docker images size from 674Mb to 58Mb
              "},{"location":"docker/#reducing-build-time","title":"Reducing Build Time","text":"
              • nrmitchi.com: One Simple Trick for Building Images Faster \ud83c\udf1f
                • BUILDKIT_INLINE_CACHE=1 build-arg is a neat flag that you could add to your docker build to reduce the build time upto 89%
              • pythonspeed.com: Docker BuildKit: faster builds, new features, and now it\u2019s stable Building Docker images can be slow, and Docker\u2019s build system is also missing some critical security features, in particular the ability to use build secrets without leaking them. So over the past few years the Docker developers have been working on a new backend for building images, BuildKit.
              • pauldally.medium.com: Structuring Dockerfiles For Productivity
              "},{"location":"docker/#modify-containers-without-rebuilding","title":"Modify containers without rebuilding","text":"
              • cloudowski.com: How to modify containers without rebuilding their image [ARCHIVED]
              "},{"location":"docker/#docker-tools","title":"Docker Tools","text":"
              • Floci - An AWS Local Emulator Alternative - (Related to kubernetes-tools topic)
              • DockSTARTer - DockSTARTer is a project designed to simplify the process of running applications within Docker. It aims to provide a quick and easy way to get started with Docker, offering users the option to rely on it for various Docker system configurations or use it as a learning tool for more advanced setups.

              • Top 50 Docker Tools

              • docker-ecs-plugin: Docker Releases Plugin for Simplified Deployments into AWS ECS and Fargate
              • dive \ud83c\udf1f A tool for exploring a docker image, layer contents, and discovering ways to shrink the size of your Docker/OCI image. Use the dive tool to analyze a Docker image of your application. What did I learn? While Jib creates 3 layers for Spring Boot app (dependencies, resources and classes), Paketo Buildpacks places resources and classes in the same layer.
              • ctop \ud83c\udf1f Top-like interface for container metrics
              • phpdocker Production Grade, Rootless, Pre-configured, Extendable, and Multistage PHP Docker Image for Cloud Native Deployments (and Kubernetes)
              • dev.to: Use Kool to Dockerize Your Local Development Environment the Right Way
              • sematext: Monitor Docker Metrics & Logs \ud83c\udf1f Full Docker observability: Docker metrics, logs, and events. Yes, Kubernetes & Swarm, too!
              • stepchowfun/docuum: Docuum: LRU eviction of Docker images \ud83c\udf1f Docuum performs least recently used (LRU) eviction of Docker images.

                • Docker\u2019s built-in docker image prune \u2013all \u2013filter until=\u2026 command serves a similar purpose. However, the built-in solution isn\u2019t ideal since it uses the image creation time, rather than the last usage time, to determine which images to remove. That means it can delete frequently used images, which may be expensive to rebuild.
                • Docuum is ideal for use cases such as continuous integration (CI) workers, developer workstations, or any other environment in which Docker images accumulate on disk over time. Docuum works well with tools like Toast and Docker Compose.
                • Docuum is used by Airbnb on its fleet of 1.5k+ CI workers.
              • cloudsavvyit.com: 10 Tools That Complement Docker

              • cybersecsi/RAUDI A repo to automatically generate and keep updated a series of Docker images through GitHub Actions.
              • grosser/preoomkiller Softly kills your process with SIGTERM before it runs out of memory. Made for processes that run inside docker.
              • ory/dockertest Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work. Use Docker to run your Golang integration tests against third party services on Microsoft Windows, Mac OSX and Linux!
              • hadolint/hadolint: Haskell Dockerfile Linter Dockerfile linter, validate inline bash, written in Haskell
              • ttl.sh: Anonymous & ephemeral Docker image registry \ud83c\udf1f Free to use. No need to sign-up. Open source.
              • buildg: Interactive debugger for Dockerfile \ud83c\udf1f Interactive debugger for Dockerfile, with support for IDEs (VS Code, Emacs, Neovim, etc.)
                • infoq.com: Debugging Large and Complex Dockerfiles Gets Easier with Buildg
              • github.com/google/go-containerregistry \ud83c\udf1f Go library and CLIs for working with container registries
              • jesseduffield/lazydocker The lazier way to manage everything docker
              • docker.com: Docker and Ambassador Labs Announce Telepresence for Docker, Improving the Kubernetes Development Experience \ud83c\udf1f - telepresence for docker
                • Telepresence for Docker simplifies how teams develop and test on Kubernetes. This Kubernetes development tool seamlessly creates a remote-to-local dev environment, so your teams can enjoy the ease and flexibility of local development with the collaboration and integration of a cloud development cluster.
                • You don\u2019t need to be a Kubernetes expert, deal with K8s configuration or maintenance, or turn to expensive cloud virtual machines for your developers to quickly and efficiently develop on K8s. Telepresence for Docker is Kubernetes development simplified.
              • github.com/containrrr/watchtower A process for automating Docker container base image updates. With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your image registry. Watchtower will pull down the new image, gracefully shut down the existing container and restart it.
              "},{"location":"docker/#docker-and-wsl2","title":"Docker and WSL2","text":"
              • Creating the best Linux Development experience on Windows & WSL 2
              • andrewlock.net: Installing Docker Desktop for Windows and WSL 2
              • medium.com/@adeelsubhan25: How to setup and build Docker Images on Windows
              "},{"location":"docker/#docker-and-docker-swarm-cheat-sheets","title":"Docker and Docker Swarm Cheat sheets","text":"
              • Docker and Docker Swarm Cheat Sheets
              "},{"location":"docker/#docker-compose","title":"Docker Compose","text":"
              • freecodecamp.org: a beginners guide to docker - how to create a client server side with docker compose
              • docker.com: Announcing the Compose Specification \ud83c\udf1f
              • infoworld.com: Docker\u2019s Compose specification is now an open standard Docker\u2019s system for creating applications from multiple containers is now available on GitHub for all to contribute to.
              • theregister.co.uk: Compose yourselves \u2013 Docker has published multi-container app spec, needs contributors to help maintain and develop it Now focused on developers, firm wants its tools to be more universally useful. Keep it light(weight), though.
              • Awesome Compose
              • Visual docker-compose.yml file generator \ud83c\udf1f
              • medium: How can we easily and visually explain the Docker Compose \ud83c\udf1f
              • docker.com: Docker Compose for Amazon ECS Now Available
              • geshan.com.np: Postgres with Docker and Docker compose a step-by-step guide for beginners
              • codesolid.com: How To Use Docker and Docker Compose With Python
              • releasehub.com: 6 Docker Compose Best Practices for Dev and Prod
              "},{"location":"docker/#moving-linux-services-into-containers","title":"Moving Linux Services Into Containers","text":"
              • crunchtools.com: A Hacker\u2019s Guide to Moving Linux Services into Containers. Epic 15 page blog post showing people how to move Wordpress (php), Mediawiki (php), and Request Tracker (perl) into containers
              "},{"location":"docker/#windows-containers","title":"Windows Containers","text":"
              • medium: Windows Containers (personal) cheat sheet
              • techcommunity.microsoft.com: IIS Central Certificate Store and Windows containers
              "},{"location":"docker/#portainer","title":"Portainer","text":"
              • Portainer \ud83c\udf1f Making Docker management easy
              • Portainer Community Edition
              • thenewstack.io: Deploy a Persistent Kubernetes Application with Portainer Here\u2019s how to make sure all the contents of your container stay intact even after you delete the container itself.
              "},{"location":"docker/#dockstation","title":"DockStation","text":""},{"location":"docker/#linux-container-base-images","title":"Linux Container Base Images","text":"
              • crunchtools.com: A Comparison of Linux Container Images
              • kubedex.com: Base images comparison
              • developers.redhat.com: Red Hat Universal Base Images for Docker users
                • developers.redhat.com: book: Red Hat Universal Base Images (UBI)
              • Red Hat Universal Base Images - hub.docker.com/u/redhat: UBI 8 standard, minimal, micro, and init from DockerHub \ud83c\udf1f
              • developers.redhat.com: Red Hat Universal Base Image and Docker Hub: Why should developers care?
              • redhat.com: Red Hat Brings Red Hat Universal Base Image to Docker Hub Verified content from the world\u2019s leading enterprise Linux platform aimed at helping developers and operators build more secure and scalable containerized solutions from the industry\u2019s leading container registry
              "},{"location":"docker/#blogs","title":"Blogs","text":"
              • Digital Ocean: Docker Tutorials
              "},{"location":"docker/#cloud-native-buildpacks","title":"Cloud Native Buildpacks","text":"
              • buildpacks.io: Cloud Native Buildpacks \ud83c\udf1f transform your application source code into images that can run on any cloud.
              • altoros.com: Streamlining the Creation of Docker Images with Cloud Native Buildpacks The new Cloud Native Buildpacks framework changes the obnoxious development chore of Dockerfile writing into a simple, automated operations pipeline. When deploying apps to Kubernetes or other container-as-a-service platforms, the proliferation of nonstandard, unauditable containers built manually via Dockerfiles is a real problem. A few products have emerged to solve this problem, among them Cloud Native Buildpacks (\u0421NB). In this blog post, we explore the capabilities of these buildpacks and explain how to use them in build pipelines to deliver standardized, auditable images as artifacts suitable for deployment.
              • thenewstack.io: Container Images the Easy Way with Cloud Native Buildpacks
              • dev.to/pmbanugo: Goodbye Dockerfiles: Build Secure & Optimised Node.js Container Images with Cloud Native Buildpacks
              "},{"location":"docker/#alternatives-to-docker-available-alternatives-to-docker-for-oci-compliant-container-image-building","title":"Alternatives to Docker. Available alternatives to Docker for OCI compliant container image building","text":"
              • containerd - An open and reliable container runtime - (Related to container-managers topic)
              • What is Podman and How Does it Compare to Docker? - (Related to container-managers topic)

              • blog.alexellis.io: Building containers without Docker \ud83c\udf1f

              • medium: nerdctl: Docker-compatible CLI for contaiNERD
              • jfrog.com: THE BASICS: 7 Alternatives to Docker: All-in-One Solutions and Standalone Container Tools \ud83c\udf1f
              • nerdctl \ud83c\udf1f Docker-compatible CLI for containerd
              • img
              • jib
              • kaniko
              • buildah
              • buildkit
              • podman
              • blog.logrocket.com: Top Docker alternatives for 2022
              • itnext.io: Replace Docker Desktop with lima - lima-vm/lima
              • dzone: Alternatives to Docker Desktop Have $5 to spend monthly? Do you want to avoid the fee? There are a couple of alternatives that can replace Docker Desktop with a free solution.
              • dzone: Docker Alternatives: 10 Alternatives to Docker for Your SaaS Application
              "},{"location":"docker/#videos-and-podcasts","title":"Videos and Podcasts","text":"Click to expand!"},{"location":"docker/#tweets","title":"Tweets","text":"Click to expand!

              Environment variables in Docker:Environment variables are dynamic-named values that affect how our app will behave when running.We can define them with Docker:- at runtime- in the Dockerfile- in the Compose file (2 ways)Let's see in detail in 1 minute:1/5

              \u2014 Francesco Ciulla (@FrancescoCiull4) May 15, 2021

              Introduction to Docker\ud83d\udc33@Docker is an open-source platform for deploying and managing containerized applications. It allows developers to easily package their applications into containers that can be deployed on every machine with a valid Docker installation.Thread \ud83e\uddf5\ud83d\udc47

              \u2014 Gabriel Tanner (@GabrielTanner14) December 13, 2021

              How to grasp Containers and Docker (Mega Thread)When I started using containers back in 2015, I thought they were tiny virtual machines with a subsecond startup time.It was easy to follow tutorials from the Internet on how to put your Python or Node.js app into a container...

              \u2014 Ivan Velichko (@iximiuz) August 7, 2021

              Okay @awscloud Lambda folks: when should I use Docker containers as the packaging format for functions vs. using native runtimes? Looking for general guidance here.

              \u2014 Corey Quinn (@QuinnyPig) March 28, 2022

              Mostly bc of the package size limit.Standard code zip: max 250 MBDocker image: max 10 GBIf you do anything in Python with ML libs, you will need Docker...Why use native runtimes otherwise? Cold start.Docker: 750-1000 msNode/Python: 250-300 ms

              \u2014 Maciej Radzikowski (@radzikowski_m) March 28, 2022

              Docker Compose + DockerSlim = \u2764\ufe0f@DockerSlim can make your images much smaller (hence, faster and securer), but it requires launching containers for runtime analysis.Real apps, though, rarely run in isolation... Docker knew that and built Compose.Now, behold the synergy! \ud83d\udd3d pic.twitter.com/n6NlJokC95

              \u2014 Ivan Velichko (@iximiuz) July 13, 2022

              Debunking Container Myths \ud83e\uddf5A (never-ending) series of articles that I started writing a couple of years ago to fix my own misconceptions about containers \ud83d\udd3d pic.twitter.com/bD7Iw48ere

              \u2014 Ivan Velichko (@iximiuz) August 28, 2022

              What Is a Distroless Container Image? \ud83e\uddf5Go (programming language) is famous for its statically linked binaries. You can take a Go executable, drop it into a \"FROM scratch\" container, and call it a day.But there might be a problem (keep reading) \ud83d\udc47 pic.twitter.com/kskCI3rqCC

              \u2014 Ivan Velichko (@iximiuz) September 5, 2022

              Who is still copying images between registries with: docker pull <src> docker tag <src> <dst> docker push <dst>Use: crane cp <src> <dst>Or even: cosign cp <src> <dst>It's faster, and supports multi-arch (and cosign copies signatures/sboms/attestations)

              \u2014 Matt Moore \u26d3\ud83d\ude80 (@mattomata) October 13, 2022

              Want to master Docker and become a container expert...but don't know how to even start? \ud83d\udd3dHere is the learning order that helped me:1. Containers: how Linux does them2. Images: why they are needed3. Managers: many containers, one host4. Orchestrators: many hosts, one app pic.twitter.com/HaXaGnSMkU

              \u2014 Ivan Velichko (@iximiuz) December 9, 2022"},{"location":"dom/","title":"Document Object Model (DOM)","text":"
              • Getting Started with the DOM
              • digitalocean.com: Understanding the DOM \u2014 Document Object Model eBook
              • freecodecamp.org: JavaScript DOM Tutorial \u2013 How to Build a Calculator App in JS
              • freecodecamp.org: How the Document Object Model Works in JavaScript \u2013 DOM Tutorial for Beginners The DOM, or document object model, gives you a way to manipulate the structure of a webpage. So as a web dev, you\u2019ll need a solid understanding of how it works. Here, Dickson explains the DOM\u2019s structure, how to access it, & how it works in JavaScript.
              "},{"location":"dotnet/","title":"Microsoft .NET","text":"
              1. Introduction
              2. ASP.NET Core
              3. NuGet Packages and nuspec file
              4. .NET MAUI
              5. Polly .NET resilience and transient-fault-handling library
              6. Paradigm framework
              7. More dotnet frameworks and tools
              8. Kubernetes for ASP.NET Core Developers
              9. Deploying ASP.NET Core applications to Kubernetes
              10. Tweets
              "},{"location":"dotnet/#introduction","title":"Introduction","text":"
              • wikipedia.org: .NET .NET (previously named .NET Core) is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. It is a cross-platform successor to .NET Framework. The project is primarily developed by Microsoft employees by way of the .NET Foundation, and released under the MIT License.
              • https://dotnet.microsoft.com
              • https://github.com/dotnet/core
              • techcommunity.microsoft.com: Full-stack .NET 6 Apps with Blazor WebAssembly and Azure Static Web Apps
              • developers.redhat.com: Three ways to containerize .NET applications on Red Hat OpenShift
              • developers.redhat.com: .NET 6 now available for RHEL and OpenShift
              • telerik.com: Your First Microservice in .NET 6
              • docs.microsoft.com: .NET Microservices: Architecture for Containerized .NET Applications
              • stackify.com: Who will Dominate in the future: .Net or Java?
              • devblogs.microsoft.com: Announcing Rate Limiting for .NET
              "},{"location":"dotnet/#aspnet-core","title":"ASP.NET Core","text":"
              • blog.jetbrains.com: Getting Started with ASP.NET Core and gRPC
              • dzone: Building a RESTful Service Using ASP.NET Core and dotConnect for PostgreSQL This article looks at RESTful architecture and how we can implement a RESTful service using ASP.NET Core and dotConnect for PostgreSQL.
              • enlear.academy: Repository Pattern and Unit of Work with ASP.NET Core Web API
              • itnext.io: How to Build an Event-Driven ASP.NET Core Microservice Architecture Use RabbitMQ, C#, REST-API and Entity Framework for asynchronous decoupled communication and eventually consistency with integration events and publish-subscribe
              "},{"location":"dotnet/#nuget-packages-and-nuspec-file","title":"NuGet Packages and nuspec file","text":"
              • NuGet/docs.microsoft.com-nuget: nuspec
              • gist.github.com: Creating and Publishing NuGet Packages
              • khalidabuhakmeh.com: A .NET 5.0 Guide: From Idea To NuGet Package
              • syncfusion.com: 10 Best C# NuGet Packages to Improve Your Productivity in 2022
              • devblogs.microsoft.com: Introducing Compatible Packages on NuGet.org
              "},{"location":"dotnet/#net-maui","title":".NET MAUI","text":"
              • devblogs.microsoft.com: Getting Started with DevOps and .NET MAUI .NET Multi-platform App UI (.NET MAUI) unifies Android, iOS, macOS, and Windows UI frameworks into a single framework so you can write one app that runs natively on many platforms. In this post, we will look at how easy it is to implement basic DevOps pipelines for .NET MAUI apps using GitHub Actions and Azure DevOps.
              "},{"location":"dotnet/#polly-net-resilience-and-transient-fault-handling-library","title":"Polly .NET resilience and transient-fault-handling library","text":"
              • App-vNext/Polly Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner.
              • medium: Microservices Resilience and Fault Tolerance with applying Retry and Circuit-Breaker patterns using Polly
              • procodeguide.com: Build Resilient Microservices (Web API) using Polly in ASP.NET Core
              "},{"location":"dotnet/#paradigm-framework","title":"Paradigm framework","text":"
              • Paradigm framework Built for NetCore, and featuring its own ORM and code generation tools, Paradigm sets the stage for a new breed of high-performance, multiplatform applications.
              • Paradigm Framework is a .net core Enterprise libraries, ORM and code scaffolding tool.
              "},{"location":"dotnet/#more-dotnet-frameworks-and-tools","title":"More dotnet frameworks and tools","text":"
              • Extend your coding agent with .NET Skills - (Related to ai topic)

              • Oakton Add Robust Command Line Options to .Net Applications

              • Lamar Lamar is a .NET library that provides two pieces of functionality:
                • A fast Inversion of Control Container that natively supports the ASP.Net Core DI abstractions and a subset of the older StructureMap library
                • The dynamic code generation and compilation features used underneath the IoC implementation
              • jeremydmiller.com: Self Diagnosing Deployments with Oakton and Lamar
              "},{"location":"dotnet/#kubernetes-for-aspnet-core-developers","title":"Kubernetes for ASP.NET Core Developers","text":"
              • dotnetcurry.com: Kubernetes for ASP.NET Core Developers \u2013 Introduction, Architecture, Hands-On
              "},{"location":"dotnet/#deploying-aspnet-core-applications-to-kubernetes","title":"Deploying ASP.NET Core applications to Kubernetes","text":"
              • andrewlock.net: Series: Deploying ASP.NET Core applications to Kubernetes with Helm \ud83c\udf1f
              "},{"location":"dotnet/#tweets","title":"Tweets","text":"Click to expand!

              My favorite .NET 6 feature: single file deployment and executable binaries across multiple platforms. https://t.co/Zfd7zJGf0N pic.twitter.com/jpu9R36S7v

              \u2014 Kelsey Hightower (@kelseyhightower) November 8, 2021"},{"location":"edge-computing/","title":"Edge Computing","text":"
              • redhat.com: Let\u2019s monitor edge computing networks with RHEL!
              • cloudflare.com: What Is Edge Computing? Edge computing optimizes internet devices and web applications by bringing computing closer to the source of the data. This minimizes the need for long distance communications between client and server, which reduces latency and bandwidth usage.
              • Red Hat\u2019s approach to Edge Computing \ud83c\udf1f
              • opensource.com: Why KubeEdge is my favorite open source project of 2020 \ud83c\udf1f KubeEdge is a workload framework for edge computing.
              • thenewstack.io: Cloudian CTO: Kubernetes, Standardization Key to Edge
              • cncf.io: Hosted Edge vs Cloud: the battle for latency and security \ud83c\udf1f
              • developers.redhat.com: Bring your Kubernetes workloads to the edge
              • thenewstack.io: A New Kubernetes Edge Architecture
              • betterprogramming.pub: I Worked at Microsoft Cloud and Google Mobile for 3 Years \u2014 Here Are the Differences in Ecosystems Why working on cloud vs. mobile (Edge) is so different?
              "},{"location":"elearning/","title":"E-learning","text":"
              1. List
              2. Best Microservice Architecture Courses
              3. Spanish E-learning
              4. Opinions
              5. Tweets
              "},{"location":"elearning/#list","title":"List","text":"
              • katacoda.com
              • learn.openshift.com
              • learn.crunchydata.com
              • redhatgov.io RedHatGov.io is an open source collection of workshop materials that cover various topics relating to Red Hat\u2019s product portfolio.
              • tutorialspoint.com/openshift
              • zeef.com: e-learning
              • Udemy.com
              • Whizlabs Online certification training courses and practice tests.
              • Lynda.com Linkedin Learning
              • edx.org
              • Coursera.org
              • codecademy.com
              • Udacity.com
              • guru99.com
              • tutorialspoint.com
              • typing.io: Typing Practice for Programmers
              • vogella.com
              • The Linux Foundation Training
              • khanacademy.org
              • codely.tv
              • ine.com
              • GCF LearnFree.org
              • wiki.bash-hackers.org
              • SQL Police Department
              • techstudyslack.com TechStudySlack is a Slack for people studying Tech.
              • kube.academy KubeAcademy from VMware. Learn Kubernetes From Experts For Free
              • codewars.com Improve your skills by training with others on real code challenges
              • riptutorial.com \ud83c\udf1f Learn programming through books and examples - eBooks by Tags (PDF) \ud83c\udf1f
              • hashicorp.com: HashiCorp Learning Resources Reference Guide \ud83c\udf1f Read this curated list of HashiCorp learning resources to help practitioners and organizations better understand the cloud operating model.
              • harvard.edu: CS50: Introduction to Computer Science (free) An introduction to the intellectual enterprises of computer science and the art of programming.
              • Techworld with Nana: Learn DevOps topics easily
              • learnitguide.net \ud83c\udf1f
              • techiescamp/devops-projects:Real-World DevOps Projects For Learning DevOps Real World Projects for Aspiring DevOps Engineers [Beginner to Advanced]
              "},{"location":"elearning/#best-microservice-architecture-courses","title":"Best Microservice Architecture Courses","text":"
              • medium.com/javarevisited: 11 Best Java Microservices Courses with Spring Boot and Spring Cloud in 2022
                • udemy.com: Microservices Architecture - The Complete Guide
                • udemy.com: Master Microservices with Spring Boot and Spring Cloud
                • educative.io: An Introduction to Microservice Principles and Concepts
                • coursera.org: Building Scalable Java Microservices with Spring Boot and Spring Cloud
              "},{"location":"elearning/#spanish-e-learning","title":"Spanish E-learning","text":"
              • Machine Learning Crash Course - (Related to ai topic)

              • open-bootcamp.com

              "},{"location":"elearning/#opinions","title":"Opinions","text":"
              • I\u2019m AWS certified? Should you trust me?
              • homebusinessmag.com: Certificates Alone Won\u2019t Get You Hired, You Need Certifications \u201cPlus\u201d!
              "},{"location":"elearning/#tweets","title":"Tweets","text":"Click to expand!

              A cloud certificate is no job guarantee but comes with very cool perks:- more job opportunities - potential salary increase - stand out from others- prove knowledge- demonstrate expertise- stay relevant- invest in yourselfAnd it\u2019s actually fun to get certified! \u2b50

              \u2014 Simon (@simonholdorf) February 27, 2023"},{"location":"embedded-servlet-containers/","title":"Embedded Servlet Containers in SpringBoot: Jetty, Tomcat, Undertow and more","text":"
              1. Apache Tomcat
              2. Embedded Servlet Containers in SpringBoot
              3. Undertow
              "},{"location":"embedded-servlet-containers/#apache-tomcat","title":"Apache Tomcat","text":"
              • Apache Tomcat migration tool for Jakarta EE The aim of the tool is to take a web application written for Java EE 8 that runs on Apache Tomcat 9 and convert it automatically so it runs on Apache Tomcat 10 which implements Jakarta EE 9.
              "},{"location":"embedded-servlet-containers/#embedded-servlet-containers-in-springboot","title":"Embedded Servlet Containers in SpringBoot","text":"
              • Comparing Embedded Servlet Containers in Spring Boot
              • Tomcat vs. Jetty vs. Undertow: Comparison of Spring Boot Embedded Servlet Containers
              "},{"location":"embedded-servlet-containers/#undertow","title":"Undertow","text":"
              • Undertow
              "},{"location":"faq/","title":"Microservices FAQ","text":"
              1. FAQ
              2. History of Microservices
              3. Kubernetes Native
              4. Adoption of Cloud-Native Architecture
              5. Migration Styles. Lift and Shift Cloud Migration Strategy
              6. Architectural Patterns for Caching Microservices
              7. Bunch of Images
              "},{"location":"faq/#faq","title":"FAQ","text":"
              • Should I Use A Microservices Architecture? What about the UI? \ud83c\udf1f
              • medium.com: STOP!! You don\u2019t need Microservices
              • contino.io: How to Make Enterprise Container Strategies That Last (Part One)
              • medium.com: Your team might not need Kubernetes
              • cybercoders.com: What Hiring Managers look for in a Full Stack Developer
              • nginx.com: Introduction to Microservices \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
              • Dzone: Programming Styles Compared: Spring Framework vis-a-vis Eclipse MicroProfile \ud83c\udf1f\ud83c\udf1f
              • shekhargulati.com: Service Discovery for Modern Distributed Applications
              • infoq.com: Pitfalls and Patterns in Microservice Dependency Management
              • dev.to: Microservice Roadmap
              • clickittech.com: Microservices vs Monolith \ud83c\udf1f
              • betterprogramming.pub: Domain Partitions: How To Find a Healthy Balance Between Microservices and Monoliths An in-depth look at an architectural pattern that will suit the majority of small- to medium-sized companies
              • thenewstack.io: Microservices: Align the Pain with the Solution
              • k21academy.com: Monolithic vs Microservices \u2013 Difference, Advantages & Disadvantages
              • medium: It\u2019s time to stop making \u201cMicroservices\u201d the goal of modernization
              • thenewstack.io: Choosing Between Container-Native and Container-Ready Storage \ud83c\udf1f Into this discussion about the new container data-services layer come two main approaches: container-native and container-ready.
              • blog.risingstack.com: Designing a Microservices Architecture for Failure
              • dev.to: When are microservices appropriate?
              • devopsdigest.com: CI/CD Deployments: How to Expedite Across a Kubernetes Environment With DevOps Orchestration From Old to New Migrating VM Workloads to Containers. DevOps Meets SecOps: Building Security & Quality Gate Automations. Accelerate the Migration to Kubernetes
              • medium.com: When to Use and When NOT to Use Microservices: No Silver Bullet \ud83c\udf1f
              "},{"location":"faq/#history-of-microservices","title":"History of Microservices","text":"
              • History of Microservices
              "},{"location":"faq/#kubernetes-native","title":"Kubernetes Native","text":"
              • developers.redhat.com: Why Kubernetes native instead of cloud native? \ud83c\udf1f
              "},{"location":"faq/#adoption-of-cloud-native-architecture","title":"Adoption of Cloud-Native Architecture","text":"
              • Adoption of Cloud-Native Architecture, Part 1: Architecture Evolution and Maturity
              "},{"location":"faq/#migration-styles-lift-and-shift-cloud-migration-strategy","title":"Migration Styles. Lift and Shift Cloud Migration Strategy","text":"
              • From monolith to containers: How Verizon containerized legacy applications on OpenShift \ud83c\udf1f:
                • Lift and shift is a cloud migration strategy that refers to removing workloads and tasks from one storage location and placing them in another, usually cloud-based, location.
                • Moving applications to the cloud can be challenging if you are unprepared. In fact, many businesses experience some level of migration failure because of poor planning.
                • The lift and shift migration style is one of the approaches that can help you transition to the cloud without the need to redesign applications or disrupt workflow operations.
                • It all starts with containerizing the applications using platforms like Docker and then moving entirely to a microservices architecture.
              • dzone: The Best Cloud Migration Approach: Lift-And-Shift, Replatform, Or Refactor? There are a number of ways to get your applications to the cloud, but the question of which method to use is a little up in the air.
              • dzone: 10 Commandments of Microservice Decomposition \ud83c\udf1f In this article, I will try to cover the purposes of terms used while decomposing microservices and try to fit them under one umbrella concept.
              • acloudguru.com: What is lift and shift cloud migration?
              "},{"location":"faq/#architectural-patterns-for-caching-microservices","title":"Architectural Patterns for Caching Microservices","text":"
              • hazelcast.com: Where Is My Cache? Architectural Patterns for Caching Microservices \ud83c\udf1f
              "},{"location":"faq/#bunch-of-images","title":"Bunch of Images","text":"Click to expand!

              "},{"location":"finops/","title":"Cloud FinOps. Collaborative, Real-Time Cloud Financial Management (CFM)","text":"
              1. Introduction
              2. Compute Cost Calculator
              3. AWS Cost Optimizations
              4. Azure Cost Governance
              5. Kubernetes Cost Optimization
              6. Licence Managers
              7. EKS
              8. Books
              9. Kubernetes Governance and Cost Management for the Cloud-Native Enterprise
                1. Replex
              10. Cost Optimization Tools
              11. Tweets
              "},{"location":"finops/#introduction","title":"Introduction","text":"
              • FinOps Foundation: FinOps.org Collaborative, Real-Time Cloud Financial Management
              • medium: DevOps, NoOps, and Now FinOps? Why do we need an accountant in IT?
              • padok.fr: FinOps, or the Culture of Cloud Cost Optimization
              • slideshare: FinOps: A Culture Transformation to Bring DevOps, Finance and the Business Together - AWS Summit Sydney
              • aws.amazon.com: Introducing FinOps\u2014Excuse Me, DevSecFinBizOps
              • devops.com: FinOps Foundation to Help Rein in Cloud Costs
              • infoq.com: Why Every DevOps Team Needs A FinOps Lead
              • cncf.io: FinOps for Kubernetes: Insufficient \u2013 or nonexistent \u2013 Kubernetes cost monitoring is causing overspend
              • loft.sh: The Cost of Managed Kubernetes - A Comparison \ud83c\udf1f
              • thenewstack.io: 4 Reasons Your Cloud Operations Need a FinOps Team
              • faun.pub: FinOps \u2013 introduction, origins and next steps Financial Operations (FinOps) is a culture that will help you creating cost awareness in your organisation!
              • cloud.google.com: 5 key metrics to measure Cloud FinOps impact in your organization in 2022 and beyond
              • thenewstack.io: Cloud Cost Management for DevOps
              • zdnet.com: As cloud costs spiral upward, enterprises turn to a thing called FinOps Organizations waste 32% of cloud spend, up from 30% a year ago. \u2018More and more users are swimming in the FinOps side of the pool, even if they may not know it - or call it FinOps yet.\u2019
              • thenewstack.io: Tricks for Cloud Cost Optimization | Pavan Belagatti
              • venturebeat.com: Cloud costs are unmanageable: It\u2019s time we standardize billing
              • medium.com/@pratzy99: Adoption of FinOps for Kubernetes Cost Optimization \ud83c\udf1f
              • AWS Tip \ud83d\udc9b Avoid billing surprises:
                • Avoid billing surprises \ud83d\udcb8
                • \ud835\uddff\ud835\uddf2\ud835\ude03\ud835\uddf6\ud835\uddf2\ud835\ude04 \ud835\uddf0\ud835\uddfc\ud835\ude00\ud835\ude01\ud835\ude00 (bi-)weekly
                • get familiar with \ud835\uddd4\ud835\uddea\ud835\udde6 \ud835\uddd6\ud835\uddfc\ud835\ude00\ud835\ude01 \ud835\uddf2\ud835\ude05\ud835\uddfd\ud835\uddf9\ud835\uddfc\ud835\uddff\ud835\uddf2\ud835\uddff
                • set up \ud835\uddef\ud835\uddf6\ud835\uddf9\ud835\uddf9\ud835\uddf6\ud835\uddfb\ud835\uddf4 \ud835\uddee\ud835\uddf9\ud835\uddf2\ud835\uddff\ud835\ude01\ud835\ude00
                • understand your cost \ud835\ude00\ud835\ude01\ud835\uddff\ud835\ude02\ud835\uddf0\ud835\ude01\ud835\ude02\ud835\uddff\ud835\uddf2: which services contribute significantly to your costs?
              • hystax.com: The difference between cloud cost management and FinOps
              • infoworld.com: Are we experiencing cloudflation? The sticker shock of cloud computing bills has many in the C-suite looking for answers. A solid finops program can close the budget holes and pay for itself.
              • edgebricks.com: Why Public Clouds Get So Expensive Over Time \ud83c\udf1f
              • aws.amazon.com: Four Principles of Cloud Financial Management Small and Medium Business Owners Need to Know
              • logz.io: FinOps Observability: Monitoring Kubernetes Cost
              • medium.com/adeo-tech: How to save money fast with Kubernetes \u2014 Do FinOps In this article, you will learn how to reduce your cloud bill and some tips on cloud infrastructure optimization
              • infoworld.com: Kubernetes cost management for the real world How much will Kubernetes cost to run? That question has become much easier to answer for Azure Kubernetes Service, thanks to OpenCost integration.
              • infoworld.com: When finops costs you more in the end Cloud finops can save you tons of money on cloud spending and return more value to the business. Unfortunately, mistakes are costing companies big time.
              • infoworld.com: Kubernetes costs less, but less than what? Sure, compared to traditional IT, Kubernetes is great, but not much will beat public cloud in the long run.
              • bitsand.cloud: Slashing Data Transfer Costs in AWS by 99%
              "},{"location":"finops/#compute-cost-calculator","title":"Compute Cost Calculator","text":"
              • https://compute-cost.com \ud83c\udf1f
              • This tool finds the lowest price of compute resources from different services (currently just in AWS). To balance simplicity and utility, only the most common features are available as filters.
              • \u201cAs an AWS user, I often want to know the cheapest options for compute resources given some project-specific criteria. So, I made a tool to show me that data in a way that is useful to me. Maybe it will be useful to you\u201d @ericwastl
              "},{"location":"finops/#aws-cost-optimizations","title":"AWS Cost Optimizations","text":"
              • Cloudburn: An Open-Source Policy Engine for AWS Spending - (Related to aws topic)

              • medium.com/@tarunbehal02: AWS Cost Optimizations : My Learnings

              • aws.amazon.com/blogs/architecture: Overview of Data Transfer Costs for Common Architectures
              "},{"location":"finops/#azure-cost-governance","title":"Azure Cost Governance","text":"
              • Which Azure Network is Cheaper? - (Related to azure topic)
              • Building a FinOps-Ready Azure Landing Zone: Infrastructure Foundations for Cost Optimization \ud83c\udf1f - This blog post explores how to design and automate a FinOps-ready Azure Landing Zone by embedding cost governance, tagging, and budgets from the initial setup using infrastructure-as-code and Azure-native services. It details core infrastructure components for FinOps enablement, including management groups, subscriptions, resource tags, budgets, alerts, Azure Policy, and Log Analytics. The post also provides a walkthrough of automating FinOps controls with PowerShell and ARM templates.
              • Learn to Manage Investments and Cost Efficiency of Azure and AI Workloads \ud83c\udf1f - This blog post from the Microsoft Community Hub\u2019s FinOps Blog introduces a new self-paced training plan on Microsoft Learn, \u2018Manage Azure and AI investments for Cost Efficiency.\u2019 It aims to equip teams with the skills to manage cloud spending, build financial best practices into AI and cloud computing, and foster a culture of cost efficiency. The post highlights how Azure savings plans and FinOps principles can lead to significant cost savings, using The Carlsberg Group as a case study.
              • Azure Functions Cost Considerations and Optimization - (Related to serverless topic)
              • A Guide to Azure Data Transfer Pricing - (Related to azure topic)

              • github.com/dolevshor/azure-finops-guide: The Azure FinOps Guide \ud83c\udf1f Centralizes Azure FinOps information and tools to enabling a better understanding and optimization of cloud costs

              • info.microsoft.com: The Road to Azure Cost Governance Learn how to gain full control of your Azure costs by creating a continuous cost governance and optimization process. This comprehensive Packt e-book covers essential topics like cloud cost management and sustainable modeling of cloud expenses.
              • github.com/mivano/azure-cost-cli CLI tool to perform cost analysis on your Azure subscription
                • github.com/mivano/azure-cost-cli: Cost by tag
              • techcommunity.microsoft.com: Azure Savings Dashboard \ud83c\udf1f
              • https://learn.microsoft.com: View Kubernetes costs (AKS)
              • techcommunity.microsoft.com: Azure Pricing: How to navigate Azure pricing options and resources \ud83c\udf1f
              • techcommunity.microsoft.com: Azure Pricing: How to estimate Azure project costs \ud83c\udf1f
              • techcommunity.microsoft.com: Identify your savings potential in Azure \ud83c\udf1f
              "},{"location":"finops/#kubernetes-cost-optimization","title":"Kubernetes Cost Optimization","text":"
              • medium.com/armory: Continuous Cost Optimization for Kubernetes
              • learnk8s/xlskubectl A spreadsheet to control your Kubernetes cluster. xlskubectl integrates Google Spreadsheet with Kubernetes. You can finally administer your cluster from the same spreadsheet that you use to track your expenses.
              • medium.com/empathyco: Cloud FinOps \u2014 Part 4: Kubernetes Cost Report In this article, you will learn how to build your own Kubernetes cost explorer dashboard using Prometheus and Grafana.
              • medium.com/@danielepolencic: In Kubernetes, are there hidden costs to running many cluster nodes? Yes, since not all CPU and memory in your Kubernetes nodes can be used to run Pods.
              • medium.com/develeap: Cutting down Kubernetes Costs: Cast.ai vs. Karpenter
              • engineering.razorpay.com: The Culture of Cost Optimization \u2014 Reducing Kubernetes cost by $300,000
              • infoworld.com: 5 steps to bringing Kubernetes costs in line
              • medium.com/@suleimanabualrob: Kubernetes cost optimisation In this article, you\u2019ll discuss resource over-provisioning in Kubernetes and learn some tips to improve utilisation to save money and have a well-architected workload
              • thenewstack.io: Grafana Wants to Help You Avoid Getting Dinged by Kubernetes Costs Grafana introduces new infrastructure and cost monitoring capabilities in Grafana Cloud.
              "},{"location":"finops/#licence-managers","title":"Licence Managers","text":"
              • marketplace.atlassian.com: License Manager - Easily track your software licenses Unified view of software usage, SaaS, cloud resources, domains, SSL certificates info across the enterprise from one place in Jira.
              "},{"location":"finops/#eks","title":"EKS","text":"
              • dev.to: FinOps EKS: 10 tips to reduce the bill up to 90% on AWS managed Kubernetes clusters
              • aws.amazon.com: Understanding and Cost Optimizing Amazon EKS Control Plane Logs This post describes different EKS log types and ways to optimize costs. Understanding the levers available for consuming logs not only helps you in optimizing costs but also allows you to focus on the root causes analysis and attribution.
              "},{"location":"finops/#books","title":"Books","text":""},{"location":"finops/#kubernetes-governance-and-cost-management-for-the-cloud-native-enterprise","title":"Kubernetes Governance and Cost Management for the Cloud-Native Enterprise","text":"
              • ServerlessHorrors: A Web Compiling Nightmares in the Serverless World - (Related to serverless topic)

              • medium.com/compass-true-north: Halving Kubernetes Compute Costs With Vertical Pod Autoscaler In this article, you\u2019ll learn how the team at Compass managed to reduce the need for over 50 per cent of the total nodes in each cluster (halving their compute costs) by using the vertical pod autoscaler

              "},{"location":"finops/#replex","title":"Replex","text":"
              • replex.io
              • replex.io: An Introduction to Kubernetes FinOps FinOps is a cross domain discipline that represents a set of tools, best practices and processes aimed towards making software and infrastructure more cost effective. In this article we provide an introduction to Kubernetes Finops.
              "},{"location":"finops/#cost-optimization-tools","title":"Cost Optimization Tools","text":"
              • Scale with Confidence Using Terraform: Better Cost Visibility, Stronger Governance, and Less Operational Overhead - (Related to terraform topic)
              • InfraCost + Terraform PRs: Making Cost Awareness Effortless - (Related to terraform topic)
              • OpenOps: No-Code FinOps Automation Platform with AI - OpenOps is a no-code platform designed for FinOps automation, integrating AI capabilities to manage cloud costs and operations efficiently. It aims to simplify financial operations in cloud environments.

              • CAST AI cuts your cloud bill automatically so engineers can focus on building a better product

              • cremich/cdk-bill-bot: Welcome to Bill - the cost optimization bot The serverless cost optimization bot. Bill enables AWS customers to proactively monitor their infrastructure costs and identify unforeseen expenses in a timely manner. Bill wants to prevent AWS customers from receiving bad surprises in their monthly bill. Therefore he addresses two primary problem areas:
                • Cost history is not monitored on a regular basis
                • Basic cost optimization best practices are not setup
              • thenewstack.io: Finout Gets a Handle on Kubernetes Costs Finout has expanded its cost analysis platform for enterprise software to Kubernetes, providing a way to understand the costs of running the open source orchestration tool.
              "},{"location":"finops/#tweets","title":"Tweets","text":"Click to expand!

              Q: What is FinOps Architect job in Cloud?This has got very popular on Public cloud to manage companies - Cloud Financial Management. Here's how you can be a Cloud FinOps Consultant\ud83e\uddf51/?1. Learn architecture well

              \u2014 Satyen Kumar (@SatyenKumar) March 1, 2022

              \ud83c\udfd7 AWS Tip \ud83d\udc9bAvoid billing surprises \ud83d\udcb8\u2022 \ud835\uddff\ud835\uddf2\ud835\ude03\ud835\uddf6\ud835\uddf2\ud835\ude04 \ud835\uddf0\ud835\uddfc\ud835\ude00\ud835\ude01\ud835\ude00 (bi-)weekly\u2022 get familiar with \ud835\uddd4\ud835\uddea\ud835\udde6 \ud835\uddd6\ud835\uddfc\ud835\ude00\ud835\ude01 \ud835\uddf2\ud835\ude05\ud835\uddfd\ud835\uddf9\ud835\uddfc\ud835\uddff\ud835\uddf2\ud835\uddff\u2022 set up \ud835\uddef\ud835\uddf6\ud835\uddf9\ud835\uddf9\ud835\uddf6\ud835\uddfb\ud835\uddf4 \ud835\uddee\ud835\uddf9\ud835\uddf2\ud835\uddff\ud835\ude01\ud835\ude00\u2022 understand your cost \ud835\ude00\ud835\ude01\ud835\uddff\ud835\ude02\ud835\uddf0\ud835\ude01\ud835\ude02\ud835\uddff\ud835\uddf2: which services contribute significantly to your costs?

              \u2014 Tobias Schmidt (@tpschmidt_) July 26, 2022

              In Kubernetes, are there hidden costs to running many cluster nodes?Let me explain\u2026 (spoiler: yes) pic.twitter.com/ErYdu8JR5E

              \u2014 Daniele Polencic (@danielepolencic) October 25, 2022

              "},{"location":"flux/","title":"Flux. The GitOps operator for Kubernetes","text":"
              1. Introduction
              2. ArgoCD vs FluxCD
              3. Flux Terraform Controller
              4. Templates
              "},{"location":"flux/#introduction","title":"Introduction","text":"
              • Flux The GitOps operator for Kubernetes
              • docs.fluxcd.io
              • github: Flux
              • github: Flux Version 2
              • toolkit.fluxcd.io: GitOps Toolkit \ud83c\udf1f Great docs for the GitOps toolkit
                • https://github.com/fluxcd/toolkit
              • dzone: Developing Applications on Multi-tenant Clusters With Flux and Kustomize Take a look at how multiple teams can use the resources of a single cluster to develop an application.
              • A Complete Step by Step Guide to Implementing a GitOps Workflow with Flux \ud83c\udf1f
              • alicegg.tech: Managing a Kubernetes cluster with Helm and FluxCD
              • itnext.io: Managing Kubernetes Secrets Securely with GitOps (SOPS + AWS KMS + Flux)
              • acloudguru.com: Adopting GitOps for Kubernetes on AWS \ud83c\udf1f Tips for adopting GitOps for your Kubernetes workload in AWS:
                • Use Git as your source of truth
                • Use a Git branch per environment
                • Practice proper change management
                • Roll back with Git
                • Automate everything
              • blog.sldk.de: Introduction to GitOps on Kubernetes with Flux v2 \ud83c\udf1f
              • docs.microsoft.com: Configurations and GitOps with Azure Arc enabled Kubernetes
              • cloud-viadee.medium.com: GitOps for IT-Architects: Transparent and Secure Kubernetes deployments
              • johnclarke73.medium.com: How GitOps works for us From manually deployed monoliths to containers and GitOps with Weaveworks Flux
              • thenewstack.io: GitOps at Home: Automate Code Deploys with Kubernetes and Flux
              • medium: Integrating GitOps Deployments in Kubernetes Using Weave Flux
              • alexander.holbreich.org: (Typical) journey towards full GitOps with Flux The 3 stages of GitOps:
                • Repository
                • Deployment with a script
                • Flux
              • cncf.io: Flux: Server-side reconciliation is coming Server-side reconciliation will make Flux more performant, improve overall observability and going forward will allow us to add new capabilities, like being able to preview local changes to manifests without pushing to upstream.
              • solo.io: The 3 best ways to use Flux and Flagger for GitOps with your Envoy Proxy API gateways
              • fluxcd/flux2-multi-tenancy Manage multi-tenant clusters with Flux
              • flux-subsystem-argo.github.io: GitOps Terraform Resources with Argo CD and Flux Subsystem for Argo This is a tutorial to show how could we use Flux Subsystem for Argo (FSA) to bring the Terraform management feature from the Flux world to your Argo CD UI. In order to do so, we need Weave GitOps Terraform Controller to help us reconcile our Terraform resources.
              • blog.ediri.io: Flux With Buckets: Is This Still GitOps? How to use the Flux Bucket component with AWS S3 with Civo and Pulumi. Flux Bucket is a simple way to deploy your kubernetes manifests to a S3 bucket and then use Flux to deploy them
                • dirien/pulumi-civo-flux-bucket
              • fluxcd.io: GitOps Without Leaving your IDE
              • fluxcd.io: How to GitOps Your Terraform
              • thenewstack.io: Deploy Stateful Workloads on Kubernetes with Ondat and FluxCD GitOps provides a single source of truth for Kubernetes manifests, preventing configuration drift, allowing easy rollbacks and changes to production safely.
              • gist.github.com: GitOps for Helm Users \ud83c\udf1f In this step-by-step tutorial, you will learn how to convert a Helm chart into declarative Custom Resources for Flux and gradually migrate your workloads to be GitOps-friendly.
              • levelup.gitconnected.com: Flux CD: Getting Started This concise tutorial will show you to bootstrap Flux CD on your local cluster and deploy your applications from your GitHub repository.
              • weave.works: Flamingo: Expand Argo CD with Flux
              "},{"location":"flux/#argocd-vs-fluxcd","title":"ArgoCD vs FluxCD","text":"
              • dzone.com: GitOps: Flux vs Argo CD \ud83c\udf1f
              • blog.aenix.io: Argo CD vs Flux CD In this article, Andrei shares his professional experience and compares two popular GitOps tools: Argo CD and Flux CD. He explores their features, use cases, and the specific problems they solve.
              "},{"location":"flux/#flux-terraform-controller","title":"Flux Terraform Controller","text":"
              • cncf.io: How to GitOps your Terraform
              • github.com/flux-iac/tofu-controller Tofu Controller: An IAC Controller for Flux. A GitOps OpenTofu and Terraform controller for Flux. GitOps Terraform Controller is a controller for Flux to reconcile Terraform resources in the GitOps way
              "},{"location":"flux/#templates","title":"Templates","text":"
              • github.com/onedr0p/flux-cluster-template: Template for deploying k3s backed by Flux Highly opinionated template for deploying a single Kubernetes (k3s) cluster with Ansible and Terraform backed by Flux, SOPS, GitHub Actions, Renovate and more!
              "},{"location":"freelancing/","title":"Freelancing","text":"
              1. Introduction
              2. Freelancing in Spain
                1. Advisory. Asesor\u00edas
              3. Top Freelancing Platforms
              4. Alternatives. Contractor Management / Umbrella Company solutions
                1. Umbrella Companies
              5. Videos
              6. Tweets

              Yarden Saxophone \u00b7 Esperanza - Yarden Saxophone

              "},{"location":"freelancing/#introduction","title":"Introduction","text":"
              • linkedin/pulse: Is France the European El Dorado for Freelancing?
              "},{"location":"freelancing/#freelancing-in-spain","title":"Freelancing in Spain","text":"
              • \u00bfInform\u00e1tico explotado en una consultora? Las webs para \u2018freelances\u2019 te salvar\u00e1n la vida Los desarrolladores espa\u00f1oles tienen en plataformas como Malt, Freelancer y Yeeply la oportunidad de trabajar por cuenta propia m\u00e1s all\u00e1 de nuestras fronteras y huir de las infames \u2018c\u00e1rnicas\u2019.
              • genbeta.com: Siete webs (explicadas a fondo) donde encontrar trabajo freelance o aut\u00f3nomo por si te niegas a volver a la oficina
              • eleconomista.es: Solo el 13% de aut\u00f3nomos en tarifa plana \u2018sobrevive\u2019 despu\u00e9s de 24 meses
              • calculadora.malt.es Una de las dudas de los freelance es saber c\u00f3mo fijar su tarifa, respetando su experiencia y la cotizaci\u00f3n de su sector. Con la calculadora de Malt vas a tener una orientaci\u00f3n sobre cu\u00e1nto podr\u00edas ingresar en funci\u00f3n de tu sector y especializaci\u00f3n.
              • eleconomista.es: El acceso a financiaci\u00f3n, una barrera (casi) infranqueable para los aut\u00f3nomos
              • gestoresderiesgo.com: Prohibici\u00f3n de utilizar programas inform\u00e1ticos que permitan llevar una doble contabilidad empresarial
              • eleconomista.es: Estas son las cuotas de los aut\u00f3nomos a la Seguridad Social y los derechos que garantizan
              • eleconomista.es: Estos son los gastos de los aut\u00f3nomos que no se pueden deducir en el IVA
              • eleconomista.es: La ayuda del SEPE a los aut\u00f3nomos: as\u00ed pueden cobrar el paro a la vez que trabajan
              • noticiastrabajo.es: As\u00ed pueden los aut\u00f3nomos retrasar el pago de los intereses de los cr\u00e9ditos ICO
              • autonomosyemprendedor.es: Los aut\u00f3nomos no s\u00f3lo deben presentar el IVA en octubre, hay m\u00e1s obligaciones tributarias este mes
              • xataka.com: La Seguridad Social crea una app m\u00f3vil para gestionar la nueva cuota de aut\u00f3nomos: permitir\u00e1 cambiar de tramo mensualmente
              • diariocordoba.com: \u00abSer aut\u00f3nomo en Espa\u00f1a sigue siendo una profesi\u00f3n de riesgo\u00bb
              • blog.xolo.io: \u00bfEs rentable ser aut\u00f3nomo en Espa\u00f1a?
              • marinaaisa.com: Trabajar en remoto desde Espa\u00f1a como \u2018contractor\u2019 Una opci\u00f3n alternativa para impulsarte a una carrera internacional sin tener que mudarte fuera de Espa\u00f1a pudiendo trabajar en remoto.
              • billin.net: C\u00f3mo ser freelance en Espa\u00f1a en 2022
              • cincodias.elpais.com: El teletrabajo impulsa la oferta de \u2018freelance\u2019
              • youtube: Freelance vs Empleo como Programador | midulive
              "},{"location":"freelancing/#advisory-asesorias","title":"Advisory. Asesor\u00edas","text":"
              • Acento: Cooperativa de freelance
              • declarando.es Asesor\u00eda para aut\u00f3nomos
              "},{"location":"freelancing/#top-freelancing-platforms","title":"Top Freelancing Platforms","text":"
              • malt \ud83c\udf1f
              • upper \ud83c\udf1f Europe\u2019s top product & tech professionals, on demand
              • upwork \ud83c\udf1f
              • freelancer \ud83c\udf1f
              • yeeply \ud83c\udf1f
              • codementor
              • toptal
              • fiverr
              • guru
              • truelancer
              • peopleperhour
              • crossover
              • arc - formerly codementor
              • scalablepath
              • turing
              • lorem
              • soshace
              • adeva
              • speedlancer
              • worksome
              • certace
              • hellobonsai
              • remoteone
              • BairesDev We are a nearshore software outsourcing company, 100% remote, and we are always looking for the best tech talent.
              "},{"location":"freelancing/#alternatives-contractor-management-umbrella-company-solutions","title":"Alternatives. Contractor Management / Umbrella Company solutions","text":"
              • If you are not earning substantial amounts of money, Umbrella Companies are a cheaper option than being self-employed in Spain. They generate invoices for you, pay social security, deduct tax and file your tax return at the end of the year.
              • They offer solutions across Europe, the Middle East and Africa.
              • Most of the time the umbrella company will want you to work as a freelancer. Otherwise it\u2019s a B2B contract between the umbrella company and the client, raising the invoices to the client (they will probably reject it).
              • paystream.co.uk: What is an umbrella company?
              • umbrellaselector.com/Spain
              • freelance.es Work like an umbrella company
              • contractortaxation.com/contracting-in-spain
              "},{"location":"freelancing/#umbrella-companies","title":"Umbrella Companies","text":"
              • https://6catsint.com
              • https://accessfinancial.com
              • https://groupchesterfield.com/umbrella-services/
              • https://pixie-services.com
              "},{"location":"freelancing/#videos","title":"Videos","text":"Click to expand!"},{"location":"freelancing/#tweets","title":"Tweets","text":"Click to expand!

              - Getting clients is easier when you show proof of work- Negotiation is easier when you have other projects- Pricing is easier when you don't need the moneyFreelancing is easier when you make marketing part of your job.

              \u2014 Tom Hirst (@tom_hirst) January 18, 2021

              Cada trimestre debes pagar a Hacienda la diferencia entre el IVA repercutido en tus facturas de ventas y el IVA soportado en tus facturas de gastos. Pero \u00bfc\u00f3mo se llama el famoso modelo que debes presentar? \u00a1Comenta!#billin #billinopciones #quiz #facturacion #facturaciononline pic.twitter.com/ep1snCug0v

              \u2014 Billin Espa\u00f1a (@Billin_ES) August 18, 2021

              Finding your first freelance client is hard.Making your first dollar through freelancing is hard.But it's not as hard as you think. Here are certain strategies that worked for me over the years to make money through freelancing:\ud83e\uddf5\ud83d\udc47\ud83c\udffb

              \u2014 Sunil Kumar (@sunilc_) September 17, 2021"},{"location":"git/","title":"Git and Patterns for Managing Source Code Branches. Merge BOTs","text":"
              1. Git Distributed Version-Control System
              2. Git Releases
              3. Git stash
              4. Git Squash
              5. Git Branches
              6. Git Merge
              7. Merge Repositories
              8. Git Aliases
              9. Git Rebase
              10. Git and GitHub Backup
              11. Cherry-picking
              12. Git Submodules
              13. Shields
              14. Design By Contract
              15. Git Cheat Sheets
              16. Monorepo VS Polyrepo
              17. Patterns for Managing Source Code Branches (Branching Models/Workflows)
                1. Git Workflows
                2. Trunk Based Development
                3. Feature Branch Development (aka GitFlow)
                  1. Git Flow
                  2. Git Flow is a bad idea
                4. Trunk-based Development vs. Git Flow
                5. Alternative Branching Models
                  1. Feature Flags (Feature Toggles)
                    1. Keystone Interface and Keystone Flags
              18. Git Commands
              19. BitBucket
              20. GitLab
                1. GitLab Collective
              21. GitHub
                1. Fake it til you make it
                2. GitHub Lab
                3. GitHub Code Scanner
                4. GitHub Discussions
                5. GitHub Actions
                  1. GitHub Actions Marketplace
                6. GitHub Actions and OpenShift
                7. GitHub Copilot
                  1. GitHub CoPilot VS GPT-3
                  2. GitHub Copilot X
                  3. Alternatives
                    1. CodiumAI
              22. Gitea
              23. Sapling
              24. Git Tools
                1. Git Credential Manager
                2. Semantic-release. CI/CD semantic release workflow (semantic Versioning, commit format and releases)
              25. Azure DevOps (formerly known as VSTS)
              26. Pre Commit Hooks
              27. Merge BOTs
                1. Tips
                2. Jenkins for git merges
                3. Bitbucket for git merges
                4. GitLab for git merges
                  1. Marge GitLab bot
                5. Jenkins-X bots
                6. Plastic SCM bot
                7. Mergify bot
                8. GitHub bots
                  1. Bors GitHub bot
              28. Videos
              29. Slides
              30. Tweets
              "},{"location":"git/#git-distributed-version-control-system","title":"Git Distributed Version-Control System","text":"
              • Wikipedia: Git
              • Git
                • git-scm.com/book
              • devdocs.io/git/
              • tutorialzine.com: Learn git in 30 minutes \ud83c\udf1f
              • 3 Git Commands I Use Every Day
              • opensource.com: How to restore older file versions in Git
              • 9 awesome git tricks
              • Awesome Git \ud83c\udf1f
              • dzone.com: Top 20 git commands with examples \ud83c\udf1f
              • dzone.com: 8 Useful But Not Well-Known Git Concepts [ARCHIVED] These lesser-known Git tricks can help you solve problems that are not handled well by the GitHub and BitBucket GUIs
              • Dzone refcard: Getting started with Git
              • Oh shit, git!
              • freecodecamp.org: Learn Git Fundamentals \u2013 A Handbook on Day-to-Day Development Tasks \ud83c\udf1f
              • How to Get More Out of Your Git Commit Message
              • 10 useful Git commands you wish existed \u2013 and their alternatives
              • github.blog: How to undo (almost) anything with Git
              • dev.to: Git Explained - The Basics
              • medium: 7 Best Courses to Master Git and Github for Programmers These are the best courses to learn Git from scratch and also advanced concepts like branching and merging. It also includes a free course to learn git.
              • medium: Top 7 Cloud Source Code Management Tools Features and Pricing Plans
              • dev.to: Git Concepts I Wish I Knew Years Ago \ud83c\udf1f
              • opensource.com: 6 best practices for managing Git repos Resist the urge to add things in Git that will make it harder to manage; here\u2019s what to do instead.
              • codeburst.io: Debug your code using git bisect
              • github.blog: Highlights from Git 2.28
              • codeburst.io: A Resource for all Things Git
              • Things You Want to Do in Git and How to Do Them
              • livecodestream.dev: Git Concepts and Workflow for Beginners
              • thenextweb.com: A beginner\u2019s guide to the most popular Git commands
              • julien.danjou.info: Stop merging your pull requests manually \ud83c\udf1f -> mergify \ud83c\udf1f
              • gitlab.com: How to keep your Git history clean with interactive rebase Interactive rebase is one of Git\u2019s most versatile tools. Here\u2019s how to use it to correct commit messages, fix mistakes, and more.
              • gitkraken.com: Git Tutorials: Instructional Training Videos \ud83c\udf1f
              • github.blog: Token authentication requirements for Git operations
              • github.blog: Commits are snapshots, not diffs
              • github.blog: Get up to speed with partial clone and shallow clone
              • about.gitlab.com: How Git Partial Clone lets you fetch only the large file you need
              • intellipaat.com: Git Tutorial - Learn Git \ud83c\udf1f
              • freecodecamp.org: How to Use Multiple Git Configs on One Computer \ud83c\udf1f
              • dev.to: Git for beginners
              • blog.gitguardian.com: Rewriting your git history, removing files permanently - cheatsheet & guide
              • smashingmagazine.com: Getting The Most Out Of Git
              • thenewstack.io: Why Open Source Project Maintainers are Reluctant to use Digital Signatures, Two-Factor Authentication
              • geeksforgeeks.org: How to Write Good Commit Messages in GitHub?
              • freecodecamp.org: What is Git? A Beginner\u2019s Guide to Git Version Control
              • c-sharpcorner.com: 0 Git Commands You Should Know
              • opensource.com: Find what changed in a Git commit Git offers several ways you can quickly see which files changed in a commit.
              • freecodecamp.org: How to Use Git and Git Workflows \u2013 a Practical Guide
              • about.gitlab.com: Why small merge requests are key to a great review \ud83c\udf1f
              • honeybadger.io: Top Ten Git Tips & Tricks
              • blog.balasundar.com: Automate Git Operations Using Python Automate your git operations using GitPython.
              • cloudbees.com: Git Commands: The 13 You Must Know, In Order \ud83c\udf1f
              • levelup.gitconnected.com: 5 Git Commands to Know Before Your First Tech Job or Internship
              • dev.to: Master Git in 7 minutes \ud83c\udf1f
              • blog.greenroots.info: How NOT to use Git in Practice. Ten Git usages, you should know to avoid
              • livecodestream.dev: Five Advanced Git Concepts that Make You Look Like a Pro Learn how to master GIT with these 5 advanced concepts
              • cloudbees.com: Git Pull: How It Works With Detailed Examples
              • midu.dev: Buenas pr\u00e1cticas para escribir commits en Git
              • cloudbees.com: Git Push: An In-Depth Tutorial With Examples
              • blog.annamcdougall.com: Git Workflow Tutorial: Start Using Git TODAY with Basic Git Commands
              • thenewstack.io: Git for Managing Small Projects \ud83c\udf1f
              • netflixtechblog.medium.com: Improving Pull Request Confidence for the Netflix TV App
              • cloudsavvyit.com: How to Use Git Hooks For Commit Automation \ud83c\udf1f
              • simplilearn.com: How to Resolve Merge Conflicts in Git?
              • blog.argoproj.io: 5 new Git commands and 1 tip you\u2019ll use every day
              • dev.to: Open Source: My first Pull Request
              • blog.testproject.io: Git 101 From Scratch: The Ultimate Guide for QAs \ud83c\udf1f
              • freecodecamp.org: Git for Professionals \u2013 Free Version Control Course \ud83c\udf1f
              • towardsdatascience.com: A Git cheatsheet that all coders need Ever accidentally deleted files or necessary code? Or do you wish to look back at an older version of your code?
              • r-bloggers.com: Git: Moving from Master to Main
              • css-tricks.com: Advanced Git series. 1 Creating the Perfect Commit in Git
                • css-tricks.com: Advanced Git series. 2 Branching Strategies in Git
                • css-tricks.com: Advanced Git series. 3 Better Collaboration With Pull Requests
                • css-tricks.com: Advanced Git series. 4 Merge Conflicts: What They Are and How to Deal with Them\u200b
                • css-tricks.com: Advanced Git series. 5 Rebase vs. Merge: Integrating Changes in Git
                • css-tricks.com: Advanced Git series. 6 Interactive Rebase: Clean up your Commit History
                • css-tricks.com: Cherry-Picking Commits in Git
                • css-tricks.com: Using the Reflog to Restore Lost Commits
              • cloudbees.com: Git Reset Clearly Explained: How to Undo Your Changes \ud83c\udf1f
              • c-sharpcorner.com: Top 15 Git Commands With Examples For Every Developers\ud83d\udcaa
              • cloudsavvyit.com: Should You Use HTTPS or SSH For Git? \ud83c\udf1f
              • marklodato.github.io: A Visual Git Reference \ud83c\udf1f
              • dev.to: Get lazy with lazygit
              • levelup.gitconnected.com: Top 30 Git Commands You Should Know To Master Git CLI Learn the most essential Git commands to boost your productivity, and become a master in managing the GitHub repositories.
              • medium: Forking GitHub Repository with Git and VIM | Swain Dennis
              • dev.to: 10 useful Git tips to improve your workflow \ud83c\udf1f
              • dev.to: Git Organized: A Better Git Flow
              • betterprogramming.pub: How to Filter the Git Logs Practical examples of how you can filter the Git logs
              • thenewstack.io: Development: Introduction to Git Logging
              • freecodecamp.org: git config \u2013 How to Configure Git Settings to Improve Your Development Workflow
              • freecodecamp.org: Git Undo Merge \u2013 How to Revert the Last Merge Commit in Git
              • devconnected.com: How To Delete File on Git
              • infoworld.com: What is Git? Version control for collaborative programming
              • dev.to: How Do I Resolve Merge Conflicts?
                • dev.to: How to Undo Pushed Commits with Git
              • opensource.com: My guide to using the Git push command safely Understand the usage and impact of this popular Git command on your project, learn new safer alternatives, and grasp the skills of restoring a broken branch.
              • opensource.com: Make your own Git subcommands Creating your own Git subcommand makes your custom scripts feel like natural components of Git.
              • betterprogramming.pub: 2 Use Cases of Python Pre-commit Hooks to Tidy Up Your Git Repositories Strategies to have a better-organized codebase
              • betterprogramming.pub: Recovering From Common Git Errors
              • github.blog: Improve Git monorepo performance with a file system monitor \ud83c\udf1f Monorepo performance can suffer due to the sheer number of files in your working directory. Git\u2019s new builtin file system monitor makes it easy to speed up monorepo performance.
              • java67.com: Top 10 Free Git Courses and Tutorials for Beginners in 2022 - Best of Lot
              • medium.com/@ladoui.bilal: 10 Git commands every DevOps should know \ud83c\udf1f
              • polarsquad.com: Stop doing pull requests
              • medium.com/@datosh18: Gitsign in remote environments
              • medium.com/qe-unit: How Google Does Monorepo (Revisited)
              • dev.to: How atomic Git commits dramatically increased my productivity - and will increase yours too \ud83c\udf1f
              • dev.to: Git fundamentals, a complete guide | Leandro Proen\u00e7a \ud83c\udf1f\ud83c\udf1f
              • freecodecamp.org: Undo Git Add \u2013 How to Remove Added Files in Git \ud83c\udf1f
              • realpython.com: Advanced Git Tips for Python Developers \ud83c\udf1f
              • cloud-and-devops.hashnode.dev: Git 007 : Learn Advanced GIT topics like a Pro
              • build5nines.com: Git: Reset / Undo Most Recent Local Commit
              • freecodecamp.org: How to Write Commit Messages that Project Maintainers Will Appreciate
              • learn.gitkraken.com/courses/git-foundations: Foundations of Git - Certification Course | Enroll for free
              • build5nines.com: How to Determine URL a Local Git Repository was Originally Cloned From
              "},{"location":"git/#git-releases","title":"Git Releases","text":"
              • github.blog: Highlights from Git 2.40 The first Git release of the year is here! Take a look at some of our highlights on what\u2019s new in Git 2.40.
              "},{"location":"git/#git-stash","title":"Git stash","text":"
              • opensource.com: A practical guide to using the git stash command Learn how to use the git stash command and when you should use it.
              • medium.com/featurepreneur: Don\u2019t trash your changes but stash \u2018em!
              • dev.to: How to Use Git Stash Command
              "},{"location":"git/#git-squash","title":"Git Squash","text":"
              • cloudbees.com: Git Squash: How to Condense Your Commit History
              • devroom.io: Git Squash your latests commits into one
              • freecodecamp.org: Git Squash Commits \u2013 Squashing the Last N Commits into One Commit
              "},{"location":"git/#git-branches","title":"Git Branches","text":"
              • learngitbranching.js.org: Learn Git Branching \ud83c\udf1f An interactive Git visualization tool to educate and challenge!
              • gitkraken.com: How do you rename a Git branch?
              • freecodecamp.org: Git Checkout Remote Branch Tutorial
              • freecodecamp.org: How to Use Branches in Git \u2013 the Ultimate Cheatsheet \ud83c\udf1f
              • stackoverflow.blog: A look under the hood: how branches work in Git Git branches allow you to keep different versions of your code cleanly separated. Here\u2019s a look at how they work and why you should know about them.
              • opensource.com: 4 tips for context switching in Git Compare the pros and cons of four options to switch branches while working in Git.
              • freecodecamp.org: Git Push to Remote Branch \u2013 How to Push a Local Branch to Origin
              • freecodecamp.org: How Git Branches Work
              • cloudsavvyit.com: How to Delete Git Branches on Local and Remote Repositories
              • dev.to: Open Source: Multiple branches and git merges
              • cloudsavvyit.com: How to Move Changes to Another Branch in Git
              • css-tricks.com: Git: Switching Unstaged Changes to a New Branch
              • betterprogramming.pub: Leave Aside Git Checkout. Consider Git Switch for a Change Switch between branches without checking out
              • freecodecamp.org: Git List Branches \u2013 How to Show All Remote and Local Branch Names
              • opensource.com: Explaining Git branches with a LEGO analogy
              • blog.devops.dev: Stop messing up with Git. Follow this simple and effective strategy to maintain Git branches
              • medium.com/@selvamraju007: GIT Branching Strategies
              • dev.to/varbsan: A Simplified Convention for Naming Branches and Commits in Git
              • medium.com/@amid.ukr: Agile Git branching strategies in 2023
              "},{"location":"git/#git-merge","title":"Git Merge","text":"
              • freecodecamp.org: The Git Merge Handbook \u2013 Definitive Guide to Merging in Git
              • freecodecamp.org: How to Fix Merge Conflicts in Git
              "},{"location":"git/#merge-repositories","title":"Merge Repositories","text":"
              • build5nines.com: Git: Merge Repositories with History
              "},{"location":"git/#git-aliases","title":"Git Aliases","text":"
              • opensource.com: 8 Git aliases that make me more efficient Use aliases to create shortcuts for your most-used or complex Git commands.
              • davidwalsh.name: More Awesome Git Aliases
              • blog.mimacom.com: The Git Commands You Wish You Always Had
              "},{"location":"git/#git-rebase","title":"Git Rebase","text":"
              • dev.to: ELI5: Git Rebase vs. Merge \ud83c\udf1f
              • opensource.com: My guide to understanding Git rebase -i The git rebase command is one of the most powerful in Git. It can rewrite your repository\u2019s commit history by rearranging, modifying, and even deleting commits.
              • freecodecamp.org/news/git-rebase-handbook
              "},{"location":"git/#git-and-github-backup","title":"Git and GitHub Backup","text":"
              • backhub.co Reliable GitHub repository backup, set up in minutes
              • devops.com: Make GitHub Backups Part of Your Development Process
              • dev.to: 3 Ways to Backup Your Code (Even If You Don\u2019t Know Git)
              "},{"location":"git/#cherry-picking","title":"Cherry-picking","text":"
              • opensource.com: 3 reasons I use the Git cherry-pick command Cherry-picking solves a lot of problems in Git repositories. Here are three ways to fix your mistakes with git cherry-pick.
              • jmfloreszazo.com: GIT Mejores pr\u00e1cticas: CHERRY-PICKING
              "},{"location":"git/#git-submodules","title":"Git Submodules","text":"
              • git-scm.com: Git Tools - Submodules It often happens that while working on one project, you need to use another project from within it. Perhaps it\u2019s a library that a third party developed or that you\u2019re developing separately and using in multiple parent projects. A common issue arises in these scenarios: you want to be able to treat the two projects as separate yet still be able to use one from within the other.
              • sitepoint.com: Understanding and Working with Submodules in Git
              "},{"location":"git/#shields","title":"Shields","text":"
              • shields.io \ud83c\udf1f
              "},{"location":"git/#design-by-contract","title":"Design By Contract","text":"

              Wikipedia: Design by contract (DbC), also known as contract programming, programming by contract and design-by-contract programming, is an approach for designing software.

              It prescribes that software designers should define formal, precise and verifiable interface specifications for software components, which extend the ordinary definition of abstract data types with preconditions, postconditions and invariants. These specifications are referred to as \u201ccontracts\u201d, in accordance with a conceptual metaphor with the conditions and obligations of business contracts.

              "},{"location":"git/#git-cheat-sheets","title":"Git Cheat Sheets","text":"
              • Git and GitHub Cheat Sheets
              "},{"location":"git/#monorepo-vs-polyrepo","title":"Monorepo VS Polyrepo","text":"
              • fourtheorem.com: How to end Microservice pain and embrace the Monorepo
              • medium: The Pros and Cons of Monorepos, Explained Should you keep all of your code in a single directory?
              "},{"location":"git/#patterns-for-managing-source-code-branches-branching-modelsworkflows","title":"Patterns for Managing Source Code Branches (Branching Models/Workflows)","text":"
              • paulhammant.com: What is Your Branching Model?: Mainline, Cascade, Trunk-Based Development, Short Lived Feature Branches, Continuous Deployment, Subversion noise on branching, etc.
              • adevait.com: Creating a Branching Strategy for Small Teams
              • atlassian.com: Configuring branching models \ud83c\udf1f
              • git-scm.com: Git Branching - Branching Workflows
              • git-scm.com: Distributed Git - Distributed Workflows
                • Distributed Git - Distributed Workflows - Integration-Manager Workflow
                • Setup Git Integration Manager Workflow in Eclipse
              • Dzone refcard: Git Patterns and Anti-Patterns Scaling from Workgroup to Enterprise. Suggests patterns and anti-patterns, including Hybrid SCM, Git champions, blessed repository, per-feature topic branches, and ALM integration.
              • martinfowler.com: Patterns for Managing Source Code Branches
                • Release Branch Pattern: A branch that only accepts commits accepted to stabilize a version of the product ready for release.
              • medium: Which Git branching model should I select for my project?
              • speakerdeck.com: 10 Git Anti Patterns You Should be Aware of \ud83c\udf1f
              • gitkraken.com: Branching in Git \ud83c\udf1f
              • jmfloreszazo.com: Flujos de trabajo de git
              Slide: 10 git anti patterns. Click to expand!"},{"location":"git/#git-workflows","title":"Git Workflows","text":"
              • git help workflows
              • atlassian.com: Comparing Workflows \ud83c\udf1f
              • GitLab Flow
              • GitHub Flow
              • Git Flow
              • Git DMZ Flow
              • kubernetes.dev: GitHub Workflow An overview of the GitHub workflow used by the Kubernetes project. It includes some tips and suggestions on things such as keeping your local environment in sync with upstream and commit hygiene.
              "},{"location":"git/#trunk-based-development","title":"Trunk Based Development","text":"
              • Trunk Based Development
              • paulhammant.com: What is Trunk-Based Development?
              • The Origins of Trunk Based Development
              • quora.com: What is trunk based development?
              • kean.github.io: Trunk-Based Development
              • paulhammant.com: Microsoft\u2019s Trunk-Based Development
              • devblogs.microsoft.com: Release Flow: How We Do Branching on the VSTS Team
              "},{"location":"git/#feature-branch-development-aka-gitflow","title":"Feature Branch Development (aka GitFlow)","text":"
              • nvie.com: Feature Branches. A successful Git branching model
              "},{"location":"git/#git-flow","title":"Git Flow","text":"
              • One of the main concepts of GitFlow is feature branches. The idea is that each feature should be developed in its own branch. When the feature is done, it gets merged into develop branch.
              • devopszone.info: An Introduction To Git-flow Workflow
              • atlassian.com: Gitflow Workflow
              • gitkraken.com: GitFlow is a list of rules to keep a repo\u2019s history organized, and is used to make the release process, bug fixes, and feature creation easier.
              • git-flow.readthedocs.io
              • medium.com: Gitflow \u2014 Branch Guide
              • medium.com: Git Flow for Beginners
              • medium.com: What is GitFlow?
              • gist.github.com/JamesMGreene: A comparison of using git flow commands versus raw git commands
              • Git-flow cheatsheet
              • aprendegit.com: git-flow: la rama develop y uso de feature branches
              "},{"location":"git/#git-flow-is-a-bad-idea","title":"Git Flow is a bad idea","text":"
              • thinkinglabs.io: Feature Branching considered Evil
                • youtube: Feature Branching is Evil (Thierry de Pauw, Belgium)
                • 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\u2019s 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 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 \u2018releasability\u2019 of our work, so how do we adapt to get that faster feedback and a clearer picture?
              "},{"location":"git/#trunk-based-development-vs-git-flow","title":"Trunk-based Development vs. Git Flow","text":"
              • toptal.com: Trunk-based Development vs. Git Flow
              • victorops.com: Source Code Control: Trunk-Based Development vs. GitFlow
              • medium: GitFlow VS Trunk-Based-Development
              • Dzone: Why I Prefer Trunk-Based Development Over Feature Branching and GitFlow \ud83c\udf1f Check out the components of Trunk-based Development as implemented by Facebook and Google, and see how it helps resolve and prevent merge conflicts.
              • team-coder.com: From Git Flow to Trunk Based Development
              • freecodecamp.org: What is Trunk Based Development? A Different Approach to the Software Development Lifecycle
              "},{"location":"git/#alternative-branching-models","title":"Alternative Branching Models","text":"
              • trunkbaseddevelopment.com: Alternative Branching Models
              "},{"location":"git/#feature-flags-feature-toggles","title":"Feature Flags (Feature Toggles)","text":"
              • featureflags.io: Flags vs Branching Branch better with feature flag driven development.
              • martinfowler.com: Feature Toggles (aka Feature Flags)
              • #FeatureFlags
              • CloudBees Releases Another Industry First: Feature Flagging for On-Premise Use \ud83c\udf1f
              • cioperu.pe: 5 formas de impulsar la utilizaci\u00f3n de feature flags
              • cloudbees.com: Testing with Feature Flags to Improve Developer Productivity
              • cloudbees.com: Goodbye Sleepless Nights: De-Risking Deployments with Feature Flags
              • thenewstack.io: Wave Goodbye to Release Nights
              • infoworld.com: Why aren\u2019t you using feature flags? Software development is changing. If you\u2019re still focused on release management rather than feature management, then you\u2019re doing it wrong.
              • cloudbees.com: How to Grow Continuous Delivery Maturity Using Feature Flags
              • cloudbees.com: Feature Flag Best Practices: Change Management in Production
              • cloudbees.com: Feature Flag Best Practices: Understanding the Feature Flag Lifecycle
              • github.blog: How we ship code faster and safer with feature flags
              • cloudbees.com: The Importance of Feature Flags in CI/CD
              • infoworld.com: 5 devops use cases for developing with feature flags Feature flags boost integrations with analytics, provide feature controls to product owners, and improve app rollouts.
              • reflectoring.io: Feature Flags with Spring Boot
              "},{"location":"git/#keystone-interface-and-keystone-flags","title":"Keystone Interface and Keystone Flags","text":"
              • martinfowler.com: KeystoneInterface
              • split.io: Keystone Flags: Feature Flagging With Less Mess
              "},{"location":"git/#git-commands","title":"Git Commands","text":"
              • Show commit logs:
              git log --oneline --all --graph --decorate\n
              • Removing the last commit:
              git reset --hard HEAD^\ngit push origin -f\n
              • Undoing commits. In case you pushed a wrong change and you want to remove it totally the following commands explain how to do it in soft, mixed and hard mode:
              git reset --soft HEAD^ # Removes the last commit, keeps changed staged\ngit reset --mixed HEAD^ # Unstages the changes as well\ngit reset --hard HEAD^ # Discards local changes\n
              • Reverting commits:
              git revert 72856ea # Reverts the given commit\ngit revert HEAD~3.. # Reverts the last three commits\ngit revert --no-commit HEAD~3..\n
              • Recovering lost commits. We can list all last changes and recover back any commit we would like to get again:
              git reflog # Shows the history of HEAD\ngit reflog show bugfix # Shows the history of bugfix pointer\n
              • Amending the last commit. Let\u2019s suppose that you commit a wrong log message and you would like to fix it without changing the commit. \u2014 amend flag will allow us to do it:
              git commit --amend\n
              • Interactive rebasing. Interactive rebasing can be used for changing commits in many ways such as editing, deleting, and squashing:
              git rebase -i HEAD~5\n
              "},{"location":"git/#bitbucket","title":"BitBucket","text":"
              • bitbucket.org
              • Atlassian Git Cheatsheet
              "},{"location":"git/#gitlab","title":"GitLab","text":"
              • gitlab.com
              • Dzone: using gitlab API to create projects
              • gitlab.com: GitLab\u2019s guide to CI/CD for beginners CI/CD is a key part of the DevOps journey. Here\u2019s everything you need to understand about this game-changing process.
              • levelup.gitconnected.com: Automating Integration and Deployment to Remote Server GitLab CI/CD
              • about.gitlab.com: Want a more effective CI/CD pipeline? Try our pro tips Here\u2019s how to take your CI/CD pipeline to the next level with hands on advice about faster builds, better security and more.
              • gitlab.com: How to do GitLab merge request reviews in VS Code
              • about.gitlab.com: How we used parallel CI/CD jobs to increase our productivity GitLab uses parallel jobs to help long-running jobs run faster.
              • about.gitlab.com: How to use GitLab CI to deploy to multiple environments
              • about.gitlab.com: Meet Pipeline Editor, your one-stop-shop for building a CI/CD pipeline
              • about.gitlab.com: A new era of Kubernetes integrations on GitLab.com The GitLab Kubernetes Agent enables secure deployments from GitLab SaaS to your Kubernetes cluster and provides deep integrations of your cluster to GitLab.
              • docs.gitlab.com: Install GitLab Runner on Red Hat OpenShift
              • devclass.com: Git a March on: GitLab 13.10 ramps up security, adds support for OpenShift, DORA
              • about.gitlab.com: GitLab 13.11 released with Kubernetes Agent and Pipeline Compliance
              • lambdatest.com: How To Use GitLab CI To Run Tests Locally? \ud83c\udf1f
              • sdtimes: GitLab 14 aims to do away with DIY DevOps toolchains \ud83c\udf1f
              • about.gitlab.com: GitLab 14.1 released with Helm Chart Registry and Escalation Policies
              • about.gitlab.com: The new Git default branch name
              • about.gitlab.com: How GitLab\u2019s 5 new code review features will make life easier
              • pythonspeed.com: Building Docker images on GitLab CI: Docker-in-Docker and Podman \ud83c\udf1f
              • about.gitlab.com: Why we built GitDock, our desktop app to navigate your GitLab activities
              • about.gitlab.com: GitLab\u2019s Kubernetes Operator with support for Red Hat OpenShift is now generally available
              • containerjournal.com: GitLab Brings Kubernetes Operator to Red Hat OpenShift
              • vadosware.io: Level 1 Automated K8S Deployments With GitLab CI
              • redpill-solutions.medium.com: Deploying to Kubernetes with GitLab
              • venturebeat.com: GitLab acquires open source observability distribution Opstrace
              • about.gitlab.com: GitLab Chart works towards Kubernetes 1.22
              • Deploy and Manage Gitlab Runners on Amazon EC2
              • freecodecamp.org: DevOps with GitLab CI Course \ud83c\udf1f
              • testmo.com: GitLab CI/CD Test Automation Pipeline & Reporting
              • community.ops.io: CI CD 101 with GitLab
              • about.gitlab.com: Simple Kubernetes management with GitLab
              • itnext.io: Managing multiple Kubernetes clusters using Git \ud83c\udf1f Managing multi-cloud Kubernetes clusters in a central location using GitLab
              • renjithvr11.medium.com: Running GitLab Runners on Kubernetes
              "},{"location":"git/#gitlab-collective","title":"GitLab Collective","text":"
              • GitLab Collective \ud83c\udf1f Discover and share knowledge about version control, CI/CD, DevSecOps, and all-remote workflows
              • stackoverflow.blog: GitLab launches Collective on Stack Overflow
              "},{"location":"git/#github","title":"GitHub","text":"
              • GitHub for Beginners: Getting Started with OSS Contributions - A guide for beginners on how to contribute to open-source software (OSS) projects using GitHub. It covers finding suitable projects, understanding repositories, and making initial contributions. The article emphasizes that OSS has freely available source code, encouraging developers to learn and build upon existing projects.
              • What is a GitHub Wiki and How Do You Use it? - (Related to developerportals topic)

              • githubstatus.com \ud83c\udf1f

              • buttons.github.io: GitHub Buttons
              • GitHub Codespaces Get the full Visual Studio Code experience without leaving GitHub.
                • infoq.com: GitHub Codespaces Can Now Be Templated to Improve Performance
                • infoworld.com: GitHub Codespaces freely available to all GitHub users All GitHub users can use the GitHub-hosted development environments free for up to 60 hours per month. Codespaces also added JetBrains IDE, JupyterLab, and GPU support.
              • GitHub CLI
                • github.com/cli/cli
                • github.blog: GitHub CLI allows you to close, reopen, and add metadata to issues and pull requests
                • github.blog: Mark pull requests as ready for review, view the diff, review, and merge from GitHub CLI
              • githubstatus.com/uptime \ud83c\udf1f
              • github.blog: How we launched docs.github.com
              • Introducing GitHub\u2019s OpenAPI Description
              • GitHub public roadmap \ud83c\udf1f
              • Token authentication requirements for API and Git operations
              • GitHub Chaos Actions in Your CI/CD workflow
              • GitHub\u2019s OpenAPI Spec Open-Sourced in Beta
              • Things you didn\u2019t know you could diff in GitHub
              • github.blog: Set the default branch for newly-created repositories
              • grafana.com: How we use the Grafana GitHub plugin to track outstanding pull requests
              • itnext.io: Build & Ship: GitHub Container Registry & Kubernetes
              • grafana: How we use the Grafana GitHub plugin to track outstanding pull requests
              • itnext.io: Build & Ship: GitHub Container Registry & Kubernetes
              • theregister.com: Passwords begone: GitHub will ban them next year for authenticating Git operations
              • github.blog: Learn about ghapi, a new third-party Python client for the GitHub API
              • github.blog: Improving how we deploy GitHub
              • github.blog: Deployment reliability at GitHub
              • github.blog: Extending GitOps to reliability-as-code with GitHub and StackPulse
              • GitHub public roadmap \ud83c\udf1f
              • github.blog: Solving the innersource discovery problem - Discoverability
              • blog.gruntwork.io: Introducing git-xargs: an open source tool to update multiple GitHub repos
              • github.blog: Security keys are now supported for SSH Git operations \ud83c\udf1f
              • education.github.com Real-world tools, engaged students. GitHub Education helps students, teachers, and schools access the tools and events they need to shape the next generation of software development.
              • github.blog: GitHub brings supply chain security features to the Go community
              • dev.to: How to never type passwords when using Git We\u2019re deprecating password support for Git operations to keep you more secure. You can authenticate Git actions using:
                • SSH keys
                • Personal Access Tokens
                • OAuth Apps
                • Credential Manager
                • GH Desktop
                • GH CLI
                • Physical keys
              • dev.to: 10 Fun Things You Can Do With GitHub.dev \ud83d\ude0e
              • github.blog: GitHub CLI 2.0 includes extensions!
              • dev.to: Git and GitHub: The Complete Guides - Chapter 6: GitHub Merging
              • github.blog: Improved pull request file filtering Filtered files on the Pull Request Files Changed tab are now completely hidden from view (not just collapsed). This helps decrease distractions and lets you focus on just the files you need to review.
              • dev.to: Git and GitHub Series\u2019 Articles - The Complete Guides \ud83c\udf1f
              • infoworld.com: GitHub introduces code review controls \ud83c\udf1f New controls in the popular code-sharing site are designed to deal with \u2018drive-by\u2018 pull request approvals and \u2018spammy\u2019 change requests.
              • returngis.net: Migrar un repositorio de un BitBucket Server local a GitHub
              • freecodecamp.org: Git and GitHub Tutorial \u2013 Version Control for Beginners \ud83c\udf1f
              • github/hub \ud83c\udf1f A command-line tool that makes git easier to use with GitHub.
              • cloudsavvyit.com: How To Properly Fork a Github Repository
              • dev.to: New GitHub Rules Guide [git push -u origin main] This post explains very quickly how to push your code to your GitHub repository following the new rules imposed by GitHub.
              • dev.to: Learn how to use Git and GitHub in a team like a pro
                • dev.to: Learn how to use Git and GitHub in a team like a pro (part 2)
              • dev.to: Git and GitHub for beginners
              • adamtheautomator.com: How to Manage GitHub Actions Environment Variables and Secrets
              • dev.to: Introduction to Git and GitHub
              • github.blog: Improving GitHub code search
              • github.blog: Lists are now available as a public beta Lists level up the starring experience by making it easy to organize and curate your favorite repositories on GitHub. You can create public lists that appear on your stars page at https://github.com/USERNAME?tab=stars.
              • freecodecamp.org: How to Use the .github Repository
              • about.gitlab.com: How to install and use the GitLab Kubernetes Operator (on OCP)
              • alsmola.medium.com: Securing GitHub organizations
              • github.blog: Dependency graph now supports GitHub Actions The dependency graph helps developers and maintainers understand the code they depend on, and now includes GitHub Actions!
              • github.blog: How to build a CI/CD pipeline with GitHub Actions in four simple steps A quick guide on the advantages of using GitHub Actions as your preferred CI/CD tool\u2014and how to build a CI/CD pipeline with it.
              • cloudsavvyit.com: How to Use Github Actions to Automate Your Repository Builds
              • github.blog: How to start using reusable workflows with GitHub Actions Reusable workflows offer a simple and powerful way to avoid copying and pasting workflows across your repositories.
              • github.blog: Getting started with project planning on GitHub Stop context switching. Keep your team\u2019s project planning next to your code.
              • freecodecamp.org: How to Fork a GitHub Repository \u2013 A Complete Workflow
              • levelup.gitconnected.com: GitHub may replace DockerHub
              • github.com/Lightning-AI/engineering-class: Lightning Bits: Engineering for Researchers \ud83c\udf1f This repository contains additional materials and show notes for the Lightning Bits: Engineering for Researchers video series.
                • github.com/Lightning-AI/engineering-class: Episode 8: Creating a Pull Request on GitHub
                • github.com/Lightning-AI/engineering-class: Episode 9: Collaborating with Pull Requests using GitHub
              • github.com/marketplace: Use AWS Secrets Manager secrets in GitHub jobs \ud83c\udf1f
              • tylercipriani.com: GitHub\u2019s Missing Merge Option
              • steampipe.io: Top 3 ways to improve GitHub org security Gain some practical tips for securing your GitHub organizations based on findings from common security incidents.
              • dev.to/opensauced: How to Create a Good Pull Request Template (and Why You Should Add Gifs)
              • youtube: GitHub Masterclass (Spanish) \ud83c\udf1f
              • freecodecamp.org: How to Build a GitHub Template Repository for Scaffolding with React, Vite, and TailwindCSS
              • alemsbaja.hashnode.dev: Git and GitHub Demystified : A Comprehensive Guide for Version Control System A Comprehensive Guide to Mastering Git Version Control System and GitHub with example
              • docs.github.com: Using SSH over the HTTPS port \ud83c\udf1f Sometimes, firewalls refuse to allow SSH connections entirely. If using HTTPS cloning with credential caching is not an option, you can attempt to clone using an SSH connection made over the HTTPS port. Most firewall rules should allow this, but proxy servers may interfere.
              • freecodecamp.org: How to Contribute to Open-Source Projects \u2013 Git & GitHub Workflow for Beginners
              • mattias.engineer: Azure Federated Identity Credentials for GitHub
              • freecodecamp.org: How to Create and Sync Git and GitHub Repositories
              "},{"location":"git/#fake-it-til-you-make-it","title":"Fake it til you make it","text":"
              • github.com/rakyll/fake-it-til-you-make-it Have you come across to someone that thinks you don\u2019t deserve a job because you don\u2019t have GitHub contributions? Never worked for a company who hired based on GitHub contributions alone. If anyone is bugging you because you are not an open source developer or your company doesn\u2019t use GitHub, use fake-it-til-you-make-it to generate two years of contributions.
              "},{"location":"git/#github-lab","title":"GitHub Lab","text":"
              • lab.github.com \ud83c\udf1f With GitHub Learning Lab, grow your skills by completing fun, realistic projects. Get advice and helpful feedback from our friendly Learning Lab bot.
              "},{"location":"git/#github-code-scanner","title":"GitHub Code Scanner","text":"
              • https://docs.github.com/en/code-security/code-scanning
              • analyticsindiamag.com: GitHub launches code scanner to flag security vulnerabilities The new experimental analysis can have a higher false-positive rate relative to results from standard CodeQL analysis.
              "},{"location":"git/#github-discussions","title":"GitHub Discussions","text":"
              • github.com/giscus/giscus A comments system powered by GitHub Discussions. Let visitors leave comments and reactions on your website via GitHub! Heavily inspired by utterances.
              "},{"location":"git/#github-actions","title":"GitHub Actions","text":"
              • Gama: Terminal UI for GitHub Actions - (Related to cicd topic)

              • github.blog: Testing cloud apps with GitHub Actions and cloud-native open source tools

              • docker.com: Docker Github Actions
              • laravel-news.com: Generate GitHub Actions Config for Laravel Projects with Ghygen
              • blog.codecentric.de: Stop re-writing pipelines! Why GitHub Actions drive the future of CI/CD
              • particule.io: CI/CD using Github Actions, AWS ECR and ECS Fargate
              • proandroiddev.com: \u201cContinuous Integration/Delivery\u201d for Android with GitHub Actions \u2014 Part 1
              • github.blog: Implementing least privilege for secrets in GitHub Actions
              • github.blog: Work with GitHub Actions in your terminal with GitHub CLI
              • github.blog: GitHub Actions: Control permissions for GITHUB_TOKEN \ud83c\udf1f
              • github.blog: GitHub Actions update: Helping maintainers combat bad actors
              • github.blog: How we use GitHub Actions to manage GitHub Docs
              • vimeo.com: How to Create a CI/CD Pipeline with GitHub Actions and K8s Like a Boss
              • medium: Create CI/CD with Github Actions + AWS EC2, CodeDeploy and S3
              • actions-runner-controller \ud83c\udf1f Kubernetes controller for GitHub Actions self-hosted runnners
              • itnext.io: GitHub Actions for Android Developers
              • github.com: Branch Cleanup Action \ud83c\udf1f A GitHub action to automatically delete the branch after a pull request has been merged.
              • blog.thundra.io: How to Set Up a CI Pipeline in GitHub Actions
              • github.blog: GitHub Actions: Ephemeral self-hosted runners & new webhooks for auto-scaling
              • github.blog: Showing code scanning alerts on pull requests
              • blog.thundra.io: Top 10 GitHub Actions You Should Use to set up your CI/CD Pipeline
              • github.blog: 10 GitHub Actions resources to bookmark from the basics to CI/CD
              • resources.github.com: What is GitHub Actions? How automation & CI/CD work on GitHub (whitepaper/pdf)
              • github.blog: Container signing added to the Publish Docker Container workflow for GitHub Actions We have added support for sigstore container signing to the default GitHub Actions starter workflow for publishing container images. New workflows on public repositories will use this by default. If you have an existing workflow, you will need to update your workflow to take advantage of this capability.
              • dev.to: What\u2019s the difference between a GitHub Action and a Workflow?
              • github.blog: 5 automations every developer should be running
              • github.blog: Getting started with GitHub Actions just got easier!
              • github.blog: GitHub Actions: Improvements to GitHub Actions starter experience
              • levelup.gitconnected.com: GitHub may replace DockerHub
              • blog.fleetdm.com: 4 tips for GitHub Actions usability (+2 bonus tips for debugging)
              • freecodecamp.org: How to Build Your First JavaScript GitHub Action
              • dev.to: Make your first contribution to a GitHub Action!
              • blog.ediri.io: Auto Docs, Test And Release A Helm Chart With GitHub Actions
              • blog.shreyaspatil.dev: Automate library publishing to Maven Central with GitHub Actions Workflow Dispatch
              • laravel-news.com: Deploy your PHP Codebase with Ansible and GitHub Actions
              • infoq.com: How GitHub Does DevOps for its iOS and Android Apps
              • blog.gskinner.com: Flutter: Easily add CI testing with GitHub Actions
              • devblogs.microsoft.com: .NET \ud83d\udc9c GitHub Actions
              • tonylixu.medium.com: GitOps \u2014 Github Actions Docker Build Workflow GitOps using Github Actions
              • registry.terraform.io/modules/markti/github-runner Provision a Custom Runner for GitHub Actions
              • build5nines.com: Configuring Manual Triggers in GitHub Actions with workflow_dispatch
              • medium.com/@george_bakas: Mastering GitHub Actions: Environment Variables and Secrets Management
              • build5nines.com: Configuring GitHub Actions to Run Jobs on Specific Branches
              • build5nines.com: GitHub Actions: Get Current Branch Name for Git Repo
              "},{"location":"git/#github-actions-marketplace","title":"GitHub Actions Marketplace","text":"
              • flat-data Flat Data is a GitHub action which makes it easy to fetch data and commit it to your repository as flatfiles. The action is intended to be run on a schedule, retrieving data from any supported target and creating a commit if there is any change to the fetched data.
              "},{"location":"git/#github-actions-and-openshift","title":"GitHub Actions and OpenShift","text":"
              • redhat.com: Red Hat and GitHub Collaborate to Expand the Developer Experience on Red Hat OpenShift with GitHub Actions \ud83c\udf1f Industry\u2019s leading enterprise Kubernetes platform now integrates with GitHub, bringing DevOps automation tools from the world\u2019s largest developer platform into the OpenShift ecosystem
              • openshift.com: Deploying to OpenShift using GitHub Actions
              • github.com: RedHat Actions \ud83c\udf1f
              • github.com: OpenShift GitHub Actions Runner \ud83c\udf1f
              • github.com: OpenShift GitHub Actions Runner Chart \ud83c\udf1f
              "},{"location":"git/#github-copilot","title":"GitHub Copilot","text":"
              • GitHub Copilot \ud83c\udf1f Your AI pair programmer. With GitHub Copilot, get suggestions for whole lines or entire functions right inside your editor.
              • hipertextual.com: GitHub une fuerzas con OpenIA para crear una inteligencia artificial capaz de autocompletar c\u00f3digo GitHub Copilot funciona con la inteligencia artificial de OpenAI. La herramienta busca mejorar el aprendizaje de lenguajes de programaci\u00f3n.
              • xataka.com: Para qu\u00e9 programar cuando una m\u00e1quina lo hace (un poco) por ti: as\u00ed es Github Copilot, un sistema que se nutre del prodigioso GPT-3
              • thenewstack.io: GitHub Copilot: A Powerful, Controversial Autocomplete for Developers
              • xataka.com: Llevo algunos d\u00edas usando Copilot de GitHub para programar y esta es mi experiencia
              • medium: GitHub\u2019s AI Copilot Might Get You Sued If You Use It Some are even abandoning GitHub because of it
              • towardsdatascience.com: Can Github Copilot Replace Developers? Since its release, copilot has become the talk of the town among developers. There are many pros and cons to using it.
              • towardsdatascience.com: Generating Python Scripts with OpenAi\u2019s Github Copilot Using AI to generate Python scripts for simple neural networks, data visualization and more
              • dev.to: GitHub Copilot blew my mind on a code-along exercise
              • medium.com/@eriky: Copilot Is Genuinely Scary And Fascinating At The Same Time It knows more than just programming languages
              • GitHub Copilot is generally available to all developers We\u2019re making GitHub Copilot, an AI pair programmer that suggests code in your editor, generally available to all developers for $10 USD/month or $100 USD/year. It will also be free to use for verified students and maintainers of popular open source projects.
              • xataka.com: GitHub Copilot, el asistente para programar basado en IA, ya est\u00e1 disponible para todos: cu\u00e1nto cuesta y quienes lo pueden usar gratis
              • genbeta.com: Ya hay organizaciones pro-software libre abandonando GitHub por su uso comercial de proyectos open source en Copilot
              • xataka.com: Copilot ya escribe el 40% del c\u00f3digo de lenguajes como Java o Python que llega a GitHub. En cinco a\u00f1os llegar\u00e1 al 80%
              • xataka.com: Copilot es una revoluci\u00f3n para programadores (pero tambi\u00e9n un potencial problema legal para Microsoft)
              • github.blog: GitHub Copilot X: The AI-powered developer experience GitHub Copilot is evolving to bring chat and voice interfaces, support pull requests, answer questions on docs, and adopt OpenAI\u2019s GPT-4 for a more personalized developer experience.
              • techcommunity.microsoft.com: Coding Frameworks and languages are no longer the point, prompting is
              • github.blog/developer-skills: 10 unexpected ways to use GitHub Copilot GitHub Copilot is widely known for its code generation feature. Learn how the AI assistant\u2019s abilities can extend beyond just code generation.
              "},{"location":"git/#github-copilot-vs-gpt-3","title":"GitHub CoPilot VS GPT-3","text":"
              • python.plainenglish.io: Who Writes Better Code: GitHub CoPilot or GPT-3?
              "},{"location":"git/#github-copilot-x","title":"GitHub Copilot X","text":"
              • computerhoy.com: GitHub Copilot X: as\u00ed es la nueva IA parecida a ChatGPT y destinada a ayudar a programadores
              "},{"location":"git/#alternatives","title":"Alternatives","text":"
              • medium.com/geekculture: Hey ChatGPT, Automate These Tasks Using Python Using AI to plot graphs, send emails/messages, and do web scraping in a few seconds.
              • xataka.com: Los programadores ya alucinaban con CoPilot y ChatGPT, pero ahora DeepMind va m\u00e1s all\u00e1 con AplhaCode
              • lucidrains/PaLM-rlhf-pytorch The first open source equivalent of ChatGPT. Implementation of RLHF (Reinforcement Learning with Human Feedback) on top of the PaLM architecture. Basically ChatGPT but with PaLM
              "},{"location":"git/#codiumai","title":"CodiumAI","text":"
              • codium.ai: We\u2019ve launched CodiumAI powered by TestGPT and raised $11M. Here\u2019s why
              "},{"location":"git/#gitea","title":"Gitea","text":"
              • Gitea
              • itnext.io: Setup a Private Git-Repository in Kubernetes with Gitea
              "},{"location":"git/#sapling","title":"Sapling","text":"
              • sapling-scm.com
              • betterprogramming.pub: My First Impressions of Sapling \u2014 Meta\u2019s New Git Client
              "},{"location":"git/#git-tools","title":"Git Tools","text":"
              • Atlassian Sourcetree
                • Sourcetree Cheat Sheet
              • gitkraken.com
                • GitKraken Git Cheat
                • youtube: GitKraken Tutorials and Tips
              • gmaster
              • Visual Studio Code (Git Extensions)
              • Visual Studio Online
              • git-lfs/git-lfs: Git Large File Storage Git extension for versioning large files
              • github.com/MichaelMure/git-bug Distributed, offline-first bug tracker embedded in git, with bridges
              • blog.kubesimplify.com: Moving code between GIT repositories with Copybara | Daniele Polencic
              "},{"location":"git/#git-credential-manager","title":"Git Credential Manager","text":"
              • Git Credential Manager Secure, cross-platform Git credential storage with authentication to GitHub, Azure Repos, and other popular Git hosting services.
              • Git Credential Manager (GCM) is a secure Git credential helper built on .NET that runs on Windows, macOS, and Linux.
              • github.blog: Git Credential Manager: authentication for everyone Ensuring secure access to your source code is more important than ever. Git Credential Manager helps make that easy.
              "},{"location":"git/#semantic-release-cicd-semantic-release-workflow-semantic-versioning-commit-format-and-releases","title":"Semantic-release. CI/CD semantic release workflow (semantic Versioning, commit format and releases)","text":"
              • semantic-release.gitbook.io \ud83c\udf1f Semantic-release automates the whole package release workflow including: determining the next version number, generating the release notes and publishing the package.
              • css-tricks.com: How to Automate Project Versioning and Releases with Continuous Deployment \ud83c\udf1f
              "},{"location":"git/#azure-devops-formerly-known-as-vsts","title":"Azure DevOps (formerly known as VSTS)","text":"
              • Wikipedia: Azure DevOps
                • wikipedia: Azure DevOps Server Collaboration software for software development formerly known as Team Foundation Server and Visual Studio Team System
                • wikipedia: Azure DevOps Services Cloud service for software development formerly known as Visual Studio Team Services, Visual Studio Online and Team Foundation Service Preview
              • Azure DevOps Labs \ud83c\udf1f
              • twitter.com/azuredevops
              • Microsoft Visual Studio Team Services (VSTS)
              • Microsoft Visual Studio Team Services (VSTS) Tutorial: The Cloud ALM Platform
              • slideshare.net: Git version control and trunk based approach with VSTS
              • Microsoft Replacing Visual Studio Team Services with Azure DevOps
              • How We Use Git at Microsoft
              "},{"location":"git/#pre-commit-hooks","title":"Pre Commit Hooks","text":"
              • pre-commit A framework for managing and maintaining multi-language pre-commit hooks.
              "},{"location":"git/#merge-bots","title":"Merge BOTs","text":"
              • The Merge Bot is a tool to orchestrate pull requests merging into the stable branches.
              • Wikipedia: Software bot
              "},{"location":"git/#tips","title":"Tips","text":"
              • Use bots to accomplish tasks like merging PR\u2019s that have been approved and automatically updating dependencies. Usage of one of these bots might allow us to trigger certain builds based off of specific GitHub tags, it would allow us to only selectively run certain test suites and increase the throughput of the build by only testing changes made in a branch / PR.
              • Investigate options that are available and see if we can integrate them with CI.
              • We should be able to configure this bot to automatically apply labels to PR\u2019s based off of what is changed in a PR. For instance, if a PR contains any documentation changes, the area/Documentation label can be applied.
              "},{"location":"git/#jenkins-for-git-merges","title":"Jenkins for git merges","text":"
              • Git Plugin: Merge Extensions
              • How to configure Jenkins for git merge
              • GitHub Pull Request Builder Plugin , github ref. You should probably migrate to GitHub Branch Source Plugin.
              • GitHub Branch Source Plugin: Allows you to create a new project based on the repository structure from one or more GitHub users or organizations.
              "},{"location":"git/#bitbucket-for-git-merges","title":"Bitbucket for git merges","text":"
              • Automatic branch merging
              • BitBucket Auto Merge Automatically create and merge pull request to keep branches in sync.
              • Checks for merging pull requests
              • BitBucket Bot for Microsoft Teams
              • Code Dog Merge your Pull Requests sooner. Some of the Slack messages your team sends are critical for productivity. Automate them.
              • Jenkins Plugin: Bitbucket Push and Pull Request
              • How to Implement the Automerge feature that is missing from BitBucket cloud
              • Configure bitbucket-pipelines.yml to automatically merge feature branch to master?
              "},{"location":"git/#gitlab-for-git-merges","title":"GitLab for git merges","text":"
              • Auto-merge between release branches
              • Provide merge bot functionality
              • lab.texthtml.net: Gitlab Merge Bot
                • DockerHub: Gitlab Merge Bot Bot assistant for code review and merge requests approval for Gitlab
              • Mergecrush A email & slack reminder bot for Gitlab merge requests.
              • stackoverflow.com: How can we programmatically approve merge requests in GitLab?
                • Our group has a bot that creates merge requests for certain mechanical changes to our code base. We\u2019d like these MRs to get merged in automatically if/when the CI pipeline succeeds, but our projects require an approval from a member of our group. This means that right now a human has to manually click on \u201capprove\u201d and \u201cmerge\u201d for each bot-created MR. Apparently GitLab doesn\u2019t have a way to set different approval rules for some users, so I haven\u2019t found a way to make the bot\u2019s user immune to this requirement.
                • My current idea is to have a separate process that approves each of the merge requests created by the bot. Is there an easy way to do this programmatically? That is, is there an API (or better yet, a command line tool) that, when given the name of the branch for a merge request, approves the merge request associated with that branch?
                • I\u2019m also open to other ways of getting these changes in with minimal human intervention. I do want them to pass the CI pipeline, though (which is currently accomplished by having them use MRs) and the MRs also help in the rare cases where the pipeline fails, so we can debug what went wrong.
              "},{"location":"git/#marge-gitlab-bot","title":"Marge GitLab bot","text":"
              • Marge-bot: A merge-bot for GitLab
              • Example: gitlab.gnome.org/marge-merge-bot
              • Example: Smarkets\u2019s Marge-bot for GitLab keeps master always green
              • Example: GStreamer Merge Bot
              "},{"location":"git/#jenkins-x-bots","title":"Jenkins-X bots","text":"
              • Jenkins-X UpdateBOT A simple bot for updating dependencies in source code and automatically generating Pull Requests in downstream projects.
              "},{"location":"git/#plastic-scm-bot","title":"Plastic SCM bot","text":"
              • Plastic SCM
              • blog.plasticscm.com: Add a mergebot to your repo!
              • Plastic SCM DevOps Mergebot to implement a trunk-based development cycle
              • PlasticSCM MergeBot Jenkins Plugin
              • genbeta.com: Plastic SCM Mergebot: automatizando tu pipeline de desarrollo
              "},{"location":"git/#mergify-bot","title":"Mergify bot","text":"
              • mergify.io
              "},{"location":"git/#github-bots","title":"GitHub bots","text":"
              • github-rebase-bot A github bot that monitors repository PRs, rebases them and merges them as they pass tests.
              • Bulldozer: GitHub Pull Request Auto-Merge Bot
              • github-merge-bot Automates the process of merging pull requests and keeping them up-to-date.
              • github.com/squalrus/merge-bot: PR Merge Bot A GitHub action that manages pull request integrations
              • Odoo Mergebot
              • gmaster.io - Mergedroid: Automate merging just by analyzing your GitHub repo. A BOT that solves conflicts in pull requests without manual intervention.
              • Kodiak GitHub bot for updating and merging pull requests
              • Rultor A merging bot for Github pull requests
                • Rultor, a Merging Bot
              • stackoverflow.com: Bot to automatically reverse GitHub pull request merges. Maybe it\u2019s best to not allow the merges instead of reverting them:
                • help.github.com: Configuring protected branches
                • help.github.com: Enabling required status checks:
                  • Select Require status checks to pass before merging
                  • Choose (create) a status check, that always fails
              "},{"location":"git/#bors-github-bot","title":"Bors GitHub bot","text":"
              • Bors Bot
              • Bors-ng: A merge bot for GitHub Pull Requests
              • Example: CockroachDB\u2019s Bors Merge Bot
              "},{"location":"git/#videos","title":"Videos","text":"Click to expand!"},{"location":"git/#slides","title":"Slides","text":"Click to expand!

              Async Code Reviews Are Killing Your Company\u2019s Throughput - Dragan Stepanovi\u0107 from Dragan Stepanovi\u0107

              "},{"location":"git/#tweets","title":"Tweets","text":"Click to expand!

              No, ninguna inteligencia artificial te va a quitar tu trabajo como data scientist o developer.La automatizaci\u00f3n de @github CoPilot crear\u00e1 m\u00e1s trabajos de los que destruir\u00e1.Ac\u00e1 te explico porque \ud83d\udc47\ud83e\uddf5

              \u2014 Xavier Carrera (@XaviGrowth) June 30, 2021

              I'm using GitHub Copilot in the last few hours and all I'm going to say that it is magic. It really helps me with dealing with the boilerplate, writing code comments, and avoiding antipatterns. It also is occasionally reading my mind.

              \u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) July 8, 2021

              GitHub's Copilot would benefit from a compliance feature to help developers detect when any code, hand written or auto generated, possibly violates another projects license or copyright.

              \u2014 Kelsey Hightower (@kelseyhightower) July 8, 2021

              Today's @code tip: the git stash commandsCreate, apply, and manage #git stashes using VS Code commands.Stashes let you quickly save off your workspace changes and restore them when they are needed again#code2020 pic.twitter.com/VPursGdRka

              \u2014 Matt Bierner (@mattbierner) June 27, 2020

              Writing good Git commit messages matters!A thread about how to write clean commit messages:\ud83e\uddf5 \ud83d\udc47

              \u2014 Deni Moka\u26a1 (@dmokafa) January 18, 2021

              Here are _some_ of the most essential git operations you will need when working as a developer.\ud83e\uddf5\ud83d\udd3d pic.twitter.com/ZTUUObuj70

              \u2014 Oliver Jumpertz (@oliverjumpertz) March 23, 2021

              Git is by far the most used source control management tool out there.It is basially an essential to know. And this justifies knowing a few of the most important git commands you need in your daily work.Here are 19 that any developer should know.A thread. \u2193 pic.twitter.com/nLglrUWp6o

              \u2014 Oliver Jumpertz (@oliverjumpertz) August 11, 2021

              Really cool and cute way to explain git commands.By @girlie_mac If you like this kind of tech doodles, check out her Github repo: https://t.co/2J3vEt6Eb9 pic.twitter.com/wkBqlg9584

              \u2014 Alex Xu (@alexxubyte) June 17, 2022

              Best Free Git Courses for beginners1. Git Started With GitHub -https://t.co/ajJlJUz34i2. Introduction to Git - https://t.co/T0mIUkIBbB2. GIT 5-day Challenge - https://t.co/bj687fKJ8Y4. Command Line Essentials: - https://t.co/us18hMcw9P5. Git expert - https://t.co/AmRMZznQzu pic.twitter.com/FM6Oh2KGMD

              \u2014 javinpaul (@javinpaul) July 9, 2022

              If you're a programmer, these 10 git commands will save you hours of research\ud83e\uddf5\ud83d\udc47

              \u2014 Ujjwal Chadha (@ujjwalscript) August 18, 2022

              As a Developer, how much do you use Github?

              \u2014 \u2022 nanou \u2022 (@NanouuSymeon) October 29, 2022

              99% of the programmers only know the basic git commands (push, pull and commit)These 10 git commands will save you hours of research time when you're stuck:

              \u2014 Ujjwal Chadha (@ujjwalscript) November 17, 2022

              If you want to master Git, watch these YouTube videos:

              \u2014 Nikki Siapno (@NikkiSiapno) November 30, 2022

              How to organizing GitHub repositories for your project?A thread \ud83d\udc47 pic.twitter.com/QSnnyDyupe

              \u2014 Rakesh Jain (@devops_tech) May 7, 2023
              • Purposeful Commits \ud83c\udf1f - A blog post by Chris Arcand discussing strategies for managing Git commit history, advocating for practices that result in a cleaner and more understandable history by avoiding noisy merge commits and WIP messages, ultimately making it easier to track changes, revert regressions, and understand the evolution of a codebase.
              "},{"location":"gitops/","title":"GitOps","text":"
              1. Introduction
              2. GitOps Working Group
              3. OpenGitOps Project
              4. GitOps Patterns
              5. Git Repositories Structures
              6. GitOps Tools
                1. Flux. The GitOps Operator for Kubernetes
                2. Kustomize. Kubernetes native configuration management
                3. Helm
                4. GlassKube Package Manager for Kubernetes
                5. Flagger
                6. WKSctl. Weave Kubernetes System Control
                7. Jenkins
                8. Terraform
                9. Config Sync and Anthos Config Management
                10. Portworx AutoPilot
                11. OpenShift Applier
                12. HashiCorp Waypoint
                13. Weave GitOps
                14. Octopilot
              7. GitOps Frameworks
              8. Kubernetes Platforms and GitOps
                1. OpenShift GitOps
                2. AWS Kubernetes
                3. Weave Kubernetes Platform
                4. Ubuntu Charmed Kubernetes
              9. APIOps
              10. Images
              11. Tweets
              12. Videos

              Alemix Donofrio \u00b7 Jimmy Sax - Time

              "},{"location":"gitops/#introduction","title":"Introduction","text":"
              • gitops.tech \ud83c\udf1f
              • OpenGitOps.dev \ud83c\udf1f OpenGitOps is a set of open-source standards, best practices, and community-focused education to help organizations adopt a structured, standardized approach to implementing GitOps.
              • github.com/topics/gitops \ud83c\udf1f
              • weave.works: Guide to GitOps
              • weave.works: What Is GitOps?
              • atlassian.com: Is GitOps the next big thing in DevOps?
              • cloudbees.com: What is GitOps?
              • Continuous GitOps, the way to do DevOps in Kubernetes Continuous GitOps, the new age DevOps practice to increase the delivery velocity by achieving an end to end \u201cGit source of truth\u201d with Zero manual changes into the Kubernetes cluster.
              • thenewstack.io: What Is GitOps and Why It Might Be The Next Big Thing for DevOps
              • opensource.substack.com: All You Need To Know About GitOps A complete guide about GitOps, what why and how
              • itnext.io: Continuous GitOps, the way to do DevOps in Kubernetes Continuous GitOps, the new age DevOps practice to increase the delivery velocity by achieving an end to end \u201cGit source of truth\u201d with Zero manual changes into the Kubernetes cluster
              • container-solutions.com: GitOps: The Bad and the Ugly
              • itnext.io: Principles, Patterns, and Practices for Effective Infrastructure as Code Deliver Infrastructure and Software running on it Rapidly and Reliably at Scale.
              • medium: GitOps: Build infrastructure resilient applications \ud83c\udf1f
              • itnext.io: Continuous GitOps, the way to do DevOps in Kubernetes \ud83c\udf1f Continuous GitOps, the new age DevOps practice to increase the delivery velocity by achieving an end to end \u201cGit source of truth\u201d with Zero manual changes into the Kubernetes cluster.
              • itnext.io: Managing Kubernetes Secrets Securely with GitOps \ud83c\udf1f
              • sufle.io: Adopting GitOps for Enhanced Operations
              • medium: GitOps : The Next Big Thing for DevOps and Automation! If you have similar questions like: \u201cWhat\u2019s GitOps?\u201d, \u201cWhy we are moving towards this?\u201d, \u201cHow and when one can implement this strategy in now running environment?\u201d, \u201cWhat are the tools it included?\u201d then you have landed on the right page.
              • thenewstack.io: Understanding GitOps: The Latest Tools and Philosophies
              • samiyaakhtar.medium.com: GitOps Observability \u2014 Visualizing the journey of a container
              • clickittech.com: What is GitOps? \ud83c\udf1f
              • blog.container-solutions.com: 11 Reasons for Adopting GitOps
              • opensource.com: GitOps vs. DevOps: What\u2019s the difference? \ud83c\udf1f Get to know GitOps, an evolved form of DevOps.

                Principle Focus Main Tool Other Tools Flexibility Correctness DevOps Automation and frequent deployments CI/CD pipeline Supply chain management, Cloud Configuration as Code, etc. Less strict and more open Less focus on correctness GitOps Correctness; doing DevOps correctly Git Kubernetes, Controller (e.g., Operator), separate CI/CD pipelines, Infrastructure as a Code, etc. Stricter and less open Designed with correctness
              • geekflare.com: An Introduction to GitOps

              • thenewstack.io: GitOps Use Cases You May Not Have Considered
              • kumomind.medium.com: Should I consider the GitOps methodology?
              • braindose.blog: 4 Key Characteristics for a Successful GitOps Implementation
              • blog.container-solutions.com: GitOps: The Bad and the Ugly
              • gitops.tech: What is GitOps? \ud83c\udf1f
              • thenewstack.io: Misconfiguration Worries Grow
              • codefresh.io: The pains of GitOps 1.0 \ud83c\udf1f GitOps as a practice for releasing software has several advantages, but like all other solutions before it, has also several shortcomings.
              • weave.works: Managing Kubernetes with GitOps in a multi-cluster, multi-cloud world
              • viewnext.com: \u00bfQu\u00e9 es GitOps?
              • thenewstack.io: Have Containers Will Travel: Why GitOps Is Essential for Multicloud \ud83c\udf1f
              • weave.works: Put Your Security Worries to Rest with GitOps Operational Control \ud83c\udf1f GitOps workflows in the Weave Kubernetes Platform give teams a head start since they rely on Git\u2019s strong correctness and security. Every pull request has a built-in and fully auditable trail. Many companies need to look beyond just compliance and seek a full GRC solution that\u2019s integral to their workflows.
              • thenewstack.io: Push vs. Pull in GitOps: Is There Really a Difference?
              • about.gitlab.com: 3 Ways to approach GitOps \ud83c\udf1f
              • developers.redhat.com: Why should developers care about GitOps?
              • openshift.com: Our Favorite Things from GitOps Con at KubeCon EU \ud83c\udf1f
              • devsecops.co.in: GitOps Guide \u2013 What, Why and How? \ud83c\udf1f
              • en.sokube.ch: GitOps and the Millefeuille dilemma \ud83c\udf1f
              • octopus.com: How to structure your Git repository for DevOps automation
              • testingclouds.wordpress.com: GitOps Demystified
              • weave.works: Ops Automation - GitOps in the Modern Enterprise
              • openshift.com: What is GitOps? \ud83c\udf1f While DevOps provides an agile team structure, GitOps is a framework to start executing on the vision.
              • thenewstack.io: Security Will Be Instrumental for the Success of GitOps
              • weave.works: There\u2019s More to GitOps Than Meets the Eye
              • solo.io: GlooOps: Progressive delivery, the GitOps way
              • go.weave.works: The GitOps Maturity Model - 4 evolutionary steps to continuous delivery (pdf)
              • thenewstack.io: A Look at GitOps for the Modern Enterprise \ud83c\udf1f
              • shipa.io: GitOps in the enterprise \ud83c\udf1f
              • itnext.io: GitOps with Kubernetes \ud83c\udf1f
              • shipa.io: GitOps meets AppOps
              • weave.works: Automating Kubernetes with GitOps (whitepaper) \ud83c\udf1f
              • devopslearners.com: What is GitOps? A small explanation for GitOps
              • go.weave.works: The Practical Guide to GitOps (eBook)
              • enterprisersproject.com: How to explain GitOps in plain English What is GitOps and why is it important? How can IT leaders explain GitOps to others, especially if they don\u2019t speak DevOps or cloud-native? Experts break it down
              • redhat.com: An illustrated guide to GitOps Understanding the basic principles driving GitOps offers Enterprise Architects a new way of working in the modern enterprise.
              • bunnyshell.com: GitOps vs. DevOps: What\u2019s the Difference? \ud83c\udf1f
              • jimangel.io: Self-Updating GitOps Self-hosted, Self-healing, Self-updating, Self-patching Kubernetes madness
              • stevesmith.tech: GitOps is a placebo
              • weave.works: The History of GitOps \ud83c\udf1f
              • opensource.com: How to get the most out of GitOps right now GitOps is a great starting point to understand what is running in production, but it may need a little more augmentation to get it working just right for your engineering team.
              • redhat.com: 3 rules for applying principles of GitOps to enterprise architecture Check out these three rules for using GitOps to get your enterprise architecture up and running effectively.
              • weave.works: Hardening Git for GitOps (white paper)
              • magalix.com: GitOps 101: What\u2019s It All About?
              • containerjournal.com: The 4 Levels of GitOps Maturity
              • thenewstack.io: How to Get the Most out of GitOps Just as Kubernetes was accepted as the best way to do cloud native applications, GitOps is gaining recognition as the best way to do Kubernetes.
              • weave.works: Case Study: National Australia Bank Decreases Operational Overhead with GitOps New case study on how GitOps helped NAB, Australia\u2019s largest business bank decrease operational overhead for their move to EKS: \u201cWe turned to Weaveworks because of their extensive EKS and Kubernetes experience, including their close partnership with AWS\u201d.
              • betterprogramming.pub: How GitOps Can Help Prevent Security Misconfigurations Cloud-native development comes with its own set of security risks. Know how to tackle them
              • blogs.sap.com: Decentralized GitOps over multiple environments
              • thenewstack.io: Application Deployment Is Faster with GitOps
              • As an ops engineer not too familiar with Git, you just need to know 6 commands - git init, git add, git commit, git status, git log, git revert - to harness the power of GitOps.
              • thenewstack.io: Wait, Do We Need to Hold Up on GitOps?
              • redhat.com: How to use GitOps in your enterprise architecture strategy \ud83c\udf1f Understanding the four guiding principles is like runway lighting for implementing GitOps in your enterprise.
              • codefresh.io: The pains of GitOps 1.0 GitOps as a practice for releasing software has several advantages, but like all other solutions before it, has also several shortcomings. It seems that the honeymoon period is now over, and we can finally talk about the issues of GitOps (and the current generation of GitOps tools)
              • thenewstack.io: CNCF Working Group Sets Some Standards for \u2018GitOps\u2019 GitOps must meet these four requirements:
                1. Declarative: A system managed by GitOps must have its desired state expressed declaratively. \u201cYou\u2019re no longer giving instructions, you\u2019re describing state,\u201d Murillo described.
                2. Versioned and Immutable: Desired state is stored in a way that enforces immutability, versioning and retains a complete version history. \u201cThe only way for you to introduce change in your system is by creating a new version of your desired state,\u2019 Murillo added.
                3. Pulled Automatically: Software agents automatically pull the desired state declarations from the source. Agents within the system pull the desired state from the repository.
                4. Continuously Reconciled: Software agents continuously observe the actual system state and attempt to apply the desired state. \u201cThe desired state [of the system or software] is continually reconciled, Murillo said.
              • thenewstack.io: GitOps and the Cheap Cloud Myth
              • redhat.com: Comparing GitOps implementation patterns: Pros and cons The CI/CD Controller pattern and the SCM Controller pattern take different approaches to automating application deployment from source code management.
              • developer.ibm.com: GitOps: Best practices for the real world
              • chrisshort.net: GitOps: An implementation of DevOps (abstracts)
                • chrisshort.net: GitOps: An implementation of DevOps GitOps is a prescriptive way of implementing DevOps. You will not succeed in using GitOps if you haven\u2019t embraced some DevOps philosophies along the way.
              • thenewstack.io: Trusted Delivery: Policy-Based Compliance the GitOps Way
              • thenewstack.io: Getting Started with GitOps
              • medium: Stop Using Branches for Deploying to Different GitOps Environments | ostis Kapelonis
                • codefresh.io: Stop Using Branches for Deploying to Different GitOps Environments
                • The question of \u201cHow do I promote a release to the next environment?\u201d is becoming increasingly popular among organizations that want to adopt GitOps. You should NOT use Git branches for modelling different environments.
              • codefresh.io: The pains of GitOps 1.0
              • thenewstack.io: Can You GitOps Your APIs?
              • weave.works: GitOps takes DevOps teams to higher levels of maturity
              • linkedin.com pulse: WTH is GitOps? | Pavan Belagatti
              • medium.com/@buraktahtacioglu: GitOps Fundamentals \u2014 CNCF Roadmap GitOps deployments:
                • A GitOps agent is deployed on the cluster.
                • The GitOps agent is monitoring one or more Git repositories that define applications and contain Kubernetes manifests (or Helm charts or Kustomize files).
              • toolbox.com: Why Are Organizations Adopting GitOps for Continuous Deployment in 2022? GitOps extracts best practices of DevOps and utilizes software development methods like version control, code review, and CI/CD pipelines. But is it a sustainable approach? Here\u2019s a look at its pros and cons.
              • weave.works: The world\u2019s largest telcos are now embracing GitOps. Deutsche Telekom explains why GitOps and 5G - a deep dive into Deutsche Telekom\u2019s experience
              • thenewstack.io: Kubernetes at Scale without GitOps Is a Bad Idea
              • harness.io: GitOps: The New Kid On The DevOps Block! GitOps: the single source of truth, the evangelizer of as-code, and the bringer of CI/CD automation. Get an intro view into GitOps here!
              • Dzone: 3 Steps to Developing a Successful GitOps Model In this post, explore how GitOps best serves organizations that develop cloud-native solutions based on containerization and microservices.
              • linkedin pulse: GitOps vs. DevOps! | Pavan Belagatti
              • containerjournal.com: GitOps Workflows and Principles for Kubernetes
              • harness.io: 6 Actionable GitOps Best Practices To Help You Get Started
              • codefresh.io: How to Model Your Gitops Environments and Promote Releases between Them \ud83c\udf1f In this article, you\u2019ll learn how to use different folders on the same Git branch. Two questions after adopting GitOps are:
                • How should I represent different environments on Git?
                • How should I handle promoting releases between them?
              • piotrminkowski.com: Continuous Development on Kubernetes with GitOps Approach \ud83c\udf1f
              • harness.io: Managing the \u2018Git\u2019 in \u2018GitOps\u2019: 4 Ways to Structure Code in Your GitOps Repos \ud83c\udf1f Declarative, immutable, and continuously reconciled infrastructure brings many benefits when managed through GitOps best practices. Here are four approaches to managing code used in those pipelines.

                • Application and Infrastructure Code in One Repository
                • Separate Infrastructure Repository, Multiple Branches
                • Separate Infrastructure Repository, Directory-Based
                • Multiple Infrastructure Repositories, One per Environment
              • medium.com/codex: Points to Consider for Structuring Infrastructure as Code Repositories

              • medium.com/jumia-tech: Immutable Infrastructure & GitOps \ud83c\udf1f
              • medium.com/@alamdar.hussain0007: GitOps with Kubernetes
              • thenewstack.io: KubeCon: 14,000 More Engineers Have Their GitOps Basics Down As GitOps grows in its ability to leverage DevOps practices via Infrastructure as Code, thousands get up to speed with GitOps Fundamentals.
              • containerjournal.com: GitOps Workflows Expanding Beyond Kubernetes Clusters GitOps is an opinionated instance of a DevOps workflow that unifies both software deployment and the provisioning of infrastructure using code to create reusable templates.
              • developers.redhat.com: GitOps Cookbook: Kubernetes automation in practice
              • containerjournal.com: Best of 2022: GitOps: The Missing Link for CI/CD for Kubernetes
              • devops.com: Declarative Compliance With Policy-as-Code and GitOps \ud83c\udf1f Declarative Compliance provides several benefits:
                • Increased efficiency
                • Better managed compliance
                • Minimized risk of human errors
                • Enhanced security
                • Faster deployment
                • Better collaboration
              • dzone: The Essentials of GitOps \ud83c\udf1f
              • blog.devops.dev: GitOps \u2014 Fundamentals Part 0
              • thenewstack.io: The Next Kubernetes Management Frontier: Automation. Automation Is No Longer a \u201cNice to Have\u201d \ud83c\udf1f\ud83c\udf1f Investing in a GitOps-ready, central control plane will point organizations in the right direction of the next Kubernetes management frontier.
              • loft.sh: GitOps + Kubernetes Explained
              • msrishty.medium.com: Traditional CI-CD vs gitops \ud83c\udf1f
              • blog.developersteve.com: GitOps for Kubernetes Canary Deployments
              • thenewstack.io: GitOps as an Evolution of Kubernetes
              • github.blog: Applying GitOps principles to your operations Could we use our Git repository as the source of truth for operational tasks, and somehow reconcile changes with our real-world view?
              • hackernoon.com: What Is GitOps And Why Is It (Almost) Useless? Part 1
                • hackernoon.com: What Is GitOps And Why Is It (Almost) Useless? Part 2 In this controversial article, the author argues that GitOps is a (mostly) unnecessary abstraction that introduces more complexity than it\u2019s worth. The article tackles several GitOps principles and gives practical code counterexamples.
              • devoriales.com: Exploring GitOps: Software and Infrastructure Management Intro Video
              • medium.com/containers-101: Using GitOps for Databases
              • opensourceforu.com: Embracing Progressive Delivery In Kubernetes With GitOps
              • medium.com/@ahmed.fathy.elayaat: What is GitOps?
              • itnext.io: Necessary Culture Change with GitOps Don\u2019t underestimate the Role of Culture in Successful GitOps Implementation. This article argues that GitOps requires a mindset shift. Challenges like security enforcement and platform upgrades demand cross-team collaboration, and overcoming GitOps cultural barriers requires fostering teamwork and delineating responsibilities.

              "},{"location":"gitops/#gitops-working-group","title":"GitOps Working Group","text":"
              • GitOps Working Group \ud83c\udf1f
              • The Five GitOps Principles (as defined by the GitOps Working Group) to the lifecycle of an infrastructure resource, like a virtual machine or load balancer:
                • Declarative Configuration (define the resource as code)
                • Version controlled (use source control to manage the resource definition)
                • Automated delivery (provision and manage the resource from the definition using automation)
                • Software Agents (implement automated configuration management for the resource)
                • Closed loop (build the delivery pipeline for integration testing for resource changes)
              "},{"location":"gitops/#opengitops-project","title":"OpenGitOps Project","text":"
              • github.com/open-gitops/project \ud83c\udf1f OpenGitOps is a CNCF Sandbox project to define a vendor-neutral, principle-led meaning of GitOps. This will establish a foundation for interoperability between tools, conformance, and certification through lasting programs, documents, and code.
              "},{"location":"gitops/#gitops-patterns","title":"GitOps Patterns","text":"
              • github.com/cloudogu/gitops-patterns Collection of patterns, examples and resources for GitOps process design, GitOps repository structures, etc.
              • github.com/cloudogu/gitops-playground#example-applications Creates a complete GitOps-based operational stack on your Kubernetes clusters
              "},{"location":"gitops/#git-repositories-structures","title":"Git Repositories Structures","text":"
              • codefresh.io: Stop Using Branches for Deploying to Different GitOps Environments How do I promote a release to the next environment? You should NOT use Git branches for modeling different environments. If the Git repository holding your configuration (manifests/templates in the case of Kubernetes) has branches named \u201cstaging\u201d, \u201cQA\u201d, \u201cProduction\u201d and so on, then you have fallen into a trap. Using branches for different environments should only be applied to legacy applications.
              • developers.redhat.com: Git best practices: Workflows for GitOps deployments | Christian Hernandez \ud83c\udf1f
                • Separate your repositories
                • Separate development in directories, not branches
                • Trunk-based development
                • Pay attention to policies and security
              • developers.redhat.com: How to set up your GitOps directory structure | Christian Hernandez \ud83c\udf1f
              • devopsera.com: How to Structure Directories in a GitOps Repository for the Best User-Friendliness and Flexibility
              "},{"location":"gitops/#gitops-tools","title":"GitOps Tools","text":"
              • EntraExporter - (Related to azure topic)
              • AWS EKS Argo CD Terraform Component \ud83c\udf1f - A Terraform component from Cloud Posse for provisioning Argo CD on AWS EKS, facilitating declarative GitOps continuous delivery for Kubernetes. Note that Argo CD CRDs need separate installation.
              • FossFLOW - (Related to cicd topic)
              • Announcing Private Preview: ArgoCD through Microsoft GitOps \ud83c\udf1f - Microsoft is announcing the private preview of ArgoCD delivered as a cluster extension for Azure Kubernetes Service (AKS) and Azure Arc-enabled Kubernetes. This offering aims to provide a consistent management, security, and deployment experience for ArgoCD across heterogeneous environments, complementing existing Flux support. Key advantages highlighted include simplified deployment, managed upgrades, official supportability, integration with Azure identity, and sample application deployments.

              • FluxCD, ArgoCD or Jenkins X: Which Is the Right GitOps Tool for You?

              • slideshare: GitOps, Jenkins X & Future of CI/CD
              • searchitoperations.techtarget.com: GitOps pros grapple with Kubernetes configuration management. GitOps users seek ideal Kubernetes config tool \ud83c\udf1f Configuration management challenges GitOps early adopters, especially at large enterprises with millions of lines of Kubernetes YAML to manage. Ultimately, the industry hasn\u2019t found an ideal approach to Kubernetes configuration management, especially for GitOps.
                • Tanka a utility that blends Helm charts with Jsonnet, which combines the deployment speed and ubiquity of Helm charts with the more granular customizability supported by Jsonnet.
              • openshift.com: Announcing OpenShift GitOps
              • ibm.com: Enable GitOps GitOps focuses on the Ops side of DevOps and shows how operations configurations, infrastructures, and actions are like software. Everything is code and code is managed with Git.
              • openshift.com: OpenShift Pipelines and OpenShift GitOps are now Generally Available \ud83c\udf1f
              • weave.works: Weave Kubernetes Platform (WKP) Unlocks Cross Team Collaboration with Workspaces
              • blog.container-solutions.com: FluxCD, ArgoCD or Jenkins X: Which Is the Right GitOps Tool for You? \ud83c\udf1f
              • cloudogu.com: Automation Assistants: GitOps tools in comparison \ud83c\udf1f
              • shipa.io: From Terraform to GitOps to Pulumi \ud83c\udf1f [ARCHIVED]
              • vimeo.com: Weaveworks - Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps One of the biggest advantages Kubernetes has to offer is that it is agnostic to infrastructure and capable of managing diverse workloads running on different compute resources. This allows organizations to manage multiple developer platforms, who can operate across many environments such as on premise, hybrid and multiple clouds.
                • Streamlined processes and automation is pivotal for operations when managing clusters at scale and maintaining security and policy checks. Paul Curtis, Principal Solutions Architect will demonstrate GitOps and Weave Kubernetes Platform in a hybrid and multi-cloud setup.
                • Learn how to:
                  • Use model-driven automation to increases reliability and stability across environments
                  • Simplify multi-cluster management with GitOps
                  • Enable developers to push code to production daily (self-service)
                  • Improve utilization and capacity management through Kubernetes platforms on cloud and on-premise infrastructure

              "},{"location":"gitops/#flux-the-gitops-operator-for-kubernetes","title":"Flux. The GitOps Operator for Kubernetes","text":"
              • Flux. The GitOps operator for Kubernetes
              "},{"location":"gitops/#kustomize-kubernetes-native-configuration-management","title":"Kustomize. Kubernetes native configuration management","text":"
              • Kustomize - Template-Free Kubernetes Configuration Customization
              "},{"location":"gitops/#helm","title":"Helm","text":"
              • Nelm: A Helm Alternative for Kubernetes Deployments - (Related to helm topic)

              • Helm

              "},{"location":"gitops/#glasskube-package-manager-for-kubernetes","title":"GlassKube Package Manager for Kubernetes","text":"
              • glasskube.dev \ud83c\udf1f
              • github.com/glasskube/glasskube The next generation Package Manager for Kubernetes. Featuring a GUI and a CLI. Glasskube packages are dependency aware, GitOps ready and can get automatic updates via a central public package repository.
              "},{"location":"gitops/#flagger","title":"Flagger","text":"
              • Flagger Progressive Delivery Operator for Kubernetes. Release new versions of your application/services to Kubernetes like a pro with Weaveworks\u2019s Flagger.
              • partlycloudy.blog: Release to Kubernetes like a Pro with Flagger
              "},{"location":"gitops/#wksctl-weave-kubernetes-system-control","title":"WKSctl. Weave Kubernetes System Control","text":"
              • Weave Kubernetes System Control - wksctl Open Source Weaveworks Kubernetes System
              • WKSctl - A New OSS Kubernetes Manager using GitOps
              • WKSctl: a Tool for Kubernetes Cluster Management Using GitOps
              "},{"location":"gitops/#jenkins","title":"Jenkins","text":"
              • There are many tools in the market that have been technically built for GitOps, like ArgoCD, Flux, and Jenkins X. All these tools have in-built proficiency to implement GitOps process for you. But we are going to use our old beloved Jenkins.
              • GitOps for Kubernetes with Jenkins
                • github.com/stakater/Xposer (with fabric8 java client library for kubernetes)
              • GitOps with Jenkins and Kubernetes
                • github.com: Opstree-Go-WebApp A loaded GoLang app to do various DevOps POC\u2019s
                • opstree.github.io
              "},{"location":"gitops/#terraform","title":"Terraform","text":"
              • Terraform Best Practices - (Related to terraform topic)

              • How to Create a GitOps Workflow with Terraform and Jenkins

              "},{"location":"gitops/#config-sync-and-anthos-config-management","title":"Config Sync and Anthos Config Management","text":"
              • Config Sync
              • Anthos Config Management
              • Google built a tool called Config Sync which acts as the bridge between an external source code repository and the Kubernetes API server. Anthos Config Management is based on Config Sync to extend it to multicluster scenarios.
              "},{"location":"gitops/#portworx-autopilot","title":"Portworx AutoPilot","text":"
              • portworx.com: Automating Kubernetes Data Management with GitOps & AutoPilot
              "},{"location":"gitops/#openshift-applier","title":"OpenShift Applier","text":"
              • openshift-applier
              "},{"location":"gitops/#hashicorp-waypoint","title":"HashiCorp Waypoint","text":"
              • waypointproject.io Waypoint provides a modern workflow to build, deploy, and release across platforms. Waypoint uses a single configuration file and common workflow to manage and observe deployments across platforms such as Kubernetes, Nomad, EC2, Google Cloud Run, and more.
              • hashicorp.com: Using Waypoint Runners To Enable GitOps Workflows Waypoint runners perform builds, deployments, poll for Git repository changes, and allow deployments for any platform.
              "},{"location":"gitops/#weave-gitops","title":"Weave GitOps","text":"
              • Weave GitOps Enterprise
                • Weave GitOps Enterprise is a continuous operations product that makes it easy to deploy and manage Kubernetes clusters and applications in any environment. With a single management console that lets you operate clusters running anywhere, in the public cloud, on the edge or in any hybrid scenario. Strong multi-tenancy can accelerate app delivery by providing developers with self-serve isolated workload namespaces across environments.
                • With Weave GitOps Enterprise, every change is recorded in Git \u2013 whether it\u2019s a change to application code or platform config and whoever was responsible. So you have a self-generating audit trail available at all times, and far fewer\u2026
              • thenewstack.io: Weave GitOps Core Integrates Git with Kubernetes
              • thenewstack.io: Weave GitOps Trusted Delivery: A Road to Kubernetes Sanity?
              "},{"location":"gitops/#octopilot","title":"Octopilot","text":"
              • dailymotion-oss.github.io/octopilot: Octopilot Automate your Gitops workflow, by automatically creating/merging GitHub PRs.
              "},{"location":"gitops/#gitops-frameworks","title":"GitOps Frameworks","text":"
              • Kubestack \ud83c\udf1f: Doc: Kubestack is an open-source GitOps framework for infrastructure automation built on Terraform and Kustomize. It\u2019s designed for teams that want to automate Kubernetes based infrastructure and not reinvent automation. Think of it this way, Kubestack is to Terraform and infrastructure automation, what Spring Boot is to Java and cloud native applications. The framework supports all three major cloud providers and has been used as the foundation for a number of real world customer projects as part of my colleagues\u2019 and my consulting work. It is fully documented, has a step-by-step tutorial to help users get started and even includes a local GitOps development lab. So you can test-drive Kubestack and learn more about GitOps for infrastructure automation in the comfort of your own localhost.
                • thenewstack.io: KubeStack: Towards Full-Stack GitOps
              "},{"location":"gitops/#kubernetes-platforms-and-gitops","title":"Kubernetes Platforms and GitOps","text":"
              • How Kubernetes Operators Fit into Platform Building and When Traditional IaC Isn\u2019t Enough - (Related to kubernetes-operators-controllers topic)
              • ClusterClass: Experimental Feature for Streamlined Cluster Lifecycle Management in Cluster API - (Related to kubernetes topic)

              • medium.com/bumble-tech: GitOps for multi-cluster K8s environments \ud83c\udf1f A single repository approach for scalability and transparency

              "},{"location":"gitops/#openshift-gitops","title":"OpenShift GitOps","text":"
              • blog.openshift.com: Introduction to GitOps with OpenShift
              • learn.openshift.com: GitOps introduction
              • blog.openshift.com: is it too late to integrate GitOps?
              • blog.openshift.com: OpenShift Authentication Integration with ArgoCD
              • openshift.com: From Code to Production with GitOps, Tekton and ArgoCD
              • medium: GitOps with Istio, Tekton and Argo CD \u2014 on OpenShift 4
              • thenewstack.io: Red Hat Delivers Full GitOps CI/CD Built on Tekton and Argo
              • redhat.com: Red Hat Makes DevOps a Reality with OpenShift GitOps and OpenShift Pipelines \ud83c\udf1f New Red Hat OpenShift features provide fully-integrated CI/CD pipeline for organizations to deliver applications more consistently and with greater predictability across the open hybrid cloud.
              • piotrminkowski.com: GitOps with Advanced Cluster Management for Kubernetes \ud83c\udf1f In this article, you will learn how to manage multiple clusters with Argo CD and Advanced Cluster Management for Kubernetes. Advanced Cluster Management (ACM) for Kubernetes is a tool provided by Red Hat based on a community-driven project Open Cluster Management. I\u2019ll show you how to use it with OpenShift to implement gitops approach for running apps across multiple clusters. However, you can as well deploy a community-driven version on Kubernetes.
              "},{"location":"gitops/#aws-kubernetes","title":"AWS Kubernetes","text":"
              • Avoiding Mistakes with AWS OIDC Integration Conditions - (Related to aws-security topic)

              • info.acloud.guru: Adopting GitOps for Kubernetes on AWS

              "},{"location":"gitops/#weave-kubernetes-platform","title":"Weave Kubernetes Platform","text":"
              • weave.works: Weave Kubernetes Platform Automate Enterprise Kubernetes the GitOps way
              • github: Weave Net - Weaving Containers into Applications
              "},{"location":"gitops/#ubuntu-charmed-kubernetes","title":"Ubuntu Charmed Kubernetes","text":"
              • Charmed Kubernetes
              • Kubernetes GitOps with Azure Arc and Charmed Kubernetes
              "},{"location":"gitops/#apiops","title":"APIOps","text":"
              • betterprogramming.pub: Applying DevOps to API Development for APIOps DevOps + GitOps = APIOps
              "},{"location":"gitops/#images","title":"Images","text":"Click to expand!

              "},{"location":"gitops/#tweets","title":"Tweets","text":"Click to expand!

              THREAD: What is GitOps?Is this something that you should learn?Let's dive into it. pic.twitter.com/hsMUesvP23

              \u2014 Daniele Polencic (@danielepolencic) July 29, 2020

              If you do a canary release on #Kubernetes with #Istio use Flagger (https://t.co/4s6NFwvaXz). It allows e.g.:\ud83d\udd39 run acceptance and load tests\ud83d\udd39 do an automatic rollback\ud83d\udd39 make a progressive traffic shifting

              \u2014 Piotr Mi\u0144kowski (@piotr_minkowski) September 17, 2021

              If it takes me 5 minutes to rename a method and 1 hour to get a review and PR approval, that means wait to processing time ratio is 60/5=12, and flow efficiency is only 7.7%.Do you really think that a system this inefficient is incentivizing refactoring and small steps?1/4

              \u2014 Dragan Stepanovi\u0107 (@d_stepanovic) December 24, 2021

              Unpopular opinion: GitOps should use Control Loops, not outdated CI/CD pipelines.Control Loops is a much more powerful pattern than CI/CD.CI/CD is just a way to push a change forward. But what about a feedback loop? Who restores the drifted prod state back to the desired one?

              \u2014 Ivan Velichko (@iximiuz) February 2, 2022"},{"location":"gitops/#videos","title":"Videos","text":"
              • youtube.com: GitOps Guide to the Galaxy \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Want to implement GitOps across your organization? Every other Thursday at 3pm ET hosts Hilliary Lipsig & Jonathan Rickard dive into everything in the GitOps universe, from solutions to common problems in end-to-end CICD pipelines, to creating Git workflows. Learn how GitOps enhances modern application delivery and join us to discuss the latest news around best practices and Cloud Native architecture. Keep calm and GitOps on!
              Click to expand!

              Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps from Weaveworks on Vimeo.

              "},{"location":"golang/","title":"Golang - Go","text":"
              1. Introduction
              2. Design Patterns
              3. Tutorials
              4. Kubernetes Client Go
              5. Building container images
              6. Go cheatsheets
              7. Go Frameworks and libraries
              8. Go packages
              9. Go Tools
              10. Go Books
              11. Go Samples
              12. Dockerfile for go
              13. Videos
              14. Tweets
              "},{"location":"golang/#introduction","title":"Introduction","text":"
              • golang.org
              • github.com/golang/go
              • golang-design/history Go: A Documentary. This document collects many interesting (publicly observable) issues, discussions, proposals, CLs, and talks from the Go development process, which intents to offer a comprehensive reference of the Go history.
              • Awesome Go \ud83c\udf1f
              • Zepto is a lightweight framework for the development of microservices & web services in golang
              • medium: Microservices in Go
              • search.gocenter.io: JFrog Go Center Host your Go-based applications for free on the JFrog Platform.
              • dev.to: Deploying Your First Golang Webapp
              • eli.thegreenplace.net: REST Servers in Go: Part 4 - using OpenAPI and Swagger
              • blog.getambassador.io: Debugging Go Microservices in Kubernetes with VScode Tutorial: Learn to debug Go microservices locally while testing against dependencies in a remote Kubernetes cluster
              • developers.redhat.com: Using Delve to debug Go programs on Red Hat Enterprise Linux
              • Golang for Node.js Developers
              • The Ultimate Go Study Guide
              • ammeon.com: Profiling golang microservices for high throughput on kubernetes/openshift clusters
              • cyberciti.biz: How to install Go [golang] on Ubuntu Linux
              • developer.okta.com: Elasticsearch in Go: A Developer\u2019s Guide
              • go-ini/ini Package ini provides INI file read and write functionality in Go
              • rakyll/go-test-trace \ud83c\udf1f Go test with tracing. go-test-trace is like go test but it also generates distributed traces. Generated traces are exported in OTLP to a OpenTelemetry collector. You need to run go-test-trace alongside a collector to export data to distributed tracing service.
              • hashicorp.com: 8 Best Practices for Writing Secure Go Code
              • thenewstack.io: Getting Started with Go and InfluxDB
              • go.dev: A new search experience on pkg.go.dev
              • quii/learn-go-with-tests Learn Go with test-driven development
              • itnext.io: Go Does Not Need a Java Style GC Why does Go not need a fancy expensive garbage collector like Java and C#? - erik-engheim.medium.com: Go Does Not Need a Java Style GC
              • levelup.gitconnected.com: Generics in Go: Viva La Revolution!
              • teivah.medium.com: When to Use Generics in Go?
              • blog.logrocket.com: How to build a blockchain from scratch with Go
              • dev.to: Rate limiting HTTP requests in Go using Redis
              • dev.to: Understanding and Crafting HTTP Middlewares in Go
              • dev.to: Getting started with Go-Lang
              • miguelmota/golang-for-nodejs-developers Examples of Golang compared to Node.js for learning
              • blog.logrocket.com: Building a simple app with Go and PostgreSQL
              • datastation.multiprocess.io: Speeding up Go\u2019s builtin JSON encoder up to 55% for large arrays of objects
              • betterprogramming.pub: Writing My First Microservice Using Go
              • dev.to/mavensingh: Advantages and Disadvantages of Go
              • levelup.gitconnected.com: Concurrency in Go: shared memory
              • luk4z7/go-concurrency-guide: Go Concurrency Guide \ud83c\udf1f Practical concurrency guide in Go, communication by channels, patterns
              • medium.com/datascale: Know GOMAXPROCS before deploying your GO app to Kubernetes In this article, you will learn why setting GOMAXPROCS for your Go apps is crucial in Kubernetes. And you\u2019ll discover why it\u2019s better to assign a full-core CPU to your Go containers.
              • dev.to: Getting Started With Go (golang) | Michael Levan
              "},{"location":"golang/#design-patterns","title":"Design Patterns","text":"
              • aly.arriqaaq.com: Golang Design Patterns in Kubernetes
              • github.com/paliimx: Data Structures and Algorithms implementation in Go Clean and simple implementation in Go
              "},{"location":"golang/#tutorials","title":"Tutorials","text":"
              • dev.to: Create a Restful API with Golang from scratch \ud83c\udf1f
              • itnext.io: Generically working with Kubernetes objects in Go Using the unstructured package from k8s API machinery
              "},{"location":"golang/#kubernetes-client-go","title":"Kubernetes Client Go","text":"
              • An example of using dynamic client of k8s.io/client-go
              • medium: Using the Go client framework \ud83c\udf1f
              • iximiuz.com: How To Call Kubernetes API using Go - Types and Common Machinery
              • itnext.io: Generically working with Kubernetes objects in Go Using the unstructured package from k8s API machinery. In this post you\u2019ll learn how to work with live Kubernetes objects in Go using the typed and dynamic clients available from the API machinery sub-project client-go.
              • medium.com/codex: Explore client-go Informer Patterns Invoke the Kubernetes resources without overloading the cluster. Many popular Kubernetes tools such as K9s are based on client-go. They use the informer pattern to continuously refresh data without posing additional pressure to the API Server. Learn how the informer pattern works in this article.
              • dev.to: Watch and react to Kubernetes objects changes client-go is the official client library for the Go programming language. In this article, you will learn how to use RESTClient to watch and then react to namespaces changes.
              • shahin-mahmud.medium.com: Write your first Kubernetes operator in go
              • collabnix.com: Kubernetes CRUD Operation using Go on Docker Desktop
              • blog.kubesimplify.com: Perform CRUD Operations on Kubernetes Using Golang \ud83c\udf1f
              "},{"location":"golang/#building-container-images","title":"Building container images","text":"
              • ahmet.im: Building container images in Go
              "},{"location":"golang/#go-cheatsheets","title":"Go cheatsheets","text":"
              • devhints.io/go: Go cheatsheet
              • github.com: golang-cheat-sheet
              • simplecheatsheet.com/tag/golang-cheat-sheet
              • a8m/golang-cheat-sheet An overview of Go syntax and features.
              "},{"location":"golang/#go-frameworks-and-libraries","title":"Go Frameworks and libraries","text":"
              • Koa.js - (Related to web-servers topic)

              • go-micro Go Micro is a framework for distributed systems development

              • dapr.io
              • reddit.com: What is the best microservice framework in Go?
              • Masterminds/sprig: Sprig: Template functions for Go templates Useful template functions for Go templates. The Go language comes with a built-in template language, but not very many template functions. Sprig is a library that provides more than 100 commonly used template functions.
              • go-kratos/kratos A modular-designed and easy-to-use microservices framework in Go.
              • gnet \ud83d\ude80 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet
              • dsa0x/sicher Sicher is a go module that allows secure storage of encrypted credentials in a version control system.
              • ggicci/httpin: HTTP Input for Go Decode an HTTP request into a custom struct
              • kubernetes-sigs/e2e-framework A Go framework for end-to-end testing of components running in Kubernetes clusters.
              • forbearing/k8s This Go library implements various handlers to more easily manipulate kubernetes resources such as pods, deployments, etc, inside or outside a Kubernetes cluster
              • medium.com/vedcraft: Top Microservices Frameworks in Go Go has been designed to be a modern language \u2014 there are scenarios where you don\u2019t need a package or framework as you can leverage standard packages (such as net/http).
              "},{"location":"golang/#go-packages","title":"Go packages","text":"
              • cap A collection of authentication Go packages related to OIDC, JWKs and Distributed Claims.
              • volatiletech/sqlboiler Generate a Go ORM tailored to your database schema.
              "},{"location":"golang/#go-tools","title":"Go Tools","text":"
              • IntelliJ vs. VSCode for Rust Development - (Related to devel-sites topic)

              • jcchavezs/porto Tool for adding vanity imports URI to Go files. If you want to enforce vanity import paths, it automates the addition of the import directive.

              • mholt/json-to-go Translates JSON into a Go type in your browser instantly (original)
              • curl-to-go Instantly convert curl commands to Go code
              • kkdai/youtube Download Youtube Video in Golang
              • github.com/iawia002/lux \ud83c\udf1f \ud83d\udc7e Fast and simple video download library and CLI tool written in Go
              • github.com/Email-Dashboard: An interactive emailing management service with scheduling, templating, tracking and A/B testing.
              • gobrew \ud83c\udf1f Go version manager. Super simple tool to install and manage Go versions. Install go without root. Gobrew doesn\u2019t require shell rehash.
              • github.com/groundcover-com: Container Restarts Watcher
              • create-go-app/cli Create a new production-ready project with backend, frontend and deploy automation by running one CLI command!
              • Delve: a debugger for the Go Programming Language
                • alexsniffin.medium.com: Debugging Remotely with Go in Kubernetes In this tutorial, you will learn how to debug an application deployed in Kubernetes remotely using VS Code and Delve
              "},{"location":"golang/#go-books","title":"Go Books","text":"
              • https://github.com/dariubs/GoBooks
              • https://lets-go.alexedwards.net Learn to Build Professional Web Applications with Go
              "},{"location":"golang/#go-samples","title":"Go Samples","text":"
              • inancgumus/learngo \ud83c\udf1f A Huge Number of Go Examples, Exercises and Quizzes.
              • GoogleCloudPlatform/golang-samples: Sample apps and code written for Google Cloud in the Go programming language.
              • rehacktive/caffeine A very basic REST service for JSON data - enough for prototyping and MVPs!
              • ebosas/microservices A microservices example in Go
              • iximiuz/client-go-examples Collection of mini-programs demonstrating Kubernetes client-go usage. If you\u2019re writing controllers or any other form of automation on top of Kubernetes, this repository with Go examples might come in handy.
              • Mathieu-Desrochers/Learning-Go Minimal working examples of Go\u2019s unique features.
              "},{"location":"golang/#dockerfile-for-go","title":"Dockerfile for go","text":"
              • dev.to: Dockerize a GoLang HTTP server and deploy it on Kubernetes
              "},{"location":"golang/#videos","title":"Videos","text":"Click to expand!"},{"location":"golang/#tweets","title":"Tweets","text":"
              • twitter.com/GolangRepos
              Click to expand!

              If I were a system administrator looking to learn a new programming language it would be Go.So many of our tools including Kubernetes, Prometheus, and Terraform are written, and extended, in Go that it's almost a requirement next to learning Bash. https://t.co/OfZmGo4uP5

              \u2014 Kelsey Hightower (@kelseyhightower) December 7, 2020

              \u2728 Freshly released: go-test-trace. Allows you to generate distributed trace spans from #golang test cases and can participate into an existing distributed trace. Useful to diagnose CI/CD or to run locally. https://t.co/ypLt3sg5MW pic.twitter.com/hGfNJUxi81

              \u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) September 21, 2021

              How I write HTTP services in #golang has changed over the years... here's my current style.(Please consider sharing this with somebody you know who's learning Go.)It's a yarn... \ud83e\uddf61/13

              \u2014 Mat Ryer (@matryer) October 4, 2021

              Working with Kubernetes Objects in Go \ud83d\udd3dHow data structures from our beloved YAML manifests are represented as Go structs and interfaces.(a sneak peek from my work-in-progress article on k8s .io/api and k8s .io/apimachinery modules) pic.twitter.com/yLTP3riQOb

              \u2014 Ivan Velichko (@iximiuz) January 22, 2022

              What is runtime.Scheme in Kubernetes Go code?I'd been confused by this concept for quite some time. Turns out - it's just a fancy object factory.Scheme is a registry maintaining a mapping of Kinds (strings) to Types (structs).Schemes are dynamic - new types can be appended. pic.twitter.com/7o3UYO1HH3

              \u2014 Ivan Velichko (@iximiuz) January 24, 2022
              • NodeJS Best Practices (Spanish Translation) - This repository provides a comprehensive guide to NodeJS best practices, with a focus on a Spanish translation of the main README file. It covers various aspects of NodeJS development to ensure maintainability, scalability, and performance.
              "},{"location":"grafana/","title":"Grafana","text":"
              1. Introduction
              2. Grafana Agent
              3. Grafana Faro
              4. Grafana Mimir
              5. Grafana Dashboards
              6. Grafana Releases
              7. Grafana Loki
              8. Grafana Beyla
              9. Grafana as Code
              "},{"location":"grafana/#introduction","title":"Introduction","text":"
              • Grafana
              • Prometheus utiliza plantillas de consola para los dashboards, si bien su curva de aprendizaje de sus m\u00faltiples funcionalidades es alta, con una interfaz de usuario insuficiente. Por este motivo es muy habitual utilizar Grafana como interfaz de usuario.
              • grafana.com: Provisioning Grafana \ud83c\udf1f Las \u00faltimas versiones de Grafana permiten la creaci\u00f3n de \u201cdatasources\u201d y \u201cdashboards\u201d con Ansible, mediante las opciones de provisi\u00f3n de Grafana. Funciona con cualquier \u201cdatasource\u201d (Prometheus, InfluxDB, etc), incluyendo la configuraci\u00f3n de Grafana correspondiente y dejando poco margen para el error humano.
                • Grafana provisioning Ansible Role
              • grafana.com: Introducing the new and improved New Relic plugin for Grafana
              • Log Monitoring and Alerting with Grafana Loki
              • magalix.com: Monitoring Kubernetes Clusters Through Prometheus & Grafana \ud83c\udf1f
              • itnext.io: Monitoring Kubernetes workloads with Prometheus and Thanos
              • medium: Why Grafana: Part II
              • scylladb.com: Building a Grafana Backend Plugin
              • thenewstack.io: Grafana Adds Logging to Its Enterprise Observability Stack \ud83c\udf1f
              • openshift.com: Metrics-Driven Pod Constraints
              • thenewstack.io: Grafana 7.5: Controversial Pie Charts and Loki Alerts
              • zdnet.com: Grafana 8.0 integrates with Prometheus alerting Alerting is finally unified in the latest update of the Grafana open source stack.
              • thenewstack.io: Grafana 8.0 Rethinks Alerts and Visualizations
              • youtube.com: Grafana Loki Promtail | Grafana Loki Setup And Configuration On CentOs
              • grafana.com: What\u2019s new in Grafana Cloud for July 2021: Traces, live streaming, Kubernetes and Docker integrations, and more
              • thenewstack.io: Grafana Is Not Worried About AWS Commercialization
              • grafana.com: Introducing the AWS CloudWatch integration, Grafana Cloud\u2019s first fully managed integration Latest integration available in Grafana Cloud: the AWS CloudWatch metrics integration, the first of our fully managed integrations that makes it simple to connect and visualize your data in Grafana.
              • grafana.com: Testing shift left observability with the Grafana Stack, OpenTelemetry, and k6
              • thenewstack.io: Will Grafana Become Easier to Use in 2022?
              • grafana.com: Top 5 user-requested synthetic monitoring alerts in Grafana Cloud
              • grafana.com: A beginner\u2019s guide to network monitoring with Grafana and Prometheus
                • https://github.com/prometheus/snmp_exporter/tree/main/snmp-mixin
              • grafana.com: A 3-step guide to troubleshooting and visualizing Kubernetes with Grafana Cloud
              • grafana.com: Video: How to build a Prometheus query in Grafana
              • grafana.com: An advanced guide to network monitoring with Grafana and Prometheus
              • devopscube.com: How To Setup Grafana On Kubernetes
              • infoq.com: Grafana Cloud Adds Incident and On-Call Management Solutions
              • alexandrev.medium.com: Grafana Alerting vs AlertManager: A Comparison of Two Leading Monitoring Tools | Alex Vazquez
              • linkedin.com/pulse: Automatizaci\u00f3n de procesos con Prometheus, Grafana y WebHook: resoluci\u00f3n aut\u00f3noma de incidentes
              • devops.com: Grafana Labs Acquires Asserts.ai to Bring AI to Observability
              • grafana.com: Why companies choose Grafana Cloud over self-managed OSS stacks
              "},{"location":"grafana/#grafana-agent","title":"Grafana Agent","text":"
              • grafana/agent: Grafana Agent Prometheus Metrics, Loki Logs, and Tempo Traces, optimized for Grafana Cloud.
              • sid-infinity-yadav.medium.com: Grafana Agent Kubernetes Operator
              • levelup.gitconnected.com: Grafana Agent Flow: Simplifying Monitoring and Telemetry Collection for Kubernetes Clusters
              "},{"location":"grafana/#grafana-faro","title":"Grafana Faro","text":"
              • Grafana Faro \ud83c\udf1f A project for frontend application observability, Grafana Faro includes a highly configurable web SDK for real user monitoring (RUM) that instruments browser frontend applications to capture observability signals. The frontend telemetry can then be correlated with backend and infrastructure data for seamless, full-stack observability.
              • grafana.com: Introducing Grafana Faro, an open source project for frontend application observability
              "},{"location":"grafana/#grafana-mimir","title":"Grafana Mimir","text":"
              • github.com/grafana/mimir Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus.
              "},{"location":"grafana/#grafana-dashboards","title":"Grafana Dashboards","text":"
              • Grafana Dashboards
              • github.com/DevOps-Nirvana/Grafana-Dashboards In this repository, you will find a variety of open-source Grafana dashboards, typically for AWS and Kubernetes
              • github.com/mlabouardy: Grafana Dashboards
              • openlogic.com: How to develop Grafana Dashboards \ud83c\udf1f
              • Percona Grafana dashboards for MySQL and MongoDB monitoring using Prometheus \ud83c\udf1f
              • Prometheus Monitoring With Grafana. Prometheus Stats Dashboard and Prometheus Benchmark Dashboard. How you construct your Prometheus monitoring dashboard involves trial and error. Grafana makes this exploration very easy and Prometheus has good built-in functionality.
              • Popular community plugins that can improve your Grafana dashboards \ud83c\udf1f
              • CISCO DNA Center with Grafana Dashboard
              • prskavec.net: Grafana dashboards and Jsonnet Simple way how to make your dashboard easy to maintain.
              • percona.com: Tips for Designing Grafana Dashboards
              • devblogs.microsoft.com:Monitoring Azure by using Grafana dashboards \ud83c\udf1f
              • github.com/kubevirt/monitoring KubeVirt monitoring dashboards. This repository collects Grafana dashboards for KubeVirt and Prometheus runbooks for alerts shipped with the KubeVirt stack.
              • medium.com/@dotdc: A set of modern Grafana dashboards for Kubernetes \ud83c\udf1f In this article, I will present a set of modern Grafana dashboards I made for Kubernetes, explain why I decided to create them and how they work.
              • grafana.com: Grafana dashboards: A complete guide to all the different types you can build
              • medium.com/how-tos: How To Provisioning Dashboards In Grafana via Kubernetes Create a nice Dashboard that matches your needs
              • github.com/dotdc/grafana-dashboards-kubernetes \ud83c\udf1f
              • github.com/onzack/grafana-dashboards Grafana Dashboards for Kubernetes, OpenShift and other systems
              Monitored Component Collector Dashboard Number URL ActiveMQ 5.x \u201cclassic\u201d Telegraf 10702 Ref1, Ref2, Ref3, Ref4 ActiveMQ Artemis/Red Hat AMQ Broker JMX Exporter 9087 Ref1, Ref2, Ref3 Message Streams like Kafka/Red Hat AMQ Streams Other 9777"},{"location":"grafana/#grafana-releases","title":"Grafana Releases","text":"
              • Open source observability, meet data transformation: Grafana 7.0 promises to connect, unify, and visualize all your data Grafana Labs sets the bar for open source observability with Grafana 7.0: more developer friendly, more data sources, data transformation, and growth in the cloud and on premise
              • Grafana 7.0: \u201cWe\u2019ve built one of the best visualisation tools and it\u2019s not tied to any one database\u201d
              • grafana.com: Grafana 8.1 released: New Geomap and Annotations panels, updated plugin management, and more
              • thenewstack.io: Grafana 8.2 Wants to \u2018Democratize\u2019 Cloud Native Metrics
              • grafana.com: Grafana Labs and Microsoft partner to deliver new first party Microsoft Azure service Today we announced a partnership with Microsoft that lets customers run Grafana natively within their Azure cloud platform.
              • grafana.com: Grafana 9.3 feature: Grafana OAuth token improvements
              "},{"location":"grafana/#grafana-loki","title":"Grafana Loki","text":"
              • Grafana Loki
              • itnext.io: Logging in Kubernetes with Loki and the PLG Stack Loki is a new log aggregation system from Grafana Labs. It is designed to be cost-effective and easy to operate. In this article, you learn more about Loki and how to use the PLG Stack (Promtail, Loki, Grafana) for logging in Kubernetes.
              • cleancloud-k8s.com: Handling Multiline Logs with Loki and Fluent Bit on Kubernetes In this blog post, you will learn how to handle multiline logs such as Java stack traces with Loki and Fluent Bit on Kubernetes.
              • faun.pub: Grafana, Prometheus, and Loki: Exploring Metrics and Logs
              "},{"location":"grafana/#grafana-beyla","title":"Grafana Beyla","text":"
              • grafana.com: Grafana Beyla 1.0 release: zero-code instrumentation for application telemetry using eBPF
              "},{"location":"grafana/#grafana-as-code","title":"Grafana as Code","text":"
              • grafana.com: A complete guide to managing Grafana as code: tools, tips, and tricks
              "},{"location":"helm/","title":"Helm Kubernetes Tool","text":"
              1. Helm
              2. Helm Plugins
              3. Helm Chart Documentation
              4. Helm Dashboard
              5. Kubecrt
              6. Datree
              7. Helm Charts repositories
              8. Helm Charts
              9. Shalm. Scriptable helm charts
              10. Helmfile
              11. Database Migrations
              12. Helm Tools
              13. Helm Books
              14. Videos
              15. Tweets
              "},{"location":"helm/#helm","title":"Helm","text":"
              • dzone: managing helm releases the gitops way
              • thoughtworks.com: Helm
              • helm.sh
                • helm.sh/docs
                • helm.sh: Getting Started \ud83c\udf1f
              • GitHub: Helm, the Kubernetes Package Manager Installing and managing Kubernetes applications
              • Helm and Kubernetes Tutorial - Introduction
              • Delve into Helm: Advanced DevOps
              • Continuously delivering apps to Kubernetes using Helm
              • Zero to Kubernetes CI/CD in 5 minutes with Jenkins and Helm
              • DevOps with Azure, Kubernetes, and Helm
              • dzone: 15 useful helm chart tools
              • dzone: create install upgrade and rollback a helm chart - part 1
              • dzone: create install upgrade and rollback a helm chart - part 2
              • dzone: cicd with kubernetes and helm
              • dzone: managing helm releases the gitops way
              • codefresh.io: Using Helm 3 with Helm 2 charts
              • banzaicloud.com: Helm 3, the Good, the Bad and the Ugly
              • helm.sh: How to migrate from Helm v2 to Helm v3
              • Helm 3: Validating Helm Chart Values with JSON Schemas \ud83c\udf1f
              • hackernoon.com: Kubernetes and Helm: A Deadly Combo to Help You Deploy with Ease
              • medium: Helm Chart \u2014 Development Guide \ud83c\udf1f Writing maintainable and reliable charts with few tricks
              • medium: Multi-namespace Helm deploy in Kubernetes
              • rancher.com: Create Reproducible Security in Kubernetes with Helm 3 and Helm Charts
              • daveops.xyz: Running DB migrations on Kubernetes with Helm
              • mbbaig.blog: How to create custom Helm charts \ud83c\udf1f
              • dev.to: Introduction to Helm \ud83c\udf1f
              • itnext.io: Helm 3 Umbrella Charts & Standalone Chart Image Tags \u2014 An Alternative Approach Helm umbrella charts, for those who aren\u2019t familiar, describe and encapsulate a deployable collection of loosely couple Kubernetes components as a higher-order Helm chart. In other words, a collection of software elements that each have their own individual charts but, for whatever reason (e.g. design choices, ease of deployability, versioning complexities), must be installed or upgraded as a since atomic unit.
              • rancher.com: Create Reproducible Security in Kubernetes with Helm 3 and Helm Charts
              • jfrog.com: Steering Straight with Helm Charts Best Practices \ud83c\udf1f
              • rancher.com: Create Reproducible Security in Kubernetes with Helm 3 and Helm Charts
              • youtube.com: Demystifying Helm \ud83c\udf1f
              • harness.io: Introduction to Helm: Charts, Deployments, & More \ud83c\udf1f
              • freecodecamp.org: What is a Helm Chart? A Tutorial for Kubernetes Beginners
              • youtube: GitOps Guide to the Galaxy: Working with Helm
              • cncf.io: Quick application deployments on MicroK8s using Helm Charts
              • cncf.io: Add Java Agents to Existing Kubernetes and Helm Applications Instantly
              • medium: Create Helm Charts to manage Kubernetes applications Understand what is Helm, Helm Charts and how to configure GitHub pages to store and share your Charts.
              • blog.heyal.co.uk: How to unit-test your helm charts with Golang \ud83c\udf1f Learn how to write Golang unit tests for your Helm charts to keep quality high and make changes with confidence.
              • bridgecrew.io: Part 1: Top trends from analyzing the security posture of open-source Helm charts
                • bridgecrew.io: Part 2: Top trends from analyzing the security posture of open-source Helm charts
                • bridgecrew.io: Part 3: Top trends from analyzing the security posture of open-source Helm charts
              • redhat.com: Red Hat OpenShift Certification extends support for Kubernetes-native technologies with Helm \ud83c\udf1f Helm or Operators: how to choose
              • jasiek-petryk.medium.com: Setting up a private Helm chart repository on GitHub
              • betterprogramming.pub: How To Continuously Test and Deploy Your Helm Charts on Kubernetes Clusters Using Kind Set up your CI/CD tools to easily test and publish charts on ephemeral Kubernetes clusters
              • blog.flant.com: Making the most out of Helm templates \ud83c\udf1f The standard Helm library and traditional approaches to creating Helm charts are generally okay to automate non-complex tasks. But the growing complexity and number of Helm charts rapidly make the minimalistic Helm templates and controversial standard Helm library insufficient. In this article, we will show you how to make your Helm templates much more flexible and dynamic by implementing your own Helm \u201cfunctions\u201d and exploiting the capabilities of the tpl function.
              • levelup.gitconnected.com: Helm 101 for Developers
              • developers.redhat.com: Deploy Helm charts with Jenkins CI/CD in Red Hat OpenShift 4 \ud83c\udf1f
              • developers.redhat.com: Deploy Node.js applications to Red Hat OpenShift with Helm
              • thenewstack.io: Upgrade Helm if You Don\u2019t Want to Share Your Username and Password (Helm\u2019s CVE-2021-32690) \ud83c\udf1f
              • thedeveloperstory.com: Helm 101: Brief introduction to kubernetes package manager
              • betterprogramming.pub: 6 Tips for Creating Helm Charts in Kubernetes Applications Build, maintain, and control Helm chart releases with fewer bugs and code issues
              • if you\u2019re having either https://github.com/helm/helm/issues/10005 or https://github.com/helm/helm/issues/10004, it\u2019s because the older Helm 2 backing store is finally gone. You REALLY should upgrade to Helm 3, and now. You\u2019re risking your security more than you should.
              • medium: Kubernetes Deployment using Helm Charts and Krane \ud83c\udf1f
              • cloud.redhat.com: Application Management in Kubernetes Environments with Helm Charts and Kubernetes Operators
              • codersociety.com: 13 Best Practices for using Helm Helm is an indispensable tool for deploying applications to Kubernetes clusters. But it is only by following best practices that you\u2019ll truly reap the benefits of Helm. Here are 13 best practices to help you create, operate, and upgrade applications using Helm.
              • bridgecrew.io: Applying Kubernetes security best practices to Helm charts
              • codefresh.io: Using Helm with GitOps \ud83c\udf1f
                • medium: Using Helm with GitOps
              • medium: Test Helm Release in Production Environment with Zero Downtime \ud83c\udf1f Helm has been very popular for Kubernetes production. However, to ensure consistency across releases, today we are going to learn how to test deployment on production environment without any interruption with production pods.
              • learn.hashicorp.com: Deploy a Helm-based application automatically with GitOps
              • hashicorp.com: Deploying Helm Apps to Kubernetes with Waypoint and GitOps
              • medium.com/dailymotion: Deploying apps on multiple Kubernetes clusters with Helm
              • gennyallcroft.medium.com: Understanding Kubernetes deployments with Helm
              • medium.com/codex: Helm Charts For Kubernetes Developers
              • apiiro.com: Malicious Kubernetes Helm Charts can be used to steal sensitive information from Argo CD deployments
              • medium.com/@paolo.gallina: How-to release Helm Charts maintaining your mental health \ud83c\udf1f Three tips for maintaining and developing Helm charts.
              • devopslearners.com: How to Convert Helm Chart to Kubernetes YAML
              • mlepeshkin.medium.com: Automated Kubernetes deployment with Helm and additional templating
              • dev.to/francoislp: Post-mortem: 1h30 downtime on a Saturday morning Read how 4 YAML lines brought down 3 APIs for 1h30 on a Saturday morning. In the end, the issue was a Helm chart misconfiguration where 2 settings were conflicting with each other.
              • blog.ediri.io: How To Unit Test Your Helm Charts With the help of helm-unittest and the AAA pattern
              • itnext.io: Reference Other Values in Helm Chart Values File Helm offers a template engine that allows you to merge configuration values into templates. This article introduces the \u201ctpl\u201d function to evaluate strings as templates to have even more flexibility in your values.yaml
              • medium.com/@percenuage: My adventure with Helm as GitOps in a distributed architecture In this article, you will learn some practical tips on how to manage your Helm charts and GitOps workflows:
                • Common vs multiple Helm charts
                • Values YAML hierarchy
                • Git repository management
              • medium.com/avmconsulting-blog: How to Deploy Applications using Helm in Kubernetes |AWS|
              • medium.com/tech-chronicles: Helm tests Helm tests are helpful to test your charts in your CI/CD pipeline, but when they fail due to network issues (e.g. pod takes time to serve the response) they are difficult to debug.
              • xbery.medium.com: Deploy helm charts using Terraform module \ud83c\udf1f
              • community.ops.io: [K8s] Fix Helm release failing with an upgrade still in progress This article applies to: Helm v3.8.0. If you use Helm to manage your releases, you might end up in a case where the release is stuck in a pending state and all subsequent releases keep failing. This article explains how to fix it with two options:
                • Helm rollback
                • Deleting the state
              • dev.to: HULL Tutorial 01: Introducing HULL, the Helm Universal Layer Library
              • medium.com/codex: Simplifying Kubernetes Deployments With Helm Package Manager \ud83c\udf1f
              • medium.com/geekculture: Helm \u2014 Advanced Commands \ud83c\udf1f
              • levelup.gitconnected.com: Helm\u2014Named Templates A deep dive into partial or subtemplates
              • faun.pub: Helm \u2014 Template Actions, Functions, and Pipelines \ud83c\udf1f Overview of helm template actions, functions, and pipelines
              • shipmight.com: Understanding Helm upgrade flags Every now and then you\u2019ll need to use the --reset-values and --reuse-values flags when running a Helm upgrade. Let\u2019s dive into how they actually work and also look at a gotcha when the values of a chart have changed in-between upgrades
              • blog.devops.dev: Stop cloning helm charts! Enough! \ud83c\udf1f
              • medium.com/kubeshop-i: Monokle, Helm & Quality Kubernetes Deployments
              • medium.com/gquiman: K8Studio, Helm and Kubernetes management
              • blog.devops.dev: Hosting Your Own Helm Chart on GitHub with Chart Releaser
              • faun.pub: Package and Deploy Your Application Using Helm Chart In this tutorial, you will learn the end-to-end process of creating a spring boot application and deploying it as a Helm chart on a minikube cluster
              • medium.com/@badawekoo: Helm theory, demo and commands you need to know!
              • dev.to: Helm Release Time-To-Live(TTL)\u23f3\ud83d\udc80 for Temporary Environments When working with Kubernetes, it\u2019s often the case that you\u2019ll need to create temporary environments/namespaces. You might need this as a way to limit the resources use, handle dev/staging environments, or just as a way to contain your tests while working on them. If you have used Helm before, you know that installing applications via Helm charts is simple by using the helm install command. The problem is that after installing a package, you or the user still needs to manually delete the package. With this in mind, we are going to explore how we set Time-To-Live Expiration for helm releases via the Helm release plugin, and create temporary Environments with Time-To-Live to make our lives easier with Helm.
              • sysdig.com: Helm security and best practices
              • medium.com: Helm Your Kubernetes Application
              • medium.com/linux-shots: Use PostgreSQL database as backend storage for helm By default, Helm 3 stores all release information in Kubernetes cluster itself using K8s secret in release namespace.
              • tratnayake.dev: Using Helm To Include All Files From A Directory In-line In this article, you will learn how to use Helm to fetch all files and their contents from a directory and include them in-line
              • fenyuk.medium.com: Helm for Kubernetes. Datree for keeping cluster secure and healthy \ud83c\udf1f
              • fenyuk.medium.com: Helm for Kubernetes. GitOps with Argo CD \ud83c\udf1f
              • medium.com/geekculture: HELM \u2014 How Release Information is Stored Advanced Helm usage
              • levelup.gitconnected.com: Helm \u2014 Data Sharing Between Parent and Child Chart Data exchange between parent and child chart in helm. In this article, you will explore a few strategies to share data between Helm charts:

                • Overriding values from a parent chart
                • Making child chart data available to the parent chart
                • Global chart values
                • Sharing templates with subcharts
              • blog.searce.com: Transform Kubernetes Manifests into Helm Chart

              • medium.com/geekculture: Helm Chart Wait for All Dependencies Before Starting Kubernetes Pods Improve the quality of your helm charts by supporting wait for dependencies feature
              • blog.knell.it: Making your Helm Chart observable for Prometheus In this blog post, I walk you through the various steps required to make an existing Helm chart observable by Prometheus.
              • mattias.engineer/courses/kubernetes/helm: Kubernetes-101: Helm \ud83c\udf1f
              "},{"location":"helm/#helm-plugins","title":"Helm Plugins","text":"
              • Helm Diff Plugin \ud83c\udf1f A helm plugin that shows a diff explaining what a helm upgrade would change
              • Helm Kanvas Snapshot Plugin that generates a visual snapshot of Helm charts.
              • Helm mapkubeapis Plugin This is a Helm plugin which map deprecated or removed Kubernetes APIs in a release to supported APIs. With kubernetes 1.22 dropping support for more beta APIs, you might be in need of a helmpack plugin to help you with that..
              • medium.com/@marc.khouzam: Shell completion for plugins with Helm 3.8 (This post is mostly targeted towards helm plugin developers)
              • JovianX/helm-release-plugin Helm3 plugin that pulls(re-creates) helm Charts from deployed releases, and updates values of deployed releases without the chart.
              "},{"location":"helm/#helm-chart-documentation","title":"Helm Chart Documentation","text":"
              • chart-doc-gen: Helm Chart Documentation Generator
              • Frigate is a tool for automatically generating documentation for your Helm charts. It will use the chart\u2019s Chart.yaml and values.yaml files in order to generate the content in a markup language of your choice.
              • rafay.co: Helm Chart Hooks Tutorial
              • itnext.io: Helm: reusable chart \u2014 named templates, and a generic chart for multiple applications Designing reusable chart with Helm: named templates, and a generic chart for multiple applications
              • thenewstack.io: Applying Kubernetes Security Best Practices to Helm Charts \ud83c\udf1f
              • medium: Highway to Helm: How to efficiently manage chart sources In this post, we\u2019ll go through two ways to manage the source files of Helm charts, we\u2019ll discuss the different factors that make one more suitable than the other, depending on your organisational structure, and we\u2019ll provide guidance on choosing the right way to go by sharing what conditions are in favour of each of the two methods.
              • helm-docs The helm-docs tool auto-generates documentation from helm charts into markdown files. The resulting files contain metadata about their respective chart and a table with each of the chart\u2019s values, their defaults, and an optional description parsed from comments.
              "},{"location":"helm/#helm-dashboard","title":"Helm Dashboard","text":"
              • medium.com/geekculture: K8s \u2014 Helm Dashboard The missing UI of Helm
              • levelup.gitconnected.com: Introduction to Helm Dashboard
              • github.com/komodorio/helm-dashboard \ud83c\udf1f The Helm Dashboard plugin offers a UI-driven way to view the installed Helm charts, and see their revision history and corresponding Kubernetes resources. Also, you can perform simple actions like roll back to a revision or upgrade to a newer version
              "},{"location":"helm/#kubecrt","title":"Kubecrt","text":"
              • Kubecrt
              • Kubecrt - Convert HELM charts to kubernetes resources \ud83c\udf1f
              "},{"location":"helm/#datree","title":"Datree","text":"
              • https://github.com/datreeio/datree Prevent Kubernetes misconfigurations from reaching production (again \ud83d\ude24 )! Datree is a CLI tool to ensure K8s manifests and Helm charts follow best practices as well as your organization\u2019s policies. See our docs: https://hub.datree.io/
              • datree.io: How to build a Helm plugin in minutes
              • opensource.com: What Kubernetes taught me about development Why policy management was the key to understanding Kubernetes and the DevOps pipeline.
              • aws.amazon.com: Preventing Kubernetes misconfigurations using Datree
              "},{"location":"helm/#helm-charts-repositories","title":"Helm Charts repositories","text":"
              • Setup Prometheus Using Helm Chart on Kubernetes - (Related to prometheus topic)
              • Automating Kubernetes Deployments with Helm Charts \ud83c\udf1f - This article explains how to automate Kubernetes deployments using Helm charts. It covers the creation of Helm charts, their structure, and how to use them for consistent and repeatable application deployments in Kubernetes environments.

              • codeengineered.com: 4 Places To Find Helm Charts

              • hub.helm.sh \ud83c\udf1f -> artifacthub.io \ud83c\udf1f Find, install and publish Kubernetes packages
                • New Location For Stable and Incubator Charts
                • charts.helm.sh/stable \ud83c\udf1f
                • charts.helm.sh/incubator \ud83c\udf1f
              • Bitnami Helm Charts
              • JFrog ChartCenter
              • Artifact Hub \ud83c\udf1f Find, install and publish Kubernetes packages
              • KubeApps Hub
              • github: Nova \ud83c\udf1f Find outdated or deprecated Helm charts running in your cluster.
              • github: Kubernetes Deployment Orchestrator This project brings the starlark scripting language to helm charts.
              • harness.io: Tutorial: Turning a GitHub Repo Into a Helm Chart Repo
              "},{"location":"helm/#helm-charts","title":"Helm Charts","text":"
              • Jenkins
              • Codecentric Jenkins \ud83c\udf1f Helm 3 compliant (Simpler and more secure than helm 2)
              • Nexus3
              • Choerodon Nexus3 \ud83c\udf1f Helm 3 compliant (Simpler and more secure than helm 2)
              • Sonar
              • Selenium
              • Jmeter
              • openshift.com: Introducing the Quarkus Helm Chart
              • artifacthub.io: Official Helm charts for HAProxy and the HAProxy Kubernetes Ingress Controller on Artifact Hub \ud83c\udf1f
              • prometheus-community.github.io: Prometheus Community Kubernetes Helm Charts \ud83c\udf1f
              • boxunix.com: Developer\u2019s Guide to Writing a Good Helm Chart
              • HULL The incredible HULL - Helm Uniform Layer Library - is a Helm library chart to improve Helm chart based workflows
              "},{"location":"helm/#shalm-scriptable-helm-charts","title":"Shalm. Scriptable helm charts","text":""},{"location":"helm/#helmfile","title":"Helmfile","text":"
              • https://helmfile.readthedocs.io Helmfile is a declarative spec for deploying Helm charts. It lets you:
                • Keep a directory of chart value files and maintain changes in version control
                • Apply CI/CD to configuration changes
                • Periodically sync to avoid skew in environments
              • github.com/helmfile/helmfile Declaratively deploy your Kubernetes manifests, Kustomize configs, and Charts as Helm releases in one shot
              • linuxadvise.com: Helmfile - Next Level to manage your helm Charts
              "},{"location":"helm/#database-migrations","title":"Database Migrations","text":"
              • itnext.io: Database migrations on Kubernetes using Helm hooks
              "},{"location":"helm/#helm-tools","title":"Helm Tools","text":"
              • Nelm: A Helm Alternative for Kubernetes Deployments - 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 - (Related to azure topic)

              • redhat-certification: chart-verifier: Rules based tool to certify Helm charts \ud83c\udf1f

              • helm-changelog: Create changelogs for Helm Charts, based on git history
              • helm-scanner Open source IaC security scanner for public Helm charts. Helm-scanner is a tool designed to automate discovering, templating, security scanning, then recording and providing easy access to the results for publicly available Helm charts
              • helm-diff: Helm Diff Plugin
              • Helmsman: Helm Charts as Code \ud83c\udf1f Helmsman is a Helm Charts (k8s applications) as Code tool which allows you to automate the deployment/management of your Helm charts from version controlled code.
                • medium: Gitops using Helmsman to apply Helm Charts to k8s
              • tellerops/helm-teller Helm Teller allows you to inject configuration and secrets from multiple providers into your chart while masking the secrets at the deployment
              • sstarcher/helm-exporter Exports helm release, chart, and version statistics in the prometheus format.
              • github.com/mumoshu/helm-x: Helm X Plugin Treat any Kustomization or K8s manifests directory as a Helm chart. No more \u201cKustomize vs Helm\u201d. Helm-x is a helm plugin that makes Helm better integrate with vanilla Kubernetes manifests, kustomize, and manual sidecar injections. With helm-x, you can install and sidecar-inject helm charts, manifests, kustomize apps in the same way.
              • maorfr/helm-backup: Helm Backup Plugin Helm plugin which performs backup/restore of releases in a namespace to/from a file
              • helmwave/helmwave Helmwave is helm3-native tool for deploy your Helm Charts. HelmWave is like docker-compose for helm.
              • github.com/jkosik: helm-decomposer Decomposes Helm package and visualizes hierarchy of subcharts and images
              • github.com/projectsveltos: sveltosctl A CLI to nicely display resources/helm charts deployed in CAPI Cluster by Sveltos. Collect tech-support from managed Kubernetes clusters sveltosctl nicely displays resources and Helm charts info in CAPI Kubernetes Clusters deployed using ClusterProfile. It also provides the ability to generate configuration snapshots and roll backs to a previously taken configuration snapshot.
              • abhaypore.medium.com: Migrate your manifest yaml files into Helm Chart
              "},{"location":"helm/#helm-books","title":"Helm Books","text":"
              • Red Hat Training & Certification Community - (Related to kubernetes-tutorials topic)
              "},{"location":"helm/#videos","title":"Videos","text":"Click to expand!"},{"location":"helm/#tweets","title":"Tweets","text":"Click to expand!

              What is Three-way Strategic Merge Update in #Helm?A 3-way merge reconciles a modified configuration with an original configuration while preserving any changes or deletions made to the original configuration in the interim.more... \ud83d\udc47@learnk8s #kubernetes #cncf #k8s #devops pic.twitter.com/HlmPeHG8On

              \u2014 Rahul Rai\ud83c\udf25\ufe0f (@rahulrai_in) May 27, 2021

              Truth is, most applications don't need complex automation hooks. You can go a long way with health checks, liveness probes, metrics, logs, and basic signal handling, which is why generic automation tools like Helm works well for most situations.

              \u2014 Kelsey Hightower (@kelseyhightower) September 8, 2021

              Highway To Helm ! pic.twitter.com/2UkS5kD4AG

              \u2014 S\u00e9bastien Blanc \ud83c\uddea\ud83c\uddfa \ud83e\udd51 (@sebi2706) November 12, 2021

              Artifact Hub is now able to check if Helm charts stored in OCI registries have been signed with \ud835\udc1c\ud835\udc28\ud835\udc2c\ud835\udc22\ud835\udc20\ud835\udc27 from @projectsigstore \ud83d\udd0f\ud83d\ude80 pic.twitter.com/DL6Z30U8Vu

              \u2014 Artifact Hub (@cncfartifacthub) November 22, 2021"},{"location":"hr/","title":"Human Resources","text":"
              1. Introduction
              2. Company Handbook
              3. Spanish
              "},{"location":"hr/#introduction","title":"Introduction","text":"
              • ft.com: Women in finance say \u2018mediocre\u2019 male managers block progress Report claims it is easier for men to succeed in the City despite making mistakes. Extremely relatable: \u201cAverage men ended up being the gatekeepers for the younger women who were coming through\u201d.
              "},{"location":"hr/#company-handbook","title":"Company Handbook","text":"
              • about.gitlab.com/handbook The GitLab team handbook is the central repository for how we run the company.
              "},{"location":"hr/#spanish","title":"Spanish","text":"
              • elconfidencial.com: Olvida RRHH, ahora es el Departamento de Diversi\u00f3n: la infantilizaci\u00f3n del pa\u00eds de las 6.000 \u2018startups\u2019 Con casi 9 millones de habitantes y m\u00e1s de 6.000 empresas emergentes o \u2018startups\u2019, el mercado laboral israel\u00ed del \u2018high tech\u2019, din\u00e1mico y privilegiado, crea cultura de oficina
              • xataka.com: \u201cHan recomendado calcular cu\u00e1nto dinero queda y al resto despedirles\u201d: las startups espa\u00f1olas frente a la quiebra de SVB
              "},{"location":"iac/","title":"Infrastructure Provisioning. Infra Management Tools. IaC Infrastructure as Code","text":"
              1. Introduction
              2. Local Environment as Code
              3. Comparing the Tools
              4. Tools
              5. Infrastructure as Code using Kubernetes
                1. Config Connector
              6. Videos
              7. Tweets
              "},{"location":"iac/#introduction","title":"Introduction","text":"
              • Platform Engineering Guide - 5 Key Use Cases of Internal Developer Platforms - (Related to devops topic)

              • stackoverflow.blog: Infrastructure as code: Create and configure infrastructure elements in seconds IaC allows developers to supply IT environments with multiple lines of code and can be deployed in a matter of minutes (in contrast to manual infrastructure, which can take hours if not days to be deployed).

              • invensislearning.com: Infrastructure as a Code Tutorial: How it Works, Types, and Best Practices
              • agileconnection.com: Infrastructure as Code: The Foundation of Effective DevOps
              • cloudify.co: Infrastructure As Code \u2013 Is It REALLY Enough For DevOps? IAC DevOps Best Practices \ud83c\udf1f
              • bridgecrew.io: 5 tips for securely adopting infrastructure as code
              • redhat.com: Pull vs. push in automated VM provisioning: What you need to know Understanding the different techniques for provisioning virtual machines in the CI/CD process is essential for enterprise architects planning deployment automation into their designs.
              • itnext.io: Platform-as-Code: how it relates to Infrastructure-as-Code and what it enables
              • daffodilsw.medium.com: What is Infrastructure Automation in DevOps?
              • thenewstack.io: IaC Cloud Misconfiguration Tools too Noisy without Context
              • freecodecamp.org: Infrastructure as Code - Full Course \ud83c\udf1f\ud83c\udf1f
              • faun.pub: The best Infrastructure as Code tools for 2021
              • alpacked.io: Infrastructure as Code in DevOps \ud83c\udf1f Key driving force of efficient application delivery.
              • devops.com: Updating and Managing Infrastructure-as-Code (IaC)
              • thenewstack.io: GUIs, CLI, APIs: Learn Basic Terms of Infrastructure-as-Code
              • thenewstack.io: Infrastructure-as-Code: Increase Security, Scale Development
              • thenewstack.io: Struggling with IT Staff Leaving? Try Infrastructure as Code \ud83c\udf1f With IaC, the organization retains critical knowledge of deployment and updates in code repositories, lessening the impact of any one expert leaving
              • devopscube.com: Immutable Infrastructure Explained For Beginners
              • medium.com/@bunnyshell: How to Overcome Infrastructure as Code (IaC) Challenges
              • dzone.com/articles: A Beginner\u2019s Guide to Infrastructure as Code \ud83c\udf1f In this article, take an in-depth look at how Infrastructure as Code (IaC) works, its benefits, and common challenges.
              • javacodegeeks.com: Infrastructure as Code: Best Tools For 2023 Included
              • thenewstack.io: Infrastructure as Code or Cloud Platforms \u2014 You Decide!
              • infoworld.com: 5 priorities that cut cloud costs and improve IT ops With infrastructure as code, virtual desktop infrastructure, and a proactive approach to incident management, you can help keep cloud costs reasonable.
              • spacelift.io: Why Generic CI/CD Tools Will Not Deliver Successful IaC
              • matt-rickard.com: Infrastructure as Code Will be Written by AI
              • thenewstack.io: Achieve GitOps on Day One with IaC Automation GitOps helps redefine how we manage infrastructure and application deployments in environments where precision, automation and transparency are vital.
              • medium.com/@faisalkuzhan: DAY_43/90 => Infrastructure as Code(IaC)
              • build5nines.com: Benefits of Convention over Configuration for IaC Deployment Projects
              • levelup.gitconnected.com: Short: Using IaC over Clickops
              "},{"location":"iac/#local-environment-as-code","title":"Local Environment as Code","text":"
              • thenewstack.io: Local Environment-as-Code: Is It Possible Yet?
              "},{"location":"iac/#comparing-the-tools","title":"Comparing the Tools","text":"
              • clickittech.com: Infrastructure as Code Tools, what are the best IaC tools? \ud83c\udf1f
              • intellipaat.com: Terraform vs Ansible: Key Differences Between Terraform and Ansible \ud83c\udf1f
              • clickittech.com: Terraform vs CloudFormation: The Final battle \ud83c\udf1f
              • k21academy.com: Terraform vs Ansible: Working, Difference, Provisioning \ud83c\udf1f
              • cncf.io: Cloudformation vs. Terraform: Which is better?
              • cloudify.co: Ansible Vs Terraform \ud83c\udf1f
              • techcommunity.microsoft.com: Infrastructure as Code (IaC): Comparing the Tools
              • spacelift.io: Terraform vs. Ansible : Key Differences and Comparison of Tools
              • env0.com: Ansible vs Terraform: Choose One or Use Both?
              • awstrainingwithjagan.com: Comprehensive Comparison of Top Infrastructure as Code (IaC) Tools
              "},{"location":"iac/#tools","title":"Tools","text":"
              • Pulumi: Infrastructure as Code in Any Programming Language \ud83c\udf1f - Pulumi is an open-source Infrastructure as Code (IaC) tool that allows users to define and manage cloud infrastructure using familiar programming languages like Python, JavaScript, TypeScript, Go, C#, and Java. It enables developers to provision and manage resources across various cloud providers and services with the power of general-purpose programming languages, offering benefits like code reuse, testing, and better developer workflows.
              • Terraform 1.15: Flexible Module Management, Deprecation Warnings, and Windows ARM64 Support - (Related to terraform topic)
              • IBM IAM for AI Agents - (Related to ai-agents-mcp topic)
              • Terraform Enterprise 2.0 - (Related to terraform topic)
              • Scale with Confidence Using Terraform: Better Cost Visibility, Stronger Governance, and Less Operational Overhead - (Related to terraform topic)
              • Terraform for Standardizing AWS Deployments - (Related to terraform topic)
              • Terraform & OpenTofu Skill for AI Agents - (Related to terraform topic)
              • Enterprise-Scale Azure Subscription Vending Using Azure Verified Modules (AVM) - (Related to azure topic)
              • CloudCanvas - Diagramming for Cloud Infrastructure - (Related to cloud-arch-diagrams topic)
              • AZVerify: Bridging Azure Resources, Bicep Templates, and Diagrams with GitHub Copilot - (Related to azure topic)
              • Azure Landing Zone IaC Accelerator Release Notes \ud83c\udf1f - 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 - (Related to terraform topic)
              • Automating Microsoft Entra ID with Terraform: From CSV to Users and RBAC in Minutes - (Related to terraform topic)
              • Transitioning an Existing Azure Environment to the Azure Landing Zone Reference Architecture - (Related to azure topic)
              • Terraform Provider for Google Cloud 7.0 is now GA - (Related to terraform topic)
              • AWS Organizations: The Key to Managing Your Cloud Infrastructure Effectively - (Related to aws topic)
              • Terraform Azure Resource IPAM Module - (Related to terraform topic)
              • Ephemeral Values in Terraform - (Related to terraform topic)
              • Deploying Virtual Networks Across Tenants Using Azure Virtual Network Manager - (Related to azure topic)
              • Announcing Public Preview of Terraform Export from the Azure Portal - (Related to terraform topic)
              • Announcing Public Preview of Terraform Export from the Azure Portal - (Related to terraform topic)
              • ClusterClass: Experimental Feature for Streamlined Cluster Lifecycle Management in Cluster API - (Related to kubernetes topic)
              • Enhancing Infrastructure as Code Generation with GitHub Copilot for Azure \ud83c\udf1f - This blog post introduces an updated experience for GitHub Copilot for Azure, simplifying the generation and updating of Infrastructure as Code (IaC) files using Bicep or Terraform. The new release allows users to directly update project details, hosting, services, configurations, and environment variables through a streamlined UI, improving workflow efficiency and reducing errors compared to previous methods relying solely on Copilot Chat.
              • Subscription Vending Implementation Guidance - (Related to azure topic)
              • DevOps Roadmap for 2026 - (Related to devops topic)
              • Awesome Sysadmin - (Related to devops-tools topic)
              • Terraform Best Practices - (Related to terraform topic)
              • Enhanced Local IDE Experience for AWS Step Functions - (Related to aws topic)
              • TerraSchema: Generate JSON Schema from Terraform Configurations - (Related to terraform topic)
              • Terraform Module Releaser GitHub Action - A GitHub Action designed to automate the versioning, release process, and documentation generation for Terraform modules, particularly useful in monorepo environments.
              • The Maester - Terraform Module - (Related to terraform topic)
              • Azure Landing Zone IaC Accelerator \ud83c\udf1f - The Azure Landing Zone IaC Accelerator provides opinionated modules for deploying and managing Azure landing zone architecture core platform capabilities using Bicep or Terraform. It supports Azure DevOps and GitHub for version control and bootstraps a continuous delivery environment, guiding users through planning, prerequisites, bootstrapping, and running the deployment.
              • Azure Landing Zone Technical Documentation - (Related to azure topic)
              • Announcing General Availability of Terraform Azure Verified Modules for Platform Landing Zone (ALZ) - (Related to terraform topic)
              • Azure Landing Zone - Microsoft Cloud Adoption Framework - (Related to azure topic)
              • The Beginner\u2019s Guide to the Ansible Inventory - (Related to ansible topic)
              • Terraform Provider for Azure IPAM - (Related to terraform topic)
              • AWS Well-Architected IaC Analyzer - (Related to aws-architecture topic)

              • Checkmarx/kics Find security vulnerabilities, compliance issues, and infrastructure misconfigurations early in the development cycle of your infrastructure-as-code with KICS by Checkmarx. KICS stands for Keeping Infrastructure as Code Secure, it is open source and is a must-have for any cloud native project.

              • gofireflyio/aiac \ud83c\udf1f Artificial Intelligence Infrastructure-as-Code Generator.
              • github.com/gofireflyio/aiac: AIaC Artificial Intelligence Infrastructure-as-Code Generator.
              "},{"location":"iac/#infrastructure-as-code-using-kubernetes","title":"Infrastructure as Code using Kubernetes","text":"
              • The Definitive Guide to Importing Your Cloud Resources into IaC \ud83c\udf1f - This guide provides a comprehensive approach to migrating existing cloud infrastructure, built manually via portals or CLI commands, into an Infrastructure as Code (IaC) format, specifically mentioning Terraform. It highlights the importance of IaC for auditability, security, access control, documentation, and disaster recovery, contrasting it with the limitations of \u2018clickOps\u2019.
              • How Kubernetes Operators Fit into Platform Building and When Traditional IaC Isn\u2019t Enough - (Related to kubernetes-operators-controllers topic)
              • The DevOps Bottleneck: Why IaC Orchestration is the Missing Piece \ud83c\udf1f - This article discusses how the increasing pace of feature development in DevOps often strains infrastructure teams, creating a bottleneck. It argues that Infrastructure as Code (IaC) orchestration is crucial for scaling DevOps practices effectively and preventing team burnout, moving beyond just automation to true orchestration.
              • Azure Cloud Adoption Framework: Platform Landing Zone Implementation Options - (Related to azure topic)

              • medium.com/nerd-for-tech: Kubernetes: Declaratively Deploying Infrastructure (IaC) \u201cDeclaring the Kubes\u201d

              "},{"location":"iac/#config-connector","title":"Config Connector","text":"
              • cloud.google.com/config-connector Config Connector is an open source Kubernetes addon that allows you to manage Google Cloud resources through Kubernetes.
              • medium.com/globant: Infrastructure as Code using Kubernetes
                • Config Connector (KCC) is a solution to maintain Cloud Resources as Infrastructure as Code. It is built as an Open Source initiative and runs on Kubernetes clusters. As such, it leverages YAML files to maintain and operate such resources.
                • Config Connector has two versions: an Add-On for Google Kubernetes Engine (GKE) clusters and a manual installation for other Kubernetes distributions.
              "},{"location":"iac/#videos","title":"Videos","text":"
              • youtube: Mitchell Hashimoto: The Inside Story of HashiCorp\u2019s IaC Journey | The IaC Podcast
              Click to expand!"},{"location":"iac/#tweets","title":"Tweets","text":"Click to expand!

              Jeez, people in my timeline arguing about the merits of CDK vs. Pulumi and I'm just waiting for you all to get on my level. pic.twitter.com/S3PU7FGuw2

              \u2014 Corey Quinn (@QuinnyPig) December 14, 2021

              Do you use the AWS, GCP, or Azure web consoles beyond getting started with a new cloud provider? If so, why not an automation tool such as Terraform or Cloud Formation? pic.twitter.com/5LIZSTcNpG

              \u2014 Kelsey Hightower (@kelseyhightower) January 19, 2022
              • IaC and OpenShift Virtualization handshake (using Terraform for VMs on OCP) \ud83c\udf1f - Explora la integraci\u00f3n de Infraestructura como C\u00f3digo (IaC) con Terraform para gestionar M\u00e1quinas Virtuales (VMs) en OpenShift Virtualization, demostrando un \u2018handshake\u2019 efectivo entre ambas tecnolog\u00edas.
              • Building a FinOps-Ready Azure Landing Zone: Infrastructure Foundations for Cost Optimization - (Related to finops topic)
              "},{"location":"ibm_cloud/","title":"IBM","text":"
              1. IBM Cloud
              2. IBM cloud Enterprise Sandbox
              3. IBM API Connect
              4. WebSphere Liberty with support of Java Microservices and Cloud Native Apps
                1. Open Liberty
              5. Red Hat OpenShift on IBM Z and LinuxONE
                1. IBM Storage for Red Hat OpenShift. IBM Spectrum Storage Suite
              6. IBM Cloud Paks and OpenShift
                1. CloudPaks For Applications (CP4A)
                2. IBM Cloud Pak for Multicloud Management (CP4MCM)
              7. Videos
              "},{"location":"ibm_cloud/#ibm-cloud","title":"IBM Cloud","text":"
              • IBM Cloud
              • Red Hat OpenShift on IBM Cloud
              • IBM Knowledge Center \ud83c\udf1f
              • IBM Leverages Containers to Advance DevOps on Mainframes
              • xataka.com: IBM se multiplica: la IBM de siempre mantiene el foco en la nube, pero crea una nueva empresa para los servicios de red gestionados \ud83c\udf1f
              • reuters.com: IBM to break up 109-year old company to focus on cloud growth \ud83c\udf1f
              "},{"location":"ibm_cloud/#ibm-cloud-enterprise-sandbox","title":"IBM cloud Enterprise Sandbox","text":""},{"location":"ibm_cloud/#ibm-api-connect","title":"IBM API Connect","text":"
              • IBM API Connect
              "},{"location":"ibm_cloud/#websphere-liberty-with-support-of-java-microservices-and-cloud-native-apps","title":"WebSphere Liberty with support of Java Microservices and Cloud Native Apps","text":"
              • WebSphere Liberty A fast, light, awesome runtime for your Java apps and microservices, free for developers, and built on Open Liberty.
              • Download WAS Liberty
              • About WebSphere Liberty WebSphere Liberty is a fast, dynamic, and easy-to-use Java application server, built on the open source Open Liberty project. Ideal for developers but also ready for production, on-premise or in the cloud Liberty is a combination of IBM technology and open source software, with fast startup times (<2 seconds), no server restarts to pick up changes, and a simple XML configuration. All in a package (with Java EE 8 Web Profile) that\u2019s 80 MB to download. You can be developing applications in no time.
              • DockerHub: websphere-liberty Official IBM WebSphere Application Server for Developers Liberty image.
              "},{"location":"ibm_cloud/#open-liberty","title":"Open Liberty","text":"
              • openliberty.io A lightweight open framework for building fast and efficient cloud-native Java microservices. Build cloud-native apps and microservices while running only what you need.
              • github.com/openliberty
              • developers.redhat.com: Support for GraphQL with Open Liberty 20.0.0.6
              "},{"location":"ibm_cloud/#red-hat-openshift-on-ibm-z-and-linuxone","title":"Red Hat OpenShift on IBM Z and LinuxONE","text":"
              • IBM and Red Hat bring OpenShift to IBM Z and LinuxONE
              • Red Hat OpenShift Installation Process Experiences on IBM Z/LinuxONE This article only covers the installation process, for day 2 operations, keep in mind that no storage was configured for workloads that requires persistent storage.
              • Installing OCP in a Mainframe z-series
              • OpenShift Container Platform 4.2. Installing on IBM Z (html)
              • OpenShift Container Platform 4.2. Installing on IBM Z (pdf)
              "},{"location":"ibm_cloud/#ibm-storage-for-red-hat-openshift-ibm-spectrum-storage-suite","title":"IBM Storage for Red Hat OpenShift. IBM Spectrum Storage Suite","text":"
              • IBM Spectrum IBM Spectrum Storage software for data-driven architecture. A complete storage software family with AI-infused capability that changes the economics of storage on-prem and in the hybrid multicloud.
              • redbooks.ibm.com: IBM Storage for Red Hat OpenShift. IBM block storage & IBM Spectrum Scale
              "},{"location":"ibm_cloud/#ibm-cloud-paks-and-openshift","title":"IBM Cloud Paks and OpenShift","text":"
              • IBM Vault 2.0 UI Enhancements and Reporting Improvements - This update to IBM Vault 2.0 focuses on improving the user interface for better feature discoverability and product usability. It also includes reporting enhancements to provide greater transparency and support for forecasting.

              • IBM Cloud Pak Playbook: cloudpak8s.io

              • What are IBM Cloud Paks? Beyond containers and Kubernetes, enterprises need to orchestrate their production topology, and to provide management, security and governance for their applications. They need to do this while improving efficiency and resiliency, reducing costs and maximizing ROI.
              • IBM Cloud\u00ae Paks are enterprise-ready, containerized software solutions that give clients an open, faster and more secure way to move core business applications to any cloud. Each IBM Cloud Pak\u00ae includes containerized IBM middleware and common software services for development and management, on top of a common integration layer \u2014 designed to reduce development time by up to 84 percent and operational expenses by up to 75 percent. IBM Cloud Paks run wherever Red Hat\u00ae OpenShift\u00ae runs and are optimized for productivity and performance on Red Hat OpenShift on IBM Cloud.
              "},{"location":"ibm_cloud/#cloudpaks-for-applications-cp4a","title":"CloudPaks For Applications (CP4A)","text":"
              • IBM Cloud Pak For Applications Overview The Cloud Pak for Applications provides product offerings to support modernizing existing applications and building new cloud native applications. The applications run within a Kubernetes cluster provided with the Red Hat OpenShift Container Platform. The focus provided here is on running application workloads as containers. The Cloud Pak for Applications is a bundle of multiple offerings. This diagram provides an overview of what offerings are included and what they would be used for:
              "},{"location":"ibm_cloud/#ibm-cloud-pak-for-multicloud-management-cp4mcm","title":"IBM Cloud Pak for Multicloud Management (CP4MCM)","text":"
              • Alternative to Red Hat Advanced Cluster Management for Kubernetes
              • IBM Cloud Pak for Multicloud Management Automated, end-to-end lifecycle management for applications and IT operations.
              • IBM Knowledge Center: IBM Cloud Pak for Multicloud Management The IBM Cloud Pak for Multicloud Management, running on Red Hat\u00ae OpenShift\u00ae, provides consistent visibility, governance, and automation from on premises to the edge.
              • medium.com/search?q=cp4mcm
              • medium: tagged/cp4mcm
                • medium: IBM Multicloud Manager Cluster Sizing
                • medium: Installing Monitoring Module on IBM Cloud Pak for MultiCloud Management
              • github.com/IBM/CP4MCM-SDK : Business Partner App Integration with IBM MCM Repo to hold and manage documentation and samples for the CloudPak for MCM components. Integrating business partner apps into IBM Cloud Pak for Multicloud Management (MCM) can be mutually beneficial to both parties. Depending on the business partner\u2019s app, there may be different scenarios and requirements for the integration. This repository provides documentations and samples for various scenarios to help business partners integrate their app into IBM MCM.
              "},{"location":"ibm_cloud/#videos","title":"Videos","text":"Click to expand!"},{"location":"interview-questions/","title":"Interview Questions","text":"
              1. Introduction
              2. Ansible Interview Questions
              3. Terraform Interview Questions
              4. AWS Interview Questions
              5. SQL Interview Questions
              6. API and API Testing Interview Questions
              7. DevOps Interview Questions
              8. Selenium Interview Questions
              9. MySQL Interview Questions
              10. Git Interview Questions
              11. Microservices Interview Questions
              12. Java and Java Collections Interview Questions
              13. Jenkins Interview Questions
              14. Kubernetes interview questions
              15. Apache Kafka Interview Questions
              16. Scrum Product Owner Interview Questions
              17. Rest Assured Interview Questions
              18. QA Interview Questions
              19. Python Interview Questions
              20. System Design Interview
              21. JSON Interview Questions
              22. Cypress Interview Questions
              "},{"location":"interview-questions/#introduction","title":"Introduction","text":"
              • grow.google: interview warmup A quick way to prepare for your next interview. Practice key questions, get insights about your answers, and get more comfortable interviewing.
              • github.com/moabukar/tech-vault A list of many interview questions & real-world challenges in Tech! (Site below is WIP)
              "},{"location":"interview-questions/#ansible-interview-questions","title":"Ansible Interview Questions","text":"
              • interviewbit.com: Ansible Interview Questions
              • guru99.com: Top 19 Ansible Interview Questions and Answers for 2022
              • devsecops.co.in: 100+ Ansible Interview Questions and Answers
              "},{"location":"interview-questions/#terraform-interview-questions","title":"Terraform Interview Questions","text":"
              • interviewbit.com: Terraform Interview Questions
              • simplilearn.com: Top 40 Terraform Interview Questions and Answers for 2022
              • k21academy.com: Top Terraform Interview Questions & Answers [ Revised \u2013 2022]
              • mrdevops.hashnode.dev: Top 40 Terraform Interview Questions and Answers for 2023
              • fosstechnix.com: Top 50 Terraform Cloud Interview Questions and Answers
              "},{"location":"interview-questions/#aws-interview-questions","title":"AWS Interview Questions","text":"
              • intellipaat.com: Top Amazon AWS Interview Questions \u2013 Most Asked
              • Frequently Asked AWS Interview Questions
              • TGB - AWS Interview Questions and Answers - Frequently asked
              "},{"location":"interview-questions/#sql-interview-questions","title":"SQL Interview Questions","text":"
              • gcreddy.com: SQL Interview Questions and Answers
              • artoftesting.com: Top 40 SQL Query Interview Questions and Answers for Practice
              "},{"location":"interview-questions/#api-and-api-testing-interview-questions","title":"API and API Testing Interview Questions","text":"
              • automationreinvented.blogspot.com: Top 30 API Testing Interview Questions & Answers for SDET/API Automation-Rest Assured? SET-03
              • automationqahub.com: Latest API Testing Interview Questions And Answers
              • grokkinginterview.com: 13 REST API interview questions you need to know
              "},{"location":"interview-questions/#devops-interview-questions","title":"DevOps Interview Questions","text":"
              • automationreinvented.blogspot.com: Top 11 kubernetes interview questions for SDET/DevOps SET-02? Kubernetes deployment commands
              • denic.hashnode.dev: Resources to crush the technical interview
              • learnsteps.com: DevOps Interview Questions: How will you scale your current CI-CD pipeline
              • intellipaat.com: Top DevOps Interview Questions \u2013 Most Asked
              • vitalflux.com: 15 Tricky DevOps Architect Interview Questions & Answers
              • devsecops.co.in: DevOps Interview Questions and Answers
              • learnsteps.com: DevOps Interview Questions: What do you know about proc filesystem in Linux.
              • learnsteps.com: DevOps Interview Questions: How will you design your cloud VPC and subnets?
              "},{"location":"interview-questions/#selenium-interview-questions","title":"Selenium Interview Questions","text":"
              • automationqahub.com: The Ultimate List of Selenium Interview Questions
              • automationreinvented.blogspot.com: Top 30 Interview Questions on Automation Testing - Selenium for SDET/Automation QA?
              "},{"location":"interview-questions/#mysql-interview-questions","title":"MySQL Interview Questions","text":"
              • intellipaat.com: Top Answers to MySQL Interview Questions
              "},{"location":"interview-questions/#git-interview-questions","title":"Git Interview Questions","text":"
              • intellipaat.com: Top Git Interview Questions And Answers \ud83c\udf1f
              • automationreinvented.blogspot.com: Top GIT Interview question Set-03 for SDET/Testers/Developers/DevOps?
              • automationreinvented.blogspot.com: Top 40 GIT Interview Questions and Answers for SDET - DevOps - Automation QA? Useful GIT commands to refer for daily DevOps Tasks?
              • automationqahub.com: The Ultimate Git Cheat Sheet \ud83c\udf1f
              "},{"location":"interview-questions/#microservices-interview-questions","title":"Microservices Interview Questions","text":"
              • java67.com: Top 15 Microservices Interview Questions with Answers for 3 to 5 Years Experienced
              • towardsdev.com: Microservice Interview questions for Backend Developers series-1
              "},{"location":"interview-questions/#java-and-java-collections-interview-questions","title":"Java and Java Collections Interview Questions","text":"
              • java-success.com: 01: 9 Java low latency interview questions & answers
              • java-success.com: 9 Java Garbage Collection interview questions & answers
              • 50+ Java Collections Interview Questions for Beginners and Experienced Programmers
              • javaguides.net: Java main() Method Interview Questions with Answers
              "},{"location":"interview-questions/#jenkins-interview-questions","title":"Jenkins Interview Questions","text":"
              • intellipaat.com: Top Jenkins Interview Questions and Answers
              • automationreinvented.blogspot.com: Top 10 Jenkins Interview Question for SDET - DevOps - Automation QA?
              • automationreinvented.blogspot.com: Top 20 Jenkins Interview Questions and Answers 2022 for SDET - DevOps - Automation QA? Refer for Getting pro in Jenkins
              "},{"location":"interview-questions/#kubernetes-interview-questions","title":"Kubernetes interview questions","text":"
              • Kubernetes Interview Questions and Answers 2019 2020
              • intellipaat.com: Top Kubernetes Interview Questions and Answers
              • automationreinvented.blogspot.com: Top 11 Kubernetes interview question and answers for SDET Devops QA SET-01?
              • devsecops.co.in: Kubernetes Interview Questions and Answers
              • ymmt2005.hatenablog.com: 47 things that you should know to be a Kubernetes experts (questions + answers)
              • automationreinvented.blogspot.com: kubernetes posts
              • jakubstransky.com: 4 devs by devs: Kubernetes interview question made easy Distilled introduction for developers. Things I believe that every developer should be aware of.
              • automationreinvented.blogspot.com: Top Interview Question on Kubernetes for SDET/Devops Set-03? ReplicaSet in K8S
              "},{"location":"interview-questions/#apache-kafka-interview-questions","title":"Apache Kafka Interview Questions","text":"
              • javarevisited.blogspot.com: Top 20 Apache Kafka Interview Questions with Answers
              "},{"location":"interview-questions/#scrum-product-owner-interview-questions","title":"Scrum Product Owner Interview Questions","text":"
              • age-of-product.com: Hiring: 71 Scrum Product Owner Interview Questions to Avoid Agile Imposters
              "},{"location":"interview-questions/#rest-assured-interview-questions","title":"Rest Assured Interview Questions","text":"
              • automationqahub.com: Latest Rest Assured Interview Questions
              "},{"location":"interview-questions/#qa-interview-questions","title":"QA Interview Questions","text":"
              • automationqahub.com: Top Software Testing Interview Questions
              • automationreinvented.blogspot.com: Top 40 API Automation testing interview question for SDET and Automation QA ?
              • automationreinvented.blogspot.com: Top 70 interview questions on Automation Testing-Selenium-TestNG Set-06? TestNG Tricky Interview questions 2021 for SDET-QAE?
              • automationreinvented.blogspot.com: Top 80 API Testing Interview Questions for QA and SDET ? API Interview Questions 2022
              "},{"location":"interview-questions/#python-interview-questions","title":"Python Interview Questions","text":"
              • 15 Essential Python Interview Questions
              • Python mini-quiz
              • learnsteps.com: DevOps Interview Questions: Important Python questions
              "},{"location":"interview-questions/#system-design-interview","title":"System Design Interview","text":"
              • vahid.blog: System Design Interview Cheat Sheet Helpful overview to nail the system design interview
              "},{"location":"interview-questions/#json-interview-questions","title":"JSON Interview Questions","text":"
              • javarevisited.blogspot.com: Top 20 JSON Interview Questions with Answers for Beginners and Experienced Developers
              "},{"location":"interview-questions/#cypress-interview-questions","title":"Cypress Interview Questions","text":"
              • automationqahub.com: The Ultimate List of Cypress Interview Questions
              "},{"location":"introduction/","title":"Introduction. Microservice Architecture. From Java EE To Cloud Native. Openshift VS Kubernetes","text":"
              1. Introduction
              2. Platform Reference Architecture
              3. Solution Architect. IT Architecture Frameworks
              4. Pets vs Cattle Analogy
              5. Service-Oriented Arhitecture vs Event-Driven Architecture
              6. Cloud Native
              7. Technical Debt
              8. Twelve-Factor Apps in Kubernetes
              9. Event Driven Architecture EDA
              10. Understanding the Differences Between Event-Driven, Message-Driven, and Microservices Architectures
              11. Multi-Tenancy Architecture
              12. Architecture Decision Records
              13. Self service developer platform
              14. Shift-Left
              15. Disaster Recovery
              16. SaaS
              17. Multi Cloud
              18. Cloud Automation
                1. Automation Glossary
              19. Microservices Best Practices and Design Patterns
              20. Microservice Patterns
                1. CQRS Pattern
              21. Microservices Anti Patterns
              22. Micro Frontend Architecture. Microservices for the Frontend
              23. Backends for Frontends
              24. Data Engineering
              25. Cloud Migration Checklist
              26. Microservices Failures
              27. Top Microservices Frameworks
              28. Transform Legacy Java Apps to Microservices with automation tools
              29. Namespaces for Data Structuring
              30. From SysAdmin to Architect
              31. Raft Consensus Algorithm
              32. PaaS
              33. Modular Monolith
              34. From Java EE To Cloud Native
              35. Monolith to Microservices Using the Strangler Pattern
              36. Microservices to Monolith
              37. Openshift VS Kubernetes
              38. Career Path
              39. Full Stack Developer\u2019s Roadmap
              40. Software Development Models
              41. Domain Driven Design DDD
              42. Software Development Tools
              43. vFunction. A system to transform monolithic Java applications into microservices
              44. Software in Automotive Industry
              45. Data Centers in Spain
              46. Bunch of Images
              47. Videos
              48. Devel Videos
              49. Tweets
              "},{"location":"introduction/#introduction","title":"Introduction","text":"
              • developers.redhat.com: Why Kubernetes is The New Application Server
              • redhat.com: Why choose Red Hat for microservices?
              • Monoliths are the future | Kelsey Hightower
              • allthingsdistributed.com: Monoliths are not dinosaurs
              • weave.works: Going Cloud Native: 6 essential things you need to know
              • Operators and Sidecars Are the New Model for Software Delivery
              • jaxenter.com: Practical Implications for Adopting a Multi-Cluster, Multi-Cloud Kubernetes Strategy
              • jaxenter.com: Six Essential Kubernetes Extensions to Add to Your Toolkit \ud83c\udf1f
              • thoughtworks.com: Kubernetes
              • addwebsolution.com: How Kubernetes helps businesses manage their IT infrastructure?
              • loves.cloud: Kubernetes: An Introduction
              • thenewstack.io: Microservices vs. Monoliths: An Operational Comparison
              • weave.works: 6 Business Benefits of Kubernetes
              • ituser.es: Las principales habilidades que un arquitecto cloud necesita para triunfar
              • Introducing Domain-Oriented Microservice Architecture \ud83c\udf1f [ARCHIVED]
              • Monolithic versus Microservice architecture
              • Modernize legacy applications with containers, microservices To break down monolithic apps and modernize them for cloud deployment, enterprise development teams continue to turn to containers and microservices.
              • blog.heroku.com: Deconstructing Monolithic Applications into Services
              • vmware.com: How to Deconstruct a Monolith using Microservices \u2013 Getting Ready for Cloud-Native
              • thenewstack.io: 7 Best Practices to Build and Maintain Resilient Applications and Infrastructure
              • viewnext.com: Front End vs Back End (spanish)
              • thenewstack.io: What is the modern cloud native stack? \ud83c\udf1f\ud83c\udf1f
              • thenewstack.io: Do I Really Need Kubernetes? \ud83c\udf1f
              • cncf.io: Top 7 challenges to becoming cloud native
              • lavanguardia.com: Por qu\u00e9 la transformaci\u00f3n digital es mentira \ud83c\udf1f
              • devops.com: 6 Advantages of Microservices
              • cloudpundit.com: Don\u2019t boil the ocean to create your cloud \ud83c\udf1f
              • hcltech.com: DevOps Tools and Technologies to Manage Microservices \ud83c\udf1f
              • redhat.com: A sysadmin\u2019s guide to containerizing applications Curious how to containerize your Linux applications? Learn by example, and understand the challenges of various application types and how to overcome them.
              • opensource.com: 6 container concepts you need to understand Containers are everywhere, and they\u2019ve radically changed the IT landscape. What do you need to know about them?
              • devops.com: Why Boring Tech is Best to Avoid a Microservices Mess
              • softwareengineeringdaily.com: Kubernetes vs. Serverless with Matt Ward (podcast) \ud83c\udf1f
              • softwareengineeringdaily.com: The Rise of Platform Engineering \ud83c\udf1f
              • thenewstack.io: 3 Reasons Why You Can\u2019t Afford to Ignore Cloud Native Computing \ud83c\udf1f
              • thenewstack.io: Defining a Different Kubernetes User Interface for the Next Decade
              • thenewstack.io: React in Real-Time with Event-Driven APIs
              • codeopinion.com: Splitting up a Monolith into Microservices \ud83c\udf1f
              • javarevisited.blogspot.com: Why Every Programmer, DevOps Engineer Should learn Docker and Kubernetes in 2020
              • techrepublic.com: Kubernetes will deliver the app store experience for enterprise software, says Weaveworks CEO
              • shahirdaya.medium.com: What does it mean to be Cloud Native? \ud83c\udf1f
              • enterprisersproject.com: 5 hybrid cloud trends to watch in 2021 As hybrid cloud becomes the go-to model for enterprise IT, watch for these trends. Experts discuss cloud platform changes, workload fit, security, and related issues
              • cloudify.co: Your Guide to Infrastructure Automation & Hybrid Cloud Orchestration \ud83c\udf1f
              • jaxenter.com: Kubernetes Is Much Bigger Than Containers: Here\u2019s Where It Will Go Next
              • skamille.medium.com: Make Boring Plans
              • cloud-melon.com: Under the hood of Kubernetes and microservices
              • thenewstack.io: Study: Silos Are the Chief Impediment to IT and Business Value
              • thenewstack.io: Prepare to Adopt the Cloud: A 10-Step Cloud Migration Checklist \ud83c\udf1f
              • devprojournal.com: Containers, Kubernetes and Software Development in 2021 Advice, expertise, and tools are available to help you get started developing with containers.
              • infoq.com: Migrating Monoliths to Microservices with Decomposition and Incremental Changes
              • getcortexapp.com: Why You Need a Microservices Catalog Tool
              • ringcentral.co.uk: Software as a Service (SaaS)
              • shopify.engineering: Keeping Developers Happy with a Fast CI
              • infoq.com: Saga Orchestration for Microservices Using the Outbox Pattern
              • medium: A Design Analysis of Cloud-based Microservices Architecture at Netflix A comprehensive system design analysis of microservices architecture at Netflix to power its global video streaming services
              • blog.container-solutions.com: How Mature Is Your Microservices Architecture? \ud83c\udf1f
              • techerati.com: Microservices in the Cloud-Native Era
              • thenewstack.io: The Cloud Native Landscape: Platforms Explained
              • thenewstack.io: Are Private Clouds Proliferating?
              • thenewstack.io: Multicloud Challenges and Solutions
              • makeuseof.com: hich Container System Should You Use: Kubernetes or Docker? Choosing a container system for is a straightforward choice between two systems. Should you choose Kubernetes or Docker?
              • infoworld.com: The decline of Heroku PaaS
              • infoq.com: Principles for Microservice Design: Think IDEALS, Rather than SOLID
              • thenewstack.io: The Scalability Myth
              • thenewstack.io: The 4 Definitions of Multicloud: Part 1 \u2014 Data Portability
              • thenewstack.io: Multicloud Paves the Way for Cloud Native Resiliency Models
              • techerati.com: Microservices in the Cloud-Native Era
              • infoworld.com: 3 cloud architecture mistakes we all make, but shouldn\u2019t
              • ringcentral.co.uk: Cloud Management \ud83c\udf1f
              • hashicorp.com: Why Microservices? \ud83c\udf1f
              • thenewstack.io: Private vs. Public Cloud: How Kubernetes Shifts the Balance
              • medium: Microservices Architecture From A to Z \ud83c\udf1f
              • skycrafters.io: Do Containers Really Contain? Virtual Machines vs. Containers \ud83c\udf1f
              • itprotoday.com: Who\u2019s Winning in the Container Software Market \ud83c\udf1f Thanks to its container customer training, the $1 billion container software market is Red Hat\u2019s to lose. Where do the other players stand?
              • cloud.google.com: What is Kubernetes? \ud83c\udf1f
              • simform.com: What is Multi Cloud? Why you Need a Multi Cloud Strategy?
              • blog.min.io: Mono Clouds vs Multi-Clouds & Hybrid Clouds
              • xataka.com: La deuda t\u00e9cnica, un lastre para las tecnol\u00f3gicas: un estudio se\u00f1ala que los inform\u00e1ticos pierden casi un d\u00eda de trabajo a la semana para solventarlas
              • dev.to: When it Pays to Choose Microservices \ud83c\udf1f
              • acloudguru.com: Public cloud vs private cloud: What\u2019s the difference? \ud83c\udf1f
              • medium: Container Fundamentals \u2014 Part 1
              • thenewstack.io: The Future of Microservices? More Abstractions
              • thenewstack.io: Transform and Future-Proof Your Architecture with MACH Why Do So Many Companies Remain in These \u2018Bad Marriages\u2019 with Monolithic Vendors? Enter MACH (Microservices, API-first, Cloud native, Headless)
              • yellow.systems: How to Make a Scalable Web Application: Architecture, Technologies, Cost \ud83c\udf1f
              • opensource.com: What do we call post-modern system administrators? Our community discusses the responsibilities, possible titles, and potential skills of today\u2019s sysadmins.
              • thenewstack.io: Cloud Engineers Try Policy-as-Code to Cure Misconfiguration Woes
              • medium: What is microservices and why is it different? \ud83c\udf1f
              • dzone: How Your Application Architecture Has Evolved \ud83c\udf1f\ud83c\udf1f In this post, I will discuss how application architecture, in my opinion, has evolved in the last few years and what has been the driving factor for each evolution.
              • simform.com: 6 Multi-Cloud Architecture Designs for an Effective Cloud Strategy \ud83c\udf1f
              • simform.com: Cloud Migration ebook
              • fylamynt.com: Mastering Cloud Automation in the Cloud-Native Era \ud83c\udf1f As cloud computing is increasingly getting adopted all over, automation is taking a prime stage these days in the cloud-native space to streamline and manage various IT-related tasks. In this article, we will discuss cloud automation and various aspects related in brief.
              • dynatrace.com: What are microservices? All you need to know
              • medium: Monoliths vs Microservices
              • dzone: Top 6 Time Wastes as a Software Engineer Increase your productivity and advance in your career by avoiding these 6 time wastes.
              • thenewstack.io: Reasons to Opt for a Multicloud Strategy
              • community.hpe.com: Containers vs. VMs: What\u2019s the difference?
              • hiralee.medium.com: Software Architecture vs Design
              • blog.deref.io: Containers Don\u2019t Solve Everything \ud83c\udf1f Our industry has made incredible strides in the past decade, thanks in part to technologies like Docker, Docker Compose, and Kubernetes. However, we are still figuring out how to do development in the heterogeneous environments in which we live.
              • geeksforgeeks.org: Microservice Architecture \u2013 Introduction, Challeneges & Best Practices
              • redhat.com: Use automation to combat your increased workloadTired of mundane, tedious, boring tasks? Automation improves your efficiency and frees your time to focus on new and innovative opportunities.
              • thenewstack.io: Intention-as Code: Making Self-Healing Infrastructure Work Reliability is Non-Negotiable
              • hackernoon.com: 9 Basic (and Crucial) Tips for Microservices Developers \ud83c\udf1f
              • engineering.monday.com: monday.com\u2019s Multi-Regional Architecture: A Deep Dive Building a global SaaS platform requires lots of preparation, deep evaluation of your request routes and a truckload of R&D cooperation. Here\u2019s how we did it
              • cloud.redhat.com: How to Modernize Virtualized Workloads \ud83c\udf1f how to #Modernize workloads using OpenShift. The example is with DotNet and MSSQL server.
              • itnext.io: Platform-as-Code: how it relates to Infrastructure-as-Code and what it enables
              • dzone: Transitioning from Monolith to Microservices (with python django example)
              • cncf.io: How to justify infrastructure replacement to your manager
              • infoworld.com: Complexity is killing software developers The growing complexity of modern software systems is slowly killing software developers. How can you regain control, without losing out on the best these technologies have to offer?
              • enter.co: Estos son los 10 lenguajes de programaci\u00f3n m\u00e1s populares en 2021
              • zesty.co: 10 Cloud Deficiencies You Should Know
              • weave.works: What is a Kubernetes Cluster? \ud83c\udf1f
              • techrepublic.com: Enterprises get closer to the app store experience with Kubernetes and GitOps
              • theregister.com: How Kubernetes lowers costs and automates IT department work 75% of global companies will have started using container applications in their production environments by 2022.
              • redhat.com: Top 8 resources for microservices architecture of 2021 Reining in complexity, doing things consistently, leveraging standards, and modernizing systems are timeless themes in microservices architecture.
              • infoworld.com: Kubernetes adoption up, serverless down, developer survey says \u2018State of Cloud Native Development\u2019 report finds the number of developers using Kubernetes increased 67% in 12 months.
              • venturebeat.com: 5 ways the world of IT operations will shift in 2022 (and beyond)
              • thenewstack.io: 5 Cloud Native Trends to Watch out for in 2022
              • blog.devgenius.io: Distributed Monolith
              • infoq.com: 9 Ways to Fail at Cloud Native
              • levelup.gitconnected.com: How to design a system to scale to your first 100 million users
              • thenewstack.io: App Modernization: 5 Tips When Migrating to Kubernetes
              • thenewstack.io: Kubernetes and the Next Generation of PaaS
              • medium.com/geekculture: A Beginners Guide to Understanding Microservices A high-level overview of the microservices architecture and what it means in plain language understandable by beginners.
              • nathanpeck.com: Why should I use an orchestrator like Kubernetes, Amazon ECS, or Hashicorp Nomad?
              • christophermeiklejohn.com: Understanding why Resilience Faults in Microservice Applications Occur
              • websiteplanet.com: What\u2019s Open Source Software + How It Makes Money 2022
              • eficode.com: The future of Kubernetes \u2013 and why developers should look beyond Kubernetes in 2022
              • medium.com/interviewnoodle: Shift from Monolith to CQRS \ud83c\udf1f
                • Software design is an evolving process. Every large system starts from a tiny system. When a problem is encountered in the existing architecture but cannot be solved, the system will begin to evolve. Every evolution is accompanied by some technical selections. What problems should be solved? What price will it pay? As an architect or a senior engineer, there must find a reasonable way to evolve, regardless of the development schedule, technical stack, and team level, it is necessary to be able to meet these criteria before a feasible solution can be made.
                • This article will introduce the spirit of CQRS (Command Query Responsibility Segmentation) and the problems to be solved. We will start from a small monolith and evolve it like the evolution of every software system, and this article will introduce the reasons and approaches behind each evolution.
              • bytebytego.com: System Design - Scale From Zero To Millions Of Users \ud83c\udf1f
              • medium.com/@ajin.sunny: System Design Architecture: Stateful vs. Stateless \ud83c\udf1f
              • medium.com/@ajin.sunny: System Design Concept: Rate limiting \ud83c\udf1f
              • medium.com/@ajin.sunny: Rate limiting in Distributed Systems \ud83c\udf1f
              • semaphoreci.com: 5 Options for Deploying Microservices \ud83c\udf1f
                • Option 1: Single machine, multiple processes
                • Option 2: Multiple machines and processes
                • Option 3: Deploy microservices with containers
                • Option 4: Orchestrators
                • Option 5: Deploy microservices as serverless functions
              • blog.devgenius.io: Top 10 Architecture Characteristics / Non-Functional Requirements with Cheatsheet \ud83c\udf1f
              • medium.com/dotnet-hub: Software Architecture \u2014 Introduction to Cloud Native Application Architecture \ud83c\udf1f What is Cloud Native Architecture and Application Development? \u2014 Overview of Cloud Native Architectures and Technologies.
              • bootcamp.uxdesign.cc: Popular Tech Stack for Startups in 2022
              • howtogeek.com: When Not to Use Docker: Cases Where Containers Don\u2019t Help \ud83c\udf1f
              • itnext.io: You Don\u2019t Need Microservices \ud83c\udf1f
              • medium.com/@interviewready: Data Replication in Distributed System
              • semaphoreci.medium.com: 12 Ways to Improve Your Monolith Before Transitioning to Microservices \ud83c\udf1f
              • hardiks.medium.com: Top 6 Best practices for Container Orchestration \ud83c\udf1f
              • medium.com/@nadinCodeHat: HTTP based Microservices is a bad idea \ud83c\udf1f
              • medium.com/qe-unit: Microservices \u2014 Do You Need Them? Are You Ready? \ud83c\udf1f
              • alibabacloud.com: Getting Started with Kubernetes | Deep Dive into Kubernetes Core Concepts
              • micahlerner.com: Automatic Reliability Testing For Cluster Management Controllers
              • cloudnativeislamabad.hashnode.dev: Virtualization vs Containerization Virtual Machines vs Docker
              • medium.com/javarevisited: Distributed Transaction Management in Microservices \u2014 Part 1 \ud83c\udf1f
              • betterprogramming.pub: How to Transform a Monolith Application Into a Microservices Architecture A step-by-step guide to migrating your monolith application to a microservices architecture
              • medium.com/javarevisited: Microservices communication using gRPC Protocol
              • medium.com/codex: MicroServices Architecture to Solve Distributed Transaction Management Problem
              • betterprogramming.pub: How I Split a Monolith Into Microservices Without Refactoring \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f My journey to becoming more agile with a just-in-time architectural style
              • towardsdatascience.com: 3 High Availability Cloud Concepts You Should Know From scaling to VM placement strategies
              • ust.com: Do we really need Kubernetes and containers?
              • optisolbusiness.com: 8 Core Components are Microservices Architecture
                • Service Discovery
                • Load Balancer
                • API Gateway
                • Service Registry
                • Circuit Breaker
                • Service Monitoring
                • Service Orchestration
                • Configuration Server
              • thenewstack.io: What Is Microservices Architecture? Microservices architecture is game changing, allowing development teams to work independently and at cloud native scale.
              • levelup.gitconnected.com: Do you know Distributed Job Scheduling in Microservices Architecture? \ud83c\udf1f
              • nginx.com: Best Practices for Configuring Microservices Apps \ud83c\udf1f The guidelines known as the 12\u2011factor app were first published more than 10 years ago. Since then become the de facto standard way to write and deploy web apps.
              • medium.com/javarevisited: Microservices Communication part 1-every programmer must know \ud83c\udf1f Microservices communication is the heartbeat of any Microservice Architecture and designing them could make or break the system.
                • medium.com/javarevisited: Microservices Communication \u2014 part 2\u2014 Sync vs Async vs Hybrid?
              • deloitte.com/de: EMEA Center of Excellence for Application Modernization and Migration Accelerate the transformation of your legacy systems
              • redis.com: Microservice Architecture Key Concepts What role do microservices play in creating applications? We offer a foundational understanding of what microservices are, how they differ from monolithic structures, and what to consider when you evaluate microservices for your own adoption.
              • freecodecamp.org: A Beginner-Friendly Introduction to Containers, VMs and Docker
              • designgurus.io: Monolithic vs. Service-Oriented vs. Microservice Architecture: Top Architectural Design Patterns System Design Interview Preparation: Mastering the Art of System Design.
              • thenewstack.io: Kubernetes Evolution: From Microservices to Batch Processing Powerhouse \ud83c\udf1f\ud83c\udf1f In its early days, Kubernetes was primarily focused on building features for microservice-based workloads. In recent years, the Kubernetes community has stretched out into batch processing support for High Performance Computing Workloads.
              • elespanol.com: Mainframe: repaso de pasado y futuro a una tecnolog\u00eda de 1944 que se resiste a morir
              • medium.com/javarevisited: Why Microservices are not silver bullet? 10 Reasons for NOT using Microservices Don\u2019t blindly use Microservices for every single application you build
              • devops.com: 8 Hot Takes: Will We See a Monolithic Renaissance?
              • rahulh123.medium.com: Choosing the Right Architecture: Monolithic vs. Microservices \u2014 Analyzing Requirements for Success
              • waswani.medium.com: Microservices Communication: Data Sharing using Database, an AntiPattern !!!
              • infoworld.com: Why we need both cloud architects and cloud engineers AI-based design and development is exciting but it doesn\u2019t replace sound, solid architecture and engineering in building and deploying cloud-based solutions.
              • enriquedans.com: El desastre del software y la automoci\u00f3n
              • freecodecamp.org: How to Write Clean Code \u2013 Tips and Best Practices (Full Handbook)
              • theregister.com: Basecamp details \u2018obscene\u2019 $3.2 million bill that caused it to quit the cloud
              • medium.com/@bill.salvaggio: The AWS Cloud Resume Challenge Project - The AWS Cloud Resume Challenge Project, Part II CI/CD Automation \u2014 GitHub Actions and a Test environment
              • thestack.technology: VMware is killing off 56 products amid \u201ctectonic\u201d infrastructure shift Goodbye vSphere Hypervisor. Goodbye Aria Operations. Goodbye NCX. Goodbye HCX. Goodbye more acronyms than we know what to do with; though Broadcom does.
              • blog.lealdasilva.com: Why You Should Switch from VMware to Proxmox in 2024
              • welivesecurity.com: La ofuscaci\u00f3n de c\u00f3digo: un arte que reina en la ciberseguridad Conoce esta t\u00e1ctica que dificulta la comprensi\u00f3n de c\u00f3digo fuente a personas no autorizadas, o malintencionadas, y fortalece la protecci\u00f3n de sistemas sensibles.
              • virtualizationhowto.com: VMware by Broadcom Lesson: Don\u2019t base your career on a product Gain insight into the challenges faced by VMware admins. Understand the implications of the acquisition and VMware by Broadcom lesson.
              • cope.es: El ejemplo de \u2018la moneda\u2019 con el que entender c\u00f3mo funciona un ordenador cu\u00e1ntico: \u201cSer\u00e1 una revoluci\u00f3n\u201d El divulgador tecnol\u00f3gico Mario Y\u00e1\u00f1ez aclara en La Linterna c\u00f3mo funcionar\u00eda el nuevo modelo de ordenadores que cambiar\u00e1n tanto el clima como el c\u00e1ncer
              • paulbutler.org: The hater\u2019s guide to Kubernetes
                • This article provides a practical guide to using Kubernetes effectively, particularly for startups
                • It addresses common criticisms of Kubernetes, such as its overly complicated nature, and provides advice on using it in a way suitable for small teams
              • genbeta.com/a-fondo: Cinco repositorios de GitHub tan buenos que son imprescindibles si est\u00e1s aprendiendo o te dedicas a programar \u00bfQuieres subir de nivel como dev? Esta es la cuidada lista de Brais Moure para mejorar tus habilidades
              "},{"location":"introduction/#platform-reference-architecture","title":"Platform Reference Architecture","text":"
              • humanitec.com: Platform reference architecture on Azure We looked at the Internal Developer Platforms built and run by some of the world\u2019s best platform engineering teams. We condensed our key learnings for Azure setups into this reference architecture whitepaper.
              • humanitec.com: Platform reference architecture on GCP We looked at the Internal Developer Platforms built and run by some of the world\u2019s best platform engineering teams. We condensed our key learnings for GCP setups into this reference architecture whitepaper.
              • humanitec.com: Platform reference architecture on AWS We looked at the Internal Developer Platforms built and run by some of the world\u2019s best platform engineering teams. We condensed our key learnings for AWS setups into this reference architecture whitepaper.
              "},{"location":"introduction/#solution-architect-it-architecture-frameworks","title":"Solution Architect. IT Architecture Frameworks","text":"
              • towardsdev.com: Solution architecture 101 \u2014 Are you ready for the Solution Architect Path \ud83c\udf1f World-known IT architecture frameworks:
                • TOGAF
                • The Zachman Framework
                • Federal Enterprise Framework (FCA)
                • Gartner
              "},{"location":"introduction/#pets-vs-cattle-analogy","title":"Pets vs Cattle Analogy","text":"
              • cloudscaling.com: The History of Pets vs Cattle and How to Use the Analogy Properly
                • In the old way of doing things, we treat our servers like pets, for example Bob the mail server. If Bob goes down, it\u2019s all hands on deck. The CEO can\u2019t get his email and it\u2019s the end of the world. In the new way, servers are numbered, like cattle in a herd. For example, www001 to www100. When one server goes down, it\u2019s taken out back, shot, and replaced on the line.
                • Pets: Servers or server pairs that are treated as indispensable or unique systems that can never be down. Typically they are manually built, managed, and \u201chand fed\u201d. Examples include mainframes, solitary servers, HA loadbalancers/firewalls (active/active or active/passive), database systems designed as master/slave (active/passive), and so on.
                • Cattle: Arrays of more than two servers, that are built using automated tools, and are designed for failure, where no one, two, or even three servers are irreplaceable. Typically, during failure events no human intervention is required as the array exhibits attributes of \u201crouting around failures\u201d by restarting failed servers or replicating data through strategies like triple replication or erasure coding. Examples include web server arrays, multi-master datastores such as Cassandra clusters, multiple racks of gear put together in clusters, and just about anything that is load-balanced and multi-master.
              • traefik.io: Pets vs. Cattle: The Future of Kubernetes in 2022
              "},{"location":"introduction/#service-oriented-arhitecture-vs-event-driven-architecture","title":"Service-Oriented Arhitecture vs Event-Driven Architecture","text":"
              • eventstore.com: Service-Oriented Architecture vs Event-Driven Architecture \ud83c\udf1f SOA vs EDA: which should you use? Best article about EventSourcing CQRS related patterns and usages. A close-to-a-must-read for those who wants to clarify and understand better.
              "},{"location":"introduction/#cloud-native","title":"Cloud Native","text":"
              • Machine Learning Crash Course - (Related to ai topic)

              • mkaschke.medium.com: ud Native Part 1: What Is Cloud Native? \ud83c\udf1f

              "},{"location":"introduction/#technical-debt","title":"Technical Debt","text":"
              • stackoverflow.blog: Using Kubernetes to rethink your system architecture and ease technical debt \ud83c\udf1f
              • infoq.com: Managing Technical Debt in a Microservice Architecture
              • leaddev.com: How to break the cycle of tech debt Legacy, technical debt & migrations
              • devops.com: Measuring Technical Debt
              • thenewstack.io: Stop Technical Debt Before It Damages Your Company
              • n-ix.com: How to reduce your technical debt: An ultimate guide
              • medium.com/promyze: Avoid accidental complexity and technical debt
              • infoworld.com: You can\u2019t run away from technical debt Like student loans and credit card balances, technical debt is holding you back or even killing your business. Unfortunately, the cloud can\u2019t always save you.
              "},{"location":"introduction/#twelve-factor-apps-in-kubernetes","title":"Twelve-Factor Apps in Kubernetes","text":"
              • The 12-Factor App: An Updated Guide \ud83c\udf1f - An updated guide to the 12-Factor App methodology, originally introduced by Adam Wiggins of Heroku. This article reviews the methodology, its original formulation, and its evolution in modern software development, touching on aspects like codebase management and dependency handling.

              • acloudguru.com: Twelve-Factor Apps in Kubernetes

              • opensource.com: An open source developer\u2019s guide to 12-Factor App methodology How 12 basic principles can help teams build highly scalable apps quickly and efficiently.
              • thenewstack.io: Learn 12 Factor Apps Before Kubernetes These best practices provide a framework for building scalable, portable, maintainable and resilient containerized applications.
              • itnext.io: 12 factor Microservice applications \u2014 on Kubernetes
              • itnext.io: Isolating and Managing Dependencies in 12-factor Microservice Applications \u2014 with Kubernetes
              • itnext.io: Processes \u2014 for 12-factor Microservice Applications
              • architecturenotes.co: 12 Factor App Revisited The Twelve-Factor App methodology is a methodology for building software-as-a-service applications by Adam Wiggins. We cover how they have since evolved, and what we can learn from them today and how they changed the status quo of yesteryear.
              "},{"location":"introduction/#event-driven-architecture-eda","title":"Event Driven Architecture EDA","text":"
              • martinfowler.com: What do you mean by \u201cEvent-Driven\u201d? \ud83c\udf1f
              • equalexperts.com: Event driven architecture: the good, the bad, and the ugly \ud83c\udf1f
              • maheshwari-bittu.medium.com: Why Event-Driven Architecture (EDA) is needed? \ud83c\udf1f
              • medium.com/rocco-scaramuzzi-tech: Event-Driven Microservice Architecture, don\u2019t use only events but use commands too!
              • deeptimittalblogger.medium.com: Event driven architecture
              • medium.com/mcdonalds-technical-blog: Behind the scenes: McDonald\u2019s event-driven architecture We explore our journey of developing a unified platform enabling real-time, event-driven architectures.
                • medium.com/mcdonalds-technical-blog: McDonald\u2019s event-driven architecture: The data journey and how it works
              • nordicapis.com: 5 Protocols For Event-Driven API Architectures \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
                • What is an Event-Driven Architecture? Event-driven architectures establish an event that can be consumed and reacted to. But what is an event? An event is essentially any significant change from one state to another, such as the change from having no messages in your inbox to have a new message in your inbox. This state can be reacted to internally (such as when the email program in question realizes a new message has been received), externally (when a user sees a notification for a new message), or used to generate another event (for instance, the message tally increases by one). Event-driven architectures are appealing to API developers because they function very well in asynchronous environments. By crafting APIs that trigger certain functions on new event delivery, API systems don\u2019t have to inherently wait for synchronous delivery or real time communication. This is hugely beneficial, as eliminating the need to constantly poll endpoints frees resources from otherwise wasteful purposes, reducing both general hardware requirements and call-specific overhead. For this reason, event-driven architectures are very, very popular, and lead to improved power, bandwidth, and co-processing than other solutions and architectures such as polling and other poll-centric derivatives.
                • 5 Types of Event-Driven Protocols for APIs:
                  • WebSockets
                  • WebHooks
                  • REST Hooks
                  • Pub-Sub
                  • Server Sent Events
              • dev.to/aws-builders: Un Modelo de EDA: Event Driven Architectures
              • levelup.gitconnected.com: Error Handling in Event-Driven Systems
              • aws.amazon.com: Best practices for implementing event-driven architectures in your organization
              "},{"location":"introduction/#understanding-the-differences-between-event-driven-message-driven-and-microservices-architectures","title":"Understanding the Differences Between Event-Driven, Message-Driven, and Microservices Architectures","text":"
              • faun.pub: Understanding the Differences Between Event-Driven, Message-Driven, and Microservices Architectures with AWS Services
              "},{"location":"introduction/#multi-tenancy-architecture","title":"Multi-Tenancy Architecture","text":"
              • levelup.gitconnected.com: 5 Tips To Design For Multi-Tenancy Architecture
              • levelup.gitconnected.com: Multi-Tenant Application
              "},{"location":"introduction/#architecture-decision-records","title":"Architecture Decision Records","text":"
              • redhat.com: Why you should be using architecture decision records to document your project Documenting architectural decisions helps a project succeed by helping current and future contributors understand the reasons for doing things a certain way.
              "},{"location":"introduction/#self-service-developer-platform","title":"Self service developer platform","text":"
              • weave.works: What is a self-service developer platform and why does it matter?
              • thenewstack.io: What We Learned from Enabling Developer Self-Service Let\u2019s simplify the developer experience and scale DevOps workflows without compromising the security of multi-Kubernetes environments.
              "},{"location":"introduction/#shift-left","title":"Shift-Left","text":"
              • dzone.com: Shift-Left: A Developer\u2019s Pipe(line) Dream? The traditional SDLC is broken and long overdue for a \u201cshift\u201d in direction. Find out more details in this post. How Shift Left Is a Game Changer.
              "},{"location":"introduction/#disaster-recovery","title":"Disaster Recovery","text":"
              • thenewstack.io: Disaster Recovery Is Different for the Cloud
              • bunnyshell.com: DR in DevOps: How to Guarantee an Effective Disaster Recovery Plan with DevOps
              "},{"location":"introduction/#saas","title":"SaaS","text":"
              • blog.scaleway.com: SaaS Solutions - What is the difference between a multi-instance and a multi-tenant architecture
              "},{"location":"introduction/#multi-cloud","title":"Multi Cloud","text":"
              • acloudguru.com: Sharing data in the cloud: 4 patterns you should know
              • architectelevator.com: Multi Cloud Architecture: Decisions and Options Multi cloud means different things to different people. A decision model helps bust the buzzwords and show the options clearly.
              • softwebsolutions.com: Why enterprises need to adopt a multi-cloud strategy
              • medium: Multi Cloud Enterprise Deployment Pattern
              • redhat.com: 5 essential tools for managing hybrid cloud infrastructure It\u2019s not just a matter of having the right tools; you must also use them correctly.
              • devops.com: Infrastructure Abstraction Will Be Key to Managing Multi-Cloud
              "},{"location":"introduction/#cloud-automation","title":"Cloud Automation","text":"
              • zdnet.com: The year ahead in DevOps and agile: bring on the automation, bring on the business involvement DevOps has an automation problem, while agile has an identification problem. Both face organizational problems. Both are needed in the digital transformation shaping the months ahead.
              • thenewstack.io: What Is Cloud Automation and How Does It Benefit IT Teams? \ud83c\udf1f
              • cncf.io: Automation is the future of cloud cost optimization \ud83c\udf1f
              "},{"location":"introduction/#automation-glossary","title":"Automation Glossary","text":"
              • redhat.com: Red Hat automation glossary \ud83c\udf1f
              "},{"location":"introduction/#microservices-best-practices-and-design-patterns","title":"Microservices Best Practices and Design Patterns","text":"
              • Build Your Own X - (Related to kubernetes-tutorials topic)
              • NodeJS Best Practices (Spanish Translation) - (Related to golang topic)
              • Enterprise Web App Patterns - Azure Architecture Center - (Related to azure topic)

              • dzone: 7 Microservices Best Practices for Developers \ud83c\udf1f In this article, we\u2019ll look at some microservices best practices and suggest a few ways to help you design, orchestrate, and secure your microservices architecture.

              • zdnet.com: Why microservices need event-driven architecture A call for greater microservice stability and alignment in legacy environments
              • simform.com: 10 Microservice Best Practices: The 80/20 Way Microservice architecture brings higher flexibility and ease of development through decoupled services. However, microservice architecture has specific challenges like efficiency, consistency, security, etc. So, here are some of the microservice best practices, along with real-life usage accounts from leading companies.
              • thenewstack.io: Monoliths to Microservices: 4 Modernization Best Practices When it comes to refactoring monolithic apps into Microservices, most engineering teams have no idea where to start.
              • itnext.io: 4 Design Patterns for Containers in Kubernetes | Daniele Polencic \ud83c\udf1f
              • blog.getambassador.io: Microservice Orchestration Best Practices
              "},{"location":"introduction/#microservice-patterns","title":"Microservice Patterns","text":"
              • capstonec.com: You Will Love These Cloud-native App Architecture Patterns \ud83c\udf1f
              • developers.redhat.com: Application modernization patterns with Apache Kafka, Debezium, and Kubernetes
              • blog.couchbase.com: 4 Patterns for Microservices Architecture in Couchbase
              • medium: Pragmatic Microservices \ud83c\udf1f
              • infoq.com: Turning Microservices Inside-Out Your microservices should be more than simple RESTful APIs. They should also be publishing important events, such as a change feed.
              • dotnetcurry.com: Microservices Architecture Pattern \ud83c\udf1f
              • geeksarray.com: Microservice Architecture Pattern for Architects \ud83c\udf1f
              • developers.redhat.com: 5 design principles for microservices
              • elastisys.com: Principles for Designing and Deploying Scalable Applications on Kubernetes [ARCHIVED] In this article, you will find 15 principles for how to design and deploy cloud-native applications on Kubernetes - for scalability, observability, automation & security.
              • simform.com: Microservices Design Principles: Do We Really Know It Well Enough? \ud83c\udf1f We are all well aware of microservices architecture, but do we know about its basic design principles and tenants that determine its implementation success? Read to find out more!
              • javarevisited.blogspot.com: Top 10 Microservices Design Patterns and Principles - Examples

                1. Database per Microservice
                2. Event Sourcing
                3. CQRS
                4. Saga
                5. BFF
                6. API Gateway
                7. Strangler
                8. Circuit Breaker
                9. Externalized Configuration
                10. Consumer-Driven Contract Tracing
              • medium.com/@sandeepsharmaster: Design your Cloud Microservices Apps the DDD way (Hexagonal Architecture)

              • medium.com/@denhox: Sharing Data Between Microservices
              • medium.com/@maneesha649nirman: Design Patterns For Microservices Design patterns are very important to any development architecture. In this article, I am going to discuss a few design patterns which are most important for microservices.
              • medium.com/@vinciabhinav7: Microservices Communication Architecture Patterns \ud83c\udf1f
              • medium.com/javarevisited: Top 10 Microservices Design Principles and Best Practices for Experienced Developers \ud83c\udf1f Designing Microservices for your organization? Follow these design principle to create a robust and scalable Microservices
              "},{"location":"introduction/#cqrs-pattern","title":"CQRS Pattern","text":"
              • medium.com/@mbarkin.narin: Problem Solving Strategies for Microservice Architecture Part III Distributed Complex Query in Multiple Services
              • linkedin.com/pulse: Command and Query Responsibility Segregation (CQRS): Optimizing Hybrid Cloud Strategies
              • blog.bitsrc.io: Implementing a Microservices Application with CQRS (Command Query Responsibiltiy Segregation) Building scalable microservices using Java and CQRS
              "},{"location":"introduction/#microservices-anti-patterns","title":"Microservices Anti Patterns","text":"
              • developer.com: Overcoming the Common Microservices Anti-Patterns
              "},{"location":"introduction/#micro-frontend-architecture-microservices-for-the-frontend","title":"Micro Frontend Architecture. Microservices for the Frontend","text":"
              • dzone: Micro Frontends With Example \ud83c\udf1f Monolithic frontends are difficult to maintain, develop, test, and deploy. The solution is micro frontends. It is a type of architecture that can increase effectiveness and efficiency across teams.
              • levelup.gitconnected.com: Micro Frontend Architecture
              • dzone: Micro-Frontend Architecture The goal of this architecture is to see web applications as a composition of functionalities where each one is worked by independent teams.
              • semaphoreci.com: Microfrontends: Microservices for the Frontend
                • Microservices are a popular way to build small, autonomous teams that can work independently. Unfortunately, by their very nature, microservices only work in the backend. Even with the best microservice architecture, frontend development still requires a high degree of interdependence, and this introduces coupling and communication overhead that can slow down everyone.
                • Can we take microservice architecture patterns and apply them to the frontend? It turns out we can. Companies such as Netflix, Zalando, and Capital One have pushed the pattern to the front, laying the groundwork for microfrontends. This article will explore microfrontends, their benefits and disadvantages, and how they differ from traditional microservices.
              • aws.amazon.com: Server-side rendering micro-frontends \u2013 UI composer and service discovery
              "},{"location":"introduction/#backends-for-frontends","title":"Backends for Frontends","text":"
              • developers.soundcloud.com: Service Architecture at SoundCloud \u2014 Part 1: Backends for Frontends
              "},{"location":"introduction/#data-engineering","title":"Data Engineering","text":"
              • medium.com/whispering-data: The State of Data Engineering 2022 All the latest tools and trends in data engineering.
              • cookbook.learndataengineering.com: The Data Engineering Cookbook
              • joereis.substack.com: Data Engineering in 2024. What I\u2019m Seeing
              "},{"location":"introduction/#cloud-migration-checklist","title":"Cloud Migration Checklist","text":"
              • betterprogramming.pub: A Cloud Migration Questionnaire for Solution Architects \ud83c\udf1f\ud83c\udf1f The questions you must ask your customers before migrating their on-premise workload to AWS Cloud:
                • Why do you want to migrate to the cloud?
                • How many code changes can you afford as part of migration?
                • What type of database are you using?
                • What type of load balancers are you using?
                • What application servers and versions are you using?
                • What operating system are you using?
                • Is your application public facing?
                • Is your application stateful or stateless?
                • Is your application containerized?
                • What are the current resource requirements of the servers?
                • How is your workload variation?
                • What are your logging and monitoring requirements?
                • What is your current backup strategy?
              • forbes.com: 3 Approaches To A Better Cloud Migration
              • acloudguru.com: 3 ways to practice migrating workloads to the cloud Rehosting, Replatforming & Refactoring.
              • blog.pragmaticengineer.com: Migrations Done Well: Typical Migration Approaches
              "},{"location":"introduction/#microservices-failures","title":"Microservices Failures","text":"
              • world.hey.com: Disasters I\u2019ve seen in a microservices world \ud83c\udf1f\ud83c\udf1f
              • infoq.com: 7 Ways to Fail at Microservices
                • infoq.com: Seven Ways to Fail at Microservices (presentation)
              "},{"location":"introduction/#top-microservices-frameworks","title":"Top Microservices Frameworks","text":"
              • simform.com: The Top Go-To Microservices Frameworks for a Scalable Application Confused about which microservices framework to use? Dive in to know about the latest frameworks, its features, and know if its the right fit for your business.
              "},{"location":"introduction/#transform-legacy-java-apps-to-microservices-with-automation-tools","title":"Transform Legacy Java Apps to Microservices with automation tools","text":"
              • devops.com: Transform Legacy Java Apps to Microservices with vFunction
              • devops.com: Function Automates Conversion of Java Apps to Microservices
              "},{"location":"introduction/#namespaces-for-data-structuring","title":"Namespaces for Data Structuring","text":"
              • blog.appsignal.com: Microservices Monitoring: Using Namespaces for Data Structuring \ud83c\udf1f
              "},{"location":"introduction/#from-sysadmin-to-architect","title":"From SysAdmin to Architect","text":"
              • redhat.com: 5 strategies to shift your career from sysadmin to architect Many engineers make the shift from hands-on-keyboard system administration to building architectures as an architect. Here are five ways they make the shift.
              "},{"location":"introduction/#raft-consensus-algorithm","title":"Raft Consensus Algorithm","text":"
              • The Raft Consensus Algorithm \ud83c\udf1f etcd is a \u201cdistributed reliable key-value store for the most critical data of a distributed system\u201d. It uses the Raft consensus algorithm which was designed to be easy to understand, to scale, and to operate. The protocol and the etcd implementation were very quickly adopted by large distributed systems like Kubernetes, large distributed databases or messaging frameworks, where consensus and strong consistency is a must.
              "},{"location":"introduction/#paas","title":"PaaS","text":"
              • What is Platform as a Service Software?
              • ramansharma.substack.com: Containers are not just for Kubernetes Why cloud based PaaS and Containers make a solid combination for most developers
              "},{"location":"introduction/#modular-monolith","title":"Modular Monolith","text":"
              • kamilgrzybek.com: Modular Monolith: A Primer \ud83c\udf1f
              "},{"location":"introduction/#from-java-ee-to-cloud-native","title":"From Java EE To Cloud Native","text":"
              • AWS Cloud Practitioner - Curso Completo 2023 - (Related to aws-training topic)

              • wikipedia: Java Enterprise Edition (Java EE)

              • lightbend.com: From Java EE To Cloud Native: The End Of The Heavyweight Era \ud83c\udf1f
              "},{"location":"introduction/#monolith-to-microservices-using-the-strangler-pattern","title":"Monolith to Microservices Using the Strangler Pattern","text":"
              • dzone: Monolith to Microservices Using the Strangler Pattern \ud83c\udf1f The Strangler Pattern is a popular design pattern to incrementally transform your monolithic application into microservices by replacing a particular functionality with a new service. Once the new functionality is ready, the old component is strangled, the new service is put into use, and the old component is decommissioned altogether.
              • overops.com: Strangler Pattern: How to Deal With Legacy Code During the Container Revolution
              "},{"location":"introduction/#microservices-to-monolith","title":"Microservices to Monolith","text":"
              • primevideotech.com: 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.
              "},{"location":"introduction/#openshift-vs-kubernetes","title":"Openshift VS Kubernetes","text":"
              • OCP4 Getting Started Showroom - (Related to ocp4 topic)

              • Dzone.com: 4 Cluster Management Tools to Compare

              • Dzone.com: A Comparison of Kubernetes Distributions
              • thestack.com: OpenShift in a world of KaaS \ud83c\udf1f
              • medium.com: The Differences Between Kubernetes and Openshift
              • blog.netsil.com: Kubernetes vs Openshift vs Tectonic: Comparing Enterprise Options
              • kubedex.com: Kubernetes On-Prem, OpenShift vs PKS vs Rancher
                • reddit.com: OpenShift vs PKS vs Rancher \ud83c\udf1f
              • medium.com: Kubernetes \u2014 What Is It, What Problems Does It Solve and How Does It Compare With Alternatives?
              • spec-india.com: Kubernetes VS Openshift (July 23rd 2019)
              • phoenixnap.com: Kubernetes vs OpenShift: Key Differences Compared \ud83c\udf1f
              • levelup.gitconnected.com: OpenShift \u2014 The Next Level of Kubernetes Things you should need to know about OpenShift
              • ibm.com: OpenShift vs. Kubernetes: What\u2019s the Difference?
              • simplilearn.com: Understanding The Difference Between Kubernetes Vs. Openshift
              • imaginarycloud.com: OPENSHIFT VS KUBERNETES: WHAT ARE THE DIFFERENCES
              • thenewstack.io: What\u2019s the Difference Between Kubernetes and OpenShift? It\u2019s almost a trick question, but Red Hat\u2019s managed Kubernetes platform does things a little differently.
              "},{"location":"introduction/#career-path","title":"Career Path","text":"
              • Kelsey Hightower Fireside Chat: An Unconventional Path to IT and Some Life Advice
              • forbes.com: 13 Signs You\u2019re Selling Yourself Short In Your Career
              "},{"location":"introduction/#full-stack-developers-roadmap","title":"Full Stack Developer\u2019s Roadmap","text":"
              • Full Stack Developer\u2019s Roadmap \ud83c\udf1f
              "},{"location":"introduction/#software-development-models","title":"Software Development Models","text":"
              • dzone: 7 Software Development Models You Should Know Software Development Models are integral to the success (or failure) of a project. Here are 7 models you should know, from Waterfall to the V-Model to Scrum.
              "},{"location":"introduction/#domain-driven-design-ddd","title":"Domain Driven Design DDD","text":"
              • dzone: The Concept of Domain-Driven Design Explained In this article, we define the core concepts around domain-driven design, explain them, and highlight the advantages and downsides of the approach.
                • Using microservices means creating applications from loosely coupling services. The application consists of several small services, each representing a separate business goal. They can be developed and easily maintained individually, after what they are joint in a complex application.
                • Microservices is an architecture design model with a specific bounded context, configuration, and dependencies. These result from the architectural principles of the domain-driven design and DevOps. Domain-driven design is the idea of solving problems of the organization through code.
                • The business goal is important to the business users, with a clear interface and functions. This way, the microservice can run independently from other microservices. Moreover, the team can also work on it independently, which is, in fact, the point of the microservice architecture.
                • Many developers claim microservices have made them more efficient. This is due to the ability to work in small teams. This allows them to develop different small parts that will later be merged as a large app.
                • They spend less time coordinating with other developers and more time on developing the actual code. Eventually, this creates more value for the end-user.
              • medium.com/codex: DDD \u2014 Events Are Complex Why do Events matter so much in Domain-Driven Design?
              "},{"location":"introduction/#software-development-tools","title":"Software Development Tools","text":"
              • GitHub for Beginners: Getting Started with OSS Contributions - (Related to git topic)

              • ubiqum.com: 20 Software Development Tools that will make you more productive

              • sloboda-studio.com: Python Tools for Machine Learning
              "},{"location":"introduction/#vfunction-a-system-to-transform-monolithic-java-applications-into-microservices","title":"vFunction. A system to transform monolithic Java applications into microservices","text":"
              • vFunction vFunction accelerates your journey to cloud native by automating Java app modernization.
              • thenewstack.io: vFunction Transforms Monolithic Java to Microservices
              • devops.com: Best of 2021 \u2013 Transform Legacy Java Apps to Microservices
              "},{"location":"introduction/#software-in-automotive-industry","title":"Software in Automotive Industry","text":"
              • spectrum.ieee.org: How Software Is Eating the Car The trend toward self-driving and electric vehicles will add hundreds of millions of lines of code to cars. Can the auto industry cope?
              "},{"location":"introduction/#data-centers-in-spain","title":"Data Centers in Spain","text":"
              • cincodias.elpais.com: El sector del \u2018data center\u2019 eleva a 6.837 millones su inversi\u00f3n directa en nuevos centros en Espa\u00f1a hasta 2026
              "},{"location":"introduction/#bunch-of-images","title":"Bunch of Images","text":"Click to expand!

              "},{"location":"introduction/#videos","title":"Videos","text":"Click to expand!"},{"location":"introduction/#devel-videos","title":"Devel Videos","text":"Click to expand!

              "},{"location":"introduction/#tweets","title":"Tweets","text":"Click to expand!

              Questions to quickly spot red flags of a software project:- how long does the CI pipeline take?- how long is the onboarding process?- how short are the working cycles?- what type of tests are integrated in the QA?- is there any micromanagement?What else would you add?

              \u2014 Daniel Moka\u26a1 (@dmokafa) February 7, 2021

              THREADThe @Learnk8s Twitter account is expanding!Starting today you will be able to follow 4x more news:- Security focus Kubernetes news- Kubernetes for devs and architects- Job offers- And \u2026 a surprise (read on)Let me explain pic.twitter.com/pAQJYw8Fn6

              \u2014 Daniele Polencic (@danielepolencic) May 3, 2021

              just read the words \"large monoliths are unmaintainable\"NOpoorly structured systems are unmaintainable, regardless of the cardinality of their deployment topology

              \u2014 Matt Stine (@mstine) May 6, 2021

              Micro Services Architecture Vs Monolith Architecture: \ud83e\uddf5\ud83d\udc47\ud83c\udffb pic.twitter.com/8W8Nvi9eJk

              \u2014 Sunil Kumar (@sunilc_) June 5, 2021

              You don't need access to a credit card or AWS account in order to learn more about DevOps. Start for free with Docker and GitHub. Spend time to learn how to set up docker files and combine them with GitHub actions to automate your build process.

              \u2014 Danny (@dannysteenman) July 19, 2021

              Everyone sensible in IT has been saying for years that if you buy COTS (commercial off-the-shelf software packages) you shouldn\u2019t customize it - it\u2019s wildly expensive and you end up with something hard to maintain and almost impossible to upgrade.

              \u2014 Jez Humble (@jezhumble) August 4, 2021

              COTS is for business processes that aren\u2019t strategic to your org. So you should MODIFY YOUR BUSINESS PROCESS TO FIT WHAT THE SOFTWARE DOES OUT OF THE BOX! Sorry for shouting, I\u2019m old.

              \u2014 Jez Humble (@jezhumble) August 4, 2021

              The top 5 most widely used Cloud platforms according to the Stack Overflow Developer survey 2021:1. AWS - 59%2. Azure - 32% 3. GCP - 29%4. Heroku - 21%5. DigitalOcean - 18% pic.twitter.com/56cqg70gZo

              \u2014 Danny \uea00 (@dannysteenman) August 25, 2021

              \ud83d\udcab Cloud Knowledge 101\u2601\ufe0f Public vs. Private vs. Hybrid Cloud \u2601\ufe0fA quick comparison of these concepts \ud83e\uddf5\ud83d\udc47

              \u2014 Simon \u2601\ufe0f (@simonholdorf) September 26, 2021

              What are the differences between Virtualization (VMware) and Containerization (Docker)?The diagram below illustrates the layered architecture of virtualization and containerization. pic.twitter.com/3zgsUNnfXe

              \u2014 Alex Xu (@alexxubyte) April 8, 2022

              How do microservices collaborate and interact with each other?There are two ways: \ud835\udc28\ud835\udc2b\ud835\udc1c\ud835\udc21\ud835\udc1e\ud835\udc2c\ud835\udc2d\ud835\udc2b\ud835\udc1a\ud835\udc2d\ud835\udc22\ud835\udc28\ud835\udc27 and \ud835\udc1c\ud835\udc21\ud835\udc28\ud835\udc2b\ud835\udc1e\ud835\udc28\ud835\udc20\ud835\udc2b\ud835\udc1a\ud835\udc29\ud835\udc21\ud835\udc32.The diagram below illustrates the collaboration of microservices. pic.twitter.com/Qp94Zi5Mrq

              \u2014 Alex Xu (@alexxubyte) April 12, 2022

              \"Let's introduce Microservices, they will make our delivery faster.\" A sentence which I hear over and over again and which I consider to be an oversimplification of a complex challenge. A thread \ud83e\uddf5with ten points: \ud83d\udc47

              \u2014 Michael Pl\u00f6d (@bitboss) November 13, 2022

              Amazon Prime Video Replaces Microservices with a Simplified Monolith in their Live Stream Monitoring Service, Resulting in a 90% Architecture Cost Reduction.The team accomplished this by:- Pinpointing Overhead in the Distributed System- Combining Tightly-Coupled\u2026 pic.twitter.com/Vc2EQY2rSf

              \u2014 Hussein Nasser (@hnasr) May 6, 2023

              /1 Why did Amazon Prime Video monitoring move \ud835\udc1f\ud835\udc2b\ud835\udc28\ud835\udc26 \ud835\udc2c\ud835\udc1e\ud835\udc2b\ud835\udc2f\ud835\udc1e\ud835\udc2b\ud835\udc25\ud835\udc1e\ud835\udc2c\ud835\udc2c \ud835\udc2d\ud835\udc28 \ud835\udc26\ud835\udc28\ud835\udc27\ud835\udc28\ud835\udc25\ud835\udc22\ud835\udc2d\ud835\udc21\ud835\udc22\ud835\udc1c? How can it save 90% cost?The diagram below shows the architecture comparison before and after the migration. pic.twitter.com/FVaLwzQWQc

              \u2014 Alex Xu (@alexxubyte) May 8, 2023

              Top 7 Most-Used Distributed System Patterns- Ambassador- Circuit Breaker- CQRS- Event Sourcing- Leader Election- Publisher/Subscriber- ShardingWhich additional patterns have we overlooked?Watch and subscribe here (YouTube video): https://t.co/8GAt27x5Zj pic.twitter.com/oIDyMtjCfW

              \u2014 Alex Xu (@alexxubyte) May 9, 2023"},{"location":"istio/","title":"Istio - Service Mesh","text":"
              1. Docs
              2. API Access Control
              3. Maistra Istio
              4. Admiral
              5. Ambient Mesh - Istio Data Plane
              6. Kiali project, observability for the Istio service mesh
              7. Jaeger tracing. Open source, end-to-end distributed tracing
              8. Envoy micro proxy
                1. Envoy Gateway
              9. Kibana
              10. AWS App Mesh
              11. Istio and AWS EKS
              12. Istio Tools
              13. Videos
              14. Tweets
              "},{"location":"istio/#docs","title":"Docs","text":"
              • Istio.io
              • github.com: Istio
              • Red Hat Developer: Istio Service Mesh
              • karlstoney.com: Istio 503\u2019s with UC\u2019s and TCP Fun Times
              • medium.com/solo-io blog Connecting the world\u2019s applications with APIs and Service Mesh
              • medium.com/solo-io: Istio the Easy Way (Again!)
              • blog.christianposta.com: Istio as an Example of When Not to Do Microservices
              • istiobyexample.dev \ud83c\udf1f
                • istiobyexample.dev: Fault Injection
              • medium.com: Getting started with Istio
              • blog.openshift.com: Red Hat OpenShift Service Mesh is now available: What you should know \ud83c\udf1f
              • magalix.com: Getting Started With Istio: Overview And Installation
              • The Istio project just consolidated its control plane services: Pilot, Citadel, Galley, and the sidecar injector, into a single binary, Istiod
              • magalix.com: Working with Istio: Track your services with Kiali
              • banzaicloud.com: Istio telemetry V2 (Mixerless) deep dive
              • medium.com: How to Manage Microservices on Kubernetes With Istio How to implement DevSecOps on microservices architecture with a service mesh
              • github.com/askmeegs/learn-istio \ud83c\udf1f
              • banzaicloud.com: What\u2019s new in Istio 1.6, a quick walkthrough
              • Riding the Tiger: Lessons Learned Implementing Istio \ud83c\udf1f
              • dev.to/aurelievache: Understanding Istio: part 1 \u2013 Istio Components
                • dev.to/aurelievache: Understanding Istio: part 9 \u2013 DestinationRule
                • dev.to/aurelievache: Understanding Istio: part 16 \u2013 Observability / Metrics
              • banzaicloud.com: Controlling egress traffic with Istio
              • banzaicloud.com: Istio ingress controller as an API gateway
              • openshift.com: Monitoring Services like an SRE in OpenShift ServiceMesh Part 2: Collecting Standard Metrics \ud83c\udf1f
              • istio.io: Learn Microservices using Kubernetes and Istio \ud83c\udf1f step-by-step tutorial
              • thenewstack.io - Service Mesh: The Gateway to Cloud Migration
              • thenewstack.io: Kubernetes, Microservices, and Istio\u200a \u2014 A Great Fit!
              • medium: Observability With Istio, Kiali, and Grafana in Kubernetes and Spring Boot \ud83c\udf1f
              • solo.io: Learn how to rate limit requests in Istio \ud83c\udf1f
              • solo.io: Identity Federation for Multi-Cluster Kubernetes and Service Mesh
              • sysdig.com: How to monitor Istio, the Kubernetes service mesh
              • tetrate.io: VM to container communications 101 How can I use Istio Service Mesh to make VMs and containers talk to each other?
              • redhat-scholars: istio-tutorial \ud83c\udf1f Polyglot microservices (Java, Node, .NET) + Istio on Kubernetes/OpenShift
              • medium: Introduction to Istio Traffic Management. Traffic Routing with Istio by Example \ud83c\udf1f
              • blog.jetstack.io: Istio OIDC Authentication A service mesh is an architectural pattern that provides common network services as a feature of the infrastructure. This typically includes features such as service discovery and policy enforcement to control how services within the mesh can communicate with each other.
              • medium.com: Increasing observability on Istio: The new Kiali health configuration
              • solo.io: The evolution of VM support in Istio 1.8 (with video)
              • jetstack.io: Securing Istio workloads with mTLS using cert-manager
              • thenewstack.io: Why Do You Need Istio When You Already Have Kubernetes? \ud83c\udf1f
              • medium: Managing Microservices With Istio Service Mesh in Kubernetes
              • thenewstack.io: Solo.io: Istio Is Winning the Service Mesh War
              • tetrate.io: Why do you need Istio when you already have Kubernetes?
              • learncloudnative.com: Attach multiple VirtualServices to Istio Gateway
              • thenewstack.io: What Is Istio and Why Does Kubernetes Need it? \ud83c\udf1f
              • youtube: Istio & Service Mesh - simply explained in 15 mins \ud83c\udf1f
              • dev.to: A GitOps recipe for Progressive Delivery with Istio \ud83c\udf1f GitOps and Progressive Delivery featuring IstioMesh, PrometheusIO, Flux v2 & Flagger.
              • samos-it.com: Securing Redis with Istio TLS origination Istio is daunting and not all use cases are well documented. The public docs focus mostly on using the egress gateway for TLS orignation. The use case of using the sidecar for TLS origination with a database isn\u2019t documented well. This blog post hopes to solve that.
              • solo.io: Istio multi-cluster on Red Hat OpenShift with Gloo Mesh
              • giffgaff.io: Using Istio with Nginx ingress
              • solo.io: Ode to Istio \ud83c\udf1f
              • thenewstack.io: Istio 1.10 Improves Scalability and Revision Control
              • istio.io: Configuring failover for external services Learn how to configure locality load balancing and failover for endpoints that are outside of your mesh.
              • medium: Automated canary deployments with Flagger and Istio
              • thenewstack.io: Multicluster Management with Kubernetes and Istio
              • piotrminkowski.com: Multicluster Traffic Mirroring with Istio and Kind
              • thenewstack.io: Securing Istio Workloads with Auth0
              • tetrate.io: Multicluster Management with Kubernetes and Istio \ud83c\udf1f
              • thenewstack.io: Why Do You Need Istio When You Already Have Kubernetes? \ud83c\udf1f
              • solo.io: Upgrading Istio without Downtime
              • tetrate.io: Using Istio Service Mesh as API Gateway \ud83c\udf1f
              • mirantis.com: Your App Deserves More than Kubernetes Ingress: Kubernetes Ingress vs. Istio Gateway [webinar]
              • solo.io: Configuration as Data, GitOps, and Controllers: it\u2019s not simple for multi-cluster
              • solo.io: Istio\u2019s networking: An in-depth look at traffic and architecture \ud83c\udf1f Istio\u2019s networking in a demo environment
              • solo.io: Navigating Istio Config: a look into Istio\u2019s toolkit
              • inder-devops.medium.com: On-premise to cloud migration mock drills using Istio \ud83c\udf1f Part 1 of a series of articles about cloud migration. Application workload migration from one kubernetes cluster to another using Istio. This article explains an approach that makes use of service mesh capability to migrate entire platform from onpremise to cloud or cluster to cluster migration.
              • baeldung.com: Service Mesh Architecture with Istio
              • chrishaessig.medium.com: Multi cluster setup with istio
              • medium.com/@sumudu_liyan: How To Install Istio On Kubernetes Cluster
              • engineering.mercari.com: Dynamic Service Routing using Istio With Dynamic Service Routing you can route traffic between different versions of each microservice dynamically. Learn how you can do so with Kubernetes and Istio in this article
              • medium.com/@nanditasahu031: Istio Service Mesh \ud83c\udf1f
              • istio.io: Merbridge - Accelerate your mesh with eBPF Replacing iptables rules with eBPF allows transporting data directly from inbound sockets to outbound sockets, shortening the datapath between sidecars and services.
              • freecodecamp.org: Learn Istio \u2013 How to Manage, Monitor, and Secure Microservices \ud83c\udf1f
              • useanvil.com: Load balancing gRPC in Kubernetes with Istio
              • jimmysong.io: Understanding the Sidecar Injection, Traffic Intercepting & Routing Process in Istio This article will cover Istio and:
                • What is the sidecar pattern and what advantages does it have?
                • How are the sidecar injections done in Istio?
                • How does the sidecar proxy do transparent traffic hijacking?
                • How is the traffic routed upstream?
              • blog.getambassador.io: Kubernetes Canary Testing and Release with Istio In this article, you\u2019ll learn about Canary testing in Kubernetes and how Istio can help perform seamless Canary upgrades
              • medium.com/globant: Istio JWT Authentication & Authorization at the edge This article covers:
                • What is a JWT, and why should you care?
                • Dissecting Istio\u2019s JWT edge authentication & authorization
                • How to build an external authz service for Istio
              • medium.com/codex: Egress Traffic Control for Nginx Ingress Controller with Istio Proxy Sidecar
              • medium.com/marionete: How to expose Kubernetes services to external traffic using Istio Gateway In this article, you\u2019ll walk through the necessary configurations to expose services inside a Service Mesh to external traffic. The first scenario covers an HTTP endpoint, while the second examines the HTTPS configurations.
              • natarajsundar.medium.com: Istio service mesh, a start to finish tutorial with Side Car architecture and an analysis + comparison of the Ambient mesh architecture In this blog post, you will find an end-to-end tutorial on how to get Istio up and running in your Kubernetes cluster. You will also discuss the Istio Ambient Mesh.
              • alexandrev.medium.com: How To Enable Sticky Session on Your Kubernetes Workloads using Istio? \ud83c\udf1f
              • medium.com/@wessel__: Istio with Authentik: securing your cluster and providing authentication and authorization In this article, you will learn how to manage user access to individual apps deployed in your cluster using Istio and Authentik
              • medium.com/@hammadsaif061: Simplifying Microservices Management with Kubernetes and Service Mesh
              • itnext.io: Taffic Shaping - Kubernetes & Istio | Daniele Polencic How can you roll out an app only to a subset of your users in Kubernetes? Let\u2019s explore Canary Releases with Istio, Kiali and the Gateway API!
              • medium.com/@lupass93: Zero Trust Architecture on Kubernetes with Istio Service Mesh This article will show how to implement a Zero Trust Architecture on Kubernetes with Istio:
                • What is Zero Trust Architecture
                • Istio Architecture
                • How to enable mTLS
                • How to enable access control and authorization between your microservices
              • medium.com/hamburger-berater-team: Varnish Sharding with Istio in Kubernetes How to use Istio to transparently implement consistent Hash-based Load Balancing across multiple Varnish instances \u2014 sharding based on the HTTP request URI.
              • medium.com/@marc.guerrini: DIY \u2014 Istio \u2014 validate JWT his tutorial demonstrates how to protect an application using Istio, from initial setup to adding security features to the ingress gateway
              "},{"location":"istio/#api-access-control","title":"API Access Control","text":"
              • medium: API Access Control using Istio Ingress Gateway
              • medium: API Authentication using Istio Ingress Gateway, OAuth2-Proxy and Keycloak
              "},{"location":"istio/#maistra-istio","title":"Maistra Istio","text":"
              • Maistra.io
              • github.com: Maistra Istio
              "},{"location":"istio/#admiral","title":"Admiral","text":"
              • istio-ecosystem/admiral Admiral provides automatic configuration and service discovery for multicluster Istio service mesh. Istio has a very robust set of multi-cluster capabilities. Managing this configuration across multiple clusters at scale is challenging. Admiral takes an opinionated view on this configuration and provides automatic provisioning and syncing across clusters. This removes the complexity for developers and mesh operators.
              "},{"location":"istio/#ambient-mesh-istio-data-plane","title":"Ambient Mesh - Istio Data Plane","text":"
              • istio.io: Introducing Ambient Mesh A new dataplane mode for Istio without sidecars.
              "},{"location":"istio/#kiali-project-observability-for-the-istio-service-mesh","title":"Kiali project, observability for the Istio service mesh","text":"
              • kiali.io
              • github.com: kiali
              • medium.com: kiali project
              • itnext.io: Find issues in your Istio mesh with Kiali
              "},{"location":"istio/#jaeger-tracing-open-source-end-to-end-distributed-tracing","title":"Jaeger tracing. Open source, end-to-end distributed tracing","text":"
              • Monitor and troubleshoot transactions in complex distributed systems
              • jaegertracing.io
              • hackernoon.com: A Guide to Deploying Jaeger on Kubernetes in Production
              • hackernoon.com: How To Use OpenTelemetry And Jaeger To Implement Distributed Tracing And APM
              • faun.pub: A beginner\u2019s guide to Jaeger Welcome to A beginner\u2019s guide to Jaeger (5 Part Series)
              • infracloud.io: Linking Traces with Continuous Profiling using Pyroscope The future of observability lies in distributed tracing with continuous profiling. In this article, you will learn how you can link traces with continuous profiling using Pyroscope and Jaeger.
              "},{"location":"istio/#envoy-micro-proxy","title":"Envoy micro proxy","text":"
              • envoyproxy.io
              • getenvoy.io
              • Controlling outbound traffic from Kubernetes
              • medium: Troubleshooting Envoy with Kiali Inspect and debug your Envoy configuration
              "},{"location":"istio/#envoy-gateway","title":"Envoy Gateway","text":"
              • Envoy Gateway Envoy Gateway is an open source project for managing Envoy Proxy as a standalone or Kubernetes-based application gateway.
              "},{"location":"istio/#kibana","title":"Kibana","text":"
              • kibana
              "},{"location":"istio/#aws-app-mesh","title":"AWS App Mesh","text":"
              • aws.amazon.com/app-mesh
              • allthingsdistributed.com: Redefining application communications with AWS App Mesh
              "},{"location":"istio/#istio-and-aws-eks","title":"Istio and AWS EKS","text":"
              • AKS Labs - Introduction - (Related to kubernetes-tutorials topic)

              • itnext.io: Observing gRPC-based Microservices on Amazon EKS running Istio Observing a gRPC-based Kubernetes application using Jaeger, Zipkin, Prometheus, Grafana, and Kiali on Amazon EKS running Istio service mesh

              "},{"location":"istio/#istio-tools","title":"Istio Tools","text":"
              • Application Gateway for Containers: Istio Integration \ud83c\udf1f - This post explores the integration of Azure Application Gateway for Containers (AGC) with Istio, a Kubernetes service mesh. It details how AGC can leverage Istio to provide end-to-end TLS encryption for traffic between AGC and application pods, even if the applications themselves do not natively support TLS. This is part of a series on AGC, focusing on security aspects and simplified TLS implementation.
              • Implementing Istio From Start To Finish \ud83c\udf1f - A comprehensive guide on implementing Istio as a Service Mesh in a Kubernetes environment, covering installation methods (Helm), enabling mTLS, and ensuring sidecar injection into pods. It highlights the common reasons for adopting a service mesh, such as encryption, traffic visibility, and network resilience.

              • Istio Performance/Stability Testing

              "},{"location":"istio/#videos","title":"Videos","text":"Click to expand!"},{"location":"istio/#tweets","title":"Tweets","text":"Click to expand!

              \ud83d\udc8e Hidden gem featureDid you know that Kiali can automatically generate all the Authorization Policies of a namespace?Via telemetry, Kiali can define one Authz Policy per each service in the mesh.@IstioMesh #servicemesh #authorization #security #k8s pic.twitter.com/YlEKRq6nq0

              \u2014 Kiali (@KialiProject) May 16, 2021

              How can you roll out an app only to a subset of your users in Kubernetes?Let's explore Canary Releases with Istio, Kiali and the Gateway API! pic.twitter.com/Ao4LkBRRu3

              \u2014 Daniele Polencic \u2014 @danielepolencic@hachyderm.io (@danielepolencic) May 15, 2023"},{"location":"java-and-java-performance-optimization/","title":"Java and Memory Management","text":"
              1. Introduction
              2. Java Performance Optimization
                1. Java on Kubernetes. Java Memory Arguments for Containers
                2. Benchmarking modern Java Virtual Machines and the next-generation garbage collectors
                3. Relevant JVM Metrics
                4. Common JVM Errors
                5. Tuning Jenkins GC
                6. Tuning Java Containers
                7. Debugging java applications on OpenShift and Kubernetes
              3. List of Performance Analysis Tools
                1. Threadumps, Heapdumps and GC Analysis Tools
              4. Garbage Collection and Heap Offloading
              5. Java Tracing Tools. JDK Flight Recorder
              6. Cambios importantes en la gesti\u00f3n de memoria de Java 8 de Oracle (2014)
              7. Slides
              8. Tweets
              "},{"location":"java-and-java-performance-optimization/#introduction","title":"Introduction","text":"
              • javarevisited.blogspot.com: 10 Things Java Programmers Should Learn in 2022
              • freecodecamp.org: Learn the Basics of Java Programming
              • freecodecamp.org: Advanced Object-Oriented Programming in Java \u2013 Full Book
              "},{"location":"java-and-java-performance-optimization/#java-performance-optimization","title":"Java Performance Optimization","text":"
              • DZone: Performance Improvement in Java Applications: ORM/JPA \ud83c\udf1f
              • DZone: The JVM Architecture Explained \ud83c\udf1f An overview of the different components of the JVM, along with a very useful diagram
              • DZone: How to Troubleshoot Sudden CPU Spikes Your Java application has been running fine, but all of a sudden CPU consumption starts to go higher and higher\u2026 sound familiar?
              • DZone refcard: Java Caching
              • Dzone: 7 JVM Arguments of Highly Effective Applications \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f How to use 7 JVM arguments to help increase your application\u2019s performance and avoid common memory pitfalls.
              • developers.redhat.com: Get started with JDK Flight Recorder in OpenJDK 8u \ud83c\udf1f Deploy JDK Flight Recorder with JDK Mission Control, a new monitoring and profiling tool that exposes a high level of information without adding a tax on the runtime system
              • blog.heaphero.io: HeapHero - Java & Android Heap Dump Analyzer
              • blog.heaphero.io: What is GC Log, thread dump and Heapdump? \ud83c\udf1f Java Virtual Machine (JVM) generates 3 critical #artifacts that are useful for optimizing the performance and troubleshooting production problems. Those artifacts & their differences are explained in this PDF.
              • developers.redhat.com: Shenandoah garbage collection in OpenJDK 16: Concurrent reference processing
              • developers.redhat.com: JDK Flight Recorder support for GraalVM Native Image: The journey so far \ud83c\udf1f
              • OpenHFT/Java-Thread-Affinity Bind a java thread to a given core. A library that lets you pin the threads of your Java application to specific CPU cores. Looks like an interesting part of the performance engineering toolbox, e.g. helping to reduce the number of cache misses.
              • dzone.com: Flight Recorder: Examining Java and Kotlin Apps Learn how to use Java\u2019s Flight Recorder to profile Java and Kotlin apps and get a close look at JVM internals.
              • kstefanj.github.io: GC progress from JDK 8 to JDK 17 JVM with <5ms GC pauses (ZGC). JDK17 is a huge leap forward in benchmark after benchmark. Upgrade as fast as you can. Amazon\u2019s Corretto builds are available for a huge number of platforms and distribution channels. The JRE disappeared with jdk9: use jlink to assemble exactly the JRE you need.
              • developers.redhat.com: How to choose the best Java garbage collector
              • linkedin.com/pulse: Difference between Executor, ExecutorService, and Executors class in Java! - original article - javarevisited.blogspot.com
              • vladmihalcea.com: Caching best practices
              • vladmihalcea.com: 14 High-Performance Java Persistence Tips
              • speakerdeck.com: Profiling a Java Application @DevDays 2023 | Victor Rentea
              • freecodecamp.org: How to Write Unit Tests in Java
              "},{"location":"java-and-java-performance-optimization/#java-on-kubernetes-java-memory-arguments-for-containers","title":"Java on Kubernetes. Java Memory Arguments for Containers","text":"
              • medium: How to reduce your JVM app memory footprint in Docker and Kubernetes \ud83c\udf1f
              • tech.olx.com: Improving JVM Warm-up on Kubernetes \ud83c\udf1f Vikas Kumar explains why you should not run your Java applications with a fixed quota of a single CPU core. Instead, use Burstable QoS to allow for increased CPU usage during start-up.
              • dzone: Best Practices: Java Memory Arguments for Containers \ud83c\udf1f In this article, we will discuss the possible JVM arguments that can be used to specify the Java heap size and the best option to choose.
              • medium.com/@anurag2397: Tuning JVM containers for better CPU and memory utilisation in K8s environment In this article, you\u2019ll discuss JVM warmup issues, high heap memory utilisation and how those affect Java apps deployed in Kubernetes. You\u2019ll then learn how to work around them.
              • danoncoding.com: Tricky Kubernetes memory management for Java applications \ud83c\udf1f Running Java applications in a container environment requires an understanding of both \u2014 JVM memory mechanics and Kubernetes memory management. In this article, you will discuss the settings and optimizations necessary to run Java apps in Kubernetes.
              • medium.com/nordnet-tech: Setting Java Heap Size Inside a Docker Container
              • danoncoding.com: Tricky Kubernetes memory management for Java applications \ud83c\udf1f How to use the Kubernetes memory requests and limits in combination with JVM Heap and stay out of trouble.
              • medium.com/@sharprazor.app: Memory settings for Java process running in Kubernetes pod Managing the memory usage of a Java process running in a Kubernetes pod is more challenging than one might expect. Even with proper JVM memory configurations, OOMKilled issues can still arise and you wonder why.
                • There is no way to guarantee the complete memory bundary of a Java process since the JVM respects only the heap size limit; not non-heap memory, which will depend on various factors. Start with a 75% ratio of heap to non-heap memory, and keep a close watch on how your memory behaves. If things get out of hand, you can tweak your pod\u2019s memory limits or fiddle with the heap-to-non-heapratio to dodge the OOMKilled mishaps.
              • medium.com/codex: Running JVM Applications on Kubernetes: Beyond java -jar Discover some important tips about running JVM applications in containerized environments orchestrated by Kubernetes. The article provides essential tips for optimizing JVM applications running on Kubernetes, focusing on ergonomics, memory sizing, CPU overbooking, and HPA configuration
              • lalitchaturveditech.medium.com: Optimize Java Performance On Kubernetes
              • blog.flipkart.tech: The Art of System Debugging \u2014 Decoding CPU Utilization \ud83c\udf1f
                • Learn how to debug CPU utilization issues in a Java app using asynchronous programming techniques like CompletableFuture
                • Discover how to identify and resolve CPU bottlenecks using JVM arguments and container resource allocation
                • Another workaround for this issue was to set the \u201c-XX: ActiveProcessorCount\u201d JVM argument to the number of cores that are allocated to the java container. We found this recommendation in a comment on the openjdk issue tracker. The application team validated this and the central Load Tests were run with this workaround. Post the load tests, the application team upgraded the java version to 17 where these issues were already resolved.
              "},{"location":"java-and-java-performance-optimization/#benchmarking-modern-java-virtual-machines-and-the-next-generation-garbage-collectors","title":"Benchmarking modern Java Virtual Machines and the next-generation garbage collectors","text":"
              • jet-start.sh: Performance of Modern Java on Data-Heavy Workloads, Part 1 \ud83c\udf1f The Java runtime has been evolving more rapidly in recent years and, after 15 years, we finally got a new default garbage collector: the G1. Two more GCs are on their way to production and are available as experimental features: Oracle\u2019s ZGC and OpenJDK\u2019s Shenandoah. We at Hazelcast thought it was time to put all these new options to the test and find which choices work well with workloads typical for our distributed stream processing engine, Hazelcast Jet.
              "},{"location":"java-and-java-performance-optimization/#relevant-jvm-metrics","title":"Relevant JVM Metrics","text":"Metric Details / Reference GC Throughput Repeated Full GC happens way before OutOfMemoryError ref1ref2 etc"},{"location":"java-and-java-performance-optimization/#common-jvm-errors","title":"Common JVM Errors","text":"JVM Error Details / Reference OutOfMemoryError Repeated Full GC happens way before OutOfMemoryError ref1ref2 StackOverflowError ref etc"},{"location":"java-and-java-performance-optimization/#tuning-jenkins-gc","title":"Tuning Jenkins GC","text":"
              • jenkins.io - Tuning Jenkins GC For Responsiveness and Stability with Large Instances \ud83c\udf1f
              • Running Jenkins on Java 11 \ud83c\udf1f
              "},{"location":"java-and-java-performance-optimization/#tuning-java-containers","title":"Tuning Java Containers","text":"
              • blog.openshift.com: Scaling Java Containers \ud83c\udf1f
              • blog.openshift.com: Performance Metrics (APM) for Spring Boot Microservices on OpenShift
              • dzone.com: Java Inside Docker: What You Must Know to Not FAIL If you\u2019ve tried Java in containers, particularly Docker, you might have encountered some problems with the JVM and heap size. Here\u2019s how to fix it.
              • itnext.io: How to cold start fast a java service on k8s (EKS)
              • blog.gceasy.io: Best practices: Java memory arguments for Containers \ud83c\udf1f
              "},{"location":"java-and-java-performance-optimization/#debugging-java-applications-on-openshift-and-kubernetes","title":"Debugging java applications on OpenShift and Kubernetes","text":"
              • blog.openshift.com: Debugging Java Applications On OpenShift and Kubernetes
              "},{"location":"java-and-java-performance-optimization/#list-of-performance-analysis-tools","title":"List of Performance Analysis Tools","text":"
              • en.wikipedia.org/wiki/List_of_performance_analysis_tools
              • InspectIT
              • VisualVM
              • OverOps
              • etc
              "},{"location":"java-and-java-performance-optimization/#threadumps-heapdumps-and-gc-analysis-tools","title":"Threadumps, Heapdumps and GC Analysis Tools","text":"
              • geekflare.com: What is Thread Dump and How to Analyze them? \ud83c\udf1f
              • baeldung.com: How to Analyze Java Thread Dumps \ud83c\udf1f
              • baeldung.com: Capturing a Java Thread Dump
              • tier1app.com
              • fastthread.io
              • gceasy.io
              • heaphero.io
              "},{"location":"java-and-java-performance-optimization/#garbage-collection-and-heap-offloading","title":"Garbage Collection and Heap Offloading","text":"
              • Tecnolog\u00edas de Heap-Offloading son EHcache, Memcached, Jillegal library, etc.
              • Jillegal OffHeap Module
              • Free eGuide: JVM Troubleshooting Guide
              • Cambios importantes en la gesti\u00f3n de memoria de Java 8 de Oracle
              • PermGen eliminado
              • On heap vs off heap memory usage
              • How Garbage Collection differs in the three big JVMs
              • DZone: Understanding the Java Memory Model and Garbage Collection \ud83c\udf1f In this article we will try to understand the Java memory model and how garbage collection works. In this article I have used JDK8 Oracle Hot Spot 64 bit JVM. First let me depict the different memory areas available for Java processes.
              • DZone: Memory Leaks and Java Code When you aren\u2019t using objects, but they aren\u2019t touched by GC, a memory leak happens. Here are six ways memory leaks happen to look for and avoid.
              • javarevisited.blogspot.com: How Garbage Collection works in Java? Explained (2011)
              "},{"location":"java-and-java-performance-optimization/#java-tracing-tools-jdk-flight-recorder","title":"Java Tracing Tools. JDK Flight Recorder","text":"
              • Byteman
              • developers.redhat.com: Collect JDK Flight Recorder events at runtime with JMC Agent \ud83c\udf1f
              • developers.redhat.com: Checkpointing Java from outside of Java
              • developers.redhat.com: A faster way to access JDK Flight Recorder data
              • Detect JPA and Hibernate performance issues with Hypersistence Optimizer:
                • https://vladmihalcea.com/hypersistence-optimizer
                • vladmihalcea.com: How to tunnel localhost to the public Internet
              • piotrminkowski.com: Java Flight Recorder on Kubernetes
              "},{"location":"java-and-java-performance-optimization/#cambios-importantes-en-la-gestion-de-memoria-de-java-8-de-oracle-2014","title":"Cambios importantes en la gesti\u00f3n de memoria de Java 8 de Oracle (2014)","text":"

              PermGen no pertenece al heap y los objetos no son promocionados a esta secci\u00f3n de memoria gestionada durante un GC. Como bien dices es un espacio contiguo al heap, pero tambi\u00e9n se limpia cada vez que la tenured/old generation procede a un GC. No es una generaci\u00f3n separada del mismo modo que es la young generation, y no hay un mecanismo espec\u00edfico para un GC separado de PermGen. La tenured/old generation y la permanent generation proceden a un GC cuando una de las dos se llena.

              De todos modos no me queda claro si incorporaron PermGen dentro del heap en Java 7, aunque poco importa ya con los cambios en Java 8.

              Mejor empiezo por introducir qu\u00e9 implementaci\u00f3n de JVM es Java 8 de Oracle. Existen numerosas implementaciones de JVM y cada una utiliza diferentes soluciones para la gesti\u00f3n de memoria.

              Dos de las soluciones m\u00e1s conocidas y populares de JVM han sido HotSpot de Sun (habitual en Tomcat) y JRockit de BEA (Weblogic). Ambas compa\u00f1ias fueron compradas por Oracle y Java 8 viene a ser la integraci\u00f3n definitiva de ambas soluciones.

              Hist\u00f3ricamente se consideraba que HotSpot es el JVM con mejor rendimiento de las dos, si bien JRockit es valorada como la m\u00e1s escalable.

              Originalmente en HotSpot no hab\u00eda generaci\u00f3n permanente. Objetos y clases de JVM se almacenaban juntas. Las clases de \u00e9sta JVM eran est\u00e1ticas y pr\u00e1cticamente no se utilizaban \u2018Class Loaders\u2019 (Load y Unload/Collection de Clases). PermGen surgi\u00f3 como una mejora de rendimiento. Por defecto los datos en la generaci\u00f3n permanente no se eliminan nunca (son datos de JVM y no de aplicaci\u00f3n, pudiendo variar seg\u00fan la p\u00f3l\u00edtica de garbage collection). Esto pod\u00eda llenar la generaci\u00f3n permanente generando un OutOfMemoryErrors si se produc\u00eda un elevado n\u00famero de classloading. En muchos casos un problema con una generaci\u00f3n permanente implica reiniciar regularmente la JVM y la aplicaci\u00f3n Java.

              Actualmente las clases de JVM son din\u00e1micas y el espacio requerido para metadatos puede cambiar f\u00e1cilmente.

              A diferencia de HotSpot VM, JRockit carece de generaci\u00f3n permanente y en cambio almacena los metadatos \u2018off the heap\u2019 en memoria nativa. Estos buffers de c\u00f3digo son liberados constantemente cuando sus ClassLoaders no se utilizan. El problema de OutOfMemory en JRockit no es diferente a HotSpot, excepto por el hecho de ser memoria nativa en lugar de memoria heap. Hay dos diferencias significativas. Primero, en JRockit la limpieza de metadatos est\u00e1 habilitada siempre por defecto y segundo, no hay tama\u00f1o l\u00edmite fijo para el espacio de metadatos. Uno de los principales problemas con HotSpot es su dificultad para seleccionar un tama\u00f1o adecuado para la generaci\u00f3n permanente. \u00bf128MB, 256MB? Es muy dif\u00edcil acertar para cada aplicaci\u00f3n. JRockit es din\u00e1mico en la gesti\u00f3n de memoria reservada para metadatos y sin l\u00edmites de tama\u00f1o (a excepci\u00f3n de la memoria del sistema). JRockit es tambi\u00e9n el \u00fanico JVM con soporte de heaps no contiguos (uso de memoria por encima y por debajo del alojamiento del kernel y otras librer\u00edas), importante en el caso de Windows donde su kernel a menudo se ubica en mitad del espacio de direcciones.

              Java 8 (HotRockit?) incorpora todas las herramientas de monitorizaci\u00f3n de HotSpot (Java VisualVM, jstat, jmap) y JRockit (Java Mission Control, Java Flight Recorder). Muy interesante.

              Un inconveniente de Java 8 es la fragmentaci\u00f3n de la memoria nativa para metadatos, pero probablemente incluya compactaci\u00f3n en un futuro pr\u00f3ximo.

              En el 2016 saldr\u00e1 Java 9 con la funcionalidad de auto-tuning y soporte de tama\u00f1os Heap multi-gigas.

              En cualquier caso hay una tendencia al Heap-Offloading. El consumo de memoria en Java tiene un coste y las pausas/latencias causadas por los Full GC son proporcionales al tama\u00f1o del heap. Estas pausas son notables en tama\u00f1os de heap > 1Gb, con un considerable impacto en aplicaciones de tiempo real donde un proceso que no responde r\u00e1pido puede ser descartado del cluster. A\u00fan as\u00ed, los servidores actuales hacen uso de frameworks muy pesados y f\u00e1cilmente requieren heaps > 4Gb. Una soluci\u00f3n a este problema es alojar fuera del heap los objetos poco utilizados mediante t\u00e9cnicas de serializaci\u00f3n/deserializaci\u00f3n (cach\u00e9). El heap de memoria se mantiene peque\u00f1o y el Full GC se completa en milisegundos. Ejemplos:

              1. cach\u00e9 de sesi\u00f3n de usuarios, donde un fichero mapeado en memoria almacena gigabytes de sesiones de usuarios inactivos. Una vez que el usuario hace log-in, la aplicaci\u00f3n dispone de todos sus datos sin ser necesaria una consulta a la BBDD.
              2. cach\u00e9 de resultados computacionales como queries, p\u00e1ginas html, etc (donde el coste computacional es mayor a la deserializaci\u00f3n)
              "},{"location":"java-and-java-performance-optimization/#slides","title":"Slides","text":"Click to expand! JVM Internals (2015) from Luiz Fernando Teston"},{"location":"java-and-java-performance-optimization/#tweets","title":"Tweets","text":"Click to expand!

              #Java on #Kubernetes pic.twitter.com/MRP0RwJWaG

              \u2014 Bruno Borges (@brunoborges) October 17, 2021

              Once, I spent 6 months of my adult life as a full time JVM tuner. I was hired to work on data processing pipelines but the job became being a JVM tuning machine.

              \u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) November 19, 2021

              Who knew that a @Java developer as the best job in the UK according to \u2066@Glassdoor\u2069. Feel lucky to be in the industry! pic.twitter.com/IIQAmJA95l

              \u2014 George Adams (@gdams_) February 3, 2022

              If you don't set a Garbage Collector for your #Java application, don't think the JVM will pick a good one for you either, no matter how many CPUs you give.2 CPUs? 6 CPUs? It doesn't matter. If your container has less than 1792 MB and you don't set a GC, your app will use Serial pic.twitter.com/06mr9TKkKn

              \u2014 Bruno Borges \ud83c\udde7\ud83c\uddf7\ud83c\uddfa\ud83c\udde6\ud83c\udde8\ud83c\udde6 (@brunoborges) March 2, 2022"},{"location":"java_app_servers/","title":"Server Vendors Providing Java EE/Jakarta EE and MicroProfile Runtimes","text":"
              1. Introduction. Jakarta EE (formerly J2EE)
              2. Payara
                1. Docker Hub images
              3. Red Hat JBoss EAP
              4. WildFly
              5. IBM WebSphere Liberty
              6. Alternatives
              7. Tweets
              "},{"location":"java_app_servers/#introduction-jakarta-ee-formerly-j2ee","title":"Introduction. Jakarta EE (formerly J2EE)","text":"
              • Install Java 23 in an Azure DevOps Pipeline - (Related to azure topic)

              • wikipedia: Jakarta EE

              "},{"location":"java_app_servers/#payara","title":"Payara","text":"
              • Wikipedia: Payara Server
              • Payara Java EE/Jakarta EE Application Server and MicroProfile implementation.
              • Dzone: Getting Started With Java EE 8, Payara 5 and Eclipse Oxygen
              "},{"location":"java_app_servers/#docker-hub-images","title":"Docker Hub images","text":"
              • Payara Image for the full profile of Payara Server
              • Payara Micro
              "},{"location":"java_app_servers/#red-hat-jboss-eap","title":"Red Hat JBoss EAP","text":"
              • Red Hat JBoss Enterprise Application Platform (JBoss EAP)
              • developers.redhat.com: Red Hat JBoss Enterprise Application Platform expansion pack 1.0 (JBoss EAP XP) released Red Hat recently released the first Red Hat JBoss Enterprise Application Platform expansion pack (JBoss EAP XP) version 1.0. This version enables JBoss EAP developers to build Java microservices using Eclipse MicroProfile 3.3 APIs while continuing to also support Jakarta EE 8. This article goes into detail on the nature of this new offering and an easy way to get started.
              "},{"location":"java_app_servers/#wildfly","title":"WildFly","text":"
              • WildFly
              • Dzone: Jakarta EE & Wildfly Running on Kubernetes Learn how to create a custom Wildfly instance that runs a Jakarta EE appplications through Kubernetes.
              • opensource.com: Get started with WildFly for Java web development WildFly is a popular choice for developers who want to develop enterprise-ready applications.
              "},{"location":"java_app_servers/#ibm-websphere-liberty","title":"IBM WebSphere Liberty","text":"
              • WebSphere Liberty from IBM
              "},{"location":"java_app_servers/#alternatives","title":"Alternatives","text":"
              • TomEE from Tomitribe
              • KumuluzEE
              "},{"location":"java_app_servers/#tweets","title":"Tweets","text":"Click to expand!

              Someone tweeted about Java 17 & 18 a few days ago. I just want you to know I am using Java 8 in my CS degree. I am not sure what that means tho\ud83d\ude31\ud83e\udd23

              \u2014 Ana\u00efs Urlichs \ud83d\udc22 (@urlichsanais) February 4, 2022

              "},{"location":"java_frameworks/","title":"Java and Java Programming Models. Open Source Microservices Frameworks","text":"
              1. Introduction
                1. How to migrate Java workloads to containers
                2. Existing Java Implementations
                  1. Which Version of JDK Should I Use?
                  2. Amazon Corretto OpenJDK distribution
                3. Use Java 11
                4. Java 17
                5. Java 18
                6. Java 19
              2. Java Programming Models (Frameworks)
              3. Jakarta EE
              4. Eclipse MicroProfile
                1. Server Vendors providing MicroProfile runtimes
              5. Hibernate
              6. Spring
                1. SpringBoot
                  1. SpringBoot with Docker
                  2. SpringBoot Tools
                  3. Endpoints for k8s probes exposed by SpringBoot
                    1. Demos
                  4. Spring Cloud
                    1. Spring Cloud Kubernetes
                    2. Spring Cloud Config and Spring Cloud Config Server
                    3. Secure Secrets with Spring Cloud Vault and alternatives
              7. Quarkus
              8. Kogito cloud-native business automation framework
              9. Thorntail (aka WildFly Swarm)
              10. Spring Boot VS MicroProfile
              11. Quarkus vs Spring Boot
              12. More Java Frameworks or Libraries
              13. Logging in Java
              14. Java Logger Implementations
              15. Java Testing Frameworks
              16. Debugging Java Threads
              17. Lombok
              18. Project Helidon
              19. Videos
              20. Images
              21. Tweets
              "},{"location":"java_frameworks/#introduction","title":"Introduction","text":"
              • reddit.com/r/java
              • medium.com/@javachampions : Java is still free
              • Oracle Java 11 and OpenJDK
              • developers.redhat.com: The future of Java and OpenJDK updates without Oracle support
              • redhat.com: The history and future of OpenJDK
              • javarevisited.blogspot.com: The 2020 Java Developer RoadMap \ud83c\udf1f
              • marcobehler.com: Java Versions and Features \ud83c\udf1f
              • advancedweb.hu: A categorized list of all Java and JVM features since JDK 8 to 14
              • JDK 15: The new features in Java 15 Just-arrived update to standard Java features text blocks, hidden classes, the Z Garbage Collector, and previews of pattern matching and records.
              • GitHub Welcomes the OpenJDK Project!
              • advancedweb.hu: A categorized list of all Java and JVM features since JDK 8 to 16
              • javaconceptoftheday.com: Java 9 Interface Private Methods
              • javatechonline.com: Making Java easy to learn - Microservices In Java \ud83c\udf1f The top five languages that are using Microservices are Java, Python, C++, Ruby and Golang. Although this data is based on the number of companies using it. Again Microservices in Java is leading the table.
              • java-success.com: 01: Q07 \u2013 Q12 Java Micro & Web services Interview Q&As
              • javatechonline.com: Making Java easy to learn - OOPs Design Principles
              • javatechonline.com: Making Java easy to learn - Spring Boot Annotations With Examples
              • dzone: Java Creator James Gosling Interview
              • infoq.com: Java 17, the Next Long-Term Support Release, is Now Available
              • developers.redhat.com: Shenandoah in OpenJDK 17: Sub-millisecond GC pauses
              • tschatzl.github.io: JDK 17 G1/Parallel GC changes
              • dzone: Choosing Library To Build Rest API in Java Java library for restful API, tech stack choices for building REST API in Java.
              • developers.redhat.com: Modernizing Enterprise Java: A cloud native guide for developers
              • medium.com/javarevisited: Top 5 Frameworks Java developers can learn for Microservices Development in 2022
              • java67.com: How to Create and Start Multiple Threads in Java? - Example Tutorial
              • foojay.io: Top 10 Java Language Features
              • geeksforgeeks.org: 5 Best Java Frameworks For Microservices
              • medium.com/@aritra.chatterjee_: Hexagonal architecture in java This article will implement the basic concepts of Hexagonal Architecture in Java.
              • betterprogramming.pub: Learn SOLID Design Principles in Java by Coding It An in-depth explanation of all SOLID Design Principles with real-world use cases and code examples
              • medium.com/javarevisited: Do you know about the different microservices frameworks for Java? \ud83c\udf1f
              "},{"location":"java_frameworks/#how-to-migrate-java-workloads-to-containers","title":"How to migrate Java workloads to containers","text":"
              • enterprisersproject.com: How to migrate Java workloads to containers: 3 considerations As IT teams weigh what to containerize and migrate to a cloud environment, they need to evaluate many Java workloads. Experts explain three key factors
              • piotrminkowski.com: Best Practices for Java Apps on Kubernetes \ud83c\udf1f
              "},{"location":"java_frameworks/#existing-java-implementations","title":"Existing Java Implementations","text":"
              • Oracle Java
                • blogs.oracle.com: Introducing the Free Java License (Java 17)
              • Oracle OpenJDK
              • IBM JDK (based on Eclipse OpenJ9)
              • Red Hat OpenJDK
              • AdoptOpenJDk (based on Eclipse OpenJ9)
              • docs.microsoft.com: Microsoft OpenJDK
              "},{"location":"java_frameworks/#which-version-of-jdk-should-i-use","title":"Which Version of JDK Should I Use?","text":"
              • http://whichjdk.com \ud83c\udf1f
              • piotrminkowski.com: Which JDK to Choose on Kubernetes \ud83c\udf1f
              "},{"location":"java_frameworks/#amazon-corretto-openjdk-distribution","title":"Amazon Corretto OpenJDK distribution","text":"
              • Amazon Corretto No-cost, multiplatform, production-ready distribution of OpenJDK. Corretto comes with long-term support that will include performance enhancements and security fixes. Amazon runs Corretto internally on thousands of production services and Corretto is certified as compatible with the Java SE standard. With Corretto, you can develop and run Java applications on popular operating systems, including Linux, Windows, and macOS.
              • Amazon has been putting a lot of effort into Java. One of the central themes has been the reduction of latency. - youtube: Amazon Corretto, A Journey into Latency Reduction Corretto is a multi-platform, production-ready distribution of OpenJDK, supported by Amazon. We will talk about the Corretto project, it\u2019s principals, and walk through examples that drove performance gains, latency reduction, and cost reduction in some of the biggest services in AWS.
              "},{"location":"java_frameworks/#use-java-11","title":"Use Java 11","text":"
              • It\u2019s time! Migrating to Java 11 \ud83c\udf1f
              • Oracle\u2019s Java 11 trap - Use OpenJDK instead! \ud83c\udf1f
              • AdoptOpenJDK 11 Is the New Default \ud83c\udf1f
              • All You Need To Know For Migrating To Java 11
              "},{"location":"java_frameworks/#java-17","title":"Java 17","text":"
              • tecmint.com: How to Install Java 17 on RHEL-based Linux Distributions
              • kstefanj.github.io: GC progress from JDK 8 to JDK 17 JVM with <5ms GC pauses (ZGC). JDK17 is a huge leap forward in benchmark after benchmark. Upgrade as fast as you can. Amazon\u2019s Corretto builds are available for a huge number of platforms and distribution channels. The JRE disappeared with jdk9: use jlink to assemble exactly the JRE you need.
              "},{"location":"java_frameworks/#java-18","title":"Java 18","text":"
              • openjdk.java.net: JEP 413: Code Snippets in Java API Documentation
              "},{"location":"java_frameworks/#java-19","title":"Java 19","text":"
              • infoq.com: Virtual Threads: New Foundations for High-Scale Java Applications
              "},{"location":"java_frameworks/#java-programming-models-frameworks","title":"Java Programming Models (Frameworks)","text":"
              • Best Java Frameworks Solutions The best Java Frameworks vendors are Apache Spark, Spring Boot, Oracle Application Development Framework (Oracle ADF), Jakarta EE, and Open Liberty. Apache is the top solution according to IT Central Station reviews and rankings. One reviewer writes: \u201cFast performance and has an easy initial setup\u201d, and another reviewer writes: \u201cEasy to use and is capable of processing large amounts of data\u201d. The 2nd best product is Spring Boot. A user writes: \u201cVery smooth implementation; excellent features for monitoring and tracking network calls \u201c, and another reviewer writes: \u201cMakes it difficult to support a specific functionality in a user-friendly manner, but simplifies application deployment\u201d.
              • Open Source Microservices Frameworks (frameworks for microservices development):
                • Spring
                • MicroProfile
              Java Programming Model Technology Cloud Native (microservices) Platform Java EEJava EE at a Glance Frontend + Backend Java EE Monoliths No Java EE Middleware Servers (WAS, WebLogic, JBoss EAP, etc) Jakarta EE (Java EE renamed) Frontend + Backend Yes OpenShift, Kubernetes, etc MicroProfile Backend (RESTful) Yes OpenShift, Kubernetes, etc SpringBoot (Spring) Backend (RESTful) Yes OpenShift, Kubernetes, etc Spring Cloud (Spring) Backend (RESTful) Yes OpenShift, Kubernetes, etc Quarkus Backend (RESTful) Yes OpenShift, Kubernetes, etc Thorntail Backend (RESTful) Yes OpenShift, Kubernetes, etc etc
              • dev.to: 5 Best Java Frameworks to Learn in 2022 for Microservices and Cloud Native Development
              "},{"location":"java_frameworks/#jakarta-ee","title":"Jakarta EE","text":"
              • developers.redhat.com: Jakarta EE 8: The new era of Java EE explained
              • developers.redhat.com: Making Java programs cloud-ready, Part 1: An incremental approach using Jakarta EE and MicroProfile
              • developers.redhat.com: Making Java programs cloud-ready, Part 2: Upgrade the legacy Java application to Jakarta EE
              "},{"location":"java_frameworks/#eclipse-microprofile","title":"Eclipse MicroProfile","text":"
              • Eclipse MicroProfile Project The Eclipse MicroProfile project is aimed at optimizing Enterprise Java for the microservices architecture.
                • Many innovative \u201cmicroservice\u201d Enterprise Java environments and frameworks already exist in the Java ecosystem. These projects are creating new features and capabilities to address microservice architectures \u2013 leveraging both Java EE and non-Java EE technologies.
                • The goal of the Eclipse MicroProfile project is to iterate and innovate in short cycles to propose new common APIs and functionality, get community approval, release, and repeat. Eventually, the outputs of this project could be submitted to the Eclipse Jakarta EE, JCP, OpenJDK or any relevant standards body.
              • MicroProfile.io Optimizing Enterprise Java for a Microservices Architecture
              • developers.redhat.com: Eclipse MicroProfile for Spring Boot developers
              • Eclipse MicroProfile: 5 Things You Need to Know \ud83c\udf1f
              • developers.redhat.com: Develop Eclipse MicroProfile applications on Red Hat JBoss Enterprise Application Platform Expansion Pack 1.0 with Red Hat CodeReady Workspaces
              • infoq.com: Virtual Panel: The MicroProfile Influence on Microservices Frameworks
              "},{"location":"java_frameworks/#server-vendors-providing-microprofile-runtimes","title":"Server Vendors providing MicroProfile runtimes","text":"
              • WebSphere Liberty from IBM
              • TomEE from Tomitribe
              • Payara
              • RedHat\u2019s WildFly Swarm
              • KumuluzEE

              ## Hibernate

              • medium: Multi-Tenancy Implementation using Spring Boot + Hibernate \ud83c\udf1f
              • stackoverflow.com: How to map a MySQL JSON column to a Java entity property using JPA and Hibernate
              • vladmihalcea.com: How to encrypt and decrypt data with Hibernate
              • vladmihalcea.com: Optimistic vs. Pessimistic Locking (hibernate)
              • stackoverflow.com: What are the differences between the different saving methods in Hibernate?
              "},{"location":"java_frameworks/#spring","title":"Spring","text":"
              • Spring
              • Spring Framework Architecture \ud83c\udf1f
              • javatutorial.net: Introduction to Spring Web Framework
              • javarevisited.blogspot.com: 10 JdbcTemplate Examples in Spring Framework
              • medium.com: Top 10 Courses to Learn Microservices in Java and Spring Framework
              • dzone: How to Create Microservices Using Spring \ud83c\udf1f Let\u2019s consider the use case of BookMyHotel Web Application, developed by a company known as MyInternetSolutions.
              • spring.io: A Java 17 and Jakarta EE 9 baseline for Spring Framework 6
              • blog.frankel.ch: Annotation-free Spring
              • java67.com: 10 Spring Framework Annotations Java Developer should learn - Example Tutorial
              • javarevisited.blogspot.com: Role based Access control using Spring Security and MVC, Mapping LDAP Groups to Authorities for Authorization
              • odedia.org: Production Considerations for Spring on Kubernetes \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
              "},{"location":"java_frameworks/#springboot","title":"SpringBoot","text":"
              • SpringBoot
              • dzone: All About Spring Boot (Tutorials and Articles)
              • jaxenter.com: CI/CD for Spring Boot Microservices: Part 1
              • jaxenter.com: CI/CD for Spring Boot Microservices: Part 2. Extending CI/CD: Kubernetes Continuous Deployment for Microservices
              • dzone: Deploying Spring Boot App to JBoss Wildfly
              • Spring Boot: \u00bfwar o jar? Ambos
              • javatutorial.net: Spring vs. Java EE
              • 10 Free Spring Boot Courses and Tutorials for Java Developers
              • Spring Boot Istio library: Spring Boot library for integration with Istio
              • Spring Boot native images. The path towards Spring Boot native applications
              • piotrminkowski.com: Best practices for microservices on kubernetes \ud83c\udf1f
              • piotrminkowski.com: Spring Boot Autoscaling on kubernetes \ud83c\udf1f
              • spring.io: What\u2019s new in Spring Boot 2.4 \ud83c\udf1f
                • Changes to Application properties/yaml
              • arnoldgalovics.com: Java and Spring Boot multiline log support for Fluentd (EFK stack)
              • developers.redhat.com: Spring Boot on Quarkus: Magic or madness?
              • codecentric\u2019s Spring Boot Admin UI \ud83c\udf1f Admin UI for administration of spring boot applications
              • piotrminkowski.com: Spring Boot Tips, Tricks and Techniques
              • javatechonline.com: How To Work With Apache Kafka In Spring Boot?
              • dzone: How To Run the Spring Boot Application as a Stand-Alone Java Application In this Spring Boot video tutorial, take a closer look at how to run the Spring Boot application as a stand-alone Java application and RESTful Web Services.
              • vladmihalcea.com: The best way to log SQL statements with Spring Boot
              • javarevisited.blogspot.com: Spring Boot + Angular Example Tutorial for Java Developers
              • piotrminkowski.com: Distributed Transactions in Microservices with Kafka Streams and Spring Boot
              • vladmihalcea.com: Spring Boot Application Properties \ud83c\udf1f
              • javarevisited.blogspot.com: How to log SQL statements in Spring Boot? Example Tutorial
              • geeksforgeeks.org: Best way to master spring boot , a complete roadmap
              • medium.com/shoutloudz: Microservice: Developing an Authentication Service using Spring Boot
              • java67.com: How to set the logging level with application.properties in Spring Boot - Example Tutorial
              • medium.com/@hubian: 16 Best Practices in Spring Boot Production \ud83c\udf1f
              • javaguides.net: Event-Driven Microservices using Spring Boot and Kafka
              • piotrminkowski.com: Microservices with Spring Boot 3 and Spring Cloud \ud83c\udf1f
              • javaguides.net: Spring Boot 3 REST API Documentation using SpringDoc OpenAPI
              • javaguides.net: Spring Boot Microservices - Spring Cloud API Gateway
              • Spring Boot Complete Guide
              "},{"location":"java_frameworks/#springboot-with-docker","title":"SpringBoot with Docker","text":"
              • spring.io: spring boot with docker
              • spring.io: Creating Docker images with Spring Boot 2.3.0.M1
              • learnk8s.io: Developing and deploying Spring Boot microservices on Kubernetes
              • youtube: Creating Docker Images With Spring Boot
              • dev.to: The Simple Guide To Dockerizing Spring Boot
              • infoq.com: Spring Boot 2.6 Improves Docker Images and Metrics, Version 2.4 Is EOL
              • dev.to/francescoxx: Java CRUD Rest API using Spring Boot, Hibernate, Postgres, Docker and Docker Compose
              "},{"location":"java_frameworks/#springboot-tools","title":"SpringBoot Tools","text":"
              • High-level abstractions/tools to run SpringBoot application on kubernetes without having to write 10,000 lines YAML. Tools that can automate the generation of Kubernetes manifests, so you concentrate only on building your business logic. Dekorate even supports annotations spring-like @KubernetesApplication(name=\"my-app\") in your code, that generates your deployment manifest yml:
              • odo CLI tool
              • Dekorate Java library, has a Spring Boot support
              • JKube Maven plugin
              • Skaffold \u2013generate-manifests
              • Spring Cloud Kubernetes
              • testcontainers-spring-boot \ud83c\udf1f Container auto-configurations for spring-boot based integration tests. If you use Testcontainers with Spring Boot Hoja balance\u00e1ndose en el viento you may be interested in the Playtika_Ltd Testcontainers library that provides auto-configurations for springboot based integration tests. It contains modules e.g. for kafka rabbitmq mongodb
              • github.com/piomin/spring-boot-logging A library for logging HTTP request/response for Spring Boot application and integration with Elastic Stack
              "},{"location":"java_frameworks/#endpoints-for-k8s-probes-exposed-by-springboot","title":"Endpoints for k8s probes exposed by SpringBoot","text":"
              • Spring Boot provides the built-in Actuator feature to generate and expose endpoints for Kubernetes liveness/readiness probes:
                • We need to enable it in config
                • We can select components to analyze
                • We can expose a probe on the app main port even if mgmt port is configured
              • github.com/spring-projects: springboot enables these probes automatically when running in k8s

              Spring Boot\ud83c\udf43 provides the built-in Actuator feature to generate and expose endpoints for Kubernetes liveness/readiness probes.1\u20e3 We need to enable it in config 2\u20e3 We can select components to analyze3\u20e3 We can expose a probe on the app main port even if mgmt port is configured pic.twitter.com/h7mA5W0zUH

              \u2014 Piotr Mi\u0144kowski (@piotr_minkowski) February 24, 2023

              "},{"location":"java_frameworks/#demos","title":"Demos","text":"
              • Salaboy/From Monolith to K8s Workshop-style guide for rearchitecting a Java Monolith application to a Cloud Native architecture running in Kubernetes
              • dyser/kubernetes-intro
              "},{"location":"java_frameworks/#spring-cloud","title":"Spring Cloud","text":"
              • Spring Cloud
              "},{"location":"java_frameworks/#spring-cloud-kubernetes","title":"Spring Cloud Kubernetes","text":"
              • github: Spring Cloud Kubernetes \ud83c\udf1f
              • piotrminkowski.com: Microservices with spring cloud kubernetes
              "},{"location":"java_frameworks/#spring-cloud-config-and-spring-cloud-config-server","title":"Spring Cloud Config and Spring Cloud Config Server","text":"
              • Spring Cloud Config
              • Spring Cloud Config Server: Git Backend
              • developer.okta.com: Spring Cloud Config for Shared Microservice Configuration
              • redhat.com: Spring Boot Microservices on Red Hat OpenShift Container Platform 3 - Software Stack - Externalized Configuration Spring Cloud Config provides server and client-side support for externalized configuration in a distributed system. With the Config Server you have a central place to manage external properties for applications across all environments.
              • dzone: Spring Cloud Config Server on Kubernetes (Part 1)
              • piotrminkowski.com: Spring Microservices Security Best Practices \ud83c\udf1f
              • baeldung.com: Using Spring Cloud Config Without Git
              "},{"location":"java_frameworks/#secure-secrets-with-spring-cloud-vault-and-alternatives","title":"Secure Secrets with Spring Cloud Vault and alternatives","text":"
              • cloud.spring.io: Spring Cloud Vault \ud83c\udf1f
              • developer.okta.com: Secure Secrets With Spring Cloud Config and Vault \ud83c\udf1f Nowadays it is widely recommended to never store secret values in code. Therefore, this tutorial will demonstrate the following alternatives:
                • Using environment variables for Spring Boot secrets
                • Secrets encryption with Spring Cloud Config
                • Secrets management with HashiCorp\u2019s Vault
                • Using Spring Cloud Vault
              "},{"location":"java_frameworks/#quarkus","title":"Quarkus","text":"
              • quarkus.io Quarkus is a Kubernetes-native Java stack that is crafted from best-of-breed Java libraries and standards, and tailored for containers and cloud deployments
              • Quarkus Images This repository contains the container images used by Quarkus.
              • quarkus.io: Quarkus for Spring Developers
              • redhat.com: Red Hat drives future of Java with cloud-native, container-first Quarkus
              • developers.redhat.com: Quarkus: A quick-start guide to the Kubernetes-native Java stack
              • quarkus.io: Quarkus support in IDE\u2019s
              • dzone: quarkus refcard
              • dzone: Build a Java REST API With Quarkus
              • developers.redhat.com: Autowire MicroProfile into Spring with Quarkus
              • dmcommunity.org: Who will win? Spring Boot or Quarkus
              • developers.redhat.com: How Quarkus brings imperative and reactive programming together
              • developers.redhat.com: Migrating a Spring Boot microservices application to Quarkus
              • Quarkus, a Kubernetes-native Java runtime, now fully supported by Red Hat
              • The road to Quarkus GA: Completing the first supported Kubernetes-native Java stack
              • containerjournal.com: Red Hat Adds Java Runtime for Kubernetes to Subscription Quarkus provides access to a library of more than 200 extensions, including tools such as RESTEasy, Hibernate and Eclipse MicroProfile, along with specific extensions fo Red Hat cloud services such as Red Hat AMQ Streams, Red Hat AMQ Broker and Red Hat Fuse.
              • developers.redhat.com: Quarkus and Jakarta EE: Together, or not?
              • youtube: CyberJUG-HH:Why is everybody talking about Quarkus? In this (Why is everybody talking about Quarkus?) Java User Group Hamburg (CyberJUG-HH) session I highlighted possible reasons for Quarkus\u2019 popularity, explained Quarkus\u2019 optimisation tricks, the differences between Jakarta EE / J2EE / Java EE application servers and Quarkus, discussed the role of MicroProfile and Jakarta EE, migrated a Java EE application to Quarkus, performed multiple deployments, decompiled some code, measured memory consumption and finally cross compiled the Java service to native code using GraalVM.
              • developers.redhat.com: Build an API using Quarkus from the ground up \ud83c\udf1f
              • developers.redhat.com: RESTEasy Reactive and more in Quarkus 2.0
              • opensource.com: 3 reasons Quarkus 2.0 improves developer productivity on Linux \ud83c\udf1f New features in Quarkus 2.0 make it easier to test code in the developer console.
              • developers.redhat.com: Deploy Quarkus everywhere with Red Hat Enterprise Linux (RHEL)
              • infoq.com: Quarkus 2.0 Delivers Continuous Testing, CLI and Supports Minimal JDK 11
              • Quarkus - Dev UI \ud83c\udf1f
              • dzone: A Java developer\u2019s guide to Quarkus A new eBook demonstrates how developers can keep using the Java framework to build new serverless functions.
              • developers.redhat.com: Why should I choose Quarkus over Spring for my microservices?
              • Quarkus Tip: if you DON\u2019T set a database URL, user, and password, QuarkusIO automatically starts your database using testcontainers if a Docker daemon is running. It is enabled in dev, test mode and applies to e.g. postgresql, mysql and mongodb.
              • developers.redhat.com: Quarkus for Spring developers: Getting started \ud83c\udf1f
              • dzone refcard: Getting Started With Quarkus Serverless Functions
              • piotrminkowski.com: Quarkus Tips, Tricks and Techniques \ud83c\udf1f
              • developers.redhat.com: Boost throughput with RESTEasy Reactive in Quarkus 2.2
              • javaadvent.com: You need more than containers. A short history of the mess we\u2019re in
              • developers.redhat.com: Quarkus for Spring developers: Kubernetes-native design patterns
              • infoq.com: Kubernetes Native Java with Quarkus
              • auth0.com: Java Microservices with Spring Boot and Spring Cloud This tutorial shows you how to build a microservices architecture with Spring Boot and Spring Cloud.
              "},{"location":"java_frameworks/#kogito-cloud-native-business-automation-framework","title":"Kogito cloud-native business automation framework","text":"
              • redhat.com: Cloud-native business automation with Kogito
              • kie.org Kogito is the next generation of business automation platforms focused on cloud-native development, deployment, and execution. Kogito is composed of the battle-tested projects of the KIE group: Drools, jBPM, and OptaPlanner.
                • kogito.kie.org
              "},{"location":"java_frameworks/#thorntail-aka-wildfly-swarm","title":"Thorntail (aka WildFly Swarm)","text":"
              • Red Hat Thorntail is a framework based on the popular WildFly Java application server to enable the creation of small, stand-alone microservice-based applications. Thorntail is capable of producing so-called just enough app-server to support each component of your system.
              "},{"location":"java_frameworks/#spring-boot-vs-microprofile","title":"Spring Boot VS MicroProfile","text":"
              • Dzone: Programming Styles Compared: Spring Framework vis-a-vis Eclipse MicroProfile \ud83c\udf1f\ud83c\udf1f
              • ibm.com: Java Microservices with MicroProfile \u2013 RESTful APIs and Dependency Injection. For microservices-based Java apps, knowing how to create REST APIs is an essential skill. Eclipse MicroProfile makes it easier Spring Boot or MicroProfile for Java microservices apps? Choose the path of least resistance. The Spring Boot and MicroProfile frameworks have many of the same goals (i.e., you can do everything in MicroProfile that you can do in Spring Boot). Both of them are built on top of the same core APIs; even though there are differences in some of the APIs, the work they do is similar.
              "},{"location":"java_frameworks/#quarkus-vs-spring-boot","title":"Quarkus vs Spring Boot","text":"
              • dzone: Microservices: Quarkus vs. Spring Boot In the era of containers (the \u2018\u2019Docker Age\u2019\u2018) Java is still on top, but which is better? Spring Boot or Quarkus?
              "},{"location":"java_frameworks/#more-java-frameworks-or-libraries","title":"More Java Frameworks or Libraries","text":"
              • JPA streamer \ud83c\udf1f JPAstreamer is a library for expressing JPA/Hibernate queries as Java streams. It can be also integrated with Spring.
              • logbook An extensible Java library for HTTP request and response logging
              "},{"location":"java_frameworks/#logging-in-java","title":"Logging in Java","text":"
              • medium.com/javarevisited: Logging in Java \u2014 Log4j vs Logback vs SLF4J \ud83c\udf1f
              "},{"location":"java_frameworks/#java-logger-implementations","title":"Java Logger Implementations","text":"
              • GoodforGod/java-logger-benchmark JMH Benchmark for different Java Logger implementations.
              "},{"location":"java_frameworks/#java-testing-frameworks","title":"Java Testing Frameworks","text":"
              • dzone: The Best Java Testing Frameworks to focus in 2021 Java Testing Frameworks provide standardized, extendable ways for programmers and developers to build any software application or web apps.
              • jfrunit A JUnit extension for asserting JDK Flight Recorder events
                • morling.dev: Introducing JfrUnit 1.0.0.Alpha1
              "},{"location":"java_frameworks/#debugging-java-threads","title":"Debugging Java Threads","text":"
              • java-success.com: 5 Ways to debug thread-safety issues in Java
              "},{"location":"java_frameworks/#lombok","title":"Lombok","text":"
              • https://projectlombok.org
              • adictosaltrabajo.com: C\u00f3mo reducir el c\u00f3digo repetitivo con Lombok
              • reflectoring.io: When Should I Use Project Lombok? Lombok is a loved and hated library in the Java world. It removes the need for boilerplate code but it may also introduce some subtle issues. This article shows some pros and cons so you can decide for yourself whether to use it.
              "},{"location":"java_frameworks/#project-helidon","title":"Project Helidon","text":"
              • Helidon.io
              • developer.okta.com: Build REST APIs and Native Java Apps with Helidon
              "},{"location":"java_frameworks/#videos","title":"Videos","text":"Click to expand!"},{"location":"java_frameworks/#images","title":"Images","text":"Click to expand!"},{"location":"java_frameworks/#tweets","title":"Tweets","text":"Click to expand!

              Imagine needing to spend less\ud83d\ude09Guess what minimum heap size you need to run a @QuarkusIO 2.0 *on JVM* to run a simple CRUD endpoint? (no toy: including @Hibernate , @resteasy, Jackson, JTA transactions, DB connection pool, caching, @vertx_project ,Netty, CDI via ArC, ...)

              \u2014 Sanne (@SanneGrinovero) July 2, 2021

              I'm observing @QuarkusIO for a long time. I think it's time to consider migration from Spring Boot into Quarkus especially if you develop on the Kubernetes-native platform. You may expect some tips in the near future - smth similar to #SpringBootTip series some months ago.

              \u2014 Piotr Mi\u0144kowski (@piotr_minkowski) September 2, 2021

              Quarkus Tip \ud83d\udca1You can deploy the @QuarkusIO application to #Kubernetes without creating any #YAMLs manually. To do that you should include the Quarkus Kubernetes module, use dedicated application properties, and enable deployment during your Maven build. \ud83d\udc47\ud83d\udc47\ud83d\udc47\ud83c\udff7\ufe0f #QuarkusTips pic.twitter.com/pju8vVYBz7

              \u2014 Piotr Mi\u0144kowski (@piotr_minkowski) September 8, 2021

              Quarkus Tip \ud83d\udca1You can easily build and run a native Quarkus @graalvm image on OpenShift using a single `oc` command and `ubi-quarkus-native-s2i` image builder. Such a build is performed fully on the cluster side. \ud83d\udc47\ud83c\udff7\ufe0f #QuarkusTips pic.twitter.com/98fCXNUWv6

              \u2014 Piotr Mi\u0144kowski (@piotr_minkowski) September 9, 2021

              Java 8 best practices cheat sheet: pic.twitter.com/jbyzbxJs28

              \u2014 Java Guides (@GuidesJava) December 12, 2021

              5+ excellent GitHub repositories for every Java developer #github #Java Thread \ud83d\udc47

              \u2014 Java Guides (@GuidesJava) January 7, 2022

              Best Java blog websites for Java developersThread \ud83d\udc47

              \u2014 Java Guides (@GuidesJava) January 9, 2022

              Java programmer roadmap pic.twitter.com/KKdK0hdBB2

              \u2014 javinpaul (@javinpaul) July 1, 2022

              Spring and spring boot annotations: pic.twitter.com/CwPxJabliI

              \u2014 Java Guides (@GuidesJava) October 15, 2022

              The best ways to waste time in discussions in the Java world:- Lombok VS. non-Lombok- ORMs VS. JDBC- Spring VS. JakartaEEPSA: All of them are pointless. Save your time. Go ahead and work on stuff you consider important instead.

              \u2014 Oliver Drotbohm \ud83e\udd41 & \ud83d\udc68\u200d\ud83d\udcbb (@odrotbohm) November 23, 2022

              Java Collections cheat sheet: pic.twitter.com/X06xq0pCbL

              \u2014 Java Guides (@GuidesJava) December 17, 2022

              Spring Annotations cheat sheet:Reference: linkedin pic.twitter.com/GoEKSuyVrZ

              \u2014 Java Guides (@GuidesJava) December 27, 2022

              Spring Boot Tip\ud83c\udf43\ud83d\udca1Make your app logs more colorful \ud83d\ude09Config in the `application.yml` file\ud83d\udc47logging: pattern: console: \"%clr(%d{HH:mm:ss.SSS}){blue} %clr(---){cyan} %clr([%15.15t]){yellow} %clr(:){red} %clr(%m){magenta}%n\" pic.twitter.com/y5wQcDyN4K

              \u2014 Piotr Mi\u0144kowski (@piotr_minkowski) February 24, 2023

              Spring Boot\ud83c\udf43 provides the built-in Actuator feature to generate and expose endpoints for Kubernetes liveness/readiness probes.1\u20e3 We need to enable it in config 2\u20e3 We can select components to analyze3\u20e3 We can expose a probe on the app main port even if mgmt port is configured pic.twitter.com/h7mA5W0zUH

              \u2014 Piotr Mi\u0144kowski (@piotr_minkowski) February 24, 2023

              2k followers on GitHub :) If you are looking for examples related to Java, Kubernetes, Spring Boot etc. for sure you will find smth for yourself amongst my repos: https://t.co/8ORKKxSYAW pic.twitter.com/r6VyDorq5g

              \u2014 Piotr Mi\u0144kowski (@piotr_minkowski) May 5, 2023"},{"location":"javascript/","title":"JavaScript","text":"
              1. Introduction
              2. Useful websites for web developers
              3. Learning javascript by @Madisonkanna
              4. Node.js
              5. Npm
              6. More Frontend JavaScript Frameworks
              7. Videos
              8. Tweets
              "},{"location":"javascript/#introduction","title":"Introduction","text":"
              • wikipedia: JavaScript
              • v8.dev: Google\u2019s open source high-performance JavaScript and WebAssembly engine.
              • dev.to: JavaScript Objects
              • dev.to: JavaScript Arrays and its Methods
              • dev.to: Getting Started with JavaScript Modules
              • dev.to: Username Validator Usernames should be formatted and they should conform to follow some validation constraints.
              • freecodecamp.org: HTTP Networking in JavaScript \u2013Handbook for Beginners
              • dev.to: How to add In-App notifications to any web app!
              • freecodecamp.org: Web Storage API \u2013 How to Store Data on the Browser
              "},{"location":"javascript/#useful-websites-for-web-developers","title":"Useful websites for web developers","text":"
              • useHooks - React Hooks Library \ud83c\udf1f - A comprehensive collection of modern, server-safe React Hooks designed to simplify common UI and state management tasks. Includes hooks for debouncing, local storage, window resizing, and more, with examples and easy npm installation.
              • IntelliJ vs. VSCode for Rust Development - (Related to devel-sites topic)

              • canva.com Create cover images, graphs, videos and more

              • mockuper.net Mockups generator
              • cssnectar.com Website design showcase
              • bgjar.com SVG background image generator
              • npkill.js.org Easily find and remove old and heavy node_modules folders
              "},{"location":"javascript/#learning-javascript-by-madisonkanna","title":"Learning javascript by @Madisonkanna","text":"
              1. Variables + Scoping: Declaring JavaScript Variables: var, let and const
              2. Types: Understanding Data Types in JavaScript
              3. Objects, functions & arrays: Intro to Web Dev V2
              4. The DOM: What exactly is the DOM?!
              5. Prototypes + this: A Beginner\u2019s Guide to JavaScript\u2019s Prototype
              6. Events: \u201cWhat the heck is the event loop anyway?\u201d By @philip_roberts
              7. Flow control: For Loops - Beau teaches JavaScript
              8. Security and Accessibility: Web Accessibility
              9. Good to know - How to write clean code: Clean code concepts adapted for JavaScript
              10. Async JavaScript. Another epic tutorial by Tyler McGinnis Async JavaScript: From Callbacks, to Promises, to Async/Await
              11. Other things good to know but don\u2019t need to necessarily master as a beginner: closures, Ajax requests, modules. To listen to the episode that inspired this thread: The Fundamentals \u2014 JS
              "},{"location":"javascript/#nodejs","title":"Node.js","text":"
              • Koa.js - (Related to web-servers topic)

              • wikipedia: Node.js

              • nodejs.org
              • github.com/nodejs/node
              • developers.redhat.com: Introduction to the Node.js reference architecture, Part 5: Building good containers
              • dev.to: How to build 7,000+ REST APIs within 2 mins (Node.js + MySQL) !!
              "},{"location":"javascript/#npm","title":"Npm","text":"
              • Npm
              • npm has joined GitHub
              "},{"location":"javascript/#more-frontend-javascript-frameworks","title":"More Frontend JavaScript Frameworks","text":"
              • Clean Architecture on Frontend - (Related to aws-architecture topic)

              • cult.honeypot.io: Best Frontend JavaScript Frameworks To Learn 2021

              • react js: mithi/react-philosophies Things I think about when I write React code
              "},{"location":"javascript/#videos","title":"Videos","text":"Click to expand!"},{"location":"javascript/#tweets","title":"Tweets","text":"Click to expand!

              If you're learning JavaScript, you've likely heard people tell you how important it is to learn the fundamentals.But what are they? And where do you learn them?Here's a list of JavaScript fundamentals and my favorite free resources for learning them. \ud83d\udc47

              \u2014 Madison Kanna (@Madisonkanna) June 20, 2020"},{"location":"jenkins-alternatives/","title":"Jenkins Alternatives for Continuous Integration and Continuous Deployment","text":"
              1. Introduction and Comparisons
              2. Alternatives
                1. Circle CI
                2. Travis CI
                3. Concourse
                4. Atlassian CI/CD
                5. GitHub Actions
                6. Ketpn
                7. Azure DevOps
                8. ShuttleOps
                9. HashiCorp Waypoint
                10. OneDev
                11. TeamCity
                12. Octopus Deploy
                13. JFrog
                  1. JFrog DevOps Platform
                14. Semaphore
                15. Devtron
              3. Cloud Native CI/CD
                1. Jenkins X
                2. Spinnaker
                3. ArgoCD
                4. Tekton
                5. Jenkins X and Tekton on OpenShift
                6. HAT is the acronym for Helm, ArgoCD and Tekton
                7. Dagger
              4. Integration with other CI/CD engines
              5. Images
              6. Slides
              7. Tweets
              "},{"location":"jenkins-alternatives/#introduction-and-comparisons","title":"Introduction and Comparisons","text":"
              • lambdatest.com: 21 Of The Best Jenkins Alternatives For Developers
              • inovex.de: Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI/CD
              • medium: Top 7 Best CI/CD Tools you should get your hands on in 2020
              • dzone: Jenkins vs GitLab CI: Battle of CI/CD Tools The battle of CI/CD tools rages on \u2014 come and find out which is the right tool for your DevOps testing needs.
              • lambdatest.com: TeamCity vs. Jenkins: Picking The Right CI/CD Tool
              • cBamboo vs Jenkins: Showdown Of CI/CD Tools
              • blog.thundra.io: The CI/CD War of 2021: A Look at the Most Popular Technologies
              • lambdatest.com: CircleCI Vs. GitLab: Choosing The Right CI/CD Tool
              • acloudguru.com: Azure DevOps vs GitHub: Comparing Microsoft\u2019s DevOps Tools \ud83c\udf1f
              • medium: Choosing a CI that grows at the same pace as a scale-up \ud83c\udf1f
                • Tekton
                • Argo
                • GitHub Actions
                • Jenkins X
                • OpenShift Pipelines
                • Circle CI
                • GitLab
              • devops.com: Best of 2021 \u2013 7 Popular Open Source CI/CD Tools
              • lambdatest.com: Jenkins vs Travis vs Bamboo vs TeamCity: Clash Of The Titans
              "},{"location":"jenkins-alternatives/#alternatives","title":"Alternatives","text":"
              • Buildbot - (Related to cicd topic)

              • Cloudbees Flow

              • GitLab CI
              • Prow
              • Agola
              • harness.io
                • harness.io: AutoStopping Rules For Kubernetes Clusters Harness Intelligent Cloud AutoStopping Rules help manage your resources automatically to make sure that they run only when used, never when idle.
                • harness.io: Migrating CD Jenkins Pipelines To Harness Using Helm
              • Drone
                • medium: Goodbye Jenkins: How Drone Simplifies CI/CD for Engineering Teams Everywhere
              • Buildbot
              • GoCD
              • Codefresh
              • skaffold Local Kubernetes Development. Skaffold handles the workflow for building, pushing and deploying your application, allowing you to focus on what matters most: writing code.
              • AWS DevOps - CICD
              • Google Cloud Build
              • Kubeflow The Machine Learning Toolkit for Kubernetes
              • Screwdriver API Screwdriver is a self-contained, pluggable service to help you build, test, and continuously deliver software using the latest containerization technologies.
              "},{"location":"jenkins-alternatives/#circle-ci","title":"Circle CI","text":"
              • Circle CI
              • Getting started with Kubernetes: how to set up your first cluster
              • Adding approval jobs to your CI pipeline
              • Building CI/CD pipelines using dynamic config
              • Managing reusable pipeline configuration with object parameters
              • dev.to: CI/CD: Automating our build and deploy process
              • circleci.com: Performing database tests on SQL databases
              "},{"location":"jenkins-alternatives/#travis-ci","title":"Travis CI","text":"
              • Travis CI
              • lambdatest.com: How To Build Your First CI/CD Pipeline With Travis CI?
              "},{"location":"jenkins-alternatives/#concourse","title":"Concourse","text":"
              • Concourse
              • Building a continious deployment pipeline with Kubernetes and Concourse-CI
              "},{"location":"jenkins-alternatives/#atlassian-cicd","title":"Atlassian CI/CD","text":"
              • Atlassian CI/CD
              • Bamboo
              • lambdatest.com: How To Setup CI/CD Pipeline With Bamboo For PHP Projects
              "},{"location":"jenkins-alternatives/#github-actions","title":"GitHub Actions","text":"
              • GitHub Actions CI/CD
              • docs.github.com: Learn GitHub Actions
              • blog.bitsrc.io: Github Actions or Jenkins? Making the Right Choice for You GitHub Actions and Jenkins both get the job done. Let\u2019sfind out whether it\u2019s worth considering moving from Jenkins.
              • particule.io: Automatic build with Github Actions and Github Container Registry
              • proandroiddev.com: Improving CI/CD pipeline for Android via Fastlane and GitHub Actions
              • redhat-actions
              • redhat-actions/openshift-actions-runner
                • redhat.com: Red Hat and GitHub Collaborate to Expand the Developer Experience on Red Hat OpenShift with GitHub Actions Industry\u2019s leading enterprise Kubernetes platform now integrates with GitHub, bringing DevOps automation tools from the world\u2019s largest developer platform into the OpenShift ecosystem
              • Awesome GitHub Actions
              • yokawasa/action-setup-kube-tools A GitHub Action that setupKubernetes tools (kubectl, kustomize, helm, kubeval, conftest, yq) and cache them on the runner. It is like a typescriptversion of stefanprodan/kube-tools with no command input param, but it\u2019s very fast as it installs the tools asynchronously.
              • summerwind/actions-runner-controller This controller operatesself-hosted runners for GitHub Actions on your Kubernetes cluster.
              • towardsdatascience.com: Jenkins for CI Is Dead: Why Do People Hate It and What\u2019s the Alternative? GitHub actions How toautomatically build your Docker images; a case study.
              "},{"location":"jenkins-alternatives/#ketpn","title":"Ketpn","text":"
              • Keptn
              "},{"location":"jenkins-alternatives/#azure-devops","title":"Azure DevOps","text":"
              • Azure DevOps
              • k21academy.com: Azure pipelines VS Jenkins
              "},{"location":"jenkins-alternatives/#shuttleops","title":"ShuttleOps","text":"
              • shuttleOps
              • thenewstack.io: ShuttleOps: No-Code Docker and Kubernetes
              "},{"location":"jenkins-alternatives/#hashicorp-waypoint","title":"HashiCorp Waypoint","text":"
              • HashiCorp Waypoint
              • hashicorp.com: Announcing HashiCorp Waypoint
              "},{"location":"jenkins-alternatives/#onedev","title":"OneDev","text":"
              • onedev
              • Hands-on GitOps with OneDev and Kubernetes
              "},{"location":"jenkins-alternatives/#teamcity","title":"TeamCity","text":"
              • TeamCity
              • jetbrains.com: Storing Project Settings in Version Control
              • blog.jetbrains.com: Configuration as Code, Part 1: Getting Started with Kotlin DSL
              • github.com/OctopusDeploy/Octopus-TeamCity: JetBrains TeamCity plugin to trigger releases on build completion
              "},{"location":"jenkins-alternatives/#octopus-deploy","title":"Octopus Deploy","text":"
              • Octopus Deploy - deployment tool
              • octopus.com: Deployment process as code If youwant to do Octopus configuration as code today, we recommend using our .NET SDK which will always be supported. The Terraformprovider will be a simpler, more declarative approach, that we will support in the future.
              • registry.terraform.io: octopusdeploy Provider
              • github.com/OctopusDeploy/go-octopusdeploy Go API Client for OctopusDeploy. A Go client for the Octopus Deploy API. This client is used by the Octopus Deploy Terraform Provider.
              "},{"location":"jenkins-alternatives/#jfrog","title":"JFrog","text":"
              • JFrog Pipelines
              • Shippable (now part of JFrog Pipelines)
              "},{"location":"jenkins-alternatives/#jfrog-devops-platform","title":"JFrog DevOps Platform","text":"
              • jfrog.com: JFrog DevOps Platform
              • jfrog.com: Pipelines CI/CD and the JFrog Platform Difference
              • jfrog.com: How I Leaped Forward My Jenkins Build with JFrog Pipelines
              • youtube: jfrog - Modern App Deployments: How to use NGINX and JFrog to Automate your Blue/Green deployments
              • cloud.redhat.com: Cloud DevOps With OpenShift and JFrog
              "},{"location":"jenkins-alternatives/#semaphore","title":"Semaphore","text":"
              • Semaphore Hosted CI/CD for teams that don\u2019t like bottlenecks
              • semaphoreci.com: Revving up Continuous Integration with Parallel Testing Is your CI/CD pipeline slow? Do wait times make you feel unproductive? Parallel testing is an indispensable technique for reducing wait times. And mastering it is key to getting the most out of CI/CD.
              "},{"location":"jenkins-alternatives/#devtron","title":"Devtron","text":"
              • https://devtron.ai
              • devtron-labs/devtron is an open source software delivery workflow for kubernetes written in go. Web based CI/CD Platform for Kubernetes.
              "},{"location":"jenkins-alternatives/#cloud-native-cicd","title":"Cloud Native CI/CD","text":"
              • csweichel/werft Werft is a Kubernetes-native CI system. It knows no pipelines, just jobs and each job is a Kubernetes pod. What you do in that pod is up to you. We do not impose a \u201cdeclarative pipeline syntax\u201d or some groovy scripting language. Instead, Werft jobs have run Node, Golang or bash scripts in production environments.
              "},{"location":"jenkins-alternatives/#jenkins-x","title":"Jenkins X","text":"
              • jenkins-x.io
              • cloudbees.com: what is jenkins-x
              • devopstoolkitseries.com
                • youtube: Jenkins X: The Recipe For Continuous Delivery
              • Book: The DevOps 2.6 Toolkit: Jenkins X
              • Traces for your pipelines: Jenkins X v3 now comes with tracing support for your pipelines out of the box
              "},{"location":"jenkins-alternatives/#spinnaker","title":"Spinnaker","text":"
              • spinnaker.io deployment tool
              • Deploy Spinnaker CD Pipelines in Kubernetes
              • speakerdeck.com: Introduction to Spinnaker Managed Pipeline Templates
              • speakerdeck.com: Spinnaker Application management by Terraform Plugins
              • medium: Spinnaker The Hard Way
              • opensource.com: Why Spinnaker matters to CI/CD Spinnaker provides unique building blocks to create tailor-made,and highly-collaborative continuous delivery pipelines.
              • harness.io: Best Spinnaker Alternatives to Consider
              • armory.io: Build a Deployment Pipeline with Spinnaker on Kubernetes
              • jenkins-x.io: Traces for your pipelines Jenkins X v3 now comes with tracing support for your pipelines out of the box,using Grafana and Tempo directly to store and visualize traces.
              "},{"location":"jenkins-alternatives/#argocd","title":"ArgoCD","text":"
              • ArgoCD Declarative GitOps CD for Kubernetes
              "},{"location":"jenkins-alternatives/#tekton","title":"Tekton","text":"
              • Tekton
              "},{"location":"jenkins-alternatives/#jenkins-x-and-tekton-on-openshift","title":"Jenkins X and Tekton on OpenShift","text":"
              • Jenkins-X + Tekton on OpenShift
              • CI/CD OpenShift and Tekton
              • github.com/openshift/pipelines-tutorial
              • https://github.com/jenkins-x/jenkins-x-openshift-image
              • medium: Dailymotion\u2019s journey from Jenkins to Jenkins X
              "},{"location":"jenkins-alternatives/#hat-is-the-acronym-for-helm-argocd-and-tekton","title":"HAT is the acronym for Helm, ArgoCD and Tekton","text":"
              • empathy.co: HAT: CI/CD for Deploying Cloud Native Applications
              "},{"location":"jenkins-alternatives/#dagger","title":"Dagger","text":"
              • dagger.io CI/CD as Code that Runs Anywhere
              • dagger/dagger: Dagger is a portable devkit for CICD Using Dagger, software teams can develop powerful CICD pipelines with minimal effort, then run them anywhere.
              "},{"location":"jenkins-alternatives/#integration-with-other-cicd-engines","title":"Integration with other CI/CD engines","text":"
              • CloudBees Integrates Software Delivery Management Platform With Google Cloud Build and Tekton to Break Down Development Silos
              "},{"location":"jenkins-alternatives/#images","title":"Images","text":"Click to expand!"},{"location":"jenkins-alternatives/#slides","title":"Slides","text":"Click to expand!"},{"location":"jenkins-alternatives/#tweets","title":"Tweets","text":"Click to expand!

              THREAD: Is it possible that Kubeflow pipeline is one of the best CI/CD tools for Kubernetes?I spent some time playing with Kubernetes & @kubeflow pipelines, and they have one feature which is just great:You can define the pipeline with real code! pic.twitter.com/gNDzvvkCij

              \u2014 Daniele Polencic (@danielepolencic) July 22, 2020"},{"location":"jenkins/","title":"Jenkins & CloudBees","text":"
              1. Jenkins
              2. Jenkins and Helm Charts
              3. Jenkins and Terraform
              4. Jenkins Is The Way
              5. Evolution of open source CI/CD Tools
              6. eBooks
              7. Jenkins on Kubernetes
              8. Jenkins on Docker
                1. Kubernetes Native Jenkins Operator
              9. Groovy
              10. Awesome Jenkins
              11. Jenkins Cheat Sheet
              12. Jenkins Special Interest Groups (SIG)
              13. Running Jenkins on Java 11. Use OpenJDK 11
              14. Online Learning
              15. Jenkins Configuration as Code Solutions. 3 available DSLs
                1. DSL 1. Job DSL Plugin. From Freestyle jobs to Declarative Pipeline
                2. DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins
                  1. How to share a Declarative Pipeline. Examples of Declarative Pipelines in Shared Libraries
                  2. Jenkins Pipeline Syntax. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax
                  3. Extending with Shared Libraries
                  4. Jenkinsfile Runner. Serverless / function-as-a-service build execution
                3. DSL 3. Jenkins Configuration as Code (JCasC)
                  1. Read-only Jenkins Configuration
                4. Jenkins Job Builder
              16. Jenkins Template Engine JTE
              17. Jenkins Pipeline Unit Testing Framework
              18. Jenkins Architecture. Performance and Scalability
              19. Ansible and Jenkins. Running Ansible Playbooks From Jenkins
              20. Jenkins Tools
                1. Plugin Installation Manager Tool
                2. Pipeline Development Tools
                3. Custom WAR Docker Packager
                4. jenkins-std-lib Jenkins Standard Shared Library
              21. Jenkins Multibranch Pipeline
                1. Multibranch Pipelines with Kubernetes
              22. Jenkins Plugins
                1. Selection of Jenkins Plugins
                2. Plugin Development. Jenkins Plugin Parent POM 4.0
                3. Jenkins Blue Ocean
                4. Cloudbees Flow
              23. Monitoring jenkins
              24. Externalizing Fingerprint Storage for Jenkins
              25. Jenkins and Spring Boot
              26. Docker in Docker. Running Jenkins in Kubernetes
              27. CloudBees
                1. CloudBees Rollout and Feature Flags
                  1. Feature Flags in CloudBees Enterprise On-Premise
                2. CloudBees Accelerator
              28. Jenkins Scripts
              29. Backup for Jenkins on Kubernetes
              30. Jervis: Jenkins as a service
              31. Jenkins X (Serverless)
              32. Jenkins and SAP
              33. Jenkins Free Templates for AWS CloudFormation
              34. Videos
              35. Tweets
              "},{"location":"jenkins/#jenkins","title":"Jenkins","text":"
              • Back of the Napkin Guide to Updating Jenkins - A personal guide detailing the process of updating Jenkins servers, particularly for those less experienced. It covers pre-work like plugin management and changelog review, backup strategies for security roles and user configurations, and emphasizes taking snapshots before starting the upgrade.

              • CloudBees

              • Jenkins.io (new Jenkins 2.0 site) \ud83c\udf1f
              • Official Jenkins Docker image
              • github.com/jenkinsci \ud83c\udf1f
              • reddit.com/r/jenkinsci \ud83c\udf1f
              • dzone: getting started with jenkins the ultimate guide
              • dzone: jenkins in a nutshell
              • opensource.com: running jenkins builds containers \ud83c\udf1f
              • WebSocket support in now available for Jenkins CLI and agent networking!
              • webhookrelay.com: Receive Github webhooks on Jenkins without public IP \ud83c\udf1f
              • Dzone refcard: Jenkins on PaaS Continuous Integration with Jenkins for Java Projects. Includes a review of the most useful plugins, best practices, security, integration to an enterprise environment, and more.
              • jenkins.io 2020-05-06: Slave to Agent renaming. Renaming of the official Docker images for Jenkins agents We would like to announce the renaming of the official Docker images for Jenkins agents. The \u201cslave\u201d term is widely considered inappropriate in open source communities. It has been officially deprecated in Jenkins 2.0 in 2016, but there are remaining usages in some Jenkins components.
              • Windows Docker Agent Images: General Availability \ud83c\udf1f
              • Jenkins: Shifting Gears \ud83c\udf1f\ud83c\udf1f Evolutionary line from the current Jenkins 2, but with breaking changes in order to gain higher development speed. This document lays out the key directions and approaches in a broad stroke, which I discussed with a number of you in the past. Hopefully, this gives you the big picture of how I envision where to move Jenkins forward, not just as the creator of Jenkins but as the CTO of CloudBees, who employs a number of key contributors to the Jenkins project.
              • aws.amazon.com/blogs: Why Jenkins still continuously serves developers \ud83c\udf1f
              • On Jenkins Terminology Updates
              • medium: Deploy your App Using CI/CD Pipeline
              • medium: CI/CD Pipeline of Jenkins Using Groovy Language With Monitoring on the Top of Kubernetes \ud83c\udf1f
              • Cross account ECR push with Jenkins
              • dzone.com: Easily Automate Your CI/CD Pipeline With Jenkins, Helm, and Kubernetes \ud83c\udf1f Learn how to set up a workflow to automate your CI/CD pipeline for quick and easy deployments using Jenkins, Helm, and Kubernetes.
              • Building Pipeline and Launching Jenkins in Container
              • lambdatest.com: Best Jenkins Pipeline Tutorial For Beginners (Examples) \ud83c\udf1f
              • youtube: MSBuild With Jenkins | Jenkins For C# / .NET Applications
              • betsol.com: DevOps Using Jenkins, Docker, and Kubernetes
              • Setup Chained Jenkins Declarative Pipeline Projects with Triggers \ud83c\udf1f
              • linkedin: Jenkins Server setup with dynamic worker nodes
              • medium: CI/CD with Dockers and Jenkins
              • jenkins.io: Docker image updates
              • blog.executeautomation.com: Running Jenkins Build Agent within Docker container \u2013 Part A Jenkins is one of the most popular CI/CD open source tool without any doubt. It has evolved so much in recent past that, the tool can be utilised with many modern way approach to build the application and deploy the application. Jenkins can be scaled with not just by installing different build agents in different machines, rather we can use the power of Docker containers to install agent and perform build operations effortlessly.
              • lambdatest.com: How To Set Up Continuous Integration With Git and Jenkins?
              • itnext.io: Jenkins: running workers in Kubernetes and Docker images build
              • aws.amazon.com: How to cost optimize Jenkins jobs on Kubernetes with EC2 Spot Instances \ud83c\udf1f
              • medium: CI/CD Pipeline of Jenkins Using Groovy Language With Monitoring on the Top of Kubernetes
              • amazon.com: Building a serverless Jenkins environment on AWS Fargate
              • youtube: How to Create a GitLab Multibranch Pipeline in Jenkins
              • lambdatest.com: Jenkins Tutorial \ud83c\udf1f
              • youtube/Bribe By Bytes: Jenkins Pipelines | Pipeline Concept | Types of Pipelines | Part 1
              • jenkins.io: Easily reuse Tekton and Jenkins X from Jenkins \ud83c\udf1f Jenkins can now be used to automate Tekton pipelines too which helps teams digitally transform to more cloud native solutions for their CI and CD. In such a case, you can use Tekton pipeline engine while getting all benefits from Jenkins as an orchestrator, user interface and the reporting engine. The Tekton Client plugin for Jenkins lets you easily use Jenkins to automate creating and running Tekton pipelines. It bridges the Kubernetes learning gap and allows invoking Tekton Pipelines and resources through Jenkins. This allows users to not have much of the Kubernetes specific knowledge beforehand and work. Its a single Jenkins plugin to install - so it\u2019s easy to use.
              • harness.io: What is Pipeline as Code, and How Can You Leverage It?
              • lambdatest.com: How To Set Jenkins Pipeline Environment Variables? \ud83c\udf1f
              • slideshare.net: Jeff Geerling - Jenkins or: How I learned to stop worrying and love automation \ud83c\udf1f Configuring Jenkins like a pro. Use authorization strategies in jenkinsci unless you want to have Remote Code Execution as a Service! There are many plugins like Matrix Auth, Role Strategy and Folder Auth. Vendors like CloudBees also provide security engines in their products.
              • youtube - CloudBeesTV: How to Run a Shell Script in Jenkins Pipeline \ud83c\udf1f
              • opensource.com: Make Jenkins logs pretty Jenkins\u2019 default logs can be hard to read, but they don\u2019t have to be.
              • medium: Dynamic and reactive parameterization in Jenkins pipelines using HTML, Groovy, and Bash \ud83c\udf1f - Jenkins Plugin: Active Choices \ud83c\udf1f The Active Choices plugin is used in parametrized freestyle Jenkins jobs to create scripted, dynamic and interactive job parameters. Active Choices parameters can be dynamically updated and can be rendered as combo-boxes, check-boxes, radio-buttons or rich HTML UI widgets.
              • automationreinvented.blogspot.com: How to schedule a job in Jenkins pipeline? How to run automation suite everyday with auto trigger scheduler?
              • automationscript.com: How To Read Jenkins Build Log Console Output
              • cloudbees.com: So, Your Jenkins Is Slow. Here\u2019s How to Fix It \ud83c\udf1f
              • youtube: Jenkins World 2017: How to Use Jenkins Less \ud83c\udf1f In jenkinsci CloudBees\u2019 advice is to use build tool features when possible (Maven/Gradle/make/etc.). When the tools are not enough and you need a distributed orchestrator/reporting layer, this is where Jenkins shines. - slides & demos
              • youtube: Build Docker Image using Jenkins Pipeline | Push Docker Image to Docker Hub using Jenkins \ud83c\udf1f
              • youtube: Online Meetup: From local installation to scalable Jenkins on Kubernetes \ud83c\udf1f
              • youtube: Jenkins and Sonarqube Integration with Maven | SonarScanner for Maven and Integrate with Jenkins
              • youtube: LambdaTest - Jenkins Tutorial For Beginners | Part 7 | Adding A Jenkins Controller & Jenkins Agent Node On Azure
              • youtube: Jenkins On Kubernetes Tutorial | How to setup Jenkins on kubernetes cluster | Thetips4you \ud83c\udf1f
              • docs.google.com: Jenkins Artwork Social Media & Open Graph Images Google Slides is one of the easiest ways to collaborate on open graphs and other artwork in the community. Main jenkinsci slidedeck is here.
              • automationreinvented.blogspot.com: How to send email notification in Jenkins using Groovy Script?
              • gist.github.com/twasink: Jenkins Image, using Docker-in-Docker \ud83c\udf1f
              • youtube: Run Jenkins Pipeline With AWS ECS Fargate & AWS EC2 Based ECS Cluster | Learn DevOps Tools Ep4
              • youtube LambdaTest: Jenkins Tutorial For Beginners | Part 9 | Cross Browser Testing With LambdaTest Jenkins Plugin
              • medium: Integrate BitBucket & Jenkins Connect Jenkins and Bitbucket. And trigger a job automatically in Jenkins when a new code is committed in Bitbucket.
              • developer.okta.com: Update App Secrets with Jenkins CI and .NET Core
              • developers.redhat.com: Deploy Helm charts with Jenkins CI/CD in Red Hat OpenShift 4 \ud83c\udf1f
              • jenkins.io: Git Username/Password Credentials Binding for sh, bat, and powershell \ud83c\udf1f Google Summer of Code 2021 is implementing git credentials binding for sh, bat, and powershell. Git credentials binding is one of the most requested features for Jenkins Pipeline (see JENKINS-28335). The project involves extending the Credentials Binding Plugin to create custom bindings for two types of credentials essential to establish a remote connection with a git repository: Username/Password , SSH Private Key.
              • youtube: Creating a CI/CD deployment pipeline for JenkinsCI with AWS SAM Pipelines \ud83c\udf1f Learn how to simplify CI/CD pipelines for serverless applications with a pipeline generator and templates with AWS built-in best practices for CloudBees and JenkinsCI.
              • blogs.sap.com: SAP Cloud Integration automated testing using Jenkins and Pipeline as a Code approach
              • github.com/jenkins-infra/jenkins.io/issues A static site for the Jenkins automation server. Contribute to jenkins-infra/jenkins.io development by creating an account on GitHub.
              • itnext.io: Jenkins Tutorial \u2014 Part 1 \u2014 Pipelines \ud83c\udf1f
                • itnext.io: Jenkins Tutorial \u2014 Part 2 \u2014 Pipeline Variables \ud83c\udf1f
                • itnext.io: Jenkins Tutorial \u2014 Part 3 \u2014 Parameterized Pipeline \ud83c\udf1f
                • itnext.io: Jenkins Tutorial \u2014 Part 7 \u2014 Interactive Pipelines \ud83c\udf1f
              • dev.to: Send notification to slack from the Jenkins CI Job and Jenkinsfile
              • dev.to: Setting up a CI/CD with Jenkins
              • fabiogomezdiaz.com: How to Run Packer Pipelines on Jenkins: Part 1 - Traditional Jenkins
              • jenkins.io: Docker images use Java 11 by default \ud83c\udf1f The default Java version in the Jenkins Docker images is switching to Java 11.
              • community.jenkins.io: DSTY - jenkins-std-lib (Shared Library) - Interact with files/directories using Groovy! - Pipeline Utility Steps \ud83c\udf1f Small, miscellaneous, cross platform utility steps for Jenkins Pipeline jobs githu ref
              • Connecting and authenticating to Jenkins with Teleport Application Access This shows integrating a Jenkins with Teleport Application Access for Access and Authentication.
              • dzone: Parameterize Jenkinsfile in MultiBranch Jobs \ud83c\udf1f Select different Jenkinsfiles as a parameter in MultiBranch Jobs
              • automationreinvented.blogspot.com: How to create parameterized job in Jenkins? What is parameterized build in Jenkins?
              • infoworld.com: Continuous integration with Docker and Jenkins How to pull from Git, build a Docker image, and publish the image to Docker Hub.
              • lambdatest.com: What Is Jenkins Used For? \ud83c\udf1f
              • automationqahub.com: How To Publish ExtentReport Using Jenkins
              • developers.redhat.com: A developer\u2019s guide to CI/CD and GitOps with Jenkins Pipelines
              • inder-devops.medium.com: CI/CD setup in just 5 mins with basic yaml configuration
              • youtube: Cloud Learn Hub - How to Integrate Jenkins with Ansible Tower?
              • youtube: Tech World with Nana - Jenkins Tutorial for Beginners
              • camunda.com: How We Overcame Long-Running Job Limitations in Jenkins Declarative Pipelines
              • aws.amazon.com: Jenkins high availability and disaster recovery on AWS \ud83c\udf1f
              • blog.searce.com: Jenkins Distributed Cluster Using Dynamic Build Agents On GKE In this article, you\u2019ll learn how to build a distributed Jenkins cluster on GKE and autoscale the Jenkins agents to process more jobs.
              • fosstechnix.com: How to Validate Jenkinsfile using Visual Studio Code
              • freecodecamp.org: Learn Jenkins by Building a CI/CD Pipeline \ud83c\udf1f
              • medium.com/ni-tech-talk: Creating Customized Kubernetes Pod Templates using Groovy in Jenkins Pipeline \ud83c\udf1f
              • palak-bhawsar.hashnode.dev: Automated CI/CD pipeline for Java Project
              • faun.pub: Set up Jenkins on a Kubernetes Cluster
              • blog.devops.dev: Blue-Green Deployment (CI/CD) Pipelines with Docker, GitHub, Jenkins and SonarQube
              • itnext.io: Accelerate Development with Jenkins Pipelines and Continuous Integration
              • dzone.com: Continuous Integration in AWS Using Jenkins Pipelines: Best Practices and Strategies Learn about implementing CI using Jenkins, a popular automation tool, and how this approach can optimize and streamline your software development process.
              • praveendandu24.medium.com: Understanding the Differences Between Jenkins Scripted and Declarative Pipeline: A Comprehensive Guide with Real-World Examples
              • prabirmahatha.hashnode.dev: Jenkins Declarative Pipeline with Docker
              "},{"location":"jenkins/#jenkins-and-helm-charts","title":"Jenkins and Helm Charts","text":"
              • blog.devops.dev: Deploying Helm Charts with Jenkins and Groovy: A Comprehensive Guide
              • github.com/jenkinsci/helm-charts
              "},{"location":"jenkins/#jenkins-and-terraform","title":"Jenkins and Terraform","text":"
              • aws.plainenglish.io: Deploying AWS Resources and a Jenkins Server with Terraform
              • aws.plainenglish.io: Terraform: How To Deploy Jenkins CI/CD Pipelines Using Terraform Deploy an EC2 instance bootstrapped with a script to install and run Jenkins.
              "},{"location":"jenkins/#jenkins-is-the-way","title":"Jenkins Is The Way","text":"
              • jenkinsistheway.io: Jenkins Is The Way \ud83c\udf1f Jenkins Is The Way is a collection of experiences from all around the world showcasing how users are building, deploying, and automating great stuff with Jenkins.
              • jenkinsistheway.io: Financial Transactions Simplified With Faster Build Cycles \ud83c\udf1f After integrating Jenkins, this FinTech\u2019s financial transaction product quality is improved and 3X simpler.
              • jenkinsistheway.io: Advanced Declarative Pipelines for Workflow and Decision Automation Platform \ud83c\udf1f
              • jenkinsistheway.io: Alert Management A Jenkins-based tool receives pipeline alerts and, in turn, determines who to notify.
              • jenkinsistheway.io: Jenkins is the way to DevSecOps. Cybersecurity CI/CD A cumbersome legacy process for building, testing and releasing software is a huge challenge for a global cybersecurity company that has to stay ahead of hackers, fraudsters and trends in cybercrime.

              "},{"location":"jenkins/#evolution-of-open-source-cicd-tools","title":"Evolution of open source CI/CD Tools","text":"
              • Migrating CI/CD from Jenkins to Argo Workflows - (Related to cicd topic)

              • Presentation: NADOG - Evolution of open source CI/CD tools - Oleg Nenashev \ud83c\udf1f

              "},{"location":"jenkins/#ebooks","title":"eBooks","text":"
              • Pipeline as Code Continuous Delivery with Jenkins, Kubernetes, and Terraform
              • riptutorial.com: Learning Jenkins
              • cloudbees.com: Jenkins Pipeline with Plugins Jenkins is one of the preeminent automation tools. Jenkins is extensible by design, via plugins. Plugins are what give Jenkins its great flexibility for automating a wide range of processes on diverse platforms. Jenkins Pipeline builds on that flexibility and rich plugin ecosystem while enabling Jenkins users to write their Jenkins software pipelines as code. This technical guide will show a number of common use cases for plugins with Jenkins Pipeline.
              "},{"location":"jenkins/#jenkins-on-kubernetes","title":"Jenkins on Kubernetes","text":"
              • jenkins.io: Document Jenkins on Kubernetes: Installing Jenkins on Kubernetes Documentation Release \ud83c\udf1f
              • jenkins.io: Installing Jenkins on Kubernetes \ud83c\udf1f
              • ssbostan/jenkins-stack-kubernetes \ud83c\udf1f Scripts and manifests to deploy Jenkins on Kubernetes
                • ssbostan/jenkins-tutorial \ud83c\udf1f
                • itnext.io: Jenkins Tutorial \u2014 Part 7 \u2014 Interactive Pipelines
              "},{"location":"jenkins/#jenkins-on-docker","title":"Jenkins on Docker","text":"
              • ssbostan/jenkins-stack-docker Docker-compose version of jenkins-stack-kubernetes
              "},{"location":"jenkins/#kubernetes-native-jenkins-operator","title":"Kubernetes Native Jenkins Operator","text":"
              • github.com/jenkinsci/kubernetes-operator: \ud83c\udf1f Kubernetes platform was released ten years after the first version of Hudson project. It means Jenkins couldn\u2019t be designed to run on top of it. Jenkins Operator tries to bridge that gap.
              • jenkins.io: Jenkins Operator becomes an official sub-project!
              • jenkins.io: Security Validator for Jenkins Operator for Kubernetes
              • cd.foundation: Going Cloud Native with Jenkins Kubernetes Operator
              "},{"location":"jenkins/#groovy","title":"Groovy","text":"
              • Wikipedia.org: Groovy
              • Dzone refcard: Groovy, a Rapid-Development JVM Language
              • opensource.com: Read and write files with Groovy
              • dzone: Groovy Goodness: Using The Call Operator In the newest installment of Groovy Goodness, Mr. Haki presents how to use Groovy\u2019s call operator to take our code density to the next level.
              "},{"location":"jenkins/#awesome-jenkins","title":"Awesome Jenkins","text":"
              • sahilsk/awesome-jenkins
              • Hacking jenkins
              "},{"location":"jenkins/#jenkins-cheat-sheet","title":"Jenkins Cheat Sheet","text":"
              • Jenkins Cheat Sheets
              "},{"location":"jenkins/#jenkins-special-interest-groups-sig","title":"Jenkins Special Interest Groups (SIG)","text":"
              • Jenkins SIG Platform \ud83c\udf1f This special interest group offers a venue for all kinds of platform support discussions: Java, Operating Systems, Architectures, Docker, Packaging, Web Containers, etc. The SIG works on defining platform support policies, coordinating platform support efforts with contributors and external communities, and reviewing proposals in the area.
              • Jenkins SIG Cloud Native \ud83c\udf1f
              "},{"location":"jenkins/#running-jenkins-on-java-11-use-openjdk-11","title":"Running Jenkins on Java 11. Use OpenJDK 11","text":"
              • Running Jenkins on Java 11 \ud83c\udf1f
              • Oracle\u2019s Java 11 trap - Use OpenJDK instead! \ud83c\udf1f
              • It\u2019s time! Migrating to Java 11 \ud83c\udf1f
              "},{"location":"jenkins/#online-learning","title":"Online Learning","text":"
              • blog.techiescamp.com/jenkins-course \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
                • Lesson 5.1: Introduction to Jenkins Multibranch Pipeline
              • udemy.com: Master Jenkins CI For DevOps and Developers
              • udemy.com: Learn DevOps: CI/CD with Jenkins using Pipelines and Docker Use Jenkins the DevOps way. Automate your Jenkins jobs by using Jenkins Pipelines, Docker, and the Jenkins Job DSL
              • wardviaene/jenkins-course \ud83c\udf1f
              "},{"location":"jenkins/#jenkins-configuration-as-code-solutions-3-available-dsls","title":"Jenkins Configuration as Code Solutions. 3 available DSLs","text":"
              • Job DSL was one of the first popular plugins for Jenkins which allows managing configuration as code and many other plugins dealing with this aspect have been created since then, most notably the Jenkins Pipeline and Configuration as Code plugins. It is important to understand the differences between these plugins and Job DSL for managing Jenkins configuration efficiently.
              • In consequence 3 DSLs are available to configure jenkins as code:
                • DSL 1: Job DSL
                • DSL 2: Jenkins (Declarative) Pipeline
                • DSL 3: Jenkins Configuration as Code (JCasC)
              • Tip: Don\u2019t stay with manually configured freestyle jobs. Use JobDSL wrapper if you can\u2019t use Pipeline.
              "},{"location":"jenkins/#dsl-1-job-dsl-plugin-from-freestyle-jobs-to-declarative-pipeline","title":"DSL 1. Job DSL Plugin. From Freestyle jobs to Declarative Pipeline","text":"
              • Jenkins Job DSL API used in jenkins declarative pipelines.
              • Job DSL Plugin \ud83c\udf1f
                • github.com/jenkinsci/job-dsl-plugin
                • Jenkins Job DSL Plugin documentation \ud83c\udf1f A Groovy DSL for Jenkins Jobs - Sweeeeet!
              • Jenkins Job DSL API \ud83c\udf1f
                • mavenJob
                • Continuation Passing Style (CPS) is a style of programming in which the remainder of the program is passed explicitly as a parameter, as opposed to that being handled implicitly represented as call stack.
                  • Jenkins Pipeline execution engine based on Continuation Passing Style (CPS) transformation of Groovy scripts. DSL Methods::
                    • cps: WorkflowDefinitionContext
                    • cpsScm: WorkflowDefinitionContext
                  • Defines a Groovy CPS DSL definition: pipelineJob definition cps script
                • Example of a pipeline with parameters
              • job-dsl Gradle Example
              • Jenkins DSL for Nexus
              • Jenkins DSL for Maven:
                • ref 1
                • ref 2
              • Pipeline Global Library for ci.jenkins.io Collection of custom steps and variables for our Jenkins instance(s)
              • medium: Jenkins Jobs as Code with Groovy DSL (Job DSL plugin) \ud83c\udf1f
              "},{"location":"jenkins/#dsl-2-jenkins-pipeline-pipeline-as-code-with-jenkins","title":"DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins","text":"
              • Pipeline as Code with Jenkins \ud83c\udf1f
                • Why Pipeline? Jenkins is, fundamentally, an automation engine which supports a number of automation patterns. Pipeline adds a powerful set of automation tools onto Jenkins, supporting use cases that span from simple continuous integration to comprehensive CD pipelines. By modeling a series of related tasks, users can take advantage of the many features of Pipeline:
                  • Code: Pipelines are implemented in code and typically checked into source control, giving teams the ability to edit, review, and iterate upon their delivery pipeline.
                  • Durable: Pipelines can survive both planned and unplanned restarts of the Jenkins master.
                  • Pausable: Pipelines can optionally stop and wait for human input or approval before continuing the Pipeline run.
                  • Versatile: Pipelines support complex real-world CD requirements, including the ability to fork/join, loop, and perform work in parallel.
                  • Extensible: The Pipeline plugin supports custom extensions to its DSL and multiple options for integration with other plugins.
              • jenkins.io - doc/book/pipeline \ud83c\udf1f
              • jenkins.io - Jenkinsfile \ud83c\udf1f With version 2 of the Jenkins Continuous Integration/Continuous Delivery (CI/CD) server, a new job definition file has been introduced, called Jenkinsfile. The initial Jenkinsfile format was based on Groovy. As groovy knowledge is not that widespread, a new and more straight forward was published in spring 2017. This format is called Declarative Pipeline. This visual studio code extension is aimed at making the manipulation of this file type easier.
              • Dzone refcard: Continuous Delivery with Jenkins Pipeline \ud83c\udf1f
              • GitHub Gist - Faheetah/Jenkinsfile.groovy: Jenkinsfile idiosynchrasies with escaping and quotes
              • jenkins.io: Jenkins CD and Pipelines Microsite
              • DZone refcard: declarative pipeline with jenkins \ud83c\udf1f
              • sdtimes.com: CI/CD pipelines are expanding \ud83c\udf1f The \u201cbasic\u201d CI/CD pipeline includes five processes, which are: merge, build, test, package and deploy. All of these are individually defined so readers have a common reference point. The basic pipeline includes sub-pipelines associated with each step, such as moving artifacts from a build into a repository.
              • magalix.com: Create a CI/CD pipeline with Kubernetes and Jenkins (Ansible, Docker, Golang App) \ud83c\udf1f
              • dzone: learn how to setup a cicd pipeline from scratch \ud83c\udf1f
              • opensource.com - building cicd pipelines with jenkins \ud83c\udf1f
              • devopscube.com: Jenkins Pipeline as Code Tutorial For Beginners \ud83c\udf1f
              • loves.cloud: CI/CD Pipeline Using Docker and Jenkins
                • github.com/LovesCloud/java-groovy-docker
              • medium: jenkins cicd getting started with groovy and docker
              • Dzone: Top 10 Best Practices for Jenkins Pipeline
              • opensource.com - Introduction to writing pipelines-as-code and implementing DevOps with Jenkins 2
              • thoughtworks.com: Modernizing your build pipelines \ud83c\udf1f
              • jenkins users mailing list: Declarative pipelines vs scripted
              • cloudbees.com: Top 10 Best Practices for Jenkins Pipeline Plugin \ud83c\udf1f\ud83c\udf1f
                • When writing a pipeline definition, use Declarative syntax. First, a history lesson. Scripted syntax was released around December of 2014. In February 2017, Declarative syntax was introduced. Until Declarative was released, we had no choice but to use Scripted syntax. However, since that time, many new features, such as matrix, have only been made available for Declarative.
                • Use shared libraries. Do you remember the days of when you used inline JavaScript in your web pages? When you introduce a \u201cscript\u201d tag into a Declarative pipeline, that\u2019s a warning sign that you are starting to head down the same path. When you decide that the \u201cscript\u201d tag is the only way to go, instead of using the \u201cscript\u201d tag, you should instead create a custom step in a shared library and use that step within your Declarative pipeline.
                • Don\u2019t use shared libraries (the wrong way). Wait, what? You just told me to use shared libraries and now you\u2019re telling me not to use shared libraries. What gives? Many people will treat shared libraries like a programming project. Here\u2019s the thing to keep in mind. Scripted and Declarative syntax are meant to only do CI tasks and not to be a general purpose programming language. Many Jenkins controller performance issues can be traced back to the misuse of scripted syntax and shared libraries written in a way where all the work is being done within the Jenkins controller itself instead of on the agents.
                • Only use Scripted syntax when it doesn\u2019t make sense to use Declarative plus a shared library.
              • cuelogic.com: Decoding Pipeline as Code (With Jenkins) \ud83c\udf1f Pipeline as code technique rests on the paradigm that delivery pipeline configuration which builds, tests, deploys applications, and software infrastructure must be treated as code.
              • mishra-praveen.medium.com: Comprehensive Guide To Jenkins Declarative Pipeline [With Examples]
              "},{"location":"jenkins/#how-to-share-a-declarative-pipeline-examples-of-declarative-pipelines-in-shared-libraries","title":"How to share a Declarative Pipeline. Examples of Declarative Pipelines in Shared Libraries","text":"
              • mtijhof.wordpress.com: Jenkins: Running a declarative pipeline from your Shared Library \ud83c\udf1f
              • Starting with Declarative 1.2, released in late September, 2017, you can define Declarative Pipelines in your shared libraries as well \ud83c\udf1f Only entire pipelines can be defined in shared libraries as of this time. This can only be done in vars/*.groovy, and only in a call method. Only one Declarative Pipeline can be executed in a single build, and if you attempt to execute a second one, your build will fail as a result.
              • Declarative Pipeline - Jenkins shared library \ud83c\udf1f
              • stackoverflow.com: Can I have an entire declarative pipeline defined and parameterized in a shared library?
              • jenkins.io: Share a standard Pipeline across multiple projects with Shared Libraries \ud83c\udf1f
              • jenkins.io: Parallel stages with Declarative Pipeline 1.2 \ud83c\udf1f
              "},{"location":"jenkins/#jenkins-pipeline-syntax-scripted-syntax-groovy-dsl-syntax-vs-declarative-syntax","title":"Jenkins Pipeline Syntax. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax","text":"
              • Jenkins Pipeline Syntax: Scripted Syntax (Groovy DSL syntax) & Declarative Syntax \ud83c\udf1f:
                • Version 2.5 of the \u201cPipeline plugin\u201d released in 2016/05/16 introduces support for Declarative Pipeline syntax.
                • Declarative Pipeline is a relatively recent addition to Jenkins Pipeline which presents a more simplified and opinionated syntax on top of the Pipeline sub-systems.
              • Building Declarative Pipelines with OpenShift DSL Plugin:
                • Jenkinsfiles have only become an integral part of Jenkins since version 2 but they have quickly become the de-facto standard for building continuous delivery pipelines with Jenkins. Jenkinsfile allows defining pipelines as code using a Groovy DSL syntax and checking it into source version control which allows you to track, review, audit, and manage the lifecycle of changes to the continuous delivery pipelines the same way that you manage the source code of your application.
                • Although the Groovy DSL syntax which is referred to as the scripted syntax is the more well-known and established syntax for building Jenkins pipelines and was the default when Jenkins 2 was released, support for a newer declarative syntax is also added since Jenkins 2.5 in order to offer a simplified way for controlling all aspects of the pipeline. Although the scripted and declarative syntax provides two ways to define your pipeline, they both translate to the same execution blocks in Jenkins and achieve the same result.
                • The declarative syntax in its simplest form is composed of an agent which defines the Jenkins slave to be used for executing the pipeline and a number of stages and each stage with a number of steps to be performed.
              "},{"location":"jenkins/#extending-with-shared-libraries","title":"Extending with Shared Libraries","text":"
              • Shared-libraries with scripted pipeline syntax are not recommended since more coding involves more maintenance issues. Use Declarative Pipeline Syntax as much as possible.
              • Extending with Shared Libraries \ud83c\udf1f
              • A sustainable pattern with shared library \ud83c\udf1f
              • tomd.xyz: Jenkins shared library: tutorial with examples \ud83c\udf1f How to use a shared library in Jenkins, to allow you to share common code and steps across multiple pipelines. Includes a demo Git repo that you can fork.
              • jjba.dev: Jenkins Shared Library with Unit tests Tired of un-testable, un-reliable, repetitive and tedious scripts to deploy your applications with Jenkins? Look no further, here is your solution.
              • lambdatest.com: How To Use Shared Libraries In A Jenkins Pipeline? \ud83c\udf1f
              "},{"location":"jenkins/#jenkinsfile-runner-serverless-function-as-a-service-build-execution","title":"Jenkinsfile Runner. Serverless / function-as-a-service build execution","text":"
              • Jenkinsfile Runner Jenkinsfile Runner is an experiment to package Jenkins pipeline execution as a command line tool. The intend use cases include:
                • Use Jenkins in Function-as-a-Service context
                • Assist editing Jenkinsfile locally
                • Integration test shared libraries
              Jenkinsfile Runner slides. Click to expand!"},{"location":"jenkins/#dsl-3-jenkins-configuration-as-code-jcasc","title":"DSL 3. Jenkins Configuration as Code (JCasC)","text":"
              • Jenkins Configuration as Code Plugin
                • plugins.jenkins.io/configuration-as-code
                • github.com/jenkinsci/configuration-as-code-plugin
              • devops.com: Using jenkins configuration as code
                • https://github.com/jenkinsci/configuration-as-code-plugin
              • Dzone: Running Jenkins Server With Configuration-as-Code \ud83c\udf1f Take a look at the new plugin for Jenkins that allows you to to create pipelines using YAML! Let\u2019s check out the details and examples.
              • docs.cloudbees.com: Configuration as Code for CloudBees Core on modern cloud platforms
              • cloudbees.com: CloudBees Core Configuration as Code
              • Visual Studio Code JCasC-Plugin \ud83c\udf1f This extension is used to integrate a live jenkins instance configuration with your editor. It can be used to edit and validate YAML files.
              • Example of Configuration as Code of Jenkins (for Kubernetes) \ud83c\udf1f
              • JEP-224: System Read permission: Improve experience of Jenkins Configuration-as-Code users It improves the modifying Web UI configuration controls to support the read-only mode.
              • cloudbees.com: All Tier 1 Plugins Support Configuration as Code \ud83c\udf1f\ud83c\udf1f
              • Example of JCasC
              • iceburn.medium.com: Jenkins Configuration As Code
              "},{"location":"jenkins/#read-only-jenkins-configuration","title":"Read-only Jenkins Configuration","text":"
              • Read-only Jenkins Configuration \ud83c\udf1f This feature allows restricting configuration UIs and APIs while providing access to essential Jenkins system configuration, diagnostics, and self-monitoring tools through Web UI. Such mode is critical for instances managed as code, e.g. with Jenkins Configuration-as-Code plugin. It is delivered as a part of the JEP-224: Read-only system configuration effort.
              "},{"location":"jenkins/#jenkins-job-builder","title":"Jenkins Job Builder","text":"
              • jenkins-job-builder.readthedocs.io \ud83c\udf1f Jenkins Job Builder takes simple descriptions of Jenkins jobs in YAML or JSON format and uses them to configure Jenkins. You can keep your job descriptions in human readable text format in a version control system to make changes and auditing easier. It also has a flexible template system, so creating many similarly configured jobs is easy.
              • docs.openstack.org: Jenkins Job Builder
              • faun.pub: Automate Jenkins Pipelines management with Jenkins Job Builder \ud83c\udf1f - demo code
              "},{"location":"jenkins/#jenkins-template-engine-jte","title":"Jenkins Template Engine JTE","text":"
              • plugins.jenkins.io/templating-engine: Jenkins Template Engine JTE \ud83c\udf1f
              • cloudbees.com: Managing DevSecOps Pipelines at Scale with Jenkins Templating Engine
                • Are you currently helping build or maintain a Jenkins pipeline for more than one application or team? Are you tired of copying and pasting Jenkinsfiles and tweaking them to fit each team\u2019s specific needs? This session will feature a live demonstration of getting up and running with the Jenkins Templating Engine (JTE). Attendees will learn how to stop creating bespoke pipelines on a per-application basis and, instead, create tool-agnostic pipeline templates that multiple teams can inherit - regardless of tech stack.
                • For DevSecOps engineers, this means less copying and pasting and more time spent focusing on the fun parts of the job. For managers or executives worried about compliance and standardization, this approach will ensure security is embedded in every step of the software development lifecycle for every application development team they oversee.
                • Through JTE, businesses can find order in the chaos of managing DevSecOps pipelines at scale. Enable organizational governance, optimize pipeline code reuse and simplify pipeline management for the whole team.
              "},{"location":"jenkins/#jenkins-pipeline-unit-testing-framework","title":"Jenkins Pipeline Unit Testing Framework","text":"
              • github.com/jenkinsci/JenkinsPipelineUnit: Framework for unit testing Jenkins pipelines \ud83c\udf1f Jenkins Pipeline Unit is a testing framework for unit testing Jenkins pipelines, written in Groovy Pipeline DSL. If you aren\u2019t using jenkinsUnit to test your jenkins pipeline code, then I\u2019ve got a treat for you. TDD with pipeline is possible and can centralized in a sharedLib can really improve development. (works nicely with Spock too)
              "},{"location":"jenkins/#jenkins-architecture-performance-and-scalability","title":"Jenkins Architecture. Performance and Scalability","text":"
              • devopscube.com: Jenkins Architecture Explained \u2013 Beginners Guide
              • dzone: how to setup scalable jenkins on top of a kubernetes cluster
              • devops.com: kubernetes jenkins master slave scalability
              • jenkins.io - Tuning Jenkins GC For Responsiveness and Stability with Large Instances \ud83c\udf1f
              • dzone.com: How to Set Up Scalable Jenkins on Top of a Kubernetes Cluster \ud83c\udf1f
              • devops.com: Kubernetes Jenkins Master-Slave: Scaling the Scalability Issue
              • 7 Ways to Optimize Jenkins
              • devopscube.com: How to Setup Docker containers as Build Slaves for Jenkins
              • cloudbees.com: Troubleshooting Jenkins Performance: Kubernetes Edition - Part 1 (2020) \ud83c\udf1f
              • cloudbees.com: Troubleshooting Jenkins Performance: Kubernetes Edition - Part 2 (2020) \ud83c\udf1f
              • cloudbees.com: The Two Most Common Issues with Jenkins and How to Fix Them \ud83c\udf1f Jenkins is a fantastic CI/CD solution but it has a significant weak point: Managing & scaling Jenkins for the enterprise is an uphill battle. Tanya Jacob shares the 2 most common issues we hear from enterprises using Jenkins & how to fix them.
              • cloudbees.com: Enterprise JVM Administration and Jenkins Performance \ud83c\udf1f
              "},{"location":"jenkins/#ansible-and-jenkins-running-ansible-playbooks-from-jenkins","title":"Ansible and Jenkins. Running Ansible Playbooks From Jenkins","text":"
              • Dzone: Running Ansible Playbooks From Jenkins
              • itnext.io: Ansible and Jenkins \u2014 automate your scritps \ud83c\udf1f
              • ansible-role-jenkins Installs Jenkins CI on RHEL/CentOS and Debian/Ubuntu servers.
              "},{"location":"jenkins/#jenkins-tools","title":"Jenkins Tools","text":"
              • Jenkins CLI
              • How to create initial \u201cseed\u201d job
              • Jenkinsfile Runner Test Framework
              • Jenkins Pipeline Unit testing framework
              • Jenkins Custom WAR Packager
              • jenkins-version The goal of this tool is to provide a small, simple CLI that can be used to determine the latest Jenkins version, whether that be in the stable or weekly release train, from maven metadata.
              "},{"location":"jenkins/#plugin-installation-manager-tool","title":"Plugin Installation Manager Tool","text":"
              • Plugin Installation Manager Tool The plugin manager downloads plugins and their dependencies into a folder so that they can easily be imported into an instance of Jenkins. The goal of this tool is to replace the Docker install-plugins.sh script and the many other implementations of plugin management that have been recreated across Jenkins. The tool also allows users to see more information about the plugins they are downloading such as available updates and security warnings. By default, plugins will be downloaded; the user can specify not to download plugins using the \u2013no-download option.
              • Jenkins Plugin Manager CLI v1.1.0 is now released: caching of update site data and downloaded plugins, retry on download, and dependency resolution fixes.
              "},{"location":"jenkins/#pipeline-development-tools","title":"Pipeline Development Tools","text":"
              • Pipeline Development Tools (Command-line Pipeline Linter)
              "},{"location":"jenkins/#custom-war-docker-packager","title":"Custom WAR Docker Packager","text":"
              • jenkinsci/custom-war-packager \ud83c\udf1f Custom Jenkins WAR packager for Jenkins. Custom WAR Packager (CWP) allows building ready-to-fly Jenkins packages using a YAML specification. The tool can produce Docker images, WAR files, and Jenkinsfile Runner docker images (aka single-shot Jenkins masters). These bundles may include Jenkins core, plugins, extra libraries, and self-configuration via Groovy Hook Scripts or Configuration-as-Code Plugin YAML files.
              "},{"location":"jenkins/#jenkins-std-lib-jenkins-standard-shared-library","title":"jenkins-std-lib Jenkins Standard Shared Library","text":"
              • DontShaveTheYak/jenkins-std-lib: Jenkins Standard Shared Library \ud83c\udf1f A set of useful tools for every day CI/CD jobs. Bringing the Zen of Python to Jenkins. Run GitHub actions on Jenkins. \u201cI still have lots of features I want to add but I\u2019m adding to it when I can. My favorite feature currently is the ability to run GitHub Actions on Jenkins. For teams that use Jenkins but want something simple\u201d (@shady_cruz)
              • marketplace.visualstudio.com: Jenkins Extension Pack: DontShaveTheYak
              "},{"location":"jenkins/#jenkins-multibranch-pipeline","title":"Jenkins Multibranch Pipeline","text":"
              • The Multibranch Pipeline \ud83c\udf1f enable developer to implement different Jenkinsfiles for different branches of the same project. It\u2019s can discover branches and execute pipeline automatically with Jenkinsfiles in version control for better management pipeline.
              • infracloud.io: Migrating Jenkins Freestyle Job to Multibranch Pipeline \ud83c\udf1f
              • youtube: How to Create a Bitbucket Cloud Branch Source Multibranch Pipeline in Jenkins
              "},{"location":"jenkins/#multibranch-pipelines-with-kubernetes","title":"Multibranch Pipelines with Kubernetes","text":"
              • Build CI/CD Multibranch Pipeline with Jenkins and Kubernetes \ud83c\udf1f
              "},{"location":"jenkins/#jenkins-plugins","title":"Jenkins Plugins","text":"
              • dev.to: 8 Jenkins plugins I can\u2019t live without (2019)
              • blazemeter.com: Top Jenkins Plugins You Can\u2019t Miss in 2018
              • devops.com: 15 must have Jenkins plugins to increase productivity
              • jrebel.com: Top 10 Jenkins Plugins and Features (2014)
              • devteam.space: 10 Best Jenkins Plugins For DevOps
              • devops.com: Top 10 Best Practices for Jenkins Pipeline Plugin \ud83c\udf1f
              • jenkins.io: Deprecating non-Java plugins
              "},{"location":"jenkins/#selection-of-jenkins-plugins","title":"Selection of Jenkins Plugins","text":"
              • Job DSL Plugin \ud83c\udf1f
                • Jenkins Job DSL API \ud83c\udf1f
                • Jenkins Job DSL Plugin documentation A Groovy DSL for Jenkins Jobs - Sweeeeet!
              • Jenkins Configuration as Code
              • performance-plugin
              • Matrix \ud83c\udf1f
              • Compress-buildlog
              • syslog-logger
              • openshift-pipeline
              • openshift-sync
              • openshift-client
              • openshift-login
              • openshift-deployer
              • kubernetes plugin
              • Kubernetes Continuous Deploy \ud83c\udf1f
              • Kubernetes CLI \ud83c\udf1f
              • Atlassian\u2019s new Bitbucket Server integration for Jenkins \ud83c\udf1f
              • Blue Ocean \ud83c\udf1f
              • Cloudbees Flow \ud83c\udf1f
              • Cloudbees Credentials \ud83c\udf1f
              • CloudBees Health Advisor \ud83c\udf1f Jenkins Health Advisor by CloudBees (formerly known as \u201cCloudBees Jenkins Advisor\u201d) proactively notifies you of problems with your Jenkins-based environment. Jenkins Health Advisor by CloudBees identifies numerous issues before they affect your users, including security vulnerabilities, performance problems, and plugin version issues. Best of all, Jenkins Health Advisor by CloudBees is constantly being improved by the CloudBees Support and Engineering teams to cover the most recent identified issues.
              • CloudBees Disk Usage Simple
              • CloudBees AWS Credentials \ud83c\udf1f
              • CloudBees Docker Custom Build Environment
              • Code Average API
              • Fortify
              • SonarQube Scanner \ud83c\udf1f
                • SonarScanner for Jenkins \ud83c\udf1f SonarQube plugin for Jenkins with declarative pipeline
              • medium: ECS Jenkins Plugin to create ephemeral Slaves in Fargate
              • Pipeline: SCM Step (workflow-scm-step) The following plugin provides functionality available through Pipeline-compatible steps.
              • Amazon EC2 plugin
              • Copy Artifact
              • Credentials Binding
              • CVS plugin
              • SCM Filter Jervis YAML Plugin This plugin is intended for Jenkins infrastructure relying on jervis to deliver software in a self-service manner. This plugin can also be used for Travis CI YAML.
              • Deploy Dashboard by Namecheap
                • namecheap.com: Visualize Your Deployment Status with Jenkins \ud83c\udf1f
              • Plugin Usage This plugin gives you the possibility to analyze the usage of your installed plugins.
              • Pipeline as YAML (Incubated) \ud83c\udf1f
                • ebook: Hands-on Pipeline as YAML with Jenkins: A Beginner\u2019s Guide to Implement CI/CD Pipelines for Mobile, Hybrid, and Web Applications Using Jenkins (English Edition)
              • Least Load This plugin overrides the default Load Balancer behavior and assigns jobs to nodes with the least load
              • Declarative Pipeline Migration Assistant \ud83c\udf1f
              • Configuration Slicing
              • git-plugin \ud83c\udf1f
                • Git Plugin Performance Improvement \ud83c\udf1f
                • Git Plugin Performance Improvement Phase-2 Progress \ud83c\udf1f
                • Git Plugin Performance Improvement: Final Phase and Release \ud83c\udf1f
                • Git plugin 4.8.0 for jenkinsci allows Pipeline and Freestyle users to perform authenticated git operations from sh, bat, and powershell
              • Parameter Separator
              • Declarative Pipeline Migration Assistant API \ud83c\udf1f This project includes a plugin that uses details from a Freestyle project to generate a starting Jenkinsfile. The Declarative Pipeline Migration Assistant plugin uses a \u201cbest effort\u201d approach during generation, which means supported configurations in Freestyle projects will be automatically converted, and placeholder stages will be created for plugins that are not yet supported.
              • HashiCorp Vault \ud83c\udf1f
                • medium.com/@nanditasahu031: How to Integrate HashiCorp Vault with Jenkins to secure your Secrets
              • Matrix Authorization Strategy \ud83c\udf1f
              • AWS Secrets Manager Credentials Provider
              • QF-Test is a cross-platform software tool for the GUI test automation specialized on Java and Web applications.
              • Role-based Authorization Strategy \ud83c\udf1f
              • Extensible Choice Parameter
              • Allure \ud83c\udf1f This plugin allows to automatically generate Allure Report and attach it to build during Jenkins job run.
              • Amazon Web Services SDK
              • Metrics This plugin exposes the Metrics API to Jenkins plugins.
              • Git Forensics This Git Forensics Jenkins plugin mines and analyzes data from a Git repository. It implements all extension points of Jenkins\u2019 Forensics API Plugin.
              • Robot Framework
              • Jenkins Prometheus Metrics Plugin \ud83c\udf1f Jenkins Prometheus Plugin expose an endpoint (default /prometheus) with metrics where a Prometheus Server can scrape.
              • tekton-plugin: Easily reuse Tekton and Jenkins X from Jenkins Use tektoncd pipeline engine while getting all benefits from jenkinsci as an orchestrator, user interface and reporting eng. - jenkinsci/tekton-client-plugin - youtube: Using the Tekton Client Plugin for Jenkins \ud83c\udf1f
              • pipeline-maven: Pipeline Maven Integration \ud83c\udf1f For modern pipelines, I rather recommend looking at the Pipeline Maven Plugin. As many other older job types, Pipeline Maven Plugin is limited to a single node and does not allow implementing multi-platform builds.
              • Warnings Next Generation \ud83c\udf1f The Jenkins Next Generation Warnings plugin collects compiler warnings or issues reported by static analysis tools and visualizes the results. It has built-in support for more than hundred report formats. youtube: How to Use the Warnings Next Generation Plugin in Jenkins
              • robot-plugin: Robot Framework Plugin This plugin publishes Robot Framework test reports for Jenkins.
              • Active Choices \ud83c\udf1f The Active Choices plugin is used in parametrized freestyle Jenkins jobs to create scripted, dynamic and interactive job parameters. Active Choices parameters can be dynamically updated and can be rendered as combo-boxes, check-boxes, radio-buttons or rich HTML UI widgets.
              • Text Finder \ud83c\udf1f This plugin lets you search for some text using regular expressions in a set of files or the console log. Based on the outcome, you can downgrade the build result to UNSTABLE, FAILURE, NOT_BUILT, or ABORTED.
              • Pull Request Monitoring \ud83c\udf1f Jenkins plugin to monitor pull requests with customizable dashboard. You can also provide a view for your plugin that other developers can use in their dashboard.
              • pipeline-graph-view \ud83c\udf1f This plugin provides new Action and View to view a WorkflowRun via the \u201cPipeline Graph\u201d visualization that was popularized in the Blue Ocean plugin.
              • pipeline-graph-view-plugin \ud83c\udf1f This plugin provides new Action and View to view a WorkflowRun via the \u201cPipeline Graph\u201d visualization that was popularized in the Blue Ocean plugin.
              • URL Filter Plugin This plugin enables filtering servlet/http/url requests in Jenkins and blocking the ones which are matched with the given Regex Pattern.
              • kubernetes-plugin: Kubernetes plugin for Jenkins \ud83c\udf1f Jenkins plugin to run dynamic agents in a Kubernetes/Docker environment
              • OpenTelemetry \ud83c\udf1f Collect Jenkins monitoring data through OpenTelemetry.
              • sysdig-secure: Sysdig Secure Container Image Scanner Sysdig Secure is a container security platform that brings together Docker image scanning and run-time protection to identify vulnerabilities, block threats, enforce compliance, and audit activity across your microservices. The Sysdig Secure Jenkins plugin can be used in a Pipeline job, or added as a build step to a Freestyle job to automate the process of running an image analysis, evaluating custom policies against images, and performing security scans.
              • qualys-cs: Qualys Container Scanning Connector The Qualys Container Scanning Connector for Jenkins empowers DevOps to assess container images in their existing CI/CD processes with help of Qualys Container Security(CS) module. Integrating this assessment step will help you catch and eliminate container images related flaws. This plugin supports pipeline as well as free-style projects.
              • REST List Parameter This Plugin provides parameter type that can request a REST endpoint and offer a list of values parsed from the response value at build start time. The REST responses may contain Json or XML, which can be parsed with Json-Path and xPath respectively. If the REST endpoint requires authentication, then either Basic or Bearer authentication can be used.
              • Script Security
              • Azure Artifact Manager
              • Custom Checkbox Parameter \ud83c\udf1f This plug-in can dynamically create a set of check boxes for users to check before building. The check box settings are configured through YAML or JSON files, and the file content can be obtained through HTTP, HTTPS, or file paths. After checking the check box, the user can use params[\u2018ParameterName\u2019] in the build script to get the selected value. The result of the user\u2019s selection is returned in the form of a string separated by \u201c,\u201d value1, value2, value3.
              • Git Push
              • ec2-fleet-plugin The EC2 Fleet Plugin launches EC2 Spot or On Demand instances as worker nodes for Jenkins CI server, automatically scaling the capacity with the load.
              • vSphere cloud
              • Nomad
              • Azure Key Vault
              • Pipeline Utility Steps \ud83c\udf1f\ud83c\udf1f Small, miscellaneous, cross platform utility steps for Jenkins Pipeline jobs githu ref
              • InsightVM Container Image Scanner Scan your Docker containers using InsightVM.
              • Aqua Security Scanner Adds a Build Step for scanning Docker images, local or hosted on registries, for security vulnerabilities, using the API provided by Aqua Security
              • blueocean-rest: REST API for Blue Ocean
              • Blue Ocean Pipeline Editor
              • AWS Kinesis Consumer
              • Cucumber reports
              • NPM and Yarn Wrapper and Steps
              "},{"location":"jenkins/#plugin-development-jenkins-plugin-parent-pom-40","title":"Plugin Development. Jenkins Plugin Parent POM 4.0","text":"
              • Plugin Development
              • Plugin Development: Dependency Management
              • Parent POM for Jenkins Plugins. Plugin POM 4.0 This new parent POM is decoupled from the core Jenkins project, both from the Maven and repository perspectives.
              • 4.0 changelog
              • Maven is widely used for Jenkins plugin development, more than 90% of plugins use it. In order to simplify plugin development, the Jenkins project offers a standard Parent POM which defines the recommended build, verification and release flow. Such parent POM helps us to ensure quality of the Jenkins plugins. In April 2020 we released a new major release of the parent POM which includes a number of important and sometimes incompatible changes: Jenkins core Bill of materials, full migration to SpotBugs, etc.
              • In this presentation James Nord will talk about the changes introduced in Plugin POM 4.0. What do plugin developers and users get by upgrading? How to upgrade? What obstacles to expect, and how to resolve them?
              "},{"location":"jenkins/#jenkins-blue-ocean","title":"Jenkins Blue Ocean","text":"
              • Jenkins BlueOcean \ud83c\udf1f
              • Blue Ocean plugin
              • cd.foundation: Bringing Blue Ocean into the future of Jenkins
              Jenkins Blue Ocean Videos. Click to expand!"},{"location":"jenkins/#cloudbees-flow","title":"Cloudbees Flow","text":"
              • Cloudbees Flow \ud83c\udf1f
              • CloudBees Flow plugin
              Cloudbees Flow Videos. Click to expand!"},{"location":"jenkins/#monitoring-jenkins","title":"Monitoring jenkins","text":"
              • Performance plugin
              • Splunk Plugins
                • Splunk App for Jenkins
              • Logstash
              • Build Monitor Plugin
                • Monitor CI nodes with Jenkins
                • youtube: How to create Build Monitor View
                • youtube: monitoring jenkins job with build monitor view
                • tatiyants.com: jenkins build monitor
              • Monitor Pro Plugin
              • ALM Performance: Continuously Monitor Performance and Vitality of your Jenkins Deployment
              • Monitoring jenkins using instana
              • medium: prometheus and grafana dashboard
              • youtube: Monitoring Jenkins with Grafana and Prometheus
              • youtube: Jenkins Prometheus Grafana Dashboard | Prometheus Jenkins Monitoring | Prometheus.yml | Thetips4you
              • dynatrace.com: optimizing jenkins to ensure fast build times with dynatrace
              • opsview.com: opspack
              • Chrome Extension
              • Jenkins plugin to provide automatic status for multibranch jobs (Grafana)
                • github.com/jenkinsci/github-autostatus-plugin
              • youtube - CloudBeesTV: Jenkins Performance: Avoiding Pitfalls, Diagnosing Issues & Scaling for Growth
              • Jenkins opentelemetry-plugin \ud83c\udf1f Publish Jenkins performances metrics to an OpenTelemetry endpoint, including distributed traces of job executions and health metrics of the controller. What if you could transform your jenkinsci pipeline into an observable transaction that can be analyzed using OpenTelemetry backends such as Elastic APM? Code analyzed via code?
              • influxdata.com: Monitoring Jenkins CI with InfluxDB
              • jenkins.io: Jenkins Remoting Monitoring \ud83c\udf1f Goal: Support monitoring of Jenkins remoting networking with open source monitoring tools such as Prometheus, Grafana, etc.
                • Jenkins Remoting monitoring with OpenTelemetry Plugin \ud83c\udf1f Publish Jenkins Remoting monitoring data to an OpenTelemetry endpoint.
                • Jenkins: Agents Monitoring End User Survey
                • github PR: Enable to provide telemetry data to OpenTelemetry Collector Great step forward for the troubleshooting of JenkinsCI Agents with the visualization of the \u201cJenkins Remoting Keep Alive\u201d messages as distributed traces
              • influxdb-plugin Jenkins plugin to send build metrics into InfluxDB
              • youtube.com: CloudBeesTV - How to Monitor Jenkins With Grafana and Prometheus \ud83c\udf1f
              • jenkins-infra/jenkins-usage-stats \ud83c\udf1f Jenkins usage statistics reports generator. jenkins-usage-stats handles importing daily Jenkins usage reports into a database, and generating monthly reports from that data.
                • stats.jenkins.io \ud83c\udf1f Jenkins infra-statistics
              "},{"location":"jenkins/#externalizing-fingerprint-storage-for-jenkins","title":"Externalizing Fingerprint Storage for Jenkins","text":"
              • New FingerprintStorage API to build external fingerprint storage plugins.
              • External Fingerprint Storage Phase-1 Updates Externalizing fingerprint storage for Jenkins is a Google Summer of Code 2020 project. Fingerprinting is a way to track which version of a file is being used by a job/build, making dependency tracking easy. The fingerprint engine of Jenkins can track usages of artifacts, credentials, files, images, etc. within the system. Currently, it does this by maintaining a local XML-based database. Advantages of using external storage drivers:
                • Remove dependence on Jenkins master disk storage
                • Support for configure pay-as-you-use cloud storages
                • Easy Backup Management
                • Better Reliability and Availability
                • Fingerprints can be tracked across Jenkins instances
              • Redis Fingerprint Storage Plugin
              "},{"location":"jenkins/#jenkins-and-spring-boot","title":"Jenkins and Spring Boot","text":"
              • jaxenter.com - CI/CD for Spring Boot Microservices
              • piotrminkowski.wordpress.com: Kotlin microservice with spring boot
              "},{"location":"jenkins/#docker-in-docker-running-jenkins-in-kubernetes","title":"Docker in Docker. Running Jenkins in Kubernetes","text":"
              • Building Docker images when running Jenkins in Kubernetes
                • pushbuildtestdeploy.com: jenkins on kubernetes building docker images
                • ref2
              • itnext.io: docker in docker
              • code-maze.com: ci jenkins docker
              • medium: quickstart ci with jenkins and docker in docker
              • Docker in Docker on EKS:
                • ref1: docker build \u2013network=host
                • ref2
              "},{"location":"jenkins/#cloudbees","title":"CloudBees","text":""},{"location":"jenkins/#cloudbees-rollout-and-feature-flags","title":"CloudBees Rollout and Feature Flags","text":"
              • CloudBees Rollout \ud83c\udf1f
              • rollout.io: CloudBees Rollout Tutorial: Feature Flagging in your React Native App in 5 minutes
              • How to Disable Code: The Developer\u2019s Production Kill Switch \ud83c\udf1f
              "},{"location":"jenkins/#feature-flags-in-cloudbees-enterprise-on-premise","title":"Feature Flags in CloudBees Enterprise On-Premise","text":"
              • CloudBees Releases Another Industry First: Feature Flagging for On-Premise Use \ud83c\udf1f
                • SAN JOSE, CA. \u2013 May 5, 2020 \u2013 CloudBees, Inc., the enterprise software delivery company, today announced a new release of CloudBees Feature Flags that enables developers to manage production deployments of new functionality in a controlled manner with an on-premise feature manager. The new offering strengthens CloudBees\u2019 leadership in the continuous integration/continuous delivery (CI/CD) space by extending users\u2019 ability to leverage feature flag technology in both on-premise and cloud environments. CloudBees Feature Flags is from the company and application formerly known as Rollout, acquired last year by CloudBees.
                • Feature flags have emerged as popular tools for deploying new features with the added advantage of enabling risk-free experimentation and fast results. As organizations enhance applications with rich new capabilities, many use feature flags to preview features for select audiences, with the ability to pull them back quickly if the functionality is not successful. In a recent survey, 97% of respondents say that it is important for their organization to implement new application features quickly, yet 65% say it is difficult for their organization to do so safely. CloudBees Feature Flags enables developers to easily release new features with confidence, reduce risk in doing so and manage large numbers of feature flags at scale.
                • \u201cVery soon, all features will be released behind a feature flag. It\u2019s a natural evolution in continuous delivery. CloudBees has led the way in feature flag technology, making it a core part of our overall offering,\u201d said Sacha Labourey, CEO and co-founder, CloudBees. \u201cWith this release, we are providing the same functionality for on-premise environments that previously had only been available as a cloud-based service. We are committed to the ongoing integration, automation and governance of feature flags within the software delivery lifecycle and giving users choice in selecting the best environment for their project \u2013 on-premise or cloud.\u201d
                • CloudBees Feature Flags integrates with the company\u2019s deep CI/CD capabilities, giving organizations the most comprehensive feature management capabilities in the software development life cycle (SDLC). The ability to use feature flagging in an on-premise environment also opens up new avenues for usage in industries, such as government, finance, pharmaceuticals, utilities and healthcare, where there can be a mix of on-premise and cloud environments.
                • \u201cWe recognize that many companies are realizing the benefits of feature flags,\u201d said Moritz Plassnig, senior vice president and general manager, Software Delivery Management and Software Delivery Automation Cloud at CloudBees. \u201cBy flagging features, they no longer have to sacrifice innovation to lower risk. We felt that it was critical to offer this technology to any company working in on-premise or hybrid environments.\u201d
              "},{"location":"jenkins/#cloudbees-accelerator","title":"CloudBees Accelerator","text":"
              • CloudBees Accelerator Shorten Build and Test Times
              • How to Speed Up Software Development with Build and Test Acceleration Tools
              "},{"location":"jenkins/#jenkins-scripts","title":"Jenkins Scripts","text":"
              • Two very helpful collections of utility groovy scripts:
                • jenkinsci/jenkins-scripts \ud83c\udf1f
                • samrocketman/jenkins-script-console-scripts \ud83c\udf1f A repository of one-off script console scripts for Jenkins.
              "},{"location":"jenkins/#backup-for-jenkins-on-kubernetes","title":"Backup for Jenkins on Kubernetes","text":""},{"location":"jenkins/#jervis-jenkins-as-a-service","title":"Jervis: Jenkins as a service","text":"
              • Jervis is Sam Gleske\u2019s vision of a good way to roll out Jenkins as a service in very large organizations.
              • SCM Filter Jervis YAML Plugin This plugin is intended for Jenkins infrastructure relying on jervis to deliver software in a self-service manner. This plugin can also be used for Travis CI YAML.
              "},{"location":"jenkins/#jenkins-x-serverless","title":"Jenkins X (Serverless)","text":"

              Jenkins X is a specialized Jenkins for Kubernetes: This is how it works from a bird eye the CI/CD: a developer creates a branch, then Jenkins X creates a ephemeral namespace with that branch. The developer tests it and once it is ok, a PR is created, then, the branch is deployed in staging. When I merge it, it goes to QA, and with a manual command \u201cjx promote\u201d it goes to production. Jenkins X deletes automatically after N hours the branch namespace.

              Why Do We Need Jenkins X To Be Serverless? Initially, Jenkins X had a stripped-down version of Jenkins but, since the release 2, not a single line of the traditional Jenkins is left in Jenkins X. Now it is fully serverless thanks to Tekton and a lot of custom code written from scratch to support the need for a modern Kubernetes-based solution.

              • jenkins-x.io
              • itnext.io/tagged/jenkins-x
              • itnext.io: Jenkins X \u2014 Managing Jenkins
              • Video Tutorials:
                • Youtube: Jenkins X: Continuous Delivery for Kubernetes with James Strachan
                • Youtube: Kubernetes Package Management with Helm and CI/CD with Jenkins X - Webinar by Neependra Khare
                • go.digitalocean.com/cicd-on-k8s
              • blog.csanchez.org: Serverless Jenkins Pipelines with Google Cloud Run
                1. Jobs execute in Cloud Run (fast, scalable, pay per use compute)
                2. Ships as a container (extensible)
                3. Posts cat pics (amazing)
              "},{"location":"jenkins/#jenkins-and-sap","title":"Jenkins and SAP","text":"
              • blogs.sap.com: Continuous quality using plugins and Jenkins (ABAP & UI5)
              • blogs.sap.com: CI/CD Tools for SAP Cloud Platform ABAP Environment
              • sap.github.io/jenkins-library Jenkins shared library for Continuous Delivery pipelines. - Project Piper Repository The Project \u201cPiper\u201d offers default pipelines to easily implement CI/CD processes integrating SAP systems. The corresponding \u201cShared Library\u201d provides a set of \u201csteps\u201d to build your own scenarios beyond defaults.
              "},{"location":"jenkins/#jenkins-free-templates-for-aws-cloudformation","title":"Jenkins Free Templates for AWS CloudFormation","text":"
              • templates.cloudonaut.io: Jenkins 2.0: highly available master
              • templates.cloudonaut.io: Jenkins 2.0: highly available master and dynamic agents
              "},{"location":"jenkins/#videos","title":"Videos","text":"Click to expand!"},{"location":"jenkins/#tweets","title":"Tweets","text":"Click to expand!

              Linus Torvalds: Shared libraries are not a good thing in generalhttps://t.co/j94eT3n4qW pic.twitter.com/pZp4m50qtx

              \u2014 nixCraft (@nixcraft) May 1, 2021

              Please everyone in technology stop using #jenkins for CI/CD systems. It is one of the worst non immutable systems out there. Also don't get me started with pipelines. Otherwise #devops future is just going to be managing multi decade old jenkins servers :( What a nightmare.

              \u2014 The Sheff (@thesheff17) July 13, 2021

              Hudson as in 2008 is dead. Jenkins as in 2012 is legacy. Jenkins as in 2021 is different: Pipeline, CasC, K8s, etc. The secret of long term survival is constant evolution. @jenkinsci has been changing A LOT, and it should keep doing so.What do you want to see in Jenkins next? https://t.co/v5U40obh7M pic.twitter.com/GHkhEj81x4

              \u2014 Oleg Nenashev (@oleg_nenashev) April 29, 2021

              Some @jenkinsci tricks you should know\u2705A thread\ud83e\uddf5\ud83d\udc47#jenkins #devops

              \u2014 gekocloud (@geko_cloud) June 11, 2021

              @kuisathaverat and I just recorded one of our sessions for the upcoming #DevOpsWorld with real examples how distributed traces with #OpenTelemetry in #JenkinsCI can help to troubleshoot and apply performance improvements without the need of debugging logs. \ud83d\udc4c great work mate \ud83e\udd29

              \u2014 Victor Mrtez (@AnInfinite) July 22, 2021

              You can save a lot of time and resources if you configure the clone your @jenkinsci jobs to perform a shallow, no tags clone instead of a full clone. The screenshot shows how to configure it in a Jenkinsfile.#Jenkins #cicd pic.twitter.com/yI0EFGTYbQ

              \u2014 Igorski (@IgorskiCo) September 13, 2021

              For everyone participating in the the @jenkinsci panel by @incredibuild, here are my slides about evolution of CI/CD tools. Jenkins and other \"classic\" tools remain very relevant in 2021 https://t.co/iFyNe6Mqn9

              \u2014 Oleg Nenashev (@oleg_nenashev) September 22, 2021

              Why did I not think of this before @jenkinsci if you want your build parameters to be sticky:parameters { string name: 'STICKY', defaultValue: params.STICKY?:'initial value'} pic.twitter.com/QCRFYuTfJS

              \u2014 \ud83d\ude00 Stephen Connolly (@connolly_s) October 20, 2021"},{"location":"jvm-parameters-matrix-table/","title":"Java Parameters Matrix Table","text":"JVM Parameters Enable? References / Details -XX:+UseG1GC Enabled by default in Java 8u191+ Most important defaults specific to G1 and their default values. https://dzone.com/articles/choosing-the-right-gc https://wiki.openjdk.java.net/display/HotSpot/G1GC+Feedback Alternative: Shenandoah GC -XX:+UseShenandoahGC Alternative to G1GC. Shenandoah Garbage Collector: experimental in Java 8, newer than G1GC, available in some OpenJDK 8 and newer releases. https://wiki.openjdk.java.net/display/shenandoah/Main https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1 -XX:+UseZGC Yes (JDK 11+) Z GC : Better Garbage Collector Algorithm than G1 or Shenandoah. JDK 11+ required. The Z Garbage Collector, also known as ZGC, is a scalable low latency garbage collector designed to meet the following goals: \u00b7 Pause times do not exceed 10ms (*) \u00b7 Pause times do not increase with the heap or live-set size \u00b7 Handle heaps ranging from a 8MB to 16TB in size At a glance, ZGC is: \u00b7 Concurrent \u00b7 Region-based \u00b7 Compacting \u00b7 NUMA-aware \u00b7 Using colored pointers \u00b7 Using load barriers At its core, ZGC is a concurrent garbage collector, meaning all heavy lifting work is done while Java threads continue to execute. This greatly limits the impact garbage collection will have on your application\u2019s response time. 7 JVM Arguments of Highly Effective Applications https://wiki.openjdk.java.net/display/zgc/Main -XshowSettings:vm Yes This is a priceless feature to display all the settings of the JVM, together with -XX:+PrintCommandLineFlags it can show a world of hidden stuff. http://www.javamonamour.org/2018/11/java-showsettings.html -XX:+UseStringDeduplication Yes https://www.baeldung.com/jvm-garbage-collectors -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath Yes When running a JVM in a docker container it is probably wise to use the HeapDumpOnOutOfMemoryError option so if you ever run out of memmory the jvm will write a dump of the heap to disk. https://merikan.com/2019/04/jvm-in-a-container/ https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1 -Xss Test Increase the thread\u2019s stack size limit by passing the -Xss argument. https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1 Each application will have tens, hundreds, thousands of threads. Each thread will have its own stack. Each one of them consumes memory. If their consumption goes beyond a certain limit, then a StackOverflowError is thrown. More details about StackOverflowError and solutions to resolve it can be found in this article. Linux 64-bit JVM Default thread stack size = 1024k -Xss2m : This will set the thread\u2019s stack size to 2mb -Dsun.net.client.defaultConnectTimeout-Dsun.net.client.defaultReadTimeout Yes https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1 -Duser.timeZone Yes https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1 Enable GC Logging Check JDK 8: -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:{file-path} JDK9+: -Xlog:gc*:file={file-path} https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1 ======================================= ============== ================================================================================"},{"location":"keptn/","title":"Keptn. Data Driven DevOps Automation with Ketpn. Automating Service Level Indicators/Service Level Objectives based build validation with Keptn and Jenkins","text":"
              1. Introduction
              2. Keptn Videos
              3. Keptn Images
              4. Keptn Slides
              "},{"location":"keptn/#introduction","title":"Introduction","text":"
              • Keptn Keptn not only orchestrates Continuous Deployment, but it also orchestrates Continuous or Automated Operations.
              • Keptn provides automated SLI/SLO-based quality gates Introduction to Data Driven DevOps Automation. Keptn is a CNCF sandbox project and aims to automate delivery and operational processes using a data-driven approach. Keptn\u2019s architecture solves a key problem with traditional automation tools where process and tool integrations are often hard coded or hard to maintain. Keptn uses an event-driven orchestrator with declarative process and tooling definitions that eliminate the need for any custom tool integration and make changing processes or tools a matter of changing a config file entry! At the core Keptn integrates with your observability platforms to automate SRE best practices such as SLO validation as part of your DevOps delivery and operations automation. Start automating your DevOps processes with Keptn to cover SLO-based Quality Gates, Performance & Chaos Test Automation, Event Driven Delivery as well as SRE-driven Auto-Remediation.
              • Quick Start
              • tutorials.keptn.sh \ud83c\udf1f
                • tutorials.keptn.sh: Azure DevOps Pipelines with Keptn Quality Gates
              • dynatrace.com: What is keptn, how it works and how to get started!
              • medium: Keptn 0.6.0 \u2014 My top 5 favorite improvements
              • medium: How we are redesigning our microservices deployment strategy Sharing the story of why we decided to adopt Keptn internally at Dynatrace and how we are making it happen
              • Keptn Jenkins Shared Library integrates Jenkins and Keptn with just a couple of function calls.
              • Jenkins Online Meetup Andreas Grabner from Dynatrace will talk about automating Service Level Indicators/Service Level Objectives based build validation with Keptn and Jenkins.
                • In many organizations up to 80% of pipeline execution time is spent in manual build validation steps. How can we reduce that? One option is applying Google\u2019s SRE (Site Reliability Engineering) practices by automating SLI (Service Level Indicators) & SLO (Service Level Objectives) based build validation. This method has proven to detect problematic issues in production and also allows us to automatically approve or reject builds being pushed through our pipelines.
                • In this session you learn the basics of picking good SLIs & SLOs and how to extract them from your monitoring tools. After this session you will be able to start implementing this integration yourself with Jenkins. To give you a jump start you will be introduced to the open source project Keptn which provides automated SLI/SLO-based quality gates. Then we\u2019ll talk about Keptn Jenkins Shared Library which integrates Jenkins and Keptn with just a couple of function calls.
              • youtube: Level-Up your Jenkins-based Delivery with Keptn
              • thenewstack.io: How Keptn Automatically Configures Prometheus Ecosystems
              • github.com/keptn-sandbox/keptn-on-k3s: Tutorial: Keptn for Dynatrace Users in 5 Minutes \ud83c\udf1f - Tutorial on keptnProject with argoproj for canary deployments using Dynatrace for SLO-based rollout control
              • youtube: Tutorial - Keptn in a box
              • dynatrace-perfclinics.github.io: Why Devs Love Dynatrace \ud83c\udf1f Codelab explaining the benefits of automating SLO-based quality gates with keptnProject.
              "},{"location":"keptn/#keptn-videos","title":"Keptn Videos","text":"Click to expand!"},{"location":"keptn/#keptn-images","title":"Keptn Images","text":"Click to expand!"},{"location":"keptn/#keptn-slides","title":"Keptn Slides","text":"Click to expand!"},{"location":"kubectl-commands/","title":"Kubectl commands","text":"
              1. Introduction
              2. Kubectl Cheat Sheets
              3. Kubectl aliases
              4. Kubectl explain
              5. Kubectl example
              6. Kubectl Autocomplete
              7. kubectl exec
              8. kubectl scale
              9. kubectl debug
              10. List all resources and sub resources that you can constrain with RBAC
              11. Copy a configMap in kubernetes between namespaces
              12. Copy secrets in kubernetes between namespaces
              13. Export resources with kubectl and python
              14. Buildkit CLI for kubectl a drop in replacement for docker build
              15. Kubectl Alternatives
                1. Manage Kubernetes (K8s) objects with Ansible Kubernetes Module
                2. Jenkins Kubernetes Plugins
              16. Videos
              17. Tweets
              "},{"location":"kubectl-commands/#introduction","title":"Introduction","text":"
              • itnext.io: Boosting your kubectl productivity
              • medium: 4 Simple Kubernetes Terminal Customizations to Boost Your Productivity
              • medium: Ready-to-use commands and tips for kubectl
              • medium: Be fast with Kubectl 1.19 CKAD/CKA \ud83c\udf1f Collection of the fastest ways to create k8s resources using kubectl \u2265 1.18
              • developers.redhat.com: Kubectl: Developer tips for the Kubernetes command line \ud83c\udf1f
              • ibm.com: 8 Kubernetes Tips and Tricks \ud83c\udf1f Most of the tips given below are using kubectl, a powerful command-line tool that allows you to execute commands against Kubernetes clusters.
                • Set default namespaces
                • Helpful aliases to save time
                • YAML editing with vi
                • Create YAML from kubectl commands
                • Switching between Kubernetes namespaces
                • Shell auto-completion
                • Viewing resource utilization
                • Extend kubectl and create your own commands using raw outputs
              • pixelstech.net: Update & Delete Kubernetes resources in one-line command
              • opensource.com: 5 useful ways to manage Kubernetes with kubectl Learn kubectl to enhance how you interact with Kubernetes.
              • hackerxone.com: How to Manage Single & Multiple Kubernetes Clusters using kubectl & kubectx in Linux
              • Get kubectl access to your private cluster from anywhere This tutorial shows you how to expose your private Kubernetes API server to the Internet, so that you can manage your cluster from anywhere, just like you would with a cloud offering.
              • medium: One CKA/CKAD/CKS requirement: Mastering Kubectl
              • medium: Replication Controller Vs ReplicaSets in Kubernetes Learn why we need replication and how replication works in Kubernetes. Scale the application using the kubectl scale command.
              • dev.to: Open a command prompt in a Kubernetes cluster This starts up a pod (in the default namespace by default) and opens a command line in the given container. As I\u2019m running as root, I can install anything I need for debugging and testing right in my cluster.
              • akhilsharma.work: Checking Kubernetes API Calls using kubectl In order to interact, we can simply use kubectl. Just add verbose logging level of 8+ and you will get the API calls!
                • kubectl get pods -v=8
                • kubectl create job my-job --image=busybox --dry-run=server -v8
              • cloudsavvyit.com: How to Restart Kubernetes Pods with Kubectl
              • technos.medium.com: How kubectl apply command works?
              • blogs.nakam.org: What Happens When? K8s Edition \ud83c\udf1f What happens when you do kubectl create deploy nginx \u2013image=nginx \u2013replicas=3
              • inlets.dev: Fixing the Developer Experience of Kubernetes Port Forwarding This article shows you some of the frustrations of using kubectl for port-forwarding and how to fix the developer experience.
              • medium.com/swlh: Break Down Kubernetes Server-Side Apply (Advanced kubectl) \ud83c\udf1f Are you already using the SSA? Do you know the difference between CSA and SSA?
              • blog.devgenius.io: K8s \u2014 Manage Multiple Clusters Using kubectl at Scale Manage multiple K8s clusters efficiently using kubectl
              • itnext.io: How to Restart Kubernetes Pods With Kubectl \ud83c\udf1f A pod is the smallest unit in Kubernetes (K8S). They should run until they are replaced by a new deployment. Because of this, there is no way to restart a pod, instead, it should be replaced.
              • awstip.com: Kubernetes \u2014 Creating deployments via command line and with YAML files
              • superbrothers/zsh-kubectl-prompt \ud83c\udf1f Display information about the kubectl current context and namespace in zsh prompt.
              • medium.com/@emmaliaocode: kubectl create vs kubectl apply. What\u2019s the difference?
              • hidetatz/kubecolor \ud83c\udf1f colorizes kubectl output
              • medium.com/codex: Kubectl Output 101 Cheatsheet & examples of using kubectl get -o
              • lovethepenguin.com: Kubernetes: common pod operations
              • medium.com/geekculture: kubectl \u2014 Best Practices
              • learnitguide.net: How to Create ConfigMap from Properties File Using K8s Client
              • shardul.dev: Most Useful kubectl Plugins In this article, you will have a look at the following kubectl plugins:
                • neat
                • view-secret
                • access-matrix
                • blame
                • df-pv
                • gke-outdated
              • howtogeek.com: Getting Started With Kubectl to Manage Kubernetes Clusters Kubernetes is a container orchestration engine that lets you deploy containerised workloads in a scalable way.
              • medium.com/@jake.page91: The guide to kubectl I never had
              • itnext.io: Kubernetes Contexts: Complete Guide for Developers An introduction to Kubeconfig and Contexts. It\u2019s finally time to understand how kubectl connects to Kubernetes.
              "},{"location":"kubectl-commands/#kubectl-cheat-sheets","title":"Kubectl Cheat Sheets","text":"
              • Kubectl Cheat Sheets
              "},{"location":"kubectl-commands/#kubectl-aliases","title":"Kubectl aliases","text":"
              • ahmetb/kubectl-aliases Programmatically generated handy kubectl aliases. This repository contains a script to generate hundreds of convenient shell aliases for kubectl, so you no longer need to spell out every single command and \u2013flag over and over again
              • blog.devgenius.io: Daily useful Kubernetes aliases
              "},{"location":"kubectl-commands/#kubectl-explain","title":"Kubectl explain","text":"
              • kubectl explain
              • itnext.io: Using \u2018kubectl explain\u2019 for Custom Resources Goal: Explore if \u2018kubectl explain\u2019 can be used to discover static information about Custom Resources

              for r in $(kubectl api-resources|grep -v ^N|awk '{print $1}');do kubectl explain $r --recursive;done

              "},{"location":"kubectl-commands/#kubectl-example","title":"Kubectl example","text":"
              • github.com/trstringer/kubectl-example kubectl plugin to dump example helper resource templates
              "},{"location":"kubectl-commands/#kubectl-autocomplete","title":"Kubectl Autocomplete","text":"
              • Kubectl Autocomplete
              • kubectl Shell Autocomplete
              • Kubernetes productivity tips and tricks \ud83c\udf1f
              • complete-alias Automagical shell alias completion.
              source <(kubectl completion bash) # setup autocomplete in bash into the current shell, bash-completion package should be installed first.\necho \"source <(kubectl completion bash)\" >> ~/.bashrc # add autocomplete permanently to your bash shell.\n

              You can also use a shorthand alias for kubectl that also works with completion:

              alias k=kubectl\ncomplete -F __start_kubectl k\n
              "},{"location":"kubectl-commands/#kubectl-exec","title":"kubectl exec","text":"
              • A Complete Guide to Kubectl exec - (Related to kubernetes-tools topic)

              • itnext.io: Connect to containers using Kubectl Exec In this article, we will look at the kubectl exec command to show how to get a shell into a running container in your Kubernetes (K8S) cluster, and how to run individual commands on a container with some useful examples.

              • goteleport.com: kubectl exec vs SSH This article compares kubectl exec and SSH and discusses their strengths and weaknesses
              "},{"location":"kubectl-commands/#kubectl-scale","title":"kubectl scale","text":""},{"location":"kubectl-commands/#kubectl-debug","title":"kubectl debug","text":"
              • hackernoon.com: How to Work With the Kubectl Debug Command
              "},{"location":"kubectl-commands/#list-all-resources-and-sub-resources-that-you-can-constrain-with-rbac","title":"List all resources and sub resources that you can constrain with RBAC","text":"
              • kind of a handy way to see all thing things you can affect with Kubernetes RBAC. This will list all resources and sub resources that you can constrain with RBAC. If you want to see just subresources append \u201c| grep {name}/\u201d:
              kubectl get --raw /openapi/v2  | jq '.paths | keys[]'\n
              "},{"location":"kubectl-commands/#copy-a-configmap-in-kubernetes-between-namespaces","title":"Copy a configMap in kubernetes between namespaces","text":"
              • Copy a configMap in kubernetes between namespaces with deprecated \u201c\u2013export\u201d flag:
              kubectl get configmap --namespace=<source> <configmap> --export -o yaml | sed \"s/<source>/<dest>/\" | kubectl apply --namespace=<dest> -f -\n
              • Flag export deprecated in kubernetes 1.14. Instead following command can be used:
              kubectl get configmap <configmap-name> --namespace=<source-namespace> -o yaml | sed \u2018s/namespace: <from-namespace>/namespace: <to-namespace>/\u2019 | kubectl create -f\n
              • Reference: Copy a configMap in kubernetes between namespaces
              "},{"location":"kubectl-commands/#copy-secrets-in-kubernetes-between-namespaces","title":"Copy secrets in kubernetes between namespaces","text":"
              • Copy secrets between namespaces:
              kubectl get secret <secret-name> --namespace=<source>\u200a-o yaml | sed \u2018s/namespace: <from-namespace>/namespace: <to-namespace>/\u2019 | kubectl create -f\n
              "},{"location":"kubectl-commands/#export-resources-with-kubectl-and-python","title":"Export resources with kubectl and python","text":""},{"location":"kubectl-commands/#buildkit-cli-for-kubectl-a-drop-in-replacement-for-docker-build","title":"Buildkit CLI for kubectl a drop in replacement for docker build","text":"
              • container-registry.com: Lifting Developers\u2019 Productivity \ud83c\udf1f With BuildKit CLI for kubectl a drop in replacement for docker build. In this post, you will learn how to build container images with BuildKit CLI for kubectl (a replacement for the docker build command)
              • vmware-tanzu/buildkit-cli-for-kubectl (kubectl plugin) BuildKit CLI for kubectl is a tool for building container images with your Kubernetes cluster.
              "},{"location":"kubectl-commands/#kubectl-alternatives","title":"Kubectl Alternatives","text":"
              • Helm and Kubernetes
              • Kubectl plugins and tools
              "},{"location":"kubectl-commands/#manage-kubernetes-k8s-objects-with-ansible-kubernetes-module","title":"Manage Kubernetes (K8s) objects with Ansible Kubernetes Module","text":"
              • Manage Kubernetes (K8s) objects
              • ansibleforkubernetes.com \ud83c\udf1f
              "},{"location":"kubectl-commands/#jenkins-kubernetes-plugins","title":"Jenkins Kubernetes Plugins","text":"
              • Jenkins Kubernetes Plugin
              • Kubernetes Continuous Deploy
              "},{"location":"kubectl-commands/#videos","title":"Videos","text":"Click to expand!"},{"location":"kubectl-commands/#tweets","title":"Tweets","text":"Click to expand!

              TIL: How to create Kubernetes manifests real quick \ud83e\udd2fUse kubectl create \u2013dry-run=client -o yamlExample:<br>kubectl create deployment foo \\<br> --image=nginx:1.21 \\<br> --dry-run=client \\<br> -o yaml<br>

              \u2014 Ivan Velichko (@iximiuz) January 17, 2022

              "},{"location":"kubernetes-alternatives/","title":"Kubernetes Alternatives","text":"
              1. Introduction
                1. Why Not Use Kubernetes
              2. Heroku
              3. Amazon ECS
              4. Cycle.io
              5. Nomad
              6. Portainer
              7. Docker Enterprise and Docker Universal Control Plane (UCP)
              8. Docker Swarm
              9. Simplenetes
              10. Taubyte
              11. More comparisons and alternatives
              12. Images
              13. Videos
              "},{"location":"kubernetes-alternatives/#introduction","title":"Introduction","text":"
              • simform.com: Top Alternatives to Kubernetes to Overcome Business Challenges Looking for alternatives to Kubernetes to overcome orchestration challenges? Here are eight alternatives for optimized containerization!
              "},{"location":"kubernetes-alternatives/#why-not-use-kubernetes","title":"Why Not Use Kubernetes","text":"
              • medium: Why Not Use Kubernetes? Is Kubernetes really right for your stack?
              • medium: Your team might not need Kubernetes
              • thenewstack.io: Do I Really Need Kubernetes?
              • infoworld.com: When Kubernetes is not the solution
              • ably.com: No, we don\u2019t use Kubernetes
              "},{"location":"kubernetes-alternatives/#heroku","title":"Heroku","text":"
              • towardsdatascience.com: Heroku + Docker in 10 Minutes Deployment for Python applications made easy \u2014 and it\u2019s free
              "},{"location":"kubernetes-alternatives/#amazon-ecs","title":"Amazon ECS","text":"
              • techtarget.com: Amazon ECS vs. Kubernetes: Which should you use on AWS? How can you approach container orchestration on AWS? Learn the basics about ECS, EKS, DIY Kubernetes and Fargate before you choose an application architecture for your workloads.
              • thenewstack.io: No Kubernetes Needed: Amazon ECS Anywhere The idea of ECS Anywhere is simple \u2014 run the same ECS agent designed for EC2 instances in external hosts such as bare metal servers, VMs, and even instances running in other public cloud environments.
              "},{"location":"kubernetes-alternatives/#cycleio","title":"Cycle.io","text":"
              • Cycle.io
              • thenewstack.io: Cycle.io: Meet the Team on a Mission to Replace Kubernetes
              • thenewstack.io: Cycle.io: A Container Orchestration Platform Aimed at Developers \u201cKubernetes has not been able to deliver this level of multicloud portability and ease of use with containers. Cycle promises to fill this gap.\u201d
              "},{"location":"kubernetes-alternatives/#nomad","title":"Nomad","text":"
              • Nomad
              • Nomad an alternative to Kubernetes
              • \u201cLet\u2019s use Kubernetes!\u201d Now you have 8 problems
              • nomadproject.io: Nomad vs. Kubernetes
              • codemotion.com: Nomad vs Kubernetes but without the complexity
              • sysadmincasts.com: Nomad \ud83c\udf1f
              • blog.cloudflare.com: How we use HashiCorp Nomad (Cloudflare using Nomad and Consul)
              • atodorov.me: Why you should take a look at Nomad before jumping on Kubernetes
              • thenewstack.io: Conductor: Why We Migrated from Kubernetes to Nomad \u201cAfter examining the Kubernetes source code, we realized that the default Kubernetes autoscaler is not designed for batch jobs, which typically have a low tolerance for delay.\u201d
              • imaginarycloud.com: Nomad VS. Kubernetes: Container Orchestration Tools Compared
              • nomadproject.io: An alternative to Kubernetes
              • chaordic.io: Is Nomad a better Kubernetes?
              "},{"location":"kubernetes-alternatives/#portainer","title":"Portainer","text":"
              • Portainer Making Docker management easy
              • stackshare.io: Kubernetes vs Portainer
              "},{"location":"kubernetes-alternatives/#docker-enterprise-and-docker-universal-control-plane-ucp","title":"Docker Enterprise and Docker Universal Control Plane (UCP)","text":"
              • Universal Control Plane overview Docker Universal Control Plane (UCP) is the enterprise-grade cluster management solution from Docker. You install it on-premises or in your virtual private cloud, and it helps you manage your Docker cluster and applications through a single interface.
              "},{"location":"kubernetes-alternatives/#docker-swarm","title":"Docker Swarm","text":"
              • Docker Swarm
              • galaxy.ansible.com: Docker Ansible Role Setup Docker on RHEL/CentOS and Debian/Ubuntu servers. The role supports Docker Engine\u2019s \u201cSwarm Mode\u201d to create a cluster of Docker nodes.
              • Kubernetes vs Docker Swarm:\u200aA Comprehensive Comparison
              • Alternative to Kubernetes: Docker Swarm
              • dotnettricks.com: Kubernetes vs Docker: Analyzing The Differences
              • freecodecamp.org: Kubernetes VS Docker: What\u2019s the Difference? Explained With Example
              • kpatronas.medium.com: Docker swarm: High Availability
              • semaphoreci.com: Kubernetes vs Docker: Understanding Containers in 2021
              • linkedin.com: Docker Series : Docker Swarm - Lionel GURRET
              • cloudsavvyit.com: What is Docker Swarm Mode and When Should You Use It?
              • swarmlet/swarmlet: Swarmlet A self-hosted, open-source Platform as a Service that enables easy swarm deployments, load balancing, automatic SSL, metrics, analytics and more.
              • thinksys.com: Docker Swarm vs. Kubernetes: Comparison 2022
              "},{"location":"kubernetes-alternatives/#simplenetes","title":"Simplenetes","text":"
              • Simplenetes Alternative to Kubernetes written in pure Sh
              "},{"location":"kubernetes-alternatives/#taubyte","title":"Taubyte","text":"
              • Taubyte Alternative to Kubernetes that aims to eliminate as much ops as possible (NoOps)
              • tau Implementation of Taubyte. Build a Cloud Computing Platform running few commands.
              • dreamland Implementation of Taubyte for local development and E2E testing automation.
              • llama.cpp plugin llama.cpp integration for WebAssembly
              "},{"location":"kubernetes-alternatives/#more-comparisons-and-alternatives","title":"More comparisons and alternatives","text":"
              • blog.opstree.com: A Comparison Between Various Container Orchestration Services! (ECS vs Kubernetes)
              • itprotoday.com: 4 Alternatives to Kubernetes Container Orchestrator While nearly nine out of 10 organizations use Kubernetes, there are alternatives to consider if looking for a container orchestrator in 2022.
              • portainer.io: Kubernetes vs Docker Swarm vs Nomad - the orchestrator wars continue?
              • coolify.io Made self-hosting simple. An open-source & self-hostable Heroku / Netlify alternative (and even more).
              "},{"location":"kubernetes-alternatives/#images","title":"Images","text":"Click to expand!

              "},{"location":"kubernetes-alternatives/#videos","title":"Videos","text":"Click to expand!"},{"location":"kubernetes-autoscaling/","title":"Autoscaling","text":"
              1. Introduction
              2. Cluster Autoscaler Kubernetes Tool
              3. HPA and VPA
                1. Kubernetes Scale to Zero
              4. Cluster Autoscaler and Helm
              5. KEDA Kubernetes Event Driven Autoscaling
              6. Cluster Autoscaler and DockerHub
              7. Cluster Autoscaler in GKE, EKS, AKS and DOKS
              8. Cluster Autoscaler in OpenShift
              9. Scaling Kubernetes to multiple clusters and regions
              10. Kubernetes Load Testing and High Load Tuning
              11. Tweets
              12. Videos
              "},{"location":"kubernetes-autoscaling/#introduction","title":"Introduction","text":"
              • levelup.gitconnected.com: Effects of Docker Image Size on AutoScaling w.r.t Single and Multi-Node Kube Cluster
              • infracloud.io: 3 Autoscaling Projects to Optimise Kubernetes Costs Three autoscaling use cases:
                • Autoscaling Event-driven workloads
                • Autoscaling real-time workloads
                • Autoscaling Nodes/Infrastructure
              • blog.scaleway.com: Understanding Kubernetes Autoscaling
              • infracloud.io: Kubernetes Autoscaling with Custom Metrics (updated) \ud83c\udf1f
              • sysdig.com: Kubernetes pod autoscaler using custom metrics
              • learnk8s.io: Architecting Kubernetes clusters \u2014 choosing the best autoscaling strategy \ud83c\udf1f How to configure multiple autoscalers in Kubernetes to minimise scaling time and found out that 4 factors affect scaling:
                1. HPA reaction time.
                2. CA reaction time.
                3. Node provisioning time.
                4. Pod creation time.
              • thenewstack.io: Reduce Kubernetes Costs Using Autoscaling Mechanisms
              • cast.ai: Guide to Kubernetes autoscaling for cloud cost optimization \ud83c\udf1f
              • thenewstack.io: Scaling Microservices on Kubernetes \ud83c\udf1f
                • Horizontally scaling a monolith is much more difficult; and we simply can\u2019t independently scale any of the \u201cparts\u201d of a monolith. This isn\u2019t ideal, because it might only be a small part of the monolith that causes the performance problem. Yet, we would have to vertically scale the entire monolith to fix it. Vertically scaling a large monolith can be an expensive proposition.
                • Instead, with microservices, we have numerous options for scaling. For instance, we can independently fine-tune the performance of small parts of our system to eliminate bottlenecks and achieve the right mix of performance outcomes.
              • cloud.ibm.com: Tutorial - Scalable webapp \ud83c\udf1f
              • medmouine/Kubernetes-autoscaling-poster: Kubernetes autoscaling poster [PDF] \ud83c\udf1f
              • medium.com/airbnb-engineering: Dynamic Kubernetes Cluster Scaling at Airbnb In this post, you\u2019ll learn about how Airbnb dynamically size their clusters using the Kubernetes Cluster Autoscaler, and highlight the functionality they\u2019ve contributed to the sig-autoscaling community
              • chaitu-kopparthi.medium.com: Scaling Kubernetes workloads using custom Prometheus metrics
              • medium.com/@niklas.uhrberg: Auto scaling in Kubernetes using Kafka and application metrics \u2014 part 1 In this article, you will find a case study on auto scaling long-running jobs in Kubernetes using external metrics from Kafka and the application itself.
              • openai.com: Scaling Kubernetes to 7,500 Nodes
              • thinksys.com: Understanding Kubernetes Autoscaling Types of Kubernetes Autoscaling:
                • Horizontal Pod Autoscaler (HPA)
                • Vertical Pod Autoscaler (VPA)
                • Cluster Autoscaler
              • medium.com/mindboard: What is Autoscaling in Kubernetes? Autoscaling is useful feature in Kubernetes that helps you to automatically adjust the number & resource consumption of pods in your deployment to meet the changing needs of your app.
              • clickittech.com: Kubernetes Autoscaling: How to use the Kubernetes Autoscaler In this tutorial, you\u2019ll install and test three different autoscaler on EKS:
                • Horizontal Pod Autoscaler
                • Vertical Pod Autoscaler
                • Cluster Autoscaler
              "},{"location":"kubernetes-autoscaling/#cluster-autoscaler-kubernetes-tool","title":"Cluster Autoscaler Kubernetes Tool","text":"
              • github.com/kubernetes: Kubernetes Cluster Autoscaler
              • Kubernetes Autoscaling in Production: Best Practices for Cluster Autoscaler, HPA and VPA In this article we will take a deep dive into Kubernetes autoscaling tools including the cluster autoscaler, the horizontal pod autoscaler and the vertical pod autoscaler. We will also identify best practices that developers, DevOps and Kubernetes administrators should follow when configuring these tools.
              • gitconnected.com: Kubernetes Autoscaling 101: Cluster Autoscaler, Horizontal Pod Autoscaler, and Vertical Pod Autoscaler
              • packet.com: Kubernetes Cluster Autoscaler
              • itnext.io: Kubernetes Cluster Autoscaler: More than scaling out
              • cloud.ibm.com: Containers Troubleshoot Cluster Autoscaler
              • platform9.com: Kubernetes Autoscaling Options: Horizontal Pod Autoscaler, Vertical Pod Autoscaler and Cluster Autoscaler
              • banzaicloud.com: Autoscaling Kubernetes clusters
              • tech.deliveryhero.com: Dynamically overscaling a Kubernetes cluster with cluster-autoscaler and Pod Priority
              • medium: Build Kubernetes Autoscaling for Cluster Nodes and Application Pods \ud83c\udf1f
              • Auto-Scaling Your Kubernetes Workloads (K8s) \ud83c\udf1f
              • medium: Cluster Autoscaler in Kubernetes
              • itnext.io: Kubernetes Resources and Autoscaling \u2014 From Basics to Greatness \ud83c\udf1f
              • kubedex.com: autoscaling \ud83c\udf1f
              • chrisedrego.medium.com: Kubernetes AutoScaling Series: Cluster AutoScaler \ud83c\udf1f
              • symbiosis.host: Benchmarking Kubernetes node initialization In this benchmark, you will compare cluster initialization time across 8 managed Kubernetes providers
                • Kubernetes nodes are slow to initialize. OS\u2019s have to be booted, networks have to be configured, kubelets need to initialize, certificates need to be issued and approved, and so on\u2026
                • The unfortunate side effect is that cluster autoscaling is limited by the time it takes to add more nodes into the pool. If your environment sees a sudden spike in usage there might not be enough time to scale up to handle the additional load.
                • This volatility in usage will impact the amount of additional capacity that is necessary for your cluster to function during high stress. For very bursty settings you will need to configure more headroom to account for the hightened variance.
                • However, the faster nodes initialize the faster your cluster can react to these sudden spikes. So, not only can quick nodes reduce the risk of resource congestion, it also reduces the additional headroom you need to have on hand, leading to lower costs.
                • In this benchmark we compared initialization time across 8 managed Kubernetes providers.
              • the-gigi.github.io: Advanced Kubernetes Scheduling and Autoscaling
              "},{"location":"kubernetes-autoscaling/#hpa-and-vpa","title":"HPA and VPA","text":"
              • HPA: Horizontal Pod Autoscaler
              • VPA: Vertical Pod Autoscaler
              • returngis.net: Escalado vertical de tus pods en Kubernetes con VerticalPodAutoscaler
              • medium: Build Kubernetes Autoscaling for Cluster Nodes and Application Pods Via the Cluster Autoscaler, Horizontal Pod Autoscaler, and Vertical Pod Autoscaler
              • itnext.io: Horizontal Pod Autoscaling with Custom Metric from Different Namespace
              • Kubernetes autoscaling with Istio metrics \ud83c\udf1f Scaling based on traffic is not something new to Kubernetes, an ingress controllers such as NGINX can expose Prometheus metrics for HPA. The difference in using Istio is that you can autoscale backend services as well, apps that are accessible only from inside the mesh.
              • medium: \u2153 Autoscaling in Kubernetes: A Primer on Autoscaling
                • medium: \u2154 Autoscaling in Kubernetes: Options, Features, and Use Cases
                • medium: 3/3 Autoscaling in Kubernetes: Why doesn\u2019t the Horizontal Pod Autoscaler work for me?
              • around25.com: Horizontal Pod Autoscaler in Kubernetes \ud83c\udf1f
              • superawesome.com: Scaling pods with HPA using custom metrics. How we scale our kid-safe technology using Kubernetes \ud83c\udf1f
              • velotio.com: Autoscaling in Kubernetes using HPA and VPA
              • kubectl-vpa Tool to manage VPAs (vertical-pod-autoscaler) resources in a kubernetes-cluster
              • itnext.io: K8s Vertical Pod Autoscaling \ud83c\udf1f
              • czakozoltan08.medium.com: Stupid Simple Scalability
              • sysdig.com: Trigger a Kubernetes HPA with Prometheus metrics Using Keda to query #prometheus in order to automatically create a Kubernetes HPA
              • cloudnatively.com: Understanding Horizontal Pod Autoscaling
              • blog.px.dev: Horizontal Pod Autoscaling with Custom Metrics in Kubernetes \ud83c\udf1f In this post, you\u2019ll learn how to autoscale your Kubernetes deployment using custom application metrics (i.e. HTTP requests/second)
              • awstip.com: Kubernetes HPA HPA, the short form Horizontal pod autoscaling, is nothing but a piece of software that dynamically scales the pods based on thresholds like CPU, Memory, HTTP requests (custom metrics).
              • medium.com/@CloudifyOps: Setting up a Horizontal Pod Autoscaler for Kubernetes cluster
              • betterprogramming.pub: Advanced Features of Kubernetes\u2019 Horizontal Pod Autoscaler Kubernetes\u2019 Horizontal Pod Autoscaler has features you probably don\u2019t know about. Here\u2019s how to use them to your advantage.
              • code.egym.de: Horizontal Pod Autoscaler in Kubernetes (Part 1) \u2014 Simple Autoscaling using Metrics Server Learn how to use Metrics Server to horizontally scale native and JVM services in Kubernetes automatically based on resource metrics.
              • medium.com/@kewynakshlley: Performance evaluation of the autoscaling strategies vertical and horizontal using Kubernetes Scalable applications may adopt horizontal or vertical autoscaling to dynamically provision resources in the cloud. To help to choose the best strategy, this work aims to compare the performance of horizontal and vertical autoscaling in Kubernetes. Through measurement experiments using synthetic load to a web application, the horizontal was shown more efficient, reacting faster to the load variation and resulting in a lower impact on the application response time.
              • itnext.io: Stupid Simple Scalability
              • faun.pub: Scaling Your Application Using Kubernetes - Harness | Pavan Belagatti
              • dnastacio.medium.com: Infinite scaling with containers and Kubernetes The article starts with a recap of Kubernetes resource management and its core concepts of requests and limits. Then it discusses those static limits in the realm of pod autoscalers, such as HPA, VPA, and KPA.
              • medium.com/@badawekoo: Scaling in Kubernetes _What, Why and How?
              • pauldally.medium.com: HorizontalPodAutoscaler uses request (not limit) to determine when to scale by percent In this article, you will learn how the Horizontal Pod Autoscaler uses requests (and not limits) when computing the target utilization percentage to scale pods
              • dev.to: Scaling Your Application With Kubernetes | Pavan Belagatti
              • github.com/jthomperoo: Predictive Horizontal Pod Autoscaler Horizontal Pod Autoscaler built with predictive abilities using statistical models. Predictive Horizontal Pod Autoscalers (PHPAs) are Horizontal Pod Autoscalers (HPAs) with extra predictive capabilities baked in, allowing you to apply statistical models to the results of HPA calculations to make proactive scaling decisions.
              • thenewstack.io: K8s Resource Management: An Autoscaling Cheat Sheet \ud83c\udf1f A concise but comprehensive guide to using and managing horizontal and vertical autoscaling in the Kubernetes environment.
              • waswani.medium.com: Autoscaling Pods in Kubernetes If you are hosting your workload in a cloud environment, and your traffic pattern is fluctuating in nature (think unpredictable), you need a mechanism to automatically scale out (and off-course scale in) your workload to ensure the service is able to perform as per defined Service Level Objective (SLO), without impacting the User Experience. This semantic is referred to as Autoscaling, to be very precise Horizontal Scaling.
              • mckornfield.medium.com: Working with HPAs in Kubernetes How to make your Kubernetes workloads scale with a few simple steps
              • code.egym.de: Vertical Pod Autoscaler in Kubernetes Learn how to use Vertical Pod Autoscaler (VPA) to vertically scale services in Kubernetes automatically based on resource metrics.
              • faun.pub: Intelligently estimating your Kubernetes resource needs! In this tutorial, you will learn how to use the Vertical Pod Autoscaler and Goldilocks to guess the correct requests and limits for your Pods
              • itnext.io: Kubernetes: vertical Pods scaling with Vertical Pod Autoscaler
              • medium.com/@adityadhopade18: Mastering K8s Event Driven AutoScaling
              "},{"location":"kubernetes-autoscaling/#kubernetes-scale-to-zero","title":"Kubernetes Scale to Zero","text":"
              • dzone: Scale to Zero With Kubernetes with KEDA and/or Knative This article reviews how Kubernetes provides the platform capabilities for dynamic deployment, scaling, and management in Cloud-native applications.
              • dev.to/danielepolencic: Request-based autoscaling in Kubernetes: scaling to zero - linode.com: Scaling Kubernetes to Zero (And Back) In this article, you will learn how to monitor the HTTP requests to your apps in Kubernetes and define autoscaling rules to increase and decrease replicas for your workloads.
              "},{"location":"kubernetes-autoscaling/#cluster-autoscaler-and-helm","title":"Cluster Autoscaler and Helm","text":"
              • hub.helm.sh: cluster-autoscaler The cluster autoscaler scales worker nodes within an AWS autoscaling group (ASG) or Spotinst Elastigroup.
              "},{"location":"kubernetes-autoscaling/#keda-kubernetes-event-driven-autoscaling","title":"KEDA Kubernetes Event Driven Autoscaling","text":"
              • keda.sh: Kubernetes Event-driven Autoscaling. Application autoscaling made simple. KEDA is a Kubernetes-based Event Driven Autoscaler. With KEDA, you can drive the scaling of any container in Kubernetes based on the number of events needing to be processed. https://github.com/kedacore/keda
              • medium.com/backstagewitharchitects: How Autoscaling Works in Kubernetes? Why You Need To Start Using KEDA?
              • partlycloudy.blog: Horizontal Autoscaling in Kubernetes #3 \u2013 KEDA
              • thenewstack.io: CNCF KEDA 2.0 Scales up Event-Driven Programming on Kubernetes
              • blog.cloudacode.com: How to Autoscale Kubernetes pods based on ingress request \u2014 Prometheus, KEDA, and K6 In this article, you will learn how autoscale pods with KEDA, Prometheus and the metrics from the ingress-nginx. You will use k6 to generate the load and observe the pod count increase as more requests are handled by the ingress controller.
              • medium.com/@toonvandeuren: Kubernetes Scaling: The Event Driven Approach - KEDA In this article, you\u2019ll discuss two different approaches to automatic scaling of your apps within a Kubernetes cluster: the Horizontal Pod Autoscaler and the Kubernetes Event-Driven Autoscaler (KEDA) - youtube: Application Autoscaling Made Easy With Kubernetes Event-Driven Autoscaling (KEDA)
              • Dzone: Autoscaling Your Kubernetes Microservice with KEDA Introduction to KEDA\u2014event-driven autoscaler for Kubernetes, Apache Camel, and ActiveMQ Artemis\u2014and how to use it to scale a Java microservice on Kubernetes.
              • tomd.xyz: Event-driven integration on Kubernetes with Camel & KEDA \ud83c\udf1f Can we develop apps in Kubernetes that autoscale based on events? Perhaps, with this example using KEDA, ActiveMQ and Apache Camel.
              • faun.pub: Scaling an app in Kubernetes with KEDA (no Prometheus is needed)
              • itnext.io: Event Driven Autoscaling KEDA expands the capabilities of Kubernetes by managing the integration with external sources allowing you to auto-scale your Kubernetes Deployments based on data from both internal and external metrics.
              • medium.com/@casperrubaek: Why KEDA is a game-changer for scaling in Kubernetes KEDA makes it possible to easily scale based on any metric imaginable from almost any metric provider and is running at a massive scale in production in the cloud at some of the largest corporations in the world.
              • levelup.gitconnected.com: Scale your Apps using KEDA in Kubernetes
              • blog.devops.dev: KEDA: Autoscaling Kubernetes apps using Prometheus
              • purushothamkdr453.medium.com: Event driven autoscaling in kubernetes using KEDA
              • medium.com/@rtaplamaci: Horizontal Scaling on Kubernetes Clusters Based on AWS CloudWatch Metrics with KEDA In this article, you will learn how to use KEDA to horizontally scale the workloads running in a Kubernetes cluster based on the custom metrics exposed via AWS CloudWatch
              • medium.com/@hirushanonline: Dynamic Scaling with Kubernetes Event-driven Autoscaling (KEDA)
              • kedify.io: Prometheus and Kubernetes Horizontal Pod Autoscaler don\u2019t talk, KEDA does
              • github.com/kedacore/keda/issues/2214 Scaler for Amazon managed service for Prometheus
              • opcito.com: A guide to mastering autoscaling in Kubernetes with KEDA
              • dev.to/vinod827: Scale your apps using KEDA in Kubernetes
              "},{"location":"kubernetes-autoscaling/#cluster-autoscaler-and-dockerhub","title":"Cluster Autoscaler and DockerHub","text":"
              • bitnami/cluster-autoscaler
              "},{"location":"kubernetes-autoscaling/#cluster-autoscaler-in-gke-eks-aks-and-doks","title":"Cluster Autoscaler in GKE, EKS, AKS and DOKS","text":"
              • Amazon Web Services: EKS Cluster Autoscaler
                • eksworkshop.com: Configure Cluster Autoscaler (CA)
              • Azure: AKS Cluster Autoscaler
              • Google Cloud Platform: GKE Cluster Autoscaler
              • DigitalOcean Kubernetes: DOKS Cluster Autoscaler
              "},{"location":"kubernetes-autoscaling/#cluster-autoscaler-in-openshift","title":"Cluster Autoscaler in OpenShift","text":"
              • OpenShift 3.11: Configuring the cluster auto-scaler in AWS
              • OpenShift 4.4: Applying autoscaling to an OpenShift Container Platform cluster
              "},{"location":"kubernetes-autoscaling/#scaling-kubernetes-to-multiple-clusters-and-regions","title":"Scaling Kubernetes to multiple clusters and regions","text":"
              • dev.to/danielepolencic: Scaling Kubernetes to multiple clusters and regions \ud83c\udf1f
              "},{"location":"kubernetes-autoscaling/#kubernetes-load-testing-and-high-load-tuning","title":"Kubernetes Load Testing and High Load Tuning","text":"
              • itnext.io: Kubernetes: load-testing and high-load tuning \u2014 problems and solutions
              • engineering.zalando.com: Building an End to End load test automation system on top of Kubernetes Learn how we built an end-to-end load test automation system to make load tests a routine task.
              • thenewstack.io: Sidecars are Changing the Kubernetes Load-Testing Landscape Sidecars don\u2019t just capture traffic. They can replay it as well. They can also transform any metadata, like timestamps, before it sends it to your application.
              • medium.com/teamsnap-engineering: Load Testing a Service with ~20,000 Requests per Second with Locust, Helm, and Kustomize
              "},{"location":"kubernetes-autoscaling/#tweets","title":"Tweets","text":"Click to expand!

              \u2601\ufe0f Knowledge - Vertical vs Horizontal scaling \ud83d\udcc8Vertical scaling: Increase the power of machines. E.g. upgrade from 4 vCPU to 8 vCPU --> Scaling Up \u2705Horizontal scaling: Add more machines. E.g. 3 web servers instead of 1 --> Scaling Out \u2611\ufe0f

              \u2014 Simon \u2601\ufe0f (@simonholdorf) October 2, 2021"},{"location":"kubernetes-autoscaling/#videos","title":"Videos","text":"Click to expand!"},{"location":"kubernetes-backup-migrations/","title":"Kubernetes Backup and Migrations","text":"
              1. Introduction
              2. ETCD Backup
              3. Kubernetes Volume Snapshot
              4. Backup with Trillio Cloud-Native Data Protection for Kubernetes, OpenStack and Virtualization
              5. Backup with Kasten K10
              6. Backup with Velero
              7. Backup with Portworx PX-Backup
              8. Backup for GKE
              9. Konveyor Open Source Migration Tool for Kubernetes
              10. Other Tools
              11. Books
              12. Slides
              13. Videos
              "},{"location":"kubernetes-backup-migrations/#introduction","title":"Introduction","text":"
              • kube-backup: Kubernetes resource state sync to git
              • Stash If you are running production workloads in Kubernetes, you might want to take backup of your disks, databases etc. Stash is a cloud native data backup and recovery solution for Kubernetes workloads
              • thenewstack.io: Cloud Native Backups, Disaster Recovery and Migrations on Kubernetes
              • rancher.com: The No. 1 Rule of Disaster Recovery
              • rancher.com: Disaster Recovery Preparedness for Your Kubernetes Clusters \ud83c\udf1f
              • k8s-snapshots: Automatic Volume Snapshots on Kubernetes is an operator that creates and expires snapshots according to annotations to your PersistentVolume or PersistentVolumeClaim resources.
              • infracloud.io: Protecting Kubernetes applications data using Kanister
                • kanister.io \ud83c\udf1f An extensible open-source framework for application-level data management on Kubernetes. KANISTER allows domain experts to capture application specific data management tasks in blueprints which can be easily shared and extended. The framework takes care of the tedious details around execution on Kubernetes and presents a homogeneous operational experience across applications at scale.
                • blog.kasten.io: Move Fast and Test in Kubernetes without Breaking Things with kanister and CI/CD \ud83c\udf1f
                  • When using data mobility to improve your CI/CD pipeline, it\u2019s important to consider the data at different layers in your application stack. In many instances, you must perform operations on multiple layers of your application at once, as well as interact with Kubernetes itself. Kasten by Veeam developed Kanister to address these data mobility challenges and enable organizations to test safely with real data.
                  • Kanister, an open source project, provides a Kubernetes-native framework for application-level data management that supports complex data management workflows. Domain experts can capture application-specific data management tasks in blueprints, which can be easily shared and extended, eliminating many of the tedious details around execution on Kubernetes.
                  • Kanister is easy to integrate with your CI/CD pipeline, because it uses Kubernetes API extensions called custom resources. You can easily extend Kanister to work with custom applications as well as several common cloud native databases, simplifying and streamlining testing operations while reducing risk.
              • thenewstack.io: DevSecOps Teams Need Application-Consistent Backups for Kubernetes Workloads
              • percona.com: Using Volume Snapshot/Clone in Kubernetes (GKE & Percona Kubernetes Operator for XtraDB Cluster)
              • longhorn issue: Move replica to a different server
              • aithority.com: Bacula Systems Announces World\u2019s First Enterprise-Class Backup and Recovery Solution for Red Hat OpenShift
              • cloudify.co: Migrating Pods With Containerized Applications Between Nodes In The Same Kubernetes Cluster Using Cloudify \ud83c\udf1f
              • thenewstack.io: Red Hat Brings Backup, Snapshots to OpenShift Container Storage
              • thenewstack.io: 5 Best Practices to Back up Kubernetes
              • Bacula Enterprise for OpenShift and Kubernetes \ud83c\udf1f
              • dani-izquierdo95.medium.com: Batch processing using Cron Jobs. MySQL automated backup on Openshift/K8s
              • itnext.io: Backup and Restore of Kubernetes Stateful Application Data with CSI Volume Snapshots
              • dev.to: Kubernetes Backup & Restore made easy! \ud83c\udf1f
              • blog.kasten.io: 10 Key Takeaways from Kubernetes Backup & Recovery For Dummies
              • k8up.io Kubernetes Backup Operator distributed via a Helm chart, compatible with OpenShift and plain Kubernetes.
              • medium.com/@amitabhprasad: Kubernetes volume backup for disaster recovery
              • thenewstack.io: K8s Backup and Disaster Recovery Is More Important Than Ever Here are some considerations of a successful Kubernetes data protection strategy.
              • martinheinz.dev: Backup-and-Restore of Containers with Kubernetes Checkpointing API Kubernetes v1.25 introduced Container Checkpointing API as an alpha feature. This provides a way to backup-and-restore containers running in Pods, without ever stopping them. This feature is primarily aimed at forensic analysis, but general backup-and-restore is something any Kubernetes user can take advantage of. So, let\u2019s take a look at this brand-new feature and see how we can enable it in our clusters and leverage it for backup-and-restore or forensic analysis.
              • martinheinz.dev: Backup-and-Restore of Containers with Kubernetes Checkpointing API Kubernetes v1.25 introduced Container Checkpointing API \u2014 a way to backup-and-restore containers running in Pods, without stopping them. In this article, you\u2019ll take a look at it and learn how to leverage it for backup-and-restore or forensic analysis.
              • blog.palark.com: Kubernetes snapshots: What are they and how to use them? \ud83c\udf1f With snapshots, you can make more efficient use of your storage solution by creating consistent backups and cloning volumes. In this article, you will find an introduction to snapshots in Kubernetes and an overview of typical use cases.
              "},{"location":"kubernetes-backup-migrations/#etcd-backup","title":"ETCD Backup","text":"
              • youtube: Kubernetes.. ETCD Backup and Restore\u2026 Very Easy Steps\u2026 CKA Exam Tips..
              • github.com/gardener/etcd-backup-restore Collection of components to backup and restore the Etcd of a Kubernetes cluster. It also provides the ability to validate the data directory, so that we could know the data directory is in good shape to bootstrap etcd successfully.
              "},{"location":"kubernetes-backup-migrations/#kubernetes-volume-snapshot","title":"Kubernetes Volume Snapshot","text":"
              • kubernetes.io: Kubernetes 1.20: Kubernetes Volume Snapshot Moves to GA
              • itnext.io: Backup and Restore of Kubernetes Stateful Application Data with CSI Volume Snapshots
              • blocksandfiles.com: Red Hat OpenShift now does container storage backup \ud83c\udf1f Red Hat has teamed up with three container backup suppliers to integrate their services with the company\u2019s OpenShift Kubernetes distribution. The Red Hat-certified backup products for OpenShift container storage are parent company IBM\u2019s Spectrum Protect Plus; TrilioVault for Kubernetes; and Veeam-owned Kasten\u2019s K10.
              • medium: Leveraging operator pattern and VolumeSnapshots to backup databases in Kubernetes
              "},{"location":"kubernetes-backup-migrations/#backup-with-trillio-cloud-native-data-protection-for-kubernetes-openstack-and-virtualization","title":"Backup with Trillio Cloud-Native Data Protection for Kubernetes, OpenStack and Virtualization","text":"
              • Trillio
              • TrillioVault for Kubernetes
              • redhat.com: OpenShift Backup and Cluster failover with Triliovault \ud83c\udf1f
              "},{"location":"kubernetes-backup-migrations/#backup-with-kasten-k10","title":"Backup with Kasten K10","text":"
              • Kasten
              • redhat.com: OpenShift Backup and Recovery with Kasten K10
              • blog.kasten.io: Extending Kubernetes Application Backup and Mobility to the Edge with Kasten K10 V4.5
              • thenewstack.io: Kasten K10 V4.5: Grafana Observability, More Edge Support
              • faun.pub: Kasten K10 on KubeSphere to Ensure Kubernetes Backup and Restore
              "},{"location":"kubernetes-backup-migrations/#backup-with-velero","title":"Backup with Velero","text":"
              • github.com/vmware-tanzu/velero Backup and migrate Kubernetes applications and their persistent volumes
              • akomljen.com: Kubernetes Backup and Restore with Velero \ud83c\udf1f
              • wecloudpro.com: Kubernetes Disaster Recovery with Velero \ud83c\udf1f
              • medium: Velero backup/restore for K8s Stateful Applications managed by Operators
              • cloud.redhat.com: Velero Backup and Restore of an Application Using gp2 StorageClass on ROSA
              • medium.com/@firat.yasar: Backup & Restore Kubernetes resources with VELERO
              • skildops.medium.com: Backup an entire Kubernetes cluster using Velero to AWS S3 Maintaining backup is always rewarding. Learn how to backup and restore an entire K8s cluster in this detailed article
              • blog.devgenius.io: Backup, Restore and Migrate Kubernetes Cluster resources using Velero In this tutorial, you\u2019ll learn how to take a backup of resources running in a Kubernetes cluster and migrate them to another cluster using Velero
              "},{"location":"kubernetes-backup-migrations/#backup-with-portworx-px-backup","title":"Backup with Portworx PX-Backup","text":"
              • PX-Backup
              • PX-Backup: docs
              • With PX-Backup, backups of OpenShift applications can also be provided in a secure, self-service environment.
              "},{"location":"kubernetes-backup-migrations/#backup-for-gke","title":"Backup for GKE","text":"
              • cloud.google.com: Announcing Backup for GKE: the easiest way to protect GKE workloads
              "},{"location":"kubernetes-backup-migrations/#konveyor-open-source-migration-tool-for-kubernetes","title":"Konveyor Open Source Migration Tool for Kubernetes","text":"
              • github.com/konveyor \ud83c\udf1f - konveyor.io A community to build tools and document best practices to modernize workloads and bring them to Kubernetes.
              • containerjournal.com: Red Hat, IBM Launch Konveyor to Aggregate Kubernetes Tools
              • engineering.konveyor.io: Konveyor Engineering Knowledgebase Engineers working on Konveyor have started putting their own kbase articles here.
              • github.com/konveyor/crane: Crane 2.0 \ud83c\udf1f Crane 2, a tool for rehosting cloud workloads for Kubernetes.
                • youtube: Crane 2 Preview: Introduction and Demo Migrating workloads across clusters, from one k8s distro to another, will be the focus of open-source tool Crane 2.0. (A tool that\u2019s part of the Konveyor community.)
              • kubebyexample.com: Migrating to Kubernetes with Open Source Tools (Konveyor, Tackle, KubeVirt, Forklift) \ud83c\udf1f KubeByExample\u2019s newest learning path applies open source tools to help you rehost, replatform, and refractor your applications to Kubernetes.
              • slideshare.net: Migrating Java JBoss EAP Applications to Kubernetes With S2I
                • Despite the incredible pace of adoption of container orchestration platforms, the vast majority of EAP workloads are still running on VMs or bare metal. In a lot of cases enterprise operation teams are mandated to modernize and move these workloads to the cloud, and containerization and migration to Kubernetes is the natural destination. When talking about this migration path, we\u2019re often asked questions like:
                  • What\u2019s involved?
                  • How easy is it to move these workloads?
                  • How can you be sure of no code changes?
                  • What tools are there to assist with this effort?
                  • What are the benefits of moving workloads to Kubernetes?
                • In this meetup, Philip Hayes, Runtimes Practice Lead at Red Hat, will provide answers to these questions and also include a step-by-step guide to migrating an EAP 7 application to Kubernetes.
                • youtube: Migrating JBoss EAP Applications to Kubernetes with Source-to-Image (S2I)
              "},{"location":"kubernetes-backup-migrations/#other-tools","title":"Other Tools","text":"
              • RKE2 Standalone Disaster Recovery Guide \ud83c\udf1f - A comprehensive guide to recovering standalone RKE2 clusters not managed by Rancher, covering scenarios like etcd quorum loss, restoring from backup, and troubleshooting node join issues.
              • Automate SQL Server Backups with PowerShell - This article provides a PowerShell script to automate SQL Server backups. It outlines the script\u2019s functionality, including generating backups for specified databases, prioritizing larger ones, and moving the backup files to a designated folder. Key configuration elements like SQL Server IP and instance name, user credentials, excluded databases, and log file path are detailed.

              • k8up.io K8up is a Kubernetes Operator that helps you:

                • Backup all PVCs marked as ReadWriteMany or with a specific label
                • Perform individual, on-demand backups
                • Schedule backups to be executed on a regular basis
                • And more
              "},{"location":"kubernetes-backup-migrations/#books","title":"Books","text":"
              • kasten.io: Kubernetes Backup & Recovery For Dummies (Free e-book)
              "},{"location":"kubernetes-backup-migrations/#slides","title":"Slides","text":"Click to expand! Migrating Java JBoss EAP Applications to Kubernetes With S2I from Konveyor Community"},{"location":"kubernetes-backup-migrations/#videos","title":"Videos","text":"Click to expand!"},{"location":"kubernetes-based-devel/","title":"Kubernetes Based Development. Kubernetes Distributions for local environments. Kubernetes Development Tools and Dashboards","text":"
              1. Non-production Kubernetes Local Installers. Kubernetes distributions for local environments. Desktop K8s
              2. Kubernetes Based Development. Kubernetes Development Tools
                1. Skaffold. Local Kubernetes Development
                2. DevSpace
                3. Telepresence local development for k8s and openshift microservices
                4. Bridge to Kubernetes
                5. Garden
              3. Kubernetes Clients and Dashboards
                1. Octant
                2. Okteto local kubernetes development
                3. Monokle
                4. Lens and OpenLens Kubernetes IDE
                5. Kubenav
                6. Aptakube
                7. Cloud Manager
                8. Yaki
              4. Images
              5. Tweets
              6. Videos
              "},{"location":"kubernetes-based-devel/#non-production-kubernetes-local-installers-kubernetes-distributions-for-local-environments-desktop-k8s","title":"Non-production Kubernetes Local Installers. Kubernetes distributions for local environments. Desktop K8s","text":"
              • Minikube A tool that makes it easy to run Kubernetes locally inside a Linux VM. It\u2019s aimed on users who want to just test it out or use it for development. It cannot spin up a production cluster, it\u2019s a one node machine with no high availability.
                • murchie85.github.io: Installling minikube
                • itnext.io: How to experiment locally on Kubernetes with minikube and your local Dockerfiles
                • nfrankel.medium.com: Goodbye minikube I\u2019ve been using minikube as my local cluster since I started to learn Kubernetes. But I\u2019ve decided to let it go in favor of kind. Here\u2019s the story.
                • linux.com: Getting Started With Kubernetes Is Easy With Minikube
                • faun.pub: Accessing a remote minikube from a local computer Minikube is a lightweight Kubernetes implementation that creates a VM on your local machine. In this article, you will learn how to connect to a remote computer with minikube installed.
                • adamtheautomator.com: Jumpstart Kubernetes Locally with this MiniKube Tutorial You\u2019ll usually find Kubernetes where it makes sense \u2014 i.e. in cloud environments. But how do you speed up development for Kubernetes? Could you test deployments locally?
                • devopscube.com: Kubernetes Minikube Tutorial for Beginners
              • kind Kubernetes IN Docker - local clusters for testing Kubernetes. Kind is a tool for running local Kubernetes clusters using Docker container \u201cnodes\u201d. kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI.
                • kubernetes-development-environment-in-a-box This project is geared toward running multiple isolated KinD cluster on a single instance. This project produces an AMI image that can run an instance that has Docker and multiple isolated Kubernetes clusters running in it using KinD. The main use case is to setup one node that can run multiple fully isolated Kubernetes cluster on it for development purposes.
                • faun.pub: Finally, (successfully\u2026) setup docker registry inside kind Kubernetes cluster
                • blog.kubesimplify.com: Yours Kindly Drone Kubernetes Native Continuous Integration (CI) on your laptops. A hands-on tutorial on how to use KinD and Drone to set up CI with Kubernetes on your local machine. At the end of these steps, you will have a completely functional Kubernetes & CI to build and deploy cloud-native apps on K8s
                • medyagh/setup-minikube setup-minikube is a Github action that creates a temporary minikube cluster for testing
                • dev.to: How to run Minikube on Apple M1 chip without Docker Desktop using Colima
              • store.docker.com: Docker Community Edition EDGE with kubernetes. Installing Kubernetes using the Docker Client Currently only available in Edge edition.
              • medium.com: Local Kubernetes for Linux\u200a\u2014\u200aMiniKube vs MicroK8s
              • itnext.io: Run Kubernetes On Your Machine Several options to start playing with K8s in no time
              • padok.fr: MiniKube, Kubeadm, Kind, K3S, how to get started on Kubernetes?
              • loft.sh: Kubernetes Development Environments \u2013 A Comparison
              • opensource.com: 4 ways to run Kubernetes locally Set up a local development environment or just try out the container orchestration platform with these tools.
              • dex.dev: Local Development Clusters
              • itnext.io: Kubernetes local playground alternatives
              • dex.dev: Local Development Clusters
              • blog.radwell.codes: What\u2019s the best Kubernetes distribution for local environments? \ud83c\udf1f
              • Metal Kubes Create OnPrem Kubernetes Cluster. Install Kubernetes Cluster on Bare Metal Machines
              • blog.flant.com: Small Kubernetes for your local experiments: k0s, MicroK8s, kind, k3s, and Minikube
              • dj-wasabi/vagrant-kubernetes Playground for setting up small Kubernetes cluster on some vagrant boxes and practice with various examples to get familiar with K8s.
              "},{"location":"kubernetes-based-devel/#kubernetes-based-development-kubernetes-development-tools","title":"Kubernetes Based Development. Kubernetes Development Tools","text":"
              • itnext.io: Software development in containers \u2014 a cookbook \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f A guide to developing containerized software
              • kubevious \ud83c\udf1f\ud83c\udf1f Kubevious is a read-only dashboard and config validator. Kubevious gives deep insights on app config and structure.
              • tilt.dev You can use Tilt to easily build and run your application on Kubernetes. In comparison with similar tools, it provides UI for managing the process and cloud platform to share data with your team.
                • medium: Happy trip to Kubernetes in our company Kubernetes Local Development Made Easy! Not Minikube, neither Skaffold, but Tilt to the rescue.
                  • Minikube: Initially, they found Minikube as the first solution to manipulate K8s and test everything in our local environment. To manually deploy a service in Minikube they had to build the image in docker every time they made a change. If you are only managing one service this would be easy to handle, but if we work with many services in a repository that needs to be running to work as expected, we should have a way to run those builds automatically and restart the pods to take the new image.
                  • Skaffold: They researched how to automatize this and found Skaffold, a tool to create a complete dev environment fully integrated with Kubernetes and Minikube. Skaffold takes over to build all the images that you need, restart the pods and listen for more changes. With this, you can achieve a hot-building feature sending everything to minikube, the devs won\u2019t have to take care of this task. It was a win for them to find this tool.
                  • Challenge: Something that caused friction for the developers was the way they had to run all the code locally. They had to make changes using docker-compose and then, test using Skaffold. This may generate little delays in the development workflow.
                  • Tilt to the rescue: Finally, they found Tilt - An open-source tool that is focused on generating a comfortable and customizable rebuild for Docker and Kubernetes. Tilt makes really easy to manage development in a local environment of many services that need to communicate among them. Also, it\u2019s focused on the Developer Experience. Once they implemented Tilt, they were able to use their services in the dev phase by running: tilt up. With a well-written configuration and settings, you can get reloads in a few milliseconds using the sync feature. Also, it has easy integration with Helm which is the most used package manager for K8s.
              • garden.io
              • microcks.io K8s-based API mock/test tool.
                • microcks.io: Podman Compose support in Microcks
              • loft.sh: Checklist for Kubernetes-Based Development \ud83c\udf1f
              • loft.sh: Kubernetes Development Environments \u2013 A Comparison
              • loft.sh: Skaffold vs Tilt vs DevSpace
              • yitaek.medium.com: Useful Tools for Better Kubernetes Development \ud83c\udf1f Lens, Polaris, kube-hunter, kube-bench, Trivy, Goldilocks, Kyverno, kube-ps1, kubectx + kubens , krew, kubectl-neat, kube-no-trouble, helm-mapkubeapis, kube-diff + helm-diff , kube forwarder, kubecost, kubespy.
              • cncf.io: Tools to develop apps on Kubernetes \ud83c\udf1f
              • blog.usejournal.com: Useful Tools for Better Kubernetes Development
              • rookout.com: Developer Tools for Kubernetes in 2021: Helm, Kustomize, and Skaffold (Part 1)
                • rookout.com: Developer Tools for Kubernetes in 2021 \u2013 Skaffold, Tilt, and Garden (Part 2) In that previous blog post, I also mentioned another tool \u2013 Skaffold. While Skaffold has limited ability to define Kubernetes applications and build and deploy them in CI/CD pipelines, it\u2019s core functionality is creating a development environment for Kubernetes. In this blog post, I\u2019ll discuss the alternative tools of doing just that \u2013 spinning up a development environment on Kubernetes. So let\u2019s go into an in-depth comparison of Skaffold, Tilt, and Garden. I will not be covering Microsoft Draft, as the Github repository appears to be archived and has had no new versions in 2020.
                • rookout.com: Developer Tools for Kubernetes in 2021: Lens, VSCode, IntelliJ, & Gitpod (Part 3)
                • rookout.com: Developer Tools for Kubernetes in 2021: Docker, Kaniko, Buildpack & Jib (Part 4)
                • rookout.com: Developer Tools for Kubernetes in 2021: Development Machines (Part 5)
              • yitaek.medium.com: Useful Tools for Better Kubernetes Development
              • okteto.com: Kubernetes for Developers Blog Series by Okteto
              • docker.com: Kubernetes in Production Environments What is the best way to develop if my prod environment runs Kubernetes? Using Docker Compose does come with conditions:
                • It\u2019s another tool in your arsenal. This means another set of manifests to maintain and update. If you need to define a new environment variable, you\u2019ll need to add it to both your Compose file and Kubernetes manifests.
                • You\u2019ll have to vet changes against either prod or a staging environment since you\u2019re not running Kubernetes locally.
              • itnext.io: Kubernetes in a box This article will be helpful for anyone interested in setting up a local Kubernetes dev/test environment in a reproducible and easy way.
              • yash-kukreja-98.medium.com: Develop on Kubernetes Series \u2014 Demystifying the For vs Owns vs Watches controller-builders in controller-runtime
              "},{"location":"kubernetes-based-devel/#skaffold-local-kubernetes-development","title":"Skaffold. Local Kubernetes Development","text":"
              • Skaffold \ud83c\udf1f
              • infracloud.io: Build and deploy Kubernetes apps with Skaffold
              • testingclouds.wordpress.com: Migrating from Docker Compose to Skaffold \ud83c\udf1f
              • dev.to: How to Simplify Your Local Kubernetes Development With Skaffold Skaffold is a tool that does everything with one single command:
                • Builds Docker images
                • Pushes them
                • Deploys your Kubernetes resources with the docker images it just built
              "},{"location":"kubernetes-based-devel/#devspace","title":"DevSpace","text":"
              • devspace.sh
              • thenewstack.io: DevSpace Designed to Lower the Kubernetes Learning Curve
              • cloudsavvyit.com: How to Get Started With DevSpace and Rapidly Develop Kubernetes Apps
              "},{"location":"kubernetes-based-devel/#telepresence-local-development-for-k8s-and-openshift-microservices","title":"Telepresence local development for k8s and openshift microservices","text":"
              • telepresence.io \ud83c\udf1f Fast, local development for kubernetes and openshift microservices.
              • betterprogramming.pub: Do Faster Development and Testing on Kubernetes Apps With Telepresence Use Telepresence to instantly deploy your code change to a Kubernetes cluster
              • thenewstack.io: Cloud Native Debugging Challenges: From Local to \u2018Remocal\u2019 Making remote clusters accessible, as though local, and giving developers tools to work locally in familiar ways are key ways to zap bugs and ship faster.
              • dev.to/dsudia: How to Integrate Docker & JetBrains into Telepresence Learn to debug Kubernetes containerized apps with Telepresence, set remote IDE breakpoints, manage Docker builds, and access cluster services. This guide covers environment setup, development practices, and IDE support for JVM and Go applications.
              "},{"location":"kubernetes-based-devel/#bridge-to-kubernetes","title":"Bridge to Kubernetes","text":"
              • Bridge to Kubernetes \ud83c\udf1f\ud83c\udf1f
              "},{"location":"kubernetes-based-devel/#garden","title":"Garden","text":"
              • garden.io: cloud native devops platform
              • venturebeat.com: Garden.io, an end-to-end devops platform for Kubernetes and containers, raises $16M
              "},{"location":"kubernetes-based-devel/#kubernetes-clients-and-dashboards","title":"Kubernetes Clients and Dashboards","text":"
              • ordina-jworks.github.io: A comparison of Kubernetes clients and dashboards
              • kccncna20.sched.com: A Walk Through the Kubernetes UI Landscape Working with Kubernetes clusters and workloads can be overwhelming, both for operators, as well as application developers. While kubectl is the de-facto standard interface to interact with Kubernetes\u2019 API, a graphical user interface can provide a better experience for newcomers and advanced users alike. This talk will look at the current landscape of Open Source Kubernetes web and desktop UIs, including Kubernetes Dashboard, Lens, Octant, Kubernetes Web View, and Headlamp. Particularly, how different dashboards are built, for what purpose they can be used, and how they compare in terms of functionality, so attendees can get the most out of the vast landscape of Kubernetes UIs.
                • PDF
              • loft.sh: Kubernetes Dashboards: Headlamp - Headlamp Dashboard
              • blog.tekspace.io: Deploying Kubernetes Dashboard in K3S Cluster
              • williamlam.com: Useful Interactive Terminal and Graphical UI Tools for Kubernetes
              • hackerxone.com: How To Install Kubernetes Dashboard with NodePort in Linux
              • loft.sh: Kubernetes Monitoring Dashboards - 5 Best Open-Source Tools
              • medium: YAKD: Yet Another Kubernetes Dashboard A list of most popular opensource kubernetes dashboard both for local development & in production as well
              • adamtheautomator.com: How to Install and Set Up Kubernetes Dashboard [Step by Step]
              • thenewstack.io: Who Needs a Dashboard? Why the Kubernetes Command Line Is Not Enough
              • kui.tools \ud83c\udf1f Kui: CLI-driven Graphics for Kubernetes. Tired of working with Kubernetes in cli mode only? Try kui - a hybrid tool that allows you to interact with any Kubernetes cluster easily with more advanced features available only in GUI.
                • blog.flant.com: Kui \u2014 a \u201chybrid\u201d CLI/GUI application for working with Kubernetes Kui is a GUI-enhanced CLI interface for managing Kubernetes clusters Kui enriches the good old terminal experience with GUI features, giving you a different perspective of your Kubernetes cluster
              • blog.aquasec.com: RATs (remote access tools) in the Cloud: Kubernetes UI Tools Turn into a Weapon
              • medium.com/@satyakommula: Deploy Kubernetes dashboard with NodePort
              • rigorousthemes.com: 10 Best Kubernetes Dashboard Alternatives 2022
              • blog.flant.com: kubenav as a tool for managing Kubernetes clusters from your smartphone
              • kubeapps.dev \ud83c\udf1f Kubeapps is an in-cluster web-based application that enables users with a one-time installation to deploy, manage, and upgrade applications on a Kubernetes cluster
              • github.com/openshift/console \ud83c\udf1f
                • engineering.cloudflight.io: Running the OpenShift console in plain Kubernetes \ud83c\udf1f
              • levelup.gitconnected.com: Step by Step Slow Guide: Kubernetes Dashboard on Raspberry Pi Cluster (Part 2) How to setup self-signed certificate for Kubernetes Dashboard and expose it via load-balancer
              • getseabird.github.io \ud83c\udf1f - github.com/getseabird/seabird Seabird is a native cross-platform Kubernetes desktop client that makes it super easy to explore your cluster\u2019s resources. We aim to visualize all common resource types in a simple, bloat-free user interface.
              • github.com/cyclops-ui/cyclops \ud83c\udf1f
                • Cyclops is a powerful user interface for managing and interacting with Kubernetes clusters
                • It\u2019s designed to simplify the management of containerized apps, providing an intuitive experience for developers, system administrators, and DevOps
              • k8z.dev: A lightweight, modern mobile and desktop application for manage kubernetes. Easily for use fast, secure - github.com/k8zdev/k8z
              • github.com/unxsist/jet-pilot JET Pilot is an open-source Kubernetes IDE that focuses on less clutter, speed and good looks. Features:
                • Real-time Logs
                • Kubernetes Object Management
                • Container Shell
                • Command Palette
              "},{"location":"kubernetes-based-devel/#octant","title":"Octant","text":"
              • octant.dev Octant is an open source developer-centric web interface for Kubernetes that lets you inspect a Kubernetes cluster and its applications.
              • linode.com: A Overview of Using Octant with Kubernetes
              "},{"location":"kubernetes-based-devel/#okteto-local-kubernetes-development","title":"Okteto local kubernetes development","text":"
              • codefresh.io: Tutorial - Local Kubernetes Development with Okteto \ud83c\udf1f
              • github.com/marketplace: Automating your Kubernetes dev environments with the open source oktetohq Cloud got easier with GitHub Actions
              • blog.palark.com: Okteto Cloud as another way for local development in Kubernetes This article explores an approach featuring application development performed right inside the Kubernetes without needing separate build and deploy steps using Okteto
              "},{"location":"kubernetes-based-devel/#monokle","title":"Monokle","text":"
              • k8studio.github.io/k8studio Welcome to Monokle - your friendly desktop UI for managing k8s manifests!
              • medium.com/kubeshop-i: Monokle vs. Lens vs. K9s \ud83c\udf1f Finding the right tools to optimize Kubernetes deployment workflows is challenging. Here\u2019s a look at what these key players offer to handle everything from configuration tasks to cluster management.
              "},{"location":"kubernetes-based-devel/#k8studio","title":"K8Studio","text":"
              • kubeshop.github.io/monokle Welcome to Monokle - your friendly desktop UI for managing k8s manifests!
              • k8studio.io/blogs: K8studio vs. Lens vs. K9s \ud83c\udf1f K8studio vs Lens and K9s, probably the best tool to manage kubernetes
              "},{"location":"kubernetes-based-devel/#lens-and-openlens-kubernetes-ide","title":"Lens and OpenLens Kubernetes IDE","text":"
              • Lens Kubernetes IDE \ud83c\udf1f Lens is the only IDE you\u2019ll ever need to take control of your Kubernetes clusters. It\u2019s open source and free. Download it today!
              • medium: Lens 5 Released
              • medium: How To Give Developers Secure Access to Kubernetes Clusters
              • Lens Resource Map extension Lens - The Kubernetes IDE extension that displays Kubernetes resources and their relations as a force graph.
              • thedevopslife.com: Kubernetes IDE and UI \u2013 Lens IDE
              • medium.com/k8slens: Lens 6 Released, Vision for the Future, New Subscription Model and Features Available Over 650,000 people and tens-of-thousands of businesses develop and operate their Kubernetes on k8slens. Lens for Web Browsers \u2014 Enable new use cases for people preferring the Lens experience via web browsers. Even tablets and mobile phones!
              • blog.devgenius.io: Is it time to migrate from Lens to OpenLens to manage your Kubernetes clusters?
              • medium.com/k8slens: Eliminating Kubernetes Complexity for Developers Using Lens
              • medium.com/k8slens: Lens Kubernetes is all you need in the development env to build, ship, and run
              "},{"location":"kubernetes-based-devel/#kubenav","title":"Kubenav","text":"
              • kubenav is the navigator for your Kubernetes clusters right in your pocket. kubenav is a mobile, desktop and web app to manage Kubernetes clusters and to get an overview of the status of your resources.
              "},{"location":"kubernetes-based-devel/#aptakube","title":"Aptakube","text":"
              • Aptakube is a modern, lightweight and multi-cluster desktop client for Kubernetes. Connect to multiple clusters simultaneously to view, edit and manage all your resources.
              "},{"location":"kubernetes-based-devel/#cloud-manager","title":"Cloud Manager","text":"
              • thenewstack.io: Cloud Manager: A New Multicloud PaaS Platform Built on Kubernetes
              • medium: Do It All Kubernetes Dashboard
              "},{"location":"kubernetes-based-devel/#yaki","title":"Yaki","text":"
              • nirops/yakiapp Yaki stands for \u201cYet Another Kubernetes IDE\u201d. Open Source, Cross platform, Native Kubernetes IDE. Yaki is a desktop application that allows DevOps, Developers, SREs and anyone who wish the manage the applications deployed in their Kubernetes Cluster
              "},{"location":"kubernetes-based-devel/#images","title":"Images","text":"Click to expand!"},{"location":"kubernetes-based-devel/#tweets","title":"Tweets","text":"Click to expand!

              I made a thing: Web UI for Learning & Exploring Kubernetes \ud83e\uddd9\u200d\u2642\ufe0fIt's hell-interactive - (multi-)cluster updates shown in real-time.Tailored for:- Experiments- Education- Postman REST client but for K8sDemo use case: learn what happens to Pods when Deployment is updated \ud83d\udd3d pic.twitter.com/0373JRh3P7

              \u2014 Ivan Velichko (@iximiuz) June 29, 2022

              "},{"location":"kubernetes-based-devel/#videos","title":"Videos","text":"Click to expand!"},{"location":"kubernetes-bigdata/","title":"Big Data and Kubernetes Big Data","text":"
              1. Introduction
              2. Apache Spark
              3. Databricks
              "},{"location":"kubernetes-bigdata/#introduction","title":"Introduction","text":"
              • Red Hat Build of Kueue - (Related to kubernetes-operators-controllers topic)

              • opensourceforu.com: Kubernetes Adoption Widespread for Big Data: Survey

              "},{"location":"kubernetes-bigdata/#apache-spark","title":"Apache Spark","text":"
              • itnext.io: Migrating Apache Spark workloads from AWS EMR to Kubernetes
              • tomlous.medium.com: CI/CD for Data Engineers. Reliably Deploying Scala Spark containers for Kubernetes with Github Actions
              • datamechanics.co: Apache Spark 3.1 Release: Spark on Kubernetes is now Generally Available
              • dzone: Run and Scale an Apache Spark Application on Kubernetes Learn how to set up Apache Spark on IBM Cloud Kubernetes Service by pushing the Spark container images to IBM Cloud Container Registry.
              • dzone: Running Apache Spark on Kubernetes This article covers using Spark on K8s to overcome dependency on cloud providers and running Apache Spark on Kubernetes.
              • cloud.redhat.com: Getting Started running Spark workloads on OpenShift
              • medium: Running Apache Spark on Kubernetes Using Spark on K8s to overcome dependency on cloud providers
              • hevodata.com: Building Apache Spark Data Pipeline? Made Easy 101 \ud83c\udf1f
              • coderstan.com: Apache Spark on Kubernetes\u2014Lessons Learned from Launching Millions of Spark Executors (Databricks Data+AI Summit 2022) In this case study, you will learn how Apple uses Spark and Kubernetes to process 380K+ jobs per day
              • spot.io: Setting up, Managing & Monitoring Spark on Kubernetes
              • levelup.gitconnected.com: Master SparkML: Practical Guide for Machine Learning Unleash the power of SparkML with our hands-on tutorial. Discover machine learning made easy and efficient.
              "},{"location":"kubernetes-bigdata/#databricks","title":"Databricks","text":"
              • aprenderbigdata.com: Databricks: Introducci\u00f3n a Spark en la nube
                • Databricks es el nombre de la plataforma anal\u00edtica de datos basada en Apache Spark desarrollada por la compa\u00f1\u00eda con el mismo nombre. La empresa se fund\u00f3 en 2013 con los creadores y los desarrolladores principales de Spark. Permite hacer anal\u00edtica Big Data e inteligencia artificial con Spark de una forma sencilla y colaborativa.
                • Esta plataforma est\u00e1 disponible como servicio cloud en Microsoft Azure y Amazon Web Services (AWS).
              • docs.databricks.com: Use scheduler pools for multiple streaming workloads
              • github.com/databrickslabs/ucx: Databricks Labs UCX Automated migrations to Unity Catalog
              "},{"location":"kubernetes-client-libraries/","title":"Client Libraries for Kubernetes","text":"
              1. Kubernetes Client Libraries
              2. Go Clients for Kubernetes
              3. Python Client for Kubernetes
              4. Java Clients for Kubernetes
                1. Official Java client library for kubernetes
                2. Fabric8 Java Client for Kubernetes
              5. CDK8s
              6. Eclipse Jkube Java Client for Kubernetes (formerly known as Fabric8). Kubernetes \\& OpenShift Maven Plugins
              7. Java Operator SDK
              "},{"location":"kubernetes-client-libraries/#kubernetes-client-libraries","title":"Kubernetes Client Libraries","text":"
              • github.com/kubernetes-client \ud83c\udf1f
              • medium: Building stuff with the Kubernetes API \u2014 TOC \ud83c\udf1f
                • Part 1 \u2014 Exploring API objects
                • Part 2 \u2014 Using the Java client framework
                • Part 3 \u2014 Using the Python client framework
                • Part 4 \u2014 Using the Go client framework
              • k8s-ruby: Kubernetes Ruby Client
              "},{"location":"kubernetes-client-libraries/#go-clients-for-kubernetes","title":"Go Clients for Kubernetes","text":"
              • kubernetes/client-go: Go client for Kubernetes \ud83c\udf1f Go clients for talking to a kubernetes cluster.
                • pkg.go.dev/k8s.io/client-go
              • Rate Limiting in Controller-Runtime and Client-go
              • kubernetes-client/go: OpenAPI based Generated Go client for Kubernetes
              • kyaml2go (Pronounced as camel2go \ud83d\udc2b) \ud83c\udf1f K8s Go client code generator from Kubernetes resource yamls.
              • itnext.io: Writing a Kubernetes CLI in Go
              • blog.devgenius.io: Learn Kubernetes Programming \u2014 Part 1 Learn to programmatically talk to the Kubernetes cluster using the Official Client Go Library. In this tutorial, you\u2019ll learn how to build a simple CLI that connects to the Kubernetes cluster and displays the server version. In the process, you will learn Go and the client-go package.
              • iximiuz.com: How To Develop Kubernetes CLIs Like a Pro Build You Own kubectl The Simple Way. Learn how to use the http://k8s.io/cli-runtime library to develop Kubernetes CLI tools that behave like and are as potent as the mighty kubectl.
              "},{"location":"kubernetes-client-libraries/#python-client-for-kubernetes","title":"Python Client for Kubernetes","text":"
              • github.com/kubernetes-client/python
              • github.com/kubernetes-client/python-base
              • medium.com/@dimitrijevskiv: Monitor Kubernetes pod status from a Jenkins pipeline
              • blog.devgenius.io: Automate Kubernetes With Python \ud83c\udf1f The Kubernetes Python module is a very powerful client that allows you to easily automate interactions with a Kubernetes cluster.
              • martinheinz.dev/blog/73: Automate All the Boring Kubernetes Operations with Python \ud83c\udf1f In this article, you will look at how you can leverage the Kubernetes Python Client library to automate any tasks. Examples:
                • Triggering a rollout
                • Scaling a deployment
                • Applying taints
                • Retrieving metrics
                • Backing up all resources in a namespace
              "},{"location":"kubernetes-client-libraries/#java-clients-for-kubernetes","title":"Java Clients for Kubernetes","text":"
              • itnext.io: Difference between Fabric8 and Official Kubernetes Java Client \ud83c\udf1f
              "},{"location":"kubernetes-client-libraries/#official-java-client-library-for-kubernetes","title":"Official Java client library for kubernetes","text":"
              • github.com/kubernetes-client/java: Kubernetes Java Client Official Java client library for kubernetes
              "},{"location":"kubernetes-client-libraries/#fabric8-java-client-for-kubernetes","title":"Fabric8 Java Client for Kubernetes","text":"
              • Fabric8 has been available as a Java client for Kubernetes since 2015, and today is one of the most popular client libraries for Kubernetes (the most popular is client-go, which is the client library for the Go programming language on Kubernetes). In recent years, fabric8 has evolved from a Java client for the Kubernetes REST API to a full-fledged alternative to the kubectl command-line tool for Java-based development.
              • developers.redhat.com: Getting started with the fabric8 Kubernetes Java client
              • developers.redhat.com: How the fabric8 Maven plug-in deploys Java applications to OpenShift
              • Fabric8.io Microservices Development Platform It is an open source microservices platform based on Docker, Kubernetes and Jenkins. It is built by the Red Hat guys.The purpose of the project is to make it easy to create microservices, build, test and deploy them via Continuous Delivery pipelines then run and manage them with Continuous Improvement and ChatOps. Fabric8 installs and configures the following things for you automatically: Jenkins, Gogs, Fabric8 registry, Nexus, SonarQube.
              • developers.redhat.com: What\u2019s new in Fabric8 Kubernetes Java client 4.12.0
              • blog.marcnuri.com: Fabric8 Kubernetes Client for Java introduction
              • blog.marcnuri.com: Build Kubernetes controllers with Fabric8 Kubernetes Client, Quarkus, and JKube
              • developers.redhat.com: How to generate code using Fabric8 Kubernetes Client
              • levelup.gitconnected.com: First Try on Java Operator SDK Demo on java-operator-sdk and compare it with Kubebuilder
              • developers.redhat.com: How to use Fabric8 Java Client with Kubernetes In this 5-part series, you\u2019ll learn how to use Fabric8 Kubernetes Client to interact with Kubernetes custom resources using its REST API
              "},{"location":"kubernetes-client-libraries/#cdk8s","title":"CDK8s","text":"
              • cdk8s Define Kubernetes native apps and abstractions using object-oriented programming
              • blog.twstewart.me: cdk8s-python - A Love and Hate Experience CDK8S is an alpha level library that allows you to write high level abstractions of Kubernetes objects like deployments, services, and more all in your favorite language ( TypeScript, Python, and others).
              • qdnqn.com: Kubernetes objects from Go to YAML using Cdk8s Cdk8s is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs. cdk8s apps synthesize into standard Kubernetes manifests which can be applied to any Kubernetes cluster.
              "},{"location":"kubernetes-client-libraries/#eclipse-jkube-java-client-for-kubernetes-formerly-known-as-fabric8-kubernetes-openshift-maven-plugins","title":"Eclipse Jkube Java Client for Kubernetes (formerly known as Fabric8). Kubernetes & OpenShift Maven Plugins","text":"
              • Eclipse JKube \ud83c\udf1f Cloud-Native Java Applications without a hassle. Eclipse JKube is a collection of plugins and libraries that are used for building container images using Docker, JIB or S2I build strategies. Eclipse JKube generates and deploys Kubernetes/OpenShift manifests at compile time too. It brings your Java applications on to Kubernetes and OpenShift by leveraging the tasks required to make your application cloud-native. Eclipse JKube also provides a set of tools such as watch, debug, log, etc. to improve your developer experience.
              • Github: Eclipse Jkube
              • developers.redhat.com: Migrating from Fabric8 Maven Plugin to Eclipse JKube 1.0.0
              • developers.redhat.com: Cloud-native Java applications made easy: Eclipse JKube 1.0.0 now available
              • developers.redhat.com: Java development on top of Kubernetes using Eclipse JKube
              • eclipse.org: Migration Guide for projects using Fabric8 Maven Plugin to Eclipse JKube \ud83c\udf1f
              • youtube: Deploying a Quarkus application into Kubernetes using JKube | Cloud Tool Time | Marc Nuri \ud83c\udf1f
              • blog.marcnuri.com
                • blog.marcnuri.com: Eclipse JKube 1.4.0 is now available!
              • developers.redhat.com: How to manage microservices using OpenShift Dev Spaces and JKube
              "},{"location":"kubernetes-client-libraries/#java-operator-sdk","title":"Java Operator SDK","text":"
              • javaoperatorsdk.io: Build Kubernetes Operators in Java without hassle Whether you want to build applications that operate themselves or provision infrastructure from Java code, Kubernetes Operators are the way to go. This SDK will make it easy for Java developers to embrace this new way of automation. The java-operator-sdk is based on the fabric8 Kubernetes client.
              "},{"location":"kubernetes-monitoring/","title":"Kubernetes Monitoring and Logging","text":"
              1. Introduction
              2. Kubernetes Logging
              3. SLOs in Kubernetes
              4. ECK Elastic Cloud on Kubernetes
              5. Telegraf Operator
              6. Monitoring Certificates Expiration
              7. kubeshark
              8. k8spacket
              9. Kubelog
              10. Microsoft Retina eBPF
              11. Videos
              "},{"location":"kubernetes-monitoring/#introduction","title":"Introduction","text":"
              • Monitoring Distributed Systems - Google SRE Book - (Related to monitoring topic)
              • Prometheus and OpenTelemetry Compatibility Issues - (Related to monitoring topic)
              • CPU Limits in Kubernetes: Deep Dive into Pod Throttling and Kernel Interactions - (Related to kubernetes-troubleshooting topic)

              • DZone: Kubernetes Monitoring Essentials

              • kube-prometheus Use Prometheus to monitor Kubernetes and applications running on Kubernetes. This repository collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.
                • prometheus-community/kube-prometheus-stack \ud83c\udf1f\ud83c\udf1f kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.
                • faun.pub: Becoming DevOps \u2014 Observability Observability with Kube-Prometheus
                • levelup.gitconnected.com: Installing & Exploring the Kube-Prometheus Project
              • medium: Kubernetes Monitoring: Kube-State-Metrics
              • Kubernetes Monitoring 101 \u2014 Core pipeline & Services Pipeline
              • medium: Utilizing and monitoring kubernetes cluster resources more effectively
              • sysdig.com: Seven Kubernetes monitoring best practices every monitoring solution should enable
              • magalix.com: Best Practices And Tools For Monitoring Your Kubernetes Cluster
              • sysdig.com: Monitoring Kubernetes in Production
              • sysdig.com: How to monitor Kubernetes control plane
              • thenewstack.io: 12 Critical Kubernetes Health Conditions You Need to Monitor
              • circonus.com: 12 Critical Kubernetes Health Conditions You Need to Monitor and Why
              • circonus.com: Guide to Kubernetes Monitoring: Part 1
                • circonus.com: Guide to Monitoring Kubernetes, Part 2: Which Metrics and Health Conditions You Should be Monitoring
              • infracloud.io: Monitoring Kubernetes cert-manager Certificates with BotKube - botkube.io
              • kube-state-metrics \ud83c\udf1f Add-on agent to generate and expose cluster-level metrics. kube-state-metrics is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects. (See examples in the Metrics section below.) It is not focused on the health of the individual Kubernetes components, but rather on the health of the various objects inside, such as deployments, nodes and pods.
              • itnext.io: Monitoring Kubernetes Jobs
              • cncf.io: Avoiding Kubernetes cluster outages with synthetic monitoring
              • medium: Replication Controller & Replica sets in Kubernetes
              • kubermatic.com: The Complete Guide to Kubernetes Metrics
              • arabitnetwork.com: K8S \u2013 Enabling Auditing Logs | Step-by-Step
              • youtube.com: Cloud Quick POCs - Kubernetes monitoring metrics using Grafana Cloud on AWS EKS | Observability | Grafana
              • loft.sh: Kubernetes Cost Monitoring with Prometheus & Grafana
              • anaisurl.com: Full Tutorial: Monitoring and Troubleshooting stack with Prometheus, Grafana, Loki and Komodor \ud83c\udf1f
              • medium.com/is-it-observable: How to collect metrics in a Kubernetes cluster
              • itnext.io: How to tackle Kubernetes observability challenges with Pixie
              • medium.com/@lucapompei91: Kubernetes observability
              • dev.to: Monitoring Kubernetes cluster logs and metrics using Grafana, Prometheus and Loki
              • hitesh-pattanayak.medium.com: Observability in Kubernetes
              • middlewareinventory.com: Get CPU and Memory Usage of NODES and PODS \u2013 Kubectl \ud83c\udf1f
              • betterstack.com: 10 Best Kubernetes Monitoring Tools in 2022 \ud83c\udf1f
              • medium.com/@kylekhunter: Kubernetes Monitoring with Prometheus
              • adamtheautomator.com: Utilizing Grafana & Prometheus Kubernetes Cluster Monitoring \ud83c\udf1f In this guide, you\u2019ll learn how to monitor your Kubernetes cluster, viewing internal state metrics with a Prometheus and Grafana dashboard.
              • grafana.com: Introducing Kubernetes Monitoring in Grafana Cloud Kubernetes Monitoring is available to all Grafana Cloud users, including on free tier. Container orchestration to deploy at scale, iterate quickly, and manage a large number of apps and services.
              • medium.com/@clymeneallen: Best Practices, Monitoring System for Multi-K8s Cluster Environments Using Open Source
              • medium.com/@magstherdev: OpenTelemetry on Kubernetes \ud83c\udf1f
              • betterprogramming.pub: 6 Metrics To Watch for on Your K8s Cluster \ud83c\udf1f The most critical Kubernetes metrics to monitor. In this article, you will cover the 6 most critical metrics based on Kubernetes\u2019s metadata that form a good baseline for monitoring your workloads and ensuring they\u2019re in a healthy state.
              • figments.medium.com: Observable Kubernetes Cluster Using Grafana-Loki-Prometheus
              • medium.com/@isalapiyarisi: Getting Started on Kubernetes observability with eBPF
              • 8 Best Kubernetes monitoring tools; Paid & open-source
              • dev.to/mikeyglitz: Proactive Kubernetes Monitoring with Alerting In this tutorial, you\u2019ll learn how to combine Prometheus, Alertmanager, Grafana and Linkerd to deliver timely alerts when a problem occurs in a Kubernetes cluster.
              • isovalent.com: What are the 4 Golden Signals for Monitoring Kubernetes?
              • grafana.com: How to manage high cardinality metrics in Prometheus and Kubernetes
              • medium.com/@HirenDhaduk1: Top Kubernetes Observability Tools and their Usage
              • milindasenaka96.medium.com: Setup Prometheus and Grafana to Monitor the K8s Cluster
              • blog.fourninecloud.com: Kubernetes monitoring \u2014 How to monitor using prometheus?
              • rcarrata.com: Network Observability Deep Dive in Kubernetes with NetObserv Operator How can we analyze our Network Flows in our Kubernetes clusters? How can we enable Network Observability for Kubernetes in a simple, searchable and visual way? How can we leverage cool technologies such as eBPF or IPFIX to enable Network Observability for our K8s Network Traffic?
              • kemilad.medium.com: Monitoring-Stack Deployment To A Kubernetes Cluster \u2014 Prometheus | Grafana | AlertManager | Loki + Exporters | Dashboards and etc \ud83c\udf1f
              • newrelic.com: Pixie
                • xgrid.medium.com: Tackling Kubernetes Observability Challenges with Pixie
                • newrelic.com: What Is eBPF and Why Does It Matter for Observability?
              • awstip.com: Monitoring Your EKS Cluster with the Power of Prometheus and Grafana through Helm
              • grafana.com: A beginner\u2019s guide to Kubernetes application monitoring
              • medium.com/@poseidon.os: Poseidon: A Kubernetes Cluster Visualization & Cost Analysis Tool
              • aws.amazon.com: Using Prometheus to Avoid Disasters with Kubernetes CPU Limits \ud83c\udf1f In this article, you\u2019ll discuss how CPU throttling can affect Kubernetes\u2019 node performance, and how to avoid this by setting the right values for limits. The author also suggests using Prometheus as a tool to help set reasonable limits
              • umeey.medium.com: Four Golden Signals Of Monitoring: Site Reliability Engineering (SRE) Metrics Golden Signal Monitoring using FastAPI on k8s
              • grafana.com: How to optimize resource utilization with Kubernetes Monitoring for Grafana Cloud \ud83c\udf1f Overprovisioning or underprovisioning your Kubernetes resources can have significant consequences on both your budget and your app performance.
              • medium.com/@lambdaEranga: Monitor Kubernets Services/Endpoints with Prometheus Blackbox Exporter \ud83c\udf1f In this article, you will discuss monitoring different endpoints/services in a Kubernetes cluster using Prometheus Blackbox Exporter
              • samiislam0306.medium.com: Insightful Monitoring of Kubernetes Clusters with Traces Gain valuable insights into the performance of your Kubernetes cluster with trace monitoring. A guide that helps you optimize your operations for maximum efficiency and productivity.
              • medium.com/@walissonscd: Monitoring Kubernetes Cluster Resources: Using Top Metrics Commands
              • blog.devops.dev: Prometheus metrics within Kubernetes \u2014 an aerial view | Joseph Esrig
              • grafana.com: How to monitor Kubernetes clusters with the Prometheus Operator In this guide, you\u2019ll learn how to deploy and use the Prometheus Operator to configure and manage Prometheus instances in your Kubernetes cluster. You\u2019ll also discover how to deploy Grafana to help analyze and visualize the health of your clusters.
              • blog.palark.com: Service communication monitoring in Kubernetes with NetFlow
              • betterprogramming.pub: Improve Cluster Monitoring With Network Mapping in Grafana A deep dive into obtaining network maps and correlating IP with cluster workloads to speed up debugging
              • betterprogramming.pub: Kubernetes Observability Part 1: Events, Logs, and Integration With Slack, OpenAI, and Grafana Build a Kubernetes custom controller to watch Kubernetes Events and forward them to Grafana Loki using Promtail
              • itnext.io: Kubernetes: monitoring with Prometheus \u2014 exporters, a Service Discovery, and its roles
              • opentelemetry.io: Creating a Kubernetes Cluster with Runtime Observability
              • medium.com/@onai.rotich: Understand container metrics and why they matter In this 2-part article, you will explore the key metrics to scrape in your cluster
              • kkamalesh117.medium.com: Setting up Prometheus and Grafana Integration on Kubernetes with Helm
              • medium.com/@MetricFire: Monitoring Kubernetes tutorial: Using Grafana and Prometheus
              • medium.com/globant: Monitoring a multi-cluster Kubernetes Deployment Deploying a high resilience monitoring and observation platform for Kubernetes multi-cluster solutions
              • medium.com/@martin.hodges: Adding observability to a Kubernetes cluster using Prometheus Monitoring your services is vital and should be considered as part of your underlying infrastructure for your services. You should put this in place ahead of creating and deploying your services. In this article I look at how to deploy Prometheus provide the observability you need to run your services.
              • addozhang.medium.com: Non-intrusive Inject OpenTelemetry Auto-Instrumentation in Kubernetes
              • medium.com/@abhisman.sarkar: Kubernetes Monitoring: Effective Cluster Tracking with Prometheus
              • aws.plainenglish.io: Mastering Monitoring: The Complete Guide to Using Prometheus and Grafana with Kubernetes
              • medium.com/@muppedaanvesh: A Hands-On Guide to Kubernetes Monitoring Using Prometheus & Grafana Understanding Prometheus & Grafana Setup in Kubernetes: A Comprehensive Guide
              • signoz.io: Kubernetes Cluster Monitoring with OpenTelemetry | Complete Tutorial \ud83c\udf1f
              "},{"location":"kubernetes-monitoring/#kubernetes-logging","title":"Kubernetes Logging","text":"
              • Setup Prometheus Using Helm Chart on Kubernetes - (Related to prometheus topic)
              • KoaPerf: Kubernetes Performance Monitoring - 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 - (Related to kubernetes-tools topic)

              • cncf.io: Logging in Kubernetes: EFK vs PLG Stack

              • medium: How to Deploy an EFK stack to Kubernetes
              • digitalocean.com: How To Set Up an Elasticsearch, Fluentd and Kibana (EFK) Logging Stack on Kubernetes
              • portworx.com: How to backup and restore Elasticsearch on Kubernetes
              • papertrail.com: Quick and Easy Way to Implement Kubernetes Logging The SolarWinds\u00ae Papertrail\u2122 team is excited to announce SolarWinds rKubeLog, an open-source project designed to streamline Kubernetes logging. rKubeLog allows you to forward logs to Papertrail from within a Kubernetes cluster without using a daemon or setting up application-level logging or a logging sidecar.
              • qlinh.com: Leveraging Kubernetes audit logs for threat detection Kubernetes audit logs can provide great visibility into the operation and inner workings of your cluster. Learn how to leverage Kubernetes audit logs for threat detection
              • itnext.io: Kubernetes Logging in Production
              • opensource.com: What you need to know about cluster logging in Kubernetes \ud83c\udf1f Explore how different container logging patterns in Kubernetes work.
              • devopscube.com: Kubernetes Logging Tutorial For Beginners \ud83c\udf1f
              • medium.com/vmacwrites: Kubernetes Audit Logs: Who created or deleted a namespace? Learn how to set up log forwarding and collect audit logs that are passed through the Kubernetes API server to IBM Log Analysis to check who initiated a request and when they did so.
              • shivanshu1333.medium.com: Structured logging in Kubernetes
                • Logs are an essential aspect of observability and a critical tool for debugging. But Kubernetes logs have traditionally been unstructured strings, making any automated parsing difficult and any downstream processing, analysis, or querying challenging to do reliably.
                • In Kubernetes 1.19, we are adding support for structured logs, which natively support (key, value) pairs and object references. We have also updated many logging calls such that over 99% of logging volume in a typical deployment are now migrated to the structured format.
                • To maintain backwards compatibility, structured logs will still be outputted as a string where the string contains representations of those \u201ckey\u201d=\u201dvalue\u201d pairs. Starting in alpha in 1.19, logs can also be outputted in JSON format using the \u2013logging-format=json flag.
              • tealfeed.com: Kubernetes Audit Logs: Who created or deleted a namespace? Learn how to set up log forwarding and collect audit logs that are passed through the Kubernetes API server to IBM Log Analysis to check who initiated a request and when they did so.
              • blog.devops.dev: Importance of Logging In Kubernetes, Intro to Grafana Loki & deploying with helm-charts
              • faun.pub: Kubernetes Practice \u2014 Logging with Logstash and FluentD by Sidecar Container We are going to learn how to use the Sidecar Container pattern to install Logstash and FluentD on Kubernetes for log aggregation.
              • dev.to: Kubernetes Practice \u2014 Logging with Logstash and FluentD by Sidecar Container
              • signoz.io: Kubernetes Audit Logs - Best Practices And Configuration
              • blog.amhaish.com: Observing the K8 cluster using ELK stack
              • kube-logging/logging-operator The Logging operator automates the deployment and configuration of a Kubernetes logging pipeline. The operator deploys and configures a Fluent Bit daemonset on every node to collect container and application logs from the node file system.
              • akyriako.medium.com: Kubernetes Logging with Grafana Loki & Promtail in under 10 minutes \ud83c\udf1f Consolidate all your Kubernetes logs in a intuitive Grafana dashboard.
              • yuminlee2.medium.com: Kubernetes: Container and Pod Logging
              • medium.com/kubernetes-tutorials: Cluster-level Logging in Kubernetes with Fluentd
              • shivanshu1333.medium.com: Contextual Logging in Kubernetes The Structured Logging Working Group has added new capabilities to the logging infrastructure in Kubernetes. This post explains how developers can use those to make log output more useful.
              "},{"location":"kubernetes-monitoring/#slos-in-kubernetes","title":"SLOs in Kubernetes","text":"
              • thenewstack.io: Service Level Objectives in Kubernetes an SLO is simply a metric, a goal for that metric, and a time period. For instance: \u201cthe success rate for service A must be at least 99.7% percent over the past 30 days.\u201d The metric is known as the \u201cservice level indicator\u201d (SLI) and the goal is the \u201cobjective.\u201d
              • thenewstack.io: SLOs in Kubernetes, 1 Year Later
              "},{"location":"kubernetes-monitoring/#eck-elastic-cloud-on-kubernetes","title":"ECK Elastic Cloud on Kubernetes","text":"
              • elastic.co: How to configure Elastic Cloud on Kubernetes with SAML and hot-warm-cold architecture Elastic Cloud on Kubernetes (ECK) is an easy way to get the Elastic Stack up and running on top of Kubernetes. That\u2019s because ECK automates the deployment, provisioning, management, and setup of Elasticsearch, Kibana, Beats, and more.
              "},{"location":"kubernetes-monitoring/#telegraf-operator","title":"Telegraf Operator","text":"
              • influxdata.com: Expand Kubernetes Monitoring with Telegraf Operator
              "},{"location":"kubernetes-monitoring/#monitoring-certificates-expiration","title":"Monitoring Certificates Expiration","text":"
              • itnext.io: Monitoring Certificates Expiration in Kubernetes with X.509 Exporter
              "},{"location":"kubernetes-monitoring/#kubeshark","title":"kubeshark","text":"
              • Sharing a NVIDIA GPU Between Pods in Kubernetes - (Related to kubernetes-tools topic)

              • kubeshark.co The API Traffic Viewer for kubernetes. Deep visibility and monitoring of all API traffic and payloads going in, out and across containers and pods inside a Kubernetes cluster.

              • kubeshark/kubeshark The API traffic viewer for Kubernetes providing deep visibility into all API traffic and payloads going in, out and across containers and pods inside a Kubernetes cluster. Think TCPDump and Wireshark re-invented for Kubernetes
              • medium.com/kernel-space: KubeShark: Wireshark for Kubernetes
              "},{"location":"kubernetes-monitoring/#k8spacket","title":"k8spacket","text":"
              • medium.com/@bareckidarek: TCP packets traffic visualization for kubernetes by k8spacket and Grafana
              • pakdailytimes.com: TCP packets traffic visualization for kubernetes by k8spacket and Grafana
              "},{"location":"kubernetes-monitoring/#kubelog","title":"Kubelog","text":"
              • kubelog.de kubelog is a graphical log viewer for Kubernetes, which works with your existing Kubernetes logging infrastructure. Kubelog is a log viewer for kubernetes. Tail multiple pods in one view and use searches to highlight and show results in context.
              "},{"location":"kubernetes-monitoring/#microsoft-retina-ebpf","title":"Microsoft Retina eBPF","text":"
              • github.com/microsoft/retina - retina.sh eBPF distributed networking observability tool for Kubernetes
                • Retina is a cloud-agnostic, open-source Kubernetes network observability platform that provides a centralized hub for monitoring application health, network health, and security. It provides actionable insights to cluster network administrators, cluster security administrators, and DevOps engineers navigating DevOps, SecOps, and compliance use cases.
                • Retina collects customizable telemetry, which can be exported to multiple storage options (such as Prometheus, Azure Monitor, and other vendors) and visualized in a variety of ways (like Grafana, Azure Log Analytics, and other vendors).
              "},{"location":"kubernetes-monitoring/#videos","title":"Videos","text":"Click to expand!"},{"location":"kubernetes-networking/","title":"Kubernetes Networking","text":"
              1. Introduction
              2. Kubernetes DNS
              3. Kubernetes Services and Load Balancing
              4. TCP Keep Alive Requests
              5. Headless Kubernetes Service
              6. NetworkPolicy
              7. Nginx Ingress Controller
              8. Contour Ingress Controller
              9. Kubernetes Gateway API
              10. Kube-proxy
              11. Multicloud communication for Kubernetes
              12. Multi-Cluster Kubernetes Networking
              13. Kubernetes Network Policy
                1. Cilium
                2. Kubernetes Network Policy Samples
              14. Kubernetes Ingress Specification
              15. Xposer Kubernetes Controller To Manage Ingresses
              16. Software-Defined IP Address Management (IPAM)
              17. CNI Container Networking Interface
                1. List of existing CNI Plugins (IPAM)
                2. Project Calico
              18. DNS Service with CoreDNS
              19. Kubernetes Node Local DNS Cache
              20. k8gb
              21. VPC Lattice
              22. Images
              23. Videos
              24. Tweets
              "},{"location":"kubernetes-networking/#introduction","title":"Introduction","text":"
              • kubernetes.io: The Kubernetes network model. How to implement the Kubernetes networking model
              • ovh.com - getting external traffic into kubernetes: clusterip, nodeport, loadbalancer and ingress
              • learnk8s.io: Load balancing and scaling long-lived connections in Kubernetes \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Kubernetes doesn\u2019t load balance long-lived connections, and some Pods might receive more requests than others. If you\u2019re using HTTP/2, gRPC, etc. or any other long-lived connection, you might want to consider client-side load balancing
              • stackrox.com: Kubernetes Networking Demystified: A Brief Guide
              • medium.com: Fighting Service Latency in Microservices With Kubernetes
              • medium.com: Kubernetes NodePort vs LoadBalancer vs Ingress? When should I use what? \ud83c\udf1f
              • blog.alexellis.io: Get a LoadBalancer for your private Kubernetes cluster
              • dustinspecker.com: How Do Kubernetes and Docker Create IP Addresses?!
              • youtube: Kubernetes Ingress Explained Completely For Beginners
              • AWS and Kubernetes Networking Options and Trade-Offs (part 1)
              • AWS and Kubernetes Networking Options and Trade-Offs (part 2)
              • medium: Service Types in Kubernetes? \ud83c\udf1f A Service enables network access to a set of Pods in Kubernetes.
              • containo.us: Kubernetes Ingress & Service API Demystified
              • speakerdeck.com: Kubernetes and networks. Why is this so dan hard? \ud83c\udf1f
              • eevans.co: Deconstructing Kubernetes Networking
              • externalTrafficPolicy=local on kubernetes. How to preserve the source IP in kubernetes externalTrafficPolicy=local is an annotation on the Kubernetes service resource that can be set to preserve the client source IP. When it is set, the actual IP address of a client is propagated to the K8s service instead of the IP address of the node.
              • ronaknathani.com: How a Kubernetes Pod Gets an IP Address \ud83c\udf1f
              • opensource.com: Why I use Ingress Controllers to expose Kubernetes services Kubernetes ingress controllers will make or break your cloud architecture.
              • blog.nody.cc: Verify your Kubernetes Cluster Network Policies: From Faith to Proof
              • medium: How to setup Hetzner load balancer on a Kubernetes cluster
              • zhimin-wen.medium.com: Sticky Sessions in Kubernetes \ud83c\udf1f
              • infoq.com: Kubernetes Ingress Is Now Generally Available
              • Learnk8s: Comparison of Kubernetes Ingress Controllers \ud83c\udf1f\ud83c\udf1f How do you choose the right Kubernetes Ingress controller when: Not all Ingress controllers support UDP, Only Kong has a free LDAP integration, Nginx Ingress and HAProxy are the only two ingress without CRDs.
              • blog.alexellis.io: Get kubectl access to your private cluster from anywhere
              • jmrobles.medium.com: How to setup Hetzner load balancer on a Kubernetes cluster
              • kubernetes.io: Scaling Kubernetes Networking With EndpointSlices EndpointSlices are a new Kubernetes API that provides a scalable and extensible alternative to the Endpoints API.
              • medium: Create a Custom Annotation for the Kubernetes ingress-nginx Controller
              • haproxy.com: Announcing HAProxy Kubernetes Ingress Controller 1.5 \ud83c\udf1f
              • devclass.com: HAProxy Ingress Controller 1.5 introduces mTLS support, gives load balancing experts more power
              • thenewstack.io: HAProxy Kubernetes Ingress Controller Moves Outside the Cluster
              • suse.com: NGINX Guest Blog: NGINX Kubernetes Ingress Controller \ud83c\udf1f
              • blog.cloudflare.com: Moving k8s communication to gRPC
              • K8GB - Kubernetes Global Balancer - openshift.com: K8GB - Kubernetes Global Balancer
              • altoros.com: Kubernetes Networking: How to Write Your Own CNI Plug-in with Bash
              • 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\u2019s 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 \ud83c\udf1f
              • ithands-on.com: Kubernetes 101 : External services - ExternalName, DNS and Endpoints
              • ibm.com: Multizone Kubernetes and VPC Load Balancer Setup Securely expose your Kubernetes app by setting up a Load Balancer for VPC in a different zone.
              • opensource.googleblog.com: Kubernetes: Efficient Multi-Zone Networking with Topology Aware Routing
              • nbailey.ca: Domesticated Kubernetes Networking
              • sookocheff.com: A Guide to the Kubernetes Networking Model \ud83c\udf1f
              • build.thebeat.co: A curious case of AWS NLB timeouts in Kubernetes A debugging adventure that allowed us to solve the tail latencies our Kubernetes applications were experiencing when talking with our AWS NLB.
              • ingressbuilder.jetstack.io \ud83c\udf1f\ud83c\udf1f Ingress Builder allows users to select any annotation from the list of available controllers, to add to the ingress manifest.
              • itnext.io: Generating Kubernetes Network Policies Automatically By Sniffing Network Traffic \ud83c\udf1f This blog post is about an experiment to automate creation of Kubernetes Network Policies based on actual network traffic captured from applications running on a Kubernetes cluster - code
              • medium: Using nginx-ingress controller to restrict access by IP (ip whitelisting) for a service deployed to a Kubernetes (AKS) cluster
              • openshift.com: gRPC or HTTP/2 Ingress Connectivity in OpenShift \ud83c\udf1f
              • inlets.dev: Fixing Ingress for short-lived local Kubernetes clusters
              • nginx.com: How to Simplify Kubernetes Ingress and Egress Traffic Management
              • blog.teamhephy.info: Running Workflow Without Any LoadBalancer
              • blog.alexellis.io: Get a public LoadBalancer for your private Kubernetes cluster \ud83c\udf1f
              • searchitoperations.techtarget.com: Differences between Kubernetes Ingress vs. load balancer To manage Kubernetes cluster traffic, admins have a few choices. Compare Kubernetes Ingress vs. load balancers, as well as the NodePort and ClusterIP service types.
              • monzo.com: Controlling outbound traffic from Kubernetes
              • medium: Access Application Externally In Kubernetes Cluster using Load Balancer Service Learn how to create a Pod and how to create a Load Balancer service using Kubernetes cluster. And access the application from outside.
              • itnext.io: Why and How of Kubernetes Ingress (and Networking) \ud83c\udf1f
              • techdozo.dev: gRPC load balancing on Kubernetes (using Headless Service)
              • thenewstack.io: ZeroLB, a New Decentralized Pattern for Load Balancing
              • ungleich.ch: Making kubernetes kube-dns publicly reachable
              • ungleich.ch: Building Ingress-less Kubernetes Clusters Building Ingress-less Kubernetes Clusters with IPv6
              • thenewstack.io: Ingress Controllers: The More the Merrier
              • levelup.gitconnected.com: Setting up Application Load Balancer (Ingress) for the Pods running in AWS EKS Fargate
              • devopscube.com: Kubernetes Ingress Tutorial For Beginners \ud83c\udf1f In this Kubernetes ingress tutorial, you will learn the basic concepts of ingress, the native ingress resource object, and the concepts involved in ingress controllers
              • ystatit.medium.com: How to Change Kubernetes Kube-apiserver IP Address
              • monzo.com: Controlling outbound traffic from Kubernetes
              • nginx.com: Reducing Kubernetes Costs by 70% in the Cloud with NGINX, Opsani, and Prometheus
              • ithands-on.com: Kubernetes 101 : Changing a service type If we realize that our service, a ClusterIP doesn\u2019t suit our needs anymore, we could change its type to a nodePort service for example.
              • cloud.redhat.com: Global Load Balancer Approaches \ud83c\udf1f
              • loft.sh: Kubernetes NGINX Ingress: 10 Useful Configuration Options \ud83c\udf1f Kubernetes Ingress is the object that provides routing rules into your cluster. To best serve traffic to your app, you need to correctly configure it. This is an incredible article from loft.sh with 10 useful options for configuring NginX Ingress
              • technos.medium.com: Kubernetes Services for Absolute Beginners \u2014 NodePort \ud83c\udf1f
              • fransemalila.medium.com: Kubernetes Networking To access the application over the network, K8s services must be used to expose the pods to external traffic and load balancing the traffic across multiple pods.
                • Cluster IP
                • Target Ports
                • Node Port
                • External IPs
                • Load Balancer
              • thenewstack.io: Ingress Controllers: The Swiss Army Knife of Kubernetes
              • nginx.com: Kubernetes Networking 101
              • medium.com/the-programmer: Working With ClusterIP Service Type In Kubernetes Working with services in Kubernetes Using ClusterIP
              • olamiko.medium.com: Technical Series: Kubernetes Networking
              • learnk8s.io: Tracing the path of network traffic in Kubernetes \ud83c\udf1f
              • devopslearners.com: Kubernetes Ingress Tutorial For Beginners - https://devopscube.com/kubernetes-ingress-tutorial
              • devopscube.com: How To Configure Ingress TLS/SSL Certificates in Kubernetes
              • armosec.io: Getting Started with Kubernetes Ingress | Ben Hirschberg
              • itnext.io: Kubernetes Service Type LB for On Prem Deployments
              • medium.com/techbeatly: Kubernetes Networking Fundamentals
              • rajivsharma-2205.medium.com: Demystify how traffic reaches directly to pod on using alb.ingress.kubernetes.io/target-type: ip
              • medium.com/linux-shots: Kubernetes ingress as reverse proxy to Application running outside cluster This article demonstrates how to serve an application running outside Kubernetes as if it were part of the cluster by configuring the Ingress controller and using the ExternalName Service.
              • medium.com/@zhaoyi0113: Kubernetes \u2014 How does service network work in the cluster
              • medium.com/@pavanbelagatti: Kubernetes Service Types Explained \ud83c\udf1f
              • tkng.io: The Kubernetes Networking Guide \ud83c\udf1f\ud83c\udf1f The purpose of The Kubernetes networking guide is to provide an overview of various Kubernetes networking components with a specific focus on exactly how they implement the required functionality
                • tkng.io/arch: THE KUBERNETES NETWORK MODEL \ud83c\udf1f\ud83c\udf1f
              • medium.com/stakater: Efficiently Expose Services on Kubernetes (part 1) \ud83c\udf1f
                • medium.com/stakater: Efficiently Expose Services on Kubernetes (part 2)
              • platform9.com: Ultimate Guide to Kubernetes Ingress Controllers \ud83c\udf1f
              • faun.pub: Kubernetes Service Types Tutorial | Pavan Belagatti \ud83c\udf1f Configure ClusterIP, NodePort, LoadBalancer and Ingress
              • medium.com/slalom-build: Managing Ingress Traffic on Kubernetes Platforms \ud83c\udf1f Why you need an Ingress and how to pick the right one
              • craig-godden-payne.medium.com: How does ingress work in Kubernetes? And how to set up ingress in minikube
              • dustinspecker.com: Kubernetes Networking from Scratch: Using BGP and BIRD to Advertise Pod Routes In this article, you will learn how Calico sets up pod routes between Kubernetes nodes. In this post, you won\u2019t use containers or pods. You\u2019ll learn by creating network namespaces and virtual ethernet devices manually.
              • home.robusta.dev: The ultimate guide to Kubernetes Services, LoadBalancers, and Ingress \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
              • sanjimoh.medium.com: Demystifying Kubernetes Networking \u2014 Episode 1 In this series of articles you will learn about Kubernetes networking:
                • Linux namespaces and Networking namespace
                • Intra pod networking & pause container
                • Kubernetes networking model
              • dev.to: Tune up your Kubernetes Application Performance with a small DNS Configuration
              • medium.com/@mehmetodabashi: Kubernetes networking and service object: Understanding ClusterIp and nodePort with hands on study
              • medium.com/@jasonmfehr: Inspecting Kubernetes Client to API Server Network Traffic
              • medium.com/geekculture: K8s Network \u2014 CNI Introduction Introduction to K8s container network interface
              • medium.com/patilswapnilv: Getting Started with Kubernetes Networking \ud83c\udf1f In this article, you will examine Kubernetes networking with the help of 10 detailed diagrams
              • faun.pub: Kubernetes Ingress with Nginx How to install and secure Nginx Ingress
              • medium.com/codex: Access Application Externally In Kubernetes Cluster using Load Balancer Service Learn how to create a Pod and how to create a Load Balancer service using Kubernetes cluster. And access the application from outside.
              • itnext.io: Inspecting and Understanding k8s Service Network \ud83c\udf1f
              • ovidiuborlean.medium.com: Networking latency measurement in Kubernetes with Sockperf plugin
              • itnext.io: Kubernetes networking deep dive: Did you make the right choice? Kubernetes networking design can be intimidating, especially when you are the one to make decisions for cluster-level network choices. In this session, we will discuss how these choices will affect cluster routing and load balancing, focusing on KubeProxy modes(iptables vs IPVS) and network solutions.
              • medium.com/@muhidabid.cs: Why does Kubernetes need Ingress? - muhidabid.hashnode.dev: Why does Kubernetes need Ingress?
              • blog.devgenius.io: K8s \u2014 ipvs Mode Introduction
              • edureka.co: Kubernetes Networking \u2013 A Comprehensive Guide To The Networking Concepts In Kubernetes
              • whyk8s.substack.com: Why not DNS? Why is KubeProxy necessary? Couldn\u2019t simple DNS records do the job? You do a DNS lookup on my-service in Kubernetes. You do NOT get back IPs for pods that provide that Service. Have you ever wondered why?
              • medium.com/geekculture: Kubernetes Gateway API: The Intro You Need To Read In this article, you\u2019ll learn how to deploy k3s to a Raspberry Pi cluster with ClusterHat and ClusterCTRL
              • ksingh7.medium.com: Kubernetes Endpoint Object: Your Bridge to External Services \ud83c\udf1f\ud83c\udf1f Chances are that you might want to access services external to the cluster, such as a database. In this article, you will learn how to create an endpoint manually to make an external database available to the Pods in the cluster.
              • medium.com/@ahmet16ck: What Is Load Balancer and How Does It Work In Kubernetes ? \ud83c\udf1f
              • api7.ai: How Does APISIX Ingress Support Thousands of Pod Replicas? In this article, you\u2019ll explore the challenges of deploying large numbers of Pods in your Kubernetes cluster. You\u2019ll also compare Endpoints and EndpointSlice and discuss how to enable EndpointSlice when installing APISIX Ingress.
              • medium.com/illuminations-mirror: Basic | Networking and Communication Between Pods in Kubernetes
              • blog.devops.dev: Networking in Kubernetes In this blog post, we\u2019re going to delve into the world of Kubernetes networking and explore the many components that make it such a powerful and reliable platform for modern containerized applications. lets discover the essential networking components that make Kubernetes the go-to choice for cloud-native deployments!
              • medium.com/@mustafaaltunok: How Ingress, Service, Deployment and Pod Link to each other In Kubernetes domain, deployment of an app consists of mainly three components. From outer to inner.
              • inlets.dev: How to Get Ingress for Private Kubernetes Clusters By design, local Kubernetes clusters are inaccessible from the internet. So how can we fix that if we want to use Ingress? What are the options for getting a public IP or LoadBalancer for local Kubernetes clusters? I cover use-cases and compare port-forwarding, Ngrok, Wireguard and inletsdev
              • blog.devops.dev: Demystifying Kubernetes:Understanding Ingress, Configuration, and Best Practices A comprehensive overview of Kubernetes, the basics of ingress and how to configure it to expose services within K8s cluster.
              • dev.to/narasimha1997: Communication between Microservices in a Kubernetes cluster \ud83c\udf1f This article discusses the various ways in which microservices in Kubernetes can communicate with each other. It provides an example of two pods, one acting as an HTTP web server and the other as a curl client that makes a request to the web server.
              • medium.com/google-cloud: Kubernetes Ingress Vs Gateway API \ud83c\udf1f Understanding the Differences between Kubernetes Ingress and Gateway API for Effective Traffic Management
              • medium.com/nerd-for-tech: Kubernetes: Deploying NGINX with a ConfigMap | Chanel Jemmott
              • medium.com/@sangjinn: How to communicate with Kubernetes workloads \u2014 Part I. Service | Brandon Kang
                • medium.com/@sangjinn: How to communicate with Kubernetes workloads \u2014 Part II. Ingress | Brandon Kang
              • shahneil.medium.com: What Are Kubernetes Endpoints?
              • fr4nk.xyz: Understanding Ingress in Kubernetes: A Comprehensive Guide Kubernetes Ingress plays a crucial role in managing external access to services within a cluster.
              • thenewstack.io: Otterize: Intent-Based Access Control for Kubernetes and Cloud Otterize offers intent-based access control and secure connectivity management within clusters and across the cloud.
              • blog.palark.com: Comparing Ingress controllers for Kubernetes
              • community.ops.io: Kubernetes Ingress Controller. How does it work?= Learning how an ingress controller works by building one in bash.
              • medium.com/@rasikzilte711: Kubernetes Networking \u2014 A Guide to Services, Ingress, Network Policies, DNS, and CNI Plugins
              • sysdig.com: Kubernetes Services: ClusterIP, Nodeport and LoadBalancer Your Kubernetes Pods have internal IPs, but can since Pods are created and destroyed, can you rely on those? Discover services and their types: ClusterIP, NodePort and LoadBalancer
              • medium.com/codex: Capture tcpdump with ksniff and wireshark from Kubernetes In Kubernetes, there are many ways to deploy and run apps, such as pods, services, and more. Tcpdump can be used to capture network traffic between these components, helping to identify network issues and diagnose problems.
              • cloudtechtwitter.com: Reverse Proxy vs. Forward Proxy: The Differences
              • matthewpalmer.net: Kubernetes Networking Guide for Beginners
              • itnext.io: Deciphering the Kubernetes Networking Maze: Navigating Load-Balance, BGP, IPVS and Beyond
              • adil.medium.com: Network Traffic Shaping in Kubernetes: Topology Aware Routing
                • One challenge in cloud-distributed systems is keeping network traffic within the same availability zone
                • Kubernetes introduced Topology Aware Routing to address this issue
                • This ensures requests between apps remain in the same zone
              • otterize.com: Mastering Kubernetes networking: A journey in cloud-native packet management Master Kubernetes networking with a comprehensive packet walk, and learn how Otterize helps build adaptive Network Policies.
              "},{"location":"kubernetes-networking/#kubernetes-dns","title":"Kubernetes DNS","text":""},{"location":"kubernetes-networking/#kubernetes-services-and-load-balancing","title":"Kubernetes Services and Load Balancing","text":"
              • Application Gateway for Containers with AKS Overlay Networking and VNet Flow Logs \ud83c\udf1f - This post delves into the integration of Azure Application Gateway for Containers (AGC) with Azure Kubernetes Service (AKS) when using the overlay network option. It explores how AGC interacts with pods using non-routable IP addresses and examines the feasibility of using VNet Flow Logs to monitor traffic between AGC and AKS.
              • Introduction to Azure Application Gateway for Containers (AGC) - (Related to azure topic)
              • Kubernetes Services and Load Balancing Explained \ud83c\udf1f - An in-depth exploration of Kubernetes networking, focusing on Services, kube-proxy, and load balancing mechanisms. The article details how pods communicate within a cluster, the role of Services in directing traffic, and managing external access. It covers ClusterIP, NodePort, and LoadBalancer service types, their implementation via iptables, and advanced topics like preserving source IPs, handling terminating endpoints, and integrating with cloud load balancers. The content is illustrated with a practical example of deploying a two-tier application.

              • blog.cloudsigma.com: Kubernetes DNS Service: A Beginner\u2019s Guide Kubernetes DNS service allows you to contact services with consistent DNS names instead of IP addresses.

              "},{"location":"kubernetes-networking/#tcp-keep-alive-requests","title":"TCP Keep Alive Requests","text":"
              • kuderko.medium.com: Fixing bad CPU usage distribution in Kubernetes \ud83c\udf1f In this article, you will learn how TCP keep-alive requests could hurt horizontal scaling for your pods. You will also discuss the workarounds you can apply to your apps or web servers.
              "},{"location":"kubernetes-networking/#headless-kubernetes-service","title":"Headless Kubernetes Service","text":"
              • medium.com: Headless Kubernetes Service A headless service in Kubernetes can be a useful tool for creating distributed applications. It allows you to directly access the individual pods in a service. This is useful in scenarios where you need to perform complex load-balancing. A headless service does not have a cluster IP assigned to it. Instead of providing a single virtual IP address for the service, a headless service creates a DNS record for each pod associated with the service. These DNS records can then be used to directly address each pod. Here\u2019s a high-level overview of how a headless service works:
                • A headless service is created in Kubernetes
                • Pods are associated with the service through labels
                • DNS records are created for each pod associated with the service
                • Clients can use the DNS records to directly access each pod
              • goglides.dev: Headless services in Kubernetes Vs Regular Service: What, Why, and How?
              "},{"location":"kubernetes-networking/#networkpolicy","title":"NetworkPolicy","text":"
              • opensource.com: What you need to know about Kubernetes NetworkPolicy Understanding Kubernetes NetworkPolicy is one of the fundamental requirements to learn before deploying an application to Kubernetes.
              • itnext.io: CKAD Scenarios about Ingress and NetworkPolicy In-Browser CKAD Scenarios about Ingress and NetworkPolicies.
                • editor.cilium.io \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f For learning, you can use the amazing NetworkPolicy Editor at cilium.
              • whyk8s.substack.com: Why NetworkPolicies? Is Kubernetes networking insecure by default? Why was it built that way?
              • yuminlee2.medium.com: Kubernetes Network Policies
              • bagas-awibowo.medium.com: Helm \u2014 Templating Network Policy using Helm
              "},{"location":"kubernetes-networking/#nginx-ingress-controller","title":"Nginx Ingress Controller","text":"
              • InGate: Ingress & Gateway API Controller (Archived) - InGate was an Ingress and Gateway API controller for Kubernetes, developed by the kubernetes-sigs organization. It aimed to provide advanced traffic management capabilities for Kubernetes clusters. The project has been archived and is recommended for migration to the Gateway API.
              • Transitioning from ingress-nginx to Traefik in Kubernetes \ud83c\udf1f - This article discusses the challenges and strategies for migrating Kubernetes ingress traffic from ingress-nginx to Traefik, especially in light of ingress-nginx entering maintenance mode. It highlights Traefik\u2019s modern approach and features as a viable alternative for managing cloud-native API gateways.

              • blog.teamhephy.info: Learn how to use the Nginx Ingress controller to serve traffic over SSH with TCP load balancing

              • nginx.com: A Guide to Choosing an Ingress Controller, Part 4: NGINX Ingress Controller Options
              • NGINX Ingress Controller - v1.0.0 NGINX Ingress Controller v1.0.0 released today! The biggest change is the support to stable/v1 ingress object, and dropping support to v1beta1.
              • amy-ma.medium.com: Nginx Ingress Configuration Configure NGINX basic routing with TLS on HPCC. This tutorial provides steps on how to set up basic routing for ECLWatch with the NGINX Ingress controller and configure certificates using Cert-Manager.
              • devopscube.com: How to Setup Nginx Ingress Controller On Kubernetes \u2013 Detailed Guide \ud83c\udf1f
              • medium.com/@jonathan_37674: How to secure Kubernetes ingress? | By ARMO
              • nginx.com: Automating Multi-Cluster DNS with NGINX Ingress Controller
              • engineering.backmarket.com: How we improved third-party availability and latency with Nginx in Kubernetes \ud83c\udf1f Introducing a gateway to cache your third-party API can significantly improve its performance and stability. In this case study, you will discover how the team at Back Market configured NGINX in Kubernetes to improve third-party API availability and latency.
              • towardsdev.com: Kubernetes: Deploying Nginx Servers with ConfigMaps & Shared Services with Minikube
              • faun.pub: How to Monitor and Alert on Ingress-NGINX in Kubernetes
              • sumanprasad.hashnode.dev: A Beginner\u2019s Guide to Ingress and Ingress Controllers in Kubernetes
              • akyriako.medium.com: Configure path-based routing with Nginx Ingress Controller
              • mattias.engineer: Kubernetes-101: Ingress \ud83c\udf1f The article provides an in-depth guide on the Ingress resource. It explains that Ingress offers more functionalities than a Service, enabling multiple routing rules for different Services. It also touches upon HTTPS traffic with TLS certificates.
              "},{"location":"kubernetes-networking/#contour-ingress-controller","title":"Contour Ingress Controller","text":"
              • trstringer.com: Kubernetes Ingress with Contour
              "},{"location":"kubernetes-networking/#kubernetes-gateway-api","title":"Kubernetes Gateway API","text":"
              • Kubernetes Gateway API \ud83c\udf1f - The Kubernetes Gateway API is a collection of APIs that model service networking in Kubernetes. It aims to provide a more expressive, role-oriented, and extensible successor to the Kubernetes Ingress API, enabling advanced traffic management, routing, and load balancing capabilities.

              • gateway-api.sigs.k8s.io \ud83c\udf1f Gateway API is an open source project managed by the SIG-NETWORK community. It\u2019s is a collection of resources that model service networking in Kubernetes. These resources - GatewayClass,Gateway, HTTPRoute, TCPRoute, Service, etc - aim to evolve Kubernetes service networking through expressive, extensible, and role-oriented interfaces that are implemented by many vendors and have broad industry support.

              • kubernetes.io: Evolving Kubernetes networking with the Gateway API
              • thenewstack.io: Unifying Kubernetes Service Networking (Again) with the Gateway API \ud83c\udf1f The Gateway API, formerly known as the Services API and before that Ingress V2, was first discussed in detail \u2014 and in-person \u2014 at Kubecon 2019 in San Diego. There were already many well-known and well-documented limitations of Ingress and Kubernetes networking APIs. The Gateway API was intended as a redo of these APIs, built on the lessons from Services, Ingress and the service mesh community.
              • blog.flomesh.io: Kubernetes Gateway API \u2014 Evolution of Service Networking
              • armosec.io: The New Kubernetes Gateway API and Its Use Cases
              • medium.com/google-cloud: Security with Kubernetes Gateway API \ud83c\udf1f
              • navendu.me: Comparing Kubernetes Gateway and Ingress APIs In this article, you will explore the new Kubernetes Gateway API and compare it with the existing Kubernetes Ingress API for handling external traffic
              "},{"location":"kubernetes-networking/#kube-proxy","title":"Kube-proxy","text":"
              • NFTables mode for kube-proxy in Kubernetes \ud83c\udf1f - This article introduces the new nftables mode for kube-proxy, an alpha feature in Kubernetes 1.29 that is currently in beta and expected to reach General Availability (GA) in version 1.33. The new mode addresses long-standing performance issues associated with the iptables mode, particularly for large Kubernetes clusters with numerous Services. It leverages the capabilities of nftables to improve data plane latency by providing a more scalable and efficient way to handle Service proxying compared to the traditional iptables approach. The article encourages users with recent kernels to try out this new mode.

              • dustinspecker.com: iptables: How Kubernetes Services Direct Traffic to Pods In this article you will learn how Kubernetes\u2019s kube-proxy uses iptables to direct traffic to pods randomly. You\u2019ll focus on the ClusterIP type of Kubernetes services.

              • arthurchiao.art: Cracking kubernetes node proxy (aka kube-proxy) This post analyzes the Kubernetes node proxy model, and provides 5 demo implementations (within couples of lines of code) of the model, each based on different tech-stacks (userspace/iptables/ipvs/tc-ebpf/sock-ebpf).
              "},{"location":"kubernetes-networking/#multicloud-communication-for-kubernetes","title":"Multicloud communication for Kubernetes","text":"
              • Introducing Subnet Peering in Azure - (Related to azure topic)
              • Private Link Reality Bites: Service Endpoints vs Private Link - This blog post explores the differences and commonalities between Azure VNet Service Endpoints and Azure Private Link, addressing common confusion among organizations, especially those who adopted service endpoints before Private Link\u2019s release. It provides context by tracing the evolution from public IP access to the introduction of service endpoints and then Private Link for Azure services.

              • developers.redhat.com: Use Skupper to connect multiple Kubernetes clusters \ud83c\udf1f - skupper.io Multicloud communication for Kubernetes. Skupper is a layer 7 service interconnect. It enables secure communication across Kubernetes clusters with no VPNs or special firewall rules. With Skupper, your application can span multiple cloud providers, data centers, and regions.

              "},{"location":"kubernetes-networking/#multi-cluster-kubernetes-networking","title":"Multi-Cluster Kubernetes Networking","text":"
              • itnext.io: Multi-Cluster Kubernetes Networking with Netmaker
                • NetMaker Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
              "},{"location":"kubernetes-networking/#kubernetes-network-policy","title":"Kubernetes Network Policy","text":"
              • howtoforge.com: Network Policy in Kubernetes \ud83c\udf1f By default, pods accept traffic from any source. A network policy helps to specify how a group of pods can communicate with each other and other network endpoints.
              • medium: How to Provision Network Policies in Kubernetes | AWS \ud83c\udf1f
              • learncloudnative.com: Kubernetes Network Policy
              • bionconsulting.com: Kubernetes Network Policies
                • bionconsulting.com: Kubernetes Network Policies - Part 2
              • thenewstack.io: The Kubernetes Network Security Effect \ud83c\udf1f Kubernetes has a built-in object for managing network security: NetworkPolicy. While it allows the user to define the relationship between pods with ingress and egress policies, it is basic and requires very precise IP mapping of a solution \u2014 which changes constantly, so most users I\u2019ve talked to are not using it.
              • faun.pub: Control traffic flow to and from Kubernetes pods with Network Policies
              • openshift.com: Network Policies: Controlling Cross-Project Communication on OpenShift
              • loft-sh.medium.com: Kubernetes Network Policies: A Practitioner\u2019s Guide \ud83c\udf1f
              • loft.sh: Kubernetes Network Policies: A Practitioner\u2019s Guide \ud83c\udf1f
              • medium: Kubernetes Network Policies: Are They Really Useful? \ud83c\udf1f
              • loft.sh: Kubernetes Network Policies for Isolating Namespaces \ud83c\udf1f
              • arthurchiao.art: Cracking Kubernetes Network Policy This post digs into the Kubernetes NetworkPolicy model, then designs a policy enforcer based on the technical requirements and further implements it with less than 100 lines of eBPF code. Hope that after reading through this post, readers will get a deeper understanding on how network policies are enforced in the underlying.
              • engineering.mercari.com: Managing Network Policies for namespaces isolation on a multi-tenant Kubernetes cluster This post outlines how to implement an abstraction over network policies in a multi-tenant Kubernetes cluster instead of directly exposing raw YAML-based manifests for better usability and verifiability
              • blog.devgenius.io: Simplify Kubernetes Network Policy Generation
              • blog.slycreator.com: Network Policies: Understanding Kubernetes Network Policies This article explores the fundamental concepts, syntax, semantics, and implementation considerations associated with Network Policies. It also delves into best practices and real-world examples to illustrate their practical application and benefits.
              "},{"location":"kubernetes-networking/#cilium","title":"Cilium","text":"
              • cilium.io \ud83c\udf1f eBPF-based Networking, Observability, and Security
              • cilium.io: NetworkPolicy Editor: Create, Visualize, and Share Kubernetes NetworkPolicies \ud83c\udf1f
              • editor.cilium.io \ud83c\udf1f Learn how to create Network Policies for Kubernetes using an interactive playground
              • buoyant.io: Kubernetes network policies with Cilium and Linkerd
              • itnext.io: Installing Cilium on Kubernetes in a fast and efficient way
              • cilium.io: CNI Benchmark: Understanding Cilium Network Performance
              • cockroachlabs.com: How to use Cluster Mesh for Multi-Region Kubernetes Pod Communication
                • Thanks to services provided by AWS, GCP, and Azure it\u2019s become relatively easy to develop applications that span multiple regions. This is great because slow apps kill businesses. There is one common problem with these applications: they are not supported by multi-region database architecture.
                • CockroachDB is built to solve that problem and we\u2019re doing it in production for many applications today. But that\u2019s not what this blog is about. In this blog, I will provide a solution for the problem of getting Kubernetes pods to talk to each other in multi-region deployments.
              • cilium.io: Cilium 1.10: WireGuard, BGP Support, Egress IP Gateway, New Cilium CLI, XDP Load Balancer, Alibaba Cloud Integration and more Traditional workloads have a fixed and unique IP that can be recognized by a firewall. Traffic coming from a containerized application will come from many different IPs. How can you fix that? Cilium allows users to specify an egress NAT policy
              • medium.com/@charled.breteche: Kubernetes Security \u2014 Control pod to pod communications with Cilium network policies In this article, you\u2019ll explore Cilium network policies and how you can use them to control pod to pod communications on a 3 nodes and 3 masters cluster. You will also use Hubble to visualise the effect of the network policies in your cluster.
              • solo.io: Exploring Cilium Layer 7 Capabilities Compared to Istio
              • betterprogramming.pub: K8s: Network Policy Made Simple With Cilium Editor \ud83c\udf1f An intuitive graphical tool to define complex network policies

              "},{"location":"kubernetes-networking/#kubernetes-network-policy-samples","title":"Kubernetes Network Policy Samples","text":"
              • ahmetb/kubernetes-network-policy-recipes \ud83c\udf1f 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
              "},{"location":"kubernetes-networking/#kubernetes-ingress-specification","title":"Kubernetes Ingress Specification","text":"
              • Azure Front Door Integration with AKS Ingress for TLS and App Routing \ud83c\udf1f - 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

              • medium: Ingress service types in Kubernetes \ud83c\udf1f
              • itnext.io: Autoscaling Ingress Controllers in Kubernetes (Daniele Polencic)
              "},{"location":"kubernetes-networking/#xposer-kubernetes-controller-to-manage-ingresses","title":"Xposer Kubernetes Controller To Manage Ingresses","text":"
              • Xposer \ud83c\udf1f A Kubernetes controller to manage (create/update/delete) Kubernetes Ingresses based on the Service
                • Problem: We would like to watch for services running in our cluster; and create Ingresses and generate TLS certificates automatically (optional)
                • Solution: Xposer can watch for all the services running in our cluster; Creates, Updates, Deletes Ingresses and uses certmanager to generate TLS certificates automatically based on some annotations.
              "},{"location":"kubernetes-networking/#software-defined-ip-address-management-ipam","title":"Software-Defined IP Address Management (IPAM)","text":"
              • IP Address Management (IPAM)
              • fusionlayer.com: Software-Defined IP Address Management (IPAM)
                • Cloud computing and service automation are changing the way in which applications and data are being delivered and consumed. The existing 30-year-old networking model is failing to keep up with the automated service architectures and the Internet of Things (IoT) based on end-to-end automation.
                • To facilitate the migration to cloud-era computing, service providers and data centers must add networking into the automated service workflows. This requires agility and elasticity that traditional networking products are not designed to provide. As IT environments of tomorrow involve a plethora of orchestrators and controllers spinning up services and applications inside shared networks, they all must be managed and provisioned by a unified solution authoritative for all network-related information.
              "},{"location":"kubernetes-networking/#cni-container-networking-interface","title":"CNI Container Networking Interface","text":"
              • Kubernetes.io: Network Plugins
              • rancher.com: Container Network Interface (CNI) Providers
              • github.com/containernetworking \ud83c\udf1f
                • CNI
              • dzone: How to Understand and Set Up Kubernetes Networking \ud83c\udf1f Take a look at this tutorial that goes through and explains the inner workings of Kubernetes networking, including working with multiple networks.
              • medium: Container Networking Interface aka CNI
              • itnext.io: Benchmark results of Kubernetes network plugins (CNI) over 10Gbit/s network (Updated: August 2020)
              "},{"location":"kubernetes-networking/#list-of-existing-cni-plugins-ipam","title":"List of existing CNI Plugins (IPAM)","text":"
              • Kubernetes Networking
              • Overlay Network plugins:
                • Flannel
                • Weave-net
              • Routed Network Plugins:
                • AWS-VPC
                • kube-router
                • Calico
                • VMware-tanzu Antrea
              • IPAM modules:
                • dhcp
                • host-local
              • Multi CNI plugins:
                • Damn
                • Multus
                • CNI-Genie
              "},{"location":"kubernetes-networking/#project-calico","title":"Project Calico","text":"
              • tigera.io
              • Project Calico \ud83c\udf1f Secure networking for the cloud native era
              • medium: Calico for Kubernetes networking: the basics & examples
              • thenewstack.io: Tigera\u2019s Calico Aims to Ease Connectivity Pain with Kubernetes
              • projectcalico.org: Advertising Kubernetes Service IPs with Calico and BGP
              • mhmxs.blogspot.com: Autoscaling Calico Route Reflector topology in Kubernetes
              • tigera.io: Enforcing Network Security Policies with GitOps \u2013 Part 1 (Calico + ArgoCD) Network policy is a key element of Kubernetes security. Network policy is expressed as a YAML configuration and works very well with GitOps. By adopting GitOps, security teams benefit in the following ways:
                • Take your policies with you. Kubernetes cluster creation from code is fairly common. It is much easier and less error-prone to push your Git-based policies to a new cluster.
                • You can monitor policy changes using information from pull requests. This will also be easy to integrate with your existing systems, instead of writing integrations from scratch. If something goes wrong, you can simply roll back to an earlier commit.
                • You can lock down who can deploy security policies. If you lock it down to only a single Git user, that will be easy to control. Everybody else can push their policy changes into Git via pull request.
                • Your GitOps tool can ensure that it will override any accidental or malicious change at runtime. This solves a major compliance concern. Git becomes the source of truth for your security policies.
                • It would be much easier to manage if no user could create a security policy from kubectl. Then you can enable de-centralized security by creating specific users for different services, and giving them rights to deploy only specific policies. Developers and DevOps teams are very comfortable with the notion of a Git pipeline.
              • blog.devgenius.io: K8s Networking \u2014 Calico (Part1) Introduction to Calico.
              • medium.com/@arbnair97: Introduction to Kubernetes Network Policy and Calico Based Network Policy Kubernetes Network Policies are designed to control the network\u2019s traffic flow in and out of the cluster. This article will teach you how to use Network Policies with the Calico CNI.
              "},{"location":"kubernetes-networking/#dns-service-with-coredns","title":"DNS Service with CoreDNS","text":"
              • medium: How to Autoscale the DNS Service in a Kubernetes Cluster
              • thenewstack.io: Supercharge CoreDNS with Cluster Addons \ud83c\udf1f
              • sysdig.com: How to monitor coreDNS \ud83c\udf1f The most common problems and outages in a Kubernetes cluster come from coreDNS, so learning how to monitor coreDNS is crucial.
              • ungleich.ch: Making kubernetes kube-dns/CoreDNS publicly reachable
              • iamitcohen.medium.com: DNS in Kubernetes, how does it work?
              • nslookup.io: The life of a DNS query in Kubernetes In Kubernetes, DNS queries follow a specific path to resolve the IP address of a hostname. In this blog post, you will learn the life of a DNS query in Kubernetes step-by-step.
              • levelup.gitconnected.com: Kubernetes with CoreDNS
              "},{"location":"kubernetes-networking/#kubernetes-node-local-dns-cache","title":"Kubernetes Node Local DNS Cache","text":"
              • NodeLocal DNSCache
              • Kubernetes Node Local DNS Cache
              "},{"location":"kubernetes-networking/#k8gb","title":"k8gb","text":"
              • k8gb.io A cloud native Kubernetes Global Balancer
              • blog.abaganon.com: Why you probably won\u2019t use K8gb.io This article covers the 2 kinds of Global Server Load Balancers and goes into some hands-on specifics of K8gb \u2014 the first open-source DNS-based Global Server Load balancer for Kubernetes.
              "},{"location":"kubernetes-networking/#vpc-lattice","title":"VPC Lattice","text":"
              • dev.to/aws-builders: Amazon VPC Lattice \u2014 Build Applications, Not Networks An exciting new service that simplifies the networking layer for developers and cloud administrators.
              "},{"location":"kubernetes-networking/#images","title":"Images","text":"Click to expand!"},{"location":"kubernetes-networking/#videos","title":"Videos","text":"Click to expand!"},{"location":"kubernetes-networking/#tweets","title":"Tweets","text":"Click to expand!

              Kubernetes is an example of what happens when you have an indefinitely complex network stack and no troubleshooting tools in place.

              \u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) November 10, 2021

              Let's see how many folks here haven't seen this thread on Kubernetes Networking.Once again, the thread doesn't try to explain the subject matter in great detail but offers a particular learning order instead.As usual, based on my personal experience \ud83d\udd3d pic.twitter.com/pxCWJUxj5j

              \u2014 Ivan Velichko (@iximiuz) November 28, 2021

              \ud83e\uddf5 How does Pod to Pod communication work in Kubernetes?How does the traffic reach the right Pod?Let's see \ud83d\udc47 pic.twitter.com/gF2eVWYL4Q

              \u2014 Daniele Polencic (@danielepolencic) January 31, 2022

              When your apps receive a ton of traffic, how do you scale your Ingress Controller in Kubernetes?Here is what I do \ud83d\udc47 pic.twitter.com/T6aYurE7Lj

              \u2014 Daniele Polencic (@danielepolencic) March 2, 2022

              Should you use a single Kubernetes Ingress controller or multiple?On Monday 8PT/5CET Andrea will make a convincing case on why multiple controllers are good for\u2705 security\u2705 segregating team & resources\u2705 isolationRegister here (it's free) https://t.co/62oKodt7tQ pic.twitter.com/DWNy0iTYq6

              \u2014 Learnk8s (@learnk8s) March 13, 2022

              Networking in Kubernetes is arguably the most important piece.Why?Because there\u2019s not much you can do in a Kubernetes cluster without proper networking.A thread \ud83e\uddf5

              \u2014 Michael Levan \ud83d\udc68\ud83c\udffb\u200d\ud83d\udcbb\u2615\ufe0f (@TheNJDevOpsGuy) December 27, 2022

              How do you deal with peaks of traffic in Kubernetes?You can use an autoscaler, but how should you configure and test it?Let's dive into it. pic.twitter.com/AxfEgqyEFW

              \u2014 Daniele Polencic \u2014 @danielepolencic@hachyderm.io (@danielepolencic) April 17, 2023
              • Control Plane Load Balancing Explained - (Related to kubernetes topic)
              "},{"location":"kubernetes-newsletters/","title":"Kubernetes Newsletters","text":"
              • KubeWeekly
              • Last Week in Kubernetes Development
              • Learn Kubernetes weekly
              • Upcoming Kubernetes Events
              • Kubelist
              • Learn Cloud Native
              "},{"location":"kubernetes-on-premise/","title":"On-Premise Production Kubernetes Cluster Installers","text":"
              1. Introduction
              2. Comparative Analysis of Kubernetes Deployment Tools
              3. Deploying Kubernetes Cluster with Kops
              4. Deploying Kubernetes Cluster with Kubeadm
              5. Deploying Kubernetes Cluster with Ansible
              6. kube-aws Kubernetes on AWS
              7. Kubespray
              8. Conjure up
              9. WKSctl
              10. Terraform (kubernetes the hard way)
              11. Caravan
              12. ClusterAPI
              13. Microk8s
              14. k8s-tew
              15. Project Neco
              16. Zarf. DevSecOps for Air Gap Systems
              17. Kubernetes Operating Systems
              18. Kubernetes Distributions
                1. Red Hat OpenShift
                2. Rancher
                3. Weave Kubernetes Platform
                4. Ubuntu Charmed Kubernetes
                5. VMware Kubernetes Tanzu and Project Pacific
                  1. KubeAcademy Pro (free training)
                6. Kontena Pharos
                7. Mirantis Docker Enterprise with Kubernetes and Docker Swarm
                8. Mirantis k0s
                9. K0s
                10. K8e
                11. Typhoon
                12. kurl
              "},{"location":"kubernetes-on-premise/#introduction","title":"Introduction","text":"
              • containerjournal.com: Deploying Kubernetes on Bare Metal
              • thenewstack.io: Kubernetes on Bare Metal vs. VMs: It\u2019s Not Just Performance
              • containerjournal.com: When Kubernetes-as-a-Service Doesn\u2019t Cut It
              "},{"location":"kubernetes-on-premise/#comparative-analysis-of-kubernetes-deployment-tools","title":"Comparative Analysis of Kubernetes Deployment Tools","text":"
              • A Comparative Analysis of Kubernetes Deployment Tools: Kubespray, kops, and conjure-up
              • wecloudpro.com: Deploy HA kubernetes cluster in AWS in less than 5 minutes
              "},{"location":"kubernetes-on-premise/#deploying-kubernetes-cluster-with-kops","title":"Deploying Kubernetes Cluster with Kops","text":"
              • GitHub: Kubernetes Cluster with Kops
              • Minikube and docker client are great for local setups, but not for real clusters. Kops and kubeadm are tools to spin up a production cluster. You don\u2019t need both tools, just one of them.
              • On AWS, the best tool is kops. Since AWS EKS (hosted kubernetes) is currently available, this is the preferred option (you don\u2019t need to maintain the masters).
              • For other installs, or if you can\u2019t get kops to work, you can use kubeadm.
              • Setup kops in your windows with virtualbox.org and vagrantup.com . Once downloaded, to type a new linux VM, just spin up ubuntu via vagrant in cmd/powershell and run kops installer:
              • blog.ivnilv.com: Rotating Kops Etcd Certificates
              • blog.kubecost.com: Kubernetes kOps: Step-By-Step Example & Alternatives
              C:\\ubuntu> vagrant init ubuntu/xenial64\nC:\\ubuntu> vagrant up\nC:\\ubuntu> vagrant ssh-config\nC:\\ubuntu> vagrant ssh\n
              $ curl -LO https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '\"' -f 4)/kops-linux-amd64\n$ chmod +x kops-linux-amd64\n$ sudo mv kops-linux-amd64 /usr/local/bin/kops\n
              • imsundeep8.medium.com: Deploy Production-grade Kubernetes Cluster using kOps on Amazon Cloud (AWS)
              "},{"location":"kubernetes-on-premise/#deploying-kubernetes-cluster-with-kubeadm","title":"Deploying Kubernetes Cluster with Kubeadm","text":"
              • Kubernetes Cluster with Kubeadm It works on any deb / rpm compatible Linux OS, for example Ubuntu, Debian, RedHat or CentOS. This is the main advantage of kubeadm. The tool itself is still in beta (Q1 2018), but is expected to become stable somewhere this year. It\u2019s very easy to use and lets you spin kubernetes cluster in just a couple of minutes.
              • medium.com: Demystifying High Availability in Kubernetes Using Kubeadm
              • Setting Up a Kubernetes Cluster on Ubuntu 18.04
              • itnext.io: Up and running out of the cloud \u2014 How to setup the Masters using kubeadm bootstrap In this article, you\u2019ll see how to make use of kubeadm bootstrap to set up and join 3 master instances as members of our cluster.
              • Set up a Bare Metal Kubernetes cluster with
              • blog.tobias-huebner.org: Low-budget self-hosted Kubernetes \ud83c\udf1f
              • mirantis.com: How to install Kubernetes with Kubeadm: A quick and dirty guide
              • kosyfrances.com: Using kubeadm to create a Kubernetes 1.20 cluster on VirtualBox with Ubuntu
              • blog.radwell.codes: Provisioning Single-node Kubernetes Cluster using kubeadm on Ubuntu 20.04
              • medium.com/@ZiXianZeroX: Setting Up an On-premise Kubernetes Cluster from Scratch
              • thenewstack.io: How to Deploy Kubernetes with Kubeadm and containerd
              • faun.pub: Configuring HA Kubernetes cluster on bare metal servers with kubeadm. \u2153 In this article, you\u2019ll create a HA Kubernetes cluster with multi masters topology, with an external Etcd cluster as a base layer and a MetalLB load balancer. On all worker nodes, you\u2019ll deploy a GlusterFS for storage.
              • blog.learncodeonline.in: Kubernetes Cluster Deployment on CentOS Linux
              • github.com/kubernetes/kubeadm: High Availability Considerations
              • medium.com/@brunosquassoni: Creating a Kubernetes Cluster [STEP BY STEP]
              • medium.com/@benjaminacar.private: A Comprehensive Guide to Setup a New K8s Cluster
              "},{"location":"kubernetes-on-premise/#deploying-kubernetes-cluster-with-ansible","title":"Deploying Kubernetes Cluster with Ansible","text":"
              • Ansible Role - Kubernetes (Jeff Geerling)
              • krd offers a reference for deploying a Kubernetes cluster. Its ansible playbooks allow to provision a deployment on Bare-metal or Virtual Machines
              • Kubeinit \ud83c\udf1f KubeInit provides Ansible playbooks and roles for the deployment and configuration of multiple Kubernetes distributions. KubeInit\u2019s mission is to have a fully automated way to deploy in a single command a curated list of prescribed architectures.
                • youtube: OpenShift Commons En Vivo - KubeInit con Maria Bracho, Scott McCarty, and Carlos Camacho (Red Hat, Spanish) \ud83c\udf1f
              • itwonderlab.com: Kubernetes Cluster using Vagrant and Ansible with Containerd (in 3 minutes) \ud83c\udf1f
              "},{"location":"kubernetes-on-premise/#kube-aws-kubernetes-on-aws","title":"kube-aws Kubernetes on AWS","text":""},{"location":"kubernetes-on-premise/#kubespray","title":"Kubespray","text":"
              • Kubespray
              • redhat.com: An introduction to Kubespray By combining Ansible and Kubernetes, Kubespray can deploy Kubernetes clusters on multiple machines.
              • adamtheautomator.com/kubespray: Conquer Kubernetes Clusters with Ansible Kubespray
                • Manually deploying Kubernetes can be challenging for administrators, especially on bare-metal infrastructure deployment. Luckily, there is an automation tool for deploying production-ready Kubernetes called Kubespray.
                • Kubespray is an Ansible Playbook for deploying Kubernetes Cluster and provides a High Availability cluster, composable attributes, components, and supports multiple Linux distributions. Kubespray also supports cloud services like AWS, GCE, and Azure.
              • github.com/bluxmit: Kubespray Workspace Containerized development, execution and admin environment for Kubernetes, Ansible and Terraform.
              "},{"location":"kubernetes-on-premise/#conjure-up","title":"Conjure up","text":"
              • Conjure up
              "},{"location":"kubernetes-on-premise/#wksctl","title":"WKSctl","text":"
              • Weave Kubernetes System Control - wksctl Open Source Weaveworks Kubernetes System
              • WKSctl - A New OSS Kubernetes Manager using GitOps
              • WKSctl: a Tool for Kubernetes Cluster Management Using GitOps
              "},{"location":"kubernetes-on-premise/#terraform-kubernetes-the-hard-way","title":"Terraform (kubernetes the hard way)","text":"
              • Kelsey Hightower: kubernetes the hard way
              • napo.io: Kubernetes The (real) Hard Way on AWS
              • napo.io: Terraform Kubernetes Multi-Cloud (ACK, AKS, DOK, EKS, GKE, OKE)
              • medium: Upgrading Kubernetes The Hard Way
              • medium: Kubernetes the hard way on Docker
              • Autoscalable Kubernetes cluster at Exoscale, using Packer and Terraform
              • Kubernetes the Hard Way: Azure Edition teaches you how to deploy Kubernetes from scratch on Azure based on the legendary Kubernetes the Hard Way.
              • Kubernetes The Hard Way: AWS Edition AWS version of Kelsey\u2019s kubernetes-the-hard-way
              • medium.com/@norlin.t: Kubernetes the hard (illumos) way
              • medium.com/@norlin.t: Kubernetes the hard (illumos) way, last part
              "},{"location":"kubernetes-on-premise/#caravan","title":"Caravan","text":"
              • linecorp.com: Building Large Kubernetes Clusters with Caravan
              "},{"location":"kubernetes-on-premise/#clusterapi","title":"ClusterAPI","text":"
              • ClusterAPI Cluster API is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters.
              • itnext.io: Multi-Cloud and Multi-Cluster Declarative Kubernetes Cluster Creation and Management with Cluster API (CAPI \u2014 v1alpha3)
              • medium: ClusterOps: 1-Line Commit to Upgrade Your Kubernetes Clusters \ud83c\udf1f
              • cncf.io webinar: Deploying Kubernetes to bare metal using cluster API
              • itnext.io: Multi-Cloud and Multi-Cluster Declarative Kubernetes Cluster Creation and Management with Cluster API (CAPI \u2014 v1alpha3)
              • github.com: Cluster API Helm Chart - youtube: Cluster API & FluxCD - the power of GitOps A Helm chart to install Cluster API manifests
              • weave.works: Manage Thousands of Clusters with GitOps and the Cluster API
              • thenewstack.io: Cluster API Offers a Way to Manage Multiple Kubernetes Deployments
              • thenewstack.io: Provision Bare-Metal Kubernetes with the Cluster API
              • cncf.io: Kubernetes Cluster API reaches production readiness with version 1.0
              • weaveworks/cluster-api-provider-existinginfra Manage existing infrastructure with Cluster API using this provider. A Cluster API v1alpha3 Infrastructure Provider for already-provisioned hosts running Linux. This controller is split out from and used by weaveworks/wksctl.
              • piotrminkowski.com: Create and Manage Kubernetes Clusters with Cluster API and ArgoCD
              "},{"location":"kubernetes-on-premise/#microk8s","title":"Microk8s","text":"
              • Microk8s
              • Kata Containers on MicroK8s This repository encompasses a fully scripted Github workflow to test the transparent use of the runtime for Kata Containers (Katas) on MicroK8s
              • MicroK8s & Kubernetes security benchmark from CIS
              • cloudsavvyit.com: How to run your own kubernetes cluster with Microk8s
              • thenewstack.io: Deploy Microk8s and the Kubernetes Dashboard for K8s Development
              • thenewstack.io: Deploy a Kubernetes Cluster on Ubuntu Server with Microk8s
              "},{"location":"kubernetes-on-premise/#k8s-tew","title":"k8s-tew","text":"
              • k8s-tew Kubernetes is a fairly complex project. For a newbie it is hard to understand and also to use. While Kelsey Hightower\u2019s Kubernetes The Hard Way, on which this project is based, helps a lot to understand Kubernetes, it is optimized for the use with Google Cloud Platform.
              "},{"location":"kubernetes-on-premise/#project-neco","title":"Project Neco","text":""},{"location":"kubernetes-on-premise/#zarf-devsecops-for-air-gap-systems","title":"Zarf. DevSecOps for Air Gap Systems","text":"
              • defenseunicorns/zarf DevSecOps for Air Gap & Limited-Connection Systems. Zarf massively simplifies the setup & administration of kubernetes clusters, cyber systems & workloads that support DevSecOps \u201cacross the air gap\u201d.
              "},{"location":"kubernetes-on-premise/#kubernetes-operating-systems","title":"Kubernetes Operating Systems","text":"
              • kubedex.com: Kubernetes Operating Systems \ud83c\udf1f
              "},{"location":"kubernetes-on-premise/#kubernetes-distributions","title":"Kubernetes Distributions","text":"
              • acloudguru.com: Which Kubernetes distribution is right for you?
              • infoworld.com: 6 Kubernetes distributions leading the container revolution
                • OpenShift
                • VMware Tanzu Grid
                • Rancher Kubernetes Engine
                • Mirantis Kubernetes Engine
                • Docker
                • Canonical Kubernetes
              • baeldung.com: Lightweight Kubernetes Distributions
                • MiniKube
                • MicroK8S
                • Kind
                • K3s
                • K3d
              "},{"location":"kubernetes-on-premise/#red-hat-openshift","title":"Red Hat OpenShift","text":"
              • Openshift Container Platform
              • OKD The Community Distribution of Kubernetes that powers Red Hat OpenShift
              • itprotoday.com: Who\u2019s Winning in the Container Software Market \ud83c\udf1f Thanks to its container customer training, the $1 billion container software market is Red Hat\u2019s to lose. Where do the other players stand?
              "},{"location":"kubernetes-on-premise/#rancher","title":"Rancher","text":"
              • Rancher: Enterprise management for Kubernetes
              "},{"location":"kubernetes-on-premise/#weave-kubernetes-platform","title":"Weave Kubernetes Platform","text":"
              • weave.works: Weave Kubernetes Platform Automate Enterprise Kubernetes the GitOps way
              • github: Weave Net - Weaving Containers into Applications
              "},{"location":"kubernetes-on-premise/#ubuntu-charmed-kubernetes","title":"Ubuntu Charmed Kubernetes","text":"
              • Charmed Kubernetes
              • Kubernetes GitOps with Azure Arc and Charmed Kubernetes
              "},{"location":"kubernetes-on-premise/#vmware-kubernetes-tanzu-and-project-pacific","title":"VMware Kubernetes Tanzu and Project Pacific","text":"
              • blogs.vmware.com: Introducing Project Pacific (vSphere with Kubernetes)
              • VMware vSphere 7 with Kubernetes - Project Pacific
              • VMware Kubernetes Tanzu
              • cormachogan.com: A first look at vSphere with Kubernetes in action
              • cormachogan.com: Building a TKG Cluster in vSphere with Kubernetes
              • blogs.vmware.com: VMware Tanzu Service Mesh, built on VMware NSX is Now Available!
              • tanzu.vmware.com: VMware Tanzu SQL: MySQL at Scale Made Easy for Kubernetes
              • VMware hands-on Labs \ud83c\udf1f
              • wecloudpro.com: VMware Tanzu Community Edition \ud83c\udf1f
              • vmware-tanzu/octant Highly extensible platform for developers to better understand the complexity of Kubernetes clusters. Octant is a tool for developers to understand how applications run on a Kubernetes cluster. It aims to be part of the developer\u2019s toolkit for gaining insight and approaching complexity found in Kubernetes. Octant offers a combination of introspective tooling, cluster navigation, and object management along with a plugin system to further extend its capabilities.
              • zdnet.com: VMware brings Tanzu Application Platform into GA to ease Kubernetes adoption The platform, introduced in 2019, is designed to help customers quickly build and deploy software on any public cloud or on-premises Kubernetes cluster.
              • dev.to/saintdle: Deploying Nvidia GPU enabled Tanzu Kubernetes Clusters
              "},{"location":"kubernetes-on-premise/#kubeacademy-pro-free-training","title":"KubeAcademy Pro (free training)","text":"
              • tanzu.vmware.com: Introducing KubeAcademy Pro: In-Depth Kubernetes Training, Totally Free
              • kube.academy/pro \ud83c\udf1f
              "},{"location":"kubernetes-on-premise/#kontena-pharos","title":"Kontena Pharos","text":"
              • Pharos \ud83c\udf1f Kubernetes Distribution
              • Stateful Kubernetes-In-a-Box with Kontena Pharos
              "},{"location":"kubernetes-on-premise/#mirantis-docker-enterprise-with-kubernetes-and-docker-swarm","title":"Mirantis Docker Enterprise with Kubernetes and Docker Swarm","text":"
              • Mirantis Docker Enterprise 3.1+ with Kubernetes
              • Docker Enterprise 3.1 announced. Features:
                • Istio is now built into Docker Enterprise 3.1!
                • Comes with Kubernetes 1.17. Kubernetes on Windows capability.
                • Enable Istio Ingress for a Kubernetes cluster with the click of a button
                • Intelligent defaults to get started quickly
                • Virtual services supported out of the box
                • Inbuilt support for GPU Orchestration
                • Launchpad CLI for Docker Enterprise deployment & upgrades
              "},{"location":"kubernetes-on-premise/#mirantis-k0s","title":"Mirantis k0s","text":"
              • k0s
              • infoq.com: Mirantis Announces k0s, a New Kubernetes Distribution
              • medium: K0s Supports Kubernetes 1.22
              "},{"location":"kubernetes-on-premise/#k0s","title":"K0s","text":"
              • K0s - Zero Friction Kubernetes k0s is an all-inclusive Kubernetes distribution with all the required bells and whistles preconfigured to make building a Kubernetes clusters a matter of just copying an executable to every host and running it.
              • medium: k0s Ready for Production
              • medium: k0s Optimizes Start Time, Adds Cluster Level Backup/Restore and More
              "},{"location":"kubernetes-on-premise/#k8e","title":"K8e","text":"
              • xiaods/k8e K8e \ud83d\ude80 (said \u2018kuber easy\u2019) - Simple Kubernetes Distribution. Builds on upstream project K3s as codebase, remove Edge/IoT features and extend enterprise features with best practices.
              "},{"location":"kubernetes-on-premise/#typhoon","title":"Typhoon","text":"
              • poseidon/typhoon **Typhoon is a minimal and free Kubernetes distribution with Terraform.*- typhoon.psdn.io
              "},{"location":"kubernetes-on-premise/#kurl","title":"kurl","text":"
              • kurl.sh kURL is a Kubernetes installer for air-gapped and online clusters. kURL relies on kubeadm but automates tasks such as installing the container runtime, configuring pod networking, etc., so any user can deploy a Kubernetes cluster with a single script.
              "},{"location":"kubernetes-operators-controllers/","title":"Kubernetes Operators and Controllers","text":"
              1. Introduction
              2. OpenTelemetry Operator
              3. Creating Kubernetes operator using Kubebuilder
              4. operatorhub.io
              5. Red Hat Container Community of Practice Operators
              6. Operator Capability Levels
              7. Cluster Addons
              8. K8Spin Operator. Kubernetes multi-tenant operator
              9. K8s KPIs with Kuberhealthy Operator
              10. Writing Kubernetes Operators and Controllers
              11. Tweets
              12. Videos
              "},{"location":"kubernetes-operators-controllers/#introduction","title":"Introduction","text":"
              • Red Hat Build of Kueue \ud83c\udf1f - This documentation introduces Red Hat Build of Kueue, a Kubernetes-native batch job orchestrator. It explains how Kueue manages and schedules batch workloads by providing features like fair-sharing, preemption, and resource aggregation, making it suitable for AI and high-performance computing (HPC) workloads.
              • How Kubernetes Operators Fit into Platform Building and When Traditional IaC Isn\u2019t Enough \ud83c\udf1f - This article explores the role of Kubernetes Operators in modern platform engineering, highlighting their advantages over traditional Infrastructure as Code (IaC) for managing complex applications and infrastructure within the Kubernetes control plane. It discusses how operators encapsulate expertise for tasks like backups, upgrades, and scaling, integrating seamlessly with tools like Argo and Flux for enhanced drift detection and reconciliation.

              • kruschecompany.com: What is a Kubernetes Operator and Where it Can be Used?

              • kruschecompany.com: Prometheus Operator \u2013 Installing Prometheus Monitoring Within The Kubernetes Environment
              • hashicorp.com: Creating Workspaces with the HashiCorp Terraform Operator for Kubernetes
              • banzaicloud.com: Kafka rolling upgrade made easy with Supertubes
              • devops.com: Day 2 for the Operator Ecosystem \ud83c\udf1f
                • KUDO: The Kubernetes Universal Declarative Operator \ud83c\udf1f KUDO is a toolkit that makes it easy to build Kubernetes Operators, in most cases just using YAML.
              • itnext.io: Operator Lifecycle Manager (OLM) \ud83c\udf1f
              • kube-fluentd-operator \ud83c\udf1f is a sane, no-brainer Kubernetes+Helm distribution of Fluentd with batteries included, config validation, no needs to restart, with sensible defaults and best practices built-in. You can use Kubernetes labels to filter/route logs!
              • Domain-harvester is an operator that collects domains from all Ingress resources in a Kubernetes cluster and provides its expiry information
              • Cass Operator The DataStax Kubernetes Operator for Apache Cassandra\u00ae
              • Kotal operator is cloud agnostic blockchain deployer that make it easy to deploy highly available, self-managing, self-healing blockchain infrastructure (networks, nodes, storage clusters \u2026) on any cloud.
              • Speculator: Redis Operator A Golang based redis operator that will make/oversee Redis standalone/cluster mode setup on top of the Kubernetes. It can create a redis cluster setup with best practices on Cloud as well as the Bare metal environment. Also, it provides an in-built monitoring capability using redis-exporter.
              • github.com/carlosedp/lbconfig-operator: External Load Balancer Operator \ud83c\udf1f a Kubernetes/openshift Operator to dynamically configure external load-balancers distributing the traffic to the cluster nodes. It\u2019s not 100% (will it ever be?) but already configures the F5 BigIP. The idea is to have multiple LB backends soon.
              • Sentry Operator A Kubernetes operator for automating the provisioning and management of Sentry resources via Kubernetes CRDs.
              • thenewstack.io: When to Use, and When to Avoid, the Operator Pattern \ud83c\udf1f
              • infoq.com: Kubernetes Operators in Depth
              • DB Operator \ud83c\udf1f is a Kubernetes Operator for the management of cloud databases, primarily Google Cloud SQL(GCSQL). It is designed to support the on demand creation of test environments in CI/CD pipelines.
              • cncf.io: Kubernetes Operators 101
              • container-solutions.com: Kubernetes Operators Explained
              • kubeload - load testing is a Kubernetes operator that lets you configure your load-test initial load, max load, interval and hatch-rate. You can use CRD to define all the parameters and repeat your load testing experiments.
              • contentful.com: Open-sourcing kube-secret-syncer: A Kubernetes operator to sync secrets from AWS Secrets Manager
                • contentful-labs/kube-secret-syncer \ud83c\udf1f
              • registry-creds is a Kubernetes operator that can be used to propagate a single ImagePullSecret to all namespaces within your cluster. The primary reason for creating this operator is to make it easier to consume images from Docker Hub.
              • gemini is a Kubernetes CRD and operator for managing VolumeSnapshots. This allows you to back up your PersistentVolumes on a regular schedule, retire old backups, and restore backups with minimal downtime.
              • Kdo: deployless development on Kubernetes \ud83c\udf1f Kdo is a command line tool that enables developers to run, develop and test code changes in a realistic deployed setting without having to deal with the complexity of Kubernetes deployment and configuration.
              • HostPort Operator is a Kubernetes Operator to allocate host ports
              • iximiuz.com: Exploring Kubernetes Operator Pattern \ud83c\udf1f
              • isaaguilar/terraform-operator: Terraform Operator A Kubernetes CRD and Controller to handle Terraform operations by generating k8s jobs catered to perform Terraform workflows
              • didil/autobucket-operator The autobucket operator is a Kubernetes operator that automatically creates and manages Cloud Buckets (Object Storage) for k8s Deployments.
              • openshift.com: Is your Operator Air-Gap Friendly?
              • kuberhealthy \ud83c\udf1f An operator for synthetic monitoring on Kubernetes. Write your own tests in your own container and Kuberhealthy will manage everything else. Automatically creates and sends metrics to Prometheus and InfluxDB. Included simple JSON status page. Supplements other solutions like Prometheus very nicely!
              • Bare Metal Operator The Bare Metal Operator implements a Kubernetes API for managing bare metal hosts. It maintains an inventory of available hosts as Custom Resource Definitions.
              • Meerkat Meerkat is a Kubernetes Operator that facilitates the deployment of OpenVPN in a Kubernetes cluster. By leveraging Hashicorp Vault, Meerkat securely manages the underlying PKI.
              • Logging Operator A golang based CRD operator to setup and manage logging stack (Elasticsearch, Fluentd, and Kibana) in the Kubernetes cluster. It helps to setup each component of the EFK stack separately.
              • gst-pipeline-operator: A Kubernetes operator for running audio/video processing pipelines
              • uptimerobot-operator A Kubernetes operator that creates UptimeRobot monitors for your ingresses
              • medium.com: Getting Started With Kubernetes Operators (Helm Based) - Part 1
                • medium.com: Getting Started With Kubernetes Operators (Ansible Based) \u2014 Part 2
                • velotio.com: Getting Started With Kubernetes Operators (Golang Based) - Part 3
              • IngressMonitorController (Deprecated) A Kubernetes controller to watch ingresses and create liveness alerts for your apps/microservices in UptimeRobot, StatusCake, Pingdom, etc.
              • FairwindsOps/rbac-manager: RBAC Manager \ud83c\udf1f A Kubernetes operator that simplifies the management of Role Bindings and Service Accounts. RBAC Manager is designed to simplify authorization in Kubernetes. This is an operator that supports declarative configuration for RBAC with new custom resources. Instead of managing role bindings or service accounts directly, you can specify a desired state and RBAC Manager will make the necessary changes to achieve that state.
              • KubePlus - Kubernetes Operator to deliver Helm charts as-a-service \ud83c\udf1f
              • kubernetes.io: Writing a Controller for Pod Labels
              • kubermatic.com: Why Implementing Kubernetes Operators Is a Good Idea! \ud83c\udf1f
              • thenewstack.io: We Pushed Helm to the Limit, then Built a Kubernetes Operator \ud83c\udf1f
              • cncf.io: CNCF Operator White Paper (PDF) \ud83c\udf1f This white paper defines Operators in a wider context than Kubernetes. It describes their characteristics and components, gives an overview of common patterns currently in use and explains how they differ from Kubernetes controllers.
              • itnext.io: Kubexpose: A Kubernetes Operator, for fun and profit! Access your Kubernetes Deployment over the Internet - abhirockzz/kubexpose-operator Access your Kubernetes Deployment over the Internet
              • itnext.io: Kubernetes Operators: Cruise Control for Managing Cloud-Native Apps
              • digitalis-io/vals-operator Kubernetes Operator to sync secrets between different secret backends and Kubernetes
              • banzaicloud/thanos-operator \ud83c\udf1f Thanos Operator is a Kubernetes operator to manage Thanos stack deployment on Kubernetes.
              • cloud-bulldozer/benchmark-operator: The Chuck Norris of cloud benchmarks The intent of this Operator is to deploy common workloads to establish a performance baseline of Kubernetes cluster on your provider.
              • pravega/pravega-operator Pravega Kubernetes Operator. Pravega is an open source distributed storage service implementing Streams. It offers Stream as the main primitive for the foundation of reliable storage systems: a high-performance, durable, elastic, and unlimited append-only byte stream with strict ordering and consistency. The Pravega Operator manages Pravega clusters deployed to Kubernetes and automates tasks related to operating a Pravega cluster.The operator itself is built with the Operator framework.
              • Quentin-M/etcd-cloud-operator Deploying and managing production-grade etcd clusters on cloud providers: failure recovery, disaster recovery, backups and resizing.
              • spring.io: Get to Know a Kubernetes Operator!
              • levelup.gitconnected.com: Operators : Extending Kubernetes Capabilities Operators are software extensions to Kubernetes that make use of custom resources to manage applications and their components. So what it means is that there are some applications whose deployment and management might require manual intervention and operators is the solution to automate it. Let\u2019s say you need to deploy a database cluster for which each pod needs to be brought in sync after deployment, or say you need to perform a security scan whenever a new component is deployed, or maybe some configuration needs to be populated based on some event. Such a functionalities are not available in Kubernetes out of the box but can be implemented using operators.
              • VictoriaMetrics/operator Kubernetes operator for Victoria Metrics
              • blog.px.dev/k8s-operator: 3 Reasons to Use Kubernetes Operators (and 2 Reasons Not To)
              • practicalkubernetes.blogspot.com: Making the case for Kubernetes Operators
              • reactive-tech/kubegres Kubegres is a Kubernetes operator allowing to deploy one or many clusters of PostgreSql instances and manage databases replication, failover and backup.
              • Capsule Operator is a Kubernetes multi-tenant Operator. It aggregates multiple namespaces in a Tenant. Within each tenant, users are free to create their namespaces and share all the assigned resources between the namespaces of the tenant.
              • redhat-cop/keepalived-operator: Keepalived operator An operator to manage VIPs backed by keepalived. The objective of the keepalived operator is to allow for a way to create self-hosted load balancers in an automated way. From a user experience point of view the behavior is the same as of when creating LoadBalancer services with a cloud provider able to manage them.
              • medium.com/@samng1991216: Building Kubernetes Operator Application from Scratch (Part 1)
              • redhat-cop/dynamic-rbac-operator: Dynamic RBAC Operator Flexible definitions of Kubernetes RBAC rules. Writing Kubernetes RBAC definitions by hand can be a pain. This operator allows you to define \u201cDynamic\u201d RBAC rules that change based on the state of your cluster, so you can spend your time writing the RBAC patterns that you\u2019d like to deploy, rather than traditional, fully enumerated RBAC rules.
              • spotify/flink-on-k8s-operator: Kubernetes Operator for Apache Flink Kubernetes operator for that acts as control plane to manage the complete deployment lifecycle of Apache Flink applications. This is an open source fork of GoogleCloudPlatform/flink-on-k8s-operator with several new features and bug fixes.
              • kube-green An operator to reduce CO2 footprint of your clusters.
                • Sleep your pods: Suspend your pods when no-one\u2019s using them, scale down your cluster and save energy
                • Reduce CO2 emissions: See how much you save in the Green Dashboard (coming soon)
              • krestomatio/keydb-operator A KeyDB (Drop-In Alternative to Redis) Operator for Kubernetes
              • Keel \ud83c\udf1f Kubernetes Operator to automate Helm, DaemonSet, StatefulSet & Deployment updates:
                • You can use policies to define when to update an application
                • Users can specify how many approvals do they need before a resource is updated.
                • https://keel.sh
              • medium.com/@mjkool: Kubernetes Operator \u2014 Simplified!
              • medium.com/@timebertt: Kubernetes Controllers at Scale: Clients, Caches, Conflicts, Patches Explained A developer guideline to Kubernetes clients in go. As most development in the Kubernetes space is done in Go, available client libraries for interacting with the Kubernetes API have evolved over time to make controllers more scalable.
              • openshift/machine-api-operator The Machine API Operator manages the lifecycle of specific purpose CRDs, controllers and RBAC objects that extend the Kubernetes API. This allows to convey desired state of machines in a cluster in a declarative fashion
              • rancher/system-upgrade-controller: System Upgrade Controller This project aims to provide a general-purpose, Kubernetes-native upgrade controller (for nodes). It introduces a new CRD, the Plan, for defining any and all of your upgrade policies/requirements. A Plan is an outstanding intent to mutate nodes in your cluster.
              • alenkacz.medium.com: Kubernetes operator best practices: Implementing observedGeneration There\u2019s a lot of hidden knowledge in core controllers and api conventions doc that is not followed by many controllers in the wild. One of these patterns is observedGeneration. In this article, you will learn what problems it can help solve.
              • ckotzbauer/vulnerability-operator Scans SBOMs for vulnerabilities. This operator scans all SBOMs from a git-repository for vulnerabilities using Grype. The result-list can be emitted as JSON-file served via an endpoint and/or as Prometheus metrics. There may be more targets in the future. The scans are done periodically.
              • Michaelpalacce/SimpleSecrets K8S Secrets Manager Operator. SimpleSecrets is a secure operator that allows you to create secrets on demand. You can commit the SimpleSecrets, which are references to a database secret, and the operator will create Kubernetes Secrets automatically for you.
              • learnsteps.com: Advance Kubernetes: What exactly are Kubernetes Operators? Kubernetes has gained a lot of traction recently and is one of the standards followed across organizations when it comes to running and managing their containerized workloads. In this article, we are going to talk about Kubernetes operators.
              • betterprogramming.pub: Build a Kubernetes Operator in 10 Minutes \ud83c\udf1f
              • alain-airom.medium.com: Kubernetes Operators Patterns and Best Practices \ud83c\udf1f Using operators to manage the lifecycle of multi-cloud, Kubernetes-based applications.
              • OT-CONTAINER-KIT/mongodb-operator: MongoDB Operator MongoDB Operator is an operator created in Golang to create, update, and manage MongoDB standalone, replicated, and arbiter replicated setup on Kubernetes and Openshift clusters.
              • prosimcorp/reforma Reforma is a Kubernetes operator to patch resources with information from other resources. It is intended to use with GitOps and lets you do things such as creating annotation on a Service Account from metadata stored in a ConfigMap.
              • weaveworks/tf-controller: Weave GitOps Terraform Controller A GitOps Terraform controller for Kubernetes. Weave TF-controller is a controller for Flux to reconcile Terraform resources in the GitOps way.
              • awstip.com: Manage AWS services directly from Kubernetes - AWS Controllers for Kubernetes (ACK) The AWS team released the ACK project, which allows users to create AWS services from within a Kubernetes cluster. In this tutorial, you will learn how to create an S3 bucket with a \u201cBucket\u201d CRD.
              • vitobotta/velero-notifications Velero-notifications is a simple Kubernetes controller written in Ruby that sends email/Slack/webhook notifications when backups or restores are performed by Velero in a Kubernetes cluster.
              • NVIDIA/gpu-operator NVIDIA GPU Operator creates/configures/manages GPUs atop Kubernetes. The NVIDIA GPU is a Kubernetes operator that automates the management of all NVIDIA software components needed to provision GPUs. These components include drivers, the Kubernetes device plugin, the NVIDIA Container Runtime, etc.
                • NVIDIA/k8s-device-plugin: NVIDIA device plugin for Kubernetes The NVIDIA device plugin for Kubernetes is a Daemonset that allows you to automatically:
                  • Expose the number of GPUs on each node of your cluster
                  • Keep track of the health of your GPUs
                  • Run GPU enabled containers in your Kubernetes cluster
              • medium.com/@marom.itamar: Kubernetes Controllers, Custom Resources, and Operators Explained
              • glebiller/dynamic-configuration-operator: Dynamic Configuration Operator Dynamic Configuration Operator is an operator that updates a deployment when a ConfigMap or Secret is updated. Useful for apps that:
                • Don\u2019t have a live-reload feature
                • Use subPath while mounting a ConfigMap or Secret
                • Use Projected Volumes
              • faun.pub: A Definitive guide to Kubernetes Operator \u2014 The crawl!
              • github.com/furiko-io/furiko Cloud-native, enterprise-level cron job platform for Kubernetes. Furiko is a Kubernetes-native operator for managing, scheduling and executing scheduled and ad-hoc jobs and workflows. It aims to be a general-purpose job platform that supports various use cases, including cron jobs, batch processing, etc.
              • paul-the-kelly.medium.com: Extending the Kubernetes API using Operators This article is aimed at developers already familiar with Kubernetes, and who are interested in extending the capabilities of a Kubernetes cluster. The extensible Kubernetes API enables administrators to add new facilities to a cluster, simplifying the deployment and management of complex applications. This article will give you a starting point to explore building your own operators.
              • github.com/DevOps-Nirvana: Kubernetes Volume / Disk Autoscaler (via Prometheus)
                • This repository contains a Kubernetes controller that automatically increases the size of a Persistent Volume Claim in Kubernetes when it is nearing full. Initially engineered based on AWS EKS, this should support any Kubernetes cluster or cloud provider which supports dynamically hot-resizing storage volumes in Kubernetes.
                • Keeping your volumes at a minimal size can help reduce cost, but having to manually scale them up can be painful and a waste of time for an DevOps / Systems Administrator. This is often used on storage volumes against things in Kubernetes such as Prometheus, MySQL, Redis, RabbitMQ, or any other stateful service.
              • borchero/switchboard: Switchboard Kubernetes Operator for Automatically Issuing DNS Records and TLS Certificates for Traefik Ingress Routes.
              • scylladb/scylla-operator Scylla Operator is a Kubernetes Operator for managing and automating tasks related to managing Scylla clusters
              • faun.pub: Kubernetes Controllers, Custom Resources, and Operators Explained
                • This article will dive deep into one of Kubernetes\u2019 core concepts \u2014 Controllers, Kubernetes API, CRDs, and Operators.
                • This 4-part series covers:
                  • Kubernetes controllers, Custom Resources, and operators
                  • Building Kubernetes operators
                  • Testing Kubebuilder operators
                  • Deploying Kubebuilder operators to Kubernetes
              • coderanger/migrations-operator: Migrations-Operator A Kubernetes operator to manage database migrations or similar application setup tasks.
              • omerxx.com: 10 Things I wish I\u2019d known before building a Kubernetes CRD controller Controllers, operators, informers and other K8s mysteries. This article discusses a few of the gotchas of developing Kubernetes controllers:
                • CRDs don\u2019t create metadata by default
                • Interacting with CRDs outside the controller\u2019s context is not straightforward
                • \u201cThe DefaultUnstructuredConverter\u201d
              • github.com/mittwald/kubernetes-secret-generator \ud83c\udf1f Kubernetes controller for automatically generating and updating secrets. This repository contains a custom Kubernetes controller that can automatically create random secret values. This may be used for auto-generating random credentials for applications running on Kubernetes
              • github.com/ContainerSolutions/delayed-jobs-operator The Delayed Job Operator lets delay the start of a Kubernetes job until after a UNIX timestamp
              • github.com/actions/actions-runner-controller \ud83c\udf1f Actions Runner Controller (ARC) is a Kubernetes controller for GitHub Actions self-hosted runners. With ARC, you can:
                • Deploy self-hosted runners on Kubernetes clusters with a simple set of commands
                • Auto scale runners based on demand
              • medium.com/sda-se: Kubernetes Operator to the rescue. How our own MongoDB Operator improved our deployments In this article you will learn about the challenges that the team at SDA SE faced when using a GitOps deployment and why they implemented their own Kubernetes Operator for MongoDB to speed up our deployments and reduce mistakes.
              • blog.frankel.ch: Introduction to Kubernetes extensibility \ud83c\udf1f In this article, you\u2019ll learn several extension points in Kubernetes: the data model, admission controllers, and client-side.
                • At its most basic level, Kubernetes is just a platform able to run container images. It stores its configuration in a distributed storage engine, etcd. The most significant part of this configuration is dedicated to the desired state for objects. For example, you only update this state when you schedule a pod using the kubectl command line.
                • Other components, called controllers, watch configuration changes and read the desired state. Then, they try to reconcile the desired state with the actual state. It\u2019s nothing revolutionary: Puppet is based on the same control-loop approach, and AFAIK, Chef. Generally, a controller manages a single type of object, e.g., the DeploymentController manages deployments.
              • superorbital.io: Testing Production Kubernetes Controllers In this article, you will learn how to test Kubernetes controllers using a mix of unit tests, local integration tests, and more fully featured runtime integration tests.
              • github.com/lukaszraczylo/jobs-manager-operator \ud83c\udf1f
                • itnext.io: Simplify Advanced Workflows in Kubernetes with Jobs Manager Operator A problem and idea led to the latest invention, which saved me hours of confusion and frustration and finally untangled the web of dependencies.
              • github.com/ricoberger/vault-secrets-operator Create Kubernetes secrets from Vault for a secure GitOps based workflow.
              • github.com/ElementTech/kube-reqsizer kube-reqsizer is a kubernetes controller that measures the usage of pods over time and optimizes their requests based on the average usage. The controller calculates the requirements based on all the samples taken in the same deployment controller.
              • kube-green.dev An operator to reduce CO2 footprint of your clusters. Suspend your pods when no-one\u2019s using them, scale down your cluster and save energy
              • betterprogramming.pub: How To Use Server-Side Apply in K8S Operators Explore the benefits of SSA vs. CSA. Server-side apply (SSA) is an excellent mechanism to improve Kubernetes operators\u2019 performance and is becoming the default way to apply resources in a cluster.
              • github.com/sieve-project/sieve Automated Reliability Testing for Kubernetes Controllers/Operators. Sieve is a tool to help developers test their Kubernetes controllers by deterministically injecting faults and detecting dormant bugs at development time.
              • betterprogramming.pub: Goldilocks vs. KRR The resources recommendation showdown!. Goldilocks is a Kubernetes operator written in Go, and it watches over a few custom resources to give out its Updates or Recommendations.
              • medium.com/lonto-digital-services-integrator: Why We Developed Own Kubernetes Controller to Copy Secrets In this article, you will learn the thought process, design decision and code that led to writing a custom controller to copy secrets from Hashicorp Vault to Kubernetes
              • thenewstack.io: HashiCorp Vault Operator Manages Kubernetes Secrets HashiCorp\u2019s new open source project, released alongside Vault 1.13 and now available in beta, makes it easier to use Vault with Kubernetes Secrets, automating tasks that were previously manual.
              • medium.com/@senjutide2000: Designing a Controller for Custom Resources from scratch for absolute beginners In this tutorial (and related repository and follow-up article), you will learn how to create your first Custom Resource Definition, Custom Resource and get a basic idea of the workflow of a controller
              • github.com/2-alchemists/krossboard-kubernetes-operator Kubernetes Operator to handle cross-site, cross-distribution & multi-Kubernetes usage tracking, analytics and accounting (vanilla Kubernetes, OpenShift, EKS, AKS, GKE and other distros).
                • Krossboard is a multi-cluster and cross-distribution Kubernetes usage accounting and analytics software
                • Each instance of Krossboard enables tracking the usage of a set of Kubernetes clusters listed in a kubeconfig secret
              • medium.com/@mikakrief: Using Azure Service Operator v2 Azure Service Operator v2 is a Kubernetes operator that enables you to manage Azure resources directly through Kubernetes tooling. It\u2019s designed to simplify the deployment and management of Azure services, allowing developers to use familiar Kubernetes commands (like kubectl apply) to handle Azure resources.
              • github.com/gianlucam76/k8s-cleaner \ud83c\udf1f K8s cleaner is a controller that identifies, removes, or updates stale/orphaned or unhealthy resources to maintain a clean and efficient Kubernetes cluster
              • dragondscv.medium.com: Controller runtime \u2014 handle resource deletion with predicate
              • github.com/NCCloud/mayfly: Ephemeral Kubernetes Resources \ud83c\udf1f An operator to manage ephemeral Kubernetes resources
              • itnext.io: 5 Advanced Kubernetes Operators Every DevOps Engineer Should Know About \ud83c\udf1f Simplify Infrastructure Management
              "},{"location":"kubernetes-operators-controllers/#opentelemetry-operator","title":"OpenTelemetry Operator","text":"
              • feat(ui): Add AppSet to Application Resource Tree in Argo CD - (Related to argo topic)

              • github.com/open-telemetry/opentelemetry-operator

              • medium.com/@magstherdev: OpenTelemetry Operator This post aims to demonstrate how you can implement traces in your application without any code changes by using the OpenTelemetry Operator.
              "},{"location":"kubernetes-operators-controllers/#creating-kubernetes-operator-using-kubebuilder","title":"Creating Kubernetes operator using Kubebuilder","text":"
              • kubernetes-sigs/kubebuilder Kubebuilder - SDK for building Kubernetes APIs using CRDs. Kubebuilder is a framework for building Kubernetes APIs using custom resource definitions (CRDs). Kubebuilder increases velocity and reduces the complexity managed by developers for rapidly building and publishing Kubernetes APIs in Go.
                • https://book.kubebuilder.io
              • medium.com/@adnn.selimovic: Creating Kubernetes operator using Kubebuilder
              • medium.com/geekculture: A New Pattern that Simplifies Operator Building Build Kubernetes Operator with Kubebuilder and declarative pattern. kubebuilder-declarative-pattern provides a set of tools for building cluster operators with kubebuilder. Declarative operators provide a fast path to orchestrating deployments instead of reinventing the wheel i.e. \u201chow do I get/update this YAML?\u201d
              • qdnqn.com: Creating Kubernetes operator using Kubebuilder

                • Kubernetes is the current de facto standard for the deployment and running of applications that are suitable for modern cloud platforms. A declarative way of defining infrastructure state using YAML allows a super easy definition of the scheme for the deployment of the application. Deploying stateless applications is not a big deal. On the other hand \u2014 deploying distributed stateful applications, configuring, and operating them is a challenging task.

                • Kubernetes addressed this issue by allowing developers to extend it, using the Kubernetes operator. The operator reacts to the custom resource and reconciliate the state in the cluster with the state defined in the custom resource, by implementing logic embedded in the operator itself.

                • When designing/writing an application, intended to run on the Kubernetes, one should take into account capabilities provided by Kubernetes and take that information when designing software architecture. It can speed up implementation, make an application more reliable and the code can focus more on business logic itself.

                • There are multiple ways to create an operator. You could write one from scratch using Kubernetes client-go. It\u2019s a tedious task and the learning curve is steep. As an alternative, multiple tools provide boilerplate code and speed up the writing of operators. Popular ones are Operatorsdk and Kubebuilder. The focus of the article will be on creating an operator using Kubebuilder. Let\u2019s create an operator which will create a pod running a simple HTTP API and bind some data to the HTTP API.

                • dev.to/thenjdevopsguy: What Is A Kubernetes Operator?
              "},{"location":"kubernetes-operators-controllers/#operatorhubio","title":"operatorhub.io","text":"
              • operatorhub.io OperatorHub.io is a new home for the Kubernetes community to share Operators. Find an existing Operator or list your own today.
              "},{"location":"kubernetes-operators-controllers/#red-hat-container-community-of-practice-operators","title":"Red Hat Container Community of Practice Operators","text":"
              • cloud.redhat.com: Red Hat Container Community of Practice Operators In this post, you will find a summary of the operators maintained by Red Hat and how they can be used to facilitate the adoption of OpenShift.
              "},{"location":"kubernetes-operators-controllers/#operator-capability-levels","title":"Operator Capability Levels","text":"
              • Operator Capability Levels Operators come in different maturity levels in regards to their lifecycle management capabilities for the application or workload they deliver. The capability models aims to provide guidance in terminology to express what features users can expect from an Operator.
              "},{"location":"kubernetes-operators-controllers/#cluster-addons","title":"Cluster Addons","text":"
              • Kubernetes Gateway API - (Related to kubernetes-networking topic)
              • InGate: Ingress & Gateway API Controller (Archived) - (Related to kubernetes-networking topic)
              • Introduction to Azure Application Gateway for Containers (AGC) - (Related to azure topic)
              • Four Methods to Access Azure Key Vault from Azure Kubernetes Service (AKS) - (Related to kubernetes-security topic)

              • Cluster Addons \ud83c\udf1f With cluster addon operators, we are exploring a kubernetes-native way of managing addons using CRDs(Custom Resource Definitions) and controllers where the controllers encode how best to manage the addon. Installing and managing an addon could be as simple as creating a custom resource.

              "},{"location":"kubernetes-operators-controllers/#k8spin-operator-kubernetes-multi-tenant-operator","title":"K8Spin Operator. Kubernetes multi-tenant operator","text":"
              • K8Spin Operator \ud83c\udf1f Kubernetes multi-tenant operator. Enables multi-tenant capabilities in your Kubernetes Cluster. We defined some small features to implement. If you know python & Kubernetes and want to contribute to this project, ping us!
              • thenewstack.io: K8Spin Provides Multitenant Isolation for Kubernetes
              • Discover K8Spin open source software
              "},{"location":"kubernetes-operators-controllers/#k8s-kpis-with-kuberhealthy-operator","title":"K8s KPIs with Kuberhealthy Operator","text":"
              • K8s KPIs with Kuberhealthy \ud83c\udf1f transforming Kuberhealthy into a Kubernetes operator for synthetic monitoring. This new ability granted developers the means to create their own Kuberhealthy check containers to synthetically monitor their applications and clusters. Additionally, we created a guide on how to easily install and use Kuberhealthy in order to capture some helpful synthetic KPIs.
              "},{"location":"kubernetes-operators-controllers/#writing-kubernetes-operators-and-controllers","title":"Writing Kubernetes Operators and Controllers","text":"
              • Kueue Release v0.14.0 - This is a release note for Kueue, an open-source Kubernetes project designed for workload management and scheduling. Version v0.14.0 includes changes such as the removal of deprecated annotations related to ProvisioningRequest, which is important for users upgrading from previous versions. It also highlights the necessity for ProvisioningRequest reconcilers to be updated to avoid issues.
              • AI Meets Terraform: Prompt Strategies for Test Generation - (Related to ai topic)
              • 10 Real-World Kubernetes Troubleshooting Scenarios and Solutions - (Related to kubernetes-troubleshooting topic)
              • The Beginner\u2019s Guide to the Ansible Inventory - (Related to ansible topic)

              • Kubernetes.io: Operator pattern

              • opensource.com: Build a Kubernetes Operator in 10 minutes with Operator SDK
              • itnext.io: Testing the Operator SDK and making a prefetch mechanism for Kubernetes
              • magalix.com: Creating Custom Kubernetes Operators
              • medium.com: Writing Your First Kubernetes Operator
              • bmc.com: What Is a Kubernetes Operator?
              • Writing a Kubernetes Operator in Java Cheat Sheet
              • linuxera.org: Writing Operators using the Operator Framework SDK
              • openshift.com: 7 Best Practices for Writing Kubernetes Operators: An SRE Perspective
              • medium: From Zero to Kubernetes Operator In this post you will learn how to build a simple Kubernetes Operator. The article starts with the main concepts and then continues with hands-on labs where you will create a Kubernetes Operator from the ground up.
              • openshift.com: Build Your Kubernetes Operator With the Right Tool \ud83c\udf1f Go-based operators are by far the most popular. That is why Go is probably the first option to consider. The other good choice is Helm, especially if you already have a Helm chart for your software or you want to build your operator quickly and you don\u2019t need any complex capability levels. I\u2019d leave Operator Frameworks or Bare Programming Language implementations only for the cases when keeping a single programming language in your organization is a priority.
              • rookout.com: Lessons Learned When Building A Kubernetes Operator
              • brennerm.github.io: Kubernetes operators with Python #1: Creating CRDs
              • vivilearns2code.github.io: Writing Controllers For Kubernetes Resources
              • cloudark.medium.com: Writing Kubernetes Custom Controllers
              • developers.redhat.com: Managing stateful applications with Kubernetes Operators in Golang \ud83c\udf1f Explore this pattern by creating a Kubernetes Operator in Golang to keep a WordPress site up to date.
              • medium: Kubernetes Dummy Operator in Java - youtube: Creating a Kubernetes Operator in Java by Rudy De Busscher
              • betterprogramming.pub: Build a Highly Available Kubernetes Operator Using Golang Develop a simple Kubernetes operator from scratch. In this article, you will build a \u201chello world\u201d operator using the client-go library, make adaptations to it to achieve high availability, and deploy it to a Kubernetes cluster using Helm.
              • kubernetes/sample-controller Repository for sample controller. Complements sample-apiserver
              • betterprogramming.pub: Writing Custom Kubernetes Controller and Webhooks Create a Kubernetes API, controller, validate webhooks, and test.
              • betterprogramming.pub: How To Write Tests for Your Kubernetes Operator
              • metalbear.co: Writing a Kubernetes Operator
              • dev.to/hkhelil: Building a Kubernetes Operator with an NGINX CRD
              "},{"location":"kubernetes-operators-controllers/#tweets","title":"Tweets","text":"Click to expand!

              Generic automation tools like Helm are limited by the interfaces exposed to them, and often lack enough context to make the right state machine transitions.Ideally, software evolves to expose better automation hooks, then custom tools, aka operators, can leverage them. https://t.co/v38aj4ukn4

              \u2014 Kelsey Hightower (@kelseyhightower) September 8, 2021"},{"location":"kubernetes-operators-controllers/#videos","title":"Videos","text":"Click to expand!
              • Sharing a NVIDIA GPU Between Pods in Kubernetes - (Related to kubernetes-tools topic)
              "},{"location":"kubernetes-releases/","title":"Kubernetes Releases","text":""},{"location":"kubernetes-releases/#kubernetes-operators-and-controllers","title":"Kubernetes Operators and Controllers","text":"
              • Kueue Release v0.14.0 - (Related to kubernetes-operators-controllers topic)

              • relnotes.k8s.io: Kubernetes Release Notes Tip: Click on \u201cdeprecation\u201d and select \u201creleaseVersions: 1.x

              • sysdig.com: What\u2019s new in Kubernetes 1.20?
              • magalix: What You Should Know about Kubernetes 1.20
              • zdnet.com: Kubernetes dropping Docker is not that big of a deal Chill, people. Your Docker skills haven\u2019t suddenly become useless. Here\u2019s what\u2019s really going on.
              • thenewstack.io: Kubernetes 1.20 Lands with 44 Enhancements
              • thenewstack.io: Kubernetes 1.20 Enhances the Operator Experience and Brings New Features to the Container Runtime
              • openshift.com: Kubernetes is Removing Docker Support, Kubernetes is Not Removing Docker Support
              • devopscube.com: Kubernetes v1.21 Released: Here is What you should know
              • thenewstack.io: Kubernetes 1.21 Brings a New Memory Manager, More Flexible Scheduling
              • kubernetes.io: kubernetes 1.21: CronJob Reaches GA
              • kubernetes.io: Kubernetes 1.21: Power to the Community
              • devclass.com: Kubernetes 1.21 unloads pod security, adds dual IPv4/IPv6 networking, and shuts down gracefully
              • kubernetes.io: Introducing Suspended Jobs in Kubernetes 1.21
              • analyticsindiamag.com: Kubernetes v1.21 Released: Major Updates & Latest Features
              • openshift.com: Kubernetes 1.21 Grows Innovative New Features
              • Kubernetes v1.16 API deprecation testing Examples of how to test the impact of the v1.16 API deprecations and ways to debug early!
              • kubernetes.io: Kubernetes 1.21: Metrics Stability hits GA
              • sysdig.com: Kubernetes 1.22 \u2013 What\u2019s new?
              • kubernetes.io: Kubernetes API and Feature Removals In 1.22: Here\u2019s What You Need To Know In this version, multiple beta APIs will be removed. Not deprecated, removed. Specifically, the following:
                • Ingress
                • CustomResourceDefinition
                • ValidatingWebhookConfiguration
                • MutatingWebhookConfiguration
                • CertificateSigningRequest
                • etc
              • kubernetes.io: Kubernetes 1.22: Reaching New Peaks Kubernetes\u2019 default backend storage, etcd, has a new release: 3.5.0. The new release comes with improvements to the security, performance, monitoring, and developer experience.
              • thenewstack.io: Less Is More with Kubernetes 1.22
              • acloudguru.com: What\u2019s new with Kubernetes 1.22?
              • kubernetes.io: Graceful Node Shutdown Goes Beta
              • kubernetes.io: Kubernetes Memory Manager moves to beta
              • kubernetes.io: Dockershim removal is coming. Are you ready?
              • medium: Kubernetes v1.22 ends Cloud Provider LoadBalancer lock-in Users of Cloud Provider provisioned Kubernetes have been locked into using the Cloud providers LoadBalancers for external access to their applications. This changed in v1.22, a new feature called LoadBalancer class allows 3rd party solutions to selected as an alternative to the default Cloud LoadBalancer.
              • sysdig.com: Kubernetes 1.23 \u2013 What\u2019s new?
              • armosec.io: Kubernetes version 1.23 is out \u2013 everything you should know
              • thenewstack.io: Kubernetes 1.23: Dual Stack IPv4/IPv6, CronJobs, Ephemeral Volumes
              • blog.aquasec.com: Kubernetes Version 1.23: What\u2019s New for Security?
              • kubernetes.io: Kubernetes 1.23: The Next Frontier
              • infoq.com: Kubernetes Proceeding with Deprecation of Dockershim in Upcoming 1.24 Release
              • blog.runx.dev: Will That Kubernetes v1.22 Upgrade Break My Application?
              • Concerned about the Dockershim removal in the upcoming Kubernetes 1.24 release? We\u2019ve updated the faq with additional info, migration guide links and more: http://k8s.io/dockershim
              • kubernetes.io: Updated: Dockershim Removal FAQ
              • kubernetes.io: Kubernetes Release Cadence Change: Here\u2019s What You Need To Know
              • aws.amazon.com: Amazon EKS now supports Kubernetes 1.22
              • blog.aquasec.com: Kubernetes Version 1.23: What\u2019s New for Security?
              • sysdig.com: Kubernetes 1.24 \u2013 What\u2019s new?
              • inder-devops.medium.com: It\u2019s Time to Migrate your Container Runtime, Kubernetes 1.24 is coming In this post, you\u2019ll learn the terminology and tooling around container runtimes. By the end, you\u2019ll have a better idea of what a container runtime is, how the container landscape has evolved over time, and how we got to where we are today.
              • kubernetes.io: Kubernetes Removals and Major Changes In 1.25
              • sysdig.com: Kubernetes 1.25 \u2013 What\u2019s new?
              • kubernetes.io: Kubernetes v1.25: Combiner Announcing the release of Kubernetes v1.25! \ud83d\ude80 This release includes a total of 40 enhancements. 15 of those are entering Alpha, 10 are graduating to Beta, and 13 are graduating to Stable. We also have two features being deprecated or removed.
              • kubernetes.io: PodSecurityPolicy: The Historical Context \ud83c\udf1f PodSecurityPolicy (PSP) admission controller has been removed as of Kubernetes v1.25. This blog shares some historical context and why it has been replaced by Pod Security admission control.
              • macchaffee.com: The Fumbled Deprecation of PodSecurityPolicies In this article, you will learn why PodSecurityPolicies never made it as a GA feature, why they had to be replaced and what you should consider going forward.
              • datree.io: EKS 1.22 Upgrade Tutorial
              • kubernetes.io: registry.k8s.io: faster, cheaper and Generally Available (GA) Starting with Kubernetes 1.25, our container image registry has changed from k8s.gcr.io to registry.k8s.io. This new registry spreads the load across multiple Cloud Providers & Regions, functioning as a sort of content delivery network (CDN) for Kubernetes container images. This change reduces the project\u2019s reliance on a single entity and provides a faster download experience for a large number of users.
              • sysdig.com: Kubernetes 1.26 \u2013 What\u2019s new?
              • armosec.io: Kubernetes Version 1.26: Everything You Should Know
              • kubernetes.io: Kubernetes 1.26: Non-Graceful Node Shutdown Moves to Beta
              • kubernetes.io: Kubernetes 1.26: Support for Passing Pod fsGroup to CSI Drivers At Mount Time
              • kubernetes.io: Kubernetes 1.26: Pod Scheduling Readiness Very interesting use case dealing with ResourceQuota; if a new Pod exceeds the CPU quota, it gets rejected. Now you can avoid this and build your queue or scale on demand using scheduling gates.
              • kubernetes.io: Kubernetes v1.26: CPUManager goes GA
              • itnext.io: Unleashing the Power of Kubernetes 1.26: Exploring the New ValidatingAdmissionPolicy Feature with CEL
              • kubernetes.io: Kubernetes 1.26: Job Tracking, to Support Massively Parallel Batch Workloads, Is Generally Available After multiple iterations and scale verifications, Kubernetes switched to a new Job Controller. Paired with the Indexed completion mode, the Job controller can handle massively parallel batch jobs, supporting up to 100k concurrent Pods.
              • alexandrev.medium.com: Kubernetes Autoscaling 1.26: A Game-Changer for KEDA Users?
              • kubernetes.io: Kubernetes v1.26: Advancements in Kubernetes Traffic Engineering In this article, you will learn about the significant advancements in network traffic engineering in Kubernetes v1.26 (Service internal traffic policy support, EndpointSlice terminating conditions and Proxy terminating endpoints.
              • sysdig.com: Kubernetes 1.27 \u2013 What\u2019s new?
              • kubernetes.io: Kubernetes v1.27: Chill Vibes v1.27 is the first release that anyone can remember where we didn\u2019t receive a single exception request after the enhancements freeze. Even as the release progressed, things remained much calmer than any of us are used to. This release consist of 60 enhancements. 18 of those enhancements are entering Alpha, 29 are graduating to Beta, and 13 are graduating to Stable.
              • medium.com/@jonathan_37674: Kubernetes 1.27: Everything You Should Know | ARMO
              • thenewstack.io: Kubernetes 1.27 Arrives The big change, the new image registry replacing the old one, marks a clear break between this version and the ones that have come before
              • armosec.io: Kubernetes 1.27 Release: Enhancements and Security Updates
              • Private Access to the AWS Management Console is generally available
              • kubernetes.io: Kubernetes 1.27: In-place Resource Resize for Kubernetes Pods (alpha)
                • If you have deployed Kubernetes pods with CPU and/or memory resources specified, you may have noticed that changing the resource values involves restarting the pod. This has been a disruptive operation for running workloads\u2026 until now.
                • In Kubernetes v1.27, we have added a new alpha feature that allows users to resize CPU/memory resources allocated to pods without restarting the containers.
              • thenewstack.io: Kubernetes 1.28 Accommodates the Service Mesh, Sudden Outages This \u201cPlanternetes\u201d release can keep service mesh containers running when the pod goes offline. Also in the box: Better support for DNS and more allowable time between necessary upgrades.
              • levelup.gitconnected.com: Kubernetes Planternetes v1.28: Non-Graceful Node Shutdown Feature If a node shuts down unexpectedly or ends up in a non-recoverable state (perhaps due to hardware failure or unresponsive OS), Kubernetes allows you to clean up afterward and allow stateful workloads to restart on a different node.
              "},{"location":"kubernetes-security/","title":"Kubernetes Security","text":"
              1. Introduction
              2. IAM Identity And Access Management in Kubernetes
              3. Securing Kubernetes Deployments
              4. Securing a Kubernetes cluster using TLS certificates. Wildcard certificates
              5. Kubernetes Security Scanners
              6. Security Checklist Kubernetes OWASP
              7. Exposed Kubernetes Clusters
              8. NSA National Security Agent Kubernetes Hardening Guidance
              9. CIS Benchmarks and CIS Operator
              10. User and Workload identities in Kubernetes
              11. Service Accounts
              12. Kubernetes Secrets
              13. Kubernetes Cert-Manager. Encrypting the certificate for Kubernetes. SSL certificates with Let\u2019s Encrypt in Kubernetes Ingress via cert-manager
              14. Kubernetes OpenID Connect OIDC
                1. OAuth2 Proxy
                2. Alternatives
              15. RBAC and Access Control
                1. Tools
              16. Kubernetes and LDAP
              17. Admission Control
              18. Kubernetes Security Best Practices
              19. Kubernetes Authentication and Authorization
                1. Kubernetes Authentication Methods
                2. X.509 client certificates
                3. Static HTTP Bearer Tokens
                4. OpenID Connect
                5. Implementing a custom Kubernetes authentication method
              20. Pod Security Policies (SCCs - Security Context Constraints in OpenShift)
              21. Security Profiles Operator
              22. EKS Security
              23. External Secrets Operator
              24. CVE
                1. Official Kubernetes CVE Feed
              25. Videos
              26. Tweets
              "},{"location":"kubernetes-security/#introduction","title":"Introduction","text":"
              • cilium.io
                • github Kyverno - Kubernetes Native Policy Management
                • nirmata.com: Auto-labeling Kubernetes resources with Kyverno
              • Dzone - OAuth 2.0
              • Kubernetes Security Best Practices \ud83c\udf1f
              • jeffgeerling.com: Everyone might be a cluster-admin in your Kubernetes cluster
              • Microsoft.com: Attack matrix for Kubernetes \ud83c\udf1f
              • codeburst.io: 7 Kubernetes Security Best Practices You Must Follow
              • thenewstack.io: Laying the Groundwork for Kubernetes Security, Across Workloads, Pods and Users
              • horovits.wordpress.com: Kubernetes Security Best Practices
              • containerjournal.com: How to Secure Your Kubernetes Cluster \ud83c\udf1f
              • medium: How to Harden Your Kubernetes Cluster for Production \ud83c\udf1f
              • kubernetes.io: Cloud native security for your clusters
              • tldrsec.com: Risk8s Business: Risk Analysis of Kubernetes Clusters \ud83c\udf1f A zero-to-hero guide for assessing the security risk of your Kubernetes cluster and hardening it.
              • labs.bishopfox.com: Bad Pods: Kubernetes Pod Privilege Escalation \ud83c\udf1f What are the risks associated with overly permissive pod creation in Kubernetes? The answer varies based on which of the host\u2019s namespaces and security contexts are allowed. In this post, I will describe eight insecure pod configurations and the corresponding methods to perform privilege escalation. This article and the accompanying repository were created to help penetration testers and administrators better understand common misconfiguration scenarios.
              • sysdig.com: Kubernetes Security Guide \ud83c\udf1f Best practices, guidance and steps for implementing Kubernetes security.
              • resources.whitesourcesoftware.com: Kubernetes Security Best Practices \ud83c\udf1f
              • sysdig.com: Getting started with Kubernetes audit logs and Falco \ud83c\udf1f
              • thenewstack.io: Best Practices for Securely Setting up a Kubernetes Cluster
              • thenewstack.io: A Security Comparison of Docker, CRI-O and Containerd \ud83c\udf1f
              • github.com/stackrox: Certified Kubernetes Security Specialist Study Guide \ud83c\udf1f
              • youtube: Kubernetes Security: Attacking and Defending K8s Clusters - by Magno Logan
              • cncf.io: Kubernetes Security \ud83c\udf1f
              • microsoft.com: Secure containerized environments with updated threat matrix for Kubernetes
              • kyverno.io \ud83c\udf1f Kubernetes Native Policy Management. Kyverno 1.18 (released May 2026) introduced advanced supply chain security, simplified YAML-based policy management, and enhanced support for Gateway API.
              • Tetragon (Cilium) - eBPF-based Security Observability and Runtime Enforcement. Tetragon provides deep visibility into process execution, network activity, and file access, with the ability to enforce policies at the kernel level.
                • kyverno.io/policies \ud83c\udf1f K8s policies available in the community repository
              • cyberark.com: Attacking Kubernetes Clusters Through Your Network Plumbing: Part 1
              • redkubes.com: 10 Kubernetes Security Risks & Best Practices
              • thenewstack.io: Defend the Core: Kubernetes Security at Every Layer
              • Analyze Kubernetes Audit logs using Falco \ud83c\udf1f Detect intrusions that happened in your Kubernetes cluster through audit logs using Falco
              • blog.kasten.io: Kubernetes Ransomware Protection with Kasten K10 v4.0
              • helpnetsecurity.com: Kubestriker: A security auditing tool for Kubernetes clusters \ud83c\udf1f Kubestriker is an open-source, platform-agnostic tool for identifying security misconfigurations in Kubernetes clusters.
              • Kubernetes Goat \ud83c\udf1f is designed to be an intentionally vulnerable cluster environment to learn and practice Kubernetes security.
              • itnext.io: How-To: Kubernetes Cluster Network Security \ud83c\udf1f
              • gist.github.com: How to protect your ~/.kube/ configuration
              • levelup.gitconnected.com: Enforce Audit Policy in Kubernetes (k8s)
              • snyk.io: 10 Kubernetes Security Context settings you should understand
              • magalix.com: Top 8 Kubernetes Security Best Practices \ud83c\udf1f
              • redhat.com: The State of Kubernetes Security
              • fairwinds.com: Discover the Top 5 Kubernetes Security Mistakes You\u2019re (Probably) Making
              • tigera.io: Kubernetes security policy design: 10 critical best practices \ud83c\udf1f
              • empresas.blogthinkbig.com: Descubierta una vulnerabilidad en Kubernetes que permite acceso a redes restringidas (CVE-2020-8562)
              • thenewstack.io: Kubernetes: An Examination of Major Attacks \ud83c\udf1f Constant vigilance is required to ensure that cloud infrastructure is locked down and that DevSecOps teams have the right tools for the job.
              • cloud.redhat.com: Top Open Source Kubernetes Security Tools of 2021 \ud83c\udf1f\ud83c\udf1f
              • cncf.io: How to secure your Kubernetes control plane and node components
              • redhat.com: State of Kubernetes Security Report - Spring 2021 (PDF) \ud83c\udf1f
              • kubernetes.io: Overview of Cloud Native Security \ud83c\udf1f\ud83c\udf1f This overview defines a model for thinking about Kubernetes security in the context of Cloud Native security.
              • learn.hashicorp.com: Integrate a Kubernetes Cluster with an External Vault \ud83c\udf1f
              • talkingquickly.co.uk: Kubernetes Single Sign On - A detailed guide \ud83c\udf1f
              • armosec.io: A Practical Guide to the Different Compliance Kubernetes Security Frameworks and How They Fit Together \ud83c\udf1f\ud83c\udf1f
              • thenewstack.io: How to Secure Kubernetes, the OS of the Cloud
              • akhilsharma.work: The 4C\u2019s of Kubernetes Security
              • Kubernetes security thing: Always be careful of what you are letting your users choose for usernames. If someone has a username of system:kube-controller-manager on an external Identity system, Kubernetes will quite happily give them the rights of the controller manager. The \u2013oidc-username-prefix and \u2013oidc-groups-prefix flags are userful for preventing this in OIDC integrations.
              • medium: Securing the Kubernetes cluster | Lessandro Z. Ugulino
              • infoworld.com: The race to secure Kubernetes at run time A new wave of startups is looking to help developers secure their containerized applications after they go into production. Is this the future of application security?
              • goteleport.com: Kubernetes API Access Security Hardening
              • infoworld.com: Securing the Kubernetes software supply chain with Microsoft\u2019s Ratify Microsoft\u2019s Ratify proposal adds a verification workflow to Kubernetes container deployment. The Ratify team has some demo code in their GitHub repository that shows how to use Ratify with Gatekeeper in Kubernetes. Ratify installs using a Helm chart, bringing along some sample configuration templates.
              • amazicworld.com: Top 5 security threats unique to a Kubernetes and Cloud Native stack
              • peoplactive.com: Kubernetes and Container Security Checklist to Build Secure Apps [ARCHIVED]
              • venturebeat.com: Kubernetes security will have a breakout year in 2022
              • medium: Comparing Kubernetes Security Frameworks and Guidance \ud83c\udf1f Comparing popular Kubernetes security and compliance frameworks, how they differ, when to use, common goals, and suggested tools.
                • blog.gitguardian.com: Hardening Your Kubernetes Cluster - Guidelines (Pt. 2) \ud83c\udf1f In this second episode, we will go through the NSA/CISA security recommendations and explain every piece of the guidelines.
              • blog.devgenius.io: How is security managed in Kubernetes clusters? Best practices for managing security in Kubernetes at various layers
              • blog.gitguardian.com: Kubernetes Hardening Tutorial Part 1: Pods Get a deeper understanding of Kubernetes Pods security with this first tutorial. After reading this article, you will learn:
                • How not to run pods as root
                • How to use immutable root fs (lock the root filesystem)
                • How to do Docker image scan locally and with your CI pipelines
                • How to use PSP
                • blog.gitguardian.com: Kubernetes Hardening Tutorial Part 2: Network How to achieve Control Plane security, true resource separation with network policies, and use Kubernetes Secrets more securely.
              • medium.com/@jonathan_37674: Kubernetes Security Best Practices: Definitive Guide
              • isovalent.com: Detecting a Container Escape with Cilium and eBPF In this article you\u2019ll learn how an attacker with access to a Kubernetes cluster can escape from a container and:
                • run a pod to gain root privileges
                • escape to the host
                • persist the attack with invisible pods and fileless executions
              • mattermost.com: The Top 7 Open Source Tools for Securing Your Kubernetes Cluster
              • infoworld.com: 10 steps to automating security in Kubernetes pipelines DevOps teams don\u2019t need to sacrifice the speed of containerized development if they know what can be automated, why it\u2019s important, and how to do it.
              • developers.redhat.com: Secure your Kubernetes deployments with eBPF Learn how to use eBPF and the Security Profiles Operator to automatically generate seccomp profiles, a Linux kernel security feature for Kubernetes
                • Etcd localhost port access due to SSRF vulnerability
                • Etcd Credential Stealing
                • Kube API server command execution
              • faun.pub: From dev to admin: an easy Kubernetes privilege escalation you should be aware of \u2014 the attack In this post, you will learn how easily a limited user (such as a developer) can escalate their privileges and become an admin of a cluster which has been set up using kubeadm.
              • xenitab.github.io: Kubernetes Ephemeral Container Security \ud83c\udf1f Ephemeral containers are temp containers that can be attached after a Pod is created. But what happens when you use them on a hardened cluster? The answer is not so obvious as OPA, Kyverno, PSPs, etc. will do their best to (rightly) prevent execution.
              • armosec.io: How to Secure Deployments in Kubernetes? \ud83c\udf1f In Kubernetes, there are two aspects to security: cluster security and application security. In this post, you\u2019ll explore how to secure \u200cKubernetes deployments and applications in general.
              • medium.com/@dotdc: Is your Kubernetes API Server exposed? Learn how to check and fix! \ud83c\udf1f
              • levelup.gitconnected.com: The Core of Kubernetes Security: Clusters
              • sysdig.com: How attackers use exposed Prometheus server to exploit Kubernetes clusters | Miguel Hern\u00e1ndez What happens if an attacker accesses your Prometheus server? How much information can they get for fingerprinting the cluster? In this article, you will learn how attackers use this information and how to secure your cluster.
              • cast.ai: Kubernetes Security: 10 Best Practices from the Industry and Community \ud83c\udf1f
              • thenewstack.io: Basic Principles Key to Securing Kubernetes\u2019 Future Once these capabilities have been established, Ops teams can begin to look further afield and explore leveraging the value of their data through activities like testing and optimization.
              • medium.com/@codingkarma: Kubernetes Goat Part-1 In this article, you will learn how to attack and defend a Kubernetes cluster by solving the challenges of Kubernetes goat \u2014 an intentionally vulnerable cluster environment to learn and practice Kubernetes security
              • medium.com/@badawekoo: Limit number of processes running in a Kubernetes pod When it comes to Kubernetes security, It is very important to harden the core components of the cluster which are pods, and limit the risks that can be originated from inside the pods. That\u2019s why limiting number of processes that can run inside a pod will limit any vulnerabilities in your cluster.
              • copado.com: Applying a Zero Trust Infrastructure in Kubernetes
              • dev.to/pavanbelagatti: Kubernetes Security Best Practices For Developers
              • itnext.io: Journey Of A Microservice Application In The Kubernetes World \ud83c\udf1f Security considerations: security related tools. In this article, you will discuss some security considerations and see how you can ensure (at least to some extent) that the application\u2019s specifications follow some of the best security practices.
              • tutorialboy24.blogspot.com: A Detailed Talk about K8S Cluster Security from the Perspective of Attackers (Part 2) \ud83c\udf1f In this 2-part series, you will address 12 common attack points in Kubernetes clusters and discuss various risks in cloud-native scenarios based on practical experience
              • medium.com/cloudyrion: Kubernetes end-to-end chain exploit This article details the security flaws discovered in Kubernetes and GitOps tools due to improper configurations. It also demonstrates how an attacker could perform post-exploitation attacks, increasing their privileges and the attack surface.
              • itnext.io: Performing Security Checks for Deployed Kubernetes Manifests An effective tool for checking security rule violations in Kubernetes deployments using Polaris
              • securitycafe.ro: A COMPLETE KUBERNETES CONFIG REVIEW METHODOLOGY
              • itnext.io: Introduction to Kubernetes Security for Security Professionals Presenting the architecture of Kubernetes and its associated security threats, for security professionals, including penetration testers and DevSecOps practitioners.
              • dev.to/mattiasfjellstrom: Kubernetes-101: Security concepts The article provides an overview of Kubernetes security concepts, focusing on NetworkPolicies, ServiceAccounts, and Security Contexts
              • blog.alexellis.io: What if your Pods need to trust self-signed certificates? Self-signed certificates are common within enterprise companies. But how do you distribute them and enable their use in Kubernetes as a user and a vendor?
              • thenewstack.io: Securing Kubernetes in a Cloud Native World As cloud native technologies continue to advance, staying informed and adaptable is key to maintaining a secure Kubernetes ecosystem.
              • collabnix.com: Applying DevSecOps Practices to Kubernetes
              • dev.to/thenjdevopsguy: Securing Kubernetes Pods For Production Workloads
              • dev.to/thenjdevopsguy: The 4 C\u2019s Of Kubernetes Security
              "},{"location":"kubernetes-security/#iam-identity-and-access-management-in-kubernetes","title":"IAM Identity And Access Management in Kubernetes","text":"
              • thenewstack.io: Cloud Native Identity and Access Management in Kubernetes
              • curity.io: OAuth 2.0 Overview
              • curity.io: OpenID Connect Overview
              • curity.io: Client Security Client security primarily covers web and mobile, to ensure best security in the browser and on devices
              • dev.to/gabrielbiasi: Automatic SSO in Kubernetes workloads using a sidecar container In this tutorial, you will learn how to use oauth2-proxy as a sidecar container to authorize requests to your Identity Provider of choice
              "},{"location":"kubernetes-security/#securing-kubernetes-deployments","title":"Securing Kubernetes Deployments","text":"
              • dev.to/aws-builders: Best Practices for Securing Kubernetes Deployments \ud83c\udf1f Although Kubernetes is a powerful container orchestration platform, its complexity and its adoption makes it a prime target for security attacks. We\u2019ll go over some of the best practices for securing the Kubernetes deployments and keeping applications and data safe in this article. This article is only about pods or deployments.
              "},{"location":"kubernetes-security/#securing-a-kubernetes-cluster-using-tls-certificates-wildcard-certificates","title":"Securing a Kubernetes cluster using TLS certificates. Wildcard certificates","text":"
              • thenewstack.io: Jetstack Secure Promises to Ease Kubernetes TLS Security
              • xgrid.medium.com: Securing a Kubernetes cluster using TLS certificates \ud83c\udf1f
              • ahmedy.hashnode.dev: Creating TLS Certificates for K8s components with OpenSSL In this guide, you will discuss how to create key/certificate pairs using OpenSSL to facilitate secure communication between Kubernetes Cluster components
              • erkanzileli.medium.com: How TLS Certificates Work
              • medium.com/@martin.hodges: Using a wildcard certificate within your Kubernetes cluster
              "},{"location":"kubernetes-security/#kubernetes-security-scanners","title":"Kubernetes Security Scanners","text":"
              • GitHub Code Security Risk Assessment: Free Vulnerability Scanning - (Related to devsecops topic)

              • blog.cloudsecque.com: How to Improve the Security of Your Applications with Kubernetes Security Scanners Kubernetes security scanners are tools that can be used to detect vulnerabilities and security issues in your applications. In this article you will find:

                • Grype
                • Trivy
                • Kubesec
                • Kube-bench
                • Kubeaudit
              • techmanyu.com: Kubernetes Security with Kube-bench and Kube-hunter \ud83c\udf1f
                • kube-bench \ud83c\udf1f Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark
                  • devopscube.com/kube-bench-guide: Kube-Bench: Kubernetes CIS Benchmarking Tool
                • kube-hunter \ud83c\udf1f Hunt for security weaknesses in Kubernetes clusters
                • k21academy.com: Secure and Harden Kubernetes, AKS and EKS Cluster with kube-bench, kube-hunter and CIS Benchmarks \ud83c\udf1f
              • aninditabasak.medium.com: A Lap around Kubernetes Security & Vulnerability scanning Tools \u2014 checkov, kube-hunter, kube-bench & Starboard
              • blog.flant.com: Kubernetes cluster security assessment with kube-bench and kube-hunter
              • raesene.github.io: Let\u2019s talk about Kubernetes on the Internet In this article, you will learn how to scan and discover publicly accessible Kubernetes clusters and how you can protect against it
              • github.com/Shopify/kubeaudit \ud83c\udf1f\ud83c\udf1f kubeaudit helps you audit your Kubernetes clusters against common security controls. kubeaudit is a command line tool and a Go package to audit Kubernetes clusters for various different security concerns, such as:
                • Run as non-root
                • Use a read-only root filesystem
                • Drop scary capabilities, don\u2019t add new ones
                • Don\u2019t run privileged
              • towardsdev.com: 12 Scanners to Find Security Vulnerabilities and Misconfigurations in Kubernetes
              "},{"location":"kubernetes-security/#security-checklist-kubernetes-owasp","title":"Security Checklist Kubernetes OWASP","text":"
              • kubernetes.io: Security Checklist \ud83c\udf1f\ud83c\udf1f
              • itnext.io: Kubernetes OWASP Top 10: Centralised Policy Enforcement This article covers the techniques for centralised policy enforcement in a Kubernetes cluster:
                • CI/CD pipelines
                • Security Admission controller
                • OPA and Gatekeeper
                • IDE linting and plug-ins
              • faun.pub: Gatekeeper | K8 hardening backlog This article summarizes a list of recommendations for hardening Kubernetes clusters (both on-prem and cloud) with Admission and Mutation webhooks using the open-source tool Gatekeeper.
              • systemweakness.com: OWASP-K8S Security: Insecure Workload Configurations In this series of blogs we will focus on OWASP Top 10 Kubernetes vulnerabilities, Discussing each in a separate blog.
              • owasp.org: OWASP Kubernetes Top Ten OWASP Kubernetes Top Ten is aimed at helping security practitioners, system administrators, and developers prioritize risks around the Kubernetes ecosystem. This is a prioritized list of these risks backed by data.
              • darkreading.com: Top 10 Kubernetes Security Risks Every DevSecOps Pro Should Know The mission to run any containerized application on any infrastructure makes security a challenge on Kubernetes.
              • sysdig.com: OWASP Kubernetes Top 10 \ud83c\udf1f One of the biggest concerns when using Kubernetes is whether we are complying with the security posture and taking into account all possible threats.
              • itnext.io: Kubernetes OWASP Top 10: Secrets Management In this article, you will discuss secrets management in Kubernetes:
                • Secrets objects
                • Managing Kubernetes Secrets
                • Manual Secret Creation
                • Secrets in CI/CD pipelines
                • Kubernetes Secrets Store Container Storage Interface
              "},{"location":"kubernetes-security/#exposed-kubernetes-clusters","title":"Exposed Kubernetes Clusters","text":"
              • blog.cyble.com: Exposed Kubernetes Clusters Organizations At Risk Of Data Breaches Via Misconfigured Kubernetes. Over 900k Kubernetes exposures were observed across the internet during a routine threat-hunting exercise. While this does not imply that all exposed instances are vulnerable to attacks, it still makes them a target.
              "},{"location":"kubernetes-security/#nsa-national-security-agent-kubernetes-hardening-guidance","title":"NSA National Security Agent Kubernetes Hardening Guidance","text":"
              • Kubernetes Hardening Guidance \ud83c\udf1f\ud83c\udf1f
              • thenewstack.io: The NSA Can Help Secure Your Kubernetes Clusters
              • therecord.media: NSA, CISA publish Kubernetes hardening guide \ud83c\udf1f\ud83c\udf1f
                • Scan containers and Pods for vulnerabilities or misconfigurations.
                • Run containers and Pods with the least privileges possible.
                • Use network separation to control the amount of damage a compromise can cause.
                • Use firewalls to limit unneeded network connectivity and encryption to protect confidentiality.
                • Use strong authentication and authorization to limit user and administrator access as well as to limit the attack surface.
                • Use log auditing so that administrators can monitor activity and be alerted to potential malicious activity.
                • Periodically review all Kubernetes settings and use vulnerability scans to help ensure risks are appropriately accounted for and security patches are applied.
              • Kubescape \ud83c\udf1f kubescape is the first tool for testing if Kubernetes is deployed securely as defined inKubernetes Hardening Guidance by to NSA and CISA. Tests are configured with YAML files, making this tool easy to update as test specifications evolve.
                • infoq.com: Armo Releases Kubescape K8s Security Testing Tool: Q&A with VP Jonathan Kaftzan
              • infoq.com NSA and CISA Publish Kubernetes Hardening Guidance
              • thenewstack.io: NSA on How to Harden Kubernetes
              • blog.gitguardian.com: Hardening Your Kubernetes Cluster - Threat Model (Pt. 1) \ud83c\udf1f\ud83c\udf1f The NSA and CISA recently released a guide on Kubernetes hardening. We\u2019ll cover this guide in a three part series. First, let\u2019s explore the Threat Model and how it maps to K8s components.
                • blog.gitguardian.com: Kubernetes Hardening Tutorial Part 3: Authn, Authz, Logging & Auditing In this tutorial, you will learn the authentication, authorization, logging, and auditing of a Kubernetes cluster. Specifically, you will discuss some of the best practices in AWS EKS.
              • armosec.io: NSA & CISA Kubernetes Hardening Guide \u2013 what is new with version 1.1 In March 2022, NSA & CISA has issued a new version of the Kubernetes Hardening Guide \u2013 1.1. Here are the most important points addressed in this new version.
              "},{"location":"kubernetes-security/#cis-benchmarks-and-cis-operator","title":"CIS Benchmarks and CIS Operator","text":"
              • ibm.com: CIS Benchmarks Developed by a global community of cybersecurity professionals, CIS Benchmarks are a collection of best practices for securely configuring IT systems, software, networks, and cloud infrastructure.
              • aymen-abdelwahed.medium.com: K8s Operators \u2014 CIS Kubernetes Benchmarks How can I run my workloads securely on top of Kubernetes? In this post, we\u2019ll be taking a look at the CIS-Benchmark, breaking the concept down to simple terms, and in the end, deploying the CIS-Operator using Helm charts and custom values
                • rancher/cis-operator This is an operator that can run on a given Kubernetes cluster and provide ability to run security scans as per the CIS benchmarks, on the cluster.
              "},{"location":"kubernetes-security/#user-and-workload-identities-in-kubernetes","title":"User and Workload identities in Kubernetes","text":"
              • Four Methods to Access Azure Key Vault from Azure Kubernetes Service (AKS) \ud83c\udf1f - This article explores various methods for applications hosted on Azure Kubernetes Service (AKS) to securely retrieve secrets from Azure Key Vault. It details the use of Microsoft Entra Workload ID, which integrates with Kubernetes to federate with external identity providers, enabling pods to obtain Kubernetes identities via Service Account Token Volume Projection. This allows for the secure exchange of Kubernetes tokens for Microsoft Entra access tokens, facilitating secure access to Azure resources.

              • learnk8s.io/authentication-kubernetes: User and workload identities in Kubernetes \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f

                • The difference b/w externally managed and internal identities.
                • How Kubernetes assigns identities for internal users with Service Accounts.
              "},{"location":"kubernetes-security/#service-accounts","title":"Service Accounts","text":"
              • Service account is an important concept in terms of Kubernetes security. You can relate it to AWS instance roles and google cloud instance service account if you have a cloud background. By default, every pod gets assigned a default service account if you don\u2019t specify a custom service account. Service account allows pods to make calls to the API server to manage the cluster resources using ClusterRoles or resources scoped to a namespace using Roles. Also, you can use the Service account token from external applications to make API calls to the kubernetes API server.
                • devopscube.com: How To Create Kubernetes Service Account For API Access
                • devopscube.com: How to Create kubernetes Role for Service Account
                • github.com/scriptcamp/kubernetes-serviceaccount-example Example Kubernetes manifests to create service account mapped to Rolebinding.
              • medium: Working with Service Account In Kubernetes \ud83c\udf1f How to configure a service account in Kubernetes and manage it?
              • github.com/dvob/k8s-s2s-auth: Kubernetes Service Accounts \ud83c\udf1f Service accounts are well known in Kubernetes to access the Kubernets API from within the cluster. This is often used for infrastructure components like operators and controllers. But we can also use service accounts to implement authentication in our own applications. This README tries to give an overview on how service accounts work and and shows a couple of variants how you can use them for authentication. Further this repository contains an example Go service which shows how to implement the authentication in an application.
              • sandeepbaldawa.medium.com: Service Accounts in K8s (Kubernetes)
              • mjarosie.github.io: IAM roles for Kubernetes service accounts - deep dive
              • linkerd.io: Using Kubernetes\u2019s new Bound Service Account Tokens for secure workload identity
              • medium.com/pareture: Kubernetes Bound Projected Service Account Token Volumes Might Surprise You There is an important difference to understand and remember between default Service Account Projection and Bound Service Account Token Volumes.
              • medium.com/geekculture: K8s \u2014 ServiceAccount Token K8s ServiceAccount token deep dive
              • motilayo.hashnode.dev: Exploring Kubernetes Service Account Tokens and Secure Workload Identity Federation Ever wonder how AWS IRSA, GCP workload identity or Azure AD workload identity work in Kubernetes? This article explores how OIDC works in a Kubernetes cluster to trust external workloads
              • overcast.blog: Kubernetes Service Accounts: A Practical Guide
              "},{"location":"kubernetes-security/#kubernetes-secrets","title":"Kubernetes Secrets","text":"
              • cncf.io: Revealing the secrets of Kubernetes secrets \ud83c\udf1f In this article you will learn how to protect Secrets in your Kubernetes cluster
              • Hands on your first Kubernetes secrets \ud83c\udf1f
              • dev.to: Store your Kubernetes Secrets in Git thanks to Kubeseal. Hello SealedSecret! \ud83c\udf1f
              • blog.doit-intl.com: Kubernetes and Secrets Management in the Cloud
              • itnext.io: Effective Secrets with Vault and Kubernetes
              • kubernetes.io: Encrypting Secret Data at Rest \ud83c\udf1f
              • \u201cKubernetes base64 encodes secrets because that makes arbitrary data play nice with JSON. It had nothing to do with the security model (or lack thereof). It did not occur to us at the time that people could mistake base64 for some form of encryption\u201d
                • \u201cI\u2019ve always wondered how folks expect a system would be able to protect data at rest like that. If the public key and private key are local on the machine - nothing is secure no matter what algorithm is used\u201d
                • \u201cThe issue is not new or unique to k8s. There is a general confusion between encoding and encryption. Ask any web dev about base64, and there is a good chance they\u2019ll tell you it\u2019s encryption\u201d
                • \u201cThe semantics are important. Easy to grant an RBAC policy like \u201cread only except secrets\u201d
                • \u201cI just meant that base64 prevents you from logging a secret in plain text by accident\u2026 but many more layers are required to keep your secrets secret\u201d
                • \u201cYou need to configure how the key is managed and ideally opt into something like KMS plugin (which depends on how the cluster is hosted) to make it good\u201d
              • enterprisersproject.com: How to explain Kubernetes Secrets in plain English \ud83c\udf1f What is a Kubernetes secret? How does this type of Kubernetes object increase security? How do you create a Kubernetes secret? What are some best practices? Experts break it down
              • millionvisit.blogspot.com: Kubernetes for Developers #19: Manage app credentials using Kubernetes Secrets \ud83c\udf1f
              • kubermatic.com: Keeping the State of Apps Part 2: Introduction to Secrets
              • medium: Kubernetes Secrets Explained
              • medium: Managing your sensitive information during GitOps process with Secret Sealed
              • enlear.academy: Sealed Secrets with Kubernetes Usage of the sealed secret to encrypt Kubernetes secrets.
              • medium.com/codex: Sealed Secrets for Kubernetes How to encrypt Kubernetes Secret component and store it on the Git. And decrypt it using Kubernetes controller.
              • macchaffee.com: Plain Kubernetes Secrets are fine \ud83c\udf1f It\u2019s no secret that Kubernetes Secrets are just base64-encoded strings stored in etcd alongside the rest of the cluster\u2019s state. But is it really an issue? Let\u2019s create a rudimentary threat model for Kubernetes Secrets and see what comes up.
              • youtube: Manage Kubernetes Secrets With External Secrets Operator (ESO) \ud83c\udf1f
              • carlosalca.medium.com: How to manage all my K8s secrets in git securely with Bitnami Sealed Secrets
              • cloud.redhat.com: A Guide to Secrets Management with GitOps and Kubernetes \ud83c\udf1f This article will discuss two architectural approaches to managing secrets with GitOps: encrypted secrets stored in Git and storing a reference to secrets in Git
              • itnext.io: Vault cluster with auto unseal on Kubernetes
              • pjame-fb.medium.com: Kubernetes Secrets from Secrets Manager using External Secrets Operators In this article, you will learn how to store your credentials in the Secrets Manager and automatically retrieve them for creating Kubernetes Secrets using External Secrets.
              • mixi-developers.mixi.co.jp: Comparing External Secrets Operator with Secret Storage CSI as Kubernetes External Secrets is Deprecated In this article, you will compare the External Secrets Operator with Secret Storage CSI for using external secrets in a Kubernetes cluster. You will compare:
                • Architecture
                • Authorization management
                • Resource usage
                • GitOps friendliness
              • faun.pub: Secrets | Kubernetes A deep dive into Kubernetes Secrets
              • medium.com/@knoldus: Using sealed secrets in Kubernetes
                • medium.com/@knoldus: Introduction to sealed secrets in Kubernetes
              • eminalemdar.medium.com: Cloud Native Secret Management with External Secrets Operator
              • piotrminkowski.com: Sealed Secrets on Kubernetes with ArgoCD and Terraform In this article, you will learn how to manage secrets securely on Kubernetes in the GitOps approach using Sealed Secrets, ArgoCD, and Terraform
              • medium.com/google-cloud: Handle Kubernetes Secrets the GitOps Way \u2014 Part 1
              • dev.to: A Detailed Talk about K8S Cluster Security from the Perspective of Attackers (Part 1) This 2-part series summarizes the methods and experience of attacking Kubernetes components, external services of nodes, business pods, and container escaping, including lateral attacks, as well as attacks on the Kubernetes management platform
              "},{"location":"kubernetes-security/#kubernetes-cert-manager-encrypting-the-certificate-for-kubernetes-ssl-certificates-with-lets-encrypt-in-kubernetes-ingress-via-cert-manager","title":"Kubernetes Cert-Manager. Encrypting the certificate for Kubernetes. SSL certificates with Let\u2019s Encrypt in Kubernetes Ingress via cert-manager","text":"
              • cert-manager.io \ud83c\udf1f cert-manager adds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates. It can issue certificates from a variety of supported sources, including Let\u2019s Encrypt, HashiCorp Vault, and Venafi as well as private PKI.
              • Kubernetes Certs
              • Using SSL certificates from Let\u2019s Encrypt in your Kubernetes Ingress via cert-manager \ud83c\udf1f
              • medium: Encrypting the certificate for Kubernetes (Let\u2019s Encrypt) \ud83c\udf1f
              • rejupillai.com: Let\u2019s Encrypt the Web (for free)
              • betterprogramming.pub: Kubernetes and SSL Certificate Management \ud83c\udf1f Manage SSL certificate orders in K8s with Helm and Let\u2019s Encrypt.
              • getbetterdevops.io: How to Secure K8S Nginx Ingress With Let\u2019s Encrypt and Cert Manager Automate the provisioning of Let\u2019s Encrypt certificates for ingress resources
              • faun.pub: Automate Certificate Management In Kubernetes Using Cert-Manager
              • cert-manager/cert-manager Automatically provision and manage TLS certificates in Kubernetes
              • github.com/cert-manager: Policy Approver Policy Approver is a cert-manager approver that is responsible for Approving or Denying CertificateRequests.
              • jetstack.io: Getting started using cert-manager with the sig-network Gateway API
              • medium.com/@knoldus: Configure SSL certificate with cert-manager on Kubernetes
              • blog.devgenius.io: Automated DNS/TLS with External DNS & LetsEncrypt on Kubernetes In this article, you\u2019ll learn how to create TLS certificates for your application with cert-manager and DNS entries with external DNS. Finally, you will expose your applications with an ingress resource to tie it all together.
              • itnext.io: Upgrade Cert-Manager for Your Production Deployment Without Downtime When upgrading Cert-Manager, it\u2019s often required to update the CRDs. Unfortunately, it\u2019s not a straightforward process. In this article, you\u2019ll learn a few options that ensure a smooth Cert-Manager upgrade to avoid downtime of production deployment.
              • faun.pub: Let\u2019s encrypt and CertManager How to use CertManager and Let\u2019s encrypt in Kubernetes
              • armin.su: SSL certificates from Let\u2019s Encrypt for Kubernetes Private Ingress via Terraform
              • dev.to: Kubernetes TLS, Demystified \ud83c\udf1f
              "},{"location":"kubernetes-security/#kubernetes-openid-connect-oidc","title":"Kubernetes OpenID Connect OIDC","text":"
              • gini/dexter dexter is an OIDC (OpenId Connect) helper designed to create a hassle-free Kubernetes login experience powered by Google or Azure as Identity Provider. All you need is a properly configured Google or Azure client ID & secret
              • betterprogramming.pub: Kubernetes Authentication Sidecars: A Revelation in Microservice Architecture A history of authentication and how to solve authentication in a reusable way using sidecar containers in Kubernetes
              • blog.devgenius.io: SSO Authentication for Applications in Kubernetes This post discusses using SSO authentication and authorization to secure apps in Kubernetes. The tutorial uses Dex and Traefik Forward Auth (or Oauth2-Proxy) to add additional security to ingresses or apps that do not support built-in OIDC
              "},{"location":"kubernetes-security/#oauth2-proxy","title":"OAuth2 Proxy","text":"

              OAuth2 Proxy is an open-source reverse proxy that provides authentication and authorization for web applications. It is designed to sit in front of your web application and authenticate users using OAuth2 providers such as Google, Microsoft, and Facebook. Once a user has been authenticated, OAuth2 Proxy adds an authorization header to each request, allowing the web application to verify that the request came from an authenticated user.

              OAuth2 Proxy is commonly used in Kubernetes environments to secure access to web applications deployed on a Kubernetes cluster. It integrates with Kubernetes API Server to provide automatic configuration and discovery of the OAuth2 provider\u2019s credentials. It also supports a variety of authentication mechanisms, including Google OAuth2, Microsoft Azure AD, GitHub OAuth2, and others.

              Some of the key features of OAuth2 Proxy include:

              Support for multiple OAuth2 providers Automatic configuration and discovery of OAuth2 provider credentials Support for a variety of authentication mechanisms, including JWT tokens, cookies, and HTTP basic authentication Fine-grained access control through the use of role-based access control (RBAC) Support for custom headers and footers to customize the user interface Overall, OAuth2 Proxy is a powerful tool for securing web applications using OAuth2 providers. It simplifies the authentication and authorization process and makes it easy to manage access to your applications in a Kubernetes environment.

              • geek-cookbook.funkypenguin.co.nz: Using OAuth2 proxy for Kubernetes Dashboard In this tutorial, you will learn how to set up OAuth2 Proxy to pass authentication headers to Kubernetes Dashboard, which doesn\u2019t provide its authentication but instead relies on Kubernetes\u2019 own RBAC auth
              • imanishchaudhary.medium.com: Securing Kubernetes Dashboards: SSO Authentication and RBAC Implementation with Okta and OAuth2 Proxy
              "},{"location":"kubernetes-security/#alternatives","title":"Alternatives","text":"

              There are several alternatives to OAuth2 Proxy in Kubernetes, depending on your specific use case and requirements. Some popular options include:

              Istio: Istio is a popular open-source service mesh that provides a variety of features, including secure authentication and authorization through its Istio Authentication feature. Istio allows you to define authentication policies for your services using a variety of authentication mechanisms, such as JWT, OAuth, and mTLS.

              Keycloak: Keycloak is an open-source identity and access management solution that provides a variety of features, including authentication, authorization, and user management. Keycloak can be deployed on Kubernetes using its Helm chart and can be used to secure your Kubernetes applications using a variety of authentication mechanisms, such as OAuth2, OpenID Connect, and SAML.

              Dex: Dex is an open-source identity provider that can be used to provide authentication and authorization for Kubernetes applications. Dex can be deployed on Kubernetes using its Helm chart and can be used to authenticate users using a variety of authentication mechanisms, such as LDAP, OAuth2, and OpenID Connect.

              Traefik: Traefik is a popular open-source reverse proxy and load balancer that provides a variety of features, including secure authentication and authorization. Traefik can be used to secure your Kubernetes applications using a variety of authentication mechanisms, such as OAuth2, JWT, and basic authentication.

              Ambassador: Ambassador is a popular open-source API Gateway that provides a variety of features, including secure authentication and authorization. Ambassador can be used to secure your Kubernetes applications using a variety of authentication mechanisms, such as OAuth2, JWT, and basic authentication.

              Each of these alternatives provides different features and may be more suitable for different use cases. It\u2019s important to evaluate each option based on your specific needs and requirements.

              "},{"location":"kubernetes-security/#rbac-and-access-control","title":"RBAC and Access Control","text":"
              • Kubernetes does not have objects which represent normal user accounts. Normal users cannot be added to a cluster through an API call. So how do you create a user?
              • Configure RBAC in Kubernetes Like a Boss \ud83c\udf1f Learn how to configure RBAC in kubernetes. In this post, you will configure RBAC both with kubectl and yaml definitions.
              • infracloud.io: How to setup Role based access (RBAC) to Kubernetes Cluster \ud83c\udf1f
              • Kubernetes RBAC Permission Manager \ud83c\udf1f
              • Krane \ud83c\udf1f is a Kubernetes RBAC static analysis tool. It identifies potential security risks in K8s RBAC design and makes suggestions on how to mitigate them. Krane dashboard presents current RBAC security posture and lets you navigate through its definition.
              • rbac.dev \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f advocacy site for Kubernetes RBAC. A site dedicated to good practices and tooling around Kubernetes RBAC. Both pull requests and issues are welcome.
                • For recipes, tips and tricks around RBAC see recipes.rbac.dev \ud83c\udf1f
              • github.com/clvx/k8s-rbac-model: Kubernetes RBAC Model This is a implementation of a RBAC model for a multi project multi tenant Kubernetes cluster.
              • loft.sh: Kubernetes RBAC: Basics and Advanced Patterns
              • marcusnoble.co.uk: Restricting cluster-admin Permissions Generally, operators of the cluster are assigned to the cluster-admin ClusterRole. This gives the user access and permission to do all operations on all resources in the cluster. But what if you need to block an action performed by cluster admins?
              • medium.com/devops-mojo: Kubernetes \u2014 Role-Based Access Control (RBAC) Overview RBAC with Kubernetes \u2014 Role, ClusterRole, RoleBinding, and ClusterRoleBinding.
              • loft-sh.medium.com: 10 Essentials for Kubernetes Access Control
              • sumanthkumarc.medium.com: Kubernetes RBAC \u2014 Update default ClusterRoles without editing them
              • faun.pub: Assign permissions to an user in Kubernetes. An overview of RBAC-based AuthZ in k8s \ud83c\udf1f
              • anaisurl.com: RBAC Explained with Examples \ud83c\udf1f Kubernetes RBAC tutorial with two examples, using ServiceAccounts and openssl to create separate contexts for users
              • medium.com/@badawekoo: Using RBAC in Kubernetes for authorization-Complete Demo-Part 1
              • thenewstack.io: Securing Access to Kubernetes Environments with Zero Trust
              • learnk8s.io: Limiting access to Kubernetes resources with RBAC \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f What happens when you combine a Kubernetes RoleBinding to a ClusterRole? Are you even allowed? In this article, Yanan Zhao explores the K8s RBAC authorization model by rebuilding it from scratch.
              • medium.com/@15daniel10: YOYO attack on a K8S cluster In addition to the performance degradation for the attacked service, the underlying idea behind the attack is to exploit the autoscaling mechanism in order to make the victim deploy excessive resources and pay for them while having as little cost footprint for the attacker as possible. In other words, the attacker harnesses the power of the cloud against the organization that uses it.
              • dev.to: Binding AWS IAM roles to Kubernetes Service Account for on-prem clusters | Daniele Polencic \ud83c\udf1f AWS IAM to Kubernetes service accounts integration, but for on-prem clusters (i.e. non EKS, just regular clusters). Process to grant permissions to Pods.
                • medium.com/@danielepolencic: How does RBAC work in kubernetes \ud83c\udf1f A short and visual thread on how Kubernetes RBAC works in Kubernetes
              • dominik-tornow.medium.com: Inside Kubernetes RBAC
              • medium.com/@jtdv01: Kubernetes Authorization and Role Based Access Controls \ud83c\udf1f
              • faun.pub: Give Users and Groups Access to Kubernetes Cluster Using RBAC Role-based access control (RBAC) is a way of granting users granular access to Kubernetes API resources. RBAC is a security design that limits access to Kubernetes resources based on the user\u2019s role.
              • medium.com/@danielepolencic: AWS IAM Roles for service accounts for on-prem clusters In this short tutorial, you will learn how to configure the IAM roles for Service Account for a bare-metal cluster using minikube as an example.
              • medium.com/andcloudio: Setting up Authentication and RBAC Authorization in Kubernetes
              • dev.to: Configure RBAC in Kubernetes Like a Boss You will configure RBAC both with kubectl and yaml definitions.
              • raesene.github.io: Auditing RBAC - Redux The challenges of auditing Kubernetes authorization. Auditing Kubernetes authorization can be a bit of a tricky task. In this article, you will learn what techniques and tools you can use to identify, reassign and manage RBAC rules in your cluster.
              • goteleport.com: A Simple Overview of Authentication Methods for Kubernetes Clusters
              • medium.com/@mehmetodabashi: Authentication and Authorization in Kubernetes: Client Certificates and Role Based Access Control (RBAC) In this tutorial, you\u2019ll learn how to authenticate and authorize a user to access Kubernetes Clusters with client certificates
              • medium.com/@brunoolimpio: Kubernetes DeepDive \u2014 Parte 2 - Kubernetes RBAC and more\u2026 | Bruno Olimpio
              • youtube: Kubernetes RBAC Explained | Anton Putra \ud83c\udf1f
              "},{"location":"kubernetes-security/#tools","title":"Tools","text":"
              • paralus.io \ud83c\udf1f Zero trust Kubernetes with zero friction. - github.com/paralus/paralus Paralus is a free, open source tool that enables controlled, audited access to Kubernetes infrastructure. It comes with just-in-time service account creation and user-level credential management that integrates with your RBAC and SSO providers or Identity Providers (IdP) that support OIDC. Ships as a GUI, API, and CLI.
              • github.com/ondat/trousseau Trousseau uses the Kubernetes KMS provider framework to provide an envelope encryption scheme to encrypt secrets on the fly before they reach etcd. The project is modular and you can plug your own KMS tool (e.g. Vault).
              "},{"location":"kubernetes-security/#kubernetes-and-ldap","title":"Kubernetes and LDAP","text":"
              • loft.sh: Kubernetes and LDAP: Enterprise Authentication for Kubernetes
              "},{"location":"kubernetes-security/#admission-control","title":"Admission Control","text":"
              • blog.styra.com: Why RBAC is not enough for kubernetes security \ud83c\udf1f\ud83c\udf1f
              • medium: Single Sign-On in Kubernetes \ud83c\udf1f
              • trstringer.com: Create a Basic Kubernetes Validating Webhook
              • box/kube-exec-controller An admission controller service and kubectl plugin to handle container drift in K8s clusters
              "},{"location":"kubernetes-security/#kubernetes-security-best-practices","title":"Kubernetes Security Best Practices","text":"
              • Building a DDoS Response Plan with Azure DDoS Protection - (Related to azure topic)

              • Kubernetes Security 101: Risks and 29 Best Practices \ud83c\udf1f Security Best Practices Across Build, Deploy, and Runtime Phases.

              • Build Phase:
                1. Use minimal base images
                2. Don\u2019t add unnecessary components
                3. Use up-to-date images only
                4. Use an image scanner to identify known vulnerabilities
                5. Integrate security into your CI/CD pipeline
                6. Label non-fixable vulnerabilities
              • Deploy Phase:
                1. Use namespaces to isolate sensitive workloads
                2. Use Kubernetes network policies to control traffic between pods and clusters
                3. Prevent overly permissive access to secrets
                4. Assess the privileges used by containers
                5. Assess image provenance, including registries
                6. Extend your image scanning to deploy phase
                7. Use labels and annotations appropriately
                8. Enable Kubernetes role-based access control (RBAC)
              • Runtime Phase:
                1. Leverage contextual information in Kubernetes
                2. Extend vulnerability scanning to running deployments
                3. Use Kubernetes built-in controls when available to tighten security
                4. Monitor network traffic to limit unnecessary or insecure communication
                5. Leverage process whitelisting
                6. Compare and analyze different runtime activity in pods of the same deployments
                7. If breached, scale suspicious pods to zero
              • thenewstack.io: 6 Kubernetes Security Best Practices \ud83c\udf1f
              • armosec.io: Kubernetes Security Best Practices: Definitive Guide
              • semaphoreci.com: Secure Your Kubernetes Deployments In this tutorial, we present three tools to validate and secure your Kubernetes deployments:
                • Kubeval
                • Kubeconform
                • Kubescore
              • engineering.dynatrace.com: Kubernetes Security Best Practices -Part 1: Role Based Access Control (RBAC)
              • medium.com/dynatrace-engineering: Kubernetes Security Best Practices Part 2: Network Policies In this blog post, you\u2019ll cover the following topics:
                • What a NetworkPolicy is, and why do you need it
                • How NetworkPolicies are structured
                • Best practices for defining NetworkPolicies
                • An example of defining NetworkPolicies
              • blog.frankel.ch: Learning by auditing Kubernetes manifests In this article, you will learn about Kubernetes security and architecture by reviewing reports from Chekov \u2014 a tool designed to find misconfigurations before they\u2019re deployed.
              • spectrocloud.com: Kubernetes security best practices: 5 easy ways to cut risk
              • medium.com/@cloud_tips: Kubernetes Security Best Practices

              "},{"location":"kubernetes-security/#kubernetes-authentication-and-authorization","title":"Kubernetes Authentication and Authorization","text":"
              • From Zero to Hero with Identity and Access Control in Azure Kubernetes Service \ud83c\udf1f - A comprehensive guide for Kubernetes administrators transitioning to Azure Kubernetes Service (AKS), explaining the integration of Microsoft Entra ID (formerly Azure Active Directory) for centralized identity and access management. It covers the differences and complementary nature of Azure RBAC and Kubernetes RBAC, how to use Azure RBAC for Kubernetes authorization, assigning roles and permissions, the impact on local admin accounts, implementing managed and workload identities, and best practices for AKS authentication and authorization.
              • Configure Microsoft Entra for Increased Security - This article provides guidance on configuring Microsoft Entra for enhanced security, organized by themes aligned with the Secure Future Initiative (SFI). It focuses on implementing controls for traditional workforce tenants to reduce credential-related risks and build a foundation for secure resource management. The document highlights the use of automated assessments like the Zero Trust Assessment for efficient validation of security configurations.

              • kubernetes.io: Authenticating

              • kubernetes.io: Access Clusters Using the Kubernetes API
              • kubernetes.io: Accesing Clusters
              • magalix.com: kubernetes authentication \ud83c\udf1f
              • magalix.com: kubernetes authorization \ud83c\udf1f
              • kubernetes login
              • learnk8s.io: Authentication between microservices using Kubernetes identities \ud83c\udf1f
              • gravitational.com: How to Set Up Kubernetes SSO with SAML
              • lisowski0925.medium.com: Using Kubernetes Certificate Signing Requests and RBAC for User Authentication and Authorization
              "},{"location":"kubernetes-security/#kubernetes-authentication-methods","title":"Kubernetes Authentication Methods","text":"

              Kubernetes supports several authentication methods out-of-the-box, such as X.509 client certificates, static HTTP bearer tokens, and OpenID Connect.

              "},{"location":"kubernetes-security/#x509-client-certificates","title":"X.509 client certificates","text":"
              • Kubernetes Authentication and Authorization with X509 client certificates
              "},{"location":"kubernetes-security/#static-http-bearer-tokens","title":"Static HTTP Bearer Tokens","text":"
              • stackoverflow: Accessing the Kubernetes REST end points using bearer token
              "},{"location":"kubernetes-security/#openid-connect","title":"OpenID Connect","text":"
              • OpenID Connect
              "},{"location":"kubernetes-security/#implementing-a-custom-kubernetes-authentication-method","title":"Implementing a custom Kubernetes authentication method","text":"
              • Implementing a custom Kubernetes authentication method
              "},{"location":"kubernetes-security/#pod-security-policies-sccs-security-context-constraints-in-openshift","title":"Pod Security Policies (SCCs - Security Context Constraints in OpenShift)","text":"
              • Pod Security Policy (SCC in OpenShift) \ud83c\udf1f
              • rancher.com: Enhancing Kubernetes Security with Pod Security Policies, Part 1
                • rancher.com: Enhancing Kubernetes Security with Pod Security Policies, Part 2
              • developer.squareup.com: Kubernetes Pod Security Policies (PSP) an example with exception management
              • itnext.io: Implementing a Secure-First Pod Security Policy Architecture
              • Neon Mirrors: Kubernetes Policy Comparison: OPA/Gatekeeper vs Kyverno
              • ibrahims.medium.com: Security Context \u2014 Kubernetes
              "},{"location":"kubernetes-security/#security-profiles-operator","title":"Security Profiles Operator","text":"
              • The Security Profiles Operator (SPO) is an out-of-tree Kubernetes enhancement to make the management of seccomp, SELinux and AppArmor profiles easier and more convenient.
              • kubernetes-sigs/security-profiles-operator
              • kubernetes.io: What\u2019s new in Security Profiles Operator v0.4.0
              "},{"location":"kubernetes-security/#eks-security","title":"EKS Security","text":"
              • Security Group Rules EKS
              • EC2 ENI and IP Limit
              • Calico in EKS
              • Amazon EKS Best Practices Guide for Security \ud83c\udf1f
              • medium.com: Securing Kubernetes Dashboard on EKS with Pomerium
              "},{"location":"kubernetes-security/#external-secrets-operator","title":"External Secrets Operator","text":"
              • external-secrets.io \ud83c\udf1f External Secrets Operator is a Kubernetes operator that integrates external secret management systems like AWS Secrets Manager, HashiCorp Vault, Google Secrets Manager, Azure Key Vault, IBM Cloud Secrets Manager, and many more. The operator reads information from external APIs and automatically injects the values into a Kubernetes Secret.
              • mahira-technology.medium.com: Kubernetes Secrets Management: Level Up with External Secrets Operator Kubernetes has become a popular platform for deploying and managing containerized applications. As applications grow in complexity, managing secrets such as API keys, passwords, and certificates becomes increasingly important. While Kubernetes provides a built-in Secrets resource, it has limitations when it comes to managing secrets across multiple clusters or integrating with external secret management systems. This is where the External Secrets Operator (ESO) comes into play. ESO is an open-source Kubernetes operator that allows you to manage secrets from external secret management systems and synchronize them as Kubernetes Secrets.
              • faun.pub: External Secret Operator on AKS (with Terraform) for Azure Key Vault Integration (with Workload Identity)
              "},{"location":"kubernetes-security/#cve","title":"CVE","text":"
              • hackerone.com: Authenticated kubernetes principal with restricted permissions can retrieve ingress-nginx serviceaccount token and secrets across all namespaces
              • blog.lightspin.io: NGINX Custom Snippets CVE-2021-25742
              "},{"location":"kubernetes-security/#official-kubernetes-cve-feed","title":"Official Kubernetes CVE Feed","text":"
              • kubernetes.io: Official CVE Feed \ud83c\udf1f
              • kubernetes.io: Announcing the Auto-refreshing Official Kubernetes CVE Feed
              "},{"location":"kubernetes-security/#videos","title":"Videos","text":"Click to expand!

              "},{"location":"kubernetes-security/#tweets","title":"Tweets","text":"Click to expand!

              Kubernetes base64 encodes secrets because that makes arbitrary data play nice with JSON. It had nothing to do with the security model (or lack thereof). It did not occur to us at the time that people could mistake base64 for some form of encryption.

              \u2014 Daniel Smith (@originalavalamp) July 4, 2021

              #OAuth has 4 Flows for retrieving an Access Token.If you have worked with it, you know how difficult is it to remember what is what.A Zine says a lot, seriously a lot. Check this out.Idea credits @b0rk #IAM #security #infosec #webdev #web #webcomic #webcomics RT if useful pic.twitter.com/fbrls0V08K

              \u2014 Rohit (@sec_r0) January 8, 2021

              Kubernetes security best practices in short -A Thread \ud83d\udc47 pic.twitter.com/kehRjXuiEw

              \u2014 Rakesh Jain (@devops_tech) October 9, 2021

              Kubernetes security thing: Always be careful of what you are letting your users choose for usernames. If somone has a username of system:kube-controller-manager on an external Identity system, Kubernetes will quite happily give them the rights of the controller manager :)

              \u2014 Rory McCune (@raesene) November 1, 2021"},{"location":"kubernetes-security/#kubernetes-security_1","title":"kubernetes-security","text":"
              • kubescape - Kubescape is an open-source Kubernetes security platform for your IDE, CI/CD pipelines, and clusters. It includes risk analysis, security, compliance, and misconfiguration scanning, saving Kubernetes users and administrators precious time, effort, and resources.
              "},{"location":"kubernetes-storage/","title":"Kubernetes Storage. Cloud Native Storage","text":"
              1. Introduction
              2. Kubernetes Storage API Interface
              3. Kubernetes Storage Classes
              4. Kubernetes Volumes
                1. Kubernetes Volumes Guide
              5. DoK Community
              6. ReadWriteMany PersistentVolumeClaims
              7. Ebooks
              8. Cloud Native Storage Solutions
                1. Rook
                2. Robin
                3. Reduxio
                4. Portworx
                5. StorageOS
                6. OpenEBS
                7. LightOS
                8. Longhorn
                9. IBM Spectrum Storage Suite
                10. Linbit
                11. Kadalu
                12. IOMesh
                13. MinIO
                14. NetApp Data Store
                15. Stork Storage Operator
                16. Curve - OpenCurve
                17. simplyblock
              9. OpenShift Container Storage Operator (OCS)
                1. OCS 3 (OpenShift 3)
                2. OCS 4 (OpenShift 4)
              10. Kubernetes CSI
              11. Kubestr
              12. VolSync
              13. Discoblocks
              14. Images
              15. Tweets
              16. Videos
              "},{"location":"kubernetes-storage/#introduction","title":"Introduction","text":"
              • thenewstack.io: How Kubernetes provides networking and storage to applications
              • medium: Kubernetes Storage Explained \ud83c\udf1f kubernetes/volumes/claims
              • thenewstack.io: A Guide to Running Stateful Applications in Kubernetes
              • forbes.com: 5 Cloud Native Storage Startups To Watch Out For In 2019
              • medium: Solution architect\u2019s guide to Kubernetes persistent storage
              • howtoforge.com: Storage in Kubernetes \ud83c\udf1f
              • cncf.io: Container Attached Storage is Cloud Native Storage (CAS)
              • thenewstack.io: The most popular cloud native solutions \ud83c\udf1f
              • medium: Kubernetes Storage Performance Comparison v2 (2020 Updated) \ud83c\udf1f
              • blocksandfiles.com: geless storage is the \u2018answer\u2019 to Kubernetes data challenges
              • rancher.com: What is Cloud-Native Storage?
              • softwareengineeringdaily.com: Why Is Storage On Kubernetes So Hard? \ud83c\udf1f
              • thenewstack.io: Compute and Storage Should Be Decoupled for Log Management at Scale
              • blog.min.io: Why Kubernetes Managed Object Storage Matters
              • gitlab.com: Kubernetes storage provider benchmarks
              • ibm.com: Using Fio to Tell Whether Your Storage is Fast Enough for Etcd
              • marketplace.redhat.com: Dont treat Kubernetes storage as an afterthought: Turn to persistent container storage for high performance and availability
              • thenewstack.io: Beyond Block and File: COSI Enables Object Storage in Kubernetes \ud83c\udf1f
              • thenewstack.io: When Is Decentralized Storage the Right Choice?
              • storj.io: Integrating Decentralized Cloud Storage with Duplicati
              • thenewstack.io: The Biggest Gap in Kubernetes Storage Architecture?
              • medium: Provisioning storage in Kubernetes
              • kylezsembery.com: Persistent Storage in Kubernetes In this post I\u2019ll briefly explain how persistent storage works in Kubernetes.
              • blog.mayadata.io: Container Attached Storage (CAS) vs. Software-Defined Storage - Which One to Choose?
              • thenewstack.io: Stateful Workloads on Kubernetes with Container Attached Storage \ud83c\udf1f
              • developers.redhat.com: How to maximize data storage for microservices and Kubernetes, Part 1: An introduction \ud83c\udf1f
              • blog.mayadata.io: Kubernetes storage basics: PV, PVC and StorageClass \ud83c\udf1f
              • infoworld.com: Kubernetes object storage best practices Like Kubernetes itself, the underlying object storage should be distributed, decoupled, declarative, and immutable.
              • ondat.io: Stateful Apps in Kubernetes are a big deal
              • techgenix.com: Data Storage Management for Kubernetes - 5 movers and shakers
              • thenewstack.io: The Growth of State in Kubernetes
              • itnext.io: Highly Available NFS cluster in Kubernetes, a cloud vendor independent storage solution
              • armosec.io: Data Storage in Kubernetes Kubernetes in cooperation with cloud vendor infrastructure provides flexible mechanisms for data storage and management. It is up to the users to decide which mechanism best fits their application needs. However, the security side of the data storage falls completely under the user\u2019s responsibility. Most of the default settings are wide open and require significant security expertise to protect your applications from data leakage.
              • infoq.com: Best Practices for Running Stateful Applications on Kubernetes
              • blog.flant.com: Comparing Ceph, LINSTOR, Mayastor, and Vitastor storage performance in Kubernetes Are you looking for an easy-to-use, reliable block-type storage for your cluster?
              • medium.com/@amir.ilw: Kubernetes Storage Migration \ud83c\udf1f Storage migrations, storage path changes or even moving to a newer faster CSI can be overwhelming. In this article, you\u2019ll learn the required steps, how to avoid the pitfalls of immutable volumes and how to plan your next migration.
              • discoblocks.io \ud83c\udf1f - ondat/discoblocks Open Source declarative disk configuration system for Kubernetes. Discoblocks is an open-source declarative disk configuration system for Kubernetes helping to automate CRUD (Create, Read, Update, Delete) operations for cloud disk device resources attached to Kubernetes cluster nodes.
              • medium.com/geekculture: Storage | Kubernetes A Deep Dive into Kubernetes Storage
              • itnext.io: Temporary Storage for Kubernetes Pods Or emptyDir vs. container File System. Kubernetes applications might need some temporary storage that could be discarded after a container is stopped/removed. In this article, you will compare emptyDir and the container\u2019s local storage.
              • container-object-storage-interface.github.io: Kubernetes COSI [ARCHIVED] Kubernetes Container Object Storage Interface (COSI) is a standard for exposing object storage to containerized workloads running in Kubernetes. COSI is meant to be a departure from the CSI since the latter does not work well with object storage.
              • medium.com/nerd-for-tech: Persistence with Kubernetes
              • cncf.io: Kubernetes storage is complex, but it\u2019s getting better
              • yuminlee2.medium.com: Kubernetes: Storage In Kubernetes, pods are temporary and any data stored within them is lost when they\u2019re deleted or restarted. To avoid this, use persistent storage options such as PVs(Persistent Volumes)and PVCs(Persistent Volume Claims). PVs are storage resources with an independent lifecycle, while PVCs are requests for storage. Use them for simplified storage management and scaling. Provisioning persistent volumes can be static or dynamic. StorageClass defines the provisioner, parameters, and reclaim policy for dynamically provisioned PVs.
              • medium.com/kubernetes-deveops: Kubernetes \u2014 Deploying Application with Persistent Storage Implementing Storage Controller for Auto-Provisioning
              "},{"location":"kubernetes-storage/#kubernetes-storage-api-interface","title":"Kubernetes Storage API Interface","text":"
              • danielmangum.com: K8s ASA: The Storage Interface The primary function of the Kubernetes API Server is to ingest data, store it, and then return it when requested. In this article, you will learn how the API Server stores data.
              "},{"location":"kubernetes-storage/#kubernetes-storage-classes","title":"Kubernetes Storage Classes","text":"
              • kubermatic.com: Keeping the State of Apps 5: Introduction to Storage Classes
              "},{"location":"kubernetes-storage/#kubernetes-volumes","title":"Kubernetes Volumes","text":"
              • itnext.io: Kubernetes: PersistentVolume and PersistentVolumeClaim \u2014 an overview with examples
              • thenewstack.io: Persistent Volumes: Separating Compute and Storage
              • developers.redhat.com: Persistent storage in action: Understanding Red Hat OpenShift\u2019s persistent volume framework \ud83c\udf1f
              • itnext.io: Resizing StatefulSet Persistent Volumes with zero downtime \ud83c\udf1f
              • github.com/kubernetes-sigs: Local Persistence Volume Static Provisioner \ud83c\udf1f The local volume static provisioner manages PersistentVolume lifecycle for pre-allocated disks by detecting and creating PVs for each local disk on the host and cleaning up the disks when released. It does not support dynamic provisioning
              • shuanglu1993.medium.com: What happens when volumeManager in the kubelet starts? In this deep-dive, you will learn how the volumeManager sync loop is initialized and starts 3 async calls to maintain the objects \u2018desiredStateOfWorld\u2019 and \u2018actualStateOfWorld\u2019 and \u2018reconcile\u2019 the volumes on the node to the desired state.
              • linkedin.com/pulse: What are Kubernetes Persistent Volumes?
              • blog.newrelic.com: Kubernetes Fundamentals, Part 5: Working with Kubernetes Volumes
              • medium.com/codex: Kubernetes Persistent Volume Explained Learn what a Persistent Volume is and how to create a persistent volume from a storage class. Then, learn how to create a persistent volume claim and how to attach the PVC to a Pod:
                • How to create a persistent volume from a storage class
                • How to create a persistent volume claim
                • How to attach the PVC to a Pod
              • giffgaff.io: Resizing StatefulSet Persistent Volumes with zero downtime \ud83c\udf1f
              • kubermatic.com: Keeping the State of Apps 1: Introduction to Volume and volumeMounts In this blog post, you will get a hands-on practice and learn how to provide persistent storage in the form of different volumes to the Pods.
              • blog.cloudnloud.com: Kubernetes Volume
              • adamtheautomator.com: Effortless Storage Management With Kubernetes PVC \ud83c\udf1f In this tutorial, you\u2019ll learn about Kubernetes PVC and set up a persistent volume for a MySQL database. You\u2019ll also confirm that the data persists even after deleting and recreating the pods.
              • portworx.com: Kubernetes Persistent Volume Tutorial by Portworx
                • What is K8s PV?
                • How do they differ from k8s volumes?
                • Why would you use persistent volumes?
                • How to get started using persistent volumes?
              • openebs/zfs-localpv CSI Driver for dynamic provisioning of Persistent Local Volumes for Kubernetes using ZFS.
              • devineer.medium.com: Get to Grips with Kubernetes Volumes: A Practical Tutorial
              • airplane.dev: How to use Kubernetes ephemeral volumes & storage \ud83c\udf1f This tutorial will discuss how Kubernetes handles ephemeral storage and how these volumes are provisioned in operating clusters.
              • blog.devgenius.io: When K8s pods are stuck mounting large volumes
              • spacelift.io: Kubernetes Persistent Volumes \u2013 Tutorial and Examples
              "},{"location":"kubernetes-storage/#kubernetes-volumes-guide","title":"Kubernetes Volumes Guide","text":"
              • matthewpalmer.net: Filesystem vs Volume vs Persistent Volume \ud83c\udf1f This is a guide that covers:
                • How to set up and use volumes in Kubernetes
                • What are persistent volumes, and how to use them
                • How to use an NFS volume
                • Shared data and volumes between pods
              "},{"location":"kubernetes-storage/#dok-community","title":"DoK Community","text":"
              • DoK Community \ud83c\udf1f
              • Kubernetes was originally designed to run stateless workloads. Today, it is increasingly used to run databases and other stateful workloads. Yet despite the success of these early adopters, there remain few known good practices for running data on Kubernetes.
              • After discussions with thousands of companies and individuals running data workloads on Kubernetes we\u2019ve come to see that there is a need for a sharing of patterns and concerns about how to build and operate data-centric applications on Kubernetes. As a result, the Data on Kubernetes Community (DoKC) was born.
              • dok.community: Data on Kubernetes 2021 \ud83c\udf1f Insights from over 500 executives and technology leaders on how Kubernetes is being used for data and the factors driving further adoption
              "},{"location":"kubernetes-storage/#readwritemany-persistentvolumeclaims","title":"ReadWriteMany PersistentVolumeClaims","text":"
              • Create ReadWriteMany PersistentVolumeClaims on your Kubernetes Cluster \ud83c\udf1f Kubernetes allows us to provision our PersistentVolumes dynamically using PersistentVolumeClaims. Pods treat these claims as volumes. The access mode of the PVC determines how many nodes can establish a connection to it. We can refer to the resource provider\u2019s docs for their supported access modes.
              • Digital Ocean: Kuberntes PVC ReadWriteMany access mode alternative
              "},{"location":"kubernetes-storage/#ebooks","title":"Ebooks","text":""},{"location":"kubernetes-storage/#cloud-native-storage-solutions","title":"Cloud Native Storage Solutions","text":"
              • Ceph: A Distributed Object, Block, and File Storage Platform \ud83c\udf1f - This repository contains the source code for Ceph, a powerful and highly scalable distributed storage system. Ceph provides object, block, and file storage interfaces, making it suitable for a wide range of cloud-native and enterprise storage needs, including integration with Kubernetes.

              • itnext.io: State of Persistent Storage in K8s \u2014 A Benchmark

              "},{"location":"kubernetes-storage/#rook","title":"Rook","text":"
              • Rook
              • itnext.io: Using Rook On A K3s Cluster
              • medium.com/@abdulfayis: storage Orchestration for Kubernetes
              "},{"location":"kubernetes-storage/#robin","title":"Robin","text":"
              • Robin
              "},{"location":"kubernetes-storage/#reduxio","title":"Reduxio","text":"
              • Reduxio
              "},{"location":"kubernetes-storage/#portworx","title":"Portworx","text":"
              • Portworx
              "},{"location":"kubernetes-storage/#storageos","title":"StorageOS","text":""},{"location":"kubernetes-storage/#openebs","title":"OpenEBS","text":"
              • OpenEBS extends the benefits of software-defined storage to cloud native through the container attached approach.
              • MayaData Founder of OpenEBS
              • goglides.io: Running OpenEBS in Kubernetes
              • OpenEBS Features and Benefits OpenEBS is cloudnative storage for stateful applications on K8s where \u201ccloud native\u201d means following a loosely coupled architecture. As such the normal benefits to cloud native, loosely coupled architectures apply.
              • openebs/dynamic-localpv-provisioner: Dynamic Kubernetes Local Persistent Volumes Dynamic Local Volumes for Kubernetes Stateful workloads.
              • openebs/lvm-localpv CSI Driver for dynamic provisioning of Persistent Local Volumes for Kubernetes using LVM.
              "},{"location":"kubernetes-storage/#lightos","title":"LightOS","text":"
              • LightOS
              • blocksandfiles.com: Lightbits Labs adds Kubernetes table stakes: CSI support
              "},{"location":"kubernetes-storage/#longhorn","title":"Longhorn","text":"
              • Longhorn
              • thenewstack.io: Rancher Donates its \u2018Longhorn\u2019 Kubernetes Persistent Storage Software to CNCF. Gluster and Ceph were \u201cdesigned to be run by some storage admin. In the Kubernetes world, a lot of these things tend to be deployed by DevOps teams, so (the storage layer) needs to be a lot more lightweight and a lot simpler.\u201d \u2014 Rancher Labs CEO Sheng Liang.
              • Longhorn Simplifies Distributed Block Storage in Kubernetes
              • containerjournal.com: Rancher Labs Adds Support for Longhorn Storage on Kubernetes Clusters
              • aesher9o1.medium.com: Autoscale large images faster using Longhorn (distributed storage)
              • medium.com/@abdelrhmanahmed131: Longhorn \u2014 Distributed Block Storage for K8s
              "},{"location":"kubernetes-storage/#ibm-spectrum-storage-suite","title":"IBM Spectrum Storage Suite","text":"
              • IBM Spectrum IBM Spectrum Storage software for data-driven architecture. A complete storage software family with AI-infused capability that changes the economics of storage on-prem and in the hybrid multicloud.
              • redbooks.ibm.com: IBM Storage for Red Hat OpenShift. IBM block storage & IBM Spectrum Scale
              • searchstorage.techtarget.com: IBM Spectrum
              "},{"location":"kubernetes-storage/#linbit","title":"Linbit","text":"
              • linbit.com: LINSTOR - kubernetes persistent container storage
              "},{"location":"kubernetes-storage/#kadalu","title":"Kadalu","text":"
              • Kadalu A lightweight Persistent storage solution for Kubernetes / OpenShift using GlusterFS in background. Kadalu is a project to provide Persistent Storage in Kubernetes. The Kadalu operator deploys CSI pods, and gluster storage pods
              "},{"location":"kubernetes-storage/#iomesh","title":"IOMesh","text":"
              • iomesh.com
              • blocksandfiles.com: Kubernetes storage: SmartX\u2019s IOMesh beats Portworx, Longhorn and OpenEBS
              • iomesh.com: Outperforming Peer Products, IOMesh Takes Cloud Native Storage to the Next Level
              "},{"location":"kubernetes-storage/#minio","title":"MinIO","text":"
              • min.io Multi-Cloud Object Storage. MinIO offers high-performance, S3 compatible object storage. Native to Kubernetes, MinIO is the only object storage suite available on every public cloud, every Kubernetes distribution, the private cloud and the edge. MinIO is software-defined and is 100% open source under GNU AGPL v3.
              • blog.min.io: Best Practices for Kubernetes Object Storage
              • blog.min.io: Cloud-Native Object Storage Architectures: Single-Tenant vs Multi-Tenant
              "},{"location":"kubernetes-storage/#netapp-data-store","title":"NetApp Data Store","text":"
              • docs.netapp.com: Intro to Astra Data Store preview
              "},{"location":"kubernetes-storage/#stork-storage-operator","title":"Stork Storage Operator","text":"
              • libopenstorage/stork: Stork - Storage Operator Runtime for Kubernetes Stork - Storage Orchestration Runtime for Kubernetes
              "},{"location":"kubernetes-storage/#curve-opencurve","title":"Curve - OpenCurve","text":"
              • Curve: opencurve.io Curve is a high-performance, lightweight-operation, cloud-native open source distributed storage system for Kubernetes/OpenStack. Curve can also be used as a cloud storage middleware using S3-compatible object storage as a data storage engine.
              "},{"location":"kubernetes-storage/#simplyblock","title":"simplyblock","text":"
              • simplyblock: simplyblock.io Simplyblock is a NVMe over TCP (NVMe/TCP) based disaggregated and cloud-native storage solution with high-performance and predictable low latency block storage for Kubernetes.
              "},{"location":"kubernetes-storage/#openshift-container-storage-operator-ocs","title":"OpenShift Container Storage Operator (OCS)","text":"
              • State of OpenShift Container Storage
              "},{"location":"kubernetes-storage/#ocs-3-openshift-3","title":"OCS 3 (OpenShift 3)","text":"
              • OpenShift Container Storage based on GlusterFS technology.
              • Not OpenShift 4 compliant: Migration tooling will be available to facilitate the move to OCS 4.x (OpenShift Gluster APP Mitration Tool).
              "},{"location":"kubernetes-storage/#ocs-4-openshift-4","title":"OCS 4 (OpenShift 4)","text":"
              • OCS Operator based on Rook.io with Operator LifeCycle Manager (OLM).
              • Tech Stack:
                • Rook (don\u2019t confuse this with non-redhat \u201cRook Ceph\u201d -> RH ref).
                  • Replaces Heketi (OpenShift 3)
                  • Uses Red Hat Ceph Storage and Noobaa.
                • Red Hat Ceph Storage
                • Noobaa:
                  • Red Hat Multi Cloud Gateway (AWS, Azure, GCP, etc)
                  • Asynchronous replication of data between my local ceph and my cloud provider
                  • Deduplication
                  • Compression
                  • Encryption
              • Backups available in OpenShift 4.2+ (Snapshots + Restore of Volumes)
              • OCS Dashboard in OCS Operator
              "},{"location":"kubernetes-storage/#kubernetes-csi","title":"Kubernetes CSI","text":"
              • kubernetes-csi.github.io Kubernetes-CSI is a community repository containing projects to enable CSI support in Kubernetes.
              • github.com/kubernetes-csi Kubernetes specific Container-Storage-Interface (CSI) components
              • SMB CSI Driver for Kubernetes This driver allows Kubernetes to access SMB Server on both Linux and Windows nodes.
              • github.com/yandex-cloud: CSI for S3 This is a Container Storage Interface (CSI) for S3 (or S3 compatible) storage. This can dynamically allocate buckets and mount them via a fuse mount into any container.
              • sklar.rocks: How the CSI (Container Storage Interface) Works
              "},{"location":"kubernetes-storage/#kubestr","title":"Kubestr","text":"
              • kubestr.io Kubestr is a collection of tools to discover, validate and evaluate your kubernetes storage options.
              • blog.kasten.io: Benchmarking and Evaluating Your Kubernetes Storage with Kubestr
              "},{"location":"kubernetes-storage/#volsync","title":"VolSync","text":"
              • VolSync \ud83c\udf1f Asynchronous data replication for Kubernetes volumes. VolSync asynchronously replicates Kubernetes persistent volumes between clusters using either rsync or rclone. It also supports creating backups of persistent volumes via restic.
              • next.redhat.com: Introducing VolSync: your data, anywhere VolSync, a new storage-agnostic utility for exporting and importing objects from one Kubernetes namespace to another, even across clusters!
              "},{"location":"kubernetes-storage/#discoblocks","title":"Discoblocks","text":"
              • Discoblocks: ondat.io/discoblocks - github.com/ondat/discoblocks Discoblocks is an open-source declarative disk configuration system for Kubernetes helping to automate CRUD (Create, Read, Update, Delete) operations for cloud disk device resources attached to Kubernetes cluster nodes.
              "},{"location":"kubernetes-storage/#images","title":"Images","text":"Click to expand!"},{"location":"kubernetes-storage/#tweets","title":"Tweets","text":"Click to expand!

              General rule of thumb: there is no such thing as persistent storage in Kubernetes.

              \u2014 Richard North (@whichrich) January 7, 2022

              "},{"location":"kubernetes-storage/#videos","title":"Videos","text":"Click to expand!"},{"location":"kubernetes-tools/","title":"Kubernetes Plugins, Tools, Extensions and Projects","text":"
              1. Introduction
              2. K8s Tools
              3. CI/CD Tools
              4. kubetail
              5. Portainer
              6. kubecfg
              7. Curl
              8. kcp
              9. Clusternet
              10. Open Cluster Management
              11. Penetration Testing Tools
              12. Deckhouse Kubernetes Platform
              13. KubeIP (GKE)
              14. Porter
              15. Datree. Quality Checks for Kubernetes YAMLs
              16. Kaniko Build Images in Kubernetes without docker
              17. Shipwright Framework for Building Container Images on Kubernetes
              18. BuildKit CLI for kubectl
              19. Buildpacks vs Dockerfiles
              20. Kubevela
              21. Pixie. Instantly troubleshoot applications on Kubernetes
              22. Dekorate. Generate k8s manifests for java apps
              23. Kubesploit
              24. Kubeshop
              25. Meshery
              26. Monokle
              27. K8studio
              28. KubeLibrary
              29. kube-vip
              30. Kubermetrics
              31. Kustomizer
              32. MetalLB
              33. Kubermatic Kubernetes Platform
                1. Kubermatic Kubeone
              34. Usernetes
              35. k8syaml.com
              36. Popeye
              37. kbrew
              38. KubExplorer
              39. Kubescape
              40. Kubectl Connections
              41. Benchmark Operator
              42. Source-To-Image (S2I)
              43. VMware Tanzu Octant
              44. Qovery Engine
              45. mck8s Container orchestrator for multi-cluster Kubernetes
              46. Shipwright framework
              47. Schiff (Deutsche Telekom)
              48. NetMaker
              49. AWS Karpenter kubernetes Autoscaler
              50. Kuby (easy deployments of Ruby Rails App)
              51. Direktiv
              52. Jabos
              53. Pleco
              54. Mesh-kridik
              55. kubewatch
              56. Botkube
              57. Robusta
              58. Soup GitOps Operator
              59. Epinio
              60. Testkube
              61. KuberLogic
              62. Kusk
              63. Azure AD Workload Identity
              64. Kubernate
              65. Tackle
              66. Azure Placement Policy Scheduler Plugins
              67. Azure AAD Pod Identity
              68. Azure Related
              69. Related AI
              70. kubernetes-operators-controllers
              71. MicroShift
              72. kubernetes-networking
              73. kubefwd (Kube Forward)
              74. Kpng. Kubernetes Proxy NG
              75. Auto-portforward (apf)
              76. Gardener
              77. Werf
              78. Starboard kubernetes-native security toolkit
              79. Netshoot
              80. The Hierarchical Namespace Controller (HNC)
              81. Kratix
              82. gRPC-Gateway
              83. KubeOrbit. Test your app on kubernetes
              84. Mizu API Traffic Viewer for Kubernetes
              85. vcluster
              86. Kateyes
              87. Keepass Secret
              88. Workflow Schedulers
                1. Komodor Workflows
              89. Azure Eraser
              90. Data Pipeline Workflow Schedulers
              91. ConfigMap Reloader
              92. Kluctl
              93. k2tf Kubernetes YAML to Terraform HCL converter
              94. Kubernetes Security Tools
              95. PureLB
              96. Murre
              97. k9s
              98. Pluto
              99. Konf Lightweight Kubeconfig Manager
              100. K8spacket
              101. Infrastructure as Code using Kubernetes. Config Connector
              102. Claudie Cloud-agnostic managed Kubernetes
              103. Observability Monitoring Tools
                1. Debugging and Troubleshooting Tools
              104. Security
              105. Develop microservices locally while being connected to your Kubernetes environment
              106. AI Tools
              107. Tweets
              108. Videos
              109. kubernetes-tools
              "},{"location":"kubernetes-tools/#introduction","title":"Introduction","text":"
              • collabnix.com: Top 10 Kubernetes Tools You Need for 2021 \u2013 Part 1
              • collabnix.github.io: Kubetools - A Curated List of Kubernetes Tools: Kubetools - A Curated List of Kubernetes Tools
              • cyberithub.com: 70+ Important Kubernetes Related Tools You Should Know About
              • itnext.io: Kubernetes GitOps Tools
              • itnext.io: Kubernetes Essential Tools: 2021
              • containerjournal.com: 9 Open Source Developer Tools for Kubernetes
              • blog.devgenius.io: 7 Open Source Kubernetes Developer Tools to Follow in 2022
              • dev.to: Top 200 Kubernetes Tools for DevOps Engineer Like You
              • devops.cisel.ch: Kubernetes operational tools you must TRY
              • loft.sh: Kubernetes on Windows: 6 Life-Saving Tools & Tips Kubernetes is primarily a Linux technology, so it\u2019s fairly straightforward to run it on different Linux distros. But what about the developers working on Windows who need to run Kubernetes locally?
              • infoworld.com: 15 tools that make Kubernetes easier Take advantage of these Kubernetes companions to improve monitoring, command-line ops, multi-cluster management, and more.
              • youtube: 10 Must-Have Kubernetes Tools | DevOps Toolkit
              • medium.com/container-talks: 7 Tools To Make Kubernetes Management Easy
              • opensource.com: 5 open source tools for developing on the cloud Here are a few IDEs that can improve your programming experience while using multiple cloud service providers.
              • devtron.ai: 7 Tools To Make Kubernetes Management Easy
              • developers.redhat.com: 8 open source Kubernetes security tools
              • blog.devops.dev: Tools to manage Kubernetes Kubernetes Command Line Tools
              • medium.com/@onai.rotich: 4 Tools that Make it Easy to manage your Kubernetes Cluster
              • virtualizationhowto.com: Kubernetes Best Kubernetes Management Tools in 2023
              • Favourite CLI tools for containers and Kubernetes:
                • dive - to explore Docker image layers
                • kubectx - to easily switch between k8s contexts
                • skaffold - to easily build, deploy, and dev apps on k8s
                • mirrord - to intercept traffic from k8s to the local app instance
              • coruzant.com/appdev: Kubernetes Management: Tools and Best Practices
              • dev.to/cyclops-ui: Five tools to make your K8s experience more enjoyable
              "},{"location":"kubernetes-tools/#k8s-tools","title":"K8s Tools","text":"
              • Terraform 1.15: Flexible Module Management, Deprecation Warnings, and Windows ARM64 Support - (Related to terraform topic)
              • Floci - An AWS Local Emulator Alternative \ud83c\udf1f - Floci is a free and open-source local emulator for AWS services, designed to be an alternative to AWS Localstack. It leverages Docker Compose for easy setup and operation, providing a local development environment without requiring AWS accounts or facing feature gates. The project aims to offer a \u2018light, fluffy, and always free\u2019 experience for developers working with AWS services.
              • Tabularis: Open Source Desktop Client for Modern Databases with AI and MCP Integration - Tabularis is an open-source desktop client designed for modern databases. It offers support for PostgreSQL, MySQL/MariaDB, and SQLite, featuring SQL notebooks, AI functionalities, MCP integration, and an external plugin system. The README provides installation instructions for Windows and macOS.
              • Kubeterm: Graphical Management Tool for Kubernetes - Kubeterm is a desktop and mobile graphical management tool for Kubernetes clusters. It offers clear visibility, easy resource and application management, and troubleshooting capabilities without requiring any installation within the cluster. It supports automatic kubeconfig loading and integrates with cloud provider accounts (GCP, Azure, AWS) for cluster import.
              • Nelm: A Helm Alternative for Kubernetes Deployments - (Related to helm topic)
              • SQL Studio: A Unified SQL Database Explorer - SQL Studio is a command-line tool that acts as a universal explorer for various SQL databases, including SQLite, libSQL, PostgreSQL, MySQL/MariaDB, ClickHouse, DuckDB, and Microsoft SQL Server. It simplifies database interaction by providing a single interface for querying and managing data across different database systems.
              • Ephemeral Values in Terraform - (Related to terraform topic)
              • QuickRef.ME - Quick Reference Cheat Sheets - (Related to cheatsheets topic)
              • FreeLens - FreeLens is a free IDE (Integrated Development Environment) specifically designed for Kubernetes. It provides a user-friendly interface and tools to manage and interact with Kubernetes clusters.
              • OpenOps: No-Code FinOps Automation Platform with AI - (Related to finops topic)
              • DockSTARTer - (Related to docker topic)
              • TerraSchema: Generate JSON Schema from Terraform Configurations - (Related to terraform topic)
              • NFTables mode for kube-proxy in Kubernetes - (Related to kubernetes-networking topic)
              • KubeUI: A Desktop Kubernetes Client - KubeUI is a desktop application designed to simplify day-to-day Kubernetes cluster management. It offers features for browsing Kubernetes resources and editing YAML manifests directly from a desktop environment.
              "},{"location":"kubernetes-tools/#cicd-tools","title":"CI/CD Tools","text":"
              • Pulumi: Infrastructure as Code in Any Programming Language - (Related to iac topic)
              • PMEase QuickBuild - (Related to cicd topic)
              • AWS EKS Argo CD Terraform Component - (Related to gitops topic)
              • FossFLOW - (Related to cicd topic)
              • Canine: A Developer-friendly PaaS for Kubernetes \ud83c\udf1f - Canine is an open-source deployment platform designed to simplify the deployment and management of applications on Kubernetes. It offers a Heroku-like experience, enabling developers to push code and have Canine manage the build, deployment, and entire application lifecycle. Key features include GitHub integration, one-click deployments and rollbacks, automatic SSL certificate management via Let\u2019s Encrypt, and a developer-friendly CLI. It aims to provide cost-effective hosting by making cheaper cloud providers as easy to use as more expensive ones.
              • Platform Engineering Guide - 5 Key Use Cases of Internal Developer Platforms - (Related to devops topic)
              • Warp: The Agentic Development Environment \ud83c\udf1f - Warp is an open-source agentic development environment that allows developers to build software with AI agents, locally and in the cloud. It offers a modern terminal for agentic coding and an orchestration platform for cloud agents. It aims to accelerate development workflows by integrating AI capabilities.
              • Enhanced Local IDE Experience for AWS Step Functions - (Related to aws topic)
              • Cloud Posse runs-on: GitHub Actions Self-Hosted Runners - This Cloud Posse component provisions \u2018RunsOn\u2019 for GitHub Actions self-hosted runners. It involves deploying a CloudFormation template to set up the necessary infrastructure and then installing the RunsOn GitHub App within your organization to enable runner registration. The documentation details compatibility requirements, usage examples with Terraform, and configuration parameters such as CPU, memory, and encryption settings for EBS volumes.
              • Terraform Module Releaser GitHub Action - (Related to iac topic)
              • Gama: Terminal UI for GitHub Actions - (Related to cicd topic)
              • The Maester - Terraform Module - (Related to terraform topic)
              • Sharing a NVIDIA GPU Between Pods in Kubernetes \ud83c\udf1f - This article explains how to implement sharing of NVIDIA GPUs between multiple pods in a Kubernetes cluster. It highlights the high cost of GPUs and the benefits of sharing them to reduce expenses and increase accessibility for graphical-based workloads. The post also touches upon the role of the NVIDIA GPU Operator in facilitating hardware-software communication and extending Kubernetes capabilities.
              • bul: Interactive TUI for Exploring Kubernetes Container Logs - bul is a Work In Progress (WIP) tool that provides an interactive Text User Interface (TUI) for exploring container logs within Kubernetes. It offers features such as filtering streaming logs by keywords and a \u2018Digger mode\u2019 to query the latest N logs. The project was archived on August 13, 2024, making it read-only.
              • Web Terminal Operator: Tips y Trucos - Explora consejos y trucos pr\u00e1cticos para utilizar el operador de terminal web en entornos Kubernetes.

              • downloadkubernetes.com: Download Kubernetes \ud83c\udf1f An easier way to get the binaries you need

              • ramitsurana/awesome-kubernetes: Tools \ud83c\udf1f
              • VMware octant A web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
                • octant.dev Visualize your Kubernetes workloads. Octant is an open source developer-centric web interface for Kubernetes that lets you inspect a Kubernetes cluster and its applications.
              • KSS - Kubernetes pod status on steroid
              • kubectl-tree kubectl plugin to browse Kubernetes object hierarchies as a tree
              • The Golden Kubernetes Tooling and Helpers list
              • kubech (kubectl change) Set kubectl contexts/namespaces per shell/terminal to manage multi Kubernetes cluster at the same time.
              • Kubecle is a web ui running locally that provides useful information about your kubernetes clusters. It is an alternative to Kubernetes Dashboard. Because it runs locally, you can access any kubernetes clusters you have access to
              • Permission Manager \ud83c\udf1f is a project that brings sanity to Kubernetes RBAC and Users management, Web UI FTW. Permission Manager is an application that enables a super-easy and user-friendly RBAC management for Kubernetes. With Permission Manager, you can create users, assign namespaces/permissions, and distribute Kubeconfig YAML files via a nice & easy web UI.
              • cloudnatively.com: Kubernetes client tools overview
              • kubectx + kubens: : Power tools for kubectl\ud83c\udf1f\ud83c\udf1f Faster way to switch between clusters and namespaces in kubectl
              • go-kubectx 5x-10x faster alternative to kubectx. Uses client-go.
              • kubevious: application centric Kubernetes UI \ud83c\udf1f is open-source software that provides a usable and highly graphical interface for Kubernetes. Kubevious renders all configurations relevant to the application in one place.
              • KubeStellar Console \ud83c\udf1f Open source AI-powered multi-cluster Kubernetes dashboard with real-time observability, AI-guided operations, and 20+ CNCF integrations. CNCF Sandbox project.
                • Kubevious SaaS: portal.kubevious.io
                • Kubevious SaaS Beta is Live!
                • kubevious.io: Built-in Validators Kubevious comes with 32 build-in validators to detect misconfigurations and violations to Kubernetes and Cloud-Native best practices.
                • learnitguide.net: Kubevious - A Powerful Kubernetes Dashboard
              • Guard is a Kubernetes Webhook Authentication server. Using guard, you can log into your Kubernetes cluster using various auth providers. Guard also configures groups of authenticated user appropriately.
              • itnext.io: arkade by example \u2014 Kubernetes apps, the easy way \ud83c\udf1f
              • Kubei is a flexible Kubernetes runtime scanner, scanning images of worker and Kubernetes nodes providing accurate vulnerabilities assessment.
              • Tubectl: a kubectl alternative which adds a bit of magic to your everyday kubectl routines by reducing the complexity of working with contexts, namespaces and intelligent matching resources.
              • Kpt: Packaging up your Kubernetes configuration with git and YAML since 2014 (Google)
              • kubernetes-common-services These services help make it easier to manage your applications environment in Kubernetes
              • k8s-job-notify Kubernetes Job/CronJob Notifier. This tool sends an alert to slack whenever there is a Kubernetes cronJob/Job failure/success.
              • kube-opex-analytics \ud83c\udf1f Kubernetes Cost Allocation and Capacity Planning Analytics Tool. Built-in hourly, daily, monthly reports - Prometheus exporter - Grafana dashboard.
                • Run any kubelet API call
                • Scan for nodes with opened kubelet API
                • Scan for containers with RCE
                • Run a command on all the available containers by kubelet at the same time
                • Get service account tokens from all available containers by kubelet
                • Nice printing :)
              • K8bit \u2014 the tiny Kubernetes dashboard \ud83c\udf1f K8bit is a tiny dashboard that is meant to demonstrate how to use the Kubernetes API to watch for changes.
                • learnk8s.io/real-time-dashboard
              • KUbernetes Test TooL (kuttl) \ud83c\udf1f
                • Youtube Webinar: The KUbernetes Test TooL (kuttl)
              • Portfall: A desktop k8s port-forwarding portal for easy access to all your cluster UIs \ud83c\udf1f
              • k8s-dt-node-labeller is a Kubernetes controller for labelling a node with devicetree properties (devicetree is a data structure for describing hardware).
              • kubedev \ud83c\udf1f is a Kubernetes Dashboard that helps developers in their everyday usage
              • Kubectl SSH Proxy \ud83c\udf1f Kubectl plugin to launch a ssh socks proxy and use it. This plugin aims to make your life easier when using kubectl a cluster that\u2019s behind a SSH bastion.
              • kubectl-images Show container images used in the cluster. Kubectl-images is a kubectl plugin that shows the container images used in the cluster. It first calls kubectl get pods to retrieve pods details and filters out the container image information of each pod then prints out the final result in a table view.
              • Access Pod Online using Podtnl A Powerful CLI that makes your pod available to online without exposing a k8 service.
              • kiosk: Multi-Tenancy Extension For Kubernetes - Secure Cluster Sharing & Self-Service Namespace Provisioning \ud83c\udf1f Kubernetes is designed as a single-tenant platform, which makes it hard for cluster admins to host multiple tenants in a single cluster. Kiosk extends Kubernetes for multi-tenancy. The core idea is to use Kubernetes namespaces as isolated workspaces.
              • asdf-kubectl kubectl plugin for asdf version manager. asdf-vm is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like gvm, nvm, rbenv & pyenv (and more) all in one! Simply install your language\u2019s plugin!
              • k8s Spot Rescheduler is a tool that tries to reduce load on a set of Kubernetes nodes. It was designed with the purpose of moving Pods scheduled on AWS on-demand instances to AWS spot instances to allow the on-demand instances to be safely scaled down (By the Cluster Autoscaler).
              • kube-spot-termination-notice-handler is a Kubernetes DaemonSet designed to gracefully delete pods 2 minutes before an EC2 Spot Instance is terminated.
                • cncf.io: What is Polaris? Kubernetes open source configuration validation \ud83c\udf1f
              • kmoncon Monitoring connectivity between your kubernetes nodes.
              • Tesoro Kapitan Secrets Controller for Kubernetes. Tesoro is Kapitan Admission Controller Webhook. Tesoro allows you to seamleslsly apply Kapitan secret refs in compiled Kubernetes manifests. As it runs in the cluster, it will be able to reveal embedded kapitan secret refs in manifests when applied.
              • DAST operator Dynamic application security testing (DAST) is a Kubernetes operator that leverages OWASP ZAP to make automated basic web service security testing.
              • Teleskope is a Kubernetes dashboard designed to give your devs and product managers an inside view of the cluster.
              • Introducing cdk8s+: Intent-driven APIs for Kubernetes objects Everyone hates yaml. Take that 75 lines of yaml and turn it into 45 lines of testable javascript with cdk8s+
                • https://github.com/awslabs/cdk8s/tree/master/packages/cdk8s-plus
              • KuUI (Kubernetes UI) is a simple UI that can be used to manage the configmaps/secrets of your Kubernetes cluster.
              • Deprek8ion is a set of rego policies to monitor Kubernetes APIs deprecations. It is designed to work with conftest.
              • Beetle Kubernetes multi-cluster deployment automation service.
              • vault-controller A K8s controller to manage Hashicorp Vault configuration using CRDs.
              • k8s-crash-informer is a Kubernetes controller that informs a Mattermost or Slack channel if an annotated deployment goes into crash loop.
              • Azure Arc enabled Kubernetes allows you to connect and manage external Kubernetes clusters in Azure
              • Kip, the Kubernetes Cloud Instance Provider Kip is a Virtual Kubelet provider that allows a Kubernetes cluster to transparently launch pods onto their own cloud instances. The kip pod is run on a cluster and will create a virtual Kubernetes node in the cluster.
              • Kubeletctl is a command line tool that implement kubelet\u2019s API \ud83c\udf1f
              • k8s-node-label-monitor: Kubernetes Node Label Monitor provides a custom Kubernetes controller for monitoring and notifying changes in the label states of Kubernetes nodes (labels added, deleted, or updated), and can be run either node-local or cluster-wide
              • medium: How to Validate Your Kubernetes Cluster With Sonobuoy \ud83c\udf1f Run comprehensive conformance testing for your Kubernetes cluster
              • Pluto is a cli tool to help discover deprecated apiVersions in Kubernetes \ud83c\udf1f Find Kubernetes resources that have been deprecated
              • Switchboard is a tool that manages DNS zones and their A/CNAME records for arbitrary backends. It runs as Kubernetes controller and watches for custom resources DNSZone and DNSRecord.
              • Kubernetes Deployment Builder \ud83c\udf1f\ud83c\udf1f
              • ktx \ud83c\udf1f Managing kubeconfig files can become tedious when you have multiple clusters and contexts to switch between. ktx aims to reduce friction caused by switching between various configurations.
              • k8s-alert is a simple and lightweight alerting tool for Kubernetes.
              • Arktos is an open source cluster management system designed for large scale clouds. It is evolved from the open source Kubernetes v1.15 codebase with some fundamental improvements.
              • kube-exec \ud83c\udf1f is a library similar to os/exec that allows you to run commands in a Kubernetes pod, as if that command was executed locally. It is inspired from go-dexec, which does the same thing, but for a Docker engine.
              • identity-server Identity Server implements a Kubernetes \u201cwhoami\u201d service.
              • The Kubernetes Goat is a project designed to be intentionally vulnerable cluster environment to learn and practice Kubernetes security.
              • kubefs lets you mount kubernetes\u2019s metadata object store as a file system
              • pangolin \ud83c\udf1f is an enhanced Horizontal Pod Autoscaler for Kubernetes.
              • kubectl-isolate is a kubectl plugin to isolate a Pod from the Kubernetes Service
              • k8s-diagrams \ud83c\udf1f is a collection of diagrams explaining kubernetes, extracted from our trainings, articles and talks (k8s sec, k8s intro).
              • helm-docs is a tool for automatically generating markdown documentation for helm charts.
              • Kubernetes Active Passive Applications is an ingenious script that combines StatefulSets and readiness probes to achieve an active-passive configuration for your Pods/apps.
              • Agorakube is a Certified Kubernetes Distribution that provides an enterprise grade solution following best practices to manage a conformant Kubernetes cluster for on-premise and public cloud providers.
              • dynamic-pv-scaler is a golang based Kubernetes application which has been created to overcome the scaling issue of Persistent Volume in Kubernetes. This can scale the Persistent Volume on the basis of threshold which you have set.
              • Sinker Imagesync enables the syncing of container images from one container registry to another. This is useful in cases where you need to mirror images that exist in a public container registry, to a private one.
              • Cluster Turndown is an automated scaledown and scaleup of a Kubernetes cluster\u2019s backing nodes based on a custom schedule and turndown criteria.
              • kubeinit \ud83c\udf1f KubeInit provides Ansible playbooks and roles for the deployment and configuration of multiple Kubernetes distributions.
              • kubergui: Kubernetes Deployment Builder\ud83c\udf1f quickly builds out a basic Kubernetes Deployment and Kubernetes Service YAML. Kubernetes GUI YAML generators for simple but typo-prone tasks.
              • fubectl is a tool that reduces repetitive interactions with kubectl
              • Authelia \ud83c\udf1f is a Single Sign-On and Multi-Factor portal for web apps that can be installed in Kubernetes and can integrate with your ingress controller
              • k8sdeploy is a go based tool, written with the goal of creating a cli that utilizes helm and kubernetes client libraries to deploy to multiple namespaces at once.
              • node-policy-webhook is a Kubernetes webhook designed to help you handle tolerations, nodeSelector and nodeAffinity.
              • ipvs-node-controller is the kubernetes controller that solves External-IP (Load Balancer IP) issue with IPVS proxy mode.
              • kubeonoff A simple web UI for managing Kubernetes deployments. Kubeonoff is a small web UI that allows to quickly stop/start/restart pods. Basically it\u2019s for non-developers to manage k8s objects per namespace.
              • Maistra \ud83c\udf1f is an opinionated distribution of Istio designed to work with Openshift. It combines Kiali, Jaeger, and Prometheus into a platform managed according to the OperatorHub lifecycle.
              • custom-pod-autoscaler A Custom Pod Autoscaler is a Kubernetes autoscaler that is customised and user created. The Custom Pod Autoscaler framework allows easier and faster development of Kubernetes autoscalers.
              • Kubevol \ud83c\udf1f allows you to audit all your Kubernetes pods for an attached volume or see all the volumes attached to each pod by a specific type (eg: ConfigMap, Secret).
              • kubectl-fuzzy \ud83c\udf1f uses fzf(1)-like fuzzy-finder to do partial or fuzzy search of Kubernetes resources. Instead of specifying full resource names to kubectl commands, you can choose them from an interactive list that you can filter by typing a few characters.
              • Setec \ud83c\udf1f Setec (pronounced see-tek) is a utility tool that encrypts and decrypts secrets that are managed by Bitnami\u2019s Sealed Secrets.
              • Kompose (Kubernetes + Compose) \ud83c\udf1f kompose is a tool to help users who are familiar with docker-compose move to Kubernetes. kompose takes a Docker Compose file and translates it into Kubernetes resources. kompose is a convenience tool to go from local Docker development to managing your application with Kubernetes. Transformation of the Docker Compose format to Kubernetes resources manifest may not be exact, but it helps tremendously when first deploying an application on Kubernetes.
                • hackernoon.com: How to Generate Kubernetes Manifests With a Single Command (kompose)
              • kalm.dev \ud83c\udf1f Easily deploy and manage applications on Kubernetes. Get what you want out of Kubernetes without having to write and maintain a ton of custom tooling. Deploy apps, handle requests, and hook up CI/CD, all through an intuitive web interface.
              • Kev Develop Kubernetes apps iteratively with Docker-Compose. Kev helps developers port and iterate Docker Compose apps onto Kubernetes. It understands the Docker Compose application topology and prepares it for deployment in (multiple) target environments, with minimal user input. We leverage the Docker Compose specification and allow for target-specific configurations to be applied to each component of the application stack, simply.
              • Synator Kubernetes Secret and ConfigMap synchronizer \ud83c\udf1f Synator synchronize your Secrets and ConfigMaps with your desired namespaces
              • kubes \ud83c\udf1f is a Kubernetes Deployment Tool. It builds the docker image, creates the Kubernetes YAML, and runs kubectl apply.
              • Kubernetes DaemonSet that enables a direct shell on each Node using SSH to localhost Learn how you can use a DaemonSet to expose an SSH shell on each node of your cluster (even if you don\u2019t have SSH installed). I run several K8S cluster on EKS and by default do not setup inbound SSH to the nodes. Sometimes I need to get into each node to check things or run a one-off tool. Rather than update my terraform, rebuild the launch templates and redeploy brand new nodes, I decided to use kubernetes to access each node directly.
              • NS Killer A Kubernetes project to kill all namespace living over X times. Quite useful when auto-generated development environments on the fly and give them a lifecycle out-of-the-box from Kubernetes or even Helm. You might find it useful if auto-generate development environments on the fly and want to remove old ones on a schedule.
              • kubeswitch: Kubernetes Version Switcher \ud83c\udf1f Easily switch kubectl binary versions.
              • Kubeswitch (for operators) \ud83c\udf1f The kubectx for operators. kubeswitch (lazy: switch) takes Kubeconfig context switching to the next level, catering to operators of large scale Kubernetes installations. Designed as a drop-in replacement for kubectx.
              • kubectl build (formerly known as kubectl-kaniko) Kubectl build mimics the kaniko executor, but performs building on your Kubernetes cluster side. This allows you to simply build your local dockerfiles remotely without leaving your cozy environment.
              • Kubei \ud83c\udf1f is a vulnerabilities scanning tool that allows users to get an accurate and immediate risk assessment of their kubernetes clusters. Kubei scans all images used in a Kubernetes cluster including images of application pods and system pods
              • Shell-operator is a tool for running event-driven scripts in a Kubernetes cluster. Shell-operator provides an integration layer between Kubernetes cluster events and shell scripts.
              • ecrcp aims to mimic cp command in Linux systems as closely as possible in its implementation. Consider ecrcp to be the cp equivalent to copy container images from docker hub to ECR.
              • Checkov \ud83c\udf1f is a static code analysis tool for infrastructure-as-code. It scans cloud infrastructure provisioned using Terraform, Cloudformation, Kubernetes, Serverless or ARM Templates and detects security and compliance misconfigurations.
              • Cluster Cloner \ud83c\udf1f Reads the Kubernetes clusters in one location (optionally filtering by labels) and clones them into another (or just outputs JSON as a dry run), to/from AWS, GCP, and Azure.
              • kubectl-eksporter \ud83c\udf1f A simple Ruby-script to export k8s resources, and removes a pre-defined set of fields for later import.
              • kubectl-neat \ud83c\udf1f Remove clutter from Kubernetes manifests to make them more readable.
              • medium: 4 Simple Kubernetes Terminal Customizations to Boost Your Productivity
              • Move2Kube \ud83c\udf1f Move2Kube is a command-line tool that accelerates the process of re-platforming to Kubernetes/Openshift. It does so by analysing the environment and source artifacts, and asking guidance from the user when required. This tool that can help users migrate from Cloud Foundry and Docker Swarm to Kubernetes. https://move2kube.konveyor.io
              • skopeo \ud83c\udf1f Use skopeo to copy images between registries
              • junit5-kubernetes aims at using a kubernetes pod directly form your junit5 test classes.
              • mbuffett.com: Replacing ngrok with ktunnel
              • seaworthy: A CLI to verify #Kubernetes resource health !! \ud83c\udf1f Post-apply check to verify your K8s resources are Seaworthy
              • kVDI A Kubernetes-native Virtual Desktop Infrastructure.
              • kcg \ud83c\udf1f is a command line tool that lets you create kubeconfig files. The user can interactively choose a namespace and service account and generate a config file with token authentication that has same RBAC permissions assigned to chosen service account.
              • Compass \ud83c\udf1f Quickly Pinpoint Errors in your Kubernetes Deployment.
              • Gitkube \ud83c\udf1f is a tool for building and deploying Docker images on Kubernetes using git push. After a simple initial setup, users can simply keep git push-ing their repos to build and deploy to Kubernetes automatically.
              • vesion-checker is a Kubernetes utility for observing the current versions of images running in the cluster, as well as the latest available upstream. These checks get exposed as Prometheus metrics to be viewed on a dashboard, or soft alert cluster operators.
              • Descheduler for Kubernetes \ud83c\udf1f -> wecloudpro.com: Balance your Kubernetes cluster
              • kubediff \ud83c\udf1f is a tool for Kubernetes to show you the differences between your running configuration and your version controlled configuration.
              • awslabs/karpenter Karpenter is a metrics-driven autoscaler built for Kubernetes and can run in any Kubernetes cluster anywhere. It\u2019s performant, extensible, and can autoscale anything that implements the Kubernetes scale subresource.
              • ekglue - Envoy/Kubernetes glue ekglue is a projects that facilitates connecting Kubernetes and Envoy, allowing Envoy to read Kubernetes services and endpoints as clusters (via CDS) and endpoints (via EDS).
              • salesforce/Craft CRAFT helps you to create Kubernetes Operators in a robust and generic way for any resource, letting developers focus on CRUD operations of resource management in a Dockerfile.
              • hyscale \ud83c\udf1f HyScale takes a declarative definition of your service config and it generates Dockerfile, Container Image, Kubernetes Manifests (YAMLs) and deploys to any Kubernetes Cluster.
              • kubectl-reap is a kubectl plugin that deletes unused Kubernetes resources \ud83c\udf1f
              • KubeLinter \ud83c\udf1f is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices.
              • KRD: Kubernetes Reference Deployment krd offers a reference for deploying a Kubernetes cluster. Its ansible playbooks allow to provision a deployment on Bare-metal or Virtual Machines
              • kubeshell is a command line tool to interactively shell in to (and out of) kubernetes pods.
              • k8s-harness \ud83c\udf1f lets you create a disposable Kubernetes cluster with vagrant and Ansible to test your app in a prod-like environment.
              • Secret backup operator is an operator designed to backup secrets on a Kubernetes cluster. Backup happens when secrets are modified.
              • DevNation: 10 awesome kubernetes tools every user should know
                • developers.redhat.com: 10 awesome Kubernetes tools every user should know | DevNation Tech Talk (video)
              • kube-fledged is a kubernetes add-on for creating and managing a cache of container images directly on the worker nodes of a kubernetes cluster. It allows a user to define a list of images and onto which worker nodes those images should be cached (i.e. pre-pulled). As a result, application pods start almost instantly, since the images need not be pulled from the registry.
              • Tagger keeps references to externally hosted Docker images internally in a Kubernetes cluster by mapping their tags (such as latest) into their references by hash
              • helm-ecr \ud83c\udf1f is a Helm plugin that supports installing Charts from AWS ECR.
              • PipeCD is a continuous delivery system for declarative Kubernetes, Serverless, and Infrastructure applications.
              • kubecolor \ud83c\udf1f colorises your kubectl output
                • blog.devgenius.io: K8s \u2014 Kubecolor Introduction
              • kubectl-sudo This plugin allows users to run kubernetes commands with the security privileges of another user.
              • kfilt is a tool that lets you filter specific resources from a stream of Kubernetes YAML manifests. It can read manifests from a file, URL, or from stdin.
              • k8s-mirror: Creates a local mirror of a kubernetes cluster in a docker container to support offline reviewing \ud83c\udf1f
              • kube-secret-syncer \ud83c\udf1f is a Kubernetes operator developed using the Kubebuilder framework that keeps the values of Kubernetes Secrets synchronised to secrets in AWS Secrets Manager.
                • contentful.com: Open-sourcing kube-secret-syncer: A Kubernetes operator to sync secrets from AWS Secrets Manager Kube-secret-syncer is a Kubernetes operator developed using the Kubebuilder framework that keeps the values of Kubernetes Secrets synchronised to secrets in AWS Secrets Manager.
              • kapp \ud83c\udf1f is a CLI that calculates changes between your configuration and live cluster state and applies changes you approve.
                • thecloudblog.net: Managing Applications in Kubernetes with the Carvel Kapp Controller kapp enables users to group a set of resources (resources with the same label) as an application. In this tutorial, you will learn how to deploy a front-end and backend app with Redis as a single unit with kapp.
              • garden.io Break down the barriers between development, testing, and CI. Use the same workflows and production-like Kubernetes environments at every step of the process
                • thenewstack.io: Garden: The Configure-Once Kubernetes Platform for Seamless Dev/Prod Integration
              • pvc-autoresizer resizes PersistentVolumeClaims (PVCs) when the free amount of storage is below the threshold. It queries the volume usage metrics from Prometheus that collects metrics from kubelet.
                • blog.kintone.io: Introducing pvc-autoresizer
              • sKan is a tailor made Kubernetes configuration files and resources scanner that enables developers and devops team members to check whether their work is compliant with security & ops best practices
              • Kubernetes Node Auto Labeller
              • Kube_query Use kubectl but on all of the available k8s clusters available in the kubeconfig file. Currently will query only AWS EKS clusters.
              • kubernetes-event-exporter \ud83c\udf1f This tool allows exporting the often missed Kubernetes events to various outputs so that they can be used for observability or alerting purposes. You won\u2019t believe what you are missing.
              • Kubeconform \ud83c\udf1f is a Kubernetes manifests validation tool. Build it into your CI to validate your Kubernetes configuration using the schemas from kubernetes-json-schema. Similar to Kubeval, but with the following improvements:
                • High performance
                • Remote or local schemas locations
                • Up-to-date schemas for all recent versions of Kubernetes
              • Kubernetes Janitor cleans up (deletes) Kubernetes resources on a configured TTL (time to live) or a configured expiry date (absolute timestamp).
              • kube-batch is a batch scheduler for Kubernetes, providing mechanisms for applications which would like to run batch jobs leveraging Kubernetes. A batch scheduler of kubernetes for high performance workload, e.g. AI/ML, BigData, HPC
              • slipway: A Kubernetes controller to automate gitops provisioning
              • github.com: dnsconfig-injector - Mutating Admission Webhook for dnsconfig pod injection
              • kubectl-view-webhook \ud83c\udf1f Visualize your webhook configurations in Kubernetes.
              • ContainerSSH: Launch containers on demand \ud83c\udf1f\ud83c\udf1f ContainerSSH launches a new container for each SSH connection in Kubernetes, Podman or Docker. The user is transparently dropped in the container and the container is removed when the user disconnects. Authentication and container configuration are dynamic using webhooks, no system users required.
              • reconshell.com: Kubei \u2013 Kubernetes Runtime Vulnerabilities Scanner \ud83c\udf1f
              • openshift: Introducing kube-burner, A tool to Burn Down Kubernetes and OpenShift \ud83c\udf1f Kube-burner is a tool designed to stress different OpenShift components basically by coordinating the creation and deletion of k8s resources. Along this blog series we\u2019ll talk about how to use it in OpenShift 4.
              • kube-ebpf-exporter \ud83c\udf1f Prometheus exporter for custom eBPF metrics.
              • qontract qontract (Queryable cONTRACT) is a collection of tools used to SREs to expose available managed services to application developer teams.
              • sheaf Manages bundles of Kubernetes components. sheaf is a tool that can create a bundle of Kubernetes components. It can generate an archive from the bundle that can be distributed for use in Kubernetes clusters. The initial idea was inspired by CNAB. It answers the question: how can I distribute Kubernetes manifests with their associated images?
              • cnab.io: CNABs facilitate the bundling, installing and managing of container-native apps \u2014 and their coupled services
              • tremolosecurity.com: Secure Access to Kubernetes From Your Pipeline
              • openpitrix \ud83c\udf1f Application Management Platform on Multi-Cloud Environment. OpenPitrix is a web-based open-source system to package, deploy and manage different types of applications including Kubernetes application, microservice application and serverless applications into multiple cloud environment such as AWS, Azure, Kubernetes, QingCloud, OpenStack, VMWare etc.
              • kube-burner \ud83c\udf1f Kube-burner is a tool aimed at stressing kubernetes clusters.
              • gimletd - the GitOps release manager GimletD acts as a release manager and detaches the release workflow from CI. By doing so, it unlocks the possibility of advanced release logics and flexibility to refactor workflows.
              • github.com/cloudflare/lockbox Offline encryption of Kubernetes Secrets. Lockbox is a secure way to store Kubernetes Secrets offline. Secrets are asymmetrically encrypted, and can only be decrypted by the Lockbox Kubernetes controller. A companion CLI tool, locket, makes encrypting secrets a one-step process.
              • Suspicious pods \ud83c\udf1f Prints a list of k8s pods that might not be working correctly
              • Armada A multi-cluster batch queuing system for high-throughput workloads on Kubernetes. Armada is an application to achieve high throughput of run-to-completion jobs on multiple Kubernetes clusters. It stores queues for users/projects with pod specifications and creates these pods once there is available resource in one of the connected Kubernetes clusters.
              • Ko: Easy Go Containers \ud83c\udf1f Build and deploy Go applications on Kubernetes
              • kubestr \ud83c\udf1f Explore your Kubernetes storage options. Kubestr is a collection of tools to discover, validate and evaluate your kubernetes storage options.
              • KubeEye: An Automatic Diagnostic Tool that Provides a Holistic View of Your Kubernetes Cluster \ud83c\udf1f
              • k8gb \ud83c\udf1f A cloud native Kubernetes Global Balancer k8gb.io
              • k8s-image-swapper \ud83c\udf1f Mirror images into your own registry and swap image references automatically. estahn.github.io/k8s-image-swapper
              • RBACSync \ud83c\udf1f Automatically sync groups into Kubernetes RBAC. RBACSync provides a Kubernetes controller to synchronize RoleBindings and ClusterRoleBindings, used in Kubernetes RBAC, from group membership sources using consolidated configuration objects.
              • Saffire a controller to override image sources in the event that an image cannot be pulled. The intent of saffire is to provide operators with a method of automatically switching image repositories when imagePullErrors occur.
              • Cluster API Provider for Managed Bare Metal Hardware This repository contains a Machine actuator implementation for the Kubernetes Cluster API for managing bare metal hardware - metal3.io: Bare metal host provisioning for kubernetes
              • enterprisersproject.com: Kubernetes: 6 open source tools to put your cluster to the test The Kubernetes ecosystem includes an ever-growing number of tools and services you can plug in: Let\u2019s look at six useful tools for putting your Kubernetes cluster and applications to the test.
              • kubectl-node-restart \ud83c\udf1f Krew plugin to restart Kubernetes Nodes sequentially and gracefully
              • k8s-platform-lcm: Kubernetes platform lifecycle management \ud83c\udf1f A faster and easier way to manage the lifecycle of applications and tools, running and living around your Kubernetes platform. Kubernetes platform lifecycle management helps you keep track of all your software and tools that are used or running in and around your Kubernetes platform.
              • Nebula A scalable overlay networking tool with a focus on performance, simplicity and security. It lets you seamlessly connect computers anywhere in the world.
              • kube-bench Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark
              • kube-bench-exporter Helps you to export your kube-bench reports to multiple targets like Amazon S3 buckets with ease.
              • Karmada Karmada (Kubernetes Armada) is a Kubernetes management system that enables you to run your cloud-native applications across multiple Kubernetes clusters and clouds, with no changes to your applications. By speaking Kubernetes-native APIs and providing advanced scheduling capabilities, Karmada enables truly open, multi-cloud Kubernetes. - https://karmada.io/
              • kube-secrets-init Kubernetes mutating webhook for secrets-init injection
              • liqo: Enable dynamic and seamless Kubernetes multi-cluster topologies Building your endless Kubernetes ocean. Enable dynamic and seamless Kubernetes multi-cluster topologies. Liqo is a platform to enable dynamic and decentralized resource sharing across Kubernetes clusters, either on-prem or managed. Liqo allows to run pods on a remote cluster seamlessly and without any modification of Kubernetes and the applications. With Liqo it is possible to extend the control plane of a Kubernetes cluster across the cluster\u2019s boundaries, making multi-cluster native and transparent: collapse an entire remote cluster to a virtual local node, by allowing workloads offloading and resource management compliant with the standard Kubernetes approach.
              • redhat-certification: chart-verifier: Rules based tool to certify Helm charts \ud83c\udf1f
              • helm-changelog: Create changelogs for Helm Charts, based on git history
              • ingressbuilder.jetstack.io \ud83c\udf1f\ud83c\udf1f Ingress Builder allows users to select any annotation from the list of available controllers, to add to the ingress manifest.
              • Jetstack Secure Agent \ud83c\udf1f\ud83c\udf1f Automatically perform Kubernetes cluster configuration checks using Open Policy Agent (OPA)
              • Replicated Troubleshoot \ud83c\udf1f Troubleshoot is a framework for collecting, redacting, and analyzing highly customizable diagnostic information about a Kubernetes cluster.
              • outdated.sh \ud83c\udf1f A kubectl plugin to show out-of-date images running in a cluster.
              • kubestriker \ud83c\udf1f A Blazing fast Security Auditing tool for Kubernetes. Kubestriker is a platform-agnostic tool designed to tackle Kuberenetes cluster security issues due to misconfigurations and will help strengthen the overall IT infrastructure of any organisation.
              • KubeEye \ud83c\udf1f KubeEye aims to find various problems on Kubernetes, such as application misconfiguration, unhealthy cluster components and node problems.
              • Analyze Kubernetes Audit logs using Falco \ud83c\udf1f Detect intrusions that happened in your Kubernetes cluster through audit logs using Falco
              • KubeHelper KubeHelper - simplifies many daily Kubernetes cluster tasks through a web interface. Search, analysis, run commands, cron jobs, reports, filters, git synchronization and many more.
              • kubewebhook Go framework to create Kubernetes mutating and validating webhooks
              • kaDalu A lightweight Persistent storage solution for Kubernetes / OpenShift using GlusterFS in background. Kadalu is a project which started as an idea to make glusterfs\u2019s deployment and management simpler in kubernetes
              • forklift.konveyor.io \ud83c\udf1f A tool that accelerates the process of re-hosting / re-platforming virtual machines to Kubernetes and KubeVirt. It does so by mapping resources (network and storage), creating equivalent resources int he target, and converting disk images.
                • opensource.com: Migrate virtual machines to Kubernetes with this new tool - forklift \ud83c\udf1f Transition your virtualized workloads to Kubernetes with Forklift.
                • konveyor \ud83c\udf1f is an open source project that helps transition existing workloads (development, test, and production) to Kubernetes. Its tools include Crane, to move containers from one Kubernetes platform to another; Move2Kube, to bring workloads from Cloud Foundry to Kubernetes; and Tackle, to analyze Java applications to modernize them by making them more standard and portable for the runtimes available in containerized platforms like Kubernetes.
              • go-containerregistry \ud83c\udf1f Go library and CLIs for working with container registries
              • kubebox Terminal and Web console for Kubernetes
              • skooner - Kubernetes Dashboard Simple Kubernetes realtime dashboard and management
              • Polaris: Best Practices for Kubernetes Workload Configuration \ud83c\udf1f Validation of best practices in your Kubernetes clusters - fairwinds.com: What is Fairwinds\u2019 Polaris? Kubernetes Open Source Configuration Validation
              • Krane \ud83c\udf1f is a Kubernetes RBAC static analysis tool. It identifies potential security risks in K8s RBAC design and makes suggestions on how to mitigate them. Krane dashboard presents current RBAC security posture and lets you navigate through its definition.
              • KTail: Kubernetes log viewer \ud83c\udf1f KTail allows you to tail multiple pods in one view. It automatically detects updates and attaches to new pods. Configurable highlighters show how often regular expressions matched and let you quickly navigate in the results.
              • Manifesto \ud83c\udf1f allows you to create an application structure to facilitate easy deployment to kubernetes. Jsonnet is used to create the underlying application structure, manifesto manipulates this structure to produce manifests.
              • SigNoz: Open source Application Performance Monitoring (APM) & Observability tool \ud83c\udf1f SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc.
              • port-map-operator LoadBalancer Service type implementation for home clusters via Port Control Protocol.
              • Raspbernetes - Kubernetes Cluster: k8s-gitops Kubernetes cluster managed by GitOps - Git as a single source of truth, automated pipelines, declarative everything, next-generation DevOps. This repo is a declarative implementation of a Kubernetes cluster. It\u2019s using the GitOps Toolkit known as Fluxv2. The goal is to demonstrates how to implement enterprise-grade security, observability, and overall cluster config management using GitOps in a Kubernetes cluster.
              • Kpexec kpexec is a kubernetes cli that runs commands in a container with high privileges.
              • OpenShiftKubeAudit An auditing program to detect incompatibilities in Kubernetes manifests brought over to OpenShift. This auditing tool currently only supports Kubernetes manifests, but we plan to expand it to include Helm charts and Go code, as well. The tool is in very early stages, but is looking for community input to help add use cases.
              • Kubernetes Kpt in The Wild: What it is and how to use it \ud83c\udf1f Kubernetes Kpt is tooling by Google that facilitates a structured approach to defining, managing, and distributing kubernetes templates between teams and orgs.
              • RollingUpgrade Reliable, extensible rolling-upgrades of Autoscaling groups in Kubernetes
              • Kerbi \ud83c\udf1f Kerbi (Kubernetes Emdedded Ruby Interpolator) is yet another templating engine for generating Kubernetes resource manifests. It enables multi-strategy, multi-source templating, giving you the freedom to design highly specialized templating pipelines.
              • Kourier Purpose-built Knative Ingress implementation using just Envoy with no additional CRDs. Kourier is an Ingress for Knative Serving. Kourier is a lightweight alternative for the Istio ingress as its deployment consists only of an Envoy proxy and a control plane for it.
              • space-cloud: Develop, Deploy and Secure Serverless Apps on Kubernetes. Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes - space-cloud.io Space Cloud is a Kubernetes based serverless platform that provides instant, realtime APIs on any database, with event triggers and unified APIs for your custom business logic.
              • community.suse.com: Comparing Modern-Day Container Image Builders: Jib, Buildpacks and Docker \ud83c\udf1f
              • Teleport \ud83c\udf1f Certificate authority and access plane for SSH, Kubernetes, web applications, and databases
              • weaveworks: kured - Kubernetes Reboot Daemon \ud83c\udf1f - weave.works: One year kured - your Kubernetes Reboot Daemon Kured (KUbernetes REboot Daemon) is a Kubernetes daemonset that performs safe automatic node reboots when the need to do so is indicated by the package management system of the underlying OS. Many rely on Kured, which helps perform safe automatic node reboots when indicated by the package management of the underlying OS, to help make OS security better.
              • k8s-cluster-simulator Kubernetes cluster simulator for evaluating schedulers.
              • kubelogin \ud83c\udf1f kubectl plugin for Kubernetes OpenID Connect authentication (kubectl oidc-login)
              • kube-oidc-proxy Reverse proxy to authenticate to managed Kubernetes API servers via OIDC.
                • tremolosecurity.com: Updating kube-oidc-proxy Kubernetes offers multiple ways to authenticate users to the API server. The best way to go, when available, is to use OpenID Connect (OIDC). We\u2019ve talked about why you shouldn\u2019t use certificates for kubernetes authentication, but most cloud providers won\u2019t let you configure the API server flags needed to integrate managed clusters into an OIDC identity provider.
              • KubeSurvival \ud83c\udf1f Significantly reduce Kubernetes costs by finding the cheapest machine types that can run your workloads
              • K8s Vault Webhook \ud83c\udf1f - github: k8s-vault-webhook A k8s vault webhook is a Kubernetes webhook that can inject secrets into Kubernetes resources by connecting to multiple secret managers
              • cf-for-k8s The open source deployment manifest for Cloud Foundry on Kubernetes. cf-for-k8s blends the popular CF developer API with Kubernetes, Istio, and other open source technologies. The project aims to improve developer productivity for organizations using Kubernetes
              • tekline \ud83c\udf1f tekline is a tekton delegated-pipeline to enable a bring-your-own pipeline configuration.
              • nerdctl \ud83c\udf1f Docker-compatible CLI for containerd
              • El Carro: The Oracle Operator for Kubernetes \ud83c\udf1f El Carro is a new project that offers a way to run Oracle databases in Kubernetes as a portable, open source, community driven, no vendor lock-in container orchestration system. El Carro provides a powerful declarative API for comprehensive and consistent configuration and deployment as well as for real-time operations and monitoring.
              • jspolicy jsPolicy is an operator that helps you define Kubernetes Policies using JavaScript or TypeScript. Easier & Faster Kubernetes Policies using JavaScript or TypeScript.
                • blog.ediri.io: Writing Kubernetes policies with jsPolicy and deploy them via FluxCD In this tutorial, you will learn how to write Kubernetes policies using JavaScript/Typescript with the help of jsPolicy and deploy them via GitOps using Flux
              • k8scr \ud83c\udf1f A kubectl plugin for pushing OCI images through the Kubernetes API server.
              • jsonnet-controller A fluxcd controller for managing manifests declared in jsonnet.
              • rback: RBAC in Kubernetes visualizer \ud83c\udf1f\ud83c\udf1f A simple \u201cRBAC in Kubernetes\u201d visualizer. No matter how complex the setup, rback queries all RBAC related information of an Kubernetes cluster in constant time and generates a graph representation of service accounts, (cluster) roles, and the respective access rules in dot format.
              • github: Kubernetes JSON Schemas \ud83c\udf1f Schemas for every version of every object in every version of Kubernetes
              • Metacontroller Metacontroller is an add-on for Kubernetes that makes it easy to write and deploy custom controllers in the form of simple scripts.
              • KubeCarrier - Service Management at Scale KubeCarrier is an open source system for managing applications and services across multiple Kubernetes Clusters; providing a framework to centralize the management of services and provide these services with external users in a self service hub.
              • github.com: NFS Ganesha server and external provisioner NFS Ganesha Server and Volume Provisioner. nfs-ganesha-server-and-external-provisioner is an out-of-tree dynamic provisioner for Kubernetes 1.14+. You can use it to quickly & easily deploy shared storage that works almost anywhere.
              • Armada kubectl plugin \ud83c\udf1f Command line tools to manage kustomize packaged apps deployment. Armada is a Kubectl plugin that adds templating capacity and manage deployment to Kustomize apps. Templating uses go template to allow you to generate kustomize apps with templates inside. Armada allows you to git clone a packaged kustomize base and call it with the help of a config file.
              • Minnaker Minnaker is a simple way to install Spinnaker inside a VM. Spinnaker on Lightweight Kubernetes (K3s)
              • kVDI A Kubernetes-native Virtual Desktop Infrastructure
              • Kubesurveyor \ud83c\udf1f Good enough Kubernetes namespace visualization tool. No provisioning to a cluster required, only Kubernetes API is scrapped.
              • NVIDIA k8s-device-plugin NVIDIA device plugin for Kubernetes. The NVIDIA device plugin for Kubernetes is a Daemonset that allows you to automatically: Expose GPUs on each nodes of your cluster, Keep track of the health of your GPUs, Run GPU enabled containers.
              • kubectl-tmux-exec A kubectl plugin to control multiple pods simultaneously using Tmux
              • grype: a vulnerability scanner for container images and filesystems
              • KubeView \ud83c\udf1f Kubernetes cluster visualiser and graphical explorer. KubeView displays what is happening inside a Kubernetes cluster (or single namespace), it maps out the API objects and how they are interconnected. Data is fetched real-time from the Kubernetes API. The status of some objects (Pods, ReplicaSets, Deployments) is colour coded red/green to represent their status and health
              • karma \ud83c\udf1f Alert dashboard for Prometheus Alertmanager
              • Rancher Desktop \ud83c\udf1f Kubernetes and container management to the desktop. Rancher Desktop is an open-source project to bring Kubernetes and container management to the desktop. Windows and macOS versions of Rancher Desktop are available for download.
              • realvz/awesome-eks: A curated list of awesome tools for Amazon EKS \ud83c\udf1f
              • salesforce/Sloop - Kubernetes History Visualization \ud83c\udf1f Sloop monitors Kubernetes, recording histories of events and resource state changes and providing visualizations to aid in debugging past events.
              • Kspan - Turning Kubernetes Events into spans \ud83c\udf1f Most Kubernetes components produce Events when something interesting happens. This program turns those Events into OpenTelemetry Spans, joining them up by causality and grouping them together into Traces.
              • csi-rclone: CSI rclone mount plugin CSI driver for rclone. This project implements Container Storage Interface (CSI) plugin that allows using rclone mount as storage backend. Rclone mount points and parameters can be configured using Secret or PersistentVolume volumeAttibutes.
              • stackrox.io: Top 9 Open Source DevSecOps Tools for Kubernetes in 2021 \ud83c\udf1f Anchore, Checkov, Clair, Falco, Kube-bench, Kube-hunter, KubeLinter, Open Policy Agent (OPA), Terrascan
              • Kdo: deployless development on Kubernetes \ud83c\udf1f Kdo is a command line tool that enables developers to run, develop and test code changes in a realistic deployed setting without having to deal with the complexity of Kubernetes deployment and configuration.
              • chekr A inspection utility for the maintenance of Kubernetes clusters.
                • github.com issues: Generate Kyverno deprecation policies with chekr
              • KUR8 \ud83c\udf1f A visual overview of Kubernetes architecture and Prometheus metrics. KUR8 is an open-source Kubernetes analytics, monitoring, and visualizer web application that allows for querying, alerts, and creating custom charts and graphs that leverage Prothemeus and its time logged series database metrics.
              • mperezco/forklift-configmap-service Systemd service to run in VMs on KubeVirt to mount ConfigMaps
              • cdk8s Define Kubernetes native apps and abstractions using object-oriented programming
              • Havener Think of it as a swiss army knife for Kubernetes tasks.
              • KFServing \ud83c\udf1f Serverless Inferencing on Kubernetes. KFServing provides a Kubernetes Custom Resource Definition for serving machine learning (ML) models on arbitrary frameworks. It aims to solve production model serving use cases by providing performant, high abstraction interfaces for common ML frameworks like Tensorflow, XGBoost, ScikitLearn, PyTorch, and ONNX.
              • rkubelog \ud83c\udf1f Send k8s Logs to Papertrail and Loggly Without DaemonSets (for Nodeless Clusters) - dzone: ContainerD Kubernetes Syslog Forwarding Move from Logspout to Filebeat to support containerd logging architecture.
              • kubernetes-sigs: Trimaran: Load-aware scheduling plugins \ud83c\udf1f Trimaran is a collection of load-aware scheduler plugins - thenewstack.io: IBM, Red Hat Bring Load-Aware Resource Management to Kubernetes
              • AWS Controllers for Kubernetes (ACK) \ud83c\udf1f AWS Controllers for Kubernetes (ACK) is a project enabling you to manage AWS services from Kubernetes
              • connaisseur An admission controller that integrates Container Image Signature Verification into a Kubernetes cluster
              • VolSync \ud83c\udf1f Asynchronous data replication for Kubernetes volumes. VolSync asynchronously replicates Kubernetes persistent volumes between clusters using either rsync or rclone. It also supports creating backups of persistent volumes via restic. VolSync, a new storage-agnostic utility for exporting and importing objects from one Kubernetes namespace to another, even across clusters!
              • ketall Kubectl plugin to show really all kubernetes resources. Like kubectl get all, but get really all resources
              • kube-scheduler-simulator Web-based Kubernetes scheduler simulator
              • multus-cni \ud83c\udf1f A CNI meta-plugin for multi-homed pods in Kubernetes. Multus CNI is a container network interface (CNI) plugin for Kubernetes that enables attaching multiple network interfaces to pods. Typically, in Kubernetes each pod only has one network interface (apart from a loopback) \u2013 with Multus you can create a multi-homed pod that has multiple interfaces. This is accomplished by Multus acting as a \u201cmeta-plugin\u201d, a CNI plugin that can call multiple other CNI plugins.
              • kim - The Kubernetes Image Manager
              • KUDO: The Kubernetes Universal Declarative Operator \ud83c\udf1f KUDO is a toolkit that makes it easy to build Kubernetes Operators, in most cases just using YAML.
              • K8sPurger \ud83c\udf1f K8SPurger is a controller that finds all unused resources and show them in a nice format
              • jenkins-x/gsm-controller gsm-controller is a Kubernetes controller that copies secrets from Google Secrets Manager into Kubernetes secrets. The controller watches Kubernetes secrets looking for an annotation, if the annotation is not found on the secret nothing more is done.
              • sciuro Alertmanager to Kubernetes Node conditions bridge. Sciuro is a bridge between Alertmanager and Kubernetes to sync alerts as Node Conditions. It is designed to work in tandem with other controllers that observe Node Conditions such as draino or the cluster-api.
              • rottencandy/vimkubectl Manage Kubernetes resources from Vim
              • carlosedp/cluster-monitoring: Cluster Monitoring stack for ARM / X86-64 platforms Cluster monitoring stack for clusters based on Prometheus Operator
              • abhirockzz/kubexpose-operator Access your Kubernetes Deployment over the Internet - itnext.io: Kubexpose: A Kubernetes Operator, for fun and profit! Access your Kubernetes Deployment over the Internet
              • kubernetes-reflector Custom Kubernetes controller that can be used to replicate secrets, configmaps and certificates.
              • Another Autoscaler Another Autoscaler is a Kubernetes controller that automatically starts, stops, or restarts pods from a deployment at a specified time using a cron syntax.
              • cloud-ark/kubeplus \ud83c\udf1f Kubernetes Operator to deliver Helm charts as-a-service
              • cloud-ark/caastle Full-stack microservices deployment for Google Kubernetes Engine and Amazon Elastic Container Service
              • eezhee/eezhee The easiest way to build a k3s cluster on various public clouds. A super fast and easy way to create a k3s based kubernetes cluster on a variety of public clouds. Currently DigitalOcean, Linode and Vultr are supported. All it takes is a single command and about 2 minutes and your cluster is ready to use. Most of the time is taken by the cloud provider bring up the base VM. Eezhee is ideal for development, testing or learning about Kubernetes.
              • ContainerSolutions/ImageWolf: ImageWolf - Fast Distribution of Docker Images on Clusters Fast Distribution of Docker Images on Clusters. ImageWolf is a PoC that provides a blazingly fast way to get Docker images loaded onto your cluster, allowing updates to be pushed out quicker.
              • dcherman/image-cache-daemon Image Cache Daemon is a service to pre-pull / cache images on Kubernetes before they\u2019re needed
              • KnicKnic/temp-kubernetes-ci: Temp Kubernetes CI A github action to create a k3s kubernetes cluster in your CI VM for both linux & windows. Also has cmdline to copy and paste for other CI platforms.
              • mattmoor/warm-image: Kubernetes WarmImage CRD A Kubernetes CRD for prefetching container images onto nodes.
              • maorfr/kube-tasks: Kube tasks A tool to perform simple Kubernetes related actions. Simple Backups, Wait for Pods, Execute a command in a container.
              • tmobile/MagTape MagTape Policy-as-Code for Kubernetes. MagTape is a Policy-as-Code tool for Kubernetes that allows for evaluating Kubernetes resources against a set of defined policies. MagTape includes variable policy enforcement, notifications, and targeted metrics
              • vidispine/HULL - Helm Uniform Layer Library HULL (Helm Uniform Layer Library) is designed to ease building, maintaining and configuring Kubernetes objects in Helm charts.
              • hiddeco/Cronjobber Cronjobber is a cronjob controller for Kubernetes with support for time zones
              • karmab/autolabeller This repo contains a controller automatically labelling nodes based on either:
                • predefined regex rules matching node name.
                • a set of matching labels (with their associated value) present on the node.
              • kubernetes-sigs/nfs-subdir-external-provisioner: Kubernetes NFS Subdir External Provisioner Dynamic sub-dir volume provisioner on a remote NFS server. NFS subdir external provisioner is an automatic provisioner that use your existing NFS server to support dynamic provisioning of Kubernetes Persistent Volumes via Persistent Volume Claims
              • ori-edge/k8s_gateway A CoreDNS plugin to resolve all types of external Kubernetes resources. k8s_gateway is a CoreDNS plugin that resolves load balancer and external IPs from outside Kubernetes clusters and supports all types of Kubernetes external resources - Ingress, Service of type LoadBalancer.
              • viaduct-ai/kustomize-sops KSOPS - A Flexible Kustomize Plugin for SOPS Encrypted Resources
              • vadosware.io: Using Makefiles And Envsubst As An Alternative To Helm And Ksonnet (deprecated)
              • uw-labs.github.io: Kubernetes Semaphore: A modular and nonintrusive framework for cross cluster communication
              • zakkg3/ClusterSecret: Kubernetes ClusterSecret operator ClusterSecret operator makes sure all the matching namespaces have the secret available. New namespaces, if they match the pattern, will also have the secret. Any change on the ClusterSecret will update all related secrets. Deleting the ClusterSecret deletes \u201cchild\u201d secrets (all cloned secrets) too.
              • tektoncd/chains Tekton Chains is a Kubernetes Custom Resource Definition (CRD) controller that allows you to manage your supply chain security in Tekton.
              • gopaddle-io/configurator Synchronize and Version Control ConfigMaps & Secrets across Deployment Rollouts.
              • biosimulations/deployment Kubernetes Configuration for BioSimulations platform.
              • chrislusf/seaweedfs SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, local tiering, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, Hadoop, WebDAV, encryption, Erasure Coding.
              • kubernetes-sigs/kui A hybrid command-line/UI development experience for cloud-native development
              • DaspawnW/vault-crd Vault CRD for sharing Vault Secrets with Kubernetes. Vault-CRD is a custom resource definition for holding secrets that are stored in HashiCorp Vault and kept up to date with Kubernetes secrets
              • stakater/Reloader \ud83c\udf1f A Kubernetes controller to watch changes in ConfigMap and Secrets and do rolling upgrades on Pods with their associated Deployment, StatefulSet, DaemonSet and DeploymentConfig
              • dignajar/another-ldap Another LDAP is a form-based authentication for Active Directory / LDAP server. Provides Authentication and Authorization for your applications running in Kubernetes.
              • ddosify/ddosify High-performance load testing tool, written in Golang.
              • anchore/syft CLI tool and library for generating a Software Bill of Materials from container images and filesystems. Exceptional for vulnerability detection when used with a scanner tool like Grype.
              • aws/aws-node-termination-handler \ud83c\udf1f Gracefully handle EC2 instance shutdown within Kubernetes
              • aelsabbahy/goss Quick and Easy server testing/validation
              • chr-fritz/csi-sshfs Kubernetes CSI Plugin for SSHFS. It allows to mount directories using a ssh connection.
              • ctrox/csi-s3 A Container Storage Interface for S3. This is a Container Storage Interface (CSI) for S3 (or S3 compatible) storage. This can dynamically allocate buckets and mount them via a fuse mount into any container.
              • codesenberg/bombardier \ud83c\udf1f Fast cross-platform HTTP benchmarking tool written in Go
              • fstab/cifs CIFS Flexvolume Plugin for Kubernetes. Driver for CIFS (SMB, Samba, Windows Share) network filesystems as Kubernetes volumes.
              • kui.tools Kui: CLI-driven Graphics for Kubernetes. Tired of working with Kubernetes in cli mode only? Try kui - a hybrid tool that allows you to interact with any Kubernetes cluster easily with more advanced features available only in GUI.
              • bloomberg/goldpinger \ud83c\udf1f Debugging tool for Kubernetes which tests and displays connectivity between nodes in the cluster. Goldpinger makes calls between its instances to monitor your networking. It runs as a DaemonSet on Kubernetes and produces Prometheus metrics that can be scraped, visualised and alerted on.
              • haxsaw/hikaru \ud83c\udf1f Move smoothly between Kubernetes YAML and Python for creating/updating/componentizing configurations. Hikaru is a tool that provides you the ability to easily shift between YAML, Python objects/source, and JSON representations of your Kubernetes config files. It provides assistance in authoring these files in Python, opens up options in how you can assemble and customise the files, and provides some programmatic tools for inspecting large, complex files to enable automation of policy and security compliance. Additionally, Hikaru allows you to use its K8s model objects to interact with Kubernetes, directing it to create, modify, and delete resources.
              • kei6u/kubectl-secret-data A kubectl plugin for finding decoded secret data with productive search flags.
              • ofek/csi-gcs Kubernetes CSI driver for Google Cloud Storage. An easy-to-use, cross-platform, and highly optimized Kubernetes CSI driver for mounting Google Cloud Storage buckets.
              • target/pod-reaper Rule based pod killing kubernetes controller. Pod-Reaper was designed to kill pods that meet specific conditions. See the \u201cImplemented Rules\u201d section below for details on specific rules.
              • utilitywarehouse/kube-applier kube-applier enables automated deployment and declarative configuration for your Kubernetes cluster. kube-applier is Kubernetes deployment tool strongly following gitOps principals. It enables continuous deployment of Kubernetes objects by applying declarative configuration files from a Git repository to a Kubernetes cluster.
                • https://github.com/box/kube-applier
              • Trendyol/kink KinK is a helper CLI that facilitates to manage KinD clusters as Kubernetes pods. Designed to ease clusters up for fast testing with batteries included in mind.
              • vbouchaud/k8s-ldap-auth Kubernetes webhook token authentication plugin implementation using ldap.
              • wangjia184/pod-inspector A tool to inspect pods in kubernetes. Unlike other dashboardes for Kubernetes(Lens / Rancher / etc), Kubernetes Pod Inspector allows to check the file system and processes within running Linux pods without using kubectl. This is useful when we want to check the files within volumes mounted by pods
              • witchery-project/witchery build distroless images with alpine tools
              • knight42/kubectl-blame: kubectl-blame: git-like blame for kubectl Show who edited resource fields. A useful opensource tool that comes as a plugin to show who modified attributes in kubernetes resource fields.
              • kubernetes-sigs/node-feature-discovery: Node feature discovery for Kubernetes Welcome to Node Feature Discovery \u2013 a Kubernetes add-on for detecting hardware features and system configuration!
              • arttor/helmify Creates Helm chart from Kubernetes yaml. Helmify reads a list of supported k8s objects from stdin and converts it to a helm chart. Designed to generate charts for k8s operators but not limited to. See examples of charts generated by helmify.
                • medium.com/geekculture: Convert Kubernetes YAML Files Into Helm Charts
              • 4ARMED/kubeletmein Security testing tool for Kubernetes, abusing kubelet credentials on public cloud providers. This is a simple penetration testing tool which takes advantage of public cloud provider approaches to providing kubelet credentials to nodes in a Kubernetes cluster in order to gain privileged access to the k8s API. This access can then potentially be used to further compromise the applications running in the cluster or, in many cases, access secrets that facilitate complete control of Kubernetes.
              • patrickdappollonio/kubectl-slice Split multiple Kubernetes files into smaller files with ease. Split multi-YAML files into individual files.
              • appvia/cosign-keyless-admission-webhook Kubernetes admission webhook that uses cosign verify to check the subject and issuer of the image matches what you expect
              • theketchio/ketch \ud83c\udf1f Ketch is an application delivery framework that facilitates the deployment and management of applications on Kubernetes using a simple command line interface.
              • joyrex2001/kubedock Kubedock is a minimal implementation of the docker api that will orchestrate containers on a Kubernetes cluster, rather than running containers locally.
              • corneliusweig/konfig konfig helps to merge, split or import kubeconfig files
              • armosec/regolibrary ARMO rego library for detecting miss-configurations in Kubernetes manifests
              • groundnuty/k8s-wait-for \ud83c\udf1f A simple script that allows to wait for a k8s service, job or pods to enter a desired state
              • nabsul/k8s-ecr-login-renew: Renew Kubernetes Docker secrets for AWS ECR Renews Docker login credentials for an AWS ECR container registry.
              • particledecay/kconf Manage multiple kubeconfigs easily
              • maruina/aws-auth-manager: K8s controller to manage the aws-auth configmap aws-auth-manager is a Kubernetes controller designed to manage the aws-auth ConfigMap in EKS using a new AWSAuthItem CRD
              • segmentio/kubectl-curl: Kubectl plugin to run curl commands against kubernetes pods
              • wallarm/sysbindings sysctl/sysfs settings on a fly for Kubernetes Cluster. No restarts are required for clusters and nodes.
              • atombender/ktail \ud83c\udf1f ktail is a tool to easily tail Kubernetes logs. It\u2019s like kubectl logs, but with a bunch of features to make it more convenient:
                • Detects pods and containers as they come and go
                • Tails multiple pods and containers
                • All containers are tailed by default
                • Recovers from failure
              • https://pinniped.dev \ud83c\udf1f - vmware-tanzu/pinniped Pinniped is the easy, secure way to log in to your Kubernetes clusters.
              • keisku/kubectl-explore A better kubectl explain with the fuzzy finder. This plugin fuzzy-find the field explanation from supported API resources. It implements different explanations for particular API version. kubectl-explore is a kubectl plugin to fuzzy-find and explain the field supported API resources like \u201cpod.spec\u201d, \u201ccronJob.spec.jobTemplate\u201d, etc.
              • box/kube-exec-controller An admission controller service and kubectl plugin to handle container drift in K8s clusters. kube-exec-controller is an admission controller for handling container drift (caused by kubectl exec, attach, cp, or other interactive requests) inside a Kubernetes cluster. This project also includes a kubectl plugin for checking such Pods.
              • abahmed/kwatch \ud83d\udc40 monitor & detect crashes in your Kubernetes(K8s) cluster instantly. kwatch helps you monitor all changes in your Kubernetes cluster, detects crashes in your running apps in real-time, and publishes notifications to your channels (Slack, Discord, etc.) instantly.
              • cuber-cloud/cuber-gem: CUBER An automation tool that simplify the deployment of your apps on Kubernetes.
                • https://cuber.cloud/ \ud83c\udf1f
              • kubeops/config-syncer: Config Syncer (previously Kubed) Kubernetes Config Syncer (previously kubed). Config Syncer keeps ConfigMaps and Secrets synchronized across namespaces and/or clusters
              • eldadru/ksniff \ud83c\udf1f Kubectl plugin to ease sniffing on kubernetes pods using tcpdump and wireshark
              • openclarity/kubeclarity KubeClarity is a tool for detection and management of Software Bill Of Materials (SBOM) and vulnerabilities of container images and filesystems
                • medium.com/@ryan.dardis: KubeClarity \u2014 Cloud-Native Security Scanning for your Kubernetes Cluster and more
              • NimbleArchitect/kubectl-ice \ud83c\udf1f Cleanly list all containers in kubernetes pods including init containers and view running kubernetes information about those multi-container pods to assist in troubleshooting and information gathering. kubectl-ice is a kubectl plugin that lets you see the configuration of all pod\u2019s containers. You can inspect volumes, images, ports and executable configurations, along with current CPU and memory metrics at the container level.
              • vmware-tanzu/k-bench \ud83c\udf1f Workload Benchmark for Kubernetes. K-Bench is a framework to benchmark the control and data plane aspects of a Kubernetes infrastructure. It provides a configurable way to prescriptively create and manipulate Kubernetes resources at scale and collect the metrics.
              • k8tz/k8tz: Kubernetes Timezone Controller Kubernetes admission controller and a CLI tool to inject timezones into Pods and CronJobs
              • patrickdappollonio/tabloid: tabloid \u2013 your tabulated data\u2019s best friend tabloid is a simple command line tool to parse and filter column-based CLI outputs from commands like kubectl or docker
              • ReallyLiri/kubescout: Kube-Scout Scout for alarming issues across your Kubernetes clusters. kubescout is a command-line tool designed to issue alerts in real-time for:
                • Pod evictions
                • Pod stuck in terminating/initializing
                • Excessive disk usage, process & inode allocation
                • Warning/errors in native logs
                • Helm failures
                • etc
              • govirtuo/kube-ns-suspender \ud83c\udf1f A k8s controller that scales up and down namespaces on-demand with an embedded friendly UI and a Prometheus exporter. Inspired by kube-downscaler.Kube-ns-suspender watches namespaces and \u201csuspends\u201d them by scaling to 0 some of the resources. Once a namespace is suspended, it will not be restarted automatically. This allows to \u201creactivate\u201d namespaces only when required and reduces costs
              • codeberg.org/hjacobs/kube-downscaler: Kubernetes Downscaler \ud83c\udf1f Scale down / \u201cpause\u201d Kubernetes workload (Deployments, StatefulSets, and/or HorizontalPodAutoscalers and CronJobs too !) during non-work hours.
              • deepfence/PacketStreamer \u2b50\u2b50 Distributed tcpdump for cloud native environments \u2b50\u2b50 PacketStreamer is a high-performance remote packet capture and collection tool. It is used by Deepfence\u2019s ThreatStryker security observability platform to gather network traffic on demand from cloud workloads for forensic analysis.
              • kris-nova/kaar kaar is the Kubernetes Application Archive. kaar will:
                • Recursively iterate through every file in the path and search for valid Kubernetes YAML
                • Identify all container images referenced from the YAML
                • Archive the container images
              • mohatb/kubectl-exec kubectl-exec is a kubectl plugin that allows you to access a node. It works by creating a pod (with a privileged container) in the node you specified and using nsenter for getting a shell into your Kubernetes nodes. Works on both Linux and Windows.
              • kudobuilder/kuttl KUbernetes Test TooL (KUTTL) provides a declarative approach to test Kubernetes Operators. It is designed for testing operators, however it can declaratively test any kubernetes objects.
              • steveteuber/kubectl-graph \u2b50 A kubectl plugin to visualize Kubernetes resources and relationships.
              • crazy-max/diun Diun is a CLI application written in Go and delivered as a single executable (and a Docker image) to receive notifications when a Docker image is updated on a Docker registry.
              • omrikiei/ktunnel \u2b50 A cli that exposes your local resources to kubernetes. A CLI tool that establishes a reverse tunnel between a kubernetes cluster and your local machine.
              • dev.to: Pixie: an X-ray Machine for Kubernetes Traffic Pixie is one of a handful of observability tools that offer eBPF or kernel-level observability. In this tutorial, you will learn how to see all of your applications\u2019 metrics, events, logs, and traces using Pixie with Kubernetes.
              • plural.sh: Deploy open-source software on Kubernetes in record time \u2b50 An open-source platform to build, maintain, and scale infrastructure on Kubernetes. Batteries included.
                • medium.com/@michaeljguarino: How we Created an in-Browser Kubernetes Experience
              • pan-net-security/kcount kcount counts Kubernetes objects across namespaces and clusters. It can be used as a CLI tool or as a daemon (service) exposing Prometheus metrics.
              • cloudtty/cloudtty: A Kubernetes Cloud Shell (Web Terminal) Operator A Friendly Kubernetes CloudShell (Web Terminal) !
              • jthomperoo/k8shorizmetrics k8shorizmetrics is a library that provides the internal workings of the Kubernetes Horizontal Pod Autoscaler (HPA) wrapped up in a simple API. The project allows querying metrics just as the HPA does, and also running the calculations.
              • Kube-capacity is a simple and powerful CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster. It combines the best parts of kubectl top and describe into an easy to use CLI focused on cluster resources.
              • github.com/FairwindsOps: Goldilocks is a utility that can help you identify a starting point for resource requests and limits
              • learnk8s/xlskubectl a spreadsheet to control your Kubernetes cluster. xlskubectl integrates Google Spreadsheet with Kubernetes. You can finally administer your cluster from the same spreadsheet that you use to track your expenses.
              • kingdonb/kubectl-exec-user lets you exec as a specified user into a Kubernetes container
              • upmc-enterprises/registry-creds: Registry Credentials \u2b50 Allow for AWS ECR, Google Registry, & Azure Container Registry credentials to be refreshed inside your Kubernetes cluster via ImagePullSecrets
              • pymag09/kubecui kubeui makes kubectl more user friendly. This is still kubectl but enhanced with fzf. However, kubectl slows you down - requires heavy keyboard typing. In order to alleviate interaction with kubernetes API and describe the fields associated with each supported API resource directly in the Terminal, kubectl was complemented by fzf.
              • awesome-it/adeploy adeploy is a deployment tool for Kubernetes that supports the rendering and deploying of lightweight Jinja templated Kubernetes manifests and complex Helm charts
              • stakater/Forecastle Forecastle is a control panel which dynamically discovers and provides a launchpad to access applications deployed on Kubernetes
              • acorn-io/acorn Acorn is a simple application deployment framework for Kubernetes:
                • One artifact across dev, test, and production
                • Simple CLI and powerful API
                • Runs on any Kubernetes cluster
              • smartxworks/knest knest: Kubernetes-in-Kubernetes Made Simple
              • smartxworks/virtink Virtink is a Kubernetes add-on for running Cloud Hypervisor virtual machines. By using Cloud Hypervisor as the underlying hypervisor, Virtink enables a lightweight and secure way to run fully virtualized workloads in a canonical Kubernetes cluster
              • inspektor-gadget/inspektor-gadget Introspecting and debugging Kubernetes applications using eBPF \u201cgadgets\u201d. Inspektor Gadget is a collection of tools (or gadgets) to debug and inspect Kubernetes resources and applications. It manages the packaging, deployment and execution of eBPF programs in a Kubernetes cluster, including many based on BCC tools, as well as some developed specifically for use in Inspektor Gadget. It automatically maps low-level kernel primitives to high-level Kubernetes resources, making it easier and quicker to find the relevant information.
              • toboshii/hajimari Hajimari is a beautiful & customizable browser startpage/dashboard with Kubernetes application discovery.
              • Ramilito/kubediff \u2b50 Source VS Deployed. kubediff compares the local YAML resource definitions with the ones currently deployed in the cluster.
              • FairwindsOps/gonogo GoNoGo is a utility to help users determine upgrade confidence around Kubernetes cluster addons
              • pulumi/kube2pulumi Upgrade your Kubernetes YAML to a modern language
              • doitintl/kube-no-trouble: kubent \u2b50\u2b50\u2b50 Easily check your clusters for use of deprecated APIs. Kube No Trouble (kubent) is a tool to check whether you\u2019re using any deprecated APIs in your cluster and, therefore, should upgrade your workloads first before upgrading your Kubernetes cluster
              • resmoio/kubernetes-event-exporter Export Kubernetes events to multiple destinations with routing and filtering. kubernetes-event-exporter allows exporting the often missed Kubernetes events to various outputs to be used for observability or alerting purposes
              • jthomperoo/predictive-horizontal-pod-autoscaler Horizontal Pod Autoscaler built with predictive abilities using statistical models
              • github.com/chenjiandongx/kubectl-count Count resources by kind. kubectl-count uses the dynamic library to find server preferred resources and then leverages the informer mechanism to list and count resources by kind. You can show any kinds counts in kubernetes and group by namespaces.
              • github.com/rothgar/bashScheduler Kubernetes scheduler written in less than 100 lines of bash
              • github.com/kubereboot/kured \u2b50 Kured (KUbernetes REboot Daemon) is a Kubernetes daemonset that performs safe automatic node reboots when the need to do so is indicated by the package management system of the underlying OS.
              • kubernetes-sigs/kwok Kubernetes WithOut Kubelet - Simulates thousands of Nodes and Clusters. KWOK (Kubernetes-WithOut-Kubelet) is a toolkit that enables setting up a cluster of thousands of nodes in seconds. Under the scene, all Nodes are simulated to behave like real ones, so the overall approach employs a pretty low resource footprint.
              • github.com/squat/kilo Kilo is a multi-cloud network overlay built on WireGuard and designed for Kubernetes (k8s + wg = kg)
              • github.com/krateoplatformops/krateo Krateo Platformops is an open-source tool that allows users to create any desired resource on various infrastructures. It acts as a centralized control plane, allowing users to monitor and control resources.
              • github.com/jwcesign/kubespider A global resource download orchestration system, build your home download center.
              • faun.pub: A browser based remote desktop solution on kubernetes Building a cost effective and simple remote desktop solution on kubernetes using open source apache guacamole
              • kvaps/kubectl-node-shell kubectl node-shell is a krew plugin that lets start a root shell in the node\u2019s host
              • github.com/distribution/distribution In this repository, you\u2019ll find the code for storing and distributing container images using the OCI Distribution Specification. The goal of this project is to provide a simple, secure, and scalable base for building a large-scale registry solution.
              • github.com/flomesh-io/pipy Pipy is a programmable proxy for the cloud, edge and IoT.
                • blog.flomesh.io: sing Pipy as a Kubernetes policy engine
              • github.com/KWasm/podman-wasm This repository contains a Podman machine image that can run native WebAssembly container images, which only contain wasm files and no runtime
              • github.com/ibuildthecloud/wtfk8s Watch and print changes in k8s. This tool watches kubernetes resources and prints the delta in changes.
              • github.com/ContainerSSH/ContainerSSH ContainerSSH launches a new container for each SSH connection in Kubernetes, Podman or Docker. The user is transparently dropped in the container and the container is removed when the user disconnects.
              • github.com/Netcracker/KubeMarine Management tool for Kubernetes cluster deployment and maintenance. Kubemarine is an open-source, lightweight and powerful management tool built for end-to-end Kubernetes cluster deployment and maintenance
              • github.com/Skarlso/crd-to-sample-yaml card-to-sample-YAML lets you generate a sample YAML file from a Custom Resource Definition
              • github.com/alexellis/run-job Run a Kubernetes Job and get the logs when it\u2019s done \ud83c\udfc3\u200d\u2642\ufe0f
              • github.com/JovianX/Service-Hub Service Hub is a tool to create and manage a Self-Service portal for your applications using Kubernetes and Helm
              • medium.com/@markcallen_devops: Setup Kubernetes Admin on Linux with Brew
              • github.com/ahmetb/kubectl-foreach: kubectl foreach \u2b50 kubectl-foreach is a kubectl plugin that runs a kubectl command in one or more contexts (clusters) in parallel (similar to GNU parallel/xargs)
              • github.com/kubernetes-sigs/etcdadm \u2b50 etcdadm is a command-line tool for operating an etcd cluster. It makes it easy to create a new cluster, add a member to, or remove a member from an existing cluster. Its user experience is inspired by kubeadm.
              • infoq.com: Kwok, a Tool to Spin up Kubernetes Nodes in a Second
              • github.com/jetpack-io/launchpad \u2b50 Launchpad is a command-line tool that lets you easily create applications on Kubernetes. In practice, Launchpad works similar to Heroku or Vercel, except everything is on Kubernetes.
              • github.com/OvidiuBorlean/kubectl-sockperf Kubectl Sockperf plugin - Latency Measurement in Kubernetes
              • github.com/oslabs-beta/Ekkremis This repository contains the code for Ekkremis: a Prometheus-based alert manager to resolve kubernetes pods pending issues
              • github.com/jonmosco/kube-ps1 \u2b50 Kubernetes prompt for bash and zsh. kube-ps1 is a script that lets you add the current Kubernetes context and namespace configured on kubectl to your Bash/Zsh prompt strings (i.e. the $PS1)
              • github.com/cloudnativelabs/kube-shell \u2b50 Kube-shell is an integrated shell for working with the Kubernetes CLI. Under the hood, Kube-shell still calls kubectl. Kube-shell aims to provide ease-of-use of kubectl and increase productivity.
              • github.com/DataCater/datacater (real-time, cloud-native data pipeline platform) The developer-friendly ETL platform for transforming data in real-time. Based on Apache Kafka\u00ae and Kubernetes\u00ae. DataCater helps you to build modern, real-time data pipelines with Apache Kafka and Kubernetes. You can choose from an extensive repository of filter functions, apply transformations, or code your own transforms in Python.
              • github.com/alcideio/rbac-tool RBAC Tool for Kubernetes. Rapid7 | insightCloudSec | Kubernetes RBAC Power Toys - Visualize, Analyze, Generate & Query
              • oslabs-beta/Palaemon Palaemon is an open-source developer tool for monitoring health and resource metrics of Kubernetes clusters and analyzing Out of Memory (OOMKill) errors
              • openobserve/debug-container A container with common utilities for debugging your cluster
              • platformengineering.org/tools/capsule \u2b50 Capsule is an open source framework that enables Platform Engineers to build a secure multi-tenant Internal Developer Platform on top of any Kubernetes infrastructure.
              • Ksctl: Cloud Agnostic Kubernetes Management tool ksctl is a simple multi-environment Kubernetes management CLI tool
              • github.com/ajayk/drifter Drifter scans your cluster to find configuration drifts on Kubernetes resources or Helm charts
              • github.com/nebuly-ai/nos Module to Automatically maximize the utilization of GPU resources in a Kubernetes cluster through real-time dynamic partitioning and elastic quotas - Effortless optimization at its finest!
              • github.com/lsdopen/ahoy Ahoy helps teams release and manage applications and services across multiple k8s clusters without needing to write any yaml.
              • github.com/opencontrolplane OpenCP (Open Control Plane) is an open source project designed to provide a single interface to manage infrastructure across providers using a single tool: kubectl
              • github.com/yonahd/orphaned-configmaps: Orphaned ConfigMaps A script for finding orphaned configmaps
              • github.com/updatecli/updatecli A Declarative Dependency Management tool
                • Automatically open a PR on your GitOps repository when a third party service publishes an update
                • Updatecli is a tool used to apply file update strategies. Designed to be used from everywhere, each application \u201crun\u201d detects if a value needs to be updated using a custom strategy then apply changes according to the strategy.
              • github.com/yonahd/kor A Golang Tool to discover unused Kubernetes Resources. Currently, Kor can identify and list unused:
                • ConfigMaps
                • Secrets
                • Services
                • ServiceAccounts
                • Deployments
                • Statefulsets
                • Roles
              • granted.dev A CLI application which provides the world\u2019s best developer UX for finding and accessing cloud roles to multiple cloud accounts, fast!
              • devtron.ai Adopt Kubernetes in Weeks With Our K8s Acceleration Platform. Old software delivery platforms are holding you back and slowing you down. Rapidly adopt K8s without creating cognitive overload for your developers.
              • github.com/kubefirst/kubefirst The Kubefirst CLI creates instant GitOps platforms that integrate some of the best tools in cloud native from scratch in minutes. The Kubefirst CLI is a cloud provisioning tool that creates a kubernetes cluster with automated Infrastructure as Code, GitOps asset management and application delivery, secrets management, and more.
              • github.com/Trolley-MGMT/trolleymgmt Trolley is a multi cloud Kubernetes management system. A simplified UI which allows the user to Deploy, Edit and Delete clusters and deployments within them on AWS, Azure and GCP.
              • github.com/akuity/kargo - kargo.akuity.io Application lifecycle orchestration. Kargo is a next-generation continuous delivery and application lifecycle orchestration platform for Kubernetes. It builds upon GitOps principles and integrates with existing technologies, like Argo CD, to streamline and automate the progressive rollout of changes across the many stages of an application\u2019s lifecycle.
              • github.com/Wilfred/difftastic a structural diff that understands syntax
              • github.com/kubernetes/git-sync \u2b50 A sidecar app which clones a git repo and keeps it in sync with the upstream. git-sync is a simple command that pulls a git repository into a local directory. It is a perfect \u201csidecar\u201d container in Kubernetes - it can periodically pull files down from a repository so that an application can consume them.
              • github.com/kubepug/kubepug: Deprecations AKA KubePug - Pre UpGrade (Checker) \u2b50 KubePug/Deprecations is intended to be a kubectl plugin, which:
                • Downloads a generated data.json file containing API deprecation information for a specified release of Kubernetes
                • Scans a running Kubernetes cluster to determine if any objects will be affected by deprication
                • Displays affected objects to the user
              • github.com/hcavarsan/kftray \u2b50 Manage multiple kubectl port-forward commands with a menu bar or a TUI app, with support for UDP and proxy connections through Kubernetes clusters, and gitops-like state sync with github.
              • kondense \ud83c\udf1f Kondense is an automated resource sizing tool. It runs as a sidecar in kubernetes pods.
              "},{"location":"kubernetes-tools/#kubetail","title":"kubetail","text":"
              • github.com/kubetail-org/kubetail \ud83c\udf1f Private, real-time log viewer for Kubernetes
                • Kubetail is a bash script aggregating (tail/follow) logs from multiple pods into one stream
                • This is the same as running kubectl logs -f but for multiple pods
              • Kubetail \ud83c\udf1f Bash script to tail Kubernetes logs from multiple pods at the same time
              • Stern \ud83c\udf1f Multi pod and container log tailing for Kubernetes. Stern allows you to tail multiple pods on Kubernetes and multiple containers within the pod. Each result is color coded for quicker debugging \u2013 Friendly fork of https://github.com/wercker/stern
              "},{"location":"kubernetes-tools/#portainer","title":"Portainer","text":"
              • github.com/portainer/portainer Making Docker and Kubernetes management easy.
              "},{"location":"kubernetes-tools/#kubecfg","title":"kubecfg","text":"
              • github.com/kubecfg/kubecfg kubecfg is a tool for managing Kubernetes resources as code that allows you to express the patterns across your infrastructure, reuse \u201ctemplates\u201d across many services, and then manage those templates as files in version control
              "},{"location":"kubernetes-tools/#curl","title":"Curl","text":"
              • zhimin-wen.medium.com: Curl as a Network Protocol Testing Tool
              "},{"location":"kubernetes-tools/#kcp","title":"kcp","text":"
              • https://github.com/kcp-dev/
              • kcp: a prototype of a Kubernetes API server that is not a Kubernetes cluster - a place to create, update, and maintain Kube-like APIs with controllers above or without clusters Kubernetes is mainly known as a container orchestration platform today, but we believe it can be even more. With the power of CustomResourceDefinitions, Kubernetes provides a flexible platform for declarative APIs of all types, and the reconciliation pattern common to Kubernetes controllers is a powerful tool in building robust, expressive systems. At the same time, a diverse and creative community of tools and services has sprung up around Kubernetes APIs. Imagine a declarative Kubernetes-style API for anything, supported by an ecosystem of Kubernetes-aware tooling, separate from Kubernetes-the-container-orchestrator. That\u2019s kcp.
              • cloudnativesimplified.substack.com: kcp: Kubernetes-like control plane kcp is a control plane for workloads on many clusters. In this article, you will explore how to use it to manage multiple tenants:
                • In a single cluster with workspaces (isolated namespaces)
                • In multiple clusters with SyncTarget and Placements
              "},{"location":"kubernetes-tools/#clusternet","title":"Clusternet","text":"
              • github.com/clusternet Managing your Kubernetes clusters (including public, private, edge, etc) as easily as visiting the Internet
                • https://clusternet.io/
                • Clusternet (Cluster Internet) is a tool that helps you manage thousands of Kubernetes clusters
                • It can also help deploy and manage applications across several clusters from a single set of APIs in a single hosting cluster
              "},{"location":"kubernetes-tools/#open-cluster-management","title":"Open Cluster Management","text":"
              • How Kruize Optimizes OpenShift Workloads - (Related to openshift topic)

              • open-cluster-management.io Make working with many Kubernetes clusters super easy regardless of where they are deployed. Open Cluster Management is a community-driven project focused on multicluster and multicloud scenarios for Kubernetes apps. Open APIs are evolving within this project for cluster registration, work distribution, dynamic placement of policies and workloads, and much more.

              "},{"location":"kubernetes-tools/#penetration-testing-tools","title":"Penetration Testing Tools","text":"
              • Web-Check - Web-Check is a free and open-source tool that allows you to analyze the security of your website. It checks for various vulnerabilities and provides recommendations for improvement.
              • action-tmate: Debug GitHub Actions via SSH - (Related to cicd topic)

              • intellipaat.com: What is Penetration Testing? Penetration testing is otherwise referred to as pen testing. This blog on \u2018What is Penetration Testing? - Types, Phases, Tools Explained\u2019 discusses in detail what pen testing is and how it works, the numerous tools involved in this field, and so on. This blog aims to give you an insight into pen testing and how Ethical Hackers use it for the purpose of Cyber Security. Let\u2019s dive right in.

              • quarkslab/kdigger kdigger is a context discovery tool for Kubernetes penetration testing.
              • inguardians/peirates Peirates - Kubernetes Penetration Testing tool
              "},{"location":"kubernetes-tools/#deckhouse-kubernetes-platform","title":"Deckhouse Kubernetes Platform","text":"
              • Deckhouse: NoOps Kubernetes platform \ud83c\udf1f Deckhouse is an Open Source platform for managing Kubernetes clusters in a fully automatic and uniform fashion. It allows you to create homogeneous Kubernetes clusters anywhere and fully manages them. It supplies all the add-ons you need for auto-scaling, observability, security, and service mesh. It comes in Enterprise Edition (EE) and Community Edition (CE).
              "},{"location":"kubernetes-tools/#kubeip-gke","title":"KubeIP (GKE)","text":"
              • kubeip.com Many applications need to be whitelisted by users based on a Source IP Address. As of today, Google Kubernetes Engine doesn\u2019t support assigning a static pool of IP addresses to the GKE cluster. Using kubeIP, this problem is solved by assigning GKE nodes external IP addresses from a predefined list. kubeIP monitors the Kubernetes API for new/removed nodes and applies the changes accordingly.
              • Many applications need to be whitelisted based on a Source IP Address.
              • Using kubeIP, you can assign external IP addresses from a predefined list to GKE nodes. kubeIP monitors the Kubernetes API for new/removed nodes and applies the changes
              • doitintl/kubeIP Assign static external IPs from predefined pool of external IP addresses to Google GKE nodes so your customers could whitelist them
              "},{"location":"kubernetes-tools/#porter","title":"Porter","text":"
              • Porter Package your application artifact, client tools, configuration and deployment logic together as a versioned bundle that you can distribute, and then install with a single command - github.com/getporter/porter
              "},{"location":"kubernetes-tools/#datree-quality-checks-for-kubernetes-yamls","title":"Datree. Quality Checks for Kubernetes YAMLs","text":"
              • Datree.io Datree prevents kubernetes misconfigurations from reaching production. Datree is a CLI solution that supports kubernetes owners in their roles, by preventing developers from making errors in k8s configurations.
              • dev.to: CI With Datree Learn all about Datree, the leader in Kubernetes static code analysis; Helm chart analysis; and how to ensure that all manifest configurations are working properly in a Continuous Integration (CI) build process. youtube: CI and Building Code With Datree
              • dev.to: Automating quality checks for Kubernetes YAMLs
              "},{"location":"kubernetes-tools/#kaniko-build-images-in-kubernetes-without-docker","title":"Kaniko Build Images in Kubernetes without docker","text":"
              • Kaniko \ud83c\udf1f Kaniko is a tool to build container images from a Dockerfile. Unlike Docker, Kaniko doesn\u2019t require the Docker daemon. With the help of Kaniko, you won\u2019t be needing to run docker containers with privileged mode.
              • medium: Multibranch and HA Pipeline in Jenkins with Kaniko on GKE
              • developers.redhat.com: Perform a kaniko build on a Red Hat OpenShift cluster and push the image to a registry
              • devopscube.com: How To Build Docker Image In Kubernetes Pod \ud83c\udf1f
              • learnsteps.com: Kaniko and how you can build images on Kubernetes using kaniko?
              • blog.rewanthtammana.com: Hardening Kaniko build process with Linux capabilities Build images inside Kubernetes/containers? Wide privileges in default configuration? How to secure Kaniko? Can we take things a notch higher?
              • medium.com/@Mohamed-ElEmam: Build Docker Images in Kubernetes POD Without Docker -Kaniko
              • medium.com/@aqsarahman71: Introduction to Kaniko
              "},{"location":"kubernetes-tools/#shipwright-framework-for-building-container-images-on-kubernetes","title":"Shipwright Framework for Building Container Images on Kubernetes","text":"
              • shipwright.io
              • cd.foundation: CD Foundation Welcomes Shipwright, Framework for Building Container Images on Kubernetes, As New Incubating Project
              "},{"location":"kubernetes-tools/#buildkit-cli-for-kubectl","title":"BuildKit CLI for kubectl","text":"
              • BuildKit CLI for kubectl (by vmware-tanzu) \ud83c\udf1f BuildKit CLI for kubectl is a tool for building container images with your Kubernetes cluster.
              • container-registry.com: Lifting Developers\u2019 Productivity \ud83c\udf1f With BuildKit CLI for kubectl a drop in replacement for docker build
              "},{"location":"kubernetes-tools/#buildpacks-vs-dockerfiles","title":"Buildpacks vs Dockerfiles","text":"
              • technology.doximity.com: Buildpacks vs Dockerfiles \ud83c\udf1f Exploring the tradeoffs of building container images at scale
              "},{"location":"kubernetes-tools/#kubevela","title":"Kubevela","text":"
              • kubevela.io \ud83c\udf1f KubeVela is a modern application platform that makes deploying and managing applications across today\u2019s hybrid, multi-cloud environments easier and faster. KubeVela is runtime agnostic, natively extensible, yet most importantly, application-centric .
              • blog.logrocket.com: Intro to KubeVela: A better way to ship applications KubeVela makes deploying applications to Kubernetes much easier. Rather than knowing about service, deployment, pods, and horizontal pod scaling, you can specify a much lighter configuration.
              "},{"location":"kubernetes-tools/#pixie-instantly-troubleshoot-applications-on-kubernetes","title":"Pixie. Instantly troubleshoot applications on Kubernetes","text":"
              • px.dev: Pixie Open source Kubernetes observability for developers. Auto-instrumented. Scriptable. Kubernetes native.
              • docs.pixielabs.ai: Pixie Instantly debug your applications on Kubernetes
              • github.com: Pixie - Instant Kubernetes-Native Application Observability
              • open source PxL scripts
              "},{"location":"kubernetes-tools/#dekorate-generate-k8s-manifests-for-java-apps","title":"Dekorate. Generate k8s manifests for java apps","text":"
              • dekorate.io \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f - https://github.com/dekorateio/dekorate
              • Dekorate is a collection of Java compile-time generators and decorators for Kubernetes manifests. You can generate a manifest by adding a dependency to the classpath of your project. You can also customize it with an annotation or application property
              • One-stop jar to Kubernetes manifest generation that works for all jvm languages regardless of the build tool. It makes generating Kubernetes manifests as easy as adding a dependency to the classpath!
              • developers.redhat.com: Using Dekorate to generate Kubernetes manifests for Java applications
              "},{"location":"kubernetes-tools/#kubesploit","title":"Kubesploit","text":"
              • github.com/cyberark/kubesploit \ud83c\udf1f Kubesploit is a cross-platform post-exploitation HTTP/2 Command & Control server and agent dedicated for containerized environments written in Golang and built on top of Merlin project
              • cyberark.com: Kubesploit: A New Offensive Tool for Testing Containerized Environments
              "},{"location":"kubernetes-tools/#kubeshop","title":"Kubeshop","text":"
              • Kubeshop \ud83c\udf1f First in the World Open-Source Accelerator/Incubator focusing on building project for Developers in the Kubernetes space
              • venturebeat.com: Kubeshop wants to be a Kubernetes product pipeline
              "},{"location":"kubernetes-tools/#meshery","title":"Meshery","text":"
              • Meshery is an open-source cloud-native manager that enables the design and management of all Kubernetes-based infrastructure and applications.
              • Exploring Kubernetes Pods with Meshery - A hands-on lab in Meshery Playground, an interactive live cluster environment.
              "},{"location":"kubernetes-tools/#monokle","title":"Monokle","text":"
              • kubeshop/monokle Monokle - your friendly desktop UI for managing k8s manifests!
              • medium.com/kubeshop-i: Monokle 1.5.0 Release Monokle by @thekubeshop is your K8s best friend for creating, validating, debugging and managing manifests! Monokle now provides templates to help you get started with creating resources.
              • youtube: From Code to Cloud: Quality Kubernetes Deployments with Monokle | Cloud Native Islamabad
                • Create, debug, and implement OPA validation of the necessary YAML resource manifests for proper
                • See how the application behaves in Prod
              "},{"location":"kubernetes-tools/#k8studio","title":"K8studio","text":"
              • k8studio \u2014 Your friendly, full-featured desktop IDE for Kubernetes clusters and manifests!
              • medium.com: K8Studio 3.x Release \u2014 K8Studio helps you create, validate, debug, and manage Kubernetes manifests and live clusters with a powerful UI and built-in AI Copilot.
              • youtube: From Code to Cluster \u2014 Modern Kubernetes Workflows with K8Studio
                • Visualize your clusters with CloudMaps / Heatmaps
                • Work faster with Grid View and real-time filtering
                • Manage multi-cluster setups with custom layouts
                • Edit YAML or use Quick Editors (forms + live preview)
                • Drill into RBAC & Permissions
                • Explore logs with advanced multi-container Logs Viewer
                • Monitor resources via built-in Prometheus integration
                • Get contextual help from AI Copilot
                • Built-in Terminal with full kubectl context
                • View object timelines & security posture at a glance
              "},{"location":"kubernetes-tools/#kubelibrary","title":"KubeLibrary","text":"
              • KubeLibrary KubeLibrary is a RobotFramework library for testing Kubernetes cluster
              "},{"location":"kubernetes-tools/#kube-vip","title":"kube-vip","text":"
              • kube-vip is a Load-Balancer for both inside and outside a Kubernetes cluster. kube-vip provides Kubernetes clusters with a virtual IP and load balancer for both the control plane (for building a highly-available cluster) and Kubernetes Services of type LoadBalancer without relying on any external hardware or software.
              • What\u2019s one of the biggest pain in implementing Kubernetes for on-prem? Lack of support for LoadBalancer Service. Now there\u2019s a second project (the first is MetalLB) that provides this functionality for on-prem: kube-vip.
              "},{"location":"kubernetes-tools/#kubermetrics","title":"Kubermetrics","text":"
              • oslabs-beta/kubermetrics Kubermetrics is an open-source dev tool that provides Kubernetes cluster monitoring as well as data visualization in a simple and easy to understand user interface. Kubermetrics intergrates both the Prometheus and Grafana Dashboards on one page! Allowing for custominzable dashboards and alerts.
              • medium: Kubermetrics \u2014 Cluster Visualization Made Simple
              "},{"location":"kubernetes-tools/#kustomizer","title":"Kustomizer","text":"
              • kustomizer Kustomize build, apply, prune command-line utility. Kustomizer is a command-line utility for applying kustomizations on Kubernetes clusters. Kustomizer garbage collector keeps track of the applied resources and prunes the Kubernetes objects that were previously applied on the cluster but are missing from the current revision.
              "},{"location":"kubernetes-tools/#metallb","title":"MetalLB","text":"
              • medium.com/@charled.breteche: Kind, Cilium, MetalLB, and still no kube-proxy In this article I will show you how to add MetalLB into the mix to enable services of type LoadBalancer to work in your local cluster.
              • patrick.easte.rs: Forging an optimal MetalLB configuration MetalLB discovers services needing load balancers, allocates IP addresses, and advertises them. There are 2 primary modes for announcing load balancers: Layer 2 and 3 (BGP). Each mode has its pros and cons and this article compares them.
              • adaltas.com: Ingresses and Load Balancers in Kubernetes with MetalLB and nginx-ingress This tutorial will teach you how to use MetalLB and nginx-ingress to load-balance requests in a bare-metal Kubernetes cluster
              • itnext.io: Configuring routing for MetalLB in L2 mode In this article, you will discover how to configure source-based and policy-based routing for the external network on your cluster using MetalLB
              "},{"location":"kubernetes-tools/#kubermatic-kubernetes-platform","title":"Kubermatic Kubernetes Platform","text":"
              • Kubermatic Kubernetes Platform \ud83c\udf1f is an open source project to centrally manage the global automation of thousands of Kubernetes clusters across multicloud, on-prem and edge with unparalleled density and resilience.
              • thenewstack.io: Kubermatic Kubernetes Platform Beats Complexity Through Automation
              "},{"location":"kubernetes-tools/#kubermatic-kubeone","title":"Kubermatic Kubeone","text":"
              • kubermatic/kubeone \ud83c\udf1f Kubermatic KubeOne automate cluster operations on all your cloud, on-prem, edge, and IoT environments.
              • youtube.com: How to Write Software That Sets Up Kubernetes Anywhere with Kubermatic Kubeone Kubernetes is a complex system. But installing Kubernetes doesn\u2019t need to be hard. In this short clip, our Software Engineer Marko Mudrini\u0107 explains how to use existing tools to make tasks easier for you. He provides you with some insights on the learnings we made while creating KubeOne, an open source and infrastructure-agnostic cluster lifecycle management tool for single and HA Kubernetes clusters.
              "},{"location":"kubernetes-tools/#usernetes","title":"Usernetes","text":"
              • rootless-containers/usernetes Kubernetes installable under $HOME, without the root privileges
              "},{"location":"kubernetes-tools/#k8syamlcom","title":"k8syaml.com","text":"
              • k8syaml.com \ud83c\udf1f Kubernetes YAML Generator - Powered by Octopus
              "},{"location":"kubernetes-tools/#popeye","title":"Popeye","text":"
              • Popeye - A Kubernetes Cluster Sanitizer \ud83c\udf1f\ud83c\udf1f Popeye is a utility that scans live Kubernetes cluster and reports potential issues with deployed resources and configurations. It sanitizes your cluster based on what\u2019s deployed and not what\u2019s sitting on disk. By scanning your cluster, it detects misconfigurations and helps you to ensure that best practices are in place, thus preventing future headaches. It aims at reducing the cognitive overload one faces when operating a Kubernetes cluster in the wild. Furthermore, if your cluster employs a metric-server, it reports potential resources over/under allocations and attempts to warn you should your cluster run out of capacity.
              "},{"location":"kubernetes-tools/#kbrew","title":"kbrew","text":"
              • kbrew kbrew is homebrew for Kubernetes. kbrew is a CLI tool for Kubernetes which makes installing any complex stack easy in one step (And yes we are definitely inspired by Homebrew from MacOS)
              "},{"location":"kubernetes-tools/#kubexplorer","title":"KubExplorer","text":"
              • Pscheidl/kubexplorer Detects orphan configmaps and secrets in a Kubernetes cluster
              "},{"location":"kubernetes-tools/#kubescape","title":"Kubescape","text":"
              • Kubescape \ud83c\udf1f kubescape is the first tool for testing if Kubernetes is deployed securely as defined in Kubernetes Hardening Guidance by to NSA and CISA. Tests are configured with YAML files, making this tool easy to update as test specifications evolve.
                • Kubescape is a tool that provides risk analysis, security compliance, RBAC visualizer and image vulnerabilities scanning.
              • armosec.io: Use Kubescape to check if your Kubernetes clusters are exposed to the latest K8s Symlink vulnerability (CVE-2021-25741)
              • medium.com/@sheraznadeem1: Kubescape & Kubernetes Hardening- Demystified
              • blog.devgenius.io: Scanning Kubernetes YAML Files for Security \ud83c\udf1f
              • infracloud.io: Securing Kubernetes Cluster using Kubescape and kube-bench In this article, you will discuss how you can secure a Kubernetes cluster using Kubescape and kube-bench
              "},{"location":"kubernetes-tools/#kubectl-connections","title":"Kubectl Connections","text":"
              • A Complete Guide to Kubectl exec \ud83c\udf1f - This article provides a comprehensive guide to using kubectl exec, a crucial command for gaining shell access to containers within a Kubernetes cluster. It covers the necessity of shell access for debugging and configuration, introduces kubectl exec, details its components and parameters, compares it with docker exec and ssh, offers practical examples, discusses security implications, and provides troubleshooting tips.

              • KubePlus kubectl plugins -> kubectl connections

              • cloudark.medium.com: kubectl connections that can help you discover and visualize relationship between resources (Deployments, Services, etc.) in your namespace
              "},{"location":"kubernetes-tools/#benchmark-operator","title":"Benchmark Operator","text":"
              • cloud-bulldozer/benchmark-operator: The Chuck Norris of cloud benchmarks The intent of this Operator is to deploy common workloads to establish a performance baseline of Kubernetes cluster on your provider.
              "},{"location":"kubernetes-tools/#source-to-image-s2i","title":"Source-To-Image (S2I)","text":"
              • openshift/source-to-image A tool for building artifacts from source and injecting into container images. Source-to-Image (S2I) is a toolkit and workflow for building reproducible container images from source code. No writing a bunch of YAML to build your container.
              "},{"location":"kubernetes-tools/#vmware-tanzu-octant","title":"VMware Tanzu Octant","text":"
              • vmware-tanzu/octant Highly extensible platform for developers to better understand the complexity of Kubernetes clusters. Octant is a tool for developers to understand how applications run on a Kubernetes cluster. It aims to be part of the developer\u2019s toolkit for gaining insight and approaching complexity found in Kubernetes. Octant offers a combination of introspective tooling, cluster navigation, and object management along with a plugin system to further extend its capabilities.
              "},{"location":"kubernetes-tools/#qovery-engine","title":"Qovery Engine","text":"
              • Qovery/engine: Qovery Engine \ud83c\udf1f Qovery Engine is an open-source abstraction layer library that turns easy apps deployment on AWS, GCP, Azure, and other Cloud providers in just a few minutes. The Qovery Engine is written in Rust and takes advantage of Terraform, Helm, Kubectl, and Docker to manage resources.
              "},{"location":"kubernetes-tools/#mck8s-container-orchestrator-for-multi-cluster-kubernetes","title":"mck8s Container orchestrator for multi-cluster Kubernetes","text":"
              • moule3053/mck8s mck8s, short for multi-cluster Kubernetes, allows you to automate the deployment of multi-cluster applications on multiple Kubernetes clusters by offering enhanced configuration possibilities. The main aim of mck8s is maximizing resource utilization and supporting elasitcity across multiple Kubenetes clusters by providing multiple placement policies, as well as bursting, cloud resource provisioning, autoscaling and de-provisioning capabilities. mck8s builds upon other open-source software such as Kubernetes, Kubernetes Federation, kopf, serf, Cilium, Cluster API, and Prometheus.
              "},{"location":"kubernetes-tools/#shipwright-framework","title":"Shipwright framework","text":"
              • shipwright-io/build: shipwright A framework for building container images on Kubernetes.
              • With Shipwright, developers get a simplified approach for building container images, by defining a minimal YAML that does not require any previous knowledge of containers or container tooling. All you need is your source code in git and access to a container registry.
              • Shipwright supports any tool that can build container images in Kubernetes clusters, such as:
                • Kaniko
                • Cloud Native Buildpacks
                • BuildKit
                • Buildah
              "},{"location":"kubernetes-tools/#schiff-deutsche-telekom","title":"Schiff (Deutsche Telekom)","text":"
              • telekom/das-schiff This is home of Das Schiff - Deutsche Telekom Technik\u2019s engine for Kubernetes Cluster as a Service (CaaS) in on-premise environment on top of bare-metal servers and VMs.
              "},{"location":"kubernetes-tools/#netmaker","title":"NetMaker","text":"
              • NetMaker Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
              "},{"location":"kubernetes-tools/#aws-karpenter-kubernetes-autoscaler","title":"AWS Karpenter kubernetes Autoscaler","text":"
              • Karpenter Just-in-time Nodes for Any Kubernetes Cluster. Karpenter simplifies Kubernetes infrastructure with the right nodes at the right time. Karpenter automatically launches just the right compute resources to handle your cluster\u2019s applications. It is designed to let you take full advantage of the cloud with fast and simple compute provisioning for Kubernetes clusters.
              • techcrunch.com: AWS launches Karpenter, an open source autoscaler for Kubernetes clusters
              • itnext.io: Karpenter: Open-Source, High-Performance Kubernetes Cluster Autoscaler
              • blog.kloia.com: Karpenter Cluster Autoscaler
              • infoq.com: AWS Releases Multi-Cloud Kubernetes Autoscaler Karpenter
              • aws.amazon.com: Using Amazon EC2 Spot Instances with Karpenter Karpenter is a dynamic, high-performance cluster auto-scaling solution for the Kubernetes platform. In this blog post, we will look at how to use Karpenter with EC2 Spot Instances and handle Spot Instance interruptions.
              • makendran.hashnode.dev: Just-in-time Worker Nodes with Karpenter Karpenter is an open source project licensed under the Apache 2.0 license and it is a node-based scaling solution created for K8S. In an AWS EKS cluster, you cannot manage nodes directly. Instead, you have to use additional orchestration mechanisms such as node groups. Unless you use Karpenter \u2014 an open-source, flexible, high-performance Kubernetes cluster autoscaler.
              • awstip.com: This Code Works! \u2014 Autoscaling An Amazon EKS Cluster with Karpenter \u2014 Part \u2153 In this three-part series, you will learn how to use Karpenter:
                • Introduction and Karpenter vs Kubernetes Cluster Autoscaler
                • Karpenter deployment guide
                • End-to-end working code to implement a fully functional EKS Cluster
              • dev.to: Karpenter: The Better Autoscaling Solution for Kubernetes- Part 1
              • medium.com/summit-technology-group: Karpenter \u2014 AutoScaling and Right-Sizing EKS Nodes Karpenter simplifies node autoscaling and right-sizing for Kubernetes workloads on AWS, resulting in cost savings and easier use of spot instances
              • medium.com/israeli-tech-radar: Karpenter, and the future of Kubernetes
              • medium.com/@micheldirk: On Amazon EKS and Karpenter
              • medium.com/@gajaoncloud: Unleash the Power of Karpenter: Automating AWS EKS Scaling and Cost Optimization
              • medium.com/@gajaoncloud: Karpenter Mastery: NodePools & NodeClasses for Workload Nirvana
              • medium.com/@gajaoncloud: Demystifying Karpenter\u2019s Advanced Features: Consolidation, Drift, and Spot Handling In this article, you will learn about Karpenter\u2019s advanced features, such as consolidation for optimal resource utilization, drift detection for automatic updates, and spot instance handling for graceful interruptions
              "},{"location":"kubernetes-tools/#kuby-easy-deployments-of-ruby-rails-app","title":"Kuby (easy deployments of Ruby Rails App)","text":"
              • Kuby Deploy Your Rails App the Easy Way. Kuby is a convention-over-configuration approach to deploying Rails apps. It makes the power of Docker and Kubernetes accessible to the average Rails developer without requiring a devops black belt.
              • evilmartians.com: Kubing Rails: stressless Kubernetes deployments with Kuby
              "},{"location":"kubernetes-tools/#direktiv","title":"Direktiv","text":"
              • Direktiv Serverless Container Orchestration. Diretiv is a serverless workflow and automation engine running on Kubernetes and Knative. Direktiv is the equivalent of AWS Step Functions, or Google Cloud Workflows or Alibaba Serverless Workflows. The difference between Direktiv and the cloud provider workflow engines is that Direktiv is cloud & platform agnostic, runs on kubernetes and executes containers as \u201cplugins\u201d.
              • blog.direktiv.io: Building a simple cloud-native, orchestrated microservice from containers
              "},{"location":"kubernetes-tools/#jabos","title":"Jabos","text":"
              • Jabos
              • itnext.io: Keep it simple K8s. Kubernetes GitOps using Jabos
              "},{"location":"kubernetes-tools/#pleco","title":"Pleco","text":"
              • Qovery/pleco Automatically removes Cloud managed services and Kubernetes resources based on tags with TTL
              "},{"location":"kubernetes-tools/#mesh-kridik","title":"Mesh-kridik","text":"
              • (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
              "},{"location":"kubernetes-tools/#kubewatch","title":"kubewatch","text":"
              • bitnami-labs/kubewatch Watch k8s events and trigger Handlers. kubewatch is a Kubernetes watcher that currently publishes notification to available collaboration hubs/notification channels. Run it in your k8s cluster, and you will get event notifications through webhooks.
              "},{"location":"kubernetes-tools/#botkube","title":"Botkube","text":"
              • botkube.io BotKube is a messaging bot for monitoring and debugging Kubernetes clusters.
              "},{"location":"kubernetes-tools/#robusta","title":"Robusta","text":"
              • Robusta Robusta is an open source platform for webhooks and automations. It contains a library of 50+ builtin actions.
              • home.robusta.dev: Why everyone should track Kubernetes changes and top four ways to do so Robusta is an event-triggered automations engine. Using Robusta you can subscribe to changes in a cluster (or multiple clusters) and publish that information to useful locations.
              • robusta-dev/krr Prometheus-based Kubernetes Resource Recommendations. Robusta KRR (Kubernetes Resource Recommender) is a CLI tool for optimizing resource allocation in Kubernetes clusters. It gathers pod usage data from Prometheus and recommends requests and limits for CPU and memory. This reduces costs and improves performance.
              • blog.devops.dev: How to use the Kubernetes Resource Recommender tool in a GKE Cluster \ud83c\udf1f
              "},{"location":"kubernetes-tools/#soup-gitops-operator","title":"Soup GitOps Operator","text":"
              • caldito/soup Soup is a GitOps operator for Kubernetes. GitOps continuous deployment and management tool for Kubernetes focused on simplicity.
              "},{"location":"kubernetes-tools/#epinio","title":"Epinio","text":"
              • https://epinio.io The Application Development Engine for Kubernetes. Epinio is how you tame the developer workflow in Kubernetes to go from Code to URL in a single step.
              • epinio/epinio Opinionated platform that runs on Kubernetes, that takes you from App to URL in one step.
              "},{"location":"kubernetes-tools/#testkube","title":"Testkube","text":"
              • https://testkube.io \ud83c\udf1f
              • kubeshop/testkube Kubernetes-native framework for test definition and execution
              • thenewstack.io: TestKube: A New Approach to Cloud Native Testing
              • thenewstack.io: Testkube: A Cloud Native Testing Framework for Kubernetes
              • piotrminkowski.com: Testing Java Apps on Kubernetes with Testkube
              "},{"location":"kubernetes-tools/#kuberlogic","title":"KuberLogic","text":"
              • kuberlogic Kuberlogic is an open-source product that deploys and manages software on top of the Kubernetes cluster and turns infrastructure into a managed PaaS. KuberLogic is that allows running managed databases and popular applications deploying on-premises or at any cloud. The solution provides API, monitoring, backups, and integration with SSO right out of the box
              "},{"location":"kubernetes-tools/#kusk","title":"Kusk","text":"
              • kubeshop/kusk: use OpenAPI to configure Kubernetes Kusk makes your OpenAPI definition the source of truth for API resources in your cluster. Kusk treats your OpenAPI/Swagger definition as a source of truth for generating supplementary Kubernetes resources for your REST APIs in regard to mappings, security, traffic-control, monitoring, etc.
              • medium.com/kubeshop-i: Rapidly prototype your APIs on Kubernetes with Kusk Gateway \u2014 Kubeshop \ud83c\udf1f
              "},{"location":"kubernetes-tools/#azure-ad-workload-identity","title":"Azure AD Workload Identity","text":"
              • Azure/azure-workload-identity Azure AD Workload Identity uses Kubernetes primitives to associate managed identities for Azure resources and identities in Azure Active Directory (AAD) with pods. It simplifies accessing Azure AD protected resources securely from Kubernetes workloads.
              "},{"location":"kubernetes-tools/#kubernate","title":"Kubernate","text":"
              • https://kubernate.dev
              • laurci/kubernate Kubernetes+Generate = Kubernate. Kubernate is a Kubernetes YAML generator that can be used as an alternative to other popular tools like Helm. Kubernate is distributed as a library and as a CLI, both working together to achieve one goal: Kubernetes as Code.
              "},{"location":"kubernetes-tools/#tackle","title":"Tackle","text":"
              • https://www.konveyor.io/tackle
              • redhat.com: How to streamline application portfolio modernization with Tackle Tackle is an open source tool that helps organizations migrate and modernize their application portfolio to leverage Kubernetes without risk of vendor lock-in.
              "},{"location":"kubernetes-tools/#azure-placement-policy-scheduler-plugins","title":"Azure Placement Policy Scheduler Plugins","text":"
              • Azure/placement-policy-scheduler-plugins This scheduler enables cluster admins to offload some configurable percentage of their workloads to spot nodes enabling them to decrease the cost of running these pods without affecting their reliability.
              • Most of cloud environments today provides cluster admins with ephemeral nodes (VMs). These nodes typically cost significantly less but they offer less reliability than their regular counterpart. Cluster admins are often torn between the choice of cost and reliability because of the innate inability of the default Kubernetes scheduler to place some of a specific workload pods on these nodes. Having the entire workload on ephemeral nodes risks the reliability of the workload when the cloud environment stops these nodes. This scheduler enables cluster admins to offload some configurable percentage of their workloads on these nodes enabling them to decrease the cost of running these pods without affecting its reliability.
              "},{"location":"kubernetes-tools/#azure-aad-pod-identity","title":"Azure AAD Pod Identity","text":""},{"location":"kubernetes-tools/#azure-related","title":"Azure Related","text":""},{"location":"kubernetes-tools/#related-ai","title":"Related AI","text":"
              • Cursor Bugbot Effort Levels Documentation - (Related to ai topic)
              • Claude Code in Action - (Related to ai topic)
              "},{"location":"kubernetes-tools/#kubernetes-operators-controllers","title":"kubernetes-operators-controllers","text":"
              • Kueue Release v0.14.0 - (Related to kubernetes-operators-controllers topic)
              • AKS Bitnami Open Source Deployments - (Related to azure topic)

              • Azure/aad-pod-identity) Assign Azure Active Directory Identities to Kubernetes applications.

              "},{"location":"kubernetes-tools/#microshift","title":"MicroShift","text":""},{"location":"kubernetes-tools/#kubernetes-networking","title":"kubernetes-networking","text":"
              • Transitioning from ingress-nginx to Traefik in Kubernetes - (Related to kubernetes-networking topic)

              • microshift.io MicroShift is a research project that is exploring how OpenShift1 and Kubernetes can be optimized for small form factor and edge computing.

              • It requires only 2GB to run
              • You can run it as a container with Docker or Podman
              • It is a very trimmed version of OpenShift without many features
              "},{"location":"kubernetes-tools/#kubefwd-kube-forward","title":"kubefwd (Kube Forward)","text":"
              • txn2/kubefwd Kubernetes port forwarding for local development.
              • kubefwd is a tool built to port forward multiple services within one or more namespaces on one or more Kubernetes clusters
              • kubefwd uses the same port exposed by the service and forwards it from a loopback IP address on your local workstation
              "},{"location":"kubernetes-tools/#kpng-kubernetes-proxy-ng","title":"Kpng. Kubernetes Proxy NG","text":"
              • kubernetes-sigs/kpng Reworking kube-proxy\u2019s architecture
              • kubernetes.io: Use KPNG to Write Specialized kube-proxiers The post will show you how to create a specialized service kube-proxy style network proxier using Kubernetes Proxy NG kpng without interfering with the existing kube-proxy
              "},{"location":"kubernetes-tools/#auto-portforward-apf","title":"Auto-portforward (apf)","text":"
              • ruoshan/autoportforward Bidirectional port-forwarding for docker, podman and kubernetes. A handy tool to automatically set up proxies that expose the remote container\u2019s listening ports back to the local machine. Just like kubectl portforward or docker run -p LOCAL:REMOTE, but automatically discover and update the ports to be forwarded on the fly. apf can create listening ports in the container and forward them back as well.
              "},{"location":"kubernetes-tools/#gardener","title":"Gardener","text":"
              • github.com/gardener/gardener: Deliver fully-managed clusters at scale everywhere with your own Kubernetes-as-a-Service Homogeneous Kubernetes clusters at scale on any infrastructure using hosted control planes.
              • gardener/terraformer: Terraformer Executes Terraform configuration as job/pod inside a Kubernetes cluster. Terraformer is a tool that can execute Terraform commands (apply, destroy and validate) and can be run as a Pod inside a Kubernetes cluster. The Terraform configuration and state files (main.tf, variables.tf, terraform.tfvars and terraform.tfstate) are stored as ConfigMaps and Secrets in the Kubernetes cluster and will be retrieved and updated by Terraformer.
              "},{"location":"kubernetes-tools/#werf","title":"Werf","text":"
              • werf/werf
              • The CLI tool gluing Git, Docker, Helm, and Kubernetes with any CI system to implement CI/CD and Giterminism. Werf is an Open Source CLI tool written in Go, designed to simplify and speed up the delivery of applications. To use it, you need to describe the configuration of your application (in other words, how to build and deploy it to Kubernetes) and store it in a Git repo \u2014 the latter acts as a single source of truth. In short, that\u2019s what we call GitOps today.
              • A solution for implementing efficient/consistent software delivery to Kubernetes. It covers the entire life cycle of CI/CD and related artifacts, gluing commonly used tools (Git, Docker, Helm, K8s, gitops).
              • werf/kubedog Kubedog is a library to watch and follow Kubernetes resources in CI/CD deploy pipelines. This library is used in the werf CI/CD tool to track resources during deploy process.
              • blog.werf.io: Running one-time tasks and debugging images in the Kubernetes cluster using werf
              • blog.werf.io: werf v1.2 is now stable! Here\u2019s what it is all about werf is an Open Source CLI tool for building applications and deploying them to Kubernetes clusters. Version 1.2 features many new changes and improvements.
              • blog.werf.io: Deploying Helm charts with dependencies in Kubernetes via werf
              "},{"location":"kubernetes-tools/#starboard-kubernetes-native-security-toolkit","title":"Starboard kubernetes-native security toolkit","text":"
              • aquasecurity/starboard Kubernetes-native security toolkit. Starboard is a completely open source tool that integrates with other security tools to scan your workloads and make security reports accessible through the Kubernetes API - K8s all the way \ud83d\ude80
              "},{"location":"kubernetes-tools/#netshoot","title":"Netshoot","text":"
              • nicolaka/netshoot a Docker + Kubernetes network trouble-shooting swiss-army container. Purpose: Docker and Kubernetes network troubleshooting can become complex. With proper understanding of how Docker and Kubernetes networking works and the right set of tools, you can troubleshoot and resolve these networking issues. The netshoot container has a set of powerful networking tshooting tools that can be used to troubleshoot Docker networking issues. Along with these tools come a set of use-cases that show how this container can be used in real-world scenarios.
              "},{"location":"kubernetes-tools/#the-hierarchical-namespace-controller-hnc","title":"The Hierarchical Namespace Controller (HNC)","text":"
              • kubernetes-sigs/hierarchical-namespaces: The Hierarchical Namespace Controller (HNC) Home of the Hierarchical Namespace Controller (HNC). Adds hierarchical policies and delegated creation to Kubernetes namespaces for improved in-cluster multitenancy.
              "},{"location":"kubernetes-tools/#kratix","title":"Kratix","text":"
              • syntasso/kratix Kratix is a framework for building Platform-as-a-Product.
              • Kratix is a framework that enables co-creation of capabilities by providing a clear contract between application and platform teams through the definition and creation of \u201cPromises\u201d. Using the GitOps workflow and Kubernetes-native constructs, Kratix provides a flexible solution to empower your platform team to curate an API-driven, curated, bespoke platform that can easily be kept secure and up-to-date, as well as evolving as business needs change.
              • Kratix enables platform teams to deliver a Kubernetes-native platform API, over fleets of Kubernetes clusters.
              • Kratix is deployed to a platform cluster, and uses the GitOps Toolkit to orchestrate a topology of worker clusters.
              "},{"location":"kubernetes-tools/#grpc-gateway","title":"gRPC-Gateway","text":"
              • grpc-ecosystem/grpc-gateway: gRPC-Gateway gRPC to JSON proxy generator following the gRPC HTTP spec
              • blog.logrocket.com: An all-in-one guide to gRPC-Gateway gRPC-Gateway is a plugin that generates a reverse proxy server for gRPC services that convert Restful/JSON into gRPC and vice versa.
              "},{"location":"kubernetes-tools/#kubeorbit-test-your-app-on-kubernetes","title":"KubeOrbit. Test your app on kubernetes","text":"
              • teamcode-inc/kubeorbit Test your application on Kubernetes in a brand new simple way
              "},{"location":"kubernetes-tools/#mizu-api-traffic-viewer-for-kubernetes","title":"Mizu API Traffic Viewer for Kubernetes","text":"
              • up9inc/mizu API traffic viewer for Kubernetes enabling you to view all API communication between microservices to help your debug and troubleshoot regressions. Think TCPDump and Wireshark re-invented for Kubernetes.
              "},{"location":"kubernetes-tools/#vcluster","title":"vcluster","text":"
              • vcluster.com Virtual Kubernetes Clusters that run inside regular namespaces. Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It\u2019s cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
              • thenewstack.io: Locking Down Kubernetes Containers with vcluster
              • salaboy.com: Building platforms on top of Kubernetes: VCluster and Crossplane In this tutorial, you\u2019ll learn how to:
                • Create an isolated cluster with vcluster
                • Package apps with Helm
                • Submit a request for a \u201cnew environment\u201d that will automatically create a new cluster and install the Helm chart using Crossplane
              "},{"location":"kubernetes-tools/#kateyes","title":"Kateyes","text":"
              • kateyes.co.uk Explore Kubernetes, visually! Kateyes is an application that provides a visual representation of the relationships between Kubernetes objects, from an application perspective.
              • blog.devops.dev: Kateyes \u2014 Visual Kubernetes Explorer Kubernetes is hard and so is exploring a Kubernetes cluster!
              "},{"location":"kubernetes-tools/#keepass-secret","title":"Keepass Secret","text":"
              • 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.
              "},{"location":"kubernetes-tools/#workflow-schedulers","title":"Workflow Schedulers","text":"
              • Devtron \ud83c\udf1f is an open source software delivery workflow for kubernetes written in go. Web based CI/CD Platform for Kubernetes.
              • Alcide Advisor: an agentless service for Kubernetes audit and compliance that\u2019s built to ensure a frictionless and secured DevSecOps workflow
              "},{"location":"kubernetes-tools/#komodor-workflows","title":"Komodor Workflows","text":"
              • komodor.com: Komodor Workflows: Automated Troubleshooting at the Speed of WHOOSH!
              "},{"location":"kubernetes-tools/#azure-eraser","title":"Azure Eraser","text":"
              • github.com/Azure/eraser \ud83c\udf1f \ud83e\uddf9 Cleaning up images from Kubernetes nodes. Eraser is a tool that helps Kubernetes admins remove a list of non-running images from all Kubernetes nodes in a cluster
              "},{"location":"kubernetes-tools/#data-pipeline-workflow-schedulers","title":"Data Pipeline Workflow Schedulers","text":"
              • apache/dolphinscheduler: Apache DolphinScheduler \ud83c\udf1f - dolphinscheduler.apache.org is a distributed and extensible workflow scheduler platform with powerful DAG visual interfaces, dedicated to solving complex job dependencies in the data pipeline and providing various types of jobs available out of box.
              "},{"location":"kubernetes-tools/#configmap-reloader","title":"ConfigMap Reloader","text":"
              • https://github.com/stakater/Reloader \ud83c\udf1f
              • medium.com/linux-shots: ConfigMap Reloader \u2014 Automatically reload new data from ConfigMap/Secret to deployments
                • ConfigMaps and Secrets are way to inject environment variables and application configurations to a Pod in Kubernetes. Sometimes and sometime many times, we need to change the value of environment variables or configurations. For that we need to update ConfigMap/Secret.
                • In Kubernetes, When we make some changes to a ConfigMap or Secret, new data is not automatically propagated to the pods from that configmap/secret. We often need to restart the pods to load new data.
                • This can be achieved using a tool \u2018Reloader\u2019. It is a Kubernetes controller which watch the changes made to secrets and ConfigMaps and perform rolling upgrades on pods with their associated Deployments, StatefulSets or DaemonSets. It is an Opensource tool provided by Stakater who also provide various other enterprise K8s solutions.
              "},{"location":"kubernetes-tools/#kluctl","title":"Kluctl","text":"
              • kluctl.io \ud83c\udf1f Kluctl is the missing glue to put together large Kubernetes deployments. It allows you to declare and manage multi-environment and multi-cluster deployments. Kluctl does not have cluster-side dependencies and works out of the box.
              "},{"location":"kubernetes-tools/#k2tf-kubernetes-yaml-to-terraform-hcl-converter","title":"k2tf Kubernetes YAML to Terraform HCL converter","text":"
              • github.com/sl1pm4t/k2tf: Kubernetes YAML to Terraform HCL converter
              "},{"location":"kubernetes-tools/#kubernetes-security-tools","title":"Kubernetes Security Tools","text":"
              • PaloAltoNetworks/rbac-police RBAC-police is a CLI tool that lets you evaluate the RBAC permissions of service accounts, pods and nodes in Kubernetes clusters through policies written in Rego
              • m9sweeper/m9sweeper m9sweeper is a complete kubernetes security platform that wraps trivy, project falco, kube-bench, kube-hunter, kubesec, and OPA Gatekeeper into one easy to manage user interface.
              • github.com/reddec/keycloak-ext-operator Creates OAuth clients in Keycloak and creates corresponding secrets in kubernetes
              "},{"location":"kubernetes-tools/#purelb","title":"PureLB","text":"
              • purelb/purelb PureLB - is a Service Load Balancer for Kubernetes. PureLB is a load-balancer orchestrator for Kubernetes clusters. It uses standard Linux networking and routing protocols, and works with the operating system to announce service addresses.
              "},{"location":"kubernetes-tools/#murre","title":"Murre","text":"
              • groundcover-com/murre Murre is an on-demand, scaleable source of container resource metrics for K8s.
              • betterprogramming.pub: Dependency-Free Kubernetes Cluster Monitoring Introduce Murre for continued monitoring of Kubernetes containers
              "},{"location":"kubernetes-tools/#k9s","title":"k9s","text":"
              • k9scli.io The most essential tool after kubectl. It provides a top like interface to a k8s namespace making it easy to inspect, kill, view logs, or exec and get a shell into your containers.
              • K9s - Kubernetes CLI To Manage Your Clusters In Style! K9s provides a terminal UI to interact with your Kubernetes clusters. The aim of this project is to make it easier to navigate, observe and manage your applications in the wild. K9s continually watches Kubernetes for changes and offers subsequent commands to interact with your observed resources.
              • medium.com/@fwiles: k9s EKS Context Error
              • tonylixu.medium.com: K8s Tools \u2014 K9s, Terminal Based UI to Manage Your Cluster Introduction to K9s CLI, a K8s management tool
              • kubetools.io: Why K9s Should Be Your Go-To Tool for Kubernetes Management
              • medium.com/@gavinklfong: 8 tips to incredibly boost the efficiency of command execution on Kubernetes using k9s k9s \u2014awesome text based graphical tool with powerful hotkey design
              "},{"location":"kubernetes-tools/#pluto","title":"Pluto","text":"
              • dev.to: Detecting Kubernetes API Deprecations with pluto Utility to help users find deprecated Kubernetes API versions in their code repositories and their helm releases.
              "},{"location":"kubernetes-tools/#konf-lightweight-kubeconfig-manager","title":"Konf Lightweight Kubeconfig Manager","text":"
              • github.com/SimonTheLeg/konf-go konf is a lightweight kubeconfig manager. With konf you can use different kubeconfigs at the same time. And because it does not need subshells, konf is blazing fast!
              "},{"location":"kubernetes-tools/#k8spacket","title":"K8spacket","text":"
              • github.com/k8spacket/k8spacket k8spacket - packets traffic visualization for kubernetes. k8spacket helps to understand TCP packets traffic in your kubernetes cluster:
                • Shows traffic between workloads in the cluster
                • Informs where the traffic is routed outside the cluster
                • Displays information about closing sockets by connections
              "},{"location":"kubernetes-tools/#infrastructure-as-code-using-kubernetes-config-connector","title":"Infrastructure as Code using Kubernetes. Config Connector","text":"
              • cloud.google.com/config-connector Config Connector is an open source Kubernetes addon that allows you to manage Google Cloud resources through Kubernetes.
              • medium.com/globant: Infrastructure as Code using Kubernetes
                • Config Connector (KCC) is a solution to maintain Cloud Resources as Infrastructure as Code. It is built as an Open Source initiative and runs on Kubernetes clusters. As such, it leverages YAML files to maintain and operate such resources.
                • Config Connector has two versions: an Add-On for Google Kubernetes Engine (GKE) clusters and a manual installation for other Kubernetes distributions.
              "},{"location":"kubernetes-tools/#claudie-cloud-agnostic-managed-kubernetes","title":"Claudie Cloud-agnostic managed Kubernetes","text":"
              • github.com/Berops/claudie Claudie is a platform for managing multi-cloud Kubernetes clusters with each node pools in a different cloud provider
              "},{"location":"kubernetes-tools/#observability-monitoring-tools","title":"Observability Monitoring Tools","text":"
              • github.com/oslabs-beta/oslabs KubernOcular is a free, open-source tool which harnesses the power of Prometheus and the Kubernetes-Client Node API to give developers an insightful and holistic view of Kubernetes clusters.
              • vladimirvivien/ktop A top-like tool for your Kubernetes clusters
              • github.com/oslabs-beta/ClusterWatch ClusterWatch provides a visualization of the Kubernetes cluster architecture with detailed descriptions and stats. It also offers real-time metrics data, presented via Grafana charts, and built-in support for Prometheus and alerts.
              "},{"location":"kubernetes-tools/#debugging-and-troubleshooting-tools","title":"Debugging and Troubleshooting Tools","text":"
              • github.com/JamesTGrant/kubectl-debug kubectl-debug is a tool that lets you debug a target container in a Kubernetes cluster by automatically creating a new, non-invasive, \u2018debug\u2019 container in the same PID, network, user, and IPC namespace as the target container without any disruption
              • github.com/AdamRussak/k8f A simple go tool to check that your cluster is in supported version written in GO. k8f is a command line tool to find, list, connect and check versions for kubernetes clusters. With k8f you can connect at once to all clusters tagged as \u201cAWS\u201d or find a specific cluster in your kubeconfig.
              • github.com/komodorio/validkube Validkube combines the best open-source tools to help ensure Kubernetes YAML best practices, hygiene & security
              • github.com/box/kube-iptables-tailer A service for better network visibility for your Kubernetes clusters. kube-iptables-tailer is a service that gives you better visibility on networking issues in your Kubernetes cluster by detecting the traffic denied by iptables and surfacing corresponding information to the affected Pods via Kubernetes events.
              • github.com/OvidiuBorlean/kubectl-windumps Network traffic capture in AKS Windows Nodes
              "},{"location":"kubernetes-tools/#security","title":"Security","text":"
              • github.com/controlplaneio/badrobot Badrobot is a Kubernetes Operator audit tool. It statically analyses manifests for high-risk configurations such as lack of security restrictions on the deployed controller and the permissions of an associated clusterole.
              • infrahq/infra \ud83c\udf1f Infra enables you to discover and access infrastructure (e.g. Kubernetes, databases). It helps you connect an identity provider such as Okta or Azure active directory, and map users/groups with the permissions you set to your infrastructure. Infra provides authentication and access management to servers, clusters, and databases
              "},{"location":"kubernetes-tools/#develop-microservices-locally-while-being-connected-to-your-kubernetes-environment","title":"Develop microservices locally while being connected to your Kubernetes environment","text":"
              • github.com/we-dcode/kubetunnel
              "},{"location":"kubernetes-tools/#ai-tools","title":"AI Tools","text":"
              • kubetools.io: KoPylot: An AI-Powered Kubernetes Assistant for DevOps & Developers
              • chat.openai.com: Kube Debugger: A Kubernetes error debugger offering diagnostic and resolution guidance. You can copy and paste your Kubernetes error into the prompt, and the Kube debugger will give you step-by-step instructions to troubleshoot. This GPT will reduce the amount of time you spend troubleshooting Kubernetes errors. It requires the ChatGPT plus subscription.
              "},{"location":"kubernetes-tools/#tweets","title":"Tweets","text":"Click to expand!

              One of the biggest problems in IT is that we keep reinventing the wheel.We are running the same circles, producing similar technologies to solve the same problems.Reinventing the wheel is a great way to learn how the wheel works, but not an efficient way to build software.

              \u2014 Daniel Moka\u26a1 (@dmokafa) May 1, 2021

              `kubectl logs --previous` saved my life pic.twitter.com/mIsCJehVwI

              \u2014 memenetes (@memenetes) August 12, 2021

              Tech industry thinks throwing more tools to the problem is the solution. More tools = more failure modes.

              \u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) October 23, 2021

              Interesting developer tools & frameworks for #Kubernetes to learn in 2022:\ud83d\udd39@telepresenceio - dev CLI\ud83d\udd39@DevSpace - dev CLI \ud83d\udd39@KnativeProject - #serverless platform\ud83d\udd39@skaffolddev - dev CLI\ud83d\udd39#KubeVela - @oam_dev platform\ud83d\udd39@okteto - dev platform \ud83d\udd39@QuarkusIO - #java framework

              \u2014 Piotr Mi\u0144kowski (@piotr_minkowski) December 26, 2021

              Running tests in Kubernetes using existing CI/CD pipelines can lead to security, performance, and consistency challenges.Hear from @olensmar, CTO at @thekubeshop, about how @Testkube_io can help teams overcome these challenges. pic.twitter.com/7yMQyiTJjk

              \u2014 Kunal Kushwaha (@kunalstwt) May 11, 2023"},{"location":"kubernetes-tools/#videos","title":"Videos","text":"Click to expand!"},{"location":"kubernetes-tools/#kubernetes-tools","title":"kubernetes-tools","text":"
              • tanka - Flexible, reusable and concise configuration for Kubernetes
              • kubevirt - Kubernetes Virtualization API and runtime in order to define and manage virtual machines.
              • typhoon - Minimal and free Kubernetes distribution with Terraform
              • kubeinvaders - Gamified Chaos Engineering Tool for Kubernetes
              • mlrun - MLRun is an open source MLOps platform for quickly building and managing continuous ML applications across their lifecycle. MLRun integrates into your development and CI/CD environment and automates the delivery of production data, ML pipelines, and online applications.
              • kuberay - A toolkit to run Ray applications on Kubernetes

              • odigos - Distributed tracing without code changes. \ud83d\ude80 Instantly monitor any application using OpenTelemetry and eBPF

              • Grafana OnCall OSS \ud83c\udf1f - Grafana OnCall OSS es un sistema de gesti\u00f3n de guardias de c\u00f3digo abierto para mejorar la colaboraci\u00f3n y resolver incidentes m\u00e1s r\u00e1pido, ahora en modo de mantenimiento.
              • Kubernetes: Un tour por los comandos b\u00e1sicos \ud83c\udf1f - Este video de YouTube ofrece un recorrido por los comandos esenciales de Kubernetes, ideal para iniciarse en la herramienta.
              • RBAC Wizard: Herramienta para visualizar y analizar la configuraci\u00f3n RBAC de Kubernetes \ud83c\udf1f - RBAC Wizard es una herramienta que ayuda a visualizar y analizar las configuraciones RBAC de tu cl\u00faster de Kubernetes, facilitando la gesti\u00f3n de permisos.
              • Bank Vaults: Un Cuchillo Suizo para HashiCorp Vault en Kubernetes \ud83c\udf1f - Bank Vaults es una herramienta CLI multifuncional para inicializar, desbloquear y configurar HashiCorp Vault, facilitando su integraci\u00f3n y gesti\u00f3n en entornos Kubernetes.
              • K3s vs Talos Linux \ud83c\udf1f - Comparativa t\u00e9cnica entre K3s y Talos Linux, dos opciones para desplegar Kubernetes.
              • Atomic ConfigMap Updates in Kubernetes: How Symlinks and Kubelet Make It Happen \ud83c\udf1f - Este art\u00edculo explica c\u00f3mo las actualizaciones at\u00f3micas de ConfigMap en Kubernetes son posibles gracias a la interacci\u00f3n entre los symlinks y el Kubelet, permitiendo cambios seguros y eficientes.
              • Atomic ConfigMap Updates in Kubernetes: How Symlinks and Kubelet Make It Happen \ud83c\udf1f - Este art\u00edculo explica c\u00f3mo las actualizaciones at\u00f3micas de ConfigMap en Kubernetes son posibles gracias a la interacci\u00f3n entre los symlinks y el Kubelet, permitiendo cambios seguros y eficientes.
              • ASCIIFlow \ud83c\udf1f - Herramienta para crear diagramas en ASCII en el navegador, \u00fatil para visualizar arquitecturas y flujos.
              • Kubernetes Services and Load Balancing Explained - (Related to kubernetes-networking topic)
              "},{"location":"kubernetes-troubleshooting/","title":"Kubernetes Troubleshooting","text":"
              1. Introduction
              2. Kubernetes Events
              3. Kubernetes Network Troubleshooting
              4. Exit Codes in Containers and Kubernetes
              5. ImagePullBackOff
              6. CrashLoopBackOff
              7. Failed to Create Pod Sandbox
              8. Terminated with exit code 1 error
              9. Pod in Terminating or Unknown Status
              10. OOM Kills
              11. Pause Container
              12. Preempted Pod
              13. Evited Pods
              14. Stuck Namespace
              15. Access PVC Data without the POD
              16. CoreDNS issues
              17. Debugging Techniques and Strategies. Debugging with ephemeral containers
              18. Troubleshooting Tools
                1. Komodor
                2. Palaemon
                3. cdebug and debug-ctr
                4. kubectl-debug
                5. Kubeshark
              19. Slides
              20. Images
              21. Tweets
              "},{"location":"kubernetes-troubleshooting/#introduction","title":"Introduction","text":"
              • learnk8s.io: A visual guide on troubleshooting Kubernetes deployments \ud83c\udf1f
              • medium: 5 tips for troubleshooting apps on Kubernetes
              • managedkube.com: Troubleshooting a Kubernetes ingress
              • veducate.co.uk: How to fix in Kubernetes \u2013 Deleting a PVC stuck in status \u201cTerminating\u201d
              • thenewstack.io: 5 Best Practices to Back up Kubernetes
              • tennexas.com: Kubernetes Troubleshooting Examples
              • levelup.gitconnected.com: 5 tips for troubleshooting apps on Kubernetes
              • medium: Common Kubernetes Errors Made by Beginners [2021] \ud83c\udf1f
              • cloud.redhat.com: Troubleshooting Sandboxed Containers Operator
              • andydote.co.uk: The Problem with CPUs and Kubernetes
              • medium: Better Debugging Environment for your Micro-Services
              • thenewstack.io: 6 Kubernetes Best Practices to Empower Devs to Troubleshoot
              • youtube: 3 Ways to Detect Evil \u201cLatest\u201d Image Tags in Kubernetes - Kubevious The \u201clatest\u201d image tag is a disaster waiting to happen. In this video, you will learn how to detect usage of the latest images using 3 different methods.
              • thenewstack.io: Living with Kubernetes: Debug Clusters in 8 Commands \ud83c\udf1f
              • dzone.com: The Three Pillars of Kubernetes Troubleshooting \ud83c\udf1f [ARCHIVED] Diving into how the three pillars of understanding, managing and preventing for Kubernetes troubleshooting, and how it helps to conceive of what\u2019s needed to be able to properly troubleshoot real-world Kubernetes stacks that are the hallmark of complex, distributed systems.
              • freecodecamp.org: How to Simplify Kubernetes Troubleshooting
              • itnext.io: Distroless Container Debugging on K8s/OpenShift
                • When people focusing more on the security of containers, distroless based images are frequently used to reduce the attack surface. In these images, the package manager, the non-dependent modules or libraries, even the shells are stripped off, only the app and its required dependencies are kept. For the statically linked executable, produced by golang for example, we can even use \u201cscratch\u201d as the base.
                • The potential exploit of vulnerability is therefore greatly reduced. But, on the other hand, it is difficult to troubleshoot the application if even the shell is not available, leaving only the logs from the app.
                • In this paper, we will explore different options to facilitate debugging by bringing back the shell.
              • speakerdeck.com/mhausenblas (redhat): Troubleshooting Kubernetes apps
              • medium.com/@andrewachraf: Detect crashes in your Kubernetes cluster using kwatch and Slack \ud83c\udf1f Monitor all changes in your Kubernetes(K8s) cluster & detects crashes in your running apps in real time
              • research.nccgroup.com: Detection Engineering for Kubernetes clusters In this article you will learn how to detect anomalies in your cluster using Kubernetes Audit logs and Anomalies Detection Engineering.
              • pauldally.medium.com: Kubernetes \u2014 Debugging NetworkPolicy (Part 1)
                • pauldally.medium.com: Kubernetes \u2014 Debugging NetworkPolicy (Part 2)
              • medium.com/geekculture: Common Pod Errors in Kubernetes to Watch Out For
              • faun.pub: Kubernetes \u2014 Debugging NetworkPolicy (Part 1) For something as important as NetworkPolicy, debugging is surprisingly painful. In this article you will learn a few practical tips on how to debug your network policies
                • pauldally.medium.com: Kubernetes \u2014 Debugging NetworkPolicy (Part 2)
              • tratnayake.dev: Oncall Adventures - When your Prometheus-Server mounted to GCE Persistent Disk on K8s is Full In this article, you will follow Thilina\u2019s journey on debugging a failing Prometheus server on Kubernetes. The story starts with a wake-up call at 3.30 am \ud83d\ude05
              • sysdig.com: Understanding Kubernetes pod pending problems
              • blog.alexellis.io: How to Troubleshoot Applications on Kubernetes \ud83c\udf1f In this article, you will learn a practical framework to troubleshoot applications deployed on Kubernetes:
                • Is it there?
                • Why isn\u2019t it working?
                • It starts, but doesn\u2019t work
                • There are too many pods!
                • But can you curl it?
              • blog.devgenius.io: All You Need to Know about Debugging Kubernetes Cronjob Walkthrough tools & configs & knowledge used in Kubernetes cronjob/deployment debug. In this article, you will create and deploy a (broken) CronJob. Then you will debug it and in the process learn about environment variables, RBAC, pod resource configuration, logging, and more.
              • saiteja313.medium.com: Tracing DNS issues in Kubernetes
              • medium.com/@jasonmfehr: Kubernetes Informers: Opening the Mystery Box In this article, you will learn how the team at Cloudera found a performance issue with Kubernetes informers and how they managed to rectify the issue
              • maxilect-company.medium.com: Graceful shutdown in a cloud environment (the example of Kubernetes + Spring Boot) \ud83c\udf1f In this article, you\u2019ll learn why it is crucial to think about graceful shutdown in Kubernetes and how you can approach this task. Many people think about starting an application in the cloud but rarely pay attention to how it ends. Once, we caught quite a few errors explicitly related to pods stopping. For example, we saw that Kubernetes occasionally kills our application before it releases resources, although it seems that this should not happen. It was impossible to reproduce the problem immediately, and we wondered what was happening under the hood?
              • martinheinz.dev: Backup-and-Restore of Containers with Kubernetes Checkpointing API Kubernetes v1.25 introduced Container Checkpointing API as an alpha feature. This provides a way to backup-and-restore containers running in Pods, without ever stopping them. This feature is primarily aimed at forensic analysis, but general backup-and-restore is something any Kubernetes user can take advantage of. So, let\u2019s take a look at this brand-new feature and see how we can enable it in our clusters and leverage it for backup-and-restore or forensic analysis.
              • madeeshafernando.medium.com: Capturing Heap Dumps of stateless Kubernetes pods before container termination and export to AWS S3
              • faun.pub: Troubleshooting Kubernetes nodes storage space shortage on Aliyun (Alibaba Cloud) In this article, you will follow Stephen\u2019s journey to identifying the root cause for cluster nodes running out of space on the Aliyun cloud
              • thenewstack.io: What David Flanagan Learned Fixing Kubernetes Clusters David Flanagan has fixed 50+ Kubernetes clusters as part of his YouTube series, \u2018Klustered.\u2019 He shared what he learned at Civo Navigate.
              • github.com/metaleapca: metaleap-k8s-troubleshooting.pdf \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
              • nicolasbarlatier.hashnode.dev: .NET Core Tip 2: How to troubleshoot Memory Leaks within a .NET Console application running in a Linux Docker Container in Kubernetes In this step-by-step guide, you will learn how to troubleshoot a memory leak in a .Net Core application running within a Kubernetes cluster.
              • blog.devgenius.io: All You Need to Know about Debugging Kubernetes Cronjob Walkthrough tools & configs & knowledge used in Kubernetes cronjob/deployment debug. In this article, you will create and deploy a (broken) CronJob. Then you will debug it and in the process learn about environment variables, RBAC, pod resource configuration, logging, and more
              • dzone.com: Tackling the Top 5 Kubernetes Debugging Challenges Bugs are inevitable and typically occur as a result of an error or oversight. Learn five Kubernetes debugging challenges and how to tackle them.
              • levelup.gitconnected.com: Access Kubernetes Objects Data From /Proc Directory \ud83c\udf1f The /proc directory is a special directory that holds all the details about our Linux system, such as \u2014 kernel, processes, and configuration parameters. In this article, you will learn how to explore the directory in a Kubernetes cluster
              • learnitguide.net: How To Troubleshoot Kubernetes Pods
              • learnitguide.net: How to Check Memory Usage of a Pod in Kubernetes?
              • alexsniffin.medium.com: Debugging Remotely with Go in Kubernetes In this tutorial, you will learn how to debug an application deployed in Kubernetes remotely using VS Code and Delve
              • thenewstack.io: Kubernetes Troubleshooting Primer A quick methodology for overcoming common error messages with examples of commands to help \u2014 useful for both the administrator and developer alike.
              • devzero.io: Kubernetes Debugging Tips
              • vik-y.medium.com: An easier way to auto-remediate memory leaks on Kubernetes!
              • medium.com/@yusufkaratoprak: Advanced Troubleshooting Techniques in Kubernetes Pods
              "},{"location":"kubernetes-troubleshooting/#kubernetes-events","title":"Kubernetes Events","text":"
              • CPU Limits in Kubernetes: Deep Dive into Pod Throttling and Kernel Interactions \ud83c\udf1f - This article provides an in-depth explanation of how CPU limits in Kubernetes function, detailing the underlying mechanisms involving the Linux Kernel and cgroups v2. It addresses the common issue of pods being throttled even when idle, exploring the complex interactions between Kubernetes, container runtimes, and the host operating system to shed light on performance impacts.

              • Understanding Kubernetes cluster events

              • groundcover.com: Failure Is an Option: How to Stay on Top of K8s Container Events Gain a deep understanding of how Kubernetes tracks container and Pod status, how it reports error information and how you can collect all of the above in an efficient way
              • decisivedevops.com: Kubernetes Events \u2014 News feed of your cluster Understand Kubernetes Events and learn to use kubectl events to monitor and troubleshoot your cluster\u2019s issues effectively.
              "},{"location":"kubernetes-troubleshooting/#kubernetes-network-troubleshooting","title":"Kubernetes Network Troubleshooting","text":"
              • hwchiu.medium.com: Kubernetes Network Troubleshooting Approach \ud83c\udf1f
              • itnext.io: Tracing Pod2Pod Network Traffic in Kubernetes | Daniele Polencic
              "},{"location":"kubernetes-troubleshooting/#exit-codes-in-containers-and-kubernetes","title":"Exit Codes in Containers and Kubernetes","text":"
              • komodor.com: Exit Codes In Containers & Kubernetes \u2013 The Complete Guide \ud83c\udf1f In this article, you will learn everything there is to know about exit codes used by container engines to indicate reasons for container termination.
              "},{"location":"kubernetes-troubleshooting/#imagepullbackoff","title":"ImagePullBackOff","text":"
              • 10 Real-World Kubernetes Troubleshooting Scenarios and Solutions \ud83c\udf1f - This article provides practical, hands-on solutions for common Kubernetes production issues. It details 10 real-world scenarios, including ImagePullBackOff due to private registry authentication failure, and offers exact kubectl commands and steps for diagnosis and resolution. It also touches upon cloud-managed Kubernetes solutions and IAM roles for registry authentication.

              • blog.ediri.io: Kubernetes: ImagePullBackOff! How to keep your calm and fix this like a pro!

              "},{"location":"kubernetes-troubleshooting/#crashloopbackoff","title":"CrashLoopBackOff","text":"
              • medium.com: Kubernetes Tip: How To Disambiguate A Pod Crash To Application Or To Kubernetes Platform? (CrashLoopBackOff)
              • devtron.ai: Troubleshoot: Pod Crashloopbackoff
              • erkanerol.github.io: I wish pods were fully restartable Why are Pod not fully restartable in Kubernetes? Why is Kubernetes not restarting the Pod in CrashLoopBackOff?
              • pauldally.medium.com: Why Leaving Pods in CrashLoopBackOff Can Have a Bigger Impact Than You Might Think
              • sysdig.com: What is Kubernetes CrashLoopBackOff? And how to fix it \ud83c\udf1f CrashLoopBackOff is a Kubernetes state representing a restart loop that is happening in a Pod: a container in the Pod is started but crashes and is then restarted over and over again. Learn what it is and how to fix it in this article
              • komodor.com: Kubernetes CrashLoopBackOff Error: What It Is and How to Fix It
              "},{"location":"kubernetes-troubleshooting/#failed-to-create-pod-sandbox","title":"Failed to Create Pod Sandbox","text":""},{"location":"kubernetes-troubleshooting/#terminated-with-exit-code-1-error","title":"Terminated with exit code 1 error","text":""},{"location":"kubernetes-troubleshooting/#pod-in-terminating-or-unknown-status","title":"Pod in Terminating or Unknown Status","text":"
              • tonylixu.medium.com: K8s Troubleshooting \u2014 Pod in Terminating or Unknown Status K8s Troubleshooting handbook
              • blog.devgenius.io: K8s Troubleshooting \u2014 Pod in Terminating or Unknown Status
              "},{"location":"kubernetes-troubleshooting/#oom-kills","title":"OOM Kills","text":"
              • OOMKilled in Kubernetes: Understanding and Preventing Hidden Memory Leaks \ud83c\udf1f - This article explains the \u2018OOMKilled\u2019 status in Kubernetes, detailing how the Linux kernel\u2019s Out-Of-Memory (OOM) Killer terminates pods when memory limits are exceeded. It covers common triggers such as incorrect resource limits, application memory leaks, traffic spikes, and resource competition among containers. The content also delves into the OOM Killer\u2019s scoring mechanism and provides insights into identifying and resolving these issues to prevent production environment disruptions.

              • medium.com/@reefland: Tracking Down \u201cInvisible\u201d OOM Kills in Kubernetes An \u201cInvisible\u201d OOM Kill happens when a child process in a container is killed, not the init process. It is \u201cinvisible\u201d to Kubernetes and not detected. What is OOM? well.. not a good thing.

              • baykara.medium.com: A Gentle Inspection of OOMKilled in Kubernetes Quality of Service in Kubernetes
              • cloudyuga.guru: How does Kubernetes assign QoS class to pods through OOM score? This article discusses how to handle OOMKilled errors and how to configure Pod QoS to avoid them
              • sysdig.com: Kubernetes OOM and CPU Throttling Troubleshooting Memory and CPU problems. Do you know how memory and CPU usage can affect your cloud applications? In this article, you will discuss Out of Memory (OOM) and Throttling in Kubernetes.
              • medium.com/@bm54cloud: Stressing a Kubernetes Pod to Induce an OOMKilled Error Learn about memory requests and limits, and what happens when those limits are exceeded
              • itnext.io: Kubernetes Silent Pod Killer Tracking down invisible OOM Kills in Kubernetes
                • This article delves into the issue of \u201cInvisible OOM Kills\u201d in Kubernetes, where child processes getting OOM Killed go unnoticed.
                • An \u201cInvisible\u201d OOM Kill occurs when a child process in a container ( any process which is not the main process, PID 1 ) gets OOM Killed. In that scenario, the OOM Kill that occurred is \u201cinvisible\u201d to Kubernetes, and as users we wouldn\u2019t be aware of it.
                • The Solution: The entire scenario changes with Kubernetes version 1.28. Starting from that version, Kubernetes enables, by default, a cgroup v2 feature known as \u201ccgroup grouping.\u201d
              "},{"location":"kubernetes-troubleshooting/#pause-container","title":"Pause Container","text":"
              • blog.devgenius.io: K8s \u2014 pause container Why we have pause container in K8s pod?
              "},{"location":"kubernetes-troubleshooting/#preempted-pod","title":"Preempted Pod","text":"
              • blog.kumomind.com: What You Need To Know To Debug A Preempted Pod On Kubernetes The purpose of this post is to share some thoughts on the management of a Kubernetes platform in production. The idea is to focus on a major problem that many beginners encounter: the management of preempted pods.
              "},{"location":"kubernetes-troubleshooting/#evited-pods","title":"Evited Pods","text":"
              • sysdig.com: Understanding Kubernetes Evicted Pods What does it mean that Kubernetes Pods are evicted? They are terminated, usually due to a lack of resources. But why does this happen?
              "},{"location":"kubernetes-troubleshooting/#stuck-namespace","title":"Stuck Namespace","text":"
              • blog.ediri.io: How to remove a stuck namespace With the help of the Kubernetes API
              • medium.com/@it-craftsman: How to fix Kubernetes namespaces stuck in terminating state
              "},{"location":"kubernetes-troubleshooting/#access-pvc-data-without-the-pod","title":"Access PVC Data without the POD","text":"
              • medium.com/@reefland: Access PVC Data without the POD; troubleshooting Kubernetes. I recently had a situation where Prometheus was stuck in a crash loop and unable to start. The solution is to delete a file within the Persistent Volume Claim (PVC). Seemed simple enough, however with the pod in a crash loop the PVC was not mounted within the Prometheus container. How can I deleted the file?
              "},{"location":"kubernetes-troubleshooting/#coredns-issues","title":"CoreDNS issues","text":"
              • medium.com/geekculture: K8s Troubleshooting \u2014 How to Debug CoreDNS Issues
              "},{"location":"kubernetes-troubleshooting/#debugging-techniques-and-strategies-debugging-with-ephemeral-containers","title":"Debugging Techniques and Strategies. Debugging with ephemeral containers","text":"
              • The Hidden CPU Throttling Crisis in Kubernetes Clusters \ud83c\udf1f - This article explains how Kubernetes CPU throttling, governed by the Linux kernel\u2019s CFS scheduler with a 100ms time slice, can silently degrade application performance even when resource usage appears low. It highlights the disconnect between Kubernetes limits and typical monitoring timescales, leading to unexpected slowdowns and impacting user experience.
              • Kubernetes Troubleshooting: A Step-by-Step Guide \ud83c\udf1f - A comprehensive, step-by-step guide to effectively troubleshoot issues within a Kubernetes environment. This resource likely covers common problems, diagnostic tools, and methodologies for resolving them.
              • Awesome Chaos Engineering - (Related to chaos-engineering topic)
              • Kubernetes Troubleshooting Guide: Common Pitfalls and Solutions \ud83c\udf1f - A comprehensive guide to common Kubernetes troubleshooting scenarios, offering practical advice and solutions for developers and operators facing issues with pods, deployments, services, and networking.

              • kubectl-debug

              • loft.sh: Using Kubernetes Ephemeral Containers for Troubleshooting
              • How to quarantine pods
              • KDBG: Small Kubernetes debugging container KDBG (Kubernetes Debuger) is a small docker container based on lastest Alpine Linux image, used for debugging Kubernetes clusters from inside a pod.
              • inspektor-gadget Collection of gadgets for debugging and introspecting Kubernetes applications using BPF
                • kinvolk.io
              • learnk8s.io: A visual guide on troubleshooting Kubernetes deployments
              • StatusBay is a tool that provides the missing visibility into the K8S deployment process. The main goal is to ease the experience of troubleshooting and debugging services in K8S and provide confidence while making changes.
              • medium: Better Debugging Environment for your Micro-Services
              • codefresh.io: Using Telepresence 2 for Kubernetes debugging and local development
              • towardsdatascience.com: The Easiest Way to Debug Kubernetes Workloads The fastest and easiest way to debug and troubleshoot any application running on Kubernetes
              • tetrate.io: How to debug microservices in Kubernetes with proxy, sidecar or service mesh?
              • rookout.com: The Definitive Guide To Kubernetes Application Debugging
              • thorsten-hans.com: Debugging apps in Kubernetes with Bridge Bridge to Kubernetes simplifies and streamlines the process of debugging applications running in Kubernetes. Debug any language using the tools you prefer and love.
                • marketplace.visualstudio.com: Bridge to Kubernetes (VSCode)
                • marketplace.visualstudio.com: Bridge to Kubernetes (Visual Studio) Bridge to Kubernetes for Visual Studio 2019
              • thenewstack.io: Living with Kubernetes: 12 Commands to Debug Your Workloads \ud83c\udf1f Kubernetes can\u2019t fix broken code. But if your container won\u2019t start or the app gets intermittent errors, here\u2019s how you can start debugging it. Most of the commands presented in the article will use kubectl or plugins which you can install via krew.
              • opensource.googleblog.com: Introducing Ephemeral Containers Ephemeral containers are a new type of container that are part of the Kubernetes core API. An Ephemeral Container may be added to an existing Pod for administrative actions like debugging, it runs until it exits, and it won\u2019t be restarted. An ephemeral container runs within the Pod\u2019s existing resource allocation and shares common container namespaces.
              • linkedin.com: Kubernetes Ephemeral Containers | Bibin Wilson Ephemeral Containers is one of the k8s beta features. The following command will add the debug-image container to the running frontend pod and take an exec session for debugging: kubectl debug -it pods/frontend --image=debug-image
              • sumanthkumarc.medium.com: Debugging namespace deletion issue in Kubernetes
              • medium.com/linux-shots: Debug Kubernetes Pods Using Ephemeral Container
              • medium.com/@blgreco72: Debugging Kubernetes Services Locally \ud83c\udf1f There are various approaches for debugging Microservices hosted within Kubernetes. The approach used here does not alter the Kubernetes cluster in anyway to support developing Microservices, running external to the cluster, within the developer\u2019s IDE. This is accomplished by mapping ports on the developer\u2019s workstation to services that are normally only accessible from containers running within the cluster.
              • zendesk.engineering: Debugging containerd
              • heka-ai.medium.com: Introduction to Debugging: locally and live on Kubernetes with VSCode \ud83c\udf1f In this article, you\u2019ll learn how to debug your code in real-time on a Pod running on Kubernetes using VS Code
              • iximiuz.com: Kubernetes Ephemeral Containers and kubectl debug Command \ud83c\udf1f Learn how to use Ephemeral Containers to debug Kubernetes workloads with and without the kubectl debug command
              • eminaktas.medium.com: Debug Containerd in Production In this article, you will learn how you can debug containerd with VSCode in a remote production environment.
              • medium.com/@alex.ivenin: Exploring ephemeral containers in kubernetes \ud83c\udf1f Ephemeral containers, a feature that was introduced in Kubernetes 1.16 as an alpha release, advanced to beta status in version 1.23, and has finally graduated to stable status in Kubernetes 1.25. This capability provides an easy and safe way to debug running containers in a pod, without requiring full access to the underlying node.
              • labs.iximiuz.com: How to work with container images using ctr ctr is a command-line client shipped as part of the containerd project. If you have containerd running on a machine, chances are the ctr binary is also present there.
              • medium.com/@danielepolencic: Isolating kubernetes pods for debugging This article introduces a technique that helps you with debugging running Pods in production by changing labels, you can detach Pods from the Service (no traffic), and you troubleshoot them live
              • medium.com/adaltas: Kubernetes: debugging with ephemeral containers In this article, you will learn how to debug pods using kubectl debug and ephemeral containers
              "},{"location":"kubernetes-troubleshooting/#troubleshooting-tools","title":"Troubleshooting Tools","text":"
              • The Definitive Guide to Importing Your Cloud Resources into IaC - (Related to iac topic)
              • RKE2 Standalone Disaster Recovery Guide - (Related to kubernetes-backup-migrations topic)
              • KubeUI: A Desktop Kubernetes Client - (Related to kubernetes-tools topic)
              • A Complete Guide to Kubectl exec - (Related to kubernetes-tools topic)

              • github.com/replicatedhq/troubleshoot Troubleshoot is a framework for collecting and analyzing diagnostic information about a Kubernetes cluster. The framework is customizable and allows third-party application developers to create troubleshoot specs that can be run by cluster operators.

              • github.com/airwallex: k8s-pod-restart-info-collector k8s-pod-restart-info-collector is a simple Kubernetes customer controller that watches for Pods changes and collects K8s Pod restart reasons, logs, and events to Slack channels when a Pod restarts
              "},{"location":"kubernetes-troubleshooting/#komodor","title":"Komodor","text":"
              • komodor.com Turn troubleshooting chaos into clarity. Komodor is an observability tool that gives you insight into what\u2019s happening with your clusters and workloads. It integrates tools that we all use, like Datadog, Okta, LaunchDarkly, and PagerDuty.
              • komodor.com: Kubernetes Troubleshooting: The Complete Guide \ud83c\udf1f
              "},{"location":"kubernetes-troubleshooting/#palaemon","title":"Palaemon","text":"
              • palaemon.io Open-source developer tool for monitoring Kubernetes clusters and error analysis
              • medium.com/@ospalaemon: Introducing Palaemon, the Savior of Kubernetes Pods!
              "},{"location":"kubernetes-troubleshooting/#cdebug-and-debug-ctr","title":"cdebug and debug-ctr","text":"
              • iximiuz/cdebug a swiss army knife of container debugging. It\u2019s like \u201cdocker exec\u201d, but it works even for containers without a shell (scratch, distroless, slim, etc). The \u201ccdebug exec\u201d command allows you to bring your own toolkit and start a shell inside of a running container.
              • felipecruz91/debug-ctr A commandline tool for interactive troubleshooting when a container has crashed or a container image doesn\u2019t include debugging utilities, such as distroless images. Heavily inspired by kubectl debug, but for containers instead of Pods.
              "},{"location":"kubernetes-troubleshooting/#kubectl-debug","title":"kubectl-debug","text":"
              • github.com/JamesTGrant/kubectl-debug kubectl-debug is a tool that lets you debug a target container in a Kubernetes cluster by automatically creating a new, non-invasive, \u2018debug\u2019 container in the same PID, network, user, and IPC namespace as the target container without any disruption
              "},{"location":"kubernetes-troubleshooting/#kubeshark","title":"Kubeshark","text":"
              • kubetools.io: Kubeshark \u2013 API Traffic Analyzer for Kubernetes
              "},{"location":"kubernetes-troubleshooting/#slides","title":"Slides","text":"Click to expand!"},{"location":"kubernetes-troubleshooting/#images","title":"Images","text":"Click to expand!"},{"location":"kubernetes-troubleshooting/#tweets","title":"Tweets","text":"Click to expand!

              My top 8 commands and tools for debugging applications running on @kubernetesio \ud83e\uddf5\ud83d\udc47

              \u2014 Daniel Bryant (@danielbryantuk) February 13, 2022

              What is your favourite Kubernetes troubleshooting command? Looking for some new ones \ud83d\ude09

              \u2014 Saiyam Pathak (@SaiyamPathak) April 11, 2022

              I made a tool\u2026 to debug containers \ud83e\uddd9\u200d\u2642\ufe0fIt's like \"docker exec\", but it works even for containers without a shell (scratch, distroless, slim, etc).The \"cdebug exec\" command allows you to bring your own toolkit and start a shell inside of a running container.A short demo \ud83d\udc47 pic.twitter.com/82m4vzPYJr

              \u2014 Ivan Velichko (@iximiuz) October 23, 2022

              There is a Kubernetes deployment which processes items from a queue. Most items are very small and completed immediately. Occasionally a whopping big item comes along and causes an OOMKill. Retries don't help for obvious reasons.How would you solve it?

              \u2014 Natan Yellin (@aantn) November 29, 2022

              How does Pod to Pod communication work in Kubernetes?How does the traffic reach the pod?Let's dive into how low-level networking works in Kubernetes. pic.twitter.com/K8bBT8YiOf

              \u2014 Daniele Polencic \u2014 @danielepolencic@hachyderm.io (@danielepolencic) May 8, 2023

              • Debugging Kubernetes Systems: Practical Advice with Quality Telemetry \ud83c\udf1f - Adnan Rahic shares practical advice for debugging Kubernetes systems, highlighting the importance of quality telemetry.
              "},{"location":"kubernetes-tutorials/","title":"Kubernetes Tutorials","text":"
              1. Introduction
              2. Online Training
              3. K8s Diagrams
              4. Kubernetes Networking
              5. Kubernetes Troubleshooting
              6. Learning Tools
                1. Neptune
              7. Videos
              8. Tweets
              "},{"location":"kubernetes-tutorials/#introduction","title":"Introduction","text":"
              • AKS Labs - Introduction \ud83c\udf1f - This resource provides an introduction to AKS Labs, a series of workshops designed for hands-on learning of Azure Kubernetes Service (AKS). It covers deploying, scaling, and managing containerized applications on AKS, with featured workshops on getting started, automated cluster deployment, and Istio Service Mesh implementation.

              • kubernetes.io: Kubernetes Tutorials Official documentation from Kubernetes. One can go through this official documentation and can learn much more about Kubernetes.

              • devopscube.com: Kubernetes Tutorials For Beginners: Getting Started Guide
              • Intoduction to Kubernetes (slides, beginners and advanced)
              • medium.com: Kubernetes 101: Pods, Nodes, Containers, and Clusters
              • medium.com: Learn Kubernetes in Under 3 Hours: A Detailed Guide to Orchestrating Containers
              • kubernetestutorials.com: Install and Deploy Kubernetes on CentOs 7
              • medium.com: Simplifying orchestration with Kubernetes
              • aquasec.com: 70 Best Kubernetes Tutorials Valuable Kubernetes tutorials from multiple sources, classified into the following categories: Kubernetes AWS and Azure tutorials, networking tutorials, clustering and federation tutorials and more.
              • cloud.google.com: kubernetes comic Learn about kubernetes and how you can use it for continuous integration and delivery.
              • magalix.com: Kubernetes 101 - Concepts and Why It Matters
                • apkplz.net: Learn Kubernetes 1 APK
                • Google Play Search
              • Dzone refcard: Getting Started with Kubernetes
              • magalix.com: The Best Kubernetes Tutorials
              • 35 Advanced Tutorials to Learn Kubernetes
              • freecodecamp.org: The Kubernetes Handbook \ud83c\udf1f
              • youtube: Kubernetes Pods and ReplicaSets explained
              • medium: DraftKings Kubernetes Workshop: Hands-on Learning in K8s (with Video Walkthrough)
              • 100 Days Of Kubernetes: 100daysofkubernetes.io 100 Days of Kubernetes is the challenge in which we aim to learn something new related to Kubernetes each day across 100 Days!!!
              • youtube playlist: Thetips4you - Kubernetes Tutorial for Beginners HPA, Deployments, YAML, Jenkins, etc.
              • youtube playlist: DevNation Lessons: Kubernetes Fundamentals
              • amazee.io: Master the Fundamentals of K8s: Kubernetes 101 video series with Jeff Geerling
              • medium: How to deploy StatefulSets in Kubernetes (K8s)?
              • millionvisit.blogspot.com. Kubernetes for Developers Journey:
                • millionvisit.blogspot.com: Kubernetes for Developers #1: Kubernetes Architecture and Features
                • millionvisit.blogspot.com: Kubernetes for Developers #2: Kubernetes for Local Development
                • millionvisit.blogspot.com: Kubernetes for Developers #3: kubectl CLI
                • millionvisit.blogspot.com: Kubernetes for Developers #4: Enable kubectl bash autocompletion
                • millionvisit.blogspot.com: Kubernetes for Developers #5: Kubernetes Web UI Dashboard
                • millionvisit.blogspot.com: Kubernetes for Developers #6: Kubernetes Objects
                • millionvisit.blogspot.com: Kubernetes for Developers #7: Imperative vs. Declarative Kubernetes Objects
                • millionvisit.blogspot.com: Kubernetes for Developers #9: Kubernetes Pod Lifecycle
                • millionvisit.blogspot.com: Kubernetes for Developers #10: Kubernetes Pod YAML manifest in-detail
                • millionvisit.blogspot.com: Kubernetes for Developers #14: Kubernetes Deployment YAML manifest in-detail
              • ithands-on.com:
                • ithands-on.com: Kubernetes 101 : Deployments, replicaSets, services, pods and endpoints
                • ithands-on.com: Kubernetes 101 : An overview of StatefulSets and Deployments
                • ithands-on.com: Kubernetes 101 : Resource Quotas (ResourceQuota) and Limit Ranges (LimitRange)
                • ithands-on.com: Kubernetes 101 : Deployments and Rolling updates - maxSurge, maxUnavailable
                • ithands-on.com: Kubernetes 101 : The externalName service
              • dev.to: Kubernetes Crash Course for Absolute Beginners
              • dev.to: Let\u2019s Learn Kubernetes Series\u2019 Articles
              • youtube playlist: Tech World with Nana - Docker and Kubernetes Tutorial for Beginners \ud83c\udf1f\ud83c\udf1f
              • youtube playlist: Tech World with Nana - Complete Kubernetes Tutorial for Beginners \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
              • medium.com/google-cloud: Running Workloads in Kubernetes \ud83c\udf1f
              • omerbsezer/Fast-Kubernetes \ud83c\udf1f\ud83c\udf1f This repo covers Kubernetes objects\u2019 and components\u2019 details (Kubectl, Pod, Deployment, Service, ConfigMap, Volume, PV, PVC, Daemonset, Secret, Affinity, Taint-Toleration, Helm, etc.), and possible example usage scenarios (how-to, hands-on labs, etc.)
              • javarevisited.blogspot.com: Top 5 Online Courses to Learn Kubernetes in 2022 - Best of Lot
              • youtube: Kubernetes for Sysadmins \u2013 Kelsey Hightower at PuppetConf 2016 \ud83c\udf1f\ud83c\udf1f\ud83c\udf1fThis is the most famous Kubernetes talk of all time, where kelseyhightower explains the Kubernetes scheduler using Tetris.
              • educative.io/courses/the-kubernetes-course: Learn Kubernetes: A Deep Dive \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Kubernetes helps deploy and manage containerized applications at scale. It abstracts the underlying infrastructure so it doesn\u2019t matter if you\u2019re deploying your applications to Amazon Web Services, Microsoft Azure, or your own on-premises datacenter. Ready to get started?

                • educative.io/courses/the-kubernetes-course: Pods Its true that K8s runs containerized apps. But, you can:t run container directly on K8s cluster \u2013 containers always run inside of Pods. Pods: Intro to Pods in Kubernetes:
                  • Pods & containers
                  • Pod anatomy
                  • Pods as unit of scaling
                  • Pod lifecycle
              • blog.getambassador.io: How to Learn Kubernetes: Prerequisites, Paths, and Resources \ud83c\udf1f

              • devopscube.com: How to Learn Kubernetes (Complete Roadmap) \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f A roadmap to learn Kubernetes from scratch (Beginner to Advanced level)
                • github.com/techiescamp/kubernetes-learning-path \ud83c\udf1f\ud83c\udf1f
              • dev.to: Understanding Kubernetes: part 48 \u2013 Kubernetes 1.27 Changelog
              "},{"location":"kubernetes-tutorials/#online-training","title":"Online Training","text":"
              • Red Hat Training & Certification Community - The Red Hat Customer Portal\u2019s community section, previously the Red Hat Learning Community, offers resources for learning and certification related to Red Hat products, including OpenShift and Kubernetes. It provides access to training materials, e-books, and videos to supplement learning journeys.

              • katacoda.com Interactive Learning and Training Platform for Software Engineers

              • kubernetesbyexample.com
              • Play with Kubernetes A simple, interactive and fun playground to learn Kubernetes
              • udemy.com: Learn DevOps: The Complete Kubernetes Course
                • wardviaene/kubernetes-course
              • udemy.com: Learn DevOps: Advanced Kubernetes Usage
                • wardviaene/advanced-kubernetes-course
              • javarevisited.blogspot.com: Top 5 Free Courses to Learn Kubernetes for Developers and DevOps Engineers
              • kodekloud.com
              • training.linuxfoundation.org: Introduction to Kubernetes (LFS158x) Want to learn Kubernetes? Get an in-depth primer on this powerful system for managing containerized applications in this free course.
              • civo.com/academy \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Learn Kubernetes with Civo Academy. Learn everything you need to know to get started with Kubernetes. Learn Kubernetes for free. We\u2019ve created over 50 video guides and tutorials that will help you navigate Kubernetes: from understanding the basic need for and function of containers, to launching and scaling your first clusters.
              • medium.com/javarevisited: 8 Best Free Kubernetes Courses for Beginners in 2022 Learn Kubernetes using these free online training courses and add an in-demand skill to your colorful resume.
                • udemy.com: Just enough kubernetes to be dangerous (free)
                • udemy.com: Learn Devops Kubernetes deployment by kops and terraform (free) Comprehensive Nginx deployment to Kubernetes on AWS by using kops and terraform
                • edx.org: Introduction to Kubernetes (free)
                • udemy.com: Containers 101 (free) Building and deploying containerize applications with Kubernetes, Docker and Helm
              • devopswithkubernetes.com Introductory course to Kubernetes with K3s and GKE
              "},{"location":"kubernetes-tutorials/#k8s-diagrams","title":"K8s Diagrams","text":""},{"location":"kubernetes-tutorials/#kubernetes-networking","title":"Kubernetes Networking","text":"
              • Implementing Istio From Start To Finish - (Related to istio topic)
              "},{"location":"kubernetes-tutorials/#kubernetes-troubleshooting","title":"Kubernetes Troubleshooting","text":"
              • Kubernetes Troubleshooting: A Step-by-Step Guide - (Related to kubernetes-troubleshooting topic)
              • Kubernetes Troubleshooting Guide: Common Pitfalls and Solutions - (Related to kubernetes-troubleshooting topic)
              • Kubernetes Services and Load Balancing Explained - (Related to kubernetes-networking topic)

              • cloudogu/k8s-diagrams A collection of diagrams explaining kubernetes by cloudogu, written in PlantUML.

              "},{"location":"kubernetes-tutorials/#learning-tools","title":"Learning Tools","text":"
              • Build Your Own X \ud83c\udf1f - 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 - (Related to ocp4 topic)
              • Quiz Grader - (Related to ai topic)
              • DevOps Roadmap for 2026 - (Related to devops topic)
              • What is Podman and How Does it Compare to Docker? - (Related to container-managers topic)
              • Back of the Napkin Guide to Updating Jenkins - (Related to jenkins topic)
              • Automating Kubernetes Deployments with Helm Charts - (Related to helm topic)
              • useHooks - React Hooks Library - (Related to javascript topic)
              "},{"location":"kubernetes-tutorials/#neptune","title":"Neptune","text":"
              • exploreneptune.io \ud83c\udf1f - [oslabs-beta/neptune]](https://github.com/oslabs-beta/neptune) Neptune is a light-weight, open-source dev tool which introduces developers to Kubernetes and get started with interacting with Kubernetes clusters.
                • Get to know your Kubernetes cluster better with an easy-to-use monitoring tool
                • Render the metrics of your nodes, pods, and namespaces all in one easy to visualize UI. Focus on what matters, with built in alerts and cluster health monitoring.
              "},{"location":"kubernetes-tutorials/#videos","title":"Videos","text":"
              • Open Source Friday: Spec Kit - What it is, the problems it solves, and how clear specs make collaboration work - A YouTube video discussing Spec Kit, explaining its purpose, the challenges it addresses, and how clear specifications facilitate effective collaboration in software development.
              • Openshift Baremetal - Installer\u2019s Bake-off: Agent vs Assisted vs IPI - Comparativa t\u00e9cnica de los m\u00e9todos de instalaci\u00f3n de OpenShift en baremetal: Agent, Assisted e IPI, para ayudarte a elegir el m\u00e1s adecuado.
              Click to expand!"},{"location":"kubernetes-tutorials/#tweets","title":"Tweets","text":"Click to expand!

              A Kubernetes cluster is made of control plane nodes and worker nodes. And the nodes are made up of a number of components with specific functionalities \ud83c\udf0aThread \ud83e\uddf5\ud83d\udc47\ud83c\udffb#kubernetes #devops #docker pic.twitter.com/hN9LptCU71

              \u2014 SigNoz (@SignozHQ) February 28, 2022

              Free Kubernetes courses for Beginners1. Just enough kubernetes - https://t.co/9lSIfEKqSf2. Learn Kubernetes deployment - https://t.co/VmfaJWoGad3. Introduction to Kubernetes - https://t.co/tw4z7J5n214. Containers 101 - https://t.co/r2YJNxpLWHmore - https://t.co/9BKvlIxif8 pic.twitter.com/zzlvrxYgL6

              \u2014 javinpaul (@javinpaul) July 17, 2022

              Containers vs Pods \ud83e\uddf5A \"container\" is an isolated and restricted execution environment, typically optimized to run just one service.Being fully isolated from neighbors may feel good, but only at first. What if you need a few supporting services around?Pods to the rescue! pic.twitter.com/QEVdvqB01h

              \u2014 Ivan Velichko (@iximiuz) July 26, 2022

              What problem is Kubernetes trying to solve?Is it simply container orchestration?A thread \ud83e\uddf5

              \u2014 Michael Levan \ud83d\udc68\ud83c\udffb\u200d\ud83d\udcbb\u2615\ufe0f (@TheNJDevOpsGuy) August 10, 2022

              • Kubernetes para principiantes - La gu\u00eda definitiva para principiantes absolutos \ud83c\udf1f - Una playlist de YouTube que ofrece una gu\u00eda definitiva y completa sobre Kubernetes para principiantes absolutos, cubriendo conceptos fundamentales y pr\u00e1cticos.
              "},{"location":"kubernetes/","title":"Kubernetes","text":"

              \u201cKubernetes is not for application development but for platform development. Its magic is in enterprise standardization, not app portability\u201d (Kelsey Hightower)

              1. Must know Kubernetes concepts
              2. Introduction
                1. Kubernetes Jobs Market
                2. Certified Kubernetes Offerings
                3. The State of Cloud-Native Development
                4. Kubernetes Failure Stories
                5. Kubernetes Maturity Model
                6. Cloud Native Learn by doing platforms
                7. Kubernetes Scalability Thresholds
                8. Kubernetes Installation Methods
                9. Kubernetes Knowledge Hubs
                  1. Kubernetes Podcasts
                  2. Kubernetes Blogs
                  3. Spanish Kubernetes Blogs
              3. Kubernetes Open Source Container Orchestation
                1. KubeCon
                2. kubeconfig
                3. Kubernetes Manifests
                4. Docker and Kubernetes
                  1. Kubernetes vs Docker
                  2. Kubernetes vs Docker Swarm
                5. Kubernetes Admission Controllers
                6. Kubernetes Mutating Webhooks
                7. Kubernetes Cloud Controller Manager
                8. Kubernetes Resources
                  1. Kubernetes Pods
                  2. Kubernetes ConfigMaps
                  3. Kubernetes Secrets
                  4. Kubernetes Volumes
                  5. Kubernetes Namespaces and Multi Tenancy. Self Service Namespaces
                    1. Kiosk Multi-Tenancy Extension for Kubernetes
                    2. Creating Users
                  6. Kubernetes Labels and Selectors
                  7. Kubernetes Taints and Tolerations
                  8. Kubernetes Deployment, ReplicaSet, Rollling Updates and Rollbacks
                  9. Kubernetes StatefulSet
                  10. Kubernetes DaemonSets
                  11. Kubernetes Jobs and Cron Jobs
                  12. Kubernetes Services
                9. Kubernetes Deployment Strategies
                10. Kubernetes API
                  1. Multi-Cluster Services API
                11. Kubernetes Health Checks/Probes. Startup, Liveness, Readiness
                12. Reserved CPU and memory in Kubernetes nodes
                13. Kubernetes Quality of Service QOS. Kubernetes Resource and Capacity Management. Capacity Planning. Resource Quotas per namespace, LimitRanges per namespace, Limits and Requests per POD
                14. Kubernetes Scheduler. Kube Scheduler
                  1. Pod rebalancing and allocations. Pod Priorities
                15. Kubernetes etcd
                16. Kubernetes Sidecars
                17. Kubernetes Annotations
                18. Kubernetes Best Practices and Tips
                19. Disruptions
                20. Cost Estimation Strategies
                  1. kubecost
                21. Architecting Kubernetes clusters. Node Size. Multi Clusters and Hybrid Cloud
                  1. Wide Cluster instead of Multi-Cluster
              4. Client Libraries for Kubernetes
              5. Helm Kubernetes Tool
              6. Templating YAML in Kubernetes with real code. YQ YAML processor
              7. Extending Kubernetes
                1. Adding Custom Resources. Extending Kubernetes API with Kubernetes Resource Definitions. CRD vs Aggregated API
                2. Krew, a plugin manager for kubectl plugins
                3. OpenKruise/Kruise
                4. Crossplane, a Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions
              8. Kubernetes Community
                1. Community Forums
                2. Kubernetes Special Interest Groups (SIGs)
                  1. Kubernetes SIG\u2019s Repos
                  2. Kubectl Plugins
              9. Enforcing Policies and governance for kubernetes workloads with Conftest
              10. Kubernetes Patterns and Antipatterns. Service Discovery
              11. Kubernetes Scheduling and Scheduling Profiles
                1. Assigning Pods to Nodes. NodeSelector, Pod Affinity and Anti-Affinity
                2. Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin
              12. Cloud Development Kit (CDK) for Kubernetes
                1. AWS Cloud Development Kit (AWS CDK)
              13. Serverless with OpenFaas and Knative
              14. Virtual Kubernetes Clusters
              15. Multi-Cluster Federation. Hybrid Cloud Setup Tools
                1. KubeFed
                2. KubeCarrier
                3. Red Hat Operator Lifecycle Manager (OLM)
                4. Istio Service Mesh
              16. Multi-Regional Architecture
              17. Kubernetes in Kubernetes
              18. Kubernetes Scripts
                1. Kubernetes and Ansible
              19. Spot instances in Kubernetes
              20. Kubernetes on Windows
              21. Kubernetes Incident Report Plan IRP
              22. Kubernetes Certifications. CKA, CKAD and CKS
              23. Books and eBooks
                1. Kubernetes Patterns eBooks
                2. Famous Kubernetes ebooks of 2019
              24. Famous Kubernetes resources of 2019
              25. Famous Kubernetes resources of 2020
              26. Compliant Kubernetes
              27. PCI SSC (Payment Card Industry Security Standards Council)
              28. Kubernetes Slack Channel
              29. Bunch of images
              30. Videos
              31. Spanish Videos
              32. Tweets
              33. Tweets 2
              34. Memes

              Hugo Boomin \u26a1\ufe0f \ud83d\udd25 \ud83d\udca5 \u00b7 Jimmy Sax - Live At Nikki Beach St Tropez (Opus - Eric Prydz)

              "},{"location":"kubernetes/#must-know-kubernetes-concepts","title":"Must know Kubernetes concepts","text":"
              • Workloads: Node, Cluster, Pod, Namespace
              • Pod Controllers: Deployment, ReplicaSet, DaemonSet, StatefulSet, HPA PodDisruptionBudget, Job, CronJob
              • Configuration: ConfigMaps, Secrets
              • Networking: Ingress, Service, Network Policy
              "},{"location":"kubernetes/#introduction","title":"Introduction","text":"
              • Development Environments for Cloud Agents - (Related to ai topic)
              • Level Up Your Agents: Announcing Google\u2019s Official Skills Repository - (Related to ai-agents-mcp topic)
              • Introducing Kiro: AWS Agentic AI-Based IDE - (Related to ai topic)

              • Wikipedia.org: Kubernetes

              • cloud.google.com: What is Kubernetes? \ud83c\udf1f
              • Kubernetes Glossary \ud83c\udf1f
              • \u201cKubernetes magic is in enterprise standardization, not app portability\u201d (Kelsey Hightower) \ud83c\udf1f
              • twitter.com/kubernetesio
              • techbeacon.com: 25 Kubernetes experts you should follow on Twitter
              • enterprisersproject.com: Kubernetes: Everything you need to know (2020) \ud83c\udf1f
              • padok.fr: Kubernetes\u2019 Architecture: Understanding the components and structure of clusters \ud83c\udf1f
              • opensource.com: Explaining Kubernetes in 10 minutes using an analogy
              • medium: A Practical Step-by-Step Guide to Understanding Kubernetes Deploy a distributed application and understand key underlying concepts.
              • medium: Kubernetes, a practical introduction
              • itnext.io: Kubernetes is Hard! \ud83c\udf1f But, where there\u2019s Kubernetes, there\u2019s a way!
              • medium: Starting with kubernetes
              • thenewstack.io: Kubernetes Is the New Standard for Computing, Including the Edge
              • thenewstack.io: How does kubernetes work?
              • cloudsavvyit.com: How Does Kubernetes Work?
              • elmanytas.es: Kubernetes para impostores III
              • enterprisersproject.com: How to explain Kubernetes in plain English How do you explain Kubernetes and orchestration to non-technical people? Listen to the experts
              • maximilianmichels.com: Kubernetes in a Nutshell: 10 Things You Need to Know
              • brennerm.github.io: Kubernetes Overview Diagrams \ud83c\udf1f
              • thenewstack.io: Kubernetes Lifecycle Management! So Important! (Day 0, Day 1, Day 2) \ud83c\udf1f
              • opensource.com: A beginner\u2019s guide to Kubernetes container orchestration Understanding the building blocks of container orchestration makes it easier to get started with Kubernetes.
              • luminousmen.com: Kubernetes 101
              • css-tricks.com: Kubernetes Explained Simply: Containers, Pods and Images
              • auth0.com: Kubernetes Tutorial - Step by Step Introduction to Basic Concepts Learn about the basic Kubernetes concepts while deploying a sample application on a real cluster.
              • thenewstack.io: Why developers should learn kubernetes
              • thenewstack.io: This Week in Programming: Kubernetes from Day One? \ud83c\udf1f
              • nextplatform.com: KUBERNETES EXPANDS FROM CONTAINERS TO INFRASTRUCTURE MANAGEMENT \ud83c\udf1f More and more in the middleware layer, not in the hardware
              • thenewstack.io: Monolithic Development Practices Kill Powerful Kubernetes Benefits \ud83c\udf1f\ud83c\udf1f \u201cIt\u2019s not about the economy of data, it\u2019s about speed and nimbleness of data. The benefits of using Kubernetes and microservices is incredible \u2014 just make sure you know how to fully wield its power!\u201d
              • dev.to: Getting Started Tutorial for Learning Kubernetes \ud83c\udf1f
              • tech.showmax.com: Developers\u2019 basic guide to kubernetes
              • dev.to: How to start with Kubernetes for begginer
              • blogs.mulesoft.com - K8s: 8 questions about Kubernetes
              • devcentral.f5.com: What is Kubernetes?
              • docs.google.com: Kubernetes For Everyone \ud83c\udf1f\ud83c\udf1f A consolidated document on Kubernetes by: Pavan Belagatti
              • hackernoon.com: The Ultimate Beginners Guide To Kubernetes and Container Orchestration
              • k21academy.com: Kubernetes Architecture. An Introduction to Kubernetes Components
              • dzone: Introduction To Kubernetes \ud83c\udf1f An orchestration tool takes care of provisioning and deployment, allocation of resources, load balancing, and many other important aspects of any system.
              • weave.works: Kubernetes components that make up its architecture \ud83c\udf1f Great intro
              • dzone refcard: Advanced kubernetes \ud83c\udf1f
              • redhat.com: Kubernetes basics for sysadmins Learn when Kubernetes can be effectively used and how the containers it manages might be better than virtual machines.
              • redhat.com: Kubernetes Components - A sysadmin\u2019s guide to basic Kubernetes components \ud83c\udf1f Kubernetes control plane nodes and worker nodes, their features, and how they interact.
              • learnsteps.com: How Kubernetes works on reconciler pattern \ud83c\udf1f
              • devopsunlocked.com: Kubernetes: Learning Material
              • cncf.io: Kubernetes 101: An Introduction \ud83c\udf1f
              • millionvisit.blogspot.com: Kubernetes for Developers #1: Kubernetes Architecture and Features \ud83c\udf1f
              • redhat.com: Start learning Kubernetes from your local machine
              • medium: Pratyush Mathur - Kubernetes Architecture
              • medium: Kubernetes Fundamentals For Absolute Beginners: Architecture & Components
              • learnsteps.com: What is a control plane? Basics on Kubernetes
              • infoworld.com: No one wants to manage Kubernetes anymore \ud83c\udf1f The availability of solid and varied managed kubernetes options has seen more and more companies shy away from managing their own clusters.
              • eximiaco.tech: when to choose Kubernetes? \ud83c\udf1f
              • thenewstack.io: Living with Kubernetes: Cluster Upgrades \ud83c\udf1f
              • thenewstack.io: 5 Things Developers Need to Know About Kubernetes Management
              • How to handle environment variables with Kubernetes? \ud83c\udf1f
              • weave.works: The Definitive Guide to Kubernetes in Production \ud83c\udf1f\ud83c\udf1f
              • vmblog.com: The Rise of Modern Day Kubernetes Operations
              • thenewstack.io: What Workloads Do Businesses Run on Kubernetes?
              • itnext.io: The subtleties of ensuring zero downtime during pod lifecycle events in Kubernetes
              • tutorialworks.com: The differences between Docker, containerd, CRI-O and runc Since Docker kicked off this explosion in containers, there\u2019s been a growing family of tools and standards to help govern how to use this technology.
              • searchitoperations.techtarget.com: Ensure Kubernetes high availability with master node planning Kubernetes ensures high availability in its worker nodes, but for a mission-critical workload, IT teams should take these extra steps for redundancy in the master node components.
              • thenewstack.io: The New Stack\u2019s Top Kubernetes Stories of 2021
              • ostechnix.com: Kubernetes Features Explained In Detail
              • learnsteps.com: Kubernetes: What to learn from a long term perspective
              • medium: Do I need to learn Kubernetes?
              • divya-mohan0209.medium.com: Getting started with K8s in 2022 And a list of resources structured to help you learn!
              • docs.google.com: Kubernetes For Everyone
              • medium.com/paypal-tech: Scaling Kubernetes to Over 4k Nodes and 200k Pods Learn the challenges PayPal had to face when they started scaling the cluster to over 4000 nodes and 200k pods.
              • learnsteps.com: What is kubelet and what it does: Basics on Kubernetes
              • pauldally.medium.com: Kubernetes Application High-Availability \u2014 Part 1 (The Very-Basic Basics)
                • pauldally.medium.com: Kubernetes Application High-Availability \u2014 Part 2 (More Basics)
              • buttondown.email: Two reasons Kubernetes is so complex
              • opensource.com: A guide to Kubernetes architecture Learn how the different components of Kubernetes architecture fit together so you can be better equipped to diagnose problems, maintain a healthy cluster, and optimize your own workflow.
              • medium.com/@olivier.gaumond: Why am I able to bind a privileged port in my container without the NET_BIND_SERVICE capability?
              • kubesphere.io: Kubernetes High Availability Essential Practices Simply Explained
              • ecem.dev: Kubernetes Basics, Core Components & Yaml Files
              • medium.com/netcracker: Version Control of Configuration Files Using Kubernetes
                • If your applications have configuration files, following situation must be familiar to you: you develop an application, and then you create a configuration file and document it. After a while, you need to add some settings as the old ones do not meet all the requirements and, in general, it is better to change the structure.
                • What to do? If you do not change the configuration format, over time, it will turn into a bunch of things that \u201cwe need to deal with for historical reasons\u201d. And if you change it\u2026 In this case, you always need to check if the configuration files are compatible with the product version you are installing for the customer. The operation team, customers, and many others will not really like this.
                • These problems can be solved by multi-version configurations. Borrowing them from the Kubernetes, we have developed and applied them. Now let\u2019s discuss how it works.
              • blog.devgenius.io: Choosing an Optimal Kubernetes Worker Node Size for Your Startup \ud83c\udf1f
              • blog.scaleway.com: How to deploy and distribute the workload on a multi-cloud Kubernetes environment \ud83c\udf1f This article will guide you through the best practices to deploy and distribute the workload on a multi-cloud Kubernetes environment
              • cloudtechtwitter.com: KubeApiServer components \ud83c\udf1f Kube API Server is the only component that as a user we will directly interact with.
              • medium.com/@portainerio: Kubernetes, the ultimate enabler of automation
              • marcusnoble.co.uk: Managing Kubernetes without losing your cool \ud83c\udf1f In this article, you will find 10 tips for working with Kubernetes clusters all day long.
              • cloudtechtwitter.com: Introduction to Kubernetes \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
              • medium.com/@kajan26: The Myth of scalability in Kubernetes
              • medium.com/@raymon_dut: What\u2019s the relationShip between Pod, Deployment, ReplicaSet, and Service in Kubernetes? \ud83c\udf1f In this article, you will work out the relationships between Pod, Deployment, ReplicaSet, and Service in Kubernetes by using kubectl and inspecting a live deployment.
              • cloudnatively.com: The State of Stateful apps on Kubernetes \ud83c\udf1f
              • iximiuz.com: How Kubernetes Reinvented Virtual Machines (in a good sense) \ud83c\udf1f\ud83c\udf1f Wonder why the history of Ops took us from imperative, state-full, pets centric prod on VMs, to declarative, ephemeral, and disposable Ops on Containers?
                • How Virtual Machines are used to deploy services
                • How Containers try to improve shortcomings of VMs
                • What new problems Containers introduce
                • How Kubernetes is just one but a clever way to cook Containers
              • spiceworks.com: How to Get Started With Kubernetes the Right Way: DevOps Experts Weigh In \ud83c\udf1f Kubernetes deployments need meticulous planning and resource allocation like any other software infrastructure solution. Here, experts discuss the best strategies to deploy Kubernetes seamlessly.
              • dev.to: What Problem Is Kubernetes Actually Trying To Solve? \ud83c\udf1f
              • \u201cIt\u2019s funny: everyone thinks CPU requests are only used for scheduling (WRONG) and memory requests determine who gets OOMKilled (WRONG) but it\u2019s actually the opposite! At runtime, memory requests do nothing, but CPU requests DO\u201d \ud83c\udf1f
              • developers.redhat.com: Kubernetes 101 for developers: Names, ports, YAML files, and more Kubernetes 101 for developers:
                • Running multiple containers
                • Port management
                • Names
                • Secrets
                • Rolling updates
                • Dependencies
                • YAML files
              • medium.com/@litombeg: Kubernetes High-Level Architecture
              • Top 5 kubernetes challenges and their solutions
              • jaffarshaik.medium.com: Kubernetes Architecture and components \ud83c\udf1f
              • syedasadrazadevops.medium.com: Deep Dive Into Kubernetes: Who to run pod, node container in Kubernetes (K8s)
              • dzone.com: Kubernetes Architecture Diagram \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f This article will explain each Kubernetes architecture example step, the entire structure, what it\u2019s used for, and how to use it.
              • levelup.gitconnected.com: 5 Tricks to take your Kubernetes skills to the next level Whether you like Python, Java, or another language \u2014 you\u2019ll probably need Kubernetes anyway.
              • thenewstack.io: Don\u2019t Pause Your Kubernetes Adoption \u2015 PaaS It Instead! Adopting a PaaS abstraction can fast-track Kubernetes for software engineering teams of all sizes and shapes.
              • iximiuz.ck.page: Ivan on Containers, Kubernetes, and Backend Development
              • blog.devgenius.io: Kubernetes(k8) High-level overview
              • waltercode.medium.com: Understanding Kubernetes
              • anirudhdaya.hashnode.dev: Kubernetes Explained- Part 1
                • anirudhdaya.hashnode.dev: Kubernetes Explained- Part 2
              • medium.com/@sakshampaliwal: What is Kubernetes(in short)?
              • medium.com/@hnaveed221: A Quick Intro To Kubernetes K8s is a highly extensible system, comprises of many components that do one job and do it well, in this blog, my first attempt at explaining the brief intro of k8s with its architecture, role of master/worker node.
              • medium.com/the-techlife: Application life cycle management | Kubernetes Overview of configmaps, secrets, multi-container, and init-containers
              • hamees.hashnode.dev: Kubernetes: Explain like I\u2019m 5
              • medium.com/siot-govtech: Kubernetes from Scratch
              • blog.learncodeonline.in: Kubernetes! An Architectural Overview
              • ajay-yadav.medium.com: Internals of Kubernetes
              • enterprisersproject.com: A 15-minute primer on Kubernetes Brush up on your Kubernetes knowledge in less than 15 minutes with our new downloadable white paper
              • spacelift.io: What Is Kubernetes Architecture? \u2013 Components Overview Kubernetes is a distributed system. It horizontally scales containers across multiple physical hosts termed Nodes. This produces fault-tolerant deployments.
              • blog.frankel.ch: Back to basics: accessing Kubernetes pods
              • faun.pub: Kubernetes Architecture Explained \u2014 Under 5 Minutes
              • okteto.com: What is Kubernetes Architecture?
              • blogs.opentext.com: Understanding Kubernetes within containers
              • techtarget.com: How many Kubernetes nodes should be in a cluster? \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f There\u2019s no one-size-fits-all answer in terms of how many nodes should make up a Kubernetes cluster. Instead, that number varies based on specific workload requirements.
              • blog.acethecloud.com: The Kubernetes Handbook: A Comprehensive guide of 100 Q&A \ud83c\udf1f
              • medium.com/@madhankannan7: Kubernetes in Production: Key Considerations
              • medium.com/@harsh.manvar111: Don\u2019t confuse the difference between stateless and stateful \ud83c\udf1f Why not use Kubernetes Statefulset for stateless applications?
              • geeksforgeeks.org: Kubernetes \u2013 Concept of Containers
              • dev.to: Why Developers Should Learn Docker and Kubernetes in 2023 \ud83c\udf1f
              • dev.to: Build my own Kubernetes journey (10 Part Series) | Jonatan Ezron
              • thenewstack.io: Why Kubernetes Has Emerged as the \u2018OS\u2019 of the Cloud Increased usage of Kubernetes, the Google-created open source system orchestrator isn\u2019t seen in all sectors of IT infrastructure, but it sure is taking charge of cloud native app deployments.
              • aws.amazon.com: Kubernetes as a platform vs. Kubernetes as an API \ud83c\udf1f\ud83c\udf1f
              • symbiosis.host: Benchmarking cluster creation time for 8 managed Kubernetes providers You might find this report interesting if you care about Kubernetes cluster creation time. This benchmark compares 8 providers of managed Kubernetes to determine how long they take to initialize. Are you planning to run CI tests in a production-like environment? Perhaps you are running short-lived workloads in separate clusters? If so, you might care about cluster boot times. We ran a benchmark across 8 different providers of managed Kubernetes to determine how long they take to initialize. We compared the providers by creating a cluster with a single node and measuring the time from creation until the node was in a ready state.
              • medium.com/@deepeshjaiswal6734: An Introduction to Kubernetes Architecture && Kubernetes Object deep dive-1 \ud83c\udf1f
              • dev.to: Kubernetes 101, part I, the fundamentals | Leandro Proen\u00e7a
                • dormoshe.io: Kubernetes 101, part I, the fundamentals | Leandro Proen\u00e7a
              • cncf.io: THE ILLUSTRATED CHILDREN\u2019S GUIDE TO KUBERNETES \ud83c\udf1f
              • dev.to/leandronsp: Kubernetes 101, part I, the fundamentals
                • dev.to/leandronsp: Kubernetes 101, part II, pods
                • dev.to/leandronsp: Kubernetes 101, part III, controllers and self-healing
                • dev.to/leandronsp: Kubernetes 101, part IV, deployments
                • dev.to/leandronsp: Kubernetes 101, part V, statefulsets
                • dev.to/leandronsp: Kubernetes 101, part VI, daemonsets
                • dev.to/leandronsp: Kubernetes 101, part VII, jobs and cronjobs
                • dev.to/leandronsp: Kubernetes 101, part VIII, networking fundamentals
              • yuminlee2.medium.com: Kubernetes: Understanding Kubernetes Architecture through a Restaurant Chef\u2019s Analogy
              • medium.com/jamf-engineering: How three lines of configuration solved our gRPC scaling issues in Kubernetes \ud83c\udf1f It all started with a question I asked our senior software engineer: \u201cForget the speed of communication. Is it really better for you to develop communication in gRPC instead of REST?\u201d The answer I didn\u2019t want to get came immediately: \u201cAbsolutely yes.\u201d
              • thenewstack.io: A Platform for Kubernetes Kubernetes community can greatly benefit from internal developer platforms to simplify its adoption and day-to-day usage.
              • blog.devgenius.io: DevOps in K8s \u2014 Deployment Rolling Update DevOps in K8s bootcamp series
              • medium.com/@walissonscd: Creating a Kubernetes Pod with Multiple Containers and a Shared Volume \ud83c\udf1f
              • devopscube.com: Kubernetes Daemonset: A Comprehensive Guide
              • medium.com/@rphilogene: Turning Kubernetes into a Developer-Friendly Product
              • linkedin.com: DAY 01: Kubernetes : Understanding Architecture, Components, Installation and Configuration
              • medium.com/@vvsevel: A Guide to Kubernetes Application Resource Tuning \u2014 part 1 This 3-part series aims at providing a good understanding of container resource sizing in Kubernetes. It also includes a case study with 50m VMs and guides you through the thought process of selecting the right requests and limits for memory and CPU.
              • medium.com/@vinothiniraju: Streamlining Kubernetes Deployment with Ready-Built Developer Platform
              • faun.pub: Kubernetes Nginx Deployments: Simplified Management and Increased Scalability
              • semaphoreci.com: Understanding ReplicaSet vs. StatefulSet vs. DaemonSet vs. Deployments Explore the differences between them, so that you can understand how exactly we use each set, how they differ from each other, and the purpose that each serves.
              • medium.com/@a.j.abbott24: Kubernetes: Multi Environment Config Management
              • medium.com/@extio: Understanding Kubernetes Annotations: Enhancing Flexibility and Extensibility
              • aws.plainenglish.io: $ kubectl get kubernetes -o architecture
              • freecodecamp.org: How to Deploy an Application to a Kubernetes Cluster
              • medium.com/@kylelzk: Kubernetes Theory - Understanding Kubernetes Components: A Deep Dive
              • medium.com/@bijit211987: Kubernetes Roadmap Kubernetes has quickly become the de facto standard for container orchestration and management. As more organizations adopt Kubernetes, there is a growing need for Kubernetes skills and expertise. This comprehensive roadmap will take you from Kubernetes fundamentals all the way to advanced management, security, and governance.
              • serokell.io/blog/kubernetes-guide: A Guide to Kubernetes Modern cloud native computing heavily relies on the use of containers and the adoption of Kubernetes. Despite being a relatively new technology, it is deployed by many global enterprises to manage business-critical applications in their production environments. The popularity of Kubernetes is driven by a growing range of features, such as enhanced security, better management of microservices, improved observability, and more efficient scaling and resource use. In this article, we take a look at the essence of technology, its architecture, and its real-world applications.
              "},{"location":"kubernetes/#kubernetes-jobs-market","title":"Kubernetes Jobs Market","text":"
              • OOMKilled in Kubernetes: Understanding and Preventing Hidden Memory Leaks - (Related to kubernetes-troubleshooting topic)
              • Reduce Latency with Azure Proximity Placement Groups - (Related to azure topic)
              • From Zero to Hero with Identity and Access Control in Azure Kubernetes Service - (Related to kubernetes-security topic)

              • kube.careers: Kubernetes jobs market (Q2 2021) We analyzed all the 113 Kubernetes jobs posted in the past 3 months (Apr-May-Jun 2021) and extracted metrics for:

                • Kubernetes salary ranges
                • Remote vs office offers
                • Popular cloud providers
              • kube.careers: Kubernetes jobs market trends for 2021 (Q4) What\u2019s the average salary for a Kubernetes engineer? Do you need a Kubernetes certification to apply for a job? What technologies and cloud providers are often used with Kubernetes? We analyzed 276 Kubernetes jobs from 2021 and found that:
                • If you know AWS and Python, the world is your oyster.
                • CKA is the top Kubernetes certification. But only a few employers require one.
                • Jenkins is more alive than ever.
                • Prometheus is synonymous with monitoring. No one comes close.
                • Terraform and Ansible lead IaC.
              • kube.careers: Kubernetes jobs market trends for 2022 Q2
                • What\u2019s the average salary for a Kubernetes engineer?
                • What are the skill sets required for a Kubernetes job?
                • How much technical experience do you need in the current job market?
              • kube.careers: Kubernetes jobs market trends for 2022 Q3
              • kube.careers: Kubernetes jobs market trends for 2022 Q4 What\u2019s the average salary for a Kubernetes engineer? It\u2019s \u20ac82,554 in Europe & $133,918 in North America. How necessary are certifications? Not as much as you think. A lot more questions answered in our yearly report for 2022
              • infoworld.com: How to beat the Kubernetes skills shortage While Kubernetes container management is key to digital transformation, Kubernetes talent is in short supply. Follow these 4 strategies of successful companies to fill the gap.
              • medium.com/@dfrancisczok: Introduction to Kubernetes \u2014 other Kubernetes components and abstract concepts | Dave Frank
              • levelup.gitconnected.com: Kubernetes 101: Understanding the Basics of Container Orchestration Kubernetes is a container orchestration system that helps you to automates the process of deploying, scaling, and managing containerized apps across multiple hosts
              • medium.com/@walissonscd: Understanding Your Kubernetes Cluster
              "},{"location":"kubernetes/#certified-kubernetes-offerings","title":"Certified Kubernetes Offerings","text":"
              • Certified Kubernetes offerings
              "},{"location":"kubernetes/#the-state-of-cloud-native-development","title":"The State of Cloud-Native Development","text":"
              • Cloud-Native Development Survey Details Kubernetes, Serverless Data Detailed data on the use of Kubernetes, serverless computing and more.
              "},{"location":"kubernetes/#kubernetes-failure-stories","title":"Kubernetes Failure Stories","text":"
              • k8s.af \ud83c\udf1f
              • thenewstack.io: Kubernetes Horror Stories
              • techbeacon.com: Why teams fail with Kubernetes\u2014and what to do about it
              "},{"location":"kubernetes/#kubernetes-maturity-model","title":"Kubernetes Maturity Model","text":"
              • fairwinds.medium.com: Kubernetes Maturity Model
              • fairwinds.medium.com: An Introduction to the Kubernetes Maturity Model \u2014 How to Use It
                • The Fairwinds team developed the Kubernetes Maturity Model over a year ago, and they continue to update and refine it to reflect the five stages you go through in your journey to Kubernetes maturity.
                • If the Kubernetes Maturity Model is new to you, this is a helpful introduction and guide on how to use it.
                • Before you do anything, consider what a cloud-native journey means to you and your organization. Kubernetes isn\u2019t right for everyone, so make sure you understand where to start and how to prove value by embracing Kubernetes.
                • Any maturity model is a process, and you\u2019re likely to move back and forth between phases, and some will take longer than others. Even once you\u2019ve reached phase five, you\u2019ll always be working on ongoing optimization, removing human error and effort, and improving reliability and efficiency.
              "},{"location":"kubernetes/#cloud-native-learn-by-doing-platforms","title":"Cloud Native Learn by doing platforms","text":"
              • openshift sandbox
              • Kubebyexample.com - kubernetesbyexample.com \ud83c\udf1f\ud83c\udf1f A free learning platform covering the fundamentals of how to develop, deploy, manage, and automate containers in cloud-native environments.
              • https://killer.sh CKS CKA CKAD Simulator
              • https://acloudguru.com
              • https://cloudacademy.com
              • https://cloudyuga.guru
              • https://instruqt.com
              • https://katacoda.com
              • https://kodekloud.com
              • https://learning.oreilly.com
              • https://play-with-docker.com
              • https://play-with-k8s.com
              "},{"location":"kubernetes/#kubernetes-scalability-thresholds","title":"Kubernetes Scalability Thresholds","text":"
              • Limitless Kubernetes Scaling for AI and Data-intensive Workloads: The AKS Fleet Strategy \ud83c\udf1f - This blog post introduces the AKS Fleet Manager strategy as a solution for scaling Kubernetes beyond the limits of a single cluster, particularly for AI and data-intensive workloads. It highlights the challenges of scaling within a single cluster (control plane bottlenecks, resource limits) and proposes managing tens or hundreds of clusters using AKS Fleet Manager, powered by the KubeFleet project, to achieve \u2018limitless\u2019 scalability.

              • github.com/kubernetes: Kubernetes Scalability thresholds

              "},{"location":"kubernetes/#kubernetes-installation-methods","title":"Kubernetes Installation Methods","text":"
              • DevOps Made Easy: Install AWS CLI, ECS CLI, Docker & Terraform Using Chocolatey - (Related to devops topic)

              • itnext.io: Kubernetes Installation Methods The Complete Guide

              • medium.com/@DevOpsfreak: Top 12 Kubernetes Installation Errors You Can\u2019t Afford to Miss Common Errors Encountered During Kubernetes Installation and How to Resolve Them
              "},{"location":"kubernetes/#kubernetes-knowledge-hubs","title":"Kubernetes Knowledge Hubs","text":"
              • Application Gateway for Containers: Istio Integration - (Related to istio topic)
              • Export Terraform Code from the Azure Portal - (Related to terraform topic)
              • Kubernetes Troubleshooting: A Step-by-Step Guide - (Related to kubernetes-troubleshooting topic)

              • kubernetes.io

              • reddit.com/r/kubernetes
              • Kubernetes README: kubernetesreadme.com What to Read to Learn More About Kubernetes
              • dev-k8sref-io.web.app Kubernetes Reference - k8sref.io
              • learnk8s.io: Kubernetes Research. Research documents on node instance types, managed services, ingress controllers, CNIs, etc. A research hub to collect all knowledge around Kubernetes. Those are in-depth reports and comparisons designed to drive your decisions. Should you use GKE, AKS, EKS? How many nodes? What instance type?
              • jamiehannaford/what-happens-when-k8s \ud83e\udd14 What happens when I type kubectl run?
              "},{"location":"kubernetes/#kubernetes-podcasts","title":"Kubernetes Podcasts","text":"
              • kubernetespodcast.com
              • weave.works: Podcast: Kubernetes has won the enterprise
              • kubelist.com/podcast: The Kubelist Podcast Exploring the ever evolving ecosystem of Kubernetes, SIGS, and the CNCF through interviews with the developers and project managers responsible for sandbox, incubating and graduated projects and technologies. Hosted by Replicated CTO, Marc Campbell and Shipyard CEO, Benjie De Groot.
              "},{"location":"kubernetes/#kubernetes-blogs","title":"Kubernetes Blogs","text":"
              • nativecloud.dev
              • learnk8s.io/blog
              • kubermatic.com
              • containerjournal.com
              • cloudowski.com
              • dev.to/t/kubernetes
              • kubernetes-on-aws.readthedocs.io
              • opensource.com/tags/kubernetes
              • itnext.io/tagged/kubernetes
              • thenewstack.io/category/kubernetes
              • k21academy.com/category/docker-kubernetes
              • weave.works/blog/category/kubernetes
              • learnsteps.com/tag/basics-on-kubernetes
              • devopscube.com
              • thecloudblog.net
              • rcarrata.com
              • blog.palark.com
              "},{"location":"kubernetes/#spanish-kubernetes-blogs","title":"Spanish Kubernetes Blogs","text":"
              • returngis.net
              "},{"location":"kubernetes/#kubernetes-open-source-container-orchestation","title":"Kubernetes Open Source Container Orchestation","text":"
              • containerd - An open and reliable container runtime - (Related to container-managers topic)
              • Google Agents CLI - (Related to ai topic)
              • Kubeterm: Graphical Management Tool for Kubernetes - (Related to kubernetes-tools topic)
              • ClusterClass: Experimental Feature for Streamlined Cluster Lifecycle Management in Cluster API \ud83c\udf1f - This resource describes ClusterClass, an experimental feature within the Cluster API project that aims to reduce boilerplate and enable flexible customization of Kubernetes clusters. It provides a powerful abstraction for streamlining cluster lifecycle management while maintaining the underlying API. The documentation covers its background, authoring, changing, publishing, and operational aspects, including quick start guides for creating clusters using ClusterClass templates.
              • The DevOps Bottleneck: Why IaC Orchestration is the Missing Piece - (Related to iac topic)
              • Announcing Private Preview: ArgoCD through Microsoft GitOps - (Related to gitops topic)
              • FreeLens - (Related to kubernetes-tools topic)
              • RunsOn: Self-hosted GitHub Actions Runners in AWS - (Related to cicd topic)
              • Dependabot Version Updates in Azure DevOps - (Related to cicd topic)

              • kubedex.com Discover, Compare and Share Kubernetes Applications

              • medium.com: A Year Of Running Kubernetes at MYOB, And The Importance Of Empathy
              • labs.mwrinfosecurity.com: Attacking Kubernetes through Kubelet
              • itnext.io: Successful & Short Kubernetes Stories For DevOps Architects
              • platform9.com: Kubernetes CI/CD Pipelines at Scale
              • 4 trends for Kubernetes cloud-native teams to watch in 2020
              • 5 open source projects that make Kubernetes even better: Prometheus, Operator framework, Knative, Tekton, Kubeflow \ud83c\udf1f Open source projects bring many additional capabilities to Kubernetes, such as performance monitoring, developer tools, serverless capabilities, and CI/CD workflows. Check out these five widely used options
              • 4 trends for Kubernetes cloud-native teams to watch in 2020 Today\u2019s software architectural landscape seems to change like the weather. Stay ahead of the curve with these cloud-related trends, including GitOps and service meshes.
              • Creating a Kubernetes cloud provider, doesn\u2019t required boiling the ocean
              • opensource.com: 5 ways to boost your Kubernetes knowledge
              • blog.container-solutions.com: 7 Cloud Native Trends to Watch in 2020
              • snyk.io: Shipping Kubernetes-native applications with confidence
              • medium: Delivering value on Kubernetes
              • blocksandfiles.com: Kubernetes is in a bit of state about state Kubernetes is \u201cfour to five years away\u201d from being a stable distribution capable of running stateful apps, according to Redis Labs chief product officer Alvin Richards.
              • medium: Then he asked me \u201cIs Kubernetes right for us?\u201d
              • loft.sh: Kubernetes: Virtual Clusters For CI/CD & Testing
              • lambda.grofers.com: Learnings From Two Years of Kubernetes in Production
              • medium: 3 Years of Kubernetes in Production\u2013Here\u2019s What We Learned
              • revistacloudcomputing.com: Los mejores proveedores de Kubernetes
              • containerjournal.com: Overcoming Kubernetes Infrastructure Challenges
              • medium: Installing cf-for-k8s on a Kubernetes Cluster Running on Digital Ocean If you want to install Cloud Foundry on Kubernetes on Digital Ocean, you might find this article relevant.
              • itnext.io: Lessons learned from managing a Kubernetes cluster for side projects (GKE)
              • projectcalico.org: Using Kubernetes to orchestrate VMs
              • lastweekinaws.com: Is ECS deprecated? Has Kubernetes won?
              • opensource.com: 8 Kubernetes insights for 2021 Review the top five Kubernetes articles of 2020, then preview three tools you should learn about in 2021.
              • srcco.de: Zalando - Many Kubernetes Clusters instead of 1 huge cluster Running 80+ Kubernetes clusters in production? Yes, Zalando runs 100+ Kubernetes clusters on AWS.
                • Each cluster runs in its own AWS account.
                • They always create a pair of prod/non-prod clusters per \u201cproduct community\u201d, i.e. only half of their clusters (50+) are marked as \u201cproduction\u201d and have full 24x7 on-call support.
                • They decided to go with \u201cmany\u201d (that\u2019s relative) clusters for various reasons:
                  • Kubernetes has no strong story for multi-tenancy, having \u201csmaller\u201d clusters mitigates part of this problem
                  • Some infrastructure is shared per cluster, e.g. Prometheus and the Ingress proxy (Skipper) \u2014 this requires appropriate (vertical) scaling of these components, smaller clusters make this easier to handle
                  • The blast radius is limited \u2014 anything going wrong in one cluster (outage, security incident, ..) does not necessarily affect the whole organization
                  • Cost attribution is easier (every cluster belongs to a cost center)
                  • The cluster (and its AWS account) serves as a natural trust boundary for access control (you can either deploy via CI/CD to a cluster or not)
              • platform9.com: The Gorilla Guide to Kubernetes in the Enterprise Discover key capabilities for Kubernetes at scale.
                • A complete Enterprise Kubernetes infrastructure needs proper DNS, load balancing, Ingress, stateful services, K8\u2019s role-based access control (RBAC), integration with LDAP and authentication systems, and more. Once Kubernetes is deployed, day-2 operational challenges and life-cycle management comes into play: monitoring, alerting, troubleshooting, upgrades, security patching, compliance checking and much more.
                • The Gorilla guide to Kubernetes in the Enterprise is your resource to ensure the success of your Enterprise Kubernetes projects by thinking through critical decisions around deployment options, day-2 operational considerations, use cases, and choosing your Kubernetes implementation solutions.
              • magalix.com: Influencing Kubernetes Scheduler Decisions To ensure maximum possible performance and availability given the infrastructure at hand, the scheduler uses complex algorithms to ensure the most efficient Pod placement. In this article, we discuss how the scheduler selects the best node to host the Pod and how we can influence its decision.
              • medium: Making Sense of Taints and Tolerations in Kubernetes
              • devopscube.com: 10 Key Considerations for Kubernetes Cluster Design & Setup \ud83c\udf1f
              • blog.pixielabs.ai: Building Kubernetes Native SaaS applications: iterating quickly by deploying in-cluster data planes
              • itnext.io: CKS Exam Series #9 RBAC v2 Kubernetes CKS Example Exam Question Series
              • infoq.com: Experts Discuss Top Kubernetes Trends and Production Challenges
              • blog.appstack.one: How to run Ghost blog inside Kubernetes
              • learnk8s.io: Scaling Celery workers with RabbitMQ on Kubernetes In this article, you will explore how to use Kubernetes and KEDA to scale Celery workers based on the number of messages in a RabbitMQ queue.
                1. Learn how to set up a metrics pipeline
                2. How you can drive autoscaling based on metrics from RabbitMQ.
                3. Why KEDA might be an alternative to prometheus+adapters
              • superuser.openstack.org: Run Your Kubernetes Cluster on OpenStack in Production
              • andrewlock.net: Series: Deploying ASP.NET Core applications to Kubernetes
                • andrewlock.net: Deploying ASP.NET Core applications to Kubernetes - Part 6 - Adding health checks with Liveness, Readiness, and Startup probes
              • infoq.com: The Evolution of Distributed Systems on Kubernetes What Comes After Microservices:
                • Yet Microservices gives us the guiding principles on how to split a monolithic application into separate business domains.
                • After that came serverless and Function-as-a-Service (FaaS), where we said we could split those further by operations, giving us extreme scaling - because we can scale each operation individually.
                • The author argues that maybe FaaS is not the best model - as functions are not the best model for implementing reasonably complex services where you want multiple operations to reside together when they have to interact with the same dataset.
                • Probably, multi-runtime as the author calls it Mecha architecture, where you have your business logic in one container, and you have all the infrastructure-related concerns as a separate container.
                • They jointly represent a multi-runtime microservice. Maybe that\u2019s a more suitable model because it has better properties.
                • You get all the benefits of microservice. You still have all your domain, all the bounded contexts in one place.
                • You have all the infrastructure and distributed application needs in a separate container, and you combine them at runtime.
                • Probably, the closest thing that\u2019s getting to that right now is Dapr.
              • medium: Graceful shutdown of fpm and nginx in Kubernetes
              • fairwinds.com: Over-Provisioned and Over-Permissioned Containers & Kubernetes
              • betterprogramming.pub: How to Implement Your Distributed Filesystem With GlusterFS And Kubernetes Learn the advantages of using GlusterFS and how can it help in achieving a highly-scalable, distributed filesystem.
              • medium: Scaling Kubernetes with Assurance at Pinterest
              • blog.deckhouse.io: How we enjoyed upgrading a bunch of Kubernetes clusters from v1.16 to v1.19
              • openshift.com: Topology Aware Scheduling in Kubernetes Part 1: The High Level Business Case
                • openshift.com: Topology Awareness in Kubernetes Part 2: Don\u2019t we already have a Topology Manager?
              • Kubernetes setup with CRI-O Runtime Example to build Kubernetes Clusters using CRI-O runtime instead of Docker
              • blog.min.io: Kubernetes, Consistency and Commoditization - The Way of the Cloud
              • hjrocha.medium.com: Add a Custom Host to Kubernetes
              • rancher.com: The Three Pillars of Kubernetes Container Orchestration \ud83c\udf1f
              • qwinix.io: What Is Kubernetes? K8s Uses, Benefits, & More
              • thenewstack.io: Governance, Risk and Compliance with Kubernetes
              • zhimin-wen.medium.com: Custom Notifications with Alert Manager\u2019s Webhook Receiver in Kubernetes
              • harness.io: Introducing Recommendations API: Find Potential Cost Savings Programmatically
              • blog.harbur.io: Demystifying stateful apps on Kubernetes by deploying an etcd cluster In this tutorial you will learn how to deploy an etcd cluster in Kubernetes
              • blog.kintone.io: Rebooting a LOT of Kubernetes nodes in a declarative way
              • infoworld.com: How Kubernetes works If you want to understand containers, microservices architecture, modern application development, and cloud native computing, you need to understand Kubernetes.
              • infoq.com: Cloud Native and Kubernetes Observability: Expert Panel
              • kubernetes.io: Don\u2019t Panic: Kubernetes and Docker
              • thenewstack.io: Exploring the New Kubernetes Maturity Model
              • blog.bandowski.eu: Tools that should be used in every Kubernetes cluster \ud83c\udf1f
                • ArgoCD for deploying your resources the GitOps way
                • MetalLB in case you need a load balancer when running Kubernetes on-prem and not in a cloud
                • external-secrets to easily sync the secrets of your external secret manager with your Kubernetes cluster
                • cert-manager \ud83c\udf1f to easily retrieve and/or generate new certificates on the fly
                • external-dns to manage your DNS entries automatically
              • redhat.com: Building containers by hand: The PID namespace The PID namespace is an important one when it comes to building isolated environments. Find out why and how to use it.
              • infoq.com: The Kubernetes Effect
              • dustinspecker.com: iptables: How Kubernetes Services Direct Traffic to Pods
              • dustinspecker.com: Scaling Kubernetes Pods using Prometheus Metrics \ud83c\udf1f one of Kubernetes many features is auto-scaling workloads. Typically, Horizontal Pod Autoscalers scale pods based on CPU or memory usage. During other times we could better scale by using custom metrics that Prometheus is already scraping. Fortunately, Horizontal Pod Autoscalers can support using custom metrics. I\u2019m a fan of the kube-prometheus \ud83c\udf1f project, but it wasn\u2019t apparent how to set up a Horizontal Pod Autoscaler using custom metrics. This post walks through:
                • Deploying kube-prometheus (Prometheus operator, Prometheus adapter, Grafana, and more)
                • Creating a custom metrics APIService
                • Configuring Prometheus adapter to support our custom metrics
                • Deploying a Horizontal Pod Autoscaler for Grafana using a custom metric
              • dev.to: How to switch container runtime in a Kubernetes cluster
              • itnext.io: Breaking down and fixing etcd cluster
              • itnext.io: Kubernetes: what are Endpoints
              • medium.com: Using kubernetes custom resources to manage our ephemeral environments Building a Kubernetes operator with kubebuilder to manage ephemeral environments.
              • medium: Running Apache Flink on Kubernetes
              • learnsteps.com: How exactly kube-proxy works: Basics on Kubernetes
              • medium.com: Connect services across Kubernetes clusters using Teleproxy Teleproxy is a shell script that lets you quickly replace a Kubernetes deployment by a single pod that forwards incoming traffic to another pod running in a destination Kubernetes cluster.
              • medium: Kubernetes DNS for Services and Pods
              • edgehog.blog: Getting Started with K8s: Core Concepts
              • siderolabs.com: Is Vanilla Kubernetes Really Too Heavy For The Raspberry Pi?
              • infoq.com: Kubernetes Workloads in the Serverless Era: Architecture, Platforms, and Trends
              • blog.kintone.io: Tolerating failures in container image registries This article will show you several ways to ensure your Kubernetes clusters can always pull images even while an upstream registry is failing.
              • blog.px.dev: How etcd works and 6 tips to keep in mind
              • containerjournal.com: Kubernetes\u2019 True Superpower is its Control Plane
              • dev.to: A Deep Dive Into Kubernetes Schema Validation
              • tremolosecurity.com: Pipelines and Kubernetes Authentication The Right Way To Authenticate to Your Clusters From Your CI/CD Pipelines:
                • Don\u2019t use ServiceAccount tokens outside of your cluster
                • Create service accounts inside of your authentication identity provider, assign RBAC privileges
                • Easy with Okta and OpenUnison
              • usepine.com: Improving cert-manager HTTP01 self-check speed This post describes how to improve cert-manager self-check speed, by pointing the cluster to Google nameservers, and disabling DNS caching
              • datree.io: A Deep Dive Into Kubernetes Schema Validation \ud83c\udf1f Great overview of different schema validation tools, incl. server-side ,dry-run\u201c. But I think with tools like kind in CI it\u2019s actually less of a burden to spin up K8s and do proper server-side validation (which catches all issues as mentioned in the post).
              • community.suse.com: Stupid Simple Kubernetes\u200a\u2014\u200aDeployments, Services and Ingresses Explained
              • infracloud.io: Avoiding Kubernetes Cluster Outages with Synthetic Monitoring Synthetic monitoring consists of pre-defined checks to proactively monitor the critical elements in your infrastructure. These checks simulate the functionality of the elements. We can also simulate the communication between the elements to ensure end-to-end connectivity. Continuous monitoring of these checks also helps to measure overall performance in terms of availability and response times.
              • talos-systems.com: Is Vanilla Kubernetes Really Too Heavy For The Raspberry Pi?
              • blog.kintone.io: Tolerating failures in container image registries \ud83c\udf1f
              • thenucleargeeks.com: Taints and Tolerations in Kubernetes
              • devopshubproject/cka-lab This repo contains set of practice questions which will help you to get ready for the cka exam.
              • medium: Run Kubernetes Production Environment on EC2 Spot Instances With Zero Downtime: A Complete Guide
              • shayn-71079.medium.com: Scaling Kubernetes Clusters The below figure presents a schematic diagram of how cluster auto-scaling is done in AWS EKS clusters.
              • itnext.io: Kubernetes Essential Tools: 2021
              • thenewstack.io: Living with Kubernetes: Multicluster Management
              • tigera.io: Comparing kube-proxy modes: iptables or IPVS?
              • fairwinds.com: K8s Clinic: How to Run Kubernetes Securely and Efficiently \ud83c\udf1f
                • With the adoption of containers, software packaging is increasingly shifting left, which means (depending on your organization) that developers are taking on responsibility for the containerization of applications. Developers may also be responsible for some parts of Kubernetes configuration. As that process shifts left, developers need support to make the right decisions for the organization in order to run Kubernetes securely and efficiently.
                • Many companies are adopting cloud native technologies to deliver speed to market. For businesses seeking to compete in today\u2019s marketplace, it\u2019s important to ship new features and meet customer needs where they are \u2014 and increasingly those needs are being met through software.
              • weave.works: Production Ready Checklists for Kubernetes \ud83c\udf1f
              • containerjournal.com: The Rise of the KubeMaster \ud83c\udf1f
                • It wasn\u2019t obvious while it was happening, probably because everyone was focused on dealing with a global pandemic, but your IT environment became more complex. Cloud technology continued to evolve, and while that was happening, cloud use grew. Hybrid cloud use, already growing before the pandemic, became much more established with a year-over-year annual growth rate of 17.8%, according to Quince Market Insights. And with more distinct technology advances from each of the major cloud service providers, multi-cloud use also became more established.
                • This more complex environment encouraged the use of containers, and Kubernetes became the preferred means of managing them. Unfortunately, the great irony of Kubernetes is that the technology created to make the management of modern cloud applications easier is, itself, incredibly difficult to manage. Just to deploy and manage a single application in your own data center requires working familiarity with a Kubernetes distribution and working integrations with a number of supporting systems and enterprise software including code registries, CI/CD, secrets management, storage management, networking, logging and monitoring, service mesh, backup and disaster recovery (DR). That\u2019s just for one environment. In a hybrid infrastructure, perhaps using one of the leading cloud service providers such as AWS, Azure or GCP, you could double this overhead.
                • This rapid growth combined with immense complexity means not every Kubernetes implementation has been successful, and in the worst cases, misconfigurations have led to security breaches and significant application downtime. Overwhelmed teams with insufficient training only make the problem worse, putting these implementations farther behind as Kubernetes management becomes increasingly difficult. As such, I believe the time is now for a new role to emerge in the enterprise\u2014Kubernetes Manager. This is a job function that more and more companies will need to hire as operating and managing Kubernetes becomes a significantly larger part of the engineering operation than ever before. Let me explain.
              • okteto.com: Run your Pull Request Preview Environments on Kubernetes
              • allanjohn909.medium.com: Kubernetes Ingress with Traefik, CertManager, LetsEncrypt and HAProxy
              • asishmm.medium.com: Discussion on Horizontal Pod Autoscaler with a demo on local k8s cluster
              • piotrminkowski.com: Kubernetes Multicluster with Kind and Submariner
              • civo.com: Get up and running with Kubeflow on Civo Kubernetes
              • blog.palark.com: Failure stories #2. How to destroy Elasticsearch while migrating it within Kubernetes
              • dbafromthecold.com: Adjusting pod eviction time in Kubernetes
              • doordash.engineering: Gradual Code Releases Using an In-House Kubernetes Canary Controller Gradual code releases with canary deployments and a custom Kubernetes controller
              • itnext.io: How to deploy a cross-cloud Kubernetes cluster with built-in disaster recovery \ud83c\udf1f
              • getambassador.io: Getting Started with Kubernetes for JavaScript Developers
              • blog.cloudflare.com: Automatic Remediation of Kubernetes Nodes
              • pulumi.com: Kubernetes Fundamentals Part One - Python instead of YAML \ud83c\udf1f
              • ubuntu.com: How to test the latest Kubernetes 1.22 release candidate with MicroK8s
              • thenewstack.io: 10 Steps to a Successful Kubernetes Technical Transformation \ud83c\udf1f
              • medium: Kubernetes Scaling & Replicas \ud83c\udf1f Whenever we talk about \u201cScaling\u201d, we need to discuss the states of the application. There are two types: Stateful and Stateless Applications.
                • Stateful: A stateful application can remember at least some of the things(from the past) about its state when it runs each time. For example: It stores our preferences, keeps track of window size and location, and remembers what files they have opened recently. Their Attributes are:
                  • persistence Storage
                  • gracefully deployment and scaling
                  • gracefully deletion and termination
                  • Automated rolling updates
                • Stateless: A stateless application requests are self-contained, i.e. everything is contained within the request, and handled in two distinct phases - a \u201crequest\u201d and a \u201cresponse.\u201d Their Attributes are:
                  • Scaling can be done independently
                  • Mortal (Kubernetes Pods are mortal. They are born and when they die, they are not resurrected)
                  • No persistence Storage
                  • Client Cookies can be used to make service stateless
              • cncf.io: Advanced Kubernetes pod to node scheduling In this article, you\u2019ll review some of the use cases for advanced pod scheduling in Kubernetes as well as best practices for implementing it in real-world situations.
              • medium: Create A Pod In Kubernetes Cluster Learn what is Pod and how to create a Pod in the Kubernetes cluster.
              • cloudsavvyit.com: How to Scale Docker Containers Across Servers Using Kubernetes
              • Kubernetes. Label and Selector. Important Topic. Identify object in cluster. CKA Exam Tips
              • thenewstack.io: Cloud Foundry Summit: Kubernetes Must Do Better by Developers
              • itnext.io: How to create Kubernetes home lab on an old laptop with K3s
              • itnext.io: How to deploy a single Kubernetes cluster across multiple clouds using k3s and WireGuard
              • itnext.io: How to Add MySql & MongoDB to a Kubernetes .Net Core Microservice Architecture How to add a MySQL DB and a MongoDB replica set in K8S on Docker desktop using persistent volumes and access the databases from ASP.NET Core, C# and Angular
              • itnext.io: Expose Open Policy Agent/Gatekeeper Constraint Violations for Kubernetes Applications with Prometheus and Grafana
              • thenewstack.io: How Airbnb and Twitter Cut Back on Microservice Complexities
              • Some useful and promising Kubernetes projects to follow:
                • submarinerio multicluster direct networking
                • shipwrightio building container images
                • microcksio testing API and messaging
                • telepresenceio development tool
                • k0sproject new Kubernetes distro
              • redkubes.com: DIY Kubernetes-based platform building \u2013 part 3
              • hobby-kube/guide \ud83c\udf1f Kubernetes clusters for the hobbyist. This guide answers the question of how to setup and operate a fully functional, secure Kubernetes cluster on a cloud provider such as Hetzner Cloud, DigitalOcean or Scaleway. It explains how to overcome the lack of external ingress controllers, fully isolated secure private networking and persistent distributed block storage.
              • wecloudpro.com: Watchers in Kubernetes
              • learnk8s.io: Kubernetes wallpapers A collection of free Kubernetes wallpapers for your computer.
              • youtube: Tinder\u2019s Move to Kubernetes - Chris O\u2019Brien & Chris Thomas, Tinder
              • medium: How to enable Kubernetes container RuntimeDefault seccomp profile for all workloads
              • doordash.engineering: Gradual Code Releases Using an In-House Kubernetes Canary Controller
              • infoq.com: Six Tips for Running Scalable Workloads on Kubernetes
              • Assess managed Kubernetes services for your workloads. Managed services from cloud providers can simplify Kubernetes deployment but create some snags in a multi-cloud model. Follow three steps to see if these services can benefit you.
              • itnext.io: Evolution of PaaSes to Platform-as-Code in Kubernetes world
              • medium: Wordpress High Availability on Kubernetes Wordpress is configured to support two separate ingress paths \u2014 a private for edits and a public for read-only traffic. By \u201cread-only\u201d, mean that Wordpress is only able to execute SELECTs on the DB. The HA MySQL cluster is accomplished using oracle\u2019s mysql-operator. This makes it extremely easy to handle the master-slave replication for the DB side of things.
              • cloudfoundry.org: Deploy A Laravel Application To Kubernetes Using Cloud Foundry [ARCHIVED] This tutorial uses the Google Kubernetes Engine (GKE). However, the steps followed in this guide can be applied to Kubernetes clusters running on any cloud provider, as long as Cloud Foundry (cf-for-k8s) has been installed on it. Also, the series of install steps outlined here can function for any \u201ccomposer\u201d based PHP application such as Drupal, Symfony, etc.
              • thenewstack.io: The State of Kubernetes: Key Challenges and the Role of AI
              • learnsteps.com: Basics on Kubernetes: What exactly is a ReplicaSet
              • ithands-on.com: Kubernetes 101 : Switching namespaces
              • juju.is: Kubernetes and cloud native operations report 2021 Data from 1200 respondents on hybrid and multi-cloud operations, Kubernetes, VMs, bare metal, goals, benefits, challenges, operators, advanced usage, edge, and more.
              • medium.com: Tinder\u2019s move to Kubernetes
              • blog.palark.com: Best practices for deploying highly available apps in Kubernetes. Part 1
                • blog.palark.com: Best practices for deploying highly available apps in Kubernetes. Part 2
              • danielmangum.com: How Kubernetes validates custom resources
              • ronaknathani.com: How a Kubernetes Pod Gets an IP Address
              • opensource.com: How the Kubernetes ReplicationController works A ReplicationController is responsible for managing the pod lifecycle and ensuring that the specified number of pods required are running at any given time.
              • containerjournal.com: When is Kubernetes Service Ownership the Right Fit?
                • Why is Kubernetes service ownership emerging as the way for software delivery and operations teams to establish full \u201cownership\u201d of the services they support? Because ownership covers the lifespan of software from development to deployment to the sunsetting process. And this shift to full-spectrum accountability brings about dramatic improvements in the overall speed, reliability, security and cost of applications.
                • Of course, it\u2019s not always easy to determine which organizations need this level of ownership. When businesses grow, they typically discover that pushing the delivery of applications and services through a gate of operations is challenging at best, impossible at worst. Even so, the DevSecOps mindset is on the rise, which means teams are now seeking ways to make this type of shift into more meaningful and effective ownership. It is the shift that enables a deep fundamental change to occur within an organization.
              • itnext.io: Kubernetes \u2014 Running Multiple Container Runtimes In this post, you\u2019ll learn how to run multiple OCI container runtimes on Kubernetes. You will see how to configure containerd to run both runC and Kata Containers
              • iximiuz.com: Why and How to Use containerd from the Command Line
              • medium: Kubernetes for dummies: introduction. Part 1
                • medium: Kubernetes for dummies: the cluster. Part 2
                • itnext.io: Kubernetes for dummies: Life of a Pod. Part 3
              • iximiuz.com: Containers vs. Pods - Taking a Deeper Look All pod\u2019s containers run on the cluster node, their lifecycle is synchronized, and mutual isolation is weakened to simplify the inter-container communication. A deep-dive into how containers work in a Pod.
              • kubermatic.com: The Ultimate Checklist for Running Kubernetes in Production
              • vadosware.io: So you need to wait for some Kubernetes resources? There are at least two ways to wait for Kubernetes resources you probably care about: kubectl wait for Pods, initContainers for everything else
              • vxav.fr: Interacting with containerd runtime for kubernetes
              • medium: Exploring Kubernetes Node Architecture
              • mayankshah.dev: Demystifying kube-proxy
              • arthurchiao.art: Cracking kubernetes node proxy (aka kube-proxy) This post analyzes the Kubernetes node proxy model, and provides 5 demo implementations (within couples of lines of code) of the model, each based on different tech-stacks (userspace/iptables/ipvs/tc-ebpf/sock-ebpf).
              • blog.brujordet.no: Using custom hardware in kubernetes
              • technos.medium.com: Kubernetes Workflow for Absolute Beginners
              • cloud.google.com: The past, present, and future of Kubernetes with Eric Brewer
              • kmitevski.com: Writing a Kubernetes Validating Webhook using Python
              • medium.com/@hinsulak: Multi-node lightweight Kubernetes setup
              • kubernetes.io: Kubernetes is Moving on From Dockershim: Commitments and Next Steps
              • blog.px.dev: Where are my container\u2019s files? Inspecting container filesystems
              • medium.com/codex: How to Deploy WordPress On Kubernetes \u2014 Part 2 Learn how to deploy the WordPress on Kubernetes and connect with MySQL Pod.
              • freecodecamp.org: Learn Kubernetes and Start Containerizing Your Applications
              • komodor.com: Kubernetes Nodes \u2013 The Complete Guide K8s node is a machine that runs containerized workloads as part of a K8s cluster. Node can be physical machine or VM, and hosted on-prem or in the cloud..Cluster can have large number of nodes -upto 5,000 nodes
              • medium.com/techbeatly: Chain of events behind a running Pod What exactly happens behind the scenes when you create a pod/deployment?
              • thenewstack.io: What Does It Take to Manage Hundreds of Kubernetes Clusters?
              • medium.com/pareture: Kubernetes Scaling, Capacity and Resource Planning in Complex Clusters
              • blog.runx.dev: 3 Things I Hate About Kubernetes
              • devopslearners.com: What is a Kubernetes Ephemeral Container?
              • opensource.com: A visual map of a Kubernetes deployment Gain a better understanding of Kubernetes by looking at the 10 steps that take place when you create a pod or a deployment.
              • devopslearners.com: Different Container Runtimes and Configurations in the same Kubernetes Cluster
              • itnext.io: Measuring Patching Cadence on Kubernetes with GitOps
              • thenewstack.io: The Rush to Fix the Kubernetes Failover Problem
              • vidhitakher.medium.com: Understanding the Kubernetes cluster components Component-wise deep-dive into Kubernetes cluster architecture
              • medium.com/@kennethtcp: How to spread replica pods into nodes evenly by topologySpreadConstraints
              • medium.com/@norlin.t: Build a managed Kubernetes cluster from scratch \u2014 part 1
                • medium.com/@norlin.t: Build a managed Kubernetes cluster from scratch \u2014 part 2
                • medium.com/@norlin.t: Build a managed Kubernetes cluster from scratch \u2014 part 3
                • medium.com/@norlin.t: Build a managed Kubernetes cluster from scratch \u2014 part 4 Implementing a first stage of Service Mesh
                • medium.com/@norlin.t: Build a managed Kubernetes cluster from scratch \u2014 part 5
              • topcloudops.com: Kubernetes Security, Rootless Containers Understanding docker and how to run container safely without compromising the host.
              • topcloudops.com: Kubernetes Draining Nodes Properly We describe the best way to drain without downtime
                • itnext.io: Kubernetes Draining Nodes Properly
              • medium.com/devops-mojo: Kubernetes \u2014 Open Standards (OCI, CRI, CNI, CSI, SMI, CPI) Overview
              • itnext.io: Introduction to Kubernetes extensibility
              • faun.pub: Deep into Container \u2014 How Kubernetes works with Container Runtime In this article, you\u2019ll learn how Kubernetes uses the Container Runtime to create containers. You will also discuss different types of container runtimes.
              • blog.axiomio.com: Seven Kubernetes Trends to Watch in Upcoming Years
                • Using deployments
                • RollingUpdate update strategy
                • Spreading pods
                • Pod disruption budgets
              • medium.com/@Paddy_Adallah: How to Choose Kubernetes Platforms for Enterprise Deployments
              • sunnykkc13.medium.com: Deep Dive into Kubernetes
              • medium.com/@issy972: Balancing reliability, cost and performance with Kubernetes
              • imoisharma.medium.com: How Leader election works in Kubernetes\u2014 By M. Sharma In this post, you\u2019ll learn how you can use Kubernetes to easily perform leader elections in your distributed application
              • howtogeek.com: How to Clean Up Old Containers and Images in Your Kubernetes Cluster An active Kubernetes cluster can accumulate old containers and images. Ensuring discarded resources are removed when redundant helps to free up resources on your cluster\u2019s nodes. Here\u2019s how to approach garbage collection in Kubernetes
              • medium.com/blablacar: Operating Node.js in Kubernetes at scale at BlaBlaCar In this case study, you will learn how BlaBlaCar uses CPU and memory metrics and other Kubernetes features to configure scaling for Node.js apps
              • infoworld.com: How to beat the Kubernetes skills shortage While Kubernetes container management is key to digital transformation, Kubernetes talent is in short supply. Follow these 4 strategies of successful companies to fill the gap.
              • blog.kubesimplify.com: DIY: How To Build A Kubernetes Policy Engine With the help of Kubernetes Admission Controller, Go, cert-manager and ko!
              • faun.pub: Git Clone using Init-container | Kubernetes
              • itnext.io: K8s Tips: Accessing the API Server From a Pod Don\u2019t let this happen unless it is really necessary
              • medium.com/@tamerberatcelik: When and why to use Kubernetes?
              • kymidd.medium.com: Let\u2019s Do DevOps: EKS K8s & Python Fuzzy Staging with AWS Secrets Manager, K8s Init disk, Secrets Injection In this tutorial, you\u2019ll learn how to create a python program that uses IAM for Service Account to search for secrets in Secrets Manager and store them in a volume. The script can be used as an init container to inject secrets into any pod.
              • medium.com/@AceTheCloud-Abhishek: 50 Shades of Containers and Kubernetes
              • dev.to: How to make exclusive locks in Kubernetes In this tutorial, you will learn how to protect an application deployed in Kubernetes from any modifications \u2014 except if those modifications are coming from a predefined actor - https://github.com/robert-nemet/klock
              • faun.pub: Optimize Kubernetes Resource Management with Time-To-Live (TTL) for Cleaner Cluster Streamline Kubernetes Resource Management: Learn How to Use Time-To-Live (TTL) to Keep Your Cluster Clean and Optimized.
              • github.com/genuinetools: contained.af A stupid game for learning about containers, capabilities, and syscalls.
              • abhii85.hashnode.dev: How to get started with K8s contributions In this article, you\u2019ll explore how to contribute to the Kubernetes project, discuss the skills you need to get started and learn the best ways to get your first Pull Request accepted
              • itnext.io: Kubernetes Sandbox Environments with Virtual Clusters Achieving strong isolation without sacrificing resource utilization with Virtual Clusters.
              • medium.com/@alexmogfr: ZEvent Place: How we handled 100k+ CCU on a real-time collective canvas In this case study, you will learn how Alexandre & William designed and scaled a Kubernetes cluster to 250k concurrent users for a charity event
              • blog.devgenius.io: DevOps in K8s \u2014 Pod Cgroups DevOps in K8s bootcamp series
                • github.com/metaleapca: metaleap-devops-in-k8s.pdf \ud83c\udf1f\ud83c\udf1f
              • engineering.prezi.com: How to avoid global outage \u2014 Seamlessly migrating DaemonSet labels In this case study, you\u2019ll learn how the team at Prezi managed to update the CSI driver installed as DaemonSet. This required working around the immutable spec.selector.matchLabel and spec.template.metadata.labels fields.
              • medium.com/trendyol-tech: Kubernetes IO Problem Investigation During one of the load tests, the team at Trendyol ran into a latency issue between two APIs deployed in Kubernetes. In this case study, you will learn how the team narrowed down the issue to cAdvisor and IO operations.
              • github.com/kairos-io/kairos: Kairos - Kubernetes-focused, Cloud Native Linux meta-distribution The immutable Linux meta-distribution for edge Kubernetes. With Kairos, you can build immutable, bootable Kubernetes and OS images for your edge devices as easily as writing a Dockerfile. Optional P2P mesh with distributed ledger automates node bootstrapping and coordination.
              • medium.com/@GranulateIntel: The Fundamental Principles of Kubernetes Capacity Management
              • thenewstack.io: Optimizing Kubernetes for Peak Traffic and Avoiding Setbacks Machine learning and automation can help platform teams tame complexity and meet user demand with confidence.
              • tech.bigbasket.com: Atlas: Streamlining BigBasket\u2019s 40+ lines of testing across 80+ Microservices in Non-Production Environments BigBasket\u2019s non-prod setup is complex due to multiple environments and service versions (each service can run multiple versions of itself). Learn how the team solved this with a custom proxy, header-based routing, and automated Nginx config generation.
              • hervekhg.medium.com: 3 years managing Kubernetes clusters, my 10 lessons
              • medium.com/@.anders: Lessons From Our 8 Years Of Kubernetes In Production \u2014 Two Major Cluster Crashes, Ditching Self-Managed, Cutting Cluster Costs, Tooling, And More In this case study, you will find the (hard) lessons learned from running Kubernetes in production for eight years: two major cluster crashes, ditching self-managed offerings, cutting cluster costs, tooling, and more
              • trstringer.com: What Determines if a Kubernetes Node is Ready?
              • medium.com/@bgrant0607: Advantages of storing configuration in container registries rather than git \ud83c\udf1f
              • medium.com/@jainal: Mastering Graceful Shutdown in Distributed Systems and Microservices This article discusses the importance of mastering graceful shutdown in distributed systems and microservices. It provides strategies for implementing graceful shutdown and explains its context in Kubernetes integration.
              • rpadovani.com: How Kubernetes picks which pods to delete during scale-in Have you ever wondered how K8s choose which pods to delete when a deployment is scaled down? Given it is not documented, I dived in the source code to learn.
              "},{"location":"kubernetes/#kubecon","title":"KubeCon","text":"
              • ArgoCon North America 2026 Call for Proposals - (Related to argo topic)

              • silverliningsinfo.com: KubeCon: Five biggest trends from the Kubernetes love fest in Amsterdam

              "},{"location":"kubernetes/#kubeconfig","title":"kubeconfig","text":"
              • medium: Mastering the KUBECONFIG file
              • rcarrata.github.io: Regenerating Kubeconfig for system:admin user in OpenShift clusters You missed your kubeconfig file of your OpenShift cluster? Your dog ate your kubeconfig file? No worries! Let\u2019s regenerate it in a easy and automated way!
              • devopscube.com: Kubeconfig File Explained With Practical Examples \ud83c\udf1f
              • iamunnip.medium.com: Merging kubeconfig Files
              "},{"location":"kubernetes/#kubernetes-manifests","title":"Kubernetes Manifests","text":"
              • medium.com/@yogitakothadia: A Manifest File in Kubernetes Learn the basics of the manifest file in Kubernetes.
              • betterprogramming.pub: Setup Microservices on Kubernetes \u2014 Write a Configuration File Deployed the microservice to Kubernetes
              • faun.pub: Understanding the Kubernetes Manifest
              "},{"location":"kubernetes/#docker-and-kubernetes","title":"Docker and Kubernetes","text":"
              • Docker Hardened Images for Every Developer - (Related to docker topic)

              • kruyt.org: Migrate from Docker to Containerd in Kubernetes

              • opensourcerers.org: How to go from Docker to Kubernetes the right way \ud83c\udf1f
              • loft.sh: Docker Compose to Kubernetes: Step-by-Step Migration \ud83c\udf1f
              • linuxtechi.com: How to Setup Private Docker Registry in Kubernetes (k8s)
              • itnexst.io: Docker and Kubernetes \u2014 root vs. privileged
              • containerjournal.com: Best of 2020: How Docker and Kubernetes Work Together
              • blog.sighup.io: How to run Kubernetes without Docker Sooner or later this moment had to come, and it finally has: Kubernetes is deprecating Docker as a Container Runtime Interface in favor of the other supported runtimes. Let\u2019s try to explain why Docker seems really replaceable.
              • betterprogramming.pub: How to Migrate From Docker Compose to Kubernetes Move your services from docker-compose files to Kubernetes resources and deploy them
              "},{"location":"kubernetes/#kubernetes-vs-docker","title":"Kubernetes vs Docker","text":"
              • cloudify.co: Docker Vs. Kubernetes
              • kinsta.com: Kubernetes vs Docker: The Difference Explained If you\u2019re trying to decide between Docker and #Kubernetes, you\u2019re unlikely to reach a definitive answer. These two technologies are so fundamentally different that you can\u2019t compare them directly.
              "},{"location":"kubernetes/#kubernetes-vs-docker-swarm","title":"Kubernetes vs Docker Swarm","text":"
              • dynatrace.com: Kubernetes vs Docker: What\u2019s the difference?
              • imaginarycloud.com: Docker VS Kubernetes? It should be Docker + Kubernetes
              • decipherzone.com: Kubernetes vs Docker Swarm: A Container Orchestration Tools Comparison
              "},{"location":"kubernetes/#kubernetes-admission-controllers","title":"Kubernetes Admission Controllers","text":"
              • sysdig.com: Kubernetes admission controllers in 5 minutes
              • blog.rewanthtammana.com: Creating Malicious Admission Controllers
              • loft.sh: Kubernetes Admission Controllers: What They Are and Why They Matter
              • kubernetes.io: Using Admission Controllers to Detect Container Drift at Runtime
              • slack.engineering: A Simple Kubernetes Admission Webhook
              • blog.nillsf.com: How to run your own admission controller on Kubernetes
              • medium.com/@visweswara: What are Kubernetes Admission Controllers?
              • medium.com/@jonathan_37674: Kubernetes Admission Controller: The Definitive Guide What is Kubernetes Admission Controller? Kubernetes Admission Controller is an advanced plugin for gating and governing the configuration changes and workload deployment in a cluster.
              • pradeepl.com: Introduction to Kubernetes Admission Controllers Admission controllers are a key component of the admission process performed by the Kubernetes API server. They enable fine-grained control over the object creation, update, and deletion process.
              "},{"location":"kubernetes/#kubernetes-mutating-webhooks","title":"Kubernetes Mutating Webhooks","text":"
              • medium.com/@pflooky: Intro to Kubernetes Mutating Webhooks (get more out of Kubernetes)
                • In its simplest terms, a MutatingWebhookConfiguration defines a webhook application to alter a Kubernetes resource when a particular action is taken on it. For example, if I wanted to add particular labels to all the pods that are created, it could be done by a mutating webhook which watches for all CREATE POD events and adds the labels to that pod before it gets deployed.
                • Why: As the development teams put larger workloads into Kubernetes, managing all of the resources becomes quite difficult as there may be different deployment patterns and life cycles. Mutating webhooks give you the ability to target changes to any Kubernetes resource regardless of their deployment mechanisms and alter them before or after any point within the life cycle.
                • Some use cases where it could be used include:
                  • Metadata management: include useful metadata about team, environment or type of workload to each Kubernetes resource
                  • Attaching sidecar processes: add a log listener to particular pods
                  • Secret management: apply consistent secret retrieval across all resources
                  • Deployment configuration: could add environment variables or configmaps on the fly to pods
              "},{"location":"kubernetes/#kubernetes-cloud-controller-manager","title":"Kubernetes Cloud Controller Manager","text":"
              • medium: The Kubernetes Cloud Controller Manager
              "},{"location":"kubernetes/#kubernetes-resources","title":"Kubernetes Resources","text":"
              • Automated Let\u2019s Encrypt Certificates in Azure Key Vault with ACME Bot - (Related to azure topic)
              • Controlling Process Resources with Linux Control Groups (cgroups) \ud83c\udf1f - 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 - (Related to ai topic)
              • Control Plane Load Balancing Explained \ud83c\udf1f - 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) - (Related to azure topic)

              • medium: Kubernetes Resources \ud83c\udf1f

              • enterprisersproject.com: Managing Kubernetes resources: 5 things to remember Kubernetes automates much of the work of managing containers at scale. But containerized applications commonly share pooled resources, so you need to allocate and manage them properly
              • stackify.com: The Advantages of Using Kubernetes and Docker Together
              • linuxadvise.com: Kubernetes Node Affinity
              • linuxadvise.com: Kubernetes Daemon Sets
              • magalix.com: Team Productivity: Resource Management \ud83c\udf1f Resource Requests, Limits and Quota
              "},{"location":"kubernetes/#kubernetes-pods","title":"Kubernetes Pods","text":"
              • medium.com: kubernetes Pod Priority and Preemption
              • itnext.io: K8s prevent queue worker Pod from being killed during deployment How to prevent a Kubernetes (like RabbitMQ) queue worker Pod from being killed during deployment while handling a message?
              • medium: How to configure and manage Pod in Kubernetes Cluster (K8s) There are two types of Pods: Single container pod & Multi container pod.
              • howtoforge.com: How to create Multi-Container Pods in Kubernetes
              • Discovering Running Pods By Using DNS and Headless Services in Kubernetes When retrieving all service\u2019s connected pods is desired
              • Kubernetes Tip: What Happens To Pods Running On Node That Become Unreachable?
              • medium: Kubernetes Pod Redundancy Strategies
              • medium: Discovering Running Pods By Using DNS and Headless Services in Kubernetes \ud83c\udf1f When retrieving all service\u2019s connected pods is desired.
              • iximiuz.com: Service proxy, pod, sidecar, oh my!
              • linuxadvise.com: Kubernetes Static Pods
              • linuxadvise.com: Kubernetes Pod Security Policy
              • medium: Discovering Running Pods By Using DNS and Headless Services in Kubernetes
              • medium: Notes on Graceful Shutdown in Kubernetes \ud83c\udf1f
              • didil.medium.com: Building a Kubernetes Mutating Admission Webhook A \u201cmagic\u201d way to inject a file into Pod Containers
              • thenucleargeeks.com: Introduction to Kubernetes Pods
              • speakerdeck.com: Kubernetes Pod internals with the fundamentals of Containers
              • kubernetes.io: PodSecurityPolicy Deprecation: Past, Present, and Future \ud83c\udf1f
              • dustinspecker.com: IPVS: How Kubernetes Services Direct Traffic to Pods
              • returngis.net: Organizar los pods en Kubernetes usando taints y tolerations
              • medium: How to Schedule Pods on Nodes in Kubernetes
              • medium: Kubernetes: Evenly Distribution of Pods Across Cluster Nodes |Puru Tuladhar
              • medium: Understanding PodSecurity in Kubernetes
              • blog.searce.com: Single Pod Access Mode for Persistent Volumes on Kubernetes This article will explore a new feature introduced by Kubernetes v1.22, a fourth access mode used for CSI volumes.
              • thecloudblog.net: Kubernetes Container Lifecycle Events and Hooks
              • shramikawale.medium.com: PodsDisruptionBudget: Why you will need in Kubernetes? PodDisruptionBudget is quite important if your team has an Service Level Agreement (SLA). Granted, it is not absolutely mandatory as we discussed before - if the cluster you manage has enough spare capacity in CPU/memory, the rollout can uneventfully finish without impacting the workload more often than not. Nevertheless, it is still a recommended approach to have control in the event of a voluntary disruption.
              • bytes.devopscube.com: Kubernetes Pod Priority & Preemption Pod priority is a Kubernetes scheduling feature that allows Kubernetes to make scheduling decisions comparing other pods based on priority number. To assign a pod a certain priority, you need a priority class.
              • aws.plainenglish.io: Pods in Kubernetes \u2014 The Smallest Deployable Units of Computing \ud83c\udf1f Understand the basics of pods including the pods\u2019 lifecycle in Kubernetes
              • chrisedrego.medium.com: Power of PriorityClass in Kubernetes \ud83c\udf1f PriorityClass ensures that production or mission-critical workloads are allocated resources/nodes on priority over other non-critical resources
              • devopslearners.com: Kubernetes Pod Priority, PriorityClass, and Preemption Explained \ud83c\udf1f
              • medium.com/@r_chan: Kubernetes Pods Termination Lifecycle
              • betterprogramming.pub: Understanding Kubernetes Multi-Container Pod Patterns A guide to Sidecar, Ambassador, and Adapter patterns with hands-on examples.
              • medium.com/@danielaaronw: K8s Pod Anti-affinity How to ensure high availability when scheduling pods on a kubernetes cluster.
              • mouliveera.medium.com: How to update configmap on POD without restart
              • devopscube.com: Kubernetes Pod Priority, PriorityClass, and Preemption Explained \ud83c\udf1f
              • medium.com/@meng.yan: What Happens When Deleting a Pod
              • itnext.io: Kubernetes Graceful Shutdown | Daniele Polencic \ud83c\udf1f - community.ops.io: How do you gracefully shut down Pods in Kubernetes? Get tips on smoothly decommissioning your k8s pods. In this article, you will learn what happens when a pod is deleted (voluntarily or not) in the cluster and how Kubernetes handles graceful shutdown.
              • nunoadrego.com: Abusing Pod Priority Pod Priority can be useful for some use cases, such as prioritizing critical applications, but definitely can catch you off guard if you don\u2019t have the right guardrails in place. This post illustrates the potential consequences of not having them.
              • blog.devgenius.io: DevOps in K8s \u2014 Pod Downward API The K8s Downward API is a feature that allows containers running in a pod to access metadata about themselves and the pod they are running in. This metadata can be exposed as environment variables or as files within the container\u2019s file system.
              • itnext.io: POD rebalancing and allocations in kubernetes | Daniele Polencic \ud83c\udf1f\ud83c\udf1f Does Kubernetes rebalance your Pods? If there\u2019s a node that has more space, does Kubernetes recompute and balance the workloads?
              • kubernetes.io: Protect Your Mission-Critical Pods From Eviction With PriorityClass Pod priority and preemption help to make sure that mission-critical pods are up in the event of a resource crunch by deciding order of scheduling and eviction.
              • neonmirrors.net: Reducing Pod Volume Update Times Changes to a Secret of ConfigMap mounted into a pod can take 60 to 90 seconds to propagate to the container. In this article, you\u2019ll discuss how you could speed up the process with a Kyverno policy.
              • itnext.io: Kubernetes Scheduler Deep Dive | Daniele Polencic
              • kubernetes.io: configure-pod-container / Use a User Namespace With a Pod
              • InPlacePodVerticalScaling (kubernetes v1.27): ==engineering.doit.com: No Restarts, No Disruptions: Seamless Pod Resource updates with In-Place Resizing Kubernetes v1.27 introduces InPlacePodVerticalScaling, allowing seamless pod resource resizing without restarts. This feature enhances efficiency, reduces downtime, and offers cost savings
              • devopscube.com/kubernetes-pod What is Kubernetes Pod? Explained With Practical Examples
              "},{"location":"kubernetes/#kubernetes-configmaps","title":"Kubernetes ConfigMaps","text":"
              • blog.palark.com: ConfigMaps in Kubernetes: how they work and what you should remember \ud83c\udf1f
              • medium: ConfigMaps in Kubernetes (K8s)
              • itnext.io: Working with kubernetes configmaps, part 1: volume mounts
                • itnext.io: Working with kubernetes configmaps, part 2: Watchers
              • blog.gopaddle.io: Strange things you never knew about Kubernetes ConfigMaps on day one \ud83c\udf1f\ud83c\udf1f
              • k21academy.com: Kubernetes ConfigMaps and Secrets: Guide to Create and Update \ud83c\udf1f
              • kubermatic.com: Keeping the State of Apps Part 3: Introduction to ConfigMaps \ud83c\udf1f
              • medium.com/codex: Kubernetes ConfigMaps Explained
              • linuxadvise.com: Kubernetes Config Maps
              • aditya-sunjava.medium.com: Externalizing Configurations in Kubernetes Using ConfigMap and Secret
              • thenewstack.io: How to Make the Most of Kubernetes Environment VariablesEnvironment variables play an important role in Kubernetes. You can use them not only to provide basic information about the operating system to your application, but also as the main configuration mechanism for your pods or for passing sensitive information. It\u2019s not uncommon in Kubernetes to extract as much configuration as possible as info ConfigMaps and environment variables to keep your Docker images as generic as possible. As you can see, even something simple like environment variables have a few options in Kubernetes.
              • medium.com/@shrishtishreya: Kubernetes ConfigMaps Explained A ConfigMap is an API object that lets you store configuration for other objects to use. Unlike most Kubernetes objects that have a spec, a ConfigMap has data and binaryData fields.
              • medium.com/open-devops-academy: Learn Kubernetes: ConfigMap \u2014 Inject the values of a ConfigMap in a container as a volume
              • thorsten-hans.com: Hot-Reload .NET Configuration in Kubernetes with ConfigMaps
              • devopsparthu.hashnode.dev: Day 35: Mastering ConfigMaps and Secrets in Kubernetes
              "},{"location":"kubernetes/#kubernetes-secrets","title":"Kubernetes Secrets","text":"
              • linuxadvise.com: Kubernetes Secrets
              • https://blog.newrelic.com/engineering/how-to-use-kubernetes-secrets/
              • mixi-developers.mixi.co.jp: Comparing External Secrets Operator with Secret Storage CSI as Kubernetes External Secrets is Deprecated In this article, you will compare the External Secrets Operator with Secret Storage CSI for using external secrets in a Kubernetes cluster. You will compare:
                • Architecture
                • Authorization management
                • Resource usage
                • GitOps friendliness
              • medium.com/4th-coffee: State of Kubernetes Secrets Management in 2022
              • auth0.com: Shhhh\u2026 Kubernetes Secrets Are Not Really Secret! Learn how to setup secure secrets on Kubernetes using Sealed Secrets, External Secrets Operator, and Secrets Store CSI driver. Sealed Secrets is a great solution to secure secrets in Git. For larger teams and projects, the External Secrets Operator or the Secrets Store CSI Driver is a better solution to manage secrets securely. Learn the pros and cons in this article.
              • faun.pub: Encrypting Kubernetes Secrets at Rest A guideline to encrypt kubernetes secrets data.
              • vinothecloudone.medium.com: Kubernetes Configuration Patterns 101
              • levelup.gitconnected.com: Kubernetes 101: Secrets
              "},{"location":"kubernetes/#kubernetes-volumes","title":"Kubernetes Volumes","text":"
              • Kubernetes Storage - Volumes
              • Searchable list of Kubernetes Storage Providers
              "},{"location":"kubernetes/#kubernetes-namespaces-and-multi-tenancy-self-service-namespaces","title":"Kubernetes Namespaces and Multi Tenancy. Self Service Namespaces","text":"
              • Self-Service Kubernetes Namespaces Are A Game-Changer \ud83c\udf1f
              • qvault.io: How to Restart All Pods in a Kubernetes Namespace
              • medium: How to create Namespaces in Kubernetes? \ud83c\udf1f
              • starwindsoftware.com: Remove a Kubernetes namespace blocked with Terminating status
              • opensource.com: Configure multi-tenancy with Kubernetes namespaces \ud83c\udf1f Namespaces provide basic building blocks of access control for applications, users, or groups of users.
              • Kubernetes Hierarchical Namespace Controller (slides from Kubernetes Multitenancy Working Group) \ud83c\udf1f
              • kubernetes.io: Introducing Hierarchical Namespaces
              • Hierarchical namespaces make it easier to share your Kubernetes cluster. For example, you can create additional namespaces under your team\u2019s namespace, even if you don\u2019t have cluster-level permission to create namespaces
              • medium: Kubernetes Multi-Tenancy \u2014 A Best Practices Guide \ud83c\udf1f
              • vamsitalkstech.com: Kubernetes Multi-tenancy Best Practices & Architecture Model..(2/2)
              • loft.sh: Kubernetes Multi-Tenancy: Why Virtual Clusters Are The Best Solution
              • kubesphere.io: Kubernetes Multi-tenancy in KubeSphere [ARCHIVED]
              • kubernetes.io: Three Tenancy Models For Kubernetes What are your tenancy options with Kubernetes? This post calls out three: by namespace, by cluster, by control plane.
              • thenewstack.io: Avoiding the Pitfalls of Multitenancy in Kubernetes
              • blog.sighup.io: Hierarchical Namespace Controller (HNC): a look into the future of Kubernetes Multitenancy Hierarchical Namespace Controller (HNC) is bringing a better multi-tenancy model to Kubernetes. In this article we are exploring the current state of the project and useful use-cases.
              • vamsitalkstech.com: Introduction to Kubernetes Multi-tenancy..(\u00bd)
              • asonisg.medium.com: Multi-tenancy with Kubernetes (Part-1)
              • openshift.com: The Hidden Dangers of Terminating Namespaces \ud83c\udf1f
              • medium: Kubernetes Namespaces vs. Virtual Clusters
              • engineering.salesforce.com: Project Agumbe: Share Objects Across Namespaces in Kubernetes \ud83c\udf1f
              • p3r.one: Delete namespace stuck in Terminating State
              • loft.sh: Multi-Tenant Kubernetes Clusters: Challenges and Useful Tooling
              • infracloud.io: Introduction to Multi-Tenancy in Kubernetes
              • redhat.com: Kubernetes architecture: How to use hierarchical namespaces for multiple tenants Hierarchical namespaces make it easier to manage individual tenants\u2019 permissions and capabilities in a multi-tenant Kuberentes architecture.
              • kubernetes.io: Multi-tenancy \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
              • thinksys.com: Understanding Multi-Tenancy in Kubernetes \ud83c\udf1f
              • doordash.engineering: Fast Feedback Loop for Kubernetes Product Development in a Production Environment
              • towardsaws.com: Kubernetes Multi-Tenancy Approach Using Minikube For Demonstration. In this article, you\u2019ll compare 2 approaches to multi-tenancy:
                • Using RBAC and namespaces
                • Using the Capsule operator
              • loft.sh: 10 Essentials For Kubernetes Multi-Tenancy
                • Resource Limits
                • Cost Tracking
                • Audit Logging
                • Network Policies
                • RBAC
                • Virtual Clusters
                • Pod Security
                • Usage Metrics
                • Secrets Encryption at Rest
                • Policy Engines
              • medium.com/@het.trivedi05: Designing Multi-Tenant Applications on Kubernetes
              • blog.joshgav.com: Clusters for all! - 16 May 2022 on Multitenancy, Clusters In this article you will compare different tools for multitenancy in Kubernetes:
                • vcluster
                • Cluster API Provider Nested (CAPN)
                • HyperShift
                • kcp
              • divya-mohan0209.medium.com: Mo\u2019 tenancy, Mo\u2019 problems. A curated (but not exhaustive) list of FOSS projects addressing multi-tenancy challenges in K8s.
              • cast.ai: Kubernetes Namespace: How To Use It To Organize And Optimize Costs
              • medium.com/adeo-tech: A walkthrough guide for Multi-Tenancy with GKE
              • itnext.io: Multi-Tenancy in Kubernetes | Daniele Polencic \ud83c\udf1f\ud83c\udf1f
              • faun.pub: Hierarchical Namespaces in Kubernetes
              • blog.jessfraz.com: Hard Multi-Tenancy in Kubernetes (2018)
              "},{"location":"kubernetes/#kiosk-multi-tenancy-extension-for-kubernetes","title":"Kiosk Multi-Tenancy Extension for Kubernetes","text":"
              • loft-sh/kiosk kiosk Multi-Tenancy Extension For Kubernetes - Secure Cluster Sharing & Self-Service Namespace Provisioning.
              • Kubernetes is designed as a single-tenant platform, which makes it hard for cluster admins to host multiple tenants in a single Kubernetes cluster. However, sharing a cluster has many advantages, e.g. more efficient resource utilization, less admin/configuration effort or easier sharing of cluster-internal resources among different tenants.
              • While there are hundreds of ways of setting up multi-tenant Kubernetes clusters and many Kubernetes distributions provide their own tenancy logic, there is no lightweight, pluggable and customizable solution that allows admins to easily add multi-tenancy capabilities to any standard Kubernetes cluster.
              "},{"location":"kubernetes/#creating-users","title":"Creating Users","text":"
              • cloudhero.io Creating Users for your Kubernetes Cluster. Learn how to use x509 certificates to authenticate users in your cluster.
              "},{"location":"kubernetes/#kubernetes-labels-and-selectors","title":"Kubernetes Labels and Selectors","text":"
              • Centralized Add-on Management Across N Kubernetes Clusters - This article discusses a centralized management approach using selectors to streamline add-on deployments and simplify Kubernetes multi-cluster management, addressing the complexity of managing distributed clusters across various environments.

              • sandeepbaldawa.medium.com: K8s Labels & Selectors In this post, we will look at What Kubernetes(K8s) Labels and Selectors are, Why do we need them, How to use them.

              • blog.kubecost.com: The Guide to Kubernetes Labels
              • millionvisit.blogspot.com: Kubernetes for Developers #8: Kubernetes Object Name, Labels, Selectors and Namespace
              • millionvisit.blogspot.com: Kubernetes for Developers #11: Pod Organization using Labels
              • linuxadvise.com: Kubernetes Node Selectors
              • ithands-on.com: Kubernetes 101 : Changing a Pod\u2019s label on the fly
              • blog.newrelic.com: Kubernetes Fundamentals, Part 4: How to Organize Clusters
              • cast.ai: Kubernetes Labels: Expert Guide with 10 Best Practices With Kubernetes labels, DevOps teams can troubleshoot issues faster, apply configuration changes en masse, and respond quickly to issues. Labels also give crucial insights into your costs, boosting your monitoring, allocation, and management capabilities. Following best practices when using labels helps you realize tremendous benefits from infrastructure visibility and efficient operations.
              • itnext.io: Labels & Annotations in Kubernetes | Daniele Polencic In Kubernetes, you can use labels to assign key-value pairs to any resources. Labels are ubiquitous and necessary to everyday operations such as creating services. However, how should you name and use those labels? - dev.to: Labels and annotations in Kubernetes
              "},{"location":"kubernetes/#kubernetes-taints-and-tolerations","title":"Kubernetes Taints and Tolerations","text":"
              • thenucleargeeks.com: Taints and Tolerations in Kubernetes
              • faun.pub: Taints And Toleration Basics In Kubernetes
              • blog.learncodeonline.in: Kubernetes Scheduling - Taints and Tolerations
              • kamsjec.medium.com: Kubernetes Taints and Tolerations
              • trstringer.com: Kubernetes Taints, Tolerations, and Understanding the PreferNoSchedule Effect
              • medium.com/@sam.euchaliptus: Tolerations & NodeAffinity for Deterministic Pod Scheduling in Kubernetes A pod relies on the Kubernetes scheduler to be placed in a node. This article explains how you can influence allocation decisions with tolerations and node affinity.
              "},{"location":"kubernetes/#kubernetes-deployment-replicaset-rollling-updates-and-rollbacks","title":"Kubernetes Deployment, ReplicaSet, Rollling Updates and Rollbacks","text":"
              • medium: How to Deploy a Web Application with Kubernetes Learn how to create a Kubernetes cluster from scratch and deploy a web application (SPA+API) in two hours.
              • itnext.io: Kubernetes rolling updates, rollbacks and multi-environments
              • linuxadvise.com: Kubernetes Rolling Updates and Rollbacks
              • medium: How Rolling and Rollback Deployments work in Kubernetes
              • medium: Kubernetes Deployment \u2014 Rolling Updates and Rollbacks Explained Learn how to update the application once created a Deployment in the Kubernetes cluster and how to rollback.
              • thenewstack.io: How do applications run on kubernetes?
              • deepsource.io: Breaking down zero downtime deployments in Kubernetes An in-depth analysis of deployments in Kubernetes
              • k21academy.com: Kubernetes Deployment and Step-by-Step Guide to Deployment: Update, Rollback, Scale & Delete
              • medium: Kubernetes Deployment: Connect Your Front End to Your Back End With Nginx
              • mirantis.com: Introduction to YAML: Creating a Kubernetes deployment
              • medium: Kubernetes Deployment Explained Learn what is Deployment in the Kubernetes cluster and learn the advantages of the Deployment object.
              • learnk8s.io: Graceful shutdown and zero downtime deployments in Kubernetes In this article, you will learn how to prevent broken connections when a Pod starts up or shuts down. You will also learn how to shut down long-running tasks gracefully.
              • thoughtbot.com: Zero Downtime Rails Deployments with Kubernetes
              • medium: Deployment types in Kubernetes
              • hackernoon.com: How To Deploy Code Faster Using Kubernetes
              • fosstechnix.com: Rolling out and Rolling back updates with Zero Downtime on Kubernetes Cluster
              • medium: 5 Things We Overlooked When Deploying Our First App on Kubernetes
              • Our Journey to Zero Downtime Rolling Updates with Ambassador In this article you will cover: How Kubernetes lifecycle hooks can be used to shutdown applications gracefully. How pods are removed from the system and why it is necessary to understand and carefully handle the shutdown sequence appropriately.
              • medium: Kubernetes Tip: How Statefulsets Behave Differently Than Deployments When Node Fails? What happens to the Pods when a node fails in Kubernetes?
              • learnsteps.com: Basics on Kubernetes: What exactly is a deployment?
              • polarsquad.com: Check your Kubernetes deployments!
              • yankeexe.medium.com: How Rolling and Rollback Deployments work in Kubernetes
              • medium.com/okteto: Beginner\u2019s Guide to Kubernetes Deployments
              • blog.devgenius.io: Zero downtime deployment with Kubernetes using Rolling update Strategy
              • dinushad92.medium.com: Building a resilient deployment on Kubernetes-part 3: Keep the deployment up to date with the latest releases In this article, you\u2019ll learn the two strategies to update a Kubernetes deployment and their benefits:
                • Rolling update
                • Recreate
              • medium.com/@chamakenjefi: Kubernetes deployments using a ConfigMap with a custom index.html page
              • medium.com/@vrnvav97: Canary Deployment in Kubernetes 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
              • medium.com/@the.nick.miller: Custom Deployments with Kubernetes
              • amolmote.hashnode.dev: ReplicaSet & Deployment In Kubernetes \ud83c\udf1f In this article, you\u2019ll 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 \ud83c\udf1f
              • teplyheng.medium.com: In-depth understanding of Deployments in Kubernetes When running apps on Kubernetes, most of you must have used Deployments to manage ReplicaSet and Pods. However, it\u2019s hard to say that we\u2019ve used Deployments effectively.
              • routerhan.medium.com: Understanding Kubernetes Deployment \u2014 A Beginner\u2019s Guide In K8s, a Deployment is a resource object that defines the desired state of an app or workload. It provides a way to declaratively manage the deployment & scaling of containerized apps.
              • blog.devgenius.io: Blue Green Deployment with Kubernetes
              • itnext.io: Sticky sessions canary releases in kubernetes Daniele Polencic Sticky sessions or session affinity is a convenient strategy to keep subsequent requests always reaching the same pod.
              • learnk8s.io: How do you rollback deployments in Kubernetes? \ud83c\udf1f
              "},{"location":"kubernetes/#kubernetes-statefulset","title":"Kubernetes StatefulSet","text":"
              • medium: Kubernetes \u2014 Difference between Deployment and StatefulSet in K8s
              • kubermatic.com: Keeping the State of Apps 6: Introduction to StatefulSets
              • loft.sh: Kubernetes StatefulSet - Examples & Best Practices
                • loft-sh.medium.com: Kubernetes StatefulSet \u2014 Examples & Best Practices
              • tom-sapak.medium.com: Deployment vs. StatefulSet for stateful applications
              • itnext.io: Kubernetes StatefulSet Initialization with Unique Configs per Pod How to mount a unique configuration per pod for a stateful application (e.g. how to mount separate configurations for master and slave database pods)
              • niravshah2705.medium.com: Play with volume for statefulsets Unlike Deployments, StatefulSets require some special care if you want to:
                • Increase the available storage space
                • Move the data to another zone or region
              • medium.com/@arton.demaku: Managing Stateful Applications with Kubernetes StatefulSets
              "},{"location":"kubernetes/#kubernetes-daemonsets","title":"Kubernetes DaemonSets","text":"
              • Getting a shell on each node Learn how you can use a DaemonSet to expose an SSH shell on each node of your cluster (even if you don\u2019t have SSH installed)
              • thenewstack.io: Kubernetes DaemonSets: A Detailed Introductory Tutorial
              • blog.learncodeonline.in: Kubernetes Scheduling - DaemonSet What is Kubernetes Daemon Set! How it is different from ReplicaSet!
              "},{"location":"kubernetes/#kubernetes-jobs-and-cron-jobs","title":"Kubernetes Jobs and Cron Jobs","text":"
              • ithands-on.com: Kubernetes 101 : Performing tasks in kubernetes - Jobs
              • How we learned to improve Kubernetes CronJobs at Scale (Part 1 of 2)
                • How we learned to improve Kubernetes CronJobs at Scale (Part 2 of 2)
              • opensource.com: A beginner\u2019s guide to Kubernetes Jobs and CronJobs Use Jobs and CronJobs to control and manage Kubernetes pods and containers.
              • medium: Jobs & Cronjobs in Kubernetes Cluster
              • devopscube.com: How To Create Kubernetes Jobs/Cron Jobs \u2013 Getting Started Guide
              • medium.com/geekculture: Setup a CronJob to execute Kubectl or AWS commands Kubernetes Tricks | AWS CLI | CronJob | Secrets | Backup Databases | Postgres Backup in Kubernetes
              • dwdraju.medium.com: Kubernetes Job or CronJob: Which One to Use and When? \ud83c\udf1f
              • blog.devgenius.io: K8s \u2014 Why Use Job Instead of Pod Directly?
              • medium.com/kudos-engineering: Migrating our cron jobs to Kubernetes In this case study, you will learn how the Engineering team at Kudos migrated all of their scheduled tasks to Kubernetes CronJobs
              • kubernetes-sigs/kueue: Kubernetes-native Job Queueing Kueue is a set of APIs and controller for job queueing. It is a job-level manager that decides when a job should be admitted to start (as in pods can be created) and when it should stop (as in active pods should be deleted).
              • spacelift.io: CronJob in Kubernetes \u2013 Automating Tasks on a Schedule
              • medium.com/@abhinav.ittekot: Running Kubernetes jobs with sidecar containers
              • github.com/alexellis/run-job Run a Kubernetes Job and get the logs when it\u2019s done \ud83c\udfc3\u200d\u2642\ufe0f
              • blog.devops.dev: Understanding Jobs and CronJobs in Kubernetes
              • infoq.com: The Great Lambda Migration to Kubernetes Jobs\u2014a Journey in Three Parts \ud83c\udf1f
              "},{"location":"kubernetes/#kubernetes-services","title":"Kubernetes Services","text":"
              • blog.alexellis.io: A Primer: Accessing services in Kubernetes Learn how to access your applications on Kubernetes and the differences between a LoadBalancer, NodePort, port-forwarding and Ingress through examples
              • faun.pub: Kubernetes \u2014 Active/Passive Load Balancing with Services There can be a number of reasons one might want to do active/passive load balancing, for example licensing constraints, etc. In this article, you will learn how to do so in Kubernetes using labels and services
              • harness.io: Kubernetes Services Explained \ud83c\udf1f This tutorial will explain the difference between four Kubernetes service types, and how you should choose the best one for your application.
              • devineer.medium.com: Kubernetes Services Explained
                • How Kubernetes solves Service Discovery
                • How a Load Balancer Service provisions a (cloud) Load Balancer
                • How a production-ready Kubernetes cluster exposes its apps
                • The difference between Ingress & Ingress controllers
              • whyk8s.substack.com: Why Services? Could Kubernetes have been built with only Pods and Deployments? What do load balancers and DNS have to do with it?
              • medium.com/@ankitrai_13207: Kubernetes: Deployment & Service
              • betterprogramming.pub: An Overview to Kubernetes Services Know the different types of Kubernetes Services and Ingress controllers
              • nitishblog.hashnode.dev: Kubernetes Services - Your way to connect with your application In this post, you\u2019ll take a closer look at what are Kubernetes services and how they help you to connect with your application running on various Pods. The article includes a complete hands-on demo for a better understanding of Kubernetes Services
              • sumanprasad.hashnode.dev: Everything About Kubernetes Services - Discovery, Load Balancing, Networking
              • dev.to/vromanov: Kubernetes Services \ud83c\udf1f This article provides an in-depth overview of Kubernetes Services: ClusterIP, LoadBalancer, Headless, and NodePort services. It explains how those facilitate IP assignment, load balancing, and direct communication with specific pods within a cluster.
              • blog.devops.dev: Kubernetes Services: Explained with Examples
              "},{"location":"kubernetes/#kubernetes-deployment-strategies","title":"Kubernetes Deployment Strategies","text":"
              • youtube: deployment strategies in kubernetes | recreate | rolling update | blue/green | canary
              • auth0.com: Deployment Strategies In Kubernetes Learn what are the different deployment strategies available in Kubernetes and how to use them.
              • educative.io: A deep dive into Kubernetes Deployment strategies
              • weave.works: Kubernetes Deployment Strategies \ud83c\udf1f
              • medium.com: Kubernetes Canary Deployment #1 Gitlab CI
              • semaphoreci.com: Continuous Blue-Green Deployments With Kubernetes
              • medium: Fully automated canary deployments in Kubernetes
              • auth0.com: Deployment Strategies In Kubernetes Learn what are the different deployment strategies available in Kubernetes and how to use them.
              • blog.knoldus.com: Introduction to Kubernetes Deployment Strategies
                • blog.knoldus.com: Introduction to Kubernetes Deployment Strategies \u2013 Part 2
                • medium.com/@knoldus: Introduction to Kubernetes Deployment Strategies \u2014 Part 3
              • dzone: Advanced Kubernetes Deployment Strategies This article reviews concepts in Kubernetes deployment, as well as delves into various advanced Kubernetes deployment strategies, pros and cons, and use cases.
              • blog.devgenius.io: Kubernetes Blue-Green Deployment
              • prakashkumar0301.medium.com: Blue-Green Deployment with Kubernetes
              • emirayhan.medium.com: Kubernetes (k8s) Deployment Strategies
              • faun.pub: Kubernetes Deployment Strategies In this post, we will delve into Kubernetes (K8s) deployment concepts and some common strategies, looking at the advantages and disadvantages of each. A suitable deployment strategy enables you to minimize downtime, enhance your customer experience, and increase reliability when releasing your application.
              • blog.devgenius.io: Kubernetes Deployment Strategy Explained \ud83c\udf1f
              • developers.redhat.com: Run the Canary Deployment pattern on Kubernetes \ud83c\udf1f In this activity, you will use basic Kubernetes skills to understand and implement the Canary Deployment.
              • blog.werf.io: Canary releases in Kubernetes based on Ingress-NGINX Controller
              • medium.com/@bubu.tripathy: Blue-Green Deployment using Kubernetes
              • blog.developersteve.com: Canary Deployments in Kubernetes: Safely Releasing New Features with Confidence
              "},{"location":"kubernetes/#kubernetes-api","title":"Kubernetes API","text":"
              • kubernetes.io: Kubernetes API
              • thenewstack.io: Living with Kubernetes: API Lifecycles and You
              • blog.tilt.dev: Kubernetes is so Simple You Can Explore it with Curl
              • learndevops.substack.com: Hitting prometheus API with curl and jq \ud83c\udf1f Determine offending pods that use more RAM than requested, causing OOM, with Prometheus and jq.
              • thenewstack.io: Kubernetes Is Not Just About Containers \u2014 It\u2019s About the API \ud83c\udf1f
              • kubernetes.io: Alpha in Kubernetes v1.22: API Server Tracing
              • evancordell.com: 16 things you didn\u2019t know about Kube APIs and CRDs
              • martinheinz.dev: Could Kubernetes Pods Ever Become Deprecated? \ud83c\udf1f Could a core object or API in Kubernetes, such as Pod, Deployment or Service be removed and if so, how would that go?
              • trstringer.com: Discover Kubernetes API Calls from kubectl
              • iximiuz.com: Working with Kubernetes API - Resources, Kinds, and Objects
              • iximiuz.com: How To Call Kubernetes API using Simple HTTP Client \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f The new kubectl create token command is pretty handy! Updated the article with the simplified way to call the Kubernetes API with curl (or alike).

                • How to get the API server address
                • How to authenticate API server to clients
                • How to authenticate clients to API server
                • How to call Kubernetes API from Pods
                • CRUD operations on resources with cURL
                • And more!
              • iximiuz.com: Working with Kubernetes API If you are working in Go with the Kubernetes API, these articles are pure gold. Get the full difference between resources and kinds.

              • iximiuz.com: How To Extend Kubernetes API - Kubernetes vs. Django In this article, you\u2019ll learn how to extend Kubernetes API with:
                • Kubernetes Custom Resources
                • Kubernetes Custom Controllers
                • Kubernetes Admission Webhooks
              • dev.to: The Kubernetes API architecture | Daniele Polencic \ud83c\udf1f
              • medium.com/cp-massive-programming: Kubernetes API Server Discovery A little excursion into the Kubernetes API server
              • itnext.io: Working with the kubernetes API | Daniele Polencic \ud83c\udf1f Working with Kubernetes API. Learn how to navigate and issue requests to the Kubernetes API with curl or your favourite programming language. Kubernetes exposes a robust API that lets you control every aspect of the cluster. Most of the time, it\u2019s hidden behind kubectl. But, you can also use the K8s API directly. Find out how in this post.
              • medium.com/linux-shots: Find Deprecated API Resources used in a Kubernetes Cluster In this article, you will discuss the challenges of how to upgrade clusters with breaking changes and use kube-no-trouble to test the upgrade path.
              • blog.jimmyray.io: Discover K8s Through Its APIs In this article, you will learn how to use the Kubernetes APIs through the Swagger UI. You will learn how to retrieve the full config for the kubelet, as well as how to use gron for easier JSON processing.
              "},{"location":"kubernetes/#multi-cluster-services-api","title":"Multi-Cluster Services API","text":"
              • thenewstack.io: Extending Kubernetes Services with Multi-Cluster Services API
              • kubernetes.io: Introducing ClusterClass and Managed Topologies in Cluster API The Cluster API community is happy to announce the implementation of ClusterClass and Managed Topologies, a new feature that will greatly simplify how you can provision, upgrade, and operate multiple Kubernetes clusters in a declarative way.
              "},{"location":"kubernetes/#kubernetes-health-checksprobes-startup-liveness-readiness","title":"Kubernetes Health Checks/Probes. Startup, Liveness, Readiness","text":"
              • medium: How to Perform Health checks in Kubernetes (K8s)
              • If you have a livenessProbe that takes over one second, it\u2019ll fail when you update to kubernetes 1.20, because a long-standing bug with how the default was handled has been fixed. You must override the ExecProbeTimeout if your probe takes more than 1s
              • Liveness and Readiness Probes for Kubernetes in Phoenix application
              • Kubernetes Liveness and Readiness Probes
              • loft.sh: Kubernetes Readiness Probes - Examples & Common Pitfalls
              • millionvisit.blogspot.com: Kubernetes for Developers #12: Effective way of using K8 Liveness Probe
              • millionvisit.blogspot.com: Kubernetes for Developers #13: Effective way of using K8 Readiness Probe
              • andrewlock.net: Deploying ASP.NET Core applications to Kubernetes - Part 6 - Adding health checks with Liveness, Readiness, and Startup probes
              • itnext.io: Kubernetes Probes: Startup, Liveness, Readiness
              • itnext.io: Kubernetes Readiness Probes \u2014 Examples & Common Pitfalls
              • youtube: Kubernetes 101: Get Better Uptime with K8s Health Checks
              • returngis.net: Pruebas de vida de nuestros contenedores en Kubernetes
              • blog.newrelic.com: Kubernetes Fundamentals, Part 2: How to Use Health Checks
              • komodor.com: Kubernetes Liveness Probes: A Practical Guide
              • martinheinz.dev: Improving Application Availability with Pod Readiness Gates Making sure your app running in Kubernetes is available and ready to serve traffic can be easy with Pod liveness and readiness probes. However, not all applications are built to use probes. Is there any solution for when Pod probes aren\u2019t enough?
              • thenewstack.io: Kubernetes Health Checks Using Probes
              • faun.pub: Straight to the Point: Kubernetes Probes Both readiness and liveness probe run in parallel throughout the life of a container. Use the liveness probe to detect an internal failure and restart the container (e.g. HTTP server down). Use the readiness probe to detect if you can serve traffic (e.g. established DB connection) and wait (not restart) for the container. A dead container is also not a ready container. To serve traffic, all containers within a pod must be ready.
              • guyzsarun.medium.com: Kubernetes Liveness, Readiness Probe Explained
              • hmh.engineering: Dive into Kubernetes Healthchecks (part 1) \ud83c\udf1f In this article, you\u2019ll learn about health checks and:
                • How Kubernetes validates the state of your app
                • How to troubleshoot common issues
                • How to configure the deployment manifest of your application to efficiently report its state
                • hmh.engineering: Dive into Kubernetes Healthchecks (part 2)
              • medium.com/devops-mojo: Kubernetes \u2014 Probes (Liveness, Readiness, and Startup) Overview Introduction to Types of Probes and Configure Health Checks using Probes in Kubernetes.
              • doordash.engineering: How to Handle Kubernetes Health Checks In this article, the team at DoorDash shares the lessons learned from not paying enough attention to the Kubernetes probes and how those contributed to an outage during Black Friday
              • datree.io: 6 Best Practices for Effective Readiness and Liveness Probes
              • thenewstack.io: Kubernetes Probes (and Why They Matter for Autoscaling) \ud83c\udf1f In addition to validating our workloads\u2019 health, we can use them to monitor and gather information about other events affecting containers.
              • faun.pub: Kubernetes Liveness Probes In this article, we will take a look at Liveness Probes in Kubernetes (K8S), with some useful examples. Defining probes correctly can improve pod resilience and availability.
              • dev.to: Configure Kubernetes Readiness and Liveness Probes - Tutorial | Pavan Belagatti \ud83c\udf1f
              • dnastacio.medium.com: The Art and Science of Probing a Kubernetes Container In this article, you\u2019ll learn how to author Kubernetes container probes, with particular attention to the relatively new addition of startup probes to the mix
              • medium.com/@eumaho: Setting up readiness and liveness health-check probes in Kubernetes with SpringBoot \ud83c\udf1f
              • kamsjec.medium.com: liveness and readiness probes\u2026
              • dev.to/otomato_io: Liveness Probes: Feel the Pulse of the App This article provides some helpful examples to correctly configure your liveness, startup and readiness probes in Kubernetes
              "},{"location":"kubernetes/#reserved-cpu-and-memory-in-kubernetes-nodes","title":"Reserved CPU and memory in Kubernetes nodes","text":"
              • medium.com/@danielepolencic: In Kubernetes, are there hidden costs to running many cluster nodes? Yes, since not all CPU and memory in your Kubernetes nodes can be used to run Pods.
              "},{"location":"kubernetes/#kubernetes-quality-of-service-qos-kubernetes-resource-and-capacity-management-capacity-planning-resource-quotas-per-namespace-limitranges-per-namespace-limits-and-requests-per-pod","title":"Kubernetes Quality of Service QOS. Kubernetes Resource and Capacity Management. Capacity Planning. Resource Quotas per namespace, LimitRanges per namespace, Limits and Requests per POD","text":"
              • cloudtechtwitter.com: Kubernetes Quality of Service (QoS) class Quality of Service (QoS) class to determine which pod to kill first in Kubernetes
              • itnext.io: Kubernetes Resource Management in Production Requests, Limits, Overcommitment, Slack/Waste, Throttling
              • medium: Ultimate Kubernetes Resource Planning Guide
              • learnk8s.io: Setting the right requests and limits in Kubernetes \ud83c\udf1f By far the best read on requests and limits in Kubernetes.
              • openshift.com: Sizing Applications in Kubernetes
              • magalix.com: Capacity Planning When we have multiple Pods with different Priority Class values, the admission controller starts by sorting Pods according to their priority. What happens when there are no nodes with available resources to schedule a high-priority pods?
              • sysdig.com: Kubernetes capacity planning: How to rightsize the requests of your cluster
              • kubernetes.io Policy Limit Ranges
              • sysdig.com: Understanding Kubernetes limits and requests by example \ud83c\udf1f Choosing the optimal limits for our Kubernetes cluster is key in order to get the best of both energy consumption and costs. In this article, you will learn how to set the right requests and limits for your containers.
              • dev.to/aurelievache: Understanding Kubernetes: part 22 \u2013 LimitRange
              • dzone: Dive Deep Into Resource Requests and Limits in Kubernetes This article will be helpful for you to understand how Kubernetes requests and limits work, and why they can work in an expected way.
              • sysdig.com: How to rightsize the Kubernetes resource limits
              • medium: Understanding resource limits in kubernetes: cpu time
              • blog.newrelic.com: Kubernetes Fundamentals, Part 1: How to Manage Cluster Capacity with Requests and Limits
              • john-tucker.medium.com: Kubernetes CPU Resource Requests at Runtime While it is well documented how CPU resource request impact the scheduling of Pods to Nodes, it is less clear of the impact once Pods (and their Containers) are running on a Node.
              • faun.pub: Practical example of how to set requests and limits on Kubernetes
              • home.robusta.dev: For the love of god, stop using CPU limits on Kubernetes \ud83c\udf1f\ud83c\udf1f Do you really understand CPU limits and requests on Kubernetes?
              • netdata.cloud: Kubernetes Throttling Doesn\u2019t Have To Suck. Let Us Help! \ud83c\udf1f\ud83c\udf1f CPU limits are probably the most misunderstood concept in Kubernetes CPU resources allocation and management.
              • dnastacio.medium.com: Why you should keep using CPU limits on Kubernetes \ud83c\udf1f\ud83c\udf1f Or why staying away from unused CPU may be good for your containers.
              • komodor.com: Kubernetes CPU Limits and Throttling CPU throttling means that applications are granted more constrained resources when they are near to the container\u2019s CPU limit.
              • github.com/FairwindsOps: Goldilocks is a utility that can help you identify a starting point for resource requests and limits
                • levelup.gitconnected.com: How to guess the right size for your Kubernetes Pods? Guessing the right size for your Kubernetes resources and FinOps management using Goldilocks
              • medium.com/omio-engineering: CPU limits and aggressive throttling in Kubernetes
                • Have you seen your application get stuck or fail to respond to health check requests, and you can\u2019t find any explanation? It might be because of the CPU quota limit. We will explain more here.
                • TL;DR: We would highly recommend removing CPU Limits in Kubernetes (or Disable CFS quota in Kublet) if you are using a kernel version with CFS quota bug unpatched. There is a serious, known CFS bug in the kernel that causes un-necessary throttling and stalls.
              • hackernoon.com: Kubernetes Resource Quotas
              • home.robusta.dev: You can\u2019t have both high utilization and high reliability \ud83c\udf1f Everyone wants high utilization and high reliability. The hard truth about Kubernetes is that you need to pick one or the other. A Kubernetes pod uses 2 CPUs on average and occasionally spikes to 3 CPUs. What should its resource allocation look like? This article explores the answers with a few strategies (and some tradeoffs)
              • dev.to: Kubernetes Capacity and Resource Management: It\u2019s Not What You Think It Is \ud83c\udf1f In this article, you\u2019ll learn how to manage resources and capacity in Kubernetes. Takeaways:
                • Set Resource Quotas for each namespace;
                • Set LimitRanges for each namespace;
                • Enforce rations between requests and limits
              • faun.pub: Optimize Kubernetes Resource Management with Time-To-Live (TTL) for Cleaner Cluster Streamline Kubernetes Resource Management: Learn How to Use Time-To-Live (TTL) to Keep Your Cluster Clean and Optimized
              • itnext.io: Memory Request + Limit in Kubernetes | Daniele Polencic \ud83c\udf1f\ud83c\udf1f - - community.ops.io: Memory requests and limits in Kubernetes | Daniele Polencic
                • In Kubernetes, you have 2 ways to specify how much memory a pod can use:
                  • Requests \u2014 usually set to the process consumption
                  • Limits set the max number of resources allowe
              • itnext.io: CPU Request + Limit in Kubernetes | Daniele Polencic \ud83c\udf1f\ud83c\udf1f In Kubernetes, what should I use as CPU requests and limits?
              • dev.to/pavanbelagatti: Learn How to Set Kubernetes Resource Requests and Limits
              • iceburn.medium.com: Kubernetes Resource Requests and Resource Limits
              • home.robusta.dev: When is a CPU not a CPU? Benchmark of Kubernetes Providers and Node Efficiency \ud83c\udf1f\ud83c\udf1f TLDR: On some cloud providers, you get half the CPU you expect due to burstable nodes. Without burstable nodes, overhead is improved but still significant.
              • piotrminkowski.com: Resize CPU Limit To Speed Up Java Startup on Kubernetes In this article, you will learn how to solve problems with the slow startup of Java apps on Kubernetes related to the CPU limit. We will use a new Kubernetes feature called \u201cIn-place Pod Vertical Scaling\u201d. It allows resizing resources (CPU or memory) assigned to the containers without pod restart. We can use it since the Kubernetes 1.27 version. However, it is still the alpha feature, that has to be explicitly enabled. In order to test we will run a simple Spring Boot Java app on Kubernetes.
              • medium.com/@mark.andreev: How to configure Kubernetes memory limits for Java application This article explores the JVM memory structure and flags that can be used to limit memory usage and how those map back to Kubernetes and cgroups v2.
              • sosiv.io: A Deep Dive into Kubernetes Resource Requests and Limits
              • medium.com/pipedrive-engineering: How we choked our Kubernetes NodeJS services Learn from the Pipedrive engineering team experience how to manage memory and CPU resources properly in NodeJS and Kubernetes without slowing down your services
              • medium.com/@eliran89c: For the love of god, learn when to use CPU limits on Kubernetes In this article, you\u2019ll explore how CPU requests and limits work, why they were introduced, and how to monitor CPU usage
              • wbhegedus.me: Demystifying Kubernetes CPU Limits (and Throttling) In this article, you will discuss a clear example of CPU throttling on Kubernetes and how you could monitor and fix it
              • medium.com/@jettycloud: Making Sense of Kubernetes CPU Requests And Limits
              • loft.sh: How to Set Up Kubernetes Requests and Limits
              • dev.to: Impacts Of Not Setting Requests, Limits, and Quotas | Michael Levan
              • faun.pub: Kubernetes Chronicles:(K8s#04)|K8s Series | POD Resource Request & Limits
              • hwchiu.medium.com: Why does my 2vCPU application run faster in a VM than in a container? \ud83c\udf1f\ud83c\udf1f This article explores the performance of running apps in VMs versus containers. It delves into the impact of CPU limits, thread usage, and CPU distribution, offering insights on how to avoid CPU throttling and improve application performance
              • ardanlabs.com: Kubernetes CPU Limits and Go
              • medium.com/nordnet-tech: Unlocking Kubernetes Performance with no CPU Resource Limits This article dives into requests & limits and argues that CPU limits are only for preventing the use of CPU leftovers, not to prevent noisy neighbours or to protect your nodes from overallocation
              • medium.com/@danielepolencic: Challenge 16: Throttled \ud83c\udf1f CPU limits in Kubernetes are not always obvious and can lead to a spike in latency. To understand why, it\u2019s important to remember how they work. There are two popular articles about (not) setting CPU limits:
                • home.robusta.dev: For the Love of God, Stop Using CPU Limits on Kubernetes (Updated)
                • dnastacio.medium.com: Why You Should Keep Using CPU Limits on Kubernetes Or why staying away from unused CPU may be good for your containers
              • medium.com/@frommeyerc: Containers and the JVM: About CFS and how to deal with it This article explores the interaction between containers, the JVM, and the CFS scheduler in the Linux Kernel. It explains how CPU time is allocated, the impact of CPU requests and limits in Kubernetes, and the consequences of throttling.
              • lalatron.hashnode.dev: When Kubernetes and Go don\u2019t work well together \ud83c\udf1f Go is not aware of the limits set for its container, causing some issues not easy to track. This is a story about how I stumbled into one of them. This article discusses an issue in which a pod was repeatedly restarted due to an OOM error. The problem stemmed from Go\u2019s garbage collector not being aware of the container\u2019s memory limits, which caused memory allocation to exceed these limits.
              • foxutech.com: Kubernetes Namespace Resource Quota and Limits \ud83c\udf1f - youtube
              • medium.com/directeam: Kubernetes resources under the hood \u2014 Part 1 \ud83c\udf1f
                • medium.com/directeam: Kubernetes resources under the hood \u2014 Part 2 \ud83c\udf1f Do you think that CPU requests are just used for scheduling? Think again. Introducing CPU Shares, and laying the grounds for removing your limits! This 3-part series covers how Kubernetes resources (CPU and memory) work. You will learn the following:
                  • CFS (Completely Fair Scheduler)
                  • Pod priorities
                  • Quality of Services
                  • How scheduling works
                  • OOM
                • medium.com/directeam: Kubernetes resources under the hood \u2014 Part 3 \ud83c\udf1f Kubernetes resources, breaking the limits! Understand the biggest Kubernetes misunderstanding and why you should remove your CPU limits and unleash your cluster\u2019s full potential
              • [reddit.com/r/kubernetes: CPU Limits](https://www.reddit.com/r/kubernetes/comments/12he7aa/cpu_limits/]
              • gokatalyst.io: Katalyst: A QoS-based resource management system for workload colocation on kubernetes \ud83c\udf1f
              • stormforge.io: Automated Kubernetes resource management for platform engineering teams to continuously rightsize workloads with HPA compatibility Stop Setting Kubernetes Requests and Limits. Let machine learning and automation do it for you.
              • medium.com/@mathieuces: How to calculate CPU for containers in k8s dynamically ? \ud83c\udf1f Learn how to dynamically calculate CPU for containers in Kubernetes using a strategy that optimizes resource allocation by considering average CPU usage and a safety coefficient
              • kondense \ud83c\udf1f Kondense is an automated resource sizing tool. It runs as a sidecar in kubernetes pods.
              "},{"location":"kubernetes/#kubernetes-scheduler-kube-scheduler","title":"Kubernetes Scheduler. Kube Scheduler","text":"
              • opensource.com: How the Kubernetes scheduler works Understand how the Kubernetes scheduler discovers new pods and assigns them to nodes.
              • medium.com: The Kubernetes Scheduler: this series aims to advance the understanding of Kubernetes and its underlying concepts
              • All you need to know to get started with the Kube Scheduler
              • medium: K8S - Creating a kube-scheduler plugin The k8s scheduler assigns Pods to Nodes. Then, the attempt to schedule a pod is split into two phases: the Scheduling and the Binding cycle. Learn how you can build a Kube-scheduler plugin from scratch!
              • faun.pub: Multiple Schedulers in Kubernetes
              "},{"location":"kubernetes/#pod-rebalancing-and-allocations-pod-priorities","title":"Pod rebalancing and allocations. Pod Priorities","text":"
              • community.ops.io: Pod rebalancing and allocations in Kubernetes \ud83c\udf1f Does Kubernetes rebalance your Pods? If there\u2019s a node that has more space, does Kubernetes recompute and balance the workloads?
              • faun.pub: How to utilize priorities in Kubernetes? A powerful feature to save the work-life balance of on-call engineers. Priorities is a fundamental concept in Kubernetes and one reason it is powerful. For instance, in your production environment, you don\u2019t want critical services to be evicted because of less important ones. Using priorities, you can tackle this problem. In this blog, we will learn more about priorities and how we can utilize them the most.
              • towardsdatascience.com: Maximizing the Utility of Scarce AI Resources: A Kubernetes Approach Optimizing the use of limited AI training accelerators. The article discusses optimizing GPU and TPU resources with Kubernetes using Pod Priorities. It addresses Kubernetes\u2019 complexities and suggests exploring tools like Kueue and Volcano to manage jobs
              "},{"location":"kubernetes/#kubernetes-etcd","title":"Kubernetes etcd","text":"
              • medium: Getting Started with Kubernetes etcd
              • sysdig.com: How to monitor etcd Learning how to monitor etcd is of vital importance when running Kubernetes in production. Monitoring etcd will let you validate that things work as expected, while detecting and troubleshooting issues that could take your entire infrastructure down.
              • learnk8s.io: How etcd works with and without Kubernetes
              • itnext.io: Breaking down and fixing etcd cluster
              • medium: ETCD - the Easy Way | Vaibhav Rajput This is a guide which will help you get started with etcd and help you understand how it is used in a kubernetes setup.
              • kubernetes.io: Operating etcd clusters for Kubernetes Securing etcd clusters. Access to etcd is equivalent to root permission in the cluster so ideally only the API server should have access to it. It is recommended to grant permission to only those nodes that require access to etcd clusters.
              • dev.to: A Detailed Brief About Offence and Defence on Cloud Security - Etcd Risks In this article, you will assess the correct configuration for an etcd cluster in Kubernetes and discuss a few attack scenarios.
              "},{"location":"kubernetes/#kubernetes-sidecars","title":"Kubernetes Sidecars","text":"
              • bsucaciu.com: What is a Sidecar?
              • medium: Kubernetes \u2014 Learn Sidecar Container Pattern Understanding Sidecar Container Pattern With an Example Project
              • ithands-on.com: Kubernetes 101 : Extending the container\u2019s functionalities - Sidecar containers
              • atul-agrawal.medium.com: Library vs Service vs Sidecar
              • banzaicloud.com: Sidecar container lifecycle changes in Kubernetes 1.18 \ud83c\udf1f
              • medium: Delaying application start until sidecar is ready Taking advantage of a peculiar Kubernetes implementation detail to block containers from starting before another container starts.
              • pauldally.medium.com: Kubernetes \u2013 An Introduction to Sidecars
              • thenewstack.io: Sidecars are Changing the Kubernetes Load-Testing Landscape Sidecars don\u2019t just capture traffic. They can replay it as well. They can also transform any metadata, like timestamps, before it sends it to your application.
              • saurabhdashora.hashnode.dev: Implementing Sidecar Design Pattern with Kubernetes Pod Build a Git Workflow with Sidecar. In this post, you will cover the theoretical aspects of the sidecar pattern and different use cases. Then, you will implement a complete Git workflow using a Kubernetes pod to demonstrate the sidecar pattern.
              • dev.to/fermyon: Scaling Sidecars to Zero in Kubernetes
              "},{"location":"kubernetes/#kubernetes-annotations","title":"Kubernetes Annotations","text":"
              • kubernetes.io: Annotating Kubernetes Services for Humans A Convention for annotations in Kubernetes.
              • getambassador.io: Kubernetes Annotations and Labels: What\u2019s the Difference?
              "},{"location":"kubernetes/#kubernetes-best-practices-and-tips","title":"Kubernetes Best Practices and Tips","text":"
              • diegolnasc/kubernetes-best-practices \ud83c\udf1f A cookbook with the best practices to working with kubernetes.
              • blog.pipetail.io: 10 most common mistakes using kubernetes
              • Optimize Kubernetes cluster management with these 5 tips Effective Kubernetes cluster management requires operations teams to balance pod and node deployments with performance and availability needs.
              • techradar.com: Three tips to implement Kubernetes with open standards
              • 10 most common mistakes when using Kubernetes
                • resources - requests and limits
                • liveness and readiness probes
                • LoadBalancer for every http service
                • non-kubernetes-aware cluster autoscaling
                • Not using the power of IAM/RBAC
              • geekflare.com: 10 Kubernetes Best Practices for Better Container Orchestration
              • wideops.com: Kubernetes best practices: Setting up health checks with readiness and liveness probes
              • containerjournal.com: 10 Best Practices Worth Implementing to Adopt Kubernetes
              • medium: Kubernetes Tip: How Does OOMKilled Work?
              • cloud.google.com: Kubernetes Best Practices A collection of blog posts aimed at guide you through the Kubernetes best practices
              • releasehub.com: Kubernetes Health Checks - 2 Ways to Improve Stability in Your Production Applications
              • stackpulse.com: Kubernetes and SRE: 5 Best Practices for K8s Reliability in Production
              • fairwinds.com: Never Should You Ever In Kubernetes: #1 Do K8S The Hard Way
              • fairwinds.com: Never Should You Ever In Kubernetes Part 2: Kubernetes Security Mistakes
              • fairwinds.com: Never Should You Ever In Kubernetes Part 3: 6 K8s Reliability Mistakes
              • fairwinds.com: Never Should You Ever In Kubernetes Part 4: Three K8s Efficiency Mistakes
              • stackpulse.com: Challenges of Running Services With K8s Reliably
              • blog.lukechannings.com: Mistakes made and lessons learned with Kubernetes and GitOps
              • fairwinds.com: An Intro to Kubernetes Best Practices: Start Your K8s Right
              • itnext.io: Lifecycle of Kubernetes Network Policies and Best Practices In this blog post, you\u2019ll learn the lifecycle of Kubernetes Network Policies (e.g. creation, editing, governance, debugging)
              • learnk8s.io: Kubernetes production best practices A curated checklist of best practices designed to help you release to production.
              • github.com/PacktPublishing: Kubernetes in Production Best Practices
              • thenewstack.io: 5 Best Practices for Configuring Kubernetes Pods Running in Production
              • freecodecamp.org: How to Make Your Enterprise Kubernetes Environment Secure, Efficient, and Reliable
              • geekflare.com: Diez mejores pr\u00e1cticas de Kubernetes para una mejor orquestaci\u00f3n de contenedores
              • containerjournal.com: 4 Expert-Level Things I Wish I\u2019d Known About Kubernetes
              • dev.to: Prevent Configuration Errors in Kubernetes
              • komodor.com: Four Best Practices to Migrate to Kubernetes (Part 1)
                • komodor.com: Five Kubernetes Deployment Best Practices (Part 2) \ud83c\udf1f
                  1. Maintaining Good YAML Hygiene (AKA Your K8s Deployment Manifest)
                  2. Stateless Apps FTW!
                  3. Logging, but Specifically for Kubernetes
                  4. Separation of Environments
                  5. Invest in Proper Monitoring
              • bridgecrew.io: 5 common Kubernetes misconfigs and how to fix them
              • snapt.net: Best Practices for Load Balancing Kubernetes Containers
              • vladimir.varank.in: Making sense of requests for CPU resources in Kubernetes \ud83c\udf1f
              • harness.io: Kubernetes Mistakes: A Beginner\u2019s Guide To Avoiding Common Pitfalls
              • martinheinz.dev: Keeping Kubernetes Clusters Clean and Tidy \ud83c\udf1f As your cluster grows, so does the number of resources, volumes or other API objects and sooner or later you will reach the limits somewhere. In this article, you\u2019ll learn how to keep it clean and tidy.
              • pionative.com: 6 Important things you need to run Kubernetes in production
              • youtube: Common Kubernetes Mistakes - CPU and Memory Requests (part 1) | Robusta
              • medium.com/mycloudseries: Must-haves for your Kubernetes Cluster to be Production Ready
              • cloudogu.com: Kubernetes least privilege implementation using the Google Cloud as an axample How are you avoiding accidental changes to #kubernetes? This post describes what cloudogu do featuring \u201ckubectl sudo\u201d, \u201d helm sudo\u201d and \u201csudo context\u201d.
              • blog.runx.dev: 5 Common Kubernetes Mistakes and how to avoid them
              • hackernoon.com: Kubernetes Cluster Must-Haves To Be Production Ready
              • argonaut.dev: Choosing an Optimal Kubernetes Worker Node Size \ud83c\udf1f This post focuses on helping you choose the optimal number of worker nodes and their sizes to run applications reliably while minimizing the waste of resources.
              • cncf.io: Kubernetes best practice: How to (correctly) set resource requests and limits
                • fairwinds.com: Kubernetes Best Practice: How to (Correctly) Set Resource Requests and Limits
              • medium.com/@krishnendupatra: Best practices to achieve Zero downtime on Kubernetes deployments
              • levelup.gitconnected.com: How to guess the right size for your Kubernetes Pods? Guessing the right size for your Kubernetes resources and FinOps management using Goldilocks
              • itnext.io: Integrating Compliance for Kubernetes Pipeline Security should be at the heart when designing and developing complex and advanced systems targeted at end-users or giant firms. The most efficient way for build a complex application or system is by using microservices and Kubernetes as a containerized deployment engine. As developers and architects, it is our responsibility to make sure we have the best and most secure products and applications to deliver by avoiding any weak points that can be a security threat or a vulnerability to the whole ecosystem. This post provides the best practices to keep in mind when building containerized applications in a CI/CD pipeline.
              • medium.com/saas-infra: Stabilize Kubernetes MicroServices \u2014 The Right Resources Settings
              • techbeacon.com: 5 Best Practices for Deploying Kubernetes
                • Use an Integrated Secrets Vault
                • Define Access Controls Using IAM
                • Keep Configuration Data Inside K8s Deployments
                • Configure Integrated Logging
                • Define Resource Minimums\u2014but not Maximums
              • medium.com/application-driven-infrastructure: Best Practices for Understanding Kubernetes Costs
              • collabnix.com: 10 Kubernetes Best Practices to Get You Started As a developer, understanding Kubernetes best practices is crucial to ensure smooth deployments, efficient operations, and enhanced security.
              • armosec.io: How to avoid Kubernetes misconfigurations Misconfigurations are quite common in the deployment of Kubernetes if recommendations are not followed. Misconfigurations lead to several issues, including vulnerability to attacks and open access to sensitive information.
              • nextplatform.com: Kubernetes Clusters Have Massive Overprovisioning Of Compute And Memory \ud83c\udf1f
              • thenewstack.io: Does Kubernetes Really Perform Better on Bare Metal vs. VMs? \ud83c\udf1f A detailed comparison of CPU, RAM, storage and network performance between Kubernetes clusters on virtual machines and bare metal.
              • dzone.com: Optimizing Kubernetes Clusters for Better Efficiency and Cost Savings \ud83c\udf1f At the core of constructing a high-performing and cost-effective Kubernetes cluster is the art of efficiently managing resources by tailoring your Kubernetes workloads.
              "},{"location":"kubernetes/#disruptions","title":"Disruptions","text":"
              • thenewstack.io: Kubernetes: Use PodDisruptionBudgets for Application Maintenance and Upgrades
              • medium.com/@visweswara: Pod Disruption Budget \u2014 Budget that can save you One day
              • saahitya.hashnode.dev: Pod Disruption Budget(Pdb)
              "},{"location":"kubernetes/#cost-estimation-strategies","title":"Cost Estimation Strategies","text":"
              • cncf.io: 5 Problems with Kubernetes Cost Estimation Strategies
              • loft.sh: How To Reduce Your Kubernetes Cost
              • harness.io: Getting Started with Cloud Cost Optimization
              • rancher.com: Gain Better Visibility into Kubernetes Cost Allocation
              • loft.sh: Kubernetes Cost Savings By Reducing The Number Of Clusters
              • thenewstack.io: 5 Essential Tips to Manage Kubernetes Costs
              • opensource.com: 3 ways Kubernetes optimizes your IT budget Automation is not only good for IT, it\u2019s also beneficial to your company\u2019s bottom line.
              • thenewstack.io: 5 Expensive Kubernetes Cost Traps and How to Deal with Them
              • KubeSurvival Significantly reduce Kubernetes costs by finding the cheapest machine types that can run your workloads
              • containerjournal.com: Assessing the True Cost of Kubernetes
              • ubuntu.com: Kubernetes Fully Managed \u2013 half the cost of AWS
              • learnk8s.io: Kubernetes Instance Calculator \ud83c\udf1f\ud83c\udf1f
              • dev.to: Kubernetes Cost Management and Analysis Guide \ud83c\udf1f
              • hackernoon.com: Reducing Kubernetes Costs
              • medium.com/streamotion-tech-blog: Visualising the Cost of Kubernetes
              • infoworld.com: Sysdig\u2019s new Cost Advisor aims to cut Kubernetes costs The company claims that the new tool, in combination with its existing Sysdig Monitor, can cut Kubernetes costs by an average of 40%.
              "},{"location":"kubernetes/#kubecost","title":"kubecost","text":"
              • Kubecost \ud83c\udf1f
              • How to track costs in multi-tenant Amazon EKS clusters using Kubecost
              • infracloud.io: Kubernetes Cost Reporting using Kubecost
              • github.com/kubecost: kubecost-exporter - Running Kubecost as a Prometheus metric exporter
              • blog.kubecost.com: Kubecost raises $5.5 million to help teams monitor and reduce their Kubernetes spend
              • kubectl-cost is a kubectl plugin that provides easy CLI access to Kubernetes cost allocation metrics via the kubecost APIs. It allows developers, devops, and others to quickly determine the cost & efficiency for any Kubernetes workload
              • blog.kubecost.com: AKS Cost Monitoring and Governance With Kubecost
              • thenewstack.io: KubeCost: Monitor Kubernetes Costs with kubectl
              • rtfm.co.ua: Kubernetes: Cluster Cost Monitoring \u2013 Kubernetes Resource Report and Kubecost In this article, you will explore the Kubernetes Resource Report and Kubecost projects and will dive into the details of how they work
              • medium.com/@randhirthakur076: Optimizing Kubernetes Cost Management: A Deep Dive into Kubecost

              "},{"location":"kubernetes/#architecting-kubernetes-clusters-node-size-multi-clusters-and-hybrid-cloud","title":"Architecting Kubernetes clusters. Node Size. Multi Clusters and Hybrid Cloud","text":"
              • learnk8s.io: Architecting Kubernetes clusters \u2014 how many should you have?
              • learnk8s.io: Architecting Kubernetes clusters \u2014 choosing a worker node size This article discusses the pros and cons of having either many small clusters or few large clusters for running a given set of apps.
                • itnext.io: Architecting Kubernetes clusters \u2014 choosing a worker node size
              • itnext.io: Architecting Kubernetes clusters \u2014 choosing a cluster size
              • learnk8s.io: Allocatable memory and CPU in Kubernetes Nodes
              • docs.google.com - learnk8s.io: Research on the trade offs when choosing an instance type for a kubernetes cluster
              • medium: Deploying Kubernetes \u2014 Deciding the size of your nodes
              • dzone refcard: Kubernetes Multi-Cluster Management and Governance
              • thenewstack.io: A Deep Dive into Architecting a Kubernetes Infrastructure
              • thenewstack.io: Manage Multicluster Kubernetes with Operators
              • kubernetes.io: Out of the Clouds onto the Ground: How to Make Kubernetes Production Grade Anywhere
              • cncf.io: Simplifying multi-clusters in Kubernetes
              • platform9.com: Difference Between multi-cluster, multi-master, multi-tenant & federated Kubernetes
              • datacenterknowledge.com: The Pros and Cons of Kubernetes-Based Hybrid Cloud
              • thenewstack.io: 4 ways to run kubernetes in production
              • medium: Individual Kubernetes Clusters vs. Shared Kubernetes Clusters for Development
              • nginx.com: Reduce Complexity with Production-Grade Kubernetes
              • platform9.com: Kubernetes Cluster Sizing \u2013 How Large Should a Kubernetes Cluster Be?
              • redhat.com: 3 questions to answer when considering a multi-cluster Kubernetes architecture A multi-cluster Kubernetes architecture is complex, but its versatility and resiliency make the tradeoffs worthwhile for large-scale enterprise applications.
              • itnext.io: Do You Need Multi-Clusters? \ud83c\udf1f Evaluate CNCF multi-clusters solutions and go our own way.
                • In this article, you will discuss the limitations of running a single cluster and the options you have to go multicluster. You will investigate:
                  • Kubefed
                  • GitOps
                  • Karmada
                • And compare the pros and cons
              "},{"location":"kubernetes/#wide-cluster-instead-of-multi-cluster","title":"Wide Cluster instead of Multi-Cluster","text":"
              • itnext.io: 3 Reasons to Choose a Wide Cluster over Multi-Cluster with Kubernetes
              "},{"location":"kubernetes/#client-libraries-for-kubernetes","title":"Client Libraries for Kubernetes","text":"
              • Client Libraries for Kubernetes
              "},{"location":"kubernetes/#helm-kubernetes-tool","title":"Helm Kubernetes Tool","text":"
              • Helm
              "},{"location":"kubernetes/#templating-yaml-in-kubernetes-with-real-code-yq-yaml-processor","title":"Templating YAML in Kubernetes with real code. YQ YAML processor","text":"
              • Templating YAML in Kubernetes with real code
                • TL;DR: You should use tools such as yq and kustomize to template YAML resources instead of relying on tools that interpolate strings such as Helm.
                • If you\u2019re working on large scale projects, you should consider using real code \u2014 you can find hands-on examples on how to programmatically generate Kubernetes resources in Java, Go, Javascript, C# and Python in this repository.
              "},{"location":"kubernetes/#extending-kubernetes","title":"Extending Kubernetes","text":""},{"location":"kubernetes/#adding-custom-resources-extending-kubernetes-api-with-kubernetes-resource-definitions-crd-vs-aggregated-api","title":"Adding Custom Resources. Extending Kubernetes API with Kubernetes Resource Definitions. CRD vs Aggregated API","text":"
              • Custom Resources
              • itnext.io: CRD is just a table in Kubernetes
              • Use a custom resource (CRD or Aggregated API) if most of the following apply:
                • You want to use Kubernetes client libraries and CLIs to create and update the new resource.
                • You want top-level support from kubectl; for example, kubectl get my-object object-name.
                • You want to build new automation that watches for updates on the new object, and then CRUD other objects, or vice versa.
                • You want to write automation that handles updates to the object.
                • You want to use Kubernetes API conventions like .spec, .status, and .metadata.
                • You want the object to be an abstraction over a collection of controlled resources, or a summarization of other resources.
              • Kubernetes provides two ways to add custom resources to your cluster:
                • CRDs are simple and can be created without any programming.
                • API Aggregation requires programming, but allows more control over API behaviors like how data is stored and conversion between API versions.
              • Kubernetes provides these two options to meet the needs of different users, so that neither ease of use nor flexibility is compromised.
              • Aggregated APIs are subordinate API servers that sit behind the primary API server, which acts as a proxy. This arrangement is called API Aggregation (AA). To users, it simply appears that the Kubernetes API is extended.
              • CRDs allow users to create new types of resources without adding another API server. You do not need to understand API Aggregation to use CRDs.
              • Regardless of how they are installed, the new resources are referred to as Custom Resources to distinguish them from built-in Kubernetes resources (like pods).
              • github.com/datreeio/CRDs-catalog: CRDs Catalog Over 300 popular Kubernetes CRDs (CustomResourceDefinition) in JSON schema format.
              • dev.to: Creating a Custom Resource Definition In Kubernetes | Michael Levan
              "},{"location":"kubernetes/#krew-a-plugin-manager-for-kubectl-plugins","title":"Krew, a plugin manager for kubectl plugins","text":"
              • Krew is the plugin manager for kubectl command-line tool.
              • itnext.io: Extending Kubernetes Cluster; Kubectl Plugins and Krew
              • darumatic.com: Improve Kubectl Command with Krew Krew is a tool that aims to ease plugin discovery, installation, upgrade, and removal on multiple operating systems. This article will show you how easy it is to grab and experiment with existing plugins.
              • awstip.com: Essential plugins for Kubectl CLI
              • github.com/jordanwilson230: kubectl-plugins A collection of plugins installable via Krew. This repo contains two kubectl plugins:
                • kubectl exec-as \u2014 Like kubectl exec, but offers a --user flag to exec as root (or any other user)
                • kubectl prompt \u2014 Displays a warning prompt when issuing commands in a flagged cluster or namespace
              • kubectl trace is now on the krew index!! Go install it now!

                kubectl krew install trace\n

                And then just try to snoop into all the file openings:

                kubectl trace run -a  <yournode>  -e 'kprobe:do_sys_open { printf(\"%s: %s\\n\", comm, str(arg1)) }'\n
              "},{"location":"kubernetes/#openkruisekruise","title":"OpenKruise/Kruise","text":"
              • openkruise.io
              • OpenKruise/Kruise
              • thenewstack.io: Introducing CloneSet: A Production-Grade Kubernetes Deployment CRD
              "},{"location":"kubernetes/#crossplane-a-universal-control-plane-api-for-cloud-computing-crossplane-workloads-definitions","title":"Crossplane, a Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions","text":"
              • Crossplane
              "},{"location":"kubernetes/#kubernetes-community","title":"Kubernetes Community","text":""},{"location":"kubernetes/#community-forums","title":"Community Forums","text":"
              • Community Forums \ud83c\udf1f
              "},{"location":"kubernetes/#kubernetes-special-interest-groups-sigs","title":"Kubernetes Special Interest Groups (SIGs)","text":"
              • Kubernetes Special Interest Groups (SIGs) have been around to support the community of developers and operators since around the 1.0 release. People organized around networking, storage, scaling and other operational areas.
              • SIG Apps: build apps for and operate them in Kubernetes
              "},{"location":"kubernetes/#kubernetes-sigs-repos","title":"Kubernetes SIG\u2019s Repos","text":"
              • Kubernetes SIGs Org for Kubernetes SIG-related work.
              • ExternalDNS: Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
              • Kubernetes-Secrets-Store-CSI-Driver: Secrets Store CSI driver for Kubernetes secrets Integrates secrets stores with Kubernetes via a CSI volume.
              • kustomize Customization of kubernetes YAML configurations.
              "},{"location":"kubernetes/#kubectl-plugins","title":"Kubectl Plugins","text":"
              • Available kubectl plugins
              • Awesome Kubectl plugins
              • Extend kubectl with plugins
              • youtube: Welcome to the world of kubectl plugins
              • padok.fr: Getting started with kubectl plugins 5 useful kubectl plugins:
                • whoami
                • access-matrix
                • neat
                • tree
                • node-shell
              • kubectl-trace kubectl trace is a kubectl plugin that allows you to schedule the execution of bpftrace programs in your Kubernetes cluster.
              • pixelstech.net: Build a Kubectl Plugin from Scratch
              • k8scr A kubectl plugin for pushing OCI images through the Kubernetes API server.
              • martinheinz.dev: Making Kubernetes Operations Easy with kubectl Plugins
              • kei6u/kubectl-secret-data A kubectl plugin for finding decoded secret data with productive search flags.
              • medium: Cool Kubernetes command line plugins
              • martinheinz.dev: Making Kubernetes Operations Easy with kubectl Plugins
              • github.com/sigstore: k8s-manifest-sigstore kubectl plugin for signing Kubernetes manifest YAML files with sigstore
              • kubespy pod debugging tool for kubernetes clusters with docker runtimes
                • faun.pub: Spying on Kubernetes Pods with kubespy
              • itnext.io: 6 kubectl plugins you must try Here are six plugins from the plugin management tool for kubectl.
                • Kubepug
                • Rakkess
                • Ketall
                • kubectl-Score
                • kubectl-tree
                • Outdated
              • davidB/kubectl-view-allocations kubectl plugin lists allocations for resources (cpu, memory, gpu,\u2026) as defined into the manifest of nodes and running pods.
              • Ramilito/kubesess kubesess(ion) is a kubectl plugin for managing sessions. With this plugin, it is possible to have one context per active shell session.
              • tonylixu.medium.com: Kubectl \u2014 Plugins Operation K8s kubectl Deep Dive
              • kubectl netshoot kubectl netshoot is a kubectl plugin that spins up netshoot: a network troubleshooting Swiss-army knife that allows you to troubleshoot Kubernetes without installing new packages in your containers or cluster nodes
              • medium.com/@jerome_tarte: Extend your toolset with Kubectl plugin
              Video: Kubectl plugins. Click to expand!"},{"location":"kubernetes/#enforcing-policies-and-governance-for-kubernetes-workloads-with-conftest","title":"Enforcing Policies and governance for kubernetes workloads with Conftest","text":"
              • Accelerated Feedback Loops when Developing for Kubernetes with Conftest Learn how to validate Kubernetes resources with Conftest for faster feedback loops
                • open-policy-agent/conftest
                • Enforcing policies and governance for Kubernetes workloads
              • Deprek8ion is a set of rego policies to monitor Kubernetes APIs deprecations and designed to work with conftest.
              • k8s-worker-pod-autoscaler scales the replicas in a deployment based on observed queue length.
              • kubectl-prune / kubectl-reap is a kubectl plugin that prunes unused Kubernetes resources.
              • kconnect - The Kubernetes Connection Manager CLI kconnect is a CLI utility that can be used to discover and securely access Kubernetes clusters across multiple operating environments. Based on the authentication mechanism chosen the CLI will discover Kubernetes clusters you are allowed to access in a target hosting environment (i.e. EKS, AKS, Rancher) and generate a kubeconfig for a chosen cluster.
              • konstraint is a CLI tool to assist with the creation and management of templates and constraints when using Gatekeeper.
              • Draino Draino automatically drains Kubernetes nodes based on labels and node conditions. Nodes that match all of the supplied labels and any of the supplied node conditions will be cordoned immediately and drained after a configurable drain-buffer time.
              "},{"location":"kubernetes/#kubernetes-patterns-and-antipatterns-service-discovery","title":"Kubernetes Patterns and Antipatterns. Service Discovery","text":"
              • github.com/k8spatterns/examples Examples for \u201cKubernetes Patterns - Reusable Elements for Designing Cloud-Native Applications\u201d
              • kubernetes.io: container design patterns
              • magalix.com: Kubernetes Patterns - The Service Discovery Pattern
              • dzone.com: Performance Patterns in Microservices-Based Integrations
              • developers.redhat.com: Top 10 must-know Kubernetes design patterns
              • medium: 10 Anti-Patterns for Kubernetes Deployments Common practices in Kubernetes deployments that have better solutions
              • learnsteps.com: How Kubernetes works on reconciler pattern
              • learncloudnative.com: Sidecar Container Pattern
              • codefresh.io: Kubernetes Deployment Antipatterns \u2013 part 1
              • codefresh.io: Kubernetes Deployment Antipatterns \u2013 part 2
              • iximiuz.com: Service discovery in Kubernetes - combining the best of two worlds
              • github.com/sharadbhat/KubernetesPatterns: YAML and Golang implementations of common Kubernetes patterns
              • developers.redhat.com: Kubernetes configuration patterns, Part 1: Patterns for Kubernetes primitives
                • developers.redhat.com: Kubernetes configuration patterns, Part 2: Patterns for Kubernetes controllers
              • learnk8s.io: Extending applications on Kubernetes with multi-container pods Can you change an application without changing any code in Kubernetes? You can when you use multiple containers in a single Pod. Developing and deploying new apps in Kubernetes is easy. But what about legacy apps? In Kubernetes, you can use multiple containers in a Pod to change how your application works.
              • dev.to: Kubernetes Deployment Antipatterns \u2013 part 1
              • ishantgaurav.in: Kubernetes \u2013 Sidecar Container Pattern
              • developers.redhat.com: Kubernetes configuration patterns, Part 1: Patterns for Kubernetes primitives
              • betterprogramming.pub: 10 Anti-Patterns for Kubernetes Deployments Common practices in Kubernetes deployments that have better solutions
              • medium: Kubernetes \u2014 Learn Init Container Pattern Understanding Init Container Pattern With an Example Project.
              • weave.works: Tools for Automating and Implementing Cloud Native Patterns
              • dzone: Microservices Patterns: Sidecar Learn about Microservice architecture and single responsibility principle, know more on how to achieve it using sidecars.
              • dzone: Multi-Container Pod Design Patterns in Kubernetes In Kubernetes, Pods are the single deployable units. If an application is to be deployed, it must be so in a Pod as a container. Learn how to use multi-container pods.
              • linkedin.com/pulse: Avoid These Kubernetes Anti-Patterns | Pavan Belagatti
              • medium.com/@ehsan-khodadadi: Patterns and anti-patterns for a reliable Kubernetes infra deployment
              "},{"location":"kubernetes/#kubernetes-scheduling-and-scheduling-profiles","title":"Kubernetes Scheduling and Scheduling Profiles","text":"
              • Kubernetes Scheduling
              • Scheduling Profiles
              • granulate.io: A Deep Dive into Kubernetes Scheduling
              • medium: K8S - Creating a kube-scheduler plugin
              "},{"location":"kubernetes/#assigning-pods-to-nodes-nodeselector-pod-affinity-and-anti-affinity","title":"Assigning Pods to Nodes. NodeSelector, Pod Affinity and Anti-Affinity","text":"
              • Affinity and anti-affinity
              • blog.kubecost.com: Kubernetes node affinity: examples & instructions Pod scheduling is one of the most important aspects of Kubernetes cluster management. How pods are distributed across nodes directly impacts performance and resource utilization. Kubernetes node affinity is an advanced scheduling feature that helps administrators optimize the distribution of pods across a cluster. This article will review scheduling basics, Kubernetes node affinity and anti-affinity, pod affinity and anti-affinity, and provide practical examples to help you get comfortable using this cluster scheduling feature.
              • medium.com/dlt-labs-publication: Kubernetes: Understanding Pod Affinity, Taint & Toleration
              • medium.com/@pbijjala: reCap: Elasticity in Kubernetes/GKE \ud83c\udf1f\ud83c\udf1f
                • Node affinity, nodeSelector is the simplest way to constrain Pods to nodes with specified labels.
                • Pod Affinity, ensures two pods to be co-located in a single node. Whenever higher availability is desired, anti-affinity settings can be used to place pods
                • Using taints and tolerations, Taints are the opposite \u2014 they allow a node to repel a set of pods. Tolerations are applied to pods. Tolerations allow the scheduler to schedule pods with matching taints.
                • In this article you will cover GKE and:
                  • Vertical Pod Autoscaler
                  • Horizontal Pod Autoscaler
                  • Cluster Autoscaler
                  • Node auto-provisioning
                  • Metric server
                  • Tips and tricks for application developers and cluster operators
              • 4sysops.com: Node selector and node affinity in Kubernetes
              "},{"location":"kubernetes/#pod-topology-spread-constraints-and-podtopologyspread-scheduling-plugin","title":"Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin","text":"
              • Pod Topology Spread Constraints
              • Introducing PodTopologySpread plugin
              "},{"location":"kubernetes/#cloud-development-kit-cdk-for-kubernetes","title":"Cloud Development Kit (CDK) for Kubernetes","text":"
              • cdk8s.io Define Kubernetes apps and components using familiar languages. cdk8s is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs. cdk8s apps synthesize into standard Kubernetes manifests which can be applied to any Kubernetes cluster.
              • github.com/awslabs/cdk8s
              "},{"location":"kubernetes/#aws-cloud-development-kit-aws-cdk","title":"AWS Cloud Development Kit (AWS CDK)","text":"
              • AWS: Introducing CDK for Kubernetes
              • Traditionally, Kubernetes applications are defined with human-readable, static YAML data files which developers write and maintain. Building new applications requires writing a good amount of boilerplate config, copying code from other projects, and applying manual tweaks and customizations. As applications evolve and teams grow, these YAML files become harder to manage. Sharing best practices or making updates involves manual changes and complex migrations.
              • YAML is an excellent format for describing the desired state of your cluster, but it is does not have primitives for expressing logic and reusable abstractions. There are multiple tools in the Kubernetes ecosystem which attempt to address these gaps in various ways:
                • kustomize Customization of kubernetes YAML configurations
                • jsonnet data templating language
                  • jsonnet.org
                • jkcfg Configuration as Code with ECMAScript
                  • jkcfg.github.io
                • kubecfg A tool for managing complex enterprise Kubernetes environments as code.
                • kubegen Simple way to describe Kubernetes resources in a structured way, but without new syntax or magic
                • Pulumi
              • We realized this was exactly the same problem our customers had faced when defining their applications through CloudFormation templates, a problem solved by the AWS Cloud Development Kit (AWS CDK), and that we could apply the same design concepts from the AWS CDK to help all Kubernetes users.
              "},{"location":"kubernetes/#serverless-with-openfaas-and-knative","title":"Serverless with OpenFaas and Knative","text":"
              • Serverless Architectures
              "},{"location":"kubernetes/#virtual-kubernetes-clusters","title":"Virtual Kubernetes Clusters","text":"
              • Virtual Clusters for Kubernetes \u2014 Benefits and Use Cases Virtual Kubernetes clusters could be the next driver for Kubernetes adoption.
              • loft-sh.medium.com: How Virtual Kubernetes Clusters Can Speed Up Your Local Development
              "},{"location":"kubernetes/#multi-cluster-federation-hybrid-cloud-setup-tools","title":"Multi-Cluster Federation. Hybrid Cloud Setup Tools","text":""},{"location":"kubernetes/#kubefed","title":"KubeFed","text":"
              • KubeFed: Kubernetes Cluster Federation
              • aquasec.com: Kubernetes Federation: The Basics and a 5-Step Tutorial Learn about Kubernetes Federation use cases, how it works, and see how to create your first Kubernetes Federation in 5 steps.
              • Kubernetes Federation, or KubeFed, is a tool for coordinating the configuration of multiple clusters in Kubernetes. You can determine which clusters KubeFed will manage, and what their configuration looks like, all from a single group of APIs in the hosting cluster. KubeFed offers low-level mechanisms that can be used as a foundation for increasingly complex production Kubernetes use cases across multiple clusters, such as geographic redundancy and disaster recovery.
              • medium.com/expedia-group-tech: Manage multi-cluster Kubernetes infrastructure with Kubefed v2 In this article, you will discuss the need for a multi-cluster architecture and how kubefed solves that. Then, you will deploy an app and proceed to test the setup with a hands-on example
              "},{"location":"kubernetes/#kubecarrier","title":"KubeCarrier","text":"
              • KubeCarrier
              "},{"location":"kubernetes/#red-hat-operator-lifecycle-manager-olm","title":"Red Hat Operator Lifecycle Manager (OLM)","text":"
              • Red Hat OLM operator-lifecycle-manager is a management framework for extending Kubernetes with Operators. OLM extends Kubernetes to provide a declarative way to install, manage, and upgrade Operators and their dependencies in a cluster.
              "},{"location":"kubernetes/#istio-service-mesh","title":"Istio Service Mesh","text":"
              • Istio
              "},{"location":"kubernetes/#multi-regional-architecture","title":"Multi-Regional Architecture","text":"
              • engineering.monday.com: monday.com\u2019s Multi-Regional Architecture: A Deep Dive Building a global SaaS platform requires lots of preparation, deep evaluation of your request routes and a truckload of R&D cooperation. Here\u2019s how we did it
              "},{"location":"kubernetes/#kubernetes-in-kubernetes","title":"Kubernetes in Kubernetes","text":"
              • kubernetes.io: Kubernetes-in-Kubernetes and the WEDOS PXE bootable server farm Learn how you can simplify management of data centers, thousands of physical servers, virtual machines and hosting for hundreds of thousands of sites with Kubernetes-in-Kubernetes (nested Kubernetes clusters)
              "},{"location":"kubernetes/#kubernetes-scripts","title":"Kubernetes Scripts","text":"
              • Kubernetes Scripts
              • Get applied and effective apiVersion from Kubernetes objects
              "},{"location":"kubernetes/#kubernetes-and-ansible","title":"Kubernetes and Ansible","text":"
              • itnext.io: Automating System Updates for Kubernetes Clusters using Ansible
              • Ansible for devops: Kubernetes
              "},{"location":"kubernetes/#spot-instances-in-kubernetes","title":"Spot instances in Kubernetes","text":"
              • itnext.io: Embracing failures and cutting infrastructure costs: Spot instances in Kubernetes
              "},{"location":"kubernetes/#kubernetes-on-windows","title":"Kubernetes on Windows","text":"
              • loft.sh: Kubernetes on Windows: 6 Life-Saving Tools & Tips Kubernetes is primarily a Linux technology, so it\u2019s fairly straightforward to run it on different Linux distros. But what about the developers working on Windows who need to run Kubernetes locally?
              "},{"location":"kubernetes/#kubernetes-incident-report-plan-irp","title":"Kubernetes Incident Report Plan IRP","text":"
              • cynet.com: Incident Report Plan (IRP)
              • kubermatic.com: A Framework for Kubernetes Incident Response
              • medium.com/@cloud_tips: Kubernetes Incident Response Incident response is one of the most important aspects of running a Kubernetes deployment. A well-defined incident response plan can help you quickly identify and mitigate issues with your Kubernetes deployment.
              "},{"location":"kubernetes/#kubernetes-certifications-cka-ckad-and-cks","title":"Kubernetes Certifications. CKA, CKAD and CKS","text":"
              • cncf.io: Certified Kubernetes Application Developer (CKAD)
              • CKAD-Bookmarks save time in searching docs in CKAD exam
              • itnext.io: Tips & Tricks for CKA, CKAD and CKS exams
              • bmuschko/ckad-crash-course: Certified Kubernetes Application Developer (CKAD) Crash Course
              • jamesbuckett/ckad-questions A set of exercises and solutions to prepare for the Certified Kubernetes Application Developer exam by Cloud Native Computing Foundation.
              • reddit.com/r/kubernetes: CKAD - free materials This collection of useful links and resources is indispensable if you\u2019re thinking of passing the CKAD (Certified Kubernetes Application Developer) course!

                • Courses: https://www.edx.org/course/introduction-to-kubernetes
                • Exercises: https://github.com/dgkanatsios/CKAD-exercises
                • Workshops:
                  • https://kube.academy/courses/ckad-practice
                  • https://kodekloud.com/courses/game-of-pods/
                  • https://kubernetes.io/docs/tutorials/kubernetes-basics/
                  • https://www.katacoda.com/courses/kubernetes/
                • VIM: Vim Crash Course | How to edit files quickly in CKAD / CKA exam
                • Cheatsheet:
                  • https://kubernetes.io/docs/reference/kubectl/cheatsheet/
                  • https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands
                • Example questions:
                  • CKAD Example Question with Tips & Tricks
                  • Mock Test - 1, CKAD Prep Exam
                  • Mock Test - 2, CKAD Prep Exam (Solution)
                  • https://medium.com/bb-tutorials-and-thoughts/practice-enough-with-these-questions-for-the-ckad-exam-2f42d1228552
              • kodekloud.com: CKA vs CKAD vs CKS \u2013 What is the Difference

              • bmuschko/ckad-prep Exercises demonstrated as part of the video course \u201cCertified Kubernetes Application Developer (CKAD) Prep Course\u201d published by O\u2019Reilly Media.
              • blog.jcprz.com: My tips to pass the CKA exam and what\u2019s next
              • medium.com/@vamshisuram: How to crack CKAD exam (part \u2014 2)
              • blog.devgenius.io: Passing the 2023 Certified Kubernetes Administrator (CKA) Exam My experience and strategy for preparing, studying, and taking the exam
              • packetpushers.net: KU046: Do Kubernetes Certs Prepare You For Real-World Production?
              • mattias.engineer/courses/kubernetes: Certified Kubernetes Application Developer (CKAD) This course is written in a different style than my other certification courses. However, I wrote it while I was preparing for the CKAD exam myself. All of the required material to pass the CKAD is included, with some extra details along the way. This exam is performance based, which means it will not be enough to read about the topics - you must practice performing the commands!
              • cloudnativeengineer.substack.com: Prepare for your Certified Kubernetes Administrator exam
              "},{"location":"kubernetes/#books-and-ebooks","title":"Books and eBooks","text":"
              • developers.redhat.com: Kubernetes Operators
              • Kubernetes 101
              • learnk8s.io/first-steps
              • ubuntuask.com: Best New Kubernetes Books
              "},{"location":"kubernetes/#kubernetes-patterns-ebooks","title":"Kubernetes Patterns eBooks","text":"
              • k8spatterns.io: Free Kubernetes Patterns e-book , ref
              • magalix.com: Free Kubernetes Application Architecture Patterns eBook
              "},{"location":"kubernetes/#famous-kubernetes-ebooks-of-2019","title":"Famous Kubernetes ebooks of 2019","text":"
              • Kubernetes essentials E-book
              • Kubernetes: Up and Running, 2nd Edition Dive into the Future of Infrastructure. By Brendan Burns, Kelsey Hightower, Joe Beda
              • Container Security
                • Don\u2019t make this container security mistake
              • digitalocean.com: From Containers to Kubernetes with Node.js eBook
              "},{"location":"kubernetes/#famous-kubernetes-resources-of-2019","title":"Famous Kubernetes resources of 2019","text":"
              • Kubernetes for developers
              • Kubernetes for the Absolute Beginners
              • Kubernetes: Getting Started (Free)
              • Kubernetes Tutorial: Learn the Basics
              • Complete Kubernetes Course
              • Getting started with Kubernetes
              "},{"location":"kubernetes/#famous-kubernetes-resources-of-2020","title":"Famous Kubernetes resources of 2020","text":"
              • javarevisited.blogspot.com: Top 5 courses to Learn Docker and Kubernetes in 2020 - Best of Lot
              • medium.com: Top 15 Online Courses to Learn Docker, Kubernetes, and AWS for Fullstack Developers and DevOps Engineers
              • medium.com: 7 Free Online Courses to Learn Kubernetes in 2020
              • skillslane.com: 10 Best Kubernetes Courses [2020]: Beginner to Advanced Courses
              "},{"location":"kubernetes/#compliant-kubernetes","title":"Compliant Kubernetes","text":"
              • compliantkubernetes.io: Compliant Kubernetes is a Certified Kubernetes distribution, that complies with: HIPAA, GDPR, PCI DSS, FFFS 2014:7, ISO 27001, etc. \ud83c\udf1f
              "},{"location":"kubernetes/#pci-ssc-payment-card-industry-security-standards-council","title":"PCI SSC (Payment Card Industry Security Standards Council)","text":"
              • en.wikipedia.org: Payment Card Industry Data Security Standard
              • container-security.site: PCI Container Orchestration Guidance for Kubernetes The PCI council released (generic) guidance for organizations using tools like Docker and Kubernetes in payment systems. This series of articles is meant to discuss the details and how to apply it specifically to Kubernetes.
              "},{"location":"kubernetes/#kubernetes-slack-channel","title":"Kubernetes Slack Channel","text":"
              • kubernetes.slack.com
              • slack.kubernetes.io is the way to get yourself invited.
              "},{"location":"kubernetes/#bunch-of-images","title":"Bunch of images","text":"Click to expand!

              "},{"location":"kubernetes/#videos","title":"Videos","text":"Click to expand!"},{"location":"kubernetes/#spanish-videos","title":"Spanish Videos","text":"Click to expand!"},{"location":"kubernetes/#tweets","title":"Tweets","text":"Click to expand!

              Can you change an application without changing any code in Kubernetes?You can when you use multiple containers in a single Pod.Here\u2019s a visual recap of @EmanuelMEvans \u2019s article on extending apps on Kubernetes with multi-container pods https://t.co/afS3pPj4zb pic.twitter.com/LS5zOZErbE

              \u2014 Daniele Polencic (@danielepolencic) March 1, 2021

              What if you could choose the best node for your Kubernetes cluster before writing any code?I built a calculator to choose the optimal instance sizing for your Kubernetes clusterhttps://t.co/3jlyCLrvdqDiscover:- costs (used, wasted, kubelet)- overcommitment- utilisation pic.twitter.com/gdRTEWkez6

              \u2014 Daniele Polencic (@danielepolencic) September 7, 2021

              THREAD: What happens when you create a Pod in Kubernetes?Spoiler: a surprisingly simple task reveals a complicated workflow that touches several components in the cluster. pic.twitter.com/SNEufo0lBe

              \u2014 Daniele Polencic (@danielepolencic) August 6, 2020

              THREAD: How to quarantine a Pod in Kubernetes.This technique helps you with debugging running Pods in production.The Pod is detached from the Service (no traffic), and you can troubleshoot it live.Let's get started! pic.twitter.com/E7AUh2ylM7

              \u2014 Daniele Polencic (@danielepolencic) June 24, 2020

              THREAD: How to gracefully shut down Pods without dropping production traffic in KubernetesIf you've ever noticed dropped connection after a rolling upgrade, this thread digs into the details.Let's start: \ud835\ude38\ud835\ude29\ud835\ude22\ud835\ude35 \ud835\ude29\ud835\ude22\ud835\ude31\ud835\ude31\ud835\ude26\ud835\ude2f\ud835\ude34 \ud835\ude38\ud835\ude29\ud835\ude26\ud835\ude2f \ud835\ude22 \ud835\ude17\ud835\ude30\ud835\ude25 \ud835\ude2a\ud835\ude34 \ud835\ude25\ud835\ude26\ud835\ude2d\ud835\ude26\ud835\ude35\ud835\ude26\ud835\ude25? pic.twitter.com/jS5litVUlw

              \u2014 Daniele Polencic (@danielepolencic) July 6, 2020

              THREAD: How does the scheduler work in Kubernetes?The scheduler is in charge of deciding where your pods are deployed in the cluster.It might sound like an easy job, but it's rather complicated!Let's dive into it. pic.twitter.com/iC1vnargc4

              \u2014 Daniele Polencic (@danielepolencic) September 24, 2020

              MEGATHREADLearn Kubernetes one Twitter thread at the time!Below you can find a collection of threads about Kubernetes and Kubernetes-related tech!I regularly add more, so you can follow me or @learnk8s for more updates! pic.twitter.com/0ingxHn9vx

              \u2014 Daniele Polencic (@danielepolencic) August 26, 2020

              THREADRunning new apps in Kubernetes is straightforward.But what happens when you have legacy apps that:- Log to file instead of stdout?- Has no support Prometheus?- Has no support for HTTPSRead on \u2192 pic.twitter.com/m79f69Huqw

              \u2014 Daniele Polencic (@danielepolencic) February 22, 2021

              I'm often asked why I prefer zonal Kubernetes clusters over regional clusters. @gctaylor does a great job explaining how @reddit leverages zonal clusters to limit the blast radius of config changes and reduce cross AZ network traffic. https://t.co/3pW5awTtdQ

              \u2014 Kelsey Hightower (@kelseyhightower) March 18, 2021

              THREADHow do you scale background jobs in Kubernetes?With Python, Celery, RabbitMQ and KEDA! pic.twitter.com/BOtwiSjIKW

              \u2014 Daniele Polencic (@danielepolencic) March 29, 2021

              Architecting #Kubernetes clusters: Should you use a single cluster or many clusters for your team(s)?There are pros and cons to both, read the thread to find out more \ud83e\uddf5 pic.twitter.com/1n5ACO97Ay

              \u2014 appvia (@appvia_io) August 17, 2021

              Unpopular opinion: Kubernetes doesn't have a clear separation between admin and app developer APIs, and we acknowledged this as a source of complexity but maybe this is why it became successful.

              \u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) September 9, 2021

              Kubernetes API is a regular HTTP REST API.Much like any other API, it can be extended:- By adding new endpoints- By adding new request handlersAdding a new endpoint is as simple as registering a Custom Resource. But how to add a new request handler? \ud83d\udd3d

              \u2014 Ivan Velichko (@iximiuz) April 2, 2022"},{"location":"kubernetes/#tweets-2","title":"Tweets 2","text":"Click to expand!

              Kubernetes saved us from a world of completely proprietary Cloud APIs and provided a trustworthy basis for an open ecosystem of infrastructure tools and APIs. https://t.co/i67orzir2O

              \u2014 Ian Lewis \ud83d\udc89\ud83d\udc89 (@IanMLewis) September 11, 2021

              As more enterprises embrace #containers, they\u2019ll find they need #Kubernetes, too. With our open approach, #K8s does more. Here\u2019s how: https://t.co/y9TciK53F1 pic.twitter.com/CPWHcy5TOZ

              \u2014 Nicholas Gerasimatos - Red Hat (@nicholas_redhat) September 23, 2021

              \ud83e\uddf5How do you keep up with Kubernetes?If you are looking for curated Kubernetes news, we have you covered on:- Core Kubernetes- Security- Architecture & development- Job opportunities- K3sHere are the accounts that you should follow: pic.twitter.com/Hcw9BelCsd

              \u2014 Learnk8s (@learnk8s) October 20, 2021

              @kubernetesio @K8sArchitect K8s Architecture pic.twitter.com/Kbm11a8oMA

              \u2014 Julien (@MapEngArch) October 24, 2021

              How Kubernetes differs from Docker in the way it deals with containers \ud83d\udd3dUnder the hood, Kubernetes and Docker both rely on the same/similar lower-level components to run containers.Often, both use containerd and runc. However, Kubernetes makes the container runtime pluggable pic.twitter.com/5daIalpmrt

              \u2014 Ivan Velichko (@iximiuz) October 30, 2021

              Does Kubernetes rebalance your Pods?If there's a node that has more space, does Kubernetes recompute and balance the workloads?\ud83e\udd14Let's see! pic.twitter.com/ML7JIGGtrq

              \u2014 Daniele Polencic (@danielepolencic) November 9, 2021

              As we close out the year, a few 2022 predictions. \ud83e\uddf51. 2022 will be the year where Kubernetes is finally recognized as technology for platform teams enabling product groups, rather than a technology designed for direct end-usage by developers.

              \u2014 Gabe Monroy (@gabe_monroy) December 25, 2021

              Within a kubernetes cluster, what actually pulls down the image from a remote registry?Wrong answers only please.

              \u2014 Mark Manning (@antitree) January 31, 2022

              For a long time, kubebuilder for me was just a means to scaffold controller projects. But kubebuilder's README says:> Kubebuilder is a framework for building Kubernetes APIs.And finally, I got it! Kubernetes APIs > HTTP APIs.Eg: A custom controller is a form of an async API.

              \u2014 Ivan Velichko (@iximiuz) February 1, 2022

              I am no longer Kubernetes certified. My CKA and CKAD have expired.They were some of the hardest and most valuable certs I got when getting started with Kubernetes.Highly recommend people check them out if you're getting into cloud or SRE

              \u2014 Justin Garrison (@rothgar) March 31, 2022

              Kubernetes basics explained by analogy \ud83e\uddf5...or \"How Kubernetes Just Repeats Good Old Deployment Patterns\"1. For a long time, people had been deploying services as groups of virtual (or physical) machines.But VMs were often slow and bulky. Hence, not very efficient. pic.twitter.com/u5c8vmSx4V

              \u2014 Ivan Velichko (@iximiuz) July 24, 2022

              When it comes to YAML manifests for Kubernetes, is it Best Practice to create individual YAML files for each object (namespace, secret, configmap, deployment, statefulset...) or do people put everything in the one YAML?

              \u2014 Michael Cade (@MichaelCade1) August 11, 2022

              It's funny: everyone thinks CPU requests are only used for scheduling (WRONG) and memory requests determine who gets OOMKilled (WRONG) but it's actually the opposite! At runtime, memory requests do nothing, but CPU requests DO.#kubernetes is funny like that

              \u2014 Natan Yellin (@aantn) August 27, 2022

              Reducing infrastructure costs boils down to turning apps off when you don't use themThat's easy to do manually, but how to turn them on automatically when you need them?You can do so with a scale-to-zero strategyLet me show you how to implement it in Kubernetes pic.twitter.com/YDqbAQlWUK

              \u2014 Daniele Polencic (@danielepolencic) September 12, 2022

              One of the interesting challenges with Kubernetes is deploying workloads across several regionsLet me show you how I orchestrate workloads across Europe, Asia and North America with Kubernetes, Istio and Karmada pic.twitter.com/Ukaqbj8Eek

              \u2014 Daniele Polencic (@danielepolencic) September 26, 2022

              Kind reminder: If you want to master Containers and Kubernetes, I've got a blog and newsletter for you! \ud83d\udc4bBlog: https://t.co/9J6Aj8Jn3UNewsletter: https://t.co/DQyv14T0NwThe focus is on:- Clarity- Fundamentals- Visual explanations Here are some recent content samples \ud83d\udc47 pic.twitter.com/f3B7dGhGr1

              \u2014 Ivan Velichko (@iximiuz) October 1, 2022

              Kubernetes has two types of resources. Compressible and non-compressible.CPU is a compressible resource. K8s can give and take CPUs whenever it likes. Pod that need CPU and don't get it will wait.Memory is non-compressible. K8s can't take it away without killing the pod. pic.twitter.com/OLfpvjDk17

              \u2014 Natan Yellin (@aantn) November 10, 2022

              What happens when you create a Pod in Kubernetes?A surprisingly simple task reveals a complicated workflow that touches several components in the cluster.Let's dive into it. pic.twitter.com/T1VGR18rRu

              \u2014 Daniele Polencic \u2014 @danielepolencic@hachyderm.io (@danielepolencic) February 6, 2023

              Should you have more than one team using the same Kubernetes cluster?Can you run untrusted workloads safely from untrusted users?Does Kubernetes do multi-tenancy?Let's see! pic.twitter.com/3H2BfAkuIG

              \u2014 Daniele Polencic \u2014 @danielepolencic@hachyderm.io (@danielepolencic) April 10, 2023

              In-depth understanding of Deployments in KubernetesWhen running apps on #Kubernetes, most of you must have used Deployments to manage ReplicaSet and Pods. However, it\u2019s hard to say that we\u2019ve used Deployments effectively.\ud83d\udc40https://t.co/0ou1uefMks #DevOps #CloudNative

              \u2014 Ministry of Cloud \ud83c\uddee\ud83c\uddf3 (@NaveenS16) March 23, 2023

              Does Kubernetes rebalance your Pods?If there's a node that has more space, does Kubernetes recompute and balance the workloads?Let's have a look \ud83d\udc49 pic.twitter.com/VHKPUEoXd3

              \u2014 Daniele Polencic \u2014 @danielepolencic@hachyderm.io (@danielepolencic) April 3, 2023

              If you don't need Kubernetes don't use it.What is being described here was already happening. Companies are spending too much time managing CI/CD pipelines, IaC, random bash scripts, and a whole collection of custom tooling no one wants to talk about. https://t.co/VkfMlfS1an

              \u2014 Kelsey Hightower (@kelseyhightower) June 21, 2023

              Kubernetes Java Tip \ud83d\udca1Do you set a CPU limit for Java\u2615\ufe0f apps on Kubernetes? How does it impact your apps startup time? You can solve that problem with a new Kubernetes feature called \"In-place Pod Vertical Scaling\" in that way \ud83d\udc47#kubernetes #java #cpu pic.twitter.com/B3ygyozoo7

              \u2014 Piotr Mi\u0144kowski (@piotr_minkowski) August 22, 2023"},{"location":"kubernetes/#memes","title":"Memes","text":"Click to expand!

              Kubernetes experts be like: pic.twitter.com/0z47Q9bdZm

              \u2014 memenetes (@memenetes) October 11, 2021

              Every kubernetes tutorial ever pic.twitter.com/b2qNU143sZ

              \u2014 memenetes (@memenetes) January 31, 2022

              Using kubernetes for single page apps pic.twitter.com/2gW6ELi2Gi

              \u2014 memenetes (@memenetes) February 10, 2022

              Deploying your own kubernetes cluster pic.twitter.com/9kblyVKK1Z

              \u2014 memenetes (@memenetes) February 14, 2022

              Kubernetes path to production readiness pic.twitter.com/OgQd5Vj8Io

              \u2014 memenetes (@memenetes) February 17, 2022

              Deleting a stuck pod pic.twitter.com/LxaYt0E0F6

              \u2014 memenetes (@memenetes) February 21, 2022

              new and shiny, or old and proven? pic.twitter.com/lPhLi651tu

              \u2014 memenetes (@memenetes) March 7, 2022

              Using kubernetes to run stateful workloads pic.twitter.com/jHaZiCGclj

              \u2014 memenetes (@memenetes) March 17, 2022

              Also how I prepare for a major cluster upgrade pic.twitter.com/ANY2cHH0CN

              \u2014 memenetes (@memenetes) March 24, 2022

              Container orchestration competition pic.twitter.com/JPDu4BWhgZ

              \u2014 memenetes (@memenetes) March 28, 2022

              Watching devs using Kubernetes pic.twitter.com/uxGr2bP98c

              \u2014 memenetes (@memenetes) April 4, 2022

              When you are the only one that knows Kubernetes and are asked to help pic.twitter.com/VIomvubkkj

              \u2014 memenetes (@memenetes) September 12, 2022

              Your next challenge is to write a correct kubernetes yaml file from memory pic.twitter.com/h6FCA5iBzX

              \u2014 memenetes (@memenetes) September 26, 2022

              Everyone who gets through a successful cluster upgrade pic.twitter.com/BDb0cVWqMh

              \u2014 memenetes (@memenetes) October 27, 2022

              Using Kubernetes + ELK stack + Prometheus to deploy a static site pic.twitter.com/DB95WovYXU

              \u2014 memenetes (@memenetes) October 31, 2022

              If you've been there, you know. pic.twitter.com/7CefZXfmk5

              \u2014 memenetes (@memenetes) November 10, 2022

              The average GitOps pipeline pic.twitter.com/pexcfFMNfy

              \u2014 memenetes (@memenetes) November 17, 2022

              Self inflicted pain pic.twitter.com/V5zXOCtWj5

              \u2014 Appvia (@appvia_io) December 6, 2022

              When there's a new Kubernetes release, but you are the one upgrading all clusters pic.twitter.com/nuII6vKfYP

              \u2014 memenetes (@memenetes) December 12, 2022

              When you say not everything has to run on Kubernetes pic.twitter.com/QNuan5nw90

              \u2014 memenetes (@memenetes) December 22, 2022

              \"It's Kubernetes! I know this!\" pic.twitter.com/djD4Ns3iEY

              \u2014 memenetes (@memenetes) February 13, 2023

              \"But think about the cost reduction\" pic.twitter.com/8qWJpNgnu1

              \u2014 memenetes (@memenetes) February 23, 2023

              everyone loves free stuff pic.twitter.com/lcAKpc29BG

              \u2014 memenetes (@memenetes) March 9, 2023

              It's not that hard pic.twitter.com/o6J2em6tkk

              \u2014 memenetes (@memenetes) March 13, 2023

              Still cheaper than running multiple EKS clusters pic.twitter.com/Rk1sDEzLCY

              \u2014 memenetes (@memenetes) March 16, 2023

              This is what happens to your SRE team when you're not considering #MultiTenancy for your #Kubernetes platforms.Adopt #MultiTenancy, save SREs' life from getting paged and getting buried from the operational burden: it could be done, thanks to #Capsule and #Kamaji! pic.twitter.com/tHXWVe6mdX

              \u2014 prometherion (@tranchitellad) April 3, 2023

              Using the HPA without a metrics server pic.twitter.com/kjCCmIDnTh

              \u2014 memenetes (@memenetes) April 17, 2023

              In Kubernetes, you can use labels to assign key-value pairs to any resources.Labels are ubiquitous and necessary to everyday operations such as creating services.However, how should you name and use those labels? pic.twitter.com/l3P1lFcTus

              \u2014 Daniele Polencic \u2014 @danielepolencic@hachyderm.io (@danielepolencic) April 24, 2023

              Day in the life of a kubernetes engineer pic.twitter.com/MgPnR8ShNd

              \u2014 memenetes (@memenetes) May 15, 2023

              • KEP-2837: Especificaciones de Recursos a Nivel de Pod \ud83c\udf1f - Este KEP propone la especificaci\u00f3n de recursos de CPU y memoria a nivel de pod en Kubernetes para mejorar la gesti\u00f3n de recursos y el aislamiento.
              "},{"location":"kustomize/","title":"Template-Free Configuration Customization with Kustomize (Kubernetes Native Configuration Management)","text":"
              1. Introduction
              2. Secretize plugin
              3. Comparison between Helm and Kustomize for Kubernetes yaml management
              4. Boilerplate
              5. Videos
              "},{"location":"kustomize/#introduction","title":"Introduction","text":"
              • kustomize.io \ud83c\udf1f
                • Kustomize introduces a template-free way to customize application configuration that simplifies the use of off-the-shelf applications. Now, built into kubectl as apply -k.
                • Kustomize traverses a Kubernetes manifest to add, remove or update configuration options without forking.
                • It is available both as a standalone binary and as a native feature of kubectl.
              • kubernetes.io: Introducing kustomize; Template-free Configuration Customization for Kubernetes If you run a Kubernetes environment, chances are you\u2019ve customized a Kubernetes configuration \u2014 you\u2019ve copied some API object YAML files and edited them to suit your needs. But there are drawbacks to this approach \u2014 it can be hard to go back to the source material and incorporate any improvements that were made to it. Today Google is announcing kustomize, a command-line tool contributed as a subproject of SIG-CLI. The tool provides a new, purely declarative approach to configuration customization that adheres to and leverages the familiar and carefully designed Kubernetes API.
              • Declarative Management of Kubernetes Objects Using Kustomize
              • blog.tomarrell.com: Kustomize: Traefik v2.2 as a Kubernetes Ingress Controller
              • Kubestack Gitops Framework is a Gitops framework built on Terraform and Kustomize
              • 3 ways to customize off-the-shelf Helm charts with Kustomize - Kubernetes
              • dex.dev: YAML Templating Solutions: Helm & Kustomize Writing config files by hand is like coding with Notepad instead of an IDE. Let\u2019s find a better way, and take an overview of the popular solutions Helm & Kustomize.
              • blog.stack-labs.com: Kustomize - The right way to do templating in Kubernetes
              • opensource.com: Modify your Kubernetes manifests with Kustomize Modify your Kubernetes manifests without losing control of what\u2019s in the original versions.
              • dev.to: Introduction to Kustomize - How to customize Kubernetes objects kubernetes
              • mirantis.com: Kustomize Tutorial: Creating a Kubernetes app out of multiple pieces
              • codefresh.io: Applied GitOps with Kustomize In this article, you will learn Kustomize and how it can help deploy Kubernetes manifest with GitOps. This will allow you to leverage the power of Kustomize to define YAML files without using a templating engine
              • tech.aabouzaid.com: Set OpenAPI patch strategy for Kubernetes Custom Resources - Kustomize Kustomize supports 2 main client-side patching methods for Kubernetes manifests: JSON Patching and Strategic Merge Patch. This article discusses the pros and cons and shows how to add a merging strategy extension for Custom Resources.
              • nakamasato.medium.com: Comparison between Helm and Kustomize for Kubernetes yaml management
              • pauldally.medium.com: Kustomize Best Practices (Part 1) Kubectl includes a very useful command called kustomize that allows a template-free way to customize Kubernetes application configuration.
                • pauldally.medium.com: Kustomize Best Practices (Part 2)
              • notmattlucas.com: Kubernetes Configuration with Kustomize
              • medium.com/@nanditasahu031: How to Start with Kustomize \u2014 it\u2019s Features
              • harness.io: Comparing Helm vs Kustomize
              • nicolasbarlatier.hashnode.dev: Introduction Kubernetes and Kustomize: How to easily customize any resource configuration with Kustomize? In this tutorial, you will learn how to use Kustomize to template the number of replicas in a workload based on the environment (e.g. 1 pod in dev, 10 pods in prod)
              • github.com/kostis-codefresh: How to Model Your Gitops Environments with kustomize \ud83c\udf1f In this repository, you\u2019ll find an example of how to model Kustomize folders for a GitOps application and promote releases between environments
              • dev.to: Kubernetes Kustomize Tutorial: A Beginner-Friendly Developer Guide!
              • pauldally.medium.com: Kustomize Best Practices (part 3)
              • levelup.gitconnected.com: Helm vs. Kustomize: Navigating Kubernetes Configuration Complexity
              • devopscube.com/kustomize-tutorial: Kustomize Tutorial: Comprehensive Guide For Beginners \ud83c\udf1f
              • blog.devgenius.io: Kustomize \u2014 K8 manifest patching In this tutorial, you will learn how to manipulate YAML files using Kustomize
              • faun.pub: How to build a GitOps workflow with ArgoCD, Kustomize and GitHub Actions Gain speed and clarity by adopting GitOps for your deployments
              • techiescamp.com: Kubernetes Kustomize Crash Course In this Kustomize crash course, you will learn all the Kustomize concepts and deploy an application using Kustomize on a Kubernetes cluster.
              • devopscube.com/kuztomize-configmap-generators: Kuztomize Secret & Configmap Generators [Practical Examples]
              • itnext.io: Generating, transforming, and patching Kubernetes configuration with Kustomize
              "},{"location":"kustomize/#secretize-plugin","title":"Secretize plugin","text":"
              • Secretize \ud83c\udf1f Secretize is a kustomize plugin that helps generating kubernetes secrets from various sources such as AWS Secret Manager & Azure Vault. It\u2019s like a swiss army knife, but for kubernetes secrets.
              "},{"location":"kustomize/#comparison-between-helm-and-kustomize-for-kubernetes-yaml-management","title":"Comparison between Helm and Kustomize for Kubernetes yaml management","text":"
              • itnext.io: Helm Is Not Enough, You Also Need Kustomize Customize the YAML\u2019s to enforce policies from application operators, security operators, and cluster operators.
              • harness.io: Comparing Helm vs Kustomize \ud83c\udf1f
              • nakamasato.medium.com: Comparison between Helm and Kustomize for Kubernetes yaml management Helm and Kustomize are often compared with each other in the context of managing Kubernetes manifest file. Although those two tools have similar features, they are fundamentally different. In this post, I\u2019ll compare them from several points of view with a sample application.
              "},{"location":"kustomize/#boilerplate","title":"Boilerplate","text":"
              • chrisns/k8s-opa-boilerplate Boilerplate example of managing OPA with kustomize
              "},{"location":"kustomize/#videos","title":"Videos","text":"Click to expand!"},{"location":"linux-dev-env/","title":"WSL: Linux Dev Environment on Windows","text":"
              • docs.microsoft.com: WSL - Windows Subsystem for Linux
              • Using WSL and MobaXterm to Create a Linux Dev Environment on Windows
              • Setting Up Docker for Windows and WSL to Work Flawlessly
              • Take your Linux development experience in Windows to the next level with WSL and Visual Studio Code Remote
              • kubernetes.io: WSL+Docker: Kubernetes on the Windows Desktop \ud83c\udf1f A lesson on how to install Kubernetes in Docker KinD and Minikube.
              • Ubuntu on WSL 2 Is Generally Available \ud83c\udf1f
              • Microsoft Makes it Easier to Install WSL on Windows 10 \ud83c\udf1f wsl.exe --install
              • kubernetes.io - WSL+Docker: Kubernetes on the Windows Desktop \ud83c\udf1f
              • 9elements.com: Developing on Windows with WSL2
              • Docker Desktop & WSL 2 \u2013 Backport Update Docker Desktop Edge users will be able to use Docker Desktop with WSL 2 rather than our legacy HyperV based backend. This is available not only for Windows Pro and Windows Enterprise, but also for Windows Home users.
              • itnext.io: WSL2 Tips: Limit CPU/Memory When using Docker
              • Distro installation added to WSL \u2013install in Windows 10 insiders preview build 20246
              • pandorafms.com: Qu\u00e9 es, c\u00f3mo instalar WSL2 y por qu\u00e9 es una gran noticia para el sector TI
              • dev.to: Install Docker on Windows (WSL) without Docker Desktop \ud83c\udf1f
              • techrepublic.com: Windows Subsystem for Linux 2: The GUI features developers have been asking for
              • bleepingcomputer.com: Windows 11 can now install WSL from the Microsoft Store \ud83c\udf1f
              • klaushofrichter.medium.com: Using Windows Subsystem for Linux for Kubernetes
              "},{"location":"linux-dev-env/#windows-terminal","title":"Windows Terminal","text":"
              • Windows Terminal 1.0
              • Microsoft launches Windows Terminal 1.0, unveils GPU support and Linux GUI apps in WSL
              "},{"location":"linux-dev-env/#windows-package-manager","title":"Windows Package Manager","text":"
              • Windows Package Manager CLI (aka winget)
              • Microsoft debuts Windows Package Manager for your dev environment
              "},{"location":"linux-dev-env/#asdf-vm","title":"ASDF-VM","text":"
              • asdf version manager (asdf-vm) is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like gvm, nvm, rbenv & pyenv (and more) all in one! Simply install your language\u2019s plugin!
              "},{"location":"linux-dev-env/#alternatives-to-wsl-on-windows","title":"Alternatives to WSL on Windows","text":"
              • cmder \ud83c\udf1f
              "},{"location":"linux/","title":"Linux and SSH","text":"
              1. Introduction
              2. RHEL
              3. Rocky Linux
              4. VIM
              5. Neovim
              6. SSH
              7. OpenSSL
              8. Linux Blogs
              9. Spanish Linux Blogs
              10. Youtube
              11. Reddit
              12. Linux Commands and Tools
              13. Makefiles
              14. Guestfish
              15. BusyBox
              16. Bash
              17. Questions and Answers
              18. Automation. Bash VS Python VS JavaScript
              19. Zsh
              20. ZX
              21. bpftrace
              22. Linux processes
              23. Linux Memory
              24. KVM
              25. Linux and Kubernetes
                1. Systemd
                2. Blogs
                3. CommandLineFu
                4. Wait until Your Dockerized Database Is Ready before Continuing
                5. Copr Build System
                6. Pulp
                7. Hashicorp
              26. Linux Libraries
              27. Linux Networking
              28. Networking Protocols
              29. Linux Hardening Security
              30. Images
              31. Videos
              32. Tweets
              "},{"location":"linux/#introduction","title":"Introduction","text":""},{"location":"linux/#rhel","title":"RHEL","text":"
              • infoworld.com: Red Hat\u2019s crime against CentOS In the beginning, no one expected to get Red Hat Enterprise Linux for free. The end of CentOS as a free drop-in replacement is no cause for outrage.
              • arstechnica.com: CentOS is gone\u2014but RHEL is now free for up to 16 production servers RHEL is now free for dev teams, and it\u2019s even free in production for up to 16 systems.
              • cyberciti.biz: Red Hat introduces new no-cost RHEL option
              • enterpriseai.news: Red Hat\u2019s Disruption of CentOS Unleashes Storm of Dissent
              • arstechnica.com: Why Red Hat killed CentOS\u2014a CentOS board member speaks \u201cThe CentOS Board doesn\u2019t get to decide what Red Hat engineering teams do.\u201d
              • zdnet.com: Red Hat introduces free RHEL for open-source, non-profit organizations Some CentOS users still aren\u2019t happy, but Red Hat is keeping its promise to open-source organizations that they\u2019ll have access to a free version of RHEL.
              • genbeta.com: Red Hat Enterprise Linux lanza una versi\u00f3n a bajo costo para llegar a m\u00e1s p\u00fablico de sectores de investigaci\u00f3n y acad\u00e9mico
              • makeuseof.com: The 4 Best RHEL-Based Alternatives to CentOS Now that CentOS is gone, you should make a switch to some other OS. Check out these four RHEL-based CentOS alternatives.
              • centos.org: Comparing Centos Linux and CentOS Stream The CentOS Project produces two variants: CentOS Linux and CentOS Stream. They are alike in many ways. Here\u2019s what sets them apart.
              • makeuseof.com: The 7 Best Red Hat-Based Linux Distributions Unlike other Linux distros, RHEL isn\u2019t free to download. But you can still enjoy its benefits by installing these free RHEL-based Linux distributions.
              "},{"location":"linux/#rocky-linux","title":"Rocky Linux","text":"
              • https://rockylinux.org
              • cloudsavvyit.com: Is Rocky Linux the new CentOS?
              • 9to5linux.com: CentOS Alternative Rocky Linux 8.5 Is Out Now with Secure Boot Support, Updated Components Derived from Red Hat Enterprise Linux 8.5, Rocky Linux 8.5 is here to introduce an important feature for the mass adoption of this CentOS Linux alternative, namely Secure Boot support.
              "},{"location":"linux/#vim","title":"VIM","text":"
              • VimWiki
              • redhat.com: Vim: Basic and intermediate commands
              • thevaluable.dev: A Vim Guide for Advanced Users
              • redhat.com: Recursive Vim macros: One step further into automating repetitive tasks Take Vim to the limit with recursive macros.
              • openvim.com Interactive Vim tutorial for developers, sysadmins and Linux or Unix users.
              • levelup.gitconnected.com: Vim: A How-To Guide Key Techniques with Vim for Faster Programming
              "},{"location":"linux/#neovim","title":"Neovim","text":"
              • neovim hyperextensible Vim-based text editor
              • blog.ashwinchat.com: 9 Months of Full Time Neovim + Tmux
              "},{"location":"linux/#ssh","title":"SSH","text":"
              • gravitational.com: How to SSH Properly \ud83c\udf1f
              • 19 Common SSH Commands In Linux With Examples
              • commandlinefu.com/commands/matching/ssh
              • Auto-SSH for Linux security
              • Grant-Revoke-ssh-access To automate the process of granting ssh access to a group of servers instances
              • How to use SSH properly and what is SSH Agent Forwarding
              • How To Set up SSH Keys on a Linux / Unix System
              • opensource.com: Bypass your Linux firewall with SSH over HTTP Remote work is here to stay; use this helpful open source solution to quickly connect and access all your devices from anywhere.
              • T\u00faneles SSH
              • paepper.com: How to properly manage ssh keys for server access
              • goteleport.com: SSH Certificates Security. SSH Access Hardening \ud83c\udf1f
              • dev.to: How to Manage Multiple SSH Key Pairs
              • cyberciti.biz: Top 20 OpenSSH Server Best Security Practices
              • cyberciti.biz: How To Reuse SSH Connection To Speed Up Remote Login Process Using Multiplexing
              • cyberciti.biz: OpenSSH Change a Passphrase With ssh-keygen command
              • thenewstack.io: SSH Made Easy with SSH Agent and SSH Config
              • linuxteck.com: 10 basic and most useful \u2018ssh\u2019 client commands in Linux
              • cyberciti.biz: How to audit SSH server and client config on Linux/Unix OpenSSH is critical for Linux & Unix servers. However, misconfig can create issues. But fear not, you can audit the SSH server & client config easily. You don\u2019t have to be a security guru. New developers and sysadmins can look for security & other issues.
              • iximiuz.com: A Visual Guide to SSH Tunnels: Local and Remote Port Forwarding \ud83c\udf1f
              "},{"location":"linux/#openssl","title":"OpenSSL","text":"
              • redhat.com: 6 OpenSSL command options that every sysadmin should know Look beyond generating certificate signing requests and see how OpenSSL commands can display practical information about certificates.
              • tecmint.com: Testssl.sh \u2013 Testing TLS/SSL Encryption Anywhere on Any Port
              "},{"location":"linux/#linux-blogs","title":"Linux Blogs","text":"
              • The Linux Foundation
              • tecmint.com \ud83c\udf1f
              • nixCraft \ud83c\udf1f
              • unixmen.com \ud83c\udf1f
              • opensource.com \ud83c\udf1f
              • linux.com \ud83c\udf1f
              • linuxteck.com
              • linoxide.com \ud83c\udf1f
              • linuxjourney.com
              • howtoforge.com
              • tecadmin.net
              • systemcodegeeks.com
              • linuxnix.com
              • learnitguide.net \ud83c\udf1f
              • FOSS Force
              • linuxhomenetworking.com
              • linuxtoday.com
              • unixetc.co.uk
              • LWN.net
              • Linux-tutorial.info
              • The Lone Sysadmin
              • LinuxLinks.com
              • unixmages.com
              • The Geek Stuff
              • abarrak.gitbook.io: Linux SysOps Handbook \ud83c\udf1f A study notes book for the common knowledge and tasks of a Linux system admin.
              "},{"location":"linux/#spanish-linux-blogs","title":"Spanish Linux Blogs","text":"
              • systemadmin.es
              • muylinux.com
              • linuxadictos.com
              "},{"location":"linux/#youtube","title":"Youtube","text":"
              • Linux Skills
              • CLImagic
              "},{"location":"linux/#reddit","title":"Reddit","text":"
              • reddit.com/r/linuxadmin Expanding Linux SysAdmin knowledge
              "},{"location":"linux/#linux-commands-and-tools","title":"Linux Commands and Tools","text":"
              • watchman command: A File and Directory Watching Tool for Changes
              • ip command: How to use IP Command in Linux with Examples
              • curl command: Understanding the Hidden Powers of curl
              • How To Use grep Command In Linux / UNIX \ud83c\udf1f
              • tecmint.com: vtop \u2013 A Linux Process and Memory Activity Monitoring Tool
              • tecmint.com: How to Install htop on CentOS 8
              • cyberciti.biz: bpytop \u2013 Awesome Linux, macOS and FreeBSD resource monitor
              • redhat.com: Save time at the command line with HTTPie instead of curl Automate testing endpoints, downloading files, and submitting forms with HTTPie.
              • redhat.com: World domination with cgroups part 8: down and dirty with cgroup v2
              • freecodecamp.org: RSync Examples \u2013 Rsync Options and How to Copy Files Over SSH
              • tecmint.com: How to Control Systemd Services on Remote Linux Server
              • redhat.com: Vim: Basic and intermediate commands
              • redhat.com: Using ssh-keygen and sharing for key-based authentication in Linux SSH key-based authentication is helpful for both security and convenience. See how to generate and share keys.
              • tecmint.com: How to Run Commands from Standard Input Using Tee and Xargs in Linux
              • cyberciti.biz: How to configure pfSense as multi wan (DUAL WAN) load balance failover router
              • nikhilism.com: Mystery Knowledge and Useful Tools
              • developers.redhat.com: Linux commands for developers
              • cyberciti.biz: BASH Shell Change The Color of Shell Prompt on Linux or UNIX
              • cyberciti.biz: How to check TLS/SSL certificate expiration date from command-line
              • igoroseledko.com: Parallel Rsync
              • redhat.com: How to record your Linux terminal using asciinema Asciinema might be the application you\u2019ve been looking for to demonstrate a skill or process that you want your colleagues or students to learn on-demand.
              • redhat.com: 5 advanced rsync tips for Linux sysadmins Use rsync compression and checksums to better manage file synchronization.
              • metacpan.org: a2p - Awk to Perl translator A2p takes an awk script specified on the command line (or from standard input) and produces a comparable perl script on the standard output.
              • oilshell: Alternative shells
              • Timezone Bullshit
              • cyberciti.biz: How to check memory utilization in Linux
              • tecmint.com: Different Ways to Use Column Command in Linux
              • opensource.com: How to use the Linux grep command
              • dnschecker.org \ud83c\udf1f
              • tecmint.com: 10 Useful Commands to Collect System and Hardware Information in Linux
              • cyberciti.biz: How To Find Largest Top 10 Files and Directories On Linux / UNIX / BSD
              • cyberciti.biz: How to restart systemd without rebooting Linux when critical libraries installed
              • cyberciti.biz: How to install ncdu on Linux / Unix to see disk usage
              • cyberciti.biz: 21 Examples To Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
              • opensource.com: Don\u2019t love diff? Use Meld instead Meld is a visual diff tool that makes it easier to compare and merge changes in files, directories, Git repos, and more.
              • kalilinuxtutorials.com: Ldsview : Offline search tool for LDAP directory dumps in LDIF format
              • medium: Useful Commands/Solutions
              • CLImagic subscription
              • cyberciti.biz: How to save terminal output to a file under Linux/Unix
              • cyberciti.biz: ls* Commands Are Even More Useful Than You May Have Thought
              • linuxtechlab.com: Search a file in Linux using Find & Locate command
              • tecmint.com: How to Install and Configure \u2018Collectd\u2019 and \u2018Collectd-Web\u2019 to Monitor Server Resources in Linux
              • sysadminxpert.com: How to watch real time TCP and UDP ports on Linux (netstat & ss) \ud83c\udf1f
              • cyberciti.biz: How to flush Redis cache and delete everything using the CLI
              • cyberciti.biz: How To: Linux Find Large Files in a Directory
              • linuxteck.com: 15 basic curl command in Linux with practical examples
              • linuxteck.com: 12 basic cat command in Linux with examples
              • tecmint.com: How to Find Recent or Today\u2019s Modified Files in Linux \ud83c\udf1f
              • linuxshelltips.com: How to Use Netcat to Scan Open Ports in Linux \ud83c\udf1f
              • Rclone \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Rclone is a command line program to manage files on cloud storage. It is a feature rich alternative to cloud vendors\u2019 web storage interfaces. Over 40 cloud storage products support rclone including S3 object stores, business & consumer file storage services, as well as standard transfer protocols. Rclone has powerful cloud equivalents to the unix commands rsync, cp, mv, mount, ls, ncdu, tree, rm, and cat. Rclone\u2019s familiar syntax includes shell pipeline support, and \u2013dry-run protection. It is used at the command line, in scripts or via its API.
              • cyberciti.biz: 8 Tips to Solve Linux Hard Disk Problems: Like Disk Full Or Can\u2019t Write to the Disk
              • blog.ycrash.io: dmesg \u2013 Unix/Linux command, beginners introduction with examples
              • opensource.com: Use XMLStarlet to parse XML in the Linux terminal Become an XML star with XMLStarlet, an XML toolkit for your terminal.
              • redhat.com: 5 Linux commands I\u2019m going to start using Five standard Linux commands that can make your life much easier.
              • developers.redhat.com: Build your own RPM package with a sample Go program to simplify installing, updating, or removing a piece of software
              • cyberciti.biz: How to copy and transfer files remotely on Linux using scp and rsync
              • nginx.com: What Are Namespaces and cgroups, and How Do They Work? \ud83c\udf1f Namespaces provide isolation of system resources, and cgroups allow for fine\u2011grained control and enforcement of limits for those resources. Containers are not the only way that you can use namespaces and cgroups. Namespaces and cgroup interfaces are built into the Linux kernel, which means that other applications can use them to provide separation and resource constraints.
              • cyberciti.biz: How to check CPU temperature on Ubuntu Linux
              • opensource.com: Check used disk space on Linux with du Find out how much disk space you\u2019re using with the Linux du command.
              • linuxshelltips.com: How to Kill Running Linux Process on Particular Port
              • freecodecamp.org: The Linux Command Handbook \ud83c\udf1f
              • sysadminxpert.com: How to do Security Auditing of CentOS System Using Lynis Tool
              • tecmint.com: 10 Practical Examples of Rsync Command in Linux
              • tecmint.com: 10 Useful du (Disk Usage) Commands to Find Disk Usage of Files and Directories
              • tecmint.com: What\u2019s Difference Between Grep, Egrep and Fgrep in Linux?
              • opensource.com: Check file status on Linux with the stat command
              • tecmint.com: How to Kill Linux Process Using Kill, Pkill and Killall
              • linuxteck.com: 13 Top command in Linux (Monitor Linux Server Processes) \ud83c\udf1f
              • cyberciti.biz: How to use df command in Linux / Unix {with examples}
              • commandlinefu.com: Compare directories via diff: diff -rq dirA dirB
              • opensource.com: Check Java processes on Linux with the jps command With many processes running on a system, it\u2019s useful to have a quick way to identify only Java with the jps command.
              • opensource.com: Get memory use statistics with this Linux command-line tool The smem command allows you to quickly view your web applications\u2019 memory use.
              • redhat.com: 3 basic Linux group management commands every sysadmin should know How to use the groupadd, groupmod, and groupdel commands is essential knowledge for Linux sysadmins.
              • itsfoss.com/exa exa: A Modern Replacement for the ls Command
              • cyberciti.biz: diff Command Colorize Output On the Unix / Linux Command Line colordiff
              • betterprogramming.pub: How to Use tmuxp to Manage Your tmux Session Take control of your tmux sessions.
              • opensource.com: Linux tips for using cron to schedule tasks Schedule backups, file cleanups, and other tasks by using this simple yet powerful Linux command-line tool. Download our new cron cheat sheet.
              • opensource.com: 7 handy tricks for using the Linux wget command Download files from the internet in your Linux terminal. Get the most out of the wget command with our new cheat sheet.
              • makeuseof.com: The 6 Best Command Line Tools to Monitor Linux Performance in the Terminal Want to track and debug Linux System resources, storage, and network-related problems? Get started with the best Linux performance monitoring tools.
              • opensource.com: 4 Linux tools to erase your data Erase data from your hard disk drive with these open source tools.
              • redhat.com: 20 one-line Linux commands to add to your toolbox Every Linux user has a favorite single-line command. Here are the 20 Linux commands we can\u2019t live without.
              • termshark A terminal UI for tshark, inspired by Wireshark
              • baeldung.com: Maximum Number of Threads Per Process in Linux
              • opensource.com: Record your terminal session with Asciinema
              • redhat.com: 5 scripts for getting started with the Nmap Scripting Engine The NSE boosts Nmap\u2019s power by adding scripting capabilities (custom or community-created) to the network scanning tool.
              • redhat.com: Linux troubleshooting commands: 4 tools for DNS name resolution problems Find out what\u2019s stopping you from accessing a server, printer, or another network resource with these four Linux troubleshooting commands.
              • jvns.ca: A list of new(ish) command line tools | Julia Evans
              • itsfoss.com: 5 htop Alternatives to Enhance Your Linux System Monitoring Experience
              • dev.to: 50 Linux Commands every developer NEED to know with example
              • blog.devgenius.io: DevOps in Linux \u2014 Systemd Introduction
              • difftastic.wilfred.me.uk Difftastic is a CLI diff tool that compares files based on their syntax, not line-by-line. Difftastic produces accurate diffs that are easier for humans to read.
              • digitalocean.com: How To Use Journalctl to View and Manipulate Systemd Logs \ud83c\udf1f
              • github.com/curl/wcurl \ud83c\udf1f a simple wrapper around curl to easily download files
                • blog.techiescamp.com: wcurl: A Simple Wrapper for curl to download files
              "},{"location":"linux/#makefiles","title":"Makefiles","text":"
              • makefiletutorial.com \ud83c\udf1f Learn Makefiles With the tastiest examples
              "},{"location":"linux/#guestfish","title":"Guestfish","text":"
              • Guestfish
              • redhat.com: How to customize VM and cloud images with guestfish Need to tweak your cloud and virtual machine images to comply with company policies or other requirements? Give guestfish a try.
              "},{"location":"linux/#busybox","title":"BusyBox","text":"
              • busybox.net BusyBox: The Swiss Army Knife of Embedded Linux
              • genbeta.com: BusyBox, el ejecutable que agrupa casi 200 utilidades Unix de l\u00ednea de comandos (y que puedes usar tambi\u00e9n en Windows o Android)
              "},{"location":"linux/#bash","title":"Bash","text":"
              • igoroseledko.com: Checking Multiple Variables in Bash
              • Introduction to Bash Scripting Interactive training
                • dev.to: Introduction to Bash Scripting - A DO Hackathon Submission
              • datafix.com.au: BASHing data - Data ops on the Linux command line \ud83c\udf1f
              • medium: How to trigger an action at the end of the Shell/Bash script Using Bash/Shell trap, a built-in command to define any action to be executed before exiting the Bash or Shell script. You can define multiple actions and per signal.
              • redhat.com: Bash scripting: How to read data from text files Here\u2019s how to extract data from a text file such as reading in a list of servers to test connectivity to them.
              • pement.org: Over 100 sed one-liners
              • github: Safe ways to do things in bash
              • rexegg.com: Regex Syntax Tricks
              • pement.org: Handy one-line scripts for AWK
              • robertmuth.blogspot.com: Better Bash Scripting in 15 Minutes
              • cyberciti.biz: How To Bash Shell Find Out If a Variable Is Empty Or Not
              • Bash Pitfalls \ud83c\udf1f
              • cyberciti.biz: Bash For Loop Examples
              • opensource.com: Parsing config files with Bash Separating config files from code enables anyone to change their configurations without any special programming skills.
              • cloudsavvyit.com: How to Use Multi-Threaded Processing in Bash Scripts
              • opensource.com: How to include options in your Bash shell scripts
              • bash.cyberciti.biz Wiki \ud83c\udf1f
              • redhat.com: Audit user accounts for never-expiring passwords with a Bash script Non-expiring passwords might violate your organization\u2019s policies, so use this basic Bash script to quickly pick them out.
              • thenewstack.io: An Introduction to AWK
              • cyberciti.biz: How to repeat a character \u2018n\u2019 times in Bash
              • redhat.com: 2 Bash commands to change strings in multiple files at once Search and replace text in several files simultaneously, right from the Linux terminal, to gain efficiency and minimize mistakes.
              • cyberciti.biz: Bash Read Comma Separated CSV File on Linux / Unix
              • fedoramagazine.org: Bash Shell Scripting for beginners (Part 1)
              • igoroseledko.com: Awk & sed Snippets for SysAdmins
              • dev.to: Writing Bash Scripts Like A Pro - Part 1 - Styling Guide
              • linuxhandbook.com: Unusual Ways to Use Variables Inside Bash Scripts
              • opensource.com: An introduction to programming with Bash (eBook)
              • pythonspeed.com: Please stop writing shell scripts
              • linuxshelltips.com: What\u2019s the Difference Between ${} and $() in Bash
              • medium.com/kubehub: A Series on Bash Scripting
              • levelup.gitconnected.com: Start Your Scripting Journey Today | Bash Script \u2014 Part 1 Everything You Need to Know to Write Bash Scripts
              • medium.com: Shell Scripting for DevOps with Examples
              • levelup.gitconnected.com: 5 Bash String Manipulation Methods That Help Every Developer Process strings productively in your automation scripts with these syntaxes
              • piyushverma.hashnode.dev: Basic Linux Shell Scripting for DevOps Engineers
              • gnu.org/software/parallel GNU parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU parallel can then split the input and pipe it into commands in parallel.
              • youtube: Bash for Beginners Bash is considered a universal language when it comes to cloud computing and programming. Many languages support Bash commands to pass data and information and when it comes to the Cloud, all platforms support using it to interact with your environment.
              "},{"location":"linux/#questions-and-answers","title":"Questions and Answers","text":"
              • redhat.com: 5 questions to ask during your next sysadmin interview
              • trimstray/test-your-sysadmin-skills A collection of Linux Sysadmin Test Questions and Answers. Test your knowledge and skills in different fields with these Q/A.
              "},{"location":"linux/#automation-bash-vs-python-vs-javascript","title":"Automation. Bash VS Python VS JavaScript","text":"
              • betterprogramming.pub: Bash vs. Python vs. JavaScript: Which Is Better for Automation? \ud83c\udf1f Comparing the pros and cons of Bash, Python, and JavaScript-based Shell scripts
              "},{"location":"linux/#zsh","title":"Zsh","text":"
              • Oh My Zsh Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes, and a few things that make you shout\u2026
              • zshdb.readthedocs.io zshdb - a gdb-like debugger for zsh
              • github.com/zsh-users/zsh-autosuggestions \ud83c\udf1f Fish-like autosuggestions for zsh
              "},{"location":"linux/#zx","title":"ZX","text":"
              • zx A tool for writing better scripts
              "},{"location":"linux/#bpftrace","title":"bpftrace","text":"
              • bpftrace High-level tracing language for Linux eBPF. bpftrace is pretty impressive in terms of conciseness and practicality of their docs.
              • https://github.com/iovisor/bpftrace/blob/master/docs/reference_guide.md
              • https://github.com/iovisor/bpftrace/blob/master/docs/tutorial_one_liners.md
              • https://github.com/iovisor/bpftrace/blob/master/docs/internals_development.md
              • blog.flipkart.tech: The Art of System Debugging \u2014 Decoding CPU Utilization
              "},{"location":"linux/#linux-processes","title":"Linux processes","text":"
              • Controlling Process Resources with Linux Control Groups (cgroups) - (Related to kubernetes topic)

              • percona.com: How Much Memory Does the Process Really Take on Linux? \ud83c\udf1f

              "},{"location":"linux/#linux-memory","title":"Linux Memory","text":"
              • learnsteps.com: Difference between minor page faults vs major page faults
              "},{"location":"linux/#kvm","title":"KVM","text":"
              • github.com/cyberus-technology/virtualbox-kvm: KVM Backend for VirtualBox \ud83c\udf1f This repository contains a KVM backend for the open source virtualization tool VirtualBox. With this backend, Linux KVM is used as the underlying hypervisor.
              "},{"location":"linux/#linux-and-kubernetes","title":"Linux and Kubernetes","text":"
              • CPU Limits in Kubernetes: Deep Dive into Pod Throttling and Kernel Interactions - (Related to kubernetes-troubleshooting topic)

              • tldp.org: The Linux System Administrator\u2019s Guide \ud83c\udf1f

              • How Linux PID namespaces work with containers \ud83c\udf1f
              "},{"location":"linux/#systemd","title":"Systemd","text":"
              • Start using systemd as a troubleshooting tool While systemd is not really a troubleshooting tool, the information in its output points the way toward solving problems.
              "},{"location":"linux/#blogs","title":"Blogs","text":"
              • climagic.org
              • Linux 101 Hacks
              • linuxjourney.com commandline
              • The Art of Command Line
              "},{"location":"linux/#commandlinefu","title":"CommandLineFu","text":"
              • CommandLineFu \ud83c\udf1f
              • twitter.com/commandlinefu Command line diamonds, created and voted on by our members
              • twitter.com/commandlinefu3 3-star commands, a Linux afficionado\u2019s wet dream
              • twitter.com/commandlinefu10 10 star command line gems - known to make experienced sysadmins weep with joy.
              "},{"location":"linux/#wait-until-your-dockerized-database-is-ready-before-continuing","title":"Wait until Your Dockerized Database Is Ready before Continuing","text":"
              • Wait until Your Dockerized Database Is Ready before Continuing A zero dependency Bash script that waits until a command of your choosing has run successfully
                • github.com/nickjj/wait-until
              "},{"location":"linux/#copr-build-system","title":"Copr Build System","text":"
              • Building a repo with RPM packages from PyPI is super easy using Copr.
              • copr.fedorainfracloud.org Copr is an easy-to-use automatic build system providing a package repository as its output.
              • Copr
              "},{"location":"linux/#pulp","title":"Pulp","text":"
              • pulpproject.org Fetch, Upload, Organize, and Distribute Software Packages.
              "},{"location":"linux/#hashicorp","title":"Hashicorp","text":"
              • Announcing the HashiCorp Linux Repository
              "},{"location":"linux/#linux-libraries","title":"Linux Libraries","text":"
              • How to handle dynamic and static libraries in Linux
              "},{"location":"linux/#linux-networking","title":"Linux Networking","text":"
              • ntop
              • ngrep
              • Angry IP Scanner (or simply ipscan) to Nmap and cross-platform
              • cyberciti.biz - ss: Display Linux TCP / UDP Network and Socket Information
              • cyberciti.biz - SS Utility: Quick Intro
              • binarytides.com - 10 examples of Linux ss command to monitor network connections
              • unix.stackexchange.com: ss - linux socket statistics utility output format
              • stackoverflow.com: difference between netstat and ss in linux?
              • Linux networking examples and tutorials for advanced users Includes lab examples for lxc, bgp, vpn, & more
              • blog.pandorafms.org: Useful Network commands VNStat, ping, traceroute, ping, arp, curl and wget, netstat, whois, ssh, tcpdump, ngrep, nmap, netcat, lsof, iptraf
              • Diferencias entre servidor proxy y servidor proxy inverso
              • cyberciti.biz: Linux ip Command Examples \ud83c\udf1f
              • cyberciti.biz: Linux: 25 Iptables Netfilter Firewall Examples For New SysAdmins
              • redhat.com: 6 tcpdump network traffic filter options The first six of eighteen common tcpdump options that you should use for network troubleshooting and analysis.
              • redhat.com: Learn the networking basics every sysadmin needs to know
              • tecmint.com: 16 Useful Bandwidth Monitoring Tools to Analyze Network Usage in Linux
              • iximiuz.com: Illustrated introduction to Linux iptables
              • linuxteck.com: 15 basic useful firewall-cmd commands in Linux
              • tecmint.com: 20 Netstat Commands for Linux Network Management
              • redhat.com: 5 Linux network troubleshooting commands \ud83c\udf1f Linux provides many command-line tools to help sysadmins manage, configure, and troubleshoot network settings.
              "},{"location":"linux/#networking-protocols","title":"Networking Protocols","text":"
              • freecodecamp.org: TCP vs. UDP \u2014 What\u2019s the Difference and Which Protocol is Faster?
              • howdns.works A fun and colorful explanation of how DNS works.
              "},{"location":"linux/#linux-hardening-security","title":"Linux Hardening Security","text":"
              • How-To Secure A Linux Server \ud83c\udf1f - This repository provides an evolving how-to guide for securing a Linux server, offering comprehensive steps and instructions for protecting servers or VPS instances.

              • cyberciti.biz: 40 Linux Server Hardening Security Tips [2022 edition]

              "},{"location":"linux/#images","title":"Images","text":"Click to expand!"},{"location":"linux/#videos","title":"Videos","text":"Click to expand!"},{"location":"linux/#tweets","title":"Tweets","text":"Click to expand!

              bash for president pic.twitter.com/CpIQh23az1

              \u2014 memenetes (@memenetes) June 21, 2021

              DEPRECATED LINUX COMMANDS AND THEIR REPLACEMENTS\ud83d\udcbbA short overview for Linux commands that have been replaced.\u274c

              \u2014 Seb \ud83c\udde7\ud83c\udde6 (@LinuxSeb) September 30, 2021

              Linux has so many built-in password managers: syslog.bash_history.zsh_history.mysql_history\u2026

              \u2014 \ud83c\uddeb\ud83c\uddf7 Jean-Ph\u02d9\u2006\u035c\u029f\u02d9ppe \ud83c\uddea\ud83c\uddfa (@Jipe_) October 18, 2021

              4000 Linux commands every programmer should knowA thread \ud83e\uddf5

              \u2014 The Best Linux Blog In the Unixverse \ud83e\ude94 (@nixcraft) November 3, 2021

              SSH Port Forwarding: Why and How \ud83e\uddf5If these problems sound familiar:- A db server listens on a remote localhost, but you want to use a local GUI client- A dev service runs on your laptop, but you want to expose it to the Internet...and you don't know the solution, read on! pic.twitter.com/V4snfb1r3z

              \u2014 Ivan Velichko (@iximiuz) November 1, 2022

              In vim, you can type :e **/foo, then press tab and it'll find you a file with \"foo\" in its name.You can press tab many times, and vim will iterate over the matching files.Works in vanilla vim (no plugins), so you can use this trick on any Linux server you happen to log in to.

              \u2014 Ivan Velichko (@iximiuz) November 5, 2022

              Want to master Linux? Open this: \ud83e\uddf5

              \u2014 Rohit Ghumare | That #DevOps Guy\u270d\ufe0f (@ghumare64) November 10, 2022

              How to make rsync faster? pic.twitter.com/bIdizhoNoS

              \u2014 Rakesh Jain (@devops_tech) March 9, 2023"},{"location":"liquibase/","title":"Database Version Control. Liquibase, Flyway and PlanetScale","text":""},{"location":"liquibase/#evolutionary-database-database-version-control-with-liquibase-flyway-and-more","title":"Evolutionary Database. Database Version Control with Liquibase, Flyway and more","text":"
              1. Evolutionary Database. Database Version Control with Liquibase, Flyway and more
              2. Evolutionary Database Design
              3. Liquibase
              4. Flyway
              5. Liquibase vs. Flyway
              6. PlanetScale
              7. Bytebase
              8. AtlasGo
              "},{"location":"liquibase/#evolutionary-database-design","title":"Evolutionary Database Design","text":"
              • martinfowler.com
              • wikipedia
              "},{"location":"liquibase/#liquibase","title":"Liquibase","text":"
              • liquibase.org
              • dzone: Introduction to Liquibase and Managing Your Database Source Code
              • dzone: Managing Your Database With Liquibase and Gradle
              • dzone: Executing Liquibase: 3 Use Cases
              • percona: Database Schema Management Via Liquibase
              • piotrminkowski.com: Blue-green deployment with a database on Kubernetes \ud83c\udf1f
              "},{"location":"liquibase/#flyway","title":"Flyway","text":"
              • Flyway Version control for your database. Robust schema evolution across all your environments. With ease, pleasure and plain SQL.
              • dzone: Build a Spring Boot App With Flyway and Postgres
              "},{"location":"liquibase/#liquibase-vs-flyway","title":"Liquibase vs. Flyway","text":"
              • liquibase.org: Liquibase vs. Flyway
              • medium: Database version control \u2014 Liquibase versus Flyway
              "},{"location":"liquibase/#planetscale","title":"PlanetScale","text":"
              • docs.planetscale.com: The PlanetScale workflow \ud83c\udf1f Use the PlanetScale workflow for branching databases, non-blocking schema changes and more.
              "},{"location":"liquibase/#bytebase","title":"Bytebase","text":"
              • https://bytebase.com Database schema change and version control for teams. Bytebase offers a web-based collaboration workspace to help DBAs and Developers manage the lifecycle of application database schemas.
              • bytebase/bytebase Web-based, zero-config, dependency-free database schema change and version control tool for teams.
              "},{"location":"liquibase/#atlasgo","title":"AtlasGo","text":"
              • https://atlasgo.io Terraform but for Database Migrations. Manage your database schemas with Atlas CLI. Atlas CLI is an open source tool that helps developers manage their database schemas by applying modern DevOps principles. Contrary to existing tools, Atlas intelligently plans schema migrations for you, based on your desired state.
              "},{"location":"lowcode-nocode/","title":"Low Code and No Code","text":"
              • dzone: Top 10 Low-Code Articles See the 10 most popular articles on Low-Code with topics covering Low-Code introduction, building an application with Low-Code, comparison with Microservices, a smack-down with pro-code, and more!
              • dzone: Low Code and No-Code Considerations [ARCHIVED]
              • sdtimes.com: Low code cuts down on dev time, increases testing headaches
              • thenewstack.io: Use Low Code to Reduce Friction for Cloud Operations Teams
              • itnext.io: For Developers the Low-Code Winter Is Coming Prepare for hard times or move to where the sun is shining
              • thenewstack.io: Why Businesses Want to Enable \u2018No-Code\u2019 and \u2018Low-Code\u2019 Automation
              • thenewstack.io: Low Code for Pro Coders
              • acloudguru.com: AWS adds to the no-code pile: Is it the end of the engineer?
              • techradar.com: Low-code could replace \u201ctraditional\u201d coding within months
              "},{"location":"managed-kubernetes-in-public-cloud/","title":"Managed Kubernetes in Public Cloud","text":"
              1. Introduction
              2. Terraform Kubernetes Boilerplates
              3. GKE vs EKS vs AKS
              4. Other Managed Kubernetes
              5. AWS EKS (Hosted/Managed Kubernetes on AWS)
                1. EKS Upgrades
                2. EKS and IaC with Crossplane
                3. AWS EKS Vs ECS Vs Fargate
                4. EKS Anywhere (on premises)
                5. EKS Distro (EKS-D)
                6. Testing Kubernetes Canary deployment on EKS
              6. AKS Azure Kubernetes Service
                1. AKS Releases
                2. AKS Lite
                3. Draft 2 on AKS
              7. GKE Google Kubernetes Engine
              8. IKS IBM Cloud Kubernetes Service
              9. Linode Kubernetes Engine LKE
              10. DOKS Digital Ocean Kubernetes
              11. Oracle Cloud Kubernetes
              12. Provisioning cloud resources (AWS, GCP, Azure) in Kubernetes
              13. Kubesphere
              14. Giant Swarm
              15. Tools for multi-cloud Kubernetes management
              16. Videos
              17. Tweets
              "},{"location":"managed-kubernetes-in-public-cloud/#introduction","title":"Introduction","text":"
              • infoworld.com: 6 reasons to switch to managed Kubernetes Managed Kubernetes services have matured to the point where many enterprises are handing over the keys to their clusters. Here we identify some of the main drivers behind that trend.
              • Allocatable memory and CPU in Kubernetes Nodes \ud83c\udf1f Not all CPU and memory in your Kubernetes nodes can be used to run Pods. In this article, you will learn how managed Kubernetes Services such AKS, EKS and GKE reserve resources for workloads, operating systems, daemons and Kubernetes agent.
              • armosec.io: Which Managed Kubernetes Is Right for Me? This blog will compare on-premises, or self-hosted,Kubernetes clusters to managed ones, as well as outline your options for Kubernetes in the cloud
              • infoworld.com: CNCF survey: Managed Kubernetes becomes the norm Cloud Native Computing Foundation\u2019s latest survey shows that container and Kubernetes usage continues to rise, as managed services ease the operational burden on their teams.
              • redhat.com: What architects need to know about managed Kubernetes Should you assemble your own Kubernetes stack or adopt a managed platform such as Red Hat OpenShift? Evaluate the differences.
              • dev.to/thenjdevopsguy: AKS vs EKS vs GKE
              "},{"location":"managed-kubernetes-in-public-cloud/#terraform-kubernetes-boilerplates","title":"Terraform Kubernetes Boilerplates","text":"
              • Terraform Kubernetes Boilerplates \ud83c\udf1f
              "},{"location":"managed-kubernetes-in-public-cloud/#gke-vs-eks-vs-aks","title":"GKE vs EKS vs AKS","text":"
              • medium.com: Kubernetes Cloud Services: Comparing GKE, EKS and AKS
              • stackrox.com: EKS vs GKE vs AKS - Evaluating Kubernetes in the Cloud
              • youtube: Kubernetes Comparison A beautiful comparison of Kubernetes Services from GCP, AWS and Azure by learnk8s.
                • learnk8s.io/research: Comparison of Kubernetes managed services \ud83c\udf1f
              • medium: State of Managed Kubernetes 2020 EKS vs. AKS vs. GKE from a Developer\u2019s Perspective
              • medium: Managed Kubernetes Services Compared: GKE vs. EKS vs. AKS Comparing the three most popular managed Kubernetes platforms in features and overall experience.
              • acloudguru.com: AKS vs EKS vs GKE: Managed Kubernetes services compared
              "},{"location":"managed-kubernetes-in-public-cloud/#other-managed-kubernetes","title":"Other Managed Kubernetes","text":"
              • thenewstack.io: Otomi Container Platform Offers an Integrated Kubernetes Bundle If you want to enjoy the benefits of Kubernetes, configuring and installing the software itself can be just the first of many deeply technical and oftentimes confusing steps. To simplify this, many major cloud providers offer managed Kubernetes services, but even then you may need to install secondary services to handle tasks such as tracing, logging, monitoring, identity access management, and so on. The Otomi Container Platform looks to address this complexity by bundling together more than 30 different Kubernetes add-ons, as well as providing what it calls an \u201cOSX like interface,\u201d and today the project has open sourced a community edition under the Apache 2.0 license.
                • otomi.io \ud83c\udf1f
                • github: Otomi GitOps powered K8s app suite with developer self-service
              "},{"location":"managed-kubernetes-in-public-cloud/#aws-eks-hostedmanaged-kubernetes-on-aws","title":"AWS EKS (Hosted/Managed Kubernetes on AWS)","text":"
              • community.aws/kubernetes Kubernetes at AWS! Welcome to the hub for all things Kubernetes at AWS.
              • udemy.com: amazon eks starter kubernetes on aws
              • eksctl: EKS installer
                • medium.com/@thapliyal705: Create Amazon EKS Cluster from scratch using eksctl
              • Amazon EKS Security Best Practices
              • thenewstack.io: Install and Configure OpenEBS on Amazon Elastic Kubernetes Service
              • cloudonaut.io: Scaling Container Clusters on AWS: ECS and EKS \ud83c\udf1f
              • magalix.com: Deploying Kubernetes Cluster With EKS \ud83c\udf1f Fargate Deployment vs. Linux Workload
              • Deploying Infrastructure (FrontEnd + BackEnd) on AWS using Amazon EKS
              • EKS Service Accounts Explained In AWS you can assign IAM permissions to pods in your cluster. This article explains how it works.
              • medium: Building the CI/CD of the Future, Creating the EKS Cluster \ud83c\udf1f
              • Announcing the AWS Controllers for Kubernetes Preview
              • daveops.xyz: Administrar usuarios en EKS
              • stacksimplify.com: AWS ALB Ingress Service - Basics \ud83c\udf1f
              • Kubernetes PVCs with EFS provisioner
              • Running spot instances effectively with Amazon EKS
              • medium: Designing a Kubernetes Cluster with Amazon EKS From Scratch \ud83c\udf1f
              • en.sokube.ch: AWS + Kubernetes = AWS Elastic Kubernetes Service (EKS) \ud83c\udf1f
              • aws.amazon.com: Operating a multi-regional stateless application using Amazon EKS
              • clickittech.com: Amazon ECS vs EKS : The Best Container Orchestration Platform \ud83c\udf1f
              • POKE - Provision Opinionated Kubernetes on EKS Poke is infrastructure as software to provision EKS cluster in an opinianated way. Code is written in nodejs utilising pulumi framework. It is opinionated in such a way to improve security and simplicity.Consider this similar to terraform module. This package can be used to provision eks clusters declaratively with immutability and repeatability.
              • clickittech.com: Kubernetes Multi tenancy with Amazon EKS: Best practices and considerations
              • medium: Run Kubernetes Production Environment on EC2 Spot Instances With Zero Downtime: A Complete Guide
              • releaseops.io: Scaling Kubernetes Deployments in AWS with Container Insights Metrics
              • medium: Create Kubernetes Cluster On AWS EKS Setup AWS credentials and install kubectl, eksctl on Ubuntu. Create Kubernetes cluster using eksctl.
              • Amazon EKS Price Reduction
              • cloudonaut.io: Scaling Container Clusters on AWS: ECS and EKS \ud83c\udf1f
              • Amazon EKS Best Practices Guide for Security \ud83c\udf1f
              • info.acloud.guru: Scaling the hottest app in tech on AWS and Kubernetes
              • itnext.io: Using AWS NLB manually targeting an EKS Service exposing UDP traffic
              • Amazon EKS Now Supports EC2 Inf1 Instances
              • Create a pipeline with canary deployments for Amazon EKS with AWS App Mesh \ud83c\udf1f
              • linkedin.com: Amazon EKS Distro (EKS-D): The Kubernetes Distribution Used by Amazon EKS \ud83c\udf1f
              • medium: How to Deploy an EKS stack in AWS?
              • aws.amazon.com: Fluent Bit Integration in CloudWatch Container Insights for EKS
              • Optimizing Your Kubernetes Clusters with Rancher and Amazon EKS \ud83c\udf1f
              • clickittech.com: Amazon ECS vs EKS : The Best Container Orchestration Platform \ud83c\udf1f
              • faun.pub: Upgrading and Scaling Kubernetes cluster in AWS
              • youtube/StackSimplify: Kubernetes Deployments on AWS EKS | Amazon Elastic Kubernetes Service | Amazon EKS \ud83c\udf1f
              • cloudify.co: Simplifying Hybrid Cloud Deployments With AWS EKS And Outpost
              • eksworkshop.com \ud83c\udf1f
              • cast.ai: AWS EKS vs. ECS vs. Fargate: Where to manage your Kubernetes?
              • cast.ai: 8 best practices to reduce your AWS bill for Kubernetes
              • aws whitepapers: Architecting Amazon EKS for PCI DSS Compliance (pdf) \ud83c\udf1f\ud83c\udf1f
              • github.com/aws/eks-charts \ud83c\udf1f Amazon EKS Helm chart repository
              • AWS Load Balancer Controller \ud83c\udf1f
                • Setup External DNS
              • particule.io: Create Kubernetes federated clusters on AWS
              • aws.github.io/aws-eks-best-practices \ud83c\udf1f The primary goal of this project is to offer a set of best practices for day 2 operations for Amazon EKS.
              • betterprogramming.pub: Amazon EKS Is Eating My IPs! Understand how AWS EKS manages IP addresses and what you can do about it
              • engineering.salesforce.com: Optimizing EKS networking for scale
              • blog.usejournal.com: Spice up Your Kubernetes Environment with AWS Lambda \ud83c\udf1f In this blog you will learn a simple yet effective and secure way to integrate AWS Lambda with an existing Kubernetes environment without codes changes.
              • azon EKS Pod Identity Webhook Amazon EKS Pod Identity Webhook
              • Chaos engineering on Amazon EKS using AWS Fault Injection Simulator
              • pages.awscloud.com: GitOps on AWS for High Performing Team Operations (eBook) Realize the full value of Kubernetes by leveraging GitOps to manage operational complexity
              • thenewstack.io: Deploy Gremlin to Amazon EKS Using AWS CloudFormation
              • aws.amazon.com: Easy as one-two-three policy management with Kyverno on Amazon EKS \ud83c\udf1f
              • nextlinklabs.com: Handling Auth in EKS Clusters: Setting Up Kubernetes User Access Using AWS IAM
              • neal-davis.medium.com: ECS vs EC2 vs Lambda \ud83c\udf1f
              • faun.pub: Kubernetes Multi-tenancy with Amazon EKS: Best practices and considerations \ud83c\udf1f
              • nginx.com: Deploying NGINX Ingress Controller on Amazon EKS: How We Tested
              • hackerxone.com: 13 Steps Guide to Create Kubernetes Cluster on AWS
              • hackerxone.com: Steps to Create Amazon EKS node group on Amazon web Service (AWS)
              • dev.to: EKS IAM Deep Dive \ud83c\udf1f
              • aws.plainenglish.io: 6 Tips to Improve Availability with AWS Load Balancers and Kubernetes
              • aws.amazon.com: Using Prometheus Adapter to autoscale applications running on Amazon EKS
              • youtube: CloudGeeks - Terraform Eks Kubernetes RDS Secrets Manager Eksctl Cloudformation ALB Controller (Redmine App) - quickbooks2018/eks-redmin
              • aws.amazon.com: Kubernetes Ingress with AWS ALB Ingress Controller
              • aws/aws-node-termination-handler \ud83c\udf1f Gracefully handle EC2 instance shutdown within Kubernetes
              • howtoforge.com: How to Create a Kubernetes Cluster with AWS CLI
              • blog.searce.com: Optimise cost for AWS EKS cluster using Spotinst \ud83c\udf1f
              • thenewstack.io: How We Built Preview Environments on Kubernetes and AWS
              • aws.amazon.com: Mount Amazon EFS file systems cross-account from Amazon EKS, and utilize AWS Organizations more effectively
              • Onfido\u2019s Journey to a Multi-Cluster Amazon EKS Architecture In this article, you will learn how moving to an active/active cluster architecture has allowed Onfido to shift traffic away from an Amazon EKS cluster when performing infrastructure maintenance.
              • medium.com/@abhinav.ittekot: Granting IAM permissions to pods in EKS using OIDC
              • medium.com/@ishana98dadhich: Integrating AWS Secret Manager with EKS and use Secrets inside the Pods: Part-1 This blog provides you enough details on how you can use secrets (managed by AWS Secrets Manager) inside AWS EKS pods.
              • medium.com/@radha.sable25: Enabling IAM users/roles Access on Amazon EKS cluster
              • aws.amazon.com: Continuous Delivery of Amazon EKS Clusters Using AWS CDK and CDK Pipelines
              • medium.com/avmconsulting-blog: Installing Vault On EKS With TLS And Persistent Storage
              • dzone.com: How to Use AWS IAM Role on AWS EKS PODs \ud83c\udf1f A native-AWS way to attach an IAM role into the Kubernetes POD, without third-party software, reducing latency and improving your EKS security.
              • aws.amazon.com: Troubleshooting Amazon EKS API servers with Prometheus
              • AWS Controllers for Kubernetes (ACK) \ud83c\udf1f AWS Controllers for Kubernetes (ACK) lets you define & use AWS service resources directly from Kubernetes. With ACK, you can take advantage of AWS managed services for your applications without needing to define resources outside of the cluster.
              • itnext.io: Deploy Kubernetes (K8s) on Amazon AWS using mixed on-demand and spot instances \ud83c\udf1f
              • github.com/awslabs: Kubernetes Migration Factory User Guide \ud83c\udf1f Kubernetes Migrations Factory (KMF) is a tool developed for migrating docker containers to Amazon EKS. The Kubernetes Migration Factory solution is an orchestration platform for migrating containers to Amazon EKS at scale.
              • github.com/aws-ia/terraform-aws-eks-blueprints (examples) \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
                • Direction for v5 of Terraform EKS Blueprints
              • akintola-lonlon.medium.com: AWS Kubernetes: The #1 Rule You Need To Master Before Going To Production. This is the most important thing to consider before going to production on EKS.
              • amod-kadam.medium.com: Are there two Load Balancer Controllers with EKS? \ud83c\udf1f In this article, you will learn how AWS provision different types of load balancers (Classic vs Network) to expose your applications depending on the annotations that you use.
              • aws.amazon.com: Streaming Kubernetes Events in Slack This post describes how you can send events from your Kubernetes cluster to a Slack channel using BotKube, a messaging bot for monitoring and debugging Kubernetes clusters.
              • joachim8675309.medium.com: ExternalDNS with EKS and Route53 After deploying a web app on Kubernetes, you might need to update the DNS records. ExternalDNS can automate this process and this tutorial demonstrates how to set up and configure this on Amazon EKS using Amazon Route 53 DNS zones.
              • aws-quickstart/cdk-eks-blueprints: Amazon EKS Blueprints for CDK This repository contains the source code for the eks-blueprints NPM module that can be used to configure and manage complete EKS clusters that are fully bootstrapped with the operational software that is needed to deploy and operate workloads
              • dev.to: One technique to save your AWS EKS IP addresses 10x To increase the number of available IP addresses in your EKS cluster you can:
                • Assign address prefixes to your ENI and
                • Enable the CNI custom networking feature
              • aws.amazon.com: Autoscaling EKS on Fargate with custom metrics What follows is a step-by-step guide on configuring the Horizontal Pod Autoscaler with metrics provided by Prometheus to automatically scale pods running on Amazon EKS on AWS Fargate.
                • Autoscaling is an approach to automatically scale up or down workloads based on the resource usage. In Kubernetes, the Horizontal Pod Autoscaler (HPA) can scale pods based on observed CPU utilization and memory usage. Starting with Kubernetes 1.7, an aggregation layer was introduced that allows third-party applications to extend the Kubernetes API by registering themselves as API add-ons. Such an add-on can implement the Custom Metrics API and enable HPA access to arbitrary metrics. What follows is a step-by-step guide on configuring HPA with metrics provided by Prometheus to automatically scale pods running on Amazon EKS on AWS Fargate.
              • opssorry.substack.com: GitOps: A Simple Approach to using AWS Secrets Manager with Kubernetes \ud83c\udf1f
              • aws.github.io/aws-eks-best-practices: Amazon EKS Best Practices Guides \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Welcome to the EKS Best Practices Guides. The primary goal of this project is to offer a set of best practices for day 2 operations for Amazon EKS. We elected to publish this guidance to GitHub so we could iterate quickly, provide timely and effective recommendations for variety of concerns, and easily incorporate suggestions from the broader community.
                • Amazon EKS Best Practices Guide for Networking Intro to Amazon VPC Container Network Interface (VPC CNI) in the context of Kubernetes cluster networking. VPC CNI is the default networking plugin supported by EKS. The VPC CNI is highly configurable to support different use cases.
              • medium.com/@chandranathmondal: Self-service Amazon EKS Cluster provisioning with Kubernetes configuration applied \ud83c\udf1f
              • AWS and Kubecost collaborate to deliver cost monitoring for EKS customers
              • eng.grip.security: Enabling AWS IAM Group Access to an EKS Cluster Using RBAC There is no standardized method for providing IAM group access to an EKS cluster or namespace. In this article, you will learn how you can use an IAM role to authenticate the user group automatically and transparently when kubectl is being used.
              • medium.com/@andriikrymus: DNS config for EKS Elastic Kubernetes Service provide coredns add-on for k8s. Unfortunately, this add-on lucks of configuration options (for example, nodeSelector). In this article, you will learn how to patch it, and configure it the way you want it.
              • cast.ai: EKS Security Checklist: 10 Best Practices for a Secure Cluster
              • github.com/kubernetes-sigs/aws-load-balancer-controller AWS Load Balancer Controller is a controller to help manage Elastic Load Balancers for a Kubernetes cluster. It satisfies:
                • Ingress resources by provisioning Application Load Balancers
                • Service resources by provisioning Network Load Balancers
              • thenewstack.io: Amazon Web Services Gears Elastic Kubernetes Service for Batch Work AWS Batch is ideal for developers looking for a more simplified workflow when it comes to managing Kubernetes clusters and pods to use with their batch jobs.
              • silvr.medium.com: Using Kyverno To Enforce AWS Load Balancer Annotations For Centralized Logging To S3 In this tutorial, you\u2019ll learn how to use Kyverno to automatically configure annotations that enable access logs for an AWS Network Load Balancer (NLB) to be forwarded to an S3 bucket for a service of type LoadBalancer.
              • blog.jimmyray.io: Kubernetes Workload Identity with AWS SDK for Go v2 Using AWS SDK for Go v2 and AWS IAM Roles for Service Accounts. In this article, you\u2019ll learn how to use the AWS SDK for Go v2 and AWS IAM Roles for Service Accounts to grant permissions to access AWS services from wuthin Kubernetes
              • github.com/rebataur/djkube Tool for Django Developers to setup full stack EKS Kubernetes with all necessary tools including DevSecOps in 40 minutes. If you are a Python Django developer then djkube provides you with best user experience in easily running your full-stack Django apps on Kubernetes in AWS with just a few clicks.
              • aws.amazon.com: Troubleshooting Amazon EKS API servers with Prometheus and Grafana
              • medium.com/geekculture: EKS \u2014 Kubernetes \u2014 Not Ready nodes Today I\u2019m going to talk about an issue that I encounter a couple of days ago while working on EKS 1.21.
              • faun.pub: How to access AWS services from EKS Solutions to access AWS APIs from Kubernetes
              • aws.amazon.com: Persistent storage for Kubernetes
              • aws.amazon.com: Machine Learning with Kubeflow on Amazon EKS with Amazon EFS
              • faun.pub: AWS EKS: The Ultimate Guide To Deploy AWS Load Balancer Controller add-on In this article, you\u2019ll learn how to set up an Ingress Controller on EKS in 5 steps:
                • Creating a cluster with EKSctl
                • Creating the IAM OIDC provider
                • Creating an IAM Policy
                • Creating the Role
                • Installing the ALB Ingress controller
              • medium.com/@ankit.wal: Understanding IAM roles for service accounts, IRSA, on AWS EKS A simple visual explanation of how IRSA works to help you understand and remember. IRSA is the AWS EKS native way to allow applications running in EKS pods to access AWS API, using permissions configured in AWS IAM roles. It\u2019s an improvement over the previous architecture of applications running in pods to use the IAM roles of the underlying EKS nodes. Being able to configure access to AWS API per service account tends towards the principle of least privilege, and more secure architecture.
              • dev.to: Autoprovisioning NFS volumes in EKS with CDK
              • levelup.gitconnected.com: Running Workflows on windows with Jenkins pipeline and Kubernetes
              • nivogt.medium.com: Boost your Kubernetes cluster\u2019s Autoscaler on AWS EKS with Karpenter
              • awslabs/eks-node-viewer eks-node-viewer is a tool for visualizing dynamic node usage within a cluster. It was originally developed as an internal tool at AWS for demonstrating consolidation with Karpenter.
              • towardsaws.com: Autoscale Kubernetes Metrics Server on Amazon EKS
              • aws-samples/hardeneks Runs checks to see if an EKS cluster follows EKS Best Practices.
              • faun.pub: Analyze AWS EKS Audit logs with Falco
              • docs.aws.amazon.com: Managing Amazon EKS add-ons
              • docs.aws.amazon.com: Access container applications privately on Amazon EKS using AWS PrivateLink and a Network Load Balancer AWS Prescriptive Guidance includes patterns for EKS.
              • aws.amazon.com: Addressing latency and data transfer costs on EKS using Istio In this blog, you will learn how to use Istio topology-aware routing to reduce latency and data transfer costs between EKS nodes deployed in different Availability Zones
              • aws.amazon.com: Addressing IPv4 address exhaustion in Amazon EKS clusters using private NAT gateways This post highlights the advantages of implementing a network architecture with a private NAT Gateway to deploy an Amazon EKS cluster. This enables communication across Amazon EKS clusters deployed to VPCs with overlapping CIDRs.
              • hardiks.medium.com: Where should you manage your Kubernetes in 2023? Amazon ECS or EKS
              • awstip.com: Amazon Elastic Kubernetes Service (Amazon EKS) \u2014 The Only Resource Hub You Ever Need In this article, you will find a collection of links to learn and master Amazon EKS
              • awstip.com: Working The Amazon EKS Immersion Workshop \u2014 Chapter 1 \u2014 Deploying A Microservices Application In A Kubernetes Cluster This 12-part series covers how to provision an EKS cluster, deploy apps, and route traffic into the cluster using Ingress and the AWS Load Balancer controller
              • Understanding and Cost Optimizing Amazon EKS Control Plane Logs
              • itnext.io: Top 10 Ways to Protect EKS Workloads from Ransomware Here are the top 10 things you should focus on to protect EKS workloads against ransomware and all intrusions
              • blog.antoinechoula.ga: Native EKS Ingress with AWS Load Balancer Controller This tutorial will teach you how to install and configure the AWS Load Balancer Controller using Terraform and Helm. You will also learn how to manage multiple ingresses and secure the traffic with SSL/TLS
              • devopslearning.medium.com: Lesson learned while scaling Kubernetes cluster to 1000 pods in AWS EKS In this article, you will follow Prashant\u2019s journey in scaling EKS to 1000+ pods and learn how to overcome these challenges:
                • AWS resource limits
                • IP addresses exhaustion
                • Packets drop
                • Control plane performance issues
              • Scaling Amazon EKS and Cassandra Beyond 1,000 Nodes This post described a concrete experiment to prove k8ssandra scalability on Amazon EKS. You will also find general performance and scaling configurations of Amazon EKS that enable customers to scale workloads while maintaining linear performance.
              • sitepoint.com: Getting Started With Kubernetes on AWS Tutorial (2023 Update)
              • medium.com: Saving costs in Google Kubernetes Engine using Spot VMs
              • medium.com/@benjamin.christmann_12432: Setting up your first EKS cluster on AWS: some practical tips
              • blog.ratnopamc.com: Reduce cross-AZ traffic costs on EKS using topology aware hints Topology Aware Hints is a new feature in EKS that reduces data transfer costs by keeping traffic within the same availability zone. It uses Pod Topology Spread Constraints to spread Pods evenly onto multiple node topologies
              • itnext.io: Running resilient workloads in EKS using Spot instances In this article, you will learn how giffgaff run all of their applications in an EKS cluster using 100% spot instances and what additional safeguards they put in place to improve reliability
              • Simplifying Amazon EBS volume migration and modification on Kubernetes using the EBS CSI Driver
              • Eliminate Kubernetes node scaling lag with pod priority and over-provisioning In this post, you\u2019ll learn how to over-provision the cluster worker nodes using dummy pods for quicker scaling. The dummy pods contain a pause container that is scheduled by the scheduler according to pod specifications\u2019 placements and CPU/memory.
              • medium.com/@danielresponda: Testing Spot Reclamation Mechanisms with AWS Node Termination Handler and Kubernetes Autoscaler What happens if a spot instance is reclaimed, but no more capacity is available in the cluster? In this article, you will learn how to use the AWS Node Termination Handler with Kubernetes Autoscaler to handle spot reclamations seamlessly
              • Amazon EKS introduces EKS Pod Identity
              • itnext.io: AWS Elastic Kubernetes Service: RBAC Authorization via AWS IAM and RBAC Groups
              • medium.com/@leocherian: Simple CDK app to create EKS Cluster
              • blog.clouddrove.com: AWS EKS Blue/Green Deployment with Best Practices
              • devoriales.com: AWS EKS Secret Encryption: Securing Your EKS Secrets At Rest with AWS KMS
              • blog.stackademic.com: Create the AWS EKS Cluster with a Managed Node Group Using Custom Launch Templates
              • blog.devops.dev: HACKING KUBERNETES in AWS In this article, you\u2019ll learn how to secure EKS by intentionally attaching the wrong policies to pods and hacking the cluster. You will misconfigure AWS Identity and Access Management (IAM) roles for the service accounts (IRSA) feature
              • rahulbhatia1998.medium.com: Designing A Multi-Region Kubernetes Cluster For Disaster Recovery On AWS EKS
              • towardsaws.com: From Scratch to Production: Deploying EKS Clusters and Applications with CI/CD using Jenkins and Terraform
              • awstip.com: Per-pod PIDs limit on EKS
              • aws.amazon.com: Amazon EKS announces native support for autoscaling CoreDNS Pods
              • medium.com/ekino-france: Addressing private IPv4 shortage: 5 Strategies for Amazon EKS This article explores 5 strategies for addressing private IPv4 shortage in Amazon EKS. Strategies include tweaking VPC CNI settings, using subnet CIDR reservation, custom networking with internal SNAT, private NAT gateways, and transitioning to IPv6
              • aws.amazon.com: Start Pods faster by prefetching images
              "},{"location":"managed-kubernetes-in-public-cloud/#eks-upgrades","title":"EKS Upgrades","text":"
              • Updating a managed node group amazon eks managed node groups now supports parallel node upgrades
              • aws.amazon.com: Planning Kubernetes Upgrades with Amazon EKS
              • repost.aws: How do I plan an upgrade strategy for an Amazon EKS cluster?
              • medium.com/scout24-engineering: How did we upgrade our EKS clusters from 1.15 to 1.22 without K8s knowledge?
              • marcincuber.medium.com: Amazon EKS Upgrade Journey From 1.24 to 1.25
              "},{"location":"managed-kubernetes-in-public-cloud/#eks-and-iac-with-crossplane","title":"EKS and IaC with Crossplane","text":"
              • aws.amazon.com: GitOps model for provisioning and bootstrapping Amazon EKS clusters using Crossplane and Argo CD
              • nivogt.medium.com: [IaC] Continuous Delivery with Crossplane and ArgoCD : how to automate the creation of AWS EKS clusters
              "},{"location":"managed-kubernetes-in-public-cloud/#aws-eks-vs-ecs-vs-fargate","title":"AWS EKS Vs ECS Vs Fargate","text":"
              • cloudify.co: AWS EKS Vs. ECS Vs. Fargate: The Breakdown
              "},{"location":"managed-kubernetes-in-public-cloud/#eks-anywhere-on-premises","title":"EKS Anywhere (on premises)","text":"
              • EKS Anywhere: github.com/aws/eks-anywhere Run Amazon EKS on your own infrastructure
              • aws.amazon.com: Amazon EKS Anywhere \u2013 Now Generally Available to Create and Manage Kubernetes Clusters on Premises
              • solo.io: Connect Your Services Seamlessly with Amazon EKS Anywhere and Istio
              • anywhere.eks.amazonaws.com: Compare EKS Anywhere and EKS
              • aws.amazon.com: Getting started with Amazon EKS Anywhere
              • gokulchandrapr.medium.com: Amazon EKS Anywhere & EKS Connector
              • ambar-thecloudgarage.medium.com: EKS Anywhere., decoding the architecture. In this article, you will take a deeper look into the EKS Anywhere architecture as well as compare it with EKS Distro. Then, you will discuss the different type of installations:
                • Standalone clusters
                • Distribute environments
              • blog.techknowtrendz.com: Taking Amazon EKS Anywhere for a spin Bringing EKS to a datacenter near you
              • aws.amazon.com: Blue/Green Kubernetes upgrades for Amazon EKS Anywhere using Flux
              "},{"location":"managed-kubernetes-in-public-cloud/#eks-distro-eks-d","title":"EKS Distro (EKS-D)","text":"
              • aws/eks-distro Amazon EKS Distro (EKS-D) is a Kubernetes distribution based on and used by Amazon Elastic Kubernetes Service (EKS) to create reliable and secure Kubernetes clusters.
              "},{"location":"managed-kubernetes-in-public-cloud/#testing-kubernetes-canary-deployment-on-eks","title":"Testing Kubernetes Canary deployment on EKS","text":"
              • medium: Kubernetes + EKS + Canary Deployment
              "},{"location":"managed-kubernetes-in-public-cloud/#aks-azure-kubernetes-service","title":"AKS Azure Kubernetes Service","text":"
              • learn.microsoft.com: Introduction to Kubernetes on Azure
              • azure.github.io/AKS-Construction \ud83c\udf1f AKS Construction Helper
              • youtube: The AKS Community \ud83c\udf1f
              • the-aks-checklist.com: The Azure Kubernetes Service Checklist \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f This checklist contains a large set of best practices and some of them may not be relevant to your context and thus the rating may be incorrect in your case. Please choose and apply them wisely.
              • Azure Updates AKS \ud83c\udf1f
              • docs.microsoft.com: Baseline architecture for an Azure Kubernetes Service (AKS) cluster \ud83c\udf1f In this reference architecture, you\u2019ll build a baseline infrastructure that deploys an AKS cluster. The article includes recommendations for networking, security, identity, management, and monitoring.
              • docs.microsoft.com: Microservices architecture on Azure Kubernetes Service (AKS) \ud83c\udf1f This reference architecture shows a microservices application deployed to Azure Kubernetes Service (AKS). It describes a basic AKS configuration that can be the starting point for most deployments. The architecture consists of the following components:
                • Azure Kubernetes Service (AKS)
                • Kubernetes cluster
                • Virtual network
                • Ingress
                • Azure Load Balancer
                • External data stores
                • Azure Active Directory
                • Azure Container Registry
                • Azure Pipelines
                • Helm
                • Azure Monitor
              • docs.microsoft.com: Use kubenet networking with your own IP address ranges in Azure Kubernetes Service (AKS) \ud83c\udf1f
              • docs.microsoft.com: Configure Azure CNI networking in Azure Kubernetes Service (AKS)
              • trstringer.com: Run Kubernetes Pods on Specific VM Types in AKS
              • docs.microsoft.com: AKS-managed Azure Active Directory integration
              • build5nines.com: Terraform: Create an AKS Cluster \ud83c\udf1f
              • github.com: AKS: Use AAD identity for pods and make your SecOps happy
              • docs.microsoft.com: Microservices architecture on Azure Kubernetes Service (AKS) \ud83c\udf1f
              • techcommunity.microsoft.com: Containerize and migrate applications to AKS with the Azure Migrate\u2019s new App Containerization tool
              • mehmetozkaya.medium.com: Deploying .Net Microservices to Azure Kubernetes Services(AKS) and Automating with Azure DevOps
              • faun.pub: How to implement Azure Kubernetes Service (AKS) in Cloud?
              • adamrushuk.github.io: Increasing the volumeClaimTemplates Disk Size in a Statefulset on AKS
              • nillsf.com: Running Windows containers on the Azure Kubernetes Service (AKS)
              • itnext.io: Running Your Microservices Securely on AKS
              • docs.microsoft.com: Create an HTTPS ingress controller on Azure Kubernetes Service (AKS)
              • blog.nillsf.com: Customize core dump in Azure Kubernetes
              • medium: Secure your Microservices on AKS \u2014 Part 1 \ud83c\udf1f
                • medium: Secure your Microservices on AKS \u2014 Part 2 \ud83c\udf1f
              • zartis.com: How To Save A Fortune On Azure Kubernetes Service
              • itnext.io: AKS Performance: Limit Ranges Limit Ranges can be used to fine tune your resource consumption by limiting your min/max requests/limits in namespaces.
              • itnext.io: Kubernetes Ingress on Azure using the Application Gateway How to expose multiple services on a single host
              • joachim8675309.medium.com: AKS with GRPC and ingress-nginx Using GRPC with ingress-nginx add-on with AKS
              • thenewstack.io: Microsoft\u2019s Practical Approach to Kubernetes Management
              • medium: AKS with Calico Network Policies Using Calico Network Policy with Azure Kubernetes Server
              • itnext.io: Network Isolated AKS \u2014 Part 1: Controlling network traffic
              • thenewstack.io: Turbocharging AKS Networking with Calico eBPF
              • carlos.mendible.com: AKS: Persistent Volume Claim with an Azure File Storage protected with a Private Endpoint
              • joachim8675309.medium.com: AKS with Istio Service Mesh Securing traffic with Istio service mesh on AKS
              • optisolbusiness.com: Implementing Microservices Architecture in AKS
              • blog.kasten.io: AKS and Storage: How to Design Storage for Cloud Native Applications
              • blog.kasten.io: AKS and Storage: Performance Differences Among K8s Storage Services
              • medium: AKS \u2014 different load balancing options. When to use what?
              • medium: Going multicloud with kubernetes and Azure Front Door Kubernetes/AKS/GKE/MultiCloud/Azure Front Door
              • docs.microsoft.com: Best practices for cluster isolation in Azure Kubernetes Service (AKS)
              • docs.cloudblue.com: Deploying an AKS Cluster with Custom IP Ranges (ARM template)
              • k21academy.com: Azure Kubernetes Service & Azure Container Instances For Beginners \ud83c\udf1f
              • azurecloudai.blog: Deploy Azure Kubernetes Service (AKS) to a preexisting VNET
              • tigera.io: Turbocharging AKS networking with Calico eBPF
              • akhilsharma.work: How to list Azure RBAC Roles to Secure AKS Clusters
              • tigera.io: Calico WireGuard support with Azure CNI Last June, Tigera announced a first for Kubernetes: supporting open-source WireGuard for encrypting data in transit within your cluster. We never like to sit still, so we have been working hard on some exciting new features for this technology, the first of which is support for WireGuard on AKS using the Azure CNI.
              • docs.microsoft.com: Use dual-stack (IPv4 and IPv6) kubenet networking in Azure Kubernetes Service (AKS) (Preview)
              • logz.io: Collecting Metrics from Windows Kubernetes Nodes in AKS \ud83c\udf1f
              • dev.to: Moving Azure Functions from AKS to Container Apps
              • techcommunity.microsoft.com: Azure Kubernetes Service and Azure Container Registry Service on Azure Stack Hub
              • dev.to: Getting started with Windows Containers on Azure Kubernetes Service Windows support has finally arrived in Kubernetes and AKS. Learn how to migrate your workloads and what pitfalls to avoid in this short and sweet introduction to Windows Containers.
              • mehighlow.medium.com: Hardened-AKS/Secrets Commonly, an application requires access to data and, usually, such access must be restricted. So, you need to provide your pod/deployment/replicaSet/DaemonSet with secrets. Learn how you can do so in AKS
              • returngis.net: Desescalar nodos de AKS apagando las m\u00e1quinas en lugar de eliminarlas
              • dev.to/javiermarasco: HTTPs with Ingress controller, cert-manager and DuckDNS (in AKS/Kubernetes)
              • dev.to: Implement Azure AD Workload Identity on AKS with terraform Azure AD workload identity is designed to associate a pod with an identity in Azure Active Directory so that you can grant permissions to access another resource (i.e. a storage account or an Azure SQL Database)
              • medium.com/kocsistem: Installation Internal Nginx Ingress for a Private AKS Cluster
              • pixelrobots.co.uk: Bring your own Container Network Interface (CNI) plugin with Azure Kubernetes Service (AKS) (PREVIEW) AKS has only officially supported two CNI\u2019s: Kubenet and Azure CNI. In this blog post, you will learn how to create an AKS cluster with no CNI and then deploy cilium.
              • joachim8675309.medium.com: ExternalDNS with AKS & Azure DNS ExternalDNS with kubelet identity to access to Azure DNS. After deploying a public facing web application on Kubernetes, you need to update DNS records so that traffic can reach the server. ExternalDNS can automate this process during deployment stage of the web application, so there is no need for extra configuration outside of Kubernetes.
              • medium.com/dzerolabs: Accessing Azure Key Vault Secrets in Azure Kubernetes with Secrets Store CSI Driver \ud83c\udf1f A little bit of standardization goes a long way. Much better than documenting steps that can soon become outdated. Azure Key Vault Provider for Secrets Store CSI Driver maps a Kubernetes resource called SecretProviderClass to an Azure Key Vault and lets you select which secrets, keys, and/or certificates you\u2019d like to expose.
              • buchatech.com/2022: A Guide to Navigating the AKS Enterprise Documentation & Scripts \ud83c\udf1f\ud83c\udf1f This blog\u2019s goal is to guide you through the AKS Enterprise Docs as you architect, deploy, and operate your AKS.
              • docs.microsoft.com: Start and stop an Azure Kubernetes Service (AKS) node pool \ud83c\udf1f Your AKS workloads may not need to run continuously, for example a development cluster that has node pools running specific workloads. To optimize your costs, you can completely turn off (stop) your node pools in your AKS cluster, allowing you to save on compute costs.
              • dev.to/thenjdevopsguy: Monitoring AKS With Prometheus and Grafana \ud83c\udf1f
              • techcommunity.microsoft.com: Azure Kubernetes Service Microsoft Ignite announcements
              • isovalent.com: Announcing Azure CNI Powered by Cilium
              • dev.to: Access Secrets in AKV using Managed identities for AKS \ud83c\udf1f The purpose of this post is to show you how to access secrets from AKS cluster that are stored in Azure Key Vault.
              • blog.baeke.info: AKS Workload Identity Revisited
              • azure.microsoft.com: Private preview: Azure Kubernetes Service (AKS) Backup \ud83c\udf1f
              • medium.com/@gjoshevski: Reduce the cost of running AKS cluster by leveraging Azure Spot VMs| 70% and more \ud83c\udf1f\ud83c\udf1f
              • community.ops.io: One day I woke up to a crashed AKS cluster and this is what I did to get it back to life One day, Javier found a crashed AKS cluster with three nodes stopped and all pods in the \u201cTerminating\u201d state. Learn how Javier debugged the cluster and brought it back to life.
              • Using CDK to perform continuous deployments in multi-region Kubernetes environments This post demonstrated how to create a continuous deployment pipeline to deploy applications in multiple EKS clusters running in different regions. The accompanying CDK code creates EKS clusters and the CI/CD stack to continuously deploy applications
              • blog.coffeeapplied.com: Securing AKS in peered virtual networks using only network security groups (NSGs) When you use peering in AKS, with the \u201cdefault\u201d AKS deployment, your complete cluster, including all pods, is completely open and addressable from your complete peered network. Learn how to fix in this article.
              • medium.com/@vamsi.lakshman: Overview of Azure Kubernetes Services Networking Models
              • techcommunity.microsoft.com: SQL Server containers on Kubernetes with S3-compatible object storage - Getting started Check out this post on the Microsoft Tech Community : SQL Server containers on Kubernetes with S3-compatible object storage - Getting started - Microsoft Community Hub
              • learn.microsoft.com: Connect with RDP to Azure Kubernetes Service (AKS) cluster Windows Server nodes for maintenance or troubleshooting
              • techcommunity.microsoft.com: Azure Kubernetes Service Free tier and Standard tier
              • medium.com/credera-engineering: How to blue-green deploy an AKS cluster
              • community.ops.io: Configuring AKS to read secrets and certificates from Azure KeyVaults This article will teach you how to configure an AKS cluster to consume secrets, keys and certificates from an Azure KeyVault
              • medium.com/@danieljimgarcia: The Application Gateway Ingress Controller is broken \ud83c\udf1f The Application Gateway Ingress Controller exposes applications hosted in Kubernetes to the outside world via Azure\u2019s native Application Gateway. However, it has important design flaws, which can cause minutes of downtime when updating your workloads.
              • kristhecodingunicorn.com: Setting Up OAuth 2.0 Authentication for Applications in AKS With NGINX and OAuth2 Proxy \ud83c\udf1f\ud83c\udf1f
              • medium.com/@ershivamgupta: Disaster Recovery Solution for Azure Kubernetes Service (AKS) Persistent Volume Storage \ud83c\udf1f This article demonstrates a disaster recovery solution for AKS:
                • Installing Longhorn
                • Setting up an External Backup target
                • Deploying a stateful application
                • Backing up the Persistent Volume
                • Restoring it in a secondary region
              • github.com/OvidiuBorlean/kubectl-windumps Network traffic capture in AKS Windows Nodes
              • infoq.com: Microsoft Brings Kubernetes to the Edge with AKS Edge Essentials
              • azuredevopslabs.com: Deploying a multi-container application to Azure Kubernetes Services
              • danielstechblog.io: Mitigating slow container image pulls on Azure Kubernetes Service It is not easy identifying the root cause for slow container image pulls on your AKS. In this article, you\u2019ll follow Daniel\u2019s journey in debugging the OS disk queue depth and how it affects image pulls.
              • grafana.com: Scrape Azure metrics and monitor AKS using Grafana Agent \ud83c\udf1f In this blog post, we will demonstrate how to configure Grafana Agent to scrape metrics from Microsoft Azure, specifically from AKS, using the newly released azure_exporter.
              • medium.com/microsoftazure: Automating Managed Prometheus and Grafana with Terraform for scalable observability on Azure Kubernetes Service and Istio \ud83c\udf1f
              • kristhecodingunicorn.com: Setting Up OAuth 2.0 Authentication for Applications in AKS With NGINX and OAuth2 Proxy
              • azure.microsoft.com: Announcing the general availability of Azure CNI Overlay in Azure Kubernetes Service
              • medium.com/@GiantSwarm: Deep Dive Into Kubernetes Networking in Azure Deep Dive Into Kubernetes Networking in Azure
                • Calico with BGP
                • Azure Container Network
                • Calico Policy-Only + Flannel
                • Best Option
              • returngis.net: Configurar m\u00e1s de un Application Gateway con AGIC para AKS
              • returngis.net: Azure Application Gateway con WAF y wildcard + Nginx Controller para AKS
              • medium.com/@lfoster49203: Kubernetes on Azure: Setting up a cluster on Microsoft Azure (with Azure AKS)
              • medium.com/@pauldotyu: Effortlessly Deploy to AKS with Open Source Tools Draft and Acorn
              • techcommunity.microsoft.com: How to install an AKS cluster with the Istio service mesh add-on via Bicep
              • adamtheautomator.com: Getting Started with the Azure Kubernetes Service (AKS) In this tutorial, you\u2019ll learn how to get started with Microsoft Azure Kubernetes Service (AKS) using the Azure Portal and the Azure CLI
              • techcommunity.microsoft.com: Kubernetes External DNS for Azure DNS & AKS
              • medium.com/adessoturkey: Azure DevOps Agents on AKS with the kaniko Option In this article, you will learn how to build container images in your Azure DevOps agents using kaniko. kaniko doesn\u2019t depend on a Docker daemon and executes each command within a Dockerfile completely in userspace.
              • techcommunity.microsoft.com: Securing Windows workloads on Azure Kubernetes Service with Calico
              • infoworld.com: Kubernetes cost management for the real world How much will Kubernetes cost to run? That question has become much easier to answer for Azure Kubernetes Service, thanks to OpenCost integration.
              • inder-devops.medium.com: AKS Networking Deep Dive: Kubenet vs Azure-CNI vs Azure-CNI (overlay) When deploying an AKS cluster, there are three networking models you can choose from:
                • Kubenet
                • Azure CNI
                • Azure CNI Overlay networking
              • returngis.net: Desplegar AGIC en AKS utilizando workload identity
              • learn.microsoft.com: Use Application Gateway Ingress Controller (AGIC) with a multitenant Azure Kubernetes Service
              • returngis.net: Exponer APIs en AKS a trav\u00e9s de Azure API Management
              • techcommunity.microsoft.com: A Practical Guide to Zone Redundant AKS Clusters and Storage
              • learn.microsoft.com: AKS landing zone accelerator
              • piotrminkowski.com: Getting Started with Azure Kubernetes Service \ud83c\udf1f
              • techcommunity.microsoft.com: Simplifying Azure Kubernetes Service Authentication Part 2
              • learn.microsoft.com: Monitor Azure Kubernetes Service (AKS) control plane metrics (preview)
              • github.com/stephaneey/azure-and-k8s-architecture: Azure and K8s Architecture \ud83c\udf1f The purpose of this repo is to share some real-world inspired Azure and K8s architecture diagrams, that may help organizations accelerate their adoption of Azure and K8s. Each diagram will be accompanied by a textual explanation with the key attention points.
                • azure-and-k8s-architecture: The API Management Architecture Map
                • azure-and-k8s-architecture: East-West Traffic shared cluster and shared responsibilities using Calico
              • techcommunity.microsoft.com: Running GPU accelerated workloads with NVIDIA GPU Operator on AKS \ud83c\udf1f
              • dinantpaardenkooper.nl: Azure Day with Kubernetes Within this blog, I want to give an overview of all the feature which where shared at KubeCon Europe 2024 that becomes available in General Availability, Technical Preview or End of Support by Microsoft. This information can be found at Microsoft Azure Updates.
              • youtube: Day -25 | No Dockerfile, No K8s Manifests | Setup CI/CD in 5 minutes for any programming language This video is part of Azure Zero to Hero (Free Azure Course including Azure DevOps). In this video of Automated CI/CD Pipeline Generator. You will learn how to setup and implement automated CI/CD deployment on the AKS platform of Azure. No Dockerfile, No Kubernetes manifests, No CI/CD Pipeline. Everything is generated automatically for you. Best way to start learning CI/CD and automated deployments. This makes life of DevOps Engineers extremely easy.
              • medium.com/@anjkeesari: Install Grafana Loki-Stack Helmchart in Azure Kubernetes Services (AKS)
              • pixelrobots.co.uk: Exploring Azure Kubernetes Service\u2019s Node Autoprovision: A Deep Dive into the Latest Public Preview Feature
                • Node Autoprovision (NAP) in AKS is a game-changer for managing node pools. As your workloads expand and diversify in complexity, needing various CPU, memory, and capability configurations, managing your VM configurations can become quite daunting. This is where NAP steps in.
                • NAP dynamically decides the optimal VM configuration for your pending pod resource requirements, ensuring that your workloads run efficiently and cost-effectively. This feature is rooted in the open-source Karpenter project, and its implementation in AKS is also open-source.
              • techcommunity.microsoft.com: Advanced Network Observability for your Azure Kubernetes Service clusters through Azure Monitor
              • learn.microsoft.com: Deploy AKS and API Management with mTLS
              • blog.stackademic.com: Advanced End-to-End DevSecOps Kubernetes Three-Tier Project using Azure AKS, fluxCD, Prometheus, Grafana, and GitLab
              • faun.pub: External Secret Operator on AKS (with Terraform) for Azure Key Vault Integration (with Workload Identity)
              • techcommunity.microsoft.com: Leveraging Azure Copilot for Azure Kubernetes Services (AKS)
              "},{"location":"managed-kubernetes-in-public-cloud/#aks-releases","title":"AKS Releases","text":""},{"location":"managed-kubernetes-in-public-cloud/#aks-lite","title":"AKS Lite","text":"
              • thenewstack.io: Microsoft Takes Kubernetes to the Edge with AKS Lite At it Ignite conference, Microsoft announced that a public preview of Azure Kubernetes Service (AKS) on Windows IoT and Windows devices, known as AKS lite, will be available next month.
              "},{"location":"managed-kubernetes-in-public-cloud/#draft-2-on-aks","title":"Draft 2 on AKS","text":"
              • Azure/Draft \ud83c\udf1f
              • blog.baeke.info: Trying out Draft 2 on AKS
              "},{"location":"managed-kubernetes-in-public-cloud/#gke-google-kubernetes-engine","title":"GKE Google Kubernetes Engine","text":"
              • Google Kubernetes Engine
                • One of the most helpful GKE features is the ability to create clusters and node pools with custom kernel parameters. This means you no longer need to use one-off daemonsets, or random workarounds, to tune your machines after cluster creation.
              • Fetches all Primitive and Predefined GCP IAM Roles
              • Using new traffic control features in External HTTP(S) load balancer
              • Setting up NodeLocal DNSCache
              • Looking ahead as GKE, the original managed Kubernetes, turns 5
              • blog.doit-intl.com: How to Set Up Multi-Cluster Load Balancing with GKE
              • codeburst.io: Google Kubernetes Engine Logging by Example
              • cloud.google.com: Discover and invoke services across clusters with GKE multi-cluster services
              • Introducing GKE Autopilot: a revolution in managed Kubernetes \ud83c\udf1f
              • techcrunch.com: Google Cloud puts its Kubernetes Engine on autopilot
              • zdnet.com: Google introduces GKE Autopilot for hands-off Kubernetes The new GKE Autopilot, generally available now, steps up the level of automation involved in Kubernetes management, down to eliminating all node management.
              • thenewstack.io: Google\u2019s New \u2018Autopilot\u2019 for Kubernetes
              • cloud.google.com: GKE Autopilot \ud83c\udf1f
              • medium: How to provision Kubernetes Cluster in GCP Cloud (K8s)? \ud83c\udf1f
              • youtube: GKE Autopilot - Fully Managed Kubernetes Service From Google \ud83c\udf1f
              • insights.project-a.com: Using GitHub Actions to deploy to Kubernetes in GKE \ud83c\udf1f
              • faun.pub: How to automate the setup of a Kubernetes cluster on GCP Using Ansible to install, setup, and configure a Google Kubernetes Cluster (GKE) on Google Cloud Platform (GCP).
              • Kubernetes Cloud DNS GCP now makes it easy to query DNS for Kubernetes services across multiple clusters from anywhere inside the VPC! The less stuff users have to run in their clusters, the more they can use for their own apps. It was always problematic to make users admin their own DNS.
              • seroter.com: Using the new Google Cloud Config Controller to provision and manage cloud services via the Kubernetes Resource Model I look at a new managed service that provisions cloud-native services as if they were k8s resources.
              • cloud.google.com: Announcing Backup for GKE: the easiest way to protect GKE workloads \ud83c\udf1f
              • Features of Google Kubernetes Engine that NO other K8s provider has or are rapidly copying:
                • Autopilot
                • Backup
                • Multi-cluster Ingress
                • OOTB SRE Dashboards with ASM
                • Config Management across clouds
              • cloud.google.com: Announcing Spot Pods for GKE Autopilot\u2014save on fault tolerant workloads
              • acloudguru.com: GKE ludicrous speed! GKE Image Streaming speeds up container starts
              • cloud.google.com: How to do multi-cluster Kubernetes in the real world\u2014one GKE shop\u2019s approach
              • cloud.google.com: Know more, spend less: how GKE cost optimization insights help you optimize Kubernetes
              • medium.com/@glen.yu: Getting started with eBPF and Cilium on GKE Through Cilium, users can add functionality such as encryption and L7 network policy enforcement previously only available in a service mesh \u2014 but without the operational complexity of having to manage one.
              • medium.com/@glen.yu: NGINX Ingress or GKE Ingress? There are tons of ingress controllers out there in the Kubernetes ecosystem, so how do we know which one is right for you? In this article, you will learn the differences between the NGINX and GKE Ingress.
              • medium.com/google-developer-experts: Getting started with GKE Gateway controller
              • cloud.google.com: Introducing Kubernetes control plane metrics in GKE
              • google/gke-policy-automation This repository contains the tool and the policy library for validating GKE clusters against configuration best practices
              • medium.com/google-cloud: Monitoring Kubernetes Clusters on GKE (Google Container Engine) This is a hands-on guide to monitoring and logging at different layers in the Kubernetes Engine stack
                • GCP components (compute)
                • Kubernetes objects (cluster nodes)
                • Containerized applications
                • Application specific metrics
              • blog.devgenius.io: Explore API Priority and Fairness to Ease the Load of the APIServer Walk through incident remediation using APF
              • faun.pub: Make Your Kubernetes Cluster Highly Available and Fault Tolerant \ud83c\udf1f End to End setup of Multi Region Autopilot Kubernetes Cluster with Application Deployment Example
              • medium.com/@pbijjala: reCap: Kube vrs Cloud DNS in GKE When deciding on how to use DNS with GKE, what are the available native Kubernetes options, which options exist on Google Cloud for GKE, and how do these two things play together?
              • medium.com/google-cloud: Ingress in Google Kubernetes Products In this article, you will discuss, enumerate and compare all the options you have to route traffic into a Kubernetes cluster running in Google Cloud (GKE) or on-premise (Anthos on Bare Metal, Anthos on VMware)
              • medium.com/@pbijjala: Considerations for Hardening your GKE, a workload perceptive This article has a few tips for hardening your GKE setup:
                • Network policies
                • Custom service accounts
                • Workload identities
                • Pod Security admissions and admission controllers
                • GKE sandbox
              • medium.com/@jjlakis: GCP Secret Manager with self-hosted Kubernetes In this article, you will learn how to use the GCP secret manager to store secrets for an on-prem k3s cluster
              • tech.loveholidays.com: GKE Multi-Cluster Services \u2014 one bad probe away from disaster
              • Looking for GPU Capacity ? DWS got you covered !
              • medium.com/google-cloud: Understanding health checks in GKE & Gateway API This article discusses the difference between Kubernetes readiness and GCP\u2019s Application Load Balancer health checks. Despite a pod being marked as unready by Kubernetes, if GCP\u2019s health check deems it healthy, traffic will still be forwarded to it
              "},{"location":"managed-kubernetes-in-public-cloud/#iks-ibm-cloud-kubernetes-service","title":"IKS IBM Cloud Kubernetes Service","text":"
              • IKS
              • medium: Multizone Kubernetes and VPC Load Balancer Setup with terraform
              "},{"location":"managed-kubernetes-in-public-cloud/#linode-kubernetes-engine-lke","title":"Linode Kubernetes Engine LKE","text":"
              • Linode Kubernetes Engine (LKE)
              • medium: Create Kubernetes Cluster Using Linode LKE
              • dev.to: Practical Introduction to Kubernetes Autoscaling Tools with Linode Kubernetes Engine \ud83c\udf1f In this article you will practice scaling apps with the:
                • Horizontal Pod Autoscaler
                • Vertical Pod Autoscaler
                • Proportional Autoscaler
                • Cluster Autoscaler
              "},{"location":"managed-kubernetes-in-public-cloud/#doks-digital-ocean-kubernetes","title":"DOKS Digital Ocean Kubernetes","text":"
              • docs.digitalocean.com: Kubernetes on DigitalOcean
              • digitalocean.com: Automating GitOps and Continuous Delivery With DigitalOcean Kubernetes (Terraform, Helm and Flux)
              • blog.ediri.io: DigitalOcean Kubernetes Challenge Deploy a GitOps CI/CD implementation
              • digitalocean.com: Kubernetes for startups: Why, when, and how to adopt
              "},{"location":"managed-kubernetes-in-public-cloud/#oracle-cloud-kubernetes","title":"Oracle Cloud Kubernetes","text":"
              • arnoldgalovics.com: GitHub Actions CI/CD For Oracle Cloud Kubernetes Learn how to create a private container registry with Terraform and deploy a 4 node Kubernetes cluster for free on Oracle Cloud. Then, use GitHub Actions to build ARM Docker containers for your nodes.
              "},{"location":"managed-kubernetes-in-public-cloud/#provisioning-cloud-resources-aws-gcp-azure-in-kubernetes","title":"Provisioning cloud resources (AWS, GCP, Azure) in Kubernetes","text":"
              • learnk8s.io: Provisioning cloud resources (AWS, GCP, Azure) in Kubernetes
              "},{"location":"managed-kubernetes-in-public-cloud/#kubesphere","title":"Kubesphere","text":"
              • kubesphere.io The Kubernetes platform tailored for hybrid multicloud. KubeSphere is a distributed operating system managing cloud native applications with Kubernetes as its kernel, and provides plug-and-play architecture for the seamless integration of third-party applications to boost its ecosystem.
              • kubekey The Next-gen Installer: Installing Kubernetes and KubeSphere v3.0.0 fastly, flexibly and easily
                • kubesphere.io: Install Kubernetes 1.22 and containerd the Easy Way with kubekey
                • thenewstack.io: Quickly Install a Kubernetes Cluster with KubeKey
              • kubesphere.io: Scaling a Kubernetes Cluster: One of the Best Practices for Using KubeKey
              • itnext.io: Adding Master Nodes to Achieve HA: One of the Best Practices for Using KubeKey
              • youtube: Create a Jenkins Pipeline on Kubernetes with CI/CD Pipeline Template in KubeSphere Two built-in Jenkins pipeline templates are available in KubeSphere 3.1. DevOps team can generate CICD or customize the workflow as you need by simple drag-and-drop.
              • itnext.io: KubeSphere: A New Pluggable Kubernetes Application Management Platform
              "},{"location":"managed-kubernetes-in-public-cloud/#giant-swarm","title":"Giant Swarm","text":"
              • Giant Swarm Giant Swarm offers a fully managed, open source Kubernetes platform with all the flexibility and support you need.
              • giantswarm.io: We decided to go all-in with Cluster API (CAPI). \u201cTime 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.\u201d
              "},{"location":"managed-kubernetes-in-public-cloud/#tools-for-multi-cloud-kubernetes-management","title":"Tools for multi-cloud Kubernetes management","text":"
              • Banzai Cloud \ud83c\udf1f
                • Kubernetes node pool upgrades with Banzai Pipeline
              • Compare tools for multi-cloud Kubernetes management \ud83c\udf1f
                • NetApp Kubernetes Service \u2013 formerly StackPointCloud
                • Cloudify
                • Terraform
                • Rancher
                • Platform9 Managed Kubernetes
                • Red Hat OpenShift
                • Juke, from HTBase, now owned by Juniper Networks.
              "},{"location":"managed-kubernetes-in-public-cloud/#videos","title":"Videos","text":"
              • youtube: The AKS Community
              Click to expand!"},{"location":"managed-kubernetes-in-public-cloud/#tweets","title":"Tweets","text":"Click to expand!

              Cloud providers after selling managed kubernetes pic.twitter.com/p9jd4Ov4Ej

              \u2014 memenetes (@memenetes) November 11, 2021

              Small companies managing their own Kubernetes. pic.twitter.com/nTHrqPiQnm

              \u2014 joshobrien77 (@joshobrien77) November 12, 2021

              AWS recently released a new version of the AWS-CNI that allows more Pods to be deployed in each EC2 instance.More pod density means more efficiency, but how does it work?And if it's that good, why release it only now?Let's see \ud83d\udc47\ud83e\uddf5 pic.twitter.com/MHnDrYJUvf

              \u2014 Daniele Polencic (@danielepolencic) November 22, 2021"},{"location":"matrix-table/","title":"Kubernetes Distributions & Installers Matrix Table","text":"
              • atodorov.me: Comparing Kubernetes managed services across Digital Ocean, Scaleway, OVHCloud and Linode
              • Learnk8s: Comparison of Kubernetes Managed Services \ud83c\udf1f Learnk8s has compared Managed Kubernetes Services and put up online a nice sheet displaying best-breed cloud services and their Managed K8s offerings. Look for Price, Quotas, Security, etc.
              • Learnk8s: Comparison of Kubernetes Ingress controllers \ud83c\udf1f Daniele Polencic: \u201cWhat\u2019s the best Kubernetes Ingress Controller? There is not a simple answer as some controllers are better suited for APIs, others require less maintenance, etc. To make sense of all the options, we\u2019ve expanded the comparison of the Ingress controllers to include 16 Ingress controllers and several other missing features such as Hot Reloading, Proxy Protocol, Cert manager integration, etc.\u201d
              • itprotoday.com: Who\u2019s Winning in the Container Software Market \ud83c\udf1f Thanks to its container customer training, the $1 billion container software market is Red Hat\u2019s to lose. Where do the other players stand?
              Kubernetes Installer or Distribution Role Ecosystem Infra Provider On-Premise Licence HA Standalone Runs in Docker Ingress + Storage included Automated Deployment Details kubeadm SRE / DevOps Kubernetes Upstream Multi platform Yes OSS Yes No No No No Official kubernetes deployment tool Ansible role for kubeadm automation SRE / DevOps Kubernetes Upstream Virtual Machine Yes OSS Yes Yes No Yes (storage?) No Ansible role for kubeadm automation Kops SRE / DevOps Kubernetes Upstream AWS No OSS Yes No No Yes Yes AWS compliant, alpha release for other providers Minikube Devel Kubernetes Upstream Dektop Virtual Machine Yes OSS No Yes No No Yes Official development environment Docker Desktop on Windows Devel Kubernetes Upstream Desktop Virtual Machine Yes OSS No Yes Yes No Yes Development environment available in Docker Desktop on Windows Rancher 2 SRE / DevOps Multi-cloud kubernetes management Virtual Machine Yes OSS Yes No No No No Racher is an enterprise kubernetes installer that competes with OpenShift. Rancher 2 RKE SRE / DevOps Rancher Virtual Machine Yes OSS Yes Yes Yes no no Rancher 2 that runs in docker containers. K3s SRE / DevOps / IoT Rancher Virtual Machine Yes OSS Yes Yes No Yes Yes Basic kubernetes with automated installer. K3d SRE / DevOps / IoT Rancher Virtual Machine Yes OSS Yes Yes Yes Yes Yes k3s that runs in docker containers. K3sup (said \u2018ketchup\u2019) SRE / DevOps / IoT Rancher Virtual Machine Yes OSS Yes Yes No Yes Yes get from zero to KUBECONFIG with k3s on any local or remote VM K3OS SRE / DevOps / IoT Rancher Virtual Machine Yes OSS Yes Yes No Yes Yes Linux distribution designed to remove as much OS maintenance as possible in a Kubernetes cluster K3c Devel Rancher Linux Yes OSS No Yes No No Yes Lightweight local container engine for container development (experiment) Microk8s Devel / IoT Kubernetes Upstream Virtual Machine Yes OSS Yes (beta) Yes No Yes Yes Ubuntu. It compites with k3s. Pharos SRE / DevOPs / IoT Kubernetes Upstream Multi Platform Yes OSS Yes Yes No Yes Yes Pharos is a vendor neutral community driven Kubernetes that works on any infrastructure at any scale. It works flawlessly on public clouds, private clouds, hybrid clouds, on-premises, bare metal or at the edge, no problem! OKD SRE / DevOps OpenShift Virtual Machine Yes OSS Yes Yes No Yes (okd-community-install) Yes (okd-community-install) okd-community-install is a standalone cluster of 1 node valid for small projects. Minishift [ARCHIVED] Devel OpenShift Desktop Virtual Machine Yes OSS No Yes No No Yes OpenShift 3 official development environment. OCP 4 CodeReady Containers Devel OpenShift Desktop Virtual Machine Yes OSS No Yes No No Yes OpenShift 4 official development environment OCP 4 Public Cloud SRE / DevOps OpenShift AWS, GCP, Azure No Yes Yes No No Yes Yes OpenShift in Public Cloud OpenShift Dedicated SRE / DevOps OpenShift AWS No Yes Yes No No Yes Yes OpenShift In AWS managed by Red Hat OCP 4 Private Cloud 1 SRE / DevOps OpenShift OpenStack, Red Hat Virtualization Yes Yes Yes No No Yes Yes OpenShift in private cloud with automated deployment recommeded by Red Hat. OCP 4 Private Cloud 2 SRE / DevOps OpenShift vSphere 6.7 U2, Bare Metal Yes Yes Yes No No Yes No OpenShift in private cloud with infra providers that currently don\u2019t support automated deployments. AWS EKS SRE / DevOps AWS Kubernetes AWS No N/A Yes No No Yes Yes Managed kubernetes by AWS Google kubernetes Engine (GKE) SRE / DevOps Google Kubernetes GCP No N/A Yes No No Yes Yes Managed kubernetes by Google Cloud Digital Ocean 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) SRE / DevOps Alibaba Kubernetes Alibaba Cloud No N/A Yes No No yes Yes Oracle Kubernetes Engine (OKE) SRE / DevOps Oracle Kubernetes Oracle Cloud No N/A Yes No No Yes Yes Managed kubernetes by Oracle Cloud Terraform (kubernetes the hard way) 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 SRE / DevOps Kubernetes Upstream AWS, GCE, Azure, Oracle Cloud (experimental) Yes OSS Yes Yes No Yes Yes Kubespray on Private Cloud SRE / DevOps Kubernetes Upstream OpenStack, vSphere, Packet (bare metal), or baremetal Yes OSS Yes Yes No Yes No Conjure-up SRE / DevOps Kubernetes Upstream Yes OSS Yes Yes No Yes Yes weave.works SRE / DevOps / Devel Kubernetes Upstream WKSctl SRE / DevOps Kubernetes Upstream Yes OSS Yes Yes No Yes Yes Caravan SRE / DevOps Kubernetes Upstream Yes OSS Yes Yes No Yes Yes ClusterAPI SRE / DevOps Kubernetes Upstream Yes OSS Yes No No No Kind Devel Kubernetes Upstream Yes OSS No Yes Yes No Yes Not designed for production use; it is intended for development and testing environments. k0s SRE / DevOps Yes OSS Yes Yes No Yes Yes Developed by Mirantis Ubuntu Charmed Kubernetes SRE / DevOps / Devel Kubernetes Upstream VMware Pivotal Container Service (PKS) SRE / DevOps PKS / Cloud Foundry PaaS (no kubernetes) vSphere, multi-cloud, public-cloud Yes Yes Yes No No Yes Yes Pivotal Container Service (PKS) adquired by VMware in 2019. Cloud Foundry PaaS that compites with kubernetes. VMware vSphere 7 with Kubernetes SRE / DevOps VMware Kubernetes vSphere Yes Yes Yes No No Yes Yes VMware\u2019s kubernetes VMware Kubernetes Tanzu (PKS renamed) SRE / DevOps VMware Kubernetes vSphere, multi-cloud, public-cloud Yes Yes Yes No No Yes Yes Embed kubernetes natively into vSphere. Competes with OpenShift. Mirantis Docker Enterprise 3.1+ with Kubernetes SRE / DevOps Mirantis Kubernetes multi-cloud, private & public cloud Yes Yes Yes No No Yes Yes Istio, Windows and Linux Worker nodes Giant Swarm Platform Engineers / SRE / DevOps Kubernetes Upstream Multi-platform, multi-cloud (AWS, GCP, Azure, vSphere, VMWare Cloud Director, Openstack) Yes OSS Yes Yes No Yes Yes Giant Swarm is a Operate Services Provider enabling your platform team improving platform engineering capabilities and taking over the responsibility of 24x7. Giant Swarm offers out-of-the-box Clound Native Developer Platforms sorley build with Open-Source Tools to manage Kubernetes and all the necessary capabilities around Security, Connectivity, Observability and Developer Experience. K8e Simple Kubernetes Distribution. Builds on upstream project K3s as codebase, remove Edge/IoT features and extend enterprise features with best practices Typhoon Minimal and free Kubernetes distribution with Terraform LKE Linode Kubernetes Engine

              |====================================|==================|======================|==========================| | | | | | | |=============================================|==============================================================================|

              "},{"location":"maven-gradle/","title":"Maven, Gradle & SDKMAN","text":"
              1. Apache Maven
                1. Scaffolding a project with Maven (maven archetype)
                2. Maven Tests
                3. Dependency Resolution in Maven
                4. Maven and Docker
                5. IDEs
                  1. Intellij IDEA
                6. Maven Plugins
                7. Maven Cheat Sheets
                8. Other Commands
                9. Docker Maven Plugin (fabric8)
                10. Fabric8 Maven Plugin (deprecated)
              2. Eclipse JKube (formerly known as Fabric8 Maven Plugin) - Kubernetes & OpenShift Maven and Gradle Plugins
              3. Gradle
                1. Gradle Cheat Sheets
              4. SDKMAN
              5. Related Tools
              "},{"location":"maven-gradle/#apache-maven","title":"Apache Maven","text":"
              • Wikipedia.org: Apache Maven
              • maven.apache.org
                • apache/maven-mvnd Apache Maven Daemon. Easy way to speed up local build especially in multi-module Maven project - use Maven Daemon (mvnd)! mvnd builds Spring Cloud AWS 28% faster than traditional mvn command
              • twitter.com/ASFMavenProject: The official twitter feed of the Apache Maven Project
              • twitter.com/ASFMavenRelease: Maven Plugin Release Tweets of plugin releases
              • Dzone.com: Creating a Maven Archetype
              • Dzone refcard: Apache Maven 2
              • Dzone refcard: Getting Started with Maven Repository Management
              • Dzone: Installing Maven With Your JDK
              • Dzone: 10 Effective Tips on Using Maven
              • Dzone: Building Java Applications With Maven
              • howtodoinjava.com/maven
              • Dzone: 7 Tips to Achieve High-Availability(HA) For Your Maven Repository
              • maarten.mulders.it: What\u2019s New in Maven 4
              • dev.to: Maven Plugin Configuration - The (Unknown) Tiny Details
              • ashishtechmill.com: Demystifying Google Container Tool Jib: Java Image Builder This article covers some internals of image layering created by container image builder Jib and explore what distroless images are and their benefits.
              • blog.testproject.io: Getting Started with Maven in Less Than 10 Minutes \u2013 Part 1
                • blog.testproject.io: Getting Started with Maven in Less Than 10 Minutes \u2013 Part 2
              • Maven 3.8.2 is available now! It contains several fixes and non invasive backports from the Maven 4 branch.
              • phauer.com: Why I Moved Back from Gradle to Maven
              • rieckpil.de: Maven Setup For Testing Java Applications
              • baeldung.com: Remove Duplicate Dependencies with Maven
              "},{"location":"maven-gradle/#scaffolding-a-project-with-maven-maven-archetype","title":"Scaffolding a project with Maven (maven archetype)","text":"
              • vogella.com: Maven for Building Java application - Tutorial
              • maven.apache.org: Introduction to the Standard Directory Layout
              • Handwritten Maven archetype project scaffolding
              • programmer.ink: Maven scaffolding best practices
              • Create the scaffolding for your microservice We will use an existing maven archetype that assembles a CDI-based Camel java project that we will then alter to implement the service.
              "},{"location":"maven-gradle/#maven-tests","title":"Maven Tests","text":"
              • Dzone: Maven Skipping Tests
              • Dzone: Integration Tests with Maven
              • Dzone.com: Running Cucumber with Maven
              "},{"location":"maven-gradle/#dependency-resolution-in-maven","title":"Dependency Resolution in Maven","text":"
              • Apache Maven Dependency Analyzer
              • Dzone.com: Solving Dependency conflicts in maven
              mvn dependency:analyze  (shows you the usage of listed and unlisted dependencies)\nmvn dependency:resolve  (give me a list of everything I have declared, a nice way to avoid reading the POM file)\nmvn dependency:tree     (how you got something on your classpath)\n
              "},{"location":"maven-gradle/#maven-and-docker","title":"Maven and Docker","text":"
              • Dzone: Meet the Docker Maven Plugin!
              "},{"location":"maven-gradle/#ides","title":"IDEs","text":"
              • code.visualstudio.com: Java Project Management in VS Code
              • medium.com: Instalaci\u00f3n de Java y Visual Studio Code en plataformas Windows
              "},{"location":"maven-gradle/#intellij-idea","title":"Intellij IDEA","text":"
              • jetbrains.com/help/idea/maven-support.html
              • Dzone: Maven IntelliJ Idea Project
              • javaspringvaadin.wordpress.com: Crea un Proyecto Maven desde el IDE IntelliJ IDEA
              • howtodoinjava.com: Maven IntelliJ Idea Project
              "},{"location":"maven-gradle/#maven-plugins","title":"Maven Plugins","text":"
              • Apache Maven Changelog Plugin
              • Apache Maven Checkstyle Plugin
              • Apache Maven Javadoc Plugin
              • Maven Surefire Report Plugin
              "},{"location":"maven-gradle/#maven-cheat-sheets","title":"Maven Cheat Sheets","text":"
              • Maven Cheat Sheets
              "},{"location":"maven-gradle/#other-commands","title":"Other Commands","text":"
              • Display contents of a jar file:
              jar tf target/example-1.0.0-SNAPSHOT.jar\n
              "},{"location":"maven-gradle/#docker-maven-plugin-fabric8","title":"Docker Maven Plugin (fabric8)","text":"
              • docker-maven-plugin This is a Maven plugin for building Docker images and managing containers for integration tests. It works with Maven 3.0.5 and Docker 1.6.0 or later.
              "},{"location":"maven-gradle/#fabric8-maven-plugin-deprecated","title":"Fabric8 Maven Plugin (deprecated)","text":"
              • developers.redhat.com: How the fabric8 Maven plug-in deploys Java applications to OpenShift
              "},{"location":"maven-gradle/#eclipse-jkube-formerly-known-as-fabric8-maven-plugin-kubernetes-openshift-maven-and-gradle-plugins","title":"Eclipse JKube (formerly known as Fabric8 Maven Plugin) - Kubernetes & OpenShift Maven and Gradle Plugins","text":"
              • Eclipse JKube \ud83c\udf1f Cloud-Native Java Applications without a hassle. Eclipse JKube is a collection of plugins and libraries that are used for building container images using Docker, JIB or S2I build strategies. Eclipse JKube generates and deploys Kubernetes/OpenShift manifests at compile time too. It brings your Java applications on to Kubernetes and OpenShift by leveraging the tasks required to make your application cloud-native. Eclipse JKube also provides a set of tools such as watch, debug, log, etc. to improve your developer experience.
              • GitHub: Eclipse JKube
              • developers.redhat.com: Migrating from Fabric8 Maven Plugin to Eclipse JKube 1.0.0
              • developers.redhat.com: Cloud-native Java applications made easy: Eclipse JKube 1.0.0 now available
              • developers.redhat.com: Java development on top of Kubernetes using Eclipse JKube
              • eclipse.org: Migration Guide for projects using Fabric8 Maven Plugin to Eclipse JKube \ud83c\udf1f
              • YouTube: Deploying a Quarkus application into Kubernetes using JKube | Cloud Tool Time | Marc Nuri \ud83c\udf1f
              • blog.marcnuri.com: Eclipse JKube introduction: Java tools and plugins for Kubernetes and OpenShift
              • blog.marcnuri.com: Eclipse JKube 1.4.0 is now available!
              "},{"location":"maven-gradle/#gradle","title":"Gradle","text":"
              • gradle.org
              • docs.gradle.org: Getting Started
              • Dzone: build a java app with gradle
              • Playing with gradle
              • baeldung.com: Kotlin DSL for Gradle
              • baeldung.com: Convert a Maven Build to Gradle
              "},{"location":"maven-gradle/#gradle-cheat-sheets","title":"Gradle Cheat Sheets","text":"
              • Gradle Cheat Sheets
              "},{"location":"maven-gradle/#sdkman","title":"SDKMAN","text":"
              • SdkMan is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems. It provides a convenient Command Line Interface (CLI) and API for installing, switching, removing and listing Candidates. Formerly known as GVM the Groovy enVironment Manager, it was inspired by the very useful RVM and rbenv tools, used at large by the Ruby community.
              • Using Jenkins Pipeline parallel stages to build Maven project with different JDKs
              • Demo: A single Jenkinsfile, a Java Maven project, a single Dockerfile, multiple Java versions build and tested in parallel thanks to SDKMAN:
                • Using SDKMAN! as a docker image for Jenkins Pipeline - a step by step guide \ud83c\udf1f
                • Multiple Java versions in a single Jenkins Pipeline using Docker and SDKMAN\ud83c\udf1f In this video, I show you how you can use Jenkins Declarative Pipeline to create a build pipeline that compiles the Maven Java project using three different Java versions (8, 11, and 15.) You will learn how to use a matrix section of the Jenkins Pipeline to define parallel stages, as well as how to create a Docker image that provides both Java and Maven using the powerful SDKMAN command-line tool. After watching this video you should feel comfortable with setting up multiple parallel stages to build your Java project using different versions of the compiler. And what is most important - it does not require creating Dockerfiles for each Java version. I will show you how to build the pipeline using just a single Dockerfile that does the job.
                • Jenkins Pipeline Maven build demo
              "},{"location":"maven-gradle/#related-tools","title":"Related Tools","text":"
              • jitpack.io \ud83c\udf1f Easy to use package repository for Git. Publish your JVM and Android libraries. Publishing your own library to the Maven Central repository may be a painful experience. Therefore, you may just create a GitHub Release for your library, and then include it as a dependency using jitpack.
              • JBang Run Java code directly. Reuse Maven dependencies with ease. Lets Students, Educators and Professional Developers create, edit and run self-contained source-only Java programs with unprecedented ease.
              "},{"location":"message-queue/","title":"Cloud Based Integration & Messaging. Data Processing & Streaming (aka Data Pipeline). Open Data Hub","text":"
              1. Message Queue in Kubernetes. Event-driven Messaging. Real-Time Data Streaming
              2. RPC vs Messaging
              3. Tibco Business Works BWCE
              4. Message Brokers
                1. ActiveMQ message broker
                2. RabbitMQ message broker
                3. Redis message broker
                4. Apache Camel message broker
                  1. Apache Camel K
                5. KubeMQ message broker
                6. Google Cloud Platform Pub/Sub
                7. JMS Message Queue vs. Apache Kafka
              5. Cloud Based Integration. Integration Platform-as-a-Service (iPaaS) solutions
                1. Red Hat Fuse and Red Hat Fuse Online
                2. Syndesis open source integration platform
              6. Debezium open source distributed platform for Change Data Capture (CDC) software design pattern
              7. Red Hat Integration service registry and Apicurio
              8. Data Mesh
              9. Data Processing (aka Streaming Data, Data Pipeline or Big Data Pipeline)
                1. Apache Kafka
                  1. Kafka Tools
                  2. Strimzi kubernetes operator for apache kafka
                  3. Apache Kafka Desktop Clients
                2. AWS Kinesis
                3. MQTT
                4. Banzai Cloud Supertubes (Cloud Native Kafka implementation)
                5. Confluent Cloud (Apache Kafka Re-engineered for the Cloud)
                6. Redpanda (kafka alternative). A modern streaming platform for mission critical workloads
                  1. KsqlDB
                7. Apache Pulsar
                8. Apache Flink
                9. Hazelcast JET
                10. Postgress as message queue
              10. Workflow Engines
                1. Zeebe
                2. Apache Airflow
                3. Couler
              11. Red Hat AMQ (ActiveMQ Artemis broker and Apache Kafka)
                1. Red Hat AMQ Broker (ActiveMQ Artemis)
                2. Red Hat AMQ Streams
                3. Slides of Red Hat AMQ Streams
              12. Open Data Hub AI-as-a-Service (AIaaS) platform
              13. Integration Platform as a Solution (iPaaS). Platforms for collecting, storing and routing customer event data
                1. IpaaS Vendors
              14. eBooks
              15. Related
              16. Questions and Answers
              17. Videos
              18. Tweets
              "},{"location":"message-queue/#message-queue-in-kubernetes-event-driven-messaging-real-time-data-streaming","title":"Message Queue in Kubernetes. Event-driven Messaging. Real-Time Data Streaming","text":"
              • Wikipedia: Message Broker
              • Wikipedia: Event-driven messaging
              • Wikipedia: Streaming Data
              • nginx.com: Event-Driven Data Management for Microservices \ud83c\udf1f
              • dzone: Event-Driven Architecture as a Strategy Event-driven architecture provides five key benefits to modern application architecture: scalability, resilience, agility, data sharing, and cloud enabling.
              • infoq.com: From Monolith to Event-Driven: Finding Seams in Your Future Architecture
              • wikipedia: Enterprise service bus
              • thenewstack.io: The Rise of the Event Streaming Database \ud83c\udf1f
              • cncf.io: The need for Kubernetes Native Messaging Platform in Hybrid Cloud Environment
              • wiprodigital.com: A Guide to Enterprise Event-Driven Architecture
              • medium: Introduction to Event-Driven Architecture \ud83c\udf1f The essential concepts that every developer should know
              • ibm.com: Event-driven cloud-native applications (microservices) The event backbone is being part of the microservices mesh, providing the publish-and-subscribe communication between microservices and enabling the support of loosely coupled event-driven microservices.
              • stackoverflow.blog: How event-driven architecture solves modern web app problems \ud83c\udf1f In this article, we\u2019ll discuss some of the problems driving innovation in modern web development. Then we\u2019ll dive into the basics of event-driven architecture (EDA), which tries to address these problems by thinking about back-end architecture in a novel way.
              • sebalopezz.medium.com: Monolith to Microservices + Event-Driven Architecture \ud83c\udf1f
              • confluent.io: Event-Driven Microservices Architecture (white paper) \ud83c\udf1f Microservices are an architectural pattern that structures an application as a collection of small, loosely coupled services that operate together to achieve a common goal. Because they work independently, they can be added, removed, or upgraded without interfering with other applications. While there are numerous benefits to microservices architecture, like easier deployment and testing, improved productivity, flexibility, and scalability, they also pose a few disadvantages, as independently run microservices require a seamless method of communication to operate as one larger application. Event-driven microservices allow for real-time microservices communication, enabling data to be consumed in the form of events before they\u2019re even requested. In this white paper, we\u2019ll cover how event-driven microservices work, presenting a sample currency exchange platform to illustrate the design and architecture of an application composed of event-driven microservices using Apache Kafka\u00ae and Confluent Platform. We also discuss other aspects of microservices architectures, such as team structure, continuous delivery, deployment, and testing. Lastly, we discuss how Apache Kafka and Confluent Platform enable and extend core principles of microservices, including decoupling, separation of concerns, agility, and real-time streaming of event data.
              • redhat.com: Event-driven architecture: Understanding the essential benefits \ud83c\udf1f Event-driven architectures bring significant benefits when managing many endpoints, but it also has its complexities to be aware of.
              • medium: Introduction to Message Queues \ud83c\udf1f
              • headspring.com: Is Kafka or RabbitMQ the right messaging tool for you?
              • baeldung.com: Pub-Sub vs. Message Queues \ud83c\udf1f
              • engineering.atspotify.com: Spotify\u2019s Event Delivery \u2013 The Road to the Cloud (Part I)
              • medium: Monolithic to Microservices Architecture with Patterns & Best Practices \ud83c\udf1f
              • infoq.com: Turning Microservices Inside-Out
              • towardsdatascience.com: Architecture for High-Throughput Low-Latency Big Data Pipeline on Cloud \ud83c\udf1f Scalable and efficient data pipelines are as important for the success of analytics, data science, and machine learning as reliable supply lines are for winning a war.
              • dzone: RESTful Applications in An Event-Driven Architecture Hybrid architecture with both RESTful and event-driven services.
              • developers.redhat.com: Distributed transaction patterns for microservices compared
              • thenewstack.io: The Rise of Event-Driven Architecture
              • jinwookim928.medium.com: Why Not Event Driven Architecture?
              • thenewstack.io: Streaming Data and the Modern Real-Time Data Stack

                Modern Data Stack Modern Real-Time Data Stack Language SQL SQL Deployment Cloud-native Cloud-native Data Ops Complex batch transformations every 15 minutes, hourly or daily Simple incremental transformations every second Insights Monthly, Weekly or Daily Instantly Cost Affordable at massive scale Affordable at massive scale and speed
              • blog.direktiv.io: Event driven orchestration with Knative (part 1)

              • blog.direktiv.io: Redefining event-driven orchestration for automation & applications
              • pub.towardsai.net: Deep Dive into Event-Driven architecture | Gul Ershad
              • developer.com: An Introduction to Event Driven Microservices
              • dzone.com: What Are Microservices and The Event Aggregator Pattern? \ud83c\udf1f Learn about the Event Aggregator pattern for organizing event communication in a microservices architecture with an example.
              • ibm.com: Event-driven cloud-native applications (microservices) The event backbone is being part of the microservices mesh, providing the publish-and-subscribe communication between microservices and enabling the support of loosely coupled event-driven microservices.
              • irfanyusanif.medium.com: Best practices to communicate between microservices
              • swapnil-chougule.medium.com: Rapid Feature Engineering through SQL
              • blog.twitter.com: Processing billions of events in real time at Twitter
              • codeopinion.com: Event Sourcing vs Event Driven Architecture
              • thenewstack.io: The Path to Getting the Full Data Stack on Kubernetes
              • medium.com/tinyclues-vision: 4 Design Principles for Robust Data Pipelines Design Principles for traditional Software Engineering quickly fail when working with large and diverse sets of data \u2014 a new way of thinking about this difference.
              • medium.com/fiverr-engineering: How to Share Data Between Microservices on High Scale Several approaches suitable for a scalable system considering tradeoffs between availability and consistency
              • medium.com/codex: Microservices Communication \u2014 Queues Topics and Streams In this article, I will speak about types of messages broker that are famous in microservices communication.
              • blog.bitsrc.io: Why Microservices Should use Event Sourcing \ud83c\udf1f 6 Reasons where you need to use Event Sourcing in Micro-services
              • emirayhan.medium.com: What is the difference Message Queue and Message Bus? \ud83c\udf1f
              • verraes.net: DDD and Messaging Architectures \ud83c\udf1f An overview of my different series on patterns in distributed systems. A good collection of Messaging Patterns
              • medium.com/event-driven-utopia: Comparing Stateful Stream Processing and Streaming Databases How do these two technologies work? how do they differ, and when is the right time to use them?
              • thenewstack.io: How to Get Started with Data Streaming With Kafka and associated tools, developers can create stream-processing pipelines that transform data for real-time applications.
              • linkedin.com: How to Move From a \u201cWait for it\u2026\u201d Batch-Processing Culture to a \u201cGet It Now\u201d Real-Time Data Culture
              • dzone: Resilient MultiCloud Messaging Messaging becomes an important technical option when operating solutions span clouds, hybrid deployments, and even inter-application and inter-process communication.
              • juhache.substack.com: From Data Engineer to YAML Engineer
              "},{"location":"message-queue/#rpc-vs-messaging","title":"RPC vs Messaging","text":"
              • particular.net: RPC vs. Messaging \u2013 which is faster?
              "},{"location":"message-queue/#tibco-business-works-bwce","title":"Tibco Business Works BWCE","text":"
              • medium.com/dev-jam: TIBCO Business Works vs. Apache Camel \u2014 A short Comparison \ud83c\udf1f
                • ESB stands for Enterprise Service Bus. It is an architecture pattern that enables disparate applications to connect seamlessly with each other. Under the hood, ESB uses an integration tool, more commonly known as middleware. Integration or Middleware tools have capabilities such as data transformation (such as XML to JSON), protocol transformation (like FTP to HTTP), content-based message routing and service orchestration. Many vendors converted this concept into an ESB product with standard connectors
                • In this blog, I will compare two such integration tools, one which I have worked extensively i.e TIBCO BW and the de facto open source integration framework Apache Camel. I choose open source as it has a bright future and becoming very popular among many enterprises. I did not choose Mule ESB because it is not completely open-source as its most vital components come under a licensed enterprise version.
              "},{"location":"message-queue/#message-brokers","title":"Message Brokers","text":"
              • Apache ActiveMQ
              • Dzone: Introduction to Message Brokers. Part 1: Apache Kafka vs. RabbitMQ
              • Dzone: Introduction to Message Brokers. Part 2: ActiveMQ vs. Redis Pub/Sub
              • developers.redhat.com: Choosing the right asynchronous-messaging infrastructure for the job
              • kai-waehner.de: When to use Apache Camel vs. Apache Kafka? \ud83c\udf1f Should I use Apache Camel or Apache Kafka for my next integration project? The question is very valid and comes up regularly. This blog post explores both open-source frameworks and explains the difference between application integration and event streaming. The comparison discusses when to use Kafka or Camel, when to combine them, when not to use them at all. A decision tree shows how you can quickly qualify out one for the other.
              "},{"location":"message-queue/#activemq-message-broker","title":"ActiveMQ message broker","text":"
              • ActiveMQ 5.x \u201cclassic\u201d
              • ActiveMQ Artemis Apache ActiveMQ is a subproject of Apache ActiveMQ. It has been donated to the Apache Software Foundation in 2015. There were lots of changes in project names in the past. The Artemis project first started as JBoss Messaging and got renamed to HornetQ in August 2009.
              • Apache Artemis JMeter Running the ActiveMQ Artemis JMeter Performance Testing Examples.
              • developers.redhat.com: Implementing Apache ActiveMQ-style broker meshes with Apache Artemis
              "},{"location":"message-queue/#rabbitmq-message-broker","title":"RabbitMQ message broker","text":"
              • K8s prevent queue worker Pod from being killed during deployment How to prevent a Kubernetes (like RabbitMQ) queue worker Pod from being killed during deployment while handling a message?
              • medium.com: RabbitMQ vs. Kafka An architect\u2019s dilemma
              • blog.rabbitmq.com: First Application With RabbitMQ Streams
              • geshan.com.np: How to use RabbitMQ and Node.js with Docker and Docker-compose
              • salaboy.com: Event-Driven applications with CloudEvents on Kubernetes
              • medium.com/@paolo.gazzola: How to deploy a high available and fault tolerant RabbitMQ service in an on-premise Kubernetes multi-node cluster environment
              "},{"location":"message-queue/#redis-message-broker","title":"Redis message broker","text":"
              • Redis
              • Redis Pub/sub
              • betterprogramming.pub: The Perfect Message Queue Solution Based on the Redis Stream Type
              "},{"location":"message-queue/#apache-camel-message-broker","title":"Apache Camel message broker","text":"
              • Apache Camel Camel is an Open Source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data. In version 3 we use <5MB memory, including the JVM. Also reflection free, low GC, super modular, native compilation friendly.
              • Quora.com: What\u2019s the difference between Apache Camel and Kafka?
              • dzone: Hybrid multi-cloud event mesh architectural design Building the event mesh with Camel
              • developers.redhat.com: Integrating systems with Apache Camel and Quarkus on Red Hat OpenShift
              "},{"location":"message-queue/#apache-camel-k","title":"Apache Camel K","text":"
              • Apache Camel K is a lightweight cloud-integration platform that runs natively on Kubernetes. Based on the famous Apache Camel, Camel K is designed and optimized for serverless and microservices architectures.
              • developers.redhat.com: Six reasons to love Camel K
              • developers.redhat.com: Extending Kafka connectivity with Apache Camel Kafka connectors
              • developers.redhat.com: Design event-driven integrations with Kamelets and Camel K
              • thenewstack.io: Camel K Brings Apache Camel to Kubernetes for Event-Driven Architectures
              • github.com/osa-ora/camel-k-samples
              "},{"location":"message-queue/#kubemq-message-broker","title":"KubeMQ message broker","text":"
              • KubeMQ.io: Kubernetes Native Message Queue Broker
              • devops.com: Best of 2019: Implementing Message Queue in Kubernetes
              • kubemq.io: Kafka VS KubeMQ \ud83c\udf1f
              • github.com/kubemq-io/kubemq-community \ud83c\udf1f KubeMQ community version is now available as an open-source project!
              • dzone: KubeMQ: A Modern Alternative to Kafka This article introduces a modern, Kubernetes-native message queue called KubeMQ, to show how organizations trying to implement Kafka on Kubernetes can benefit from it.
              "},{"location":"message-queue/#google-cloud-platform-pubsub","title":"Google Cloud Platform Pub/Sub","text":"
              • Google Cloud Platform Pub/Sub
              "},{"location":"message-queue/#jms-message-queue-vs-apache-kafka","title":"JMS Message Queue vs. Apache Kafka","text":"
              • kai-waehner.de: Comparison: JMS Message Queue vs. Apache Kafka
              "},{"location":"message-queue/#cloud-based-integration-integration-platform-as-a-service-ipaas-solutions","title":"Cloud Based Integration. Integration Platform-as-a-Service (iPaaS) solutions","text":"
              • Wikipedia: Cloud Based Integration (iPaaS)
              • Integration Platform as a Service (iPaaS) is a suite of cloud services enabling development, execution and governance of integration flows connecting any combination of on premises and cloud-based processes, services, applications and data within individual or across multiple organizations.
              • Integration platform as a service (iPaaS) is a set of automated tools for connecting software applications that are deployed in different environments. iPaaS is often used by large business-to-business (B2B) enterprises that need to integrate on-premises applications and data with cloud applications and data.
              • blog.axway.com: What is iPaaS?
              • ibm.com: iPaaS (Integration-Platform-as-a-Service): iPaaS is a cloud-based solution that simplifies application integration across on-premises and cloud environments, to help you accelerate innovation and lower your integration and operations costs.
              "},{"location":"message-queue/#red-hat-fuse-and-red-hat-fuse-online","title":"Red Hat Fuse and Red Hat Fuse Online","text":"
              • Red Hat Fuse
              "},{"location":"message-queue/#syndesis-open-source-integration-platform","title":"Syndesis open source integration platform","text":"
              • Syndesis open source integration platform (OpenSource Project for Red Hat Fuse Online)
              • developers.redhat.com: Low-code microservices orchestration with Syndesis
              "},{"location":"message-queue/#debezium-open-source-distributed-platform-for-change-data-capture-cdc-software-design-pattern","title":"Debezium open source distributed platform for Change Data Capture (CDC) software design pattern","text":"
              • Change Data Capture, or CDC, is a well-established software design pattern for a system that monitors and captures the changes in data so that other software can respond to those changes. CDC captures row-level changes to database tables and passes corresponding change events to a data streaming bus. Applications can read these change event streams and access these change events in the order in which they occurred.
              • Debezium: Stream changes from your database
              • developers.redhat.com: Decoupling microservices with Apache Camel and Debezium
              • A good explanation of how to avoid distributed transactions using outbox pattern: Transaction Log Tailing With Debezium
              • developers.redhat.com: Capture database changes with Debezium Apache Kafka connectors
              • developers.redhat.com: Change data capture for microservices without writing any code
              • debezium.io: Lessons Learned from Running Debezium with PostgreSQL on Amazon RDS
              • info.crunchydata.com: PostgreSQL Change Data Capture With Debezium
              • medium.com: Stream Your Database into Kafka with Debezium An Introduction and Experience Report. Insightful post by David Hettler of comsysto about their usage of Debezium, touching on many details like outbox pattern, Avro schemas, Postgres on RDS etc.
              • noti.st: Change Data Capture with Flink SQL and Debezium \ud83c\udf1f
              • vladmihalcea.com: A beginner\u2019s guide to CDC (Change Data Capture)
              • shopify.engineering: Capturing Every Change From Shopify\u2019s Sharded Monolith
              • developers.redhat.com: Db2 and Oracle connectors coming to Debezium 1.4 GA
              • medium: Change Data Capture \u2014 Using Debezium
              • daily.dev: Building a fault-tolerant event-driven architecture with Google Cloud, Pulumi and Debezium
              • pradeepdaniel.medium.com: Creating an ETL data pipeline to sync data to Snowflake using Kafka and Debezium Setting up a real-time data pipeline from scratch to sync data from transactional databases to Snowflake cloud warehouse.
              • medium: A Visual Introduction to Debezium \ud83c\udf1f A story-based introduction to understanding what Debezium is, how it is made of, and how it works in a real-world scenario
              • debezium.io: Using Debezium to Create a Data Lake with Apache Iceberg
              • developers.redhat.com: Improve your Kafka Connect builds of Debezium. A Kubernetes native way of building Kafka Connect images in Debezium 1.6
              "},{"location":"message-queue/#red-hat-integration-service-registry-and-apicurio","title":"Red Hat Integration service registry and Apicurio","text":"
              • Red Hat Integration service registry
              • Apicurio Registry An API/Schema registry - stores APIs and Schemas.
              • Event streaming and data federation: A citizen integrator\u2019s story
              • redhat.com: Using a schema registry to ensure data consistency between microservices Make interservice communication easier by using a schema registry.
              "},{"location":"message-queue/#data-mesh","title":"Data Mesh","text":"
              • martinfowler.com: Data Mesh Principles and Logical Architecture
              • infoq.com: Data Mesh Principles and Logical Architecture Defined
              • martinfowler.com: How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh
              • towardsdatascience.com: Data Domains and Data Products Practical guidance from the field
              • mrpaulandrew.com: BUILDING A DATA MESH ARCHITECTURE IN AZURE \u2013 PART 2
              "},{"location":"message-queue/#data-processing-aka-streaming-data-data-pipeline-or-big-data-pipeline","title":"Data Processing (aka Streaming Data, Data Pipeline or Big Data Pipeline)","text":"
              • Awesome Streaming A curated list of awesome streaming (stream processing) frameworks, applications, readings and other resources.
              • cloudblog.withgoogle.com: Turn any Dataflow pipeline into a reusable template
              • thenewstack.io: Part 1: The Evolution of Data Pipeline Architecture
              • satishchandragupta.com: Scalable Efficient Big Data Pipeline Architecture
              • openshift.com: How to Orchestrate Data Pipelines with Applications Deployed on OpenShift
              "},{"location":"message-queue/#apache-kafka","title":"Apache Kafka","text":"
              • Apache Kafka
              • developers.redhat.com: Using secrets in Kafka Connect configuration
              • developers.redhat.com: Capture database changes with Debezium Apache Kafka connectors
              • Awesome Kafka
              • Single Message Transformations - The Swiss Army Knife of Kafka Connect
              • medium: Logs & Offsets: (Near) Real Time ELT with Apache Kafka + Snowflake Replacing Apache Airflow with Debezium.
              • medium: Apache Kafka Startup Guide: System Design Architectures: Notification System, Web Activity Tracker, ELT Pipeline, Storage System \ud83c\udf1f
              • medium: Getting Started With Kafka on OpenShift
              • containerjournal.com: Red Hat Platform Brings Kafka Closer to Kubernetes
              • lightbend.com: Monitor Kafka Consumer Group Latency with Kafka Lag Exporter [ARCHIVED]
              • AKHQ (previously known as KafkaHQ) \ud83c\udf1f Kafka GUI for Apache Kafka to manage topics, topics data, consumers group, schema registry, connect and more\u2026
              • banzaicloud.com: Kafka Schema Registry on Kubernetes the declarative way
              • Build a simple cloud-native change data capture pipeline
              • banzaicloud.com: Bulletproof Kafka, and the tale of an Amazon outage=
              • confluent.fr: Infrastructure Modernization with Google Anthos and Apache Kafka
              • confluent.io: Apache Kafka DevOps with Kubernetes and GitOps
              • Build a data streaming pipeline using Kafka Streams and Quarkus
              • levelup.gitconnected.com: Kafka for Engineers \ud83c\udf1f Here are things about Kafka that you need to understand as a software engineer.
              • confluent.io: How to Build and Deploy Scalable Machine Learning in Production with Apache Kafka
              • banzaicloud.com: Kafka on Kubernetes - using etcd \ud83c\udf1f
              • softwareengineeringdaily.com: Kafka Applications with Tim Berglund (podcast) \ud83c\udf1f
              • medium: Logs & Offsets: (Near) Real Time ELT with Apache Kafka + Snowflake
              • infoq.com: Building a SQL Database Audit System using Kafka, MongoDB and Maxwell\u2019s Daemon
              • tecmint: How to Install Apache Kafka in CentOS/RHEL 7
              • medium: Processing guarantees in Kafka \u201cDuplicates and lost messages are due not only to features of the messaging systems, but in the design of producer and consumer applications as well.\u201d One of the best posts on processing guarantees in kafka.
              • davidxiang.com: Kafka As A Database? Yes Or No
              • medium: How Pinterest runs Kafka at scale
              • medium: Google Pub/Sub Lite for Kafka Users
              • medium: 4 Microservices Caching Patterns at Wix
              • Confluent.io: Intro to Apache Kafka: How Kafka Works \ud83c\udf1f
              • levelup.gitconnected.com: Kafka for Engineers
              • medium: Microservices in Rust with Kafka
              • medium: Apache Kafka in a Nutshell \ud83c\udf1f Architecture, Use Cases, and a Getting Started guide \u2014 rolled into one
              • confluent.io: Simplifying Apache Kafka Multi-Cluster Management Using Control Center and Cluster Registry
              • kai-waehner.de: App Modernization and Hybrid Cloud Architectures with Apache Kafka
              • kai-waehner.de: Apache Kafka and MQTT (Part 1 of 5) \u2013 Overview and Comparison
              • medium: Solutions to Communication Problems in Microservices using Apache Kafka and Kafka Lens
              • kafka-tutorials.confluent.io \ud83c\udf1f
                • kafka-tutorials.confluent.io: How to join a stream and a lookup table \ud83c\udf1f If I have events in a Kafka topic and a table of reference data (aka a lookup table), how can I join each event in the stream to a piece of data in the table based on a common key?
              • confluent.io: DevOps for Apache Kafka with Kubernetes and GitOps \ud83c\udf1f
              • dzone.com: Microservices, Event-Driven Architecture and Kafka \ud83c\udf1f
              • medium: Understanding Kafka Topic Partitions Everything in Kafka is modeled around partitions. They rule Kafka\u2019s storage, scalability, replication, and message movement.
              • kafka-tutorials.confluent.io: How to count messages in a Kafka topic
              • confluent.io: Apache Kafka Made Simple: A First Glimpse of a Kafka Without ZooKeeper \ud83c\udf1f
              • piotrminkowski.com: Knative Eventing with Kafka and Quarkus
              • blog.cloudera.com: Scalability of Kafka Messaging using Consumer Groups
              • thenewstack.io: Beyond the Quickstart: Running Apache Kafka as a Service on Kubernetes
              • confluent.io: What\u2019s New in Apache Kafka 2.8
              • devclass.com: Apache Kafka 2.8.0 previews life without ZooKeeper
              • instaclustr.com: Apache Kafka Architecture: A Complete Guide \ud83c\udf1f
              • youtube playlist: Kafka Connect Tutorials | Kafka Connect 101: REST API \ud83c\udf1f KafkaConnect uses a REST API to expose its management capabilities. tlberglund demonstrates many of the key functions available using the REST API, including creating connectors, viewing their status, and accessing troubleshooting information.
              • developers.redhat.com: Event-driven APIs and schema governance for Apache Kafka: Get ready for Kafka Summit Europe 2021
              • developers.redhat.com: Building resilient event-driven architectures with Apache Kafka
              • tech.ebayinc.com: Resiliency and Disaster Recovery with Kafka
              • newrelic.com: Effective Strategies for Kafka Topic Partitioning \ud83c\udf1f
              • gentlydownthe.stream A children\u2019s book about Apache Kafka.
              • confluent.io: Apache Kafka Made Simple: A First Glimpse of a Kafka Without ZooKeeper
              • phoenixnap.com: How to Set Up and Run Kafka on Kubernetes \ud83c\udf1f
              • piotrminkowski.com: Knative Eventing with Quarkus, Kafka and Camel
              • itnext.io: Configuring Kafka Sources and Sinks declaratively in Kubernetes using Knative This solves the complexity in work flow of compiling JARs and uploading them to a Kafka connect cluster. Using Knative it can be possible to leverage the Kubernetes cluster and define Kafka sources and sinks with Kubernetes objects.
              • strimzi.io: Kafka upgrade improvements
              • developers.redhat.com: Getting started with Red Hat OpenShift Streams for Apache Kafka
              • developers.redhat.com: Managing the API life cycle in an event-driven architecture: A practical approach \ud83c\udf1f
              • baeldung.com: List Active Brokers in a Kafka Cluster Using Shell Commands \ud83c\udf1f
              • developers.redhat.com: How to secure Apache Kafka schemas with Red Hat Integration Service Registry 2.0
              • grafana.com: Get comprehensive monitoring for your Apache Kafka ecosystem instances quickly with Grafana Cloud
              • dzone: Next-Gen Data Pipes With Spark, Kafka and k8s \ud83c\udf1f This article examines the architecture patterns and provides some sample code for the readers to implement in their own environment.
              • confluent.io: Making Apache Kafka Serverless: Lessons From Confluent Cloud
              • developer.confluent.io \ud83c\udf1f\ud83c\udf1f over ten hours of FREE video courses with hands-on exercises, 50+ event streaming patterns, deep-dive articles on Kafka\u2019s internals, and a ton more.
              • itnext.io: Sending Messages to Kafka in Kubernetes
              • cloudhut.dev: Running Apache Kafka on Kubernetes successfully A comparison for different installation methods for running Kafka in Kubernetes
              • developers.redhat.com: The outbox pattern with Apache Kafka and Debezium \ud83c\udf1f
              • towardsdatascience.com: Overview of UI Tools for Monitoring and Management of Apache Kafka Clusters
              • analyticsindiamag.com: How Uber is Leveraging Apache Kafka For More Than 300 Micro Services
              • itnext.io: Securely Decoupling Kubernetes-based Applications on Amazon EKS using Kafka with SASL/SCRAM Securely decoupling Go-based microservices on Amazon EKS using Amazon MSK with IRSA, SASL/SCRAM, and data encryption
              • medium: Running Kafka in Kubernetes, Part 1: Why we migrated our Kafka clusters to Kubernetes At Wise, we chose to migrate our Apache Kafka clusters, previously running on Amazon Web Services (AWS) EC2 instances, into a multi-cluster Kubernetes setup. This article is the first part of a two-part series aiming to outline the motivations behind this choice and the challenges we faced.
              • betterprogramming.pub: How to Handle Duplicate Messages and Message Ordering in Kafka Dealing with the challenges faced when using Apache Kafka
              • medium: Optimizing Kafka Streams Apps on Kubernetes by Splitting Topologies
              • blog.twitter.com: Processing billions of events in real time at Twitter
              • inder-devops.medium.com: Kafka- Best practices & Lessons Learned | By Inder
              • datadoghq.com: Monitoring Kafka performance metrics
              • blog.workwell.io: How to manage your Kafka consumers from the producer
              • slack.engineering: Building Self-driving Kafka clusters using open source components
              • adam-kotwasinski.medium.com: Kafka mesh filter in Envoy
              • conduktor.io: What is Apache Kafka? Learn about Apache Kafka and its ecosystem in 20 minutes.
              • medium.com/airwallex-engineering: Kafka Streams: Iterative Development and Blue-Green Deployment Blue-Green Deployment for Kafka Stream Applications.
              • redhat.com: How we use Apache Kafka to improve event-driven architecture performance When designing your event-driven architecture, consider these ways to configure Kafka to improve performance.
              • dev.to: Running Kafka on kubernetes for local development
              • medium.com/udemy-engineering: Introducing Hot and Cold Retries on Apache Kafka An overview of how to build a fault-tolerant event delivery system by using non-blocking retries of Apache Kafka\u00ae in Udemy Payments Team
              • conduktor.io/kafka: Learn Apache Kafka like never before Conduktor Kafkademy is the quickest, easiest and most effective way for you to learn Apache Kafka for free.
              • developers.redhat.com: Which is better: A single Kafka cluster to rule them all, or many?
              • medium.com/dna-technology: Why we dropped event sourcing with Kafka Streams when given a second chance
              • kai-waehner.de: When NOT to use Apache Kafka?
              • betterprogramming.pub: Everything You Need To Know About Kafka \ud83c\udf1f A simple guide for beginners
              • learnk8s.io/kafka-ha-kubernetes: Designing and testing a highly available Kafka cluster on Kubernetes \ud83c\udf1f Learn how to design a Kafka cluster to achieve high availability using standard kubernetes resources and test how it tolerates maintenance and total node failures
              • blog.developer.adobe.com: Exploring Kafka Producer\u2019s Internals \ud83c\udf1f This is the first part of a series where we explore Kafka client\u2019s internals. This post focuses on the Kafka Producer.
              • medium.com/altitudehq: Kafka retries and maintaining the order of retry events \ud83c\udf1f
              • medium.com/cloudnesil: Kafka Streams State Store at Scale Managing Interactive Queries on multiple application instances Alternative solutions and their comparisons.
              • towardsdev.com: Performance Testing Your Kubernetes Kafka Cluster In this article, you will learn how to benchmark Apache Kafka instances running on Kubernetes against parallel loads.
              • medium.com/@hardiktaneja_99752: Lessons after running Kafka in production \ud83c\udf1f TLDR: Have atleast as many paritions (P) as max number of consumers(C), but number of partitions should always be multiple of number of consumers. P = n * C, n =1,2,3\u2026
              • betterprogramming.pub: Monitoring Kafka Applications \u2014 Implementing Healthchecks and Tracking Lag For KafkaConsumer, Streams, Spring-Kafka, Kafka-Connect
              • thenewstack.io: LinkedIn Layered Architecture Minimizes Kafka Scaling Issues With Kafka, too many data producers can cause issues, as can having too many data consumers. Here\u2019s how LinkedIn separated the resources to alleviate exhaustion.
              • developers.redhat.com: End-to-end field-level encryption for Apache Kafka Connect
              • blog.datumo.io: Setting up Kafka on Kubernetes - an easy way In this article, you will learn how to create a basic deployment for Kafka (with Zookeeper) on Kubernetes
              • linkedin.com: Kafka Cluster Setup on Kubernetes
              • medium.com/wix-engineering: Troubleshooting Kafka for 2000 Microservices at Wix Debugging microservices\u2019 event driven communication is not trivial, especially when it\u2019s based on event streaming platforms like Apache Kafka. While scale grows more easily and the distributed system becomes more decoupled and resilient, the operational aspects become much harder.
              • engineering.grab.com: Zero trust with Kafka
              • freecodecamp.org: The Apache Kafka Handbook \u2013 How to Get Started Using Kafka \ud83c\udf1f Apache Kafka is an open source event streaming tool that transports tons of data w/ low latency. This link covers its core concepts, how to use its CLI, & how to install + build a project with it.
              • medium.com/@rramiz.rraza: Kafka metrics monitoring with Prometheus and Grafana \ud83c\udf1f
              • rogulski.it: Consume Kafka events with Knative service and FastAPI on kubernetes \ud83c\udf1f In this article, you will learn how to build a fully scalable, event-driven and easy-to-maintain system using Python (FastAPI), Kafka, and Knative
              • piotrminkowski.com: Concurrency with Kafka and Spring Boot
              • thenewstack.io: Kafka on Kubernetes: Should You Adopt a Managed Solution? A look at the various factors to consider when deciding whether to deploy Kafka yourself or to purchase a managed solution
              • thelinuxnotes.com: How to deploy Kafka in Kubernetes with Helm chart + kafdrop
              "},{"location":"message-queue/#kafka-tools","title":"Kafka Tools","text":"
              • Kafdrop \u2013 Kafka Web UI \ud83c\udf1f
              • redpanda-data/kowl Kowl is a Web UI for Apache Kafka that allows exploring messages, consumers, configurations and more with a focus on a good UI & UX.
              • KLoadGen - Kafka + (Avro/Json Schema) Load Generator \ud83c\udf1f KLoadGen is kafka load generator plugin for jmeter designed to work with AVRO and JSON schema. It allows sending kafka messages with a structure defined as an AVRO Schema or a Json Schema. It connects to the Scheme Registry Server, retrieve the subject to send and generate a random message every time.
              • dev.to: Learn how to use Kafkacat \u2013 the most versatile Kafka CLI client \ud83c\udf1f
              • github.com/lensesio/fast-data-dev (Lenses Box) Kafka Docker for development. Kafka, Zookeeper, Schema Registry, Kafka-Connect, Landoop Tools, 20+ connectors. A apachekafka docker image that actually works without zookeeper. If you don\u2019t want do deal with docker-compose this one is for you.
              • dzone: Visualize your Apache Kafka Streams using the Quarkus Dev UI Visualize your Apache Kafka Streams using the Quarkus Dev UI
              • medium: Solutions to Communication Problems in Microservices using Apache Kafka and Kafka Lens
              • github.com/sauljabin/kaskade kaskade is a text user interface for kafka, which allows you to interact and consume topics from your terminal in style!
              "},{"location":"message-queue/#strimzi-kubernetes-operator-for-apache-kafka","title":"Strimzi kubernetes operator for apache kafka","text":"
              • strimzi.io
              • developers.redhat.com: how easy to deploy and configure a Kafka Connect on Kubernetes through strimziio operator and use secrets
              • developers.redhat.com: Introduction to Strimzi: Apache Kafka on Kubernetes (KubeCon Europe 2020) \ud83c\udf1f
              • strimzi.io: Optimizing Kafka producers
              • strimzi.io: Optimizing Kafka consumers \ud83c\udf1f
              • strimzi.io: Optimizing Kafka producers \ud83c\udf1f
              • pepy.tech/project/strimzi-kafka-cli \ud83c\udf1f - pypi.org/project/strimzi-kafka-cli
              • strimzi/kafka-kubernetes-config-provider: Kubernetes Configuration Provider for Apache Kafka Apache Kafka supports pluggable configuration providers which can load configuration data from external sources. The configuration providers in this repo can be used to load data from Kubernetes Secrets and Config Maps. It can be used in all Kafka components and does not depend on the other Strimzi components. So you could, for example, use it with your producer or consumer applications even if you don\u2019t use the Strimzi operators to provide your Kafka cluster. One of the example use-cases is to load certificates or JAAS configuration from Kubernetes Secrets.
              • strimzi.io: Using Kubernetes Configuration Provider to load data from Secrets and Config Maps
              • strimzi.io: Using HTTP Bridge as a Kubernetes sidecar
              • strimzi.io: Using Open Policy Agent with Strimzi and Apache Kafka
              • strimzi/strimzi-canary This repository contains the Strimzi canary tool implementation. It acts as an indicator of whether Kafka clusters are operating correctly. This is achieved by creating a canary topic and periodically producing and consuming events on the topic and getting metrics out of these exchanges.
              • medium: Mastering Apache Kafka on Kubernetes \u2014 Strimzi K8s operator
              • medium.com/@ahmed.farhan: Kafka Setup in Kubernetes Using Strimzi K8s operator \u2014 Part 2
              • medium.com/adaltas: Operating Kafka in Kubernetes with Strimzi
              "},{"location":"message-queue/#apache-kafka-desktop-clients","title":"Apache Kafka Desktop Clients","text":"
              • conduktor.io \ud83c\udf1f Apache Kafka Desktop Client. We created Conduktor, the all-in-one friendly interface to work with the Kafka ecosystem. Develop and manage Apache Kafka with confidence.
              "},{"location":"message-queue/#aws-kinesis","title":"AWS Kinesis","text":"
              • AWS Kinesis
              • softkraft.co: WS Kinesis vs Kafka comparison: Which is right for you? \ud83c\udf1f
              "},{"location":"message-queue/#mqtt","title":"MQTT","text":"
              • mqtt.org MQTT: The Standard for IoT Messaging
              • developers.redhat.com: Deploying the Mosquitto MQTT message broker on Red Hat OpenShift, Part 1
                • developers.redhat.com: Deploying the Mosquitto MQTT message broker on Red Hat OpenShift, Part 2
              "},{"location":"message-queue/#banzai-cloud-supertubes-cloud-native-kafka-implementation","title":"Banzai Cloud Supertubes (Cloud Native Kafka implementation)","text":"
              • Banzai Cloud
              • Banzai Kafka Operator
              • The benefits of integrating Apache Kafka with Istio
              "},{"location":"message-queue/#confluent-cloud-apache-kafka-re-engineered-for-the-cloud","title":"Confluent Cloud (Apache Kafka Re-engineered for the Cloud)","text":"
              • confluent.io The Complete Event Streaming Platform for Apache Kafka.
              • Focus on building apps and not managing clusters with a scalable, resilient and secure event streaming platform. Event streaming with Kafka made simple on AWS, Azure and GCP clouds.
              • mongodb.com: DaaS with MongoDB and Confluent
              • confluent.io: Confluent and Microsoft Announce Strategic Alliance
              • confluent.io: Monitoring Your Event Streams: Integrating Confluent with Prometheus and Grafana
              "},{"location":"message-queue/#redpanda-kafka-alternative-a-modern-streaming-platform-for-mission-critical-workloads","title":"Redpanda (kafka alternative). A modern streaming platform for mission critical workloads","text":"
              • Redpanda \ud83c\udf1f is a Kafka\u00ae compatible event streaming platform. No Zookeeper, no JVM, and no code changes required. Use all your favorite open source tooling - 10x faster.
              • Redpanda is now Free & Source Available
              • softwareengineeringdaily.com: Redpanda: Kafka Alternative with Alexander Gallego \ud83c\udf1f
              "},{"location":"message-queue/#ksqldb","title":"KsqlDB","text":"
              • ksqlDB The event streaming database purpose-built for stream processing applications.
              • Kafka Streams and ksqlDB Compared \u2013 How to Choose
              "},{"location":"message-queue/#apache-pulsar","title":"Apache Pulsar","text":"
              • Apache Pulsar is an open-source distributed pub-sub messaging system originally created at Yahoo and now part of the Apache Software Foundation
              • Pulsar vs Kafka \u2013 Comparison and Myths Explored
              "},{"location":"message-queue/#apache-flink","title":"Apache Flink","text":"
              • Apache Flink Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale.
              • flink.apache.org: How to natively deploy Flink on Kubernetes with High-Availability (HA)
              "},{"location":"message-queue/#hazelcast-jet","title":"Hazelcast JET","text":"
              • Hazelcast JET Open-Source Distributed Stream Processing
              • devops.com: Hazelcast Simplifies Streaming for Extremely Fast Event Processing in IoT, Edge and Cloud Environments
              "},{"location":"message-queue/#postgress-as-message-queue","title":"Postgress as message queue","text":"
              • dagster.io: Postgres: a better message queue than Kafka?
              "},{"location":"message-queue/#workflow-engines","title":"Workflow Engines","text":"
              • wikipedia: Workflow Engine
              "},{"location":"message-queue/#zeebe","title":"Zeebe","text":"
              • Zeebe workflow engine
              • infoq.com: Event Streams and Workflow Engines \u2013 Kafka and Zeebe \ud83c\udf1f
              • Orchestration Made Easy with Zeebe and Kafka
              "},{"location":"message-queue/#apache-airflow","title":"Apache Airflow","text":"
              • dzone: Apache Airflow Architecture on OpenShift
              • redhat.com: Monitoring Apache Airflow using Prometheus
              • towardsdatascience.com: Apache Airflow for containerized data-pipelines Are you having problems running tasks with a different version of Python on Airflow? In this article, I explain how to solve this issue.
              • Apache Airflow official helm chart \ud83c\udf1f
              • youtube: Airflow Helm Chart : Quick Start For Beginners in 10mins
              • dev.to: Get started with Apache Airflow
              • betterprogramming.pub: Running Airflow Using Kubernetes Executor and Kubernetes Pod Operator with Istio There are many obstacles when you deploy Airflow with the Kubernetes executor, Pod Operator and Istio since the Istio proxy sidecar makes the worker pod hang and run forever. In this article, you will learn how to overcome that.
              • towardsdatascience.com: Apache Airflow Architecture \ud83c\udf1f A deep dive into Apache Airflow architecture and how it orchestrates workflows
              • airflow.apache.org: KubernetesPodOperator \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
                • The KubernetesPodOperator allows you to create and run Pods on a Kubernetes cluster.
                • The KubernetesPodOperator uses the Kubernetes API to launch a pod in a Kubernetes cluster. By supplying an image URL and a command with optional arguments, the operator uses the Kube Python Client to generate a Kubernetes API request that dynamically launches those individual pods.
                • The KubernetesPodOperator enables task-level resource configuration and is optimal for custom Python dependencies that are not available through the public PyPI repository. It also allows users to supply a template YAML file using the pod_template_file parameter. Ultimately, it allows Airflow to act a job orchestrator - no matter the language those jobs are written in.
              • dataengineeringcentral.substack.com: Why is everyone trying to kill Airflow? \ud83c\udf1f Apache Airflow has been the ruler of Data Engineering orchestration for years, is the end in sight?
              • airflow.apache.org: Add Owner Links to DAG You can set the owner_links argument on your DAG object, which will make the owner a clickable link in the main DAGs view page instead of a search filter.
              • docs.astronomer.io: Dynamically generating DAGs in Airflow How to load DAGs from YAML files in Airflow dynamically?
              • blog.devgenius.io: Send information from Databricks to Airflow
              • medium.com/apache-airflow: Passing Data Between Tasks with the KubernetesPodOperator in Apache Airflow \ud83c\udf1f TL;DR: Use the @task.kubernetes decorator!
              • medium.com/@piyush_74867: Apache Airflow on Kubernetes at scale \u2014 a peak under the hood
              • medium.com/@alfahreiza: Building an ELT Pipeline: From CSV to BigQuery using dbt
              • medium.com/apache-airflow: What we learned after running Airflow on Kubernetes for 2 years In this case study, you will learn how the team at Teya scaled Airflow on Kubernetes to 5000 daily tasks
              "},{"location":"message-queue/#couler","title":"Couler","text":"
              • Couler Couler aims to provide a unified interface for constructing and managing workflows on different workflow engines, such as Argo Workflows, Tekton Pipelines, and Apache Airflow.
              "},{"location":"message-queue/#red-hat-amq-activemq-artemis-broker-and-apache-kafka","title":"Red Hat AMQ (ActiveMQ Artemis broker and Apache Kafka)","text":"
              • Red Hat AMQ overview
              • Red Hat AMQ = AMQ Broker (Apache ActiveMQ Artemis) + AMQ Streams (Apache Kafka)
              "},{"location":"message-queue/#red-hat-amq-broker-activemq-artemis","title":"Red Hat AMQ Broker (ActiveMQ Artemis)","text":"
              • Apache ActiveMQ Artemis broker
              • developers.redhat.com: JDBC Master-Slave Persistence setup with Activemq using Postgresql database
              • developers.redhat.com: Connecting external clients to Red Hat AMQ Broker on Red Hat OpenShift
              "},{"location":"message-queue/#red-hat-amq-streams","title":"Red Hat AMQ Streams","text":"
              • Understanding Red Hat AMQ Streams components for OpenShift and Kubernetes \ud83c\udf1f
              • Set up Red Hat AMQ Streams custom certificates on OpenShift
              • speakerdeck.com: Apache Kafka with Red Hat AMQ Streams \ud83c\udf1f
              • HTTP-based Kafka messaging with Red Hat AMQ Streams
              • blog.jromanmartin.io: How to upgrade Strimzi Operator using the CLI

              Product Also Known As Components URL Red Hat AMQ 6 JBoss AMQ 6 Apache ActiveMQ Ref Red Hat AMQ 7 JBoss AMQ 7 (Broker) or Red Hat AMQ 7 Suite AMQ Broker + AMQ Streams Ref Red Hat AMQ 7 JBoss AMQ 7 (Broker) or Red Hat AMQ 7 Suite JBoss AMQ 7 (Broker) + Apache Kafka Ref Red Hat AMQ 7 JBoss AMQ 7 (Broker) or Red Hat AMQ 7 Suite Apache ActiveMQ Artemis + Apache Kafka Ref

              "},{"location":"message-queue/#slides-of-red-hat-amq-streams","title":"Slides of Red Hat AMQ Streams","text":"Click to expand!"},{"location":"message-queue/#open-data-hub-ai-as-a-service-aiaas-platform","title":"Open Data Hub AI-as-a-Service (AIaaS) platform","text":"
              • Open Data Hub
              • Open Data Hub 0.6 brings component updates and Kubeflow architecture
              • A development roadmap for Open Data Hub
              "},{"location":"message-queue/#integration-platform-as-a-solution-ipaas-platforms-for-collecting-storing-and-routing-customer-event-data","title":"Integration Platform as a Solution (iPaaS). Platforms for collecting, storing and routing customer event data","text":"
              • quandarycg.com: Everything You Need To Know About System Integration (And IPaaS) \ud83c\udf1f
              • blog.hubspot.com: The 22 Best iPaaS Vendors for Any Budget
              "},{"location":"message-queue/#ipaas-vendors","title":"IpaaS Vendors","text":"
              • rudderstack.com iPaaS - opensource.com: Stream event data with rudderstack
              • Mulesoft
              • etc
              "},{"location":"message-queue/#ebooks","title":"eBooks","text":"
              • O\u2019Really: Streaming data
              "},{"location":"message-queue/#related","title":"Related","text":"
              • Service meshes to the rescue: Load balancing and scaling long-lived connections in Kubernetes \ud83c\udf1f Kubernetes doesn\u2019t load balance long-lived connections, some Pods might receive more requests than others, In case you are using HTTP/2, gRPC, RSockets, AMQP. Any work around?
              "},{"location":"message-queue/#questions-and-answers","title":"Questions and Answers","text":"
              • adambien.blog - 75th airhacks.tv Questions and Answers: Kafka, JAX-RS, MicroProfile, JSON-B, GSON, JWT, VSC, NetBeans, Java Fullstack \u201cKafka vs. JAX-RS / RPC, thoughts about APIs, JSON-B vs. GSON, Path.of over Paths.get, Java Records, MicroProfile JWT, beginners vs. expert content, best Java fullstack, code coverage, NetBeans in 2020, Visual Studio Setup for Java, screencast configuration, ReactJS / Angular over JSF?, JSON-P vs. JSON-B, security code scanning\u201d
              "},{"location":"message-queue/#videos","title":"Videos","text":"Click to expand!"},{"location":"message-queue/#tweets","title":"Tweets","text":"Click to expand!

              Pub-Sub \u2260 Partitioning \u2260 Multiplexing pic.twitter.com/0ZVaH9Mxvr

              \u2014 Clemens Vasters \ud83c\uddea\ud83c\uddfa\u2601\ud83d\udce8 (@clemensv) July 28, 2020

              We are excited to announce that KubeMQ community version is now available as an open-source project!The community version supports all messaging patterns, connectors, bridges, and run in production. Give us a star on Github if you like our project!https://t.co/0ufRQ5bhCE

              \u2014 KubeMQ (@KubeMq) September 10, 2021

              How do we design a system using the \ud835\udc1e\ud835\udc2f\ud835\udc1e\ud835\udc27\ud835\udc2d \ud835\udc2c\ud835\udc28\ud835\udc2e\ud835\udc2b\ud835\udc1c\ud835\udc22\ud835\udc27\ud835\udc20 paradigm? How is it different from normal system design? What are the benefits? We will talk about it in this post. pic.twitter.com/PhKNDDCmMv

              \u2014 Alex Xu (@alexxubyte) June 23, 2022

              Push notifications are a very popular feature for many applications. This is how to design a scalable push notification service: \u2193 {1/13} pic.twitter.com/BWsaCKSrnr

              \u2014 Fernando \ud83c\uddee\ud83c\uddf9\ud83c\udde8\ud83c\udded (@Franc0Fernand0) October 1, 2022

              Redis is commonly known as a key-value server, but actually is also a messaging server.This is how Redis Pub/Sub works and when it's a good choice: {1/10} \u2193 pic.twitter.com/Mj9o7HQCOi

              \u2014 Fernando \ud83c\uddee\ud83c\uddf9\ud83c\udde8\ud83c\udded (@Franc0Fernand0) October 29, 2022"},{"location":"mkdocs/","title":"MkDocs, Mardkown & GitHub Pages","text":"
              1. Introduction
              2. Material for MkDocs
              3. Markdown and Markdown Cheat Sheet
              4. GitHub Pages
              5. GitBook
              6. Alternatives. Jekyll open source static site generator
              7. Videos
              8. Tweets
              "},{"location":"mkdocs/#introduction","title":"Introduction","text":"
              • MkDocs
              • websites that use MkDocs:
                • docs.traefik.io
                • fastapi.tiangolo.com
                • www.electron.build
                • etc
              • dev.to: An amazing note-taking system with Markdown and Git Series\u2019 Articles
              • build5nines.com: GitHub Actions: Run Pandoc to convert Markdown to Word Document
              • thomasthornton.cloud: Deploying MkDocs to GitHub Pages with GitHub Actions
              "},{"location":"mkdocs/#material-for-mkdocs","title":"Material for MkDocs","text":"
              • Material for MkDocs
              "},{"location":"mkdocs/#markdown-and-markdown-cheat-sheet","title":"Markdown and Markdown Cheat Sheet","text":"
              • Markdown Tables Generator
              • markdownguide.org
                • Markdown Cheat Sheet 1
              • guides.github.com: Markdown Cheat Sheet 2
              • Markdown Cheat Sheet 4
              • dev.to: How we made the markdown toolbar
              • r-bloggers.com: How to use R Markdown (part one) R Markdown is a dynamic file format that allows you to make documents containing normal text alongside chunks of embedded R code.
              • opensource.com: An introduction to Markdown
              • github.blog: Include diagrams in your Markdown files with Mermaid A picture tells a thousand words. Now you can quickly create and edit diagrams in markdown using words with Mermaid support in your Markdown files.
              • theverge.com: Google Docs is getting more Markdown support
              • popsci.com: Google\u2019s expanded Markdown feature could change how you work Google has expanded support for Markdown in Google Docs, Slides, and Drawings, and if you don\u2019t understand what that means, that\u2019s ok. If you do, you probably have had one of two reactions: \u201cCool, but that\u2019s not enough\u201d or \u201cI\u2019ll never use that.\u201d You might be right in either case, but you should give Markdown a chance. You might just have the perfect use for it.
              • readme.so The easiest way to create a README
              • github.com/Ileriayo/markdown-badges: Markdown Badges Badges for your personal developer branding, profile, and projects.
              "},{"location":"mkdocs/#github-pages","title":"GitHub Pages","text":"
              • pages.github.com
              • opensource.com: How to create a documentation site with Docsify and GitHub Pages
              • Access control for GitHub Pages
              • dev.to: How to View Build Logs for GitHub Pages
              "},{"location":"mkdocs/#gitbook","title":"GitBook","text":"
              • gitbook.com
                • Example
              "},{"location":"mkdocs/#alternatives-jekyll-open-source-static-site-generator","title":"Alternatives. Jekyll open source static site generator","text":"
              • opensource.com: Build your website with Jekyll Jekyll is an open source static site generator. You can write your content in Markdown, use HTML/CSS for structure and presentation, and Jekyll compiles it all into static HTML.
              • freecodecamp.org: Documentation Libraries to Help You Write Good Docs Good project documentation is key to success for every company, startup, or individual project. Without documentation, it\u2019s much harder for new developers or others to use your project.
              "},{"location":"mkdocs/#videos","title":"Videos","text":"Click to expand!"},{"location":"mkdocs/#tweets","title":"Tweets","text":"Click to expand!

              I really can't wait for code annotations to be generally available! They have the potential to transform the way we document code examples, allowing for rich text (incl. images, graphs, tables, etc.) to be co-located with code.https://t.co/vFiHRAwKx4 pic.twitter.com/f8UYmY3LjO

              \u2014 Martin Donath (@squidfunk) November 7, 2021

              "},{"location":"mlops/","title":"Machine Learning Ops (MLOps) and Data Science","text":"
              1. Introduction. MLOps
              2. MLOps Roadmap
              3. Blogs
              4. ML Infra
              5. Object Detection Libraries
              6. MLFlow
              7. Kubeflow
              8. Flyte
              9. AWS ML
              10. Azure ML
              11. Databricks
              12. KServe Cloud Native Model Server
              13. Data Science
              14. Machine Learning workloads in kubernetes using Nix and NVIDIA. Running NVIDIA GPUs on Kubernetes
              15. Meta LLama
              16. Other Tools
              17. Debugging ML Jobs
              18. Samples
              19. ML Courses
              20. ML Competitions and Challenges
              21. Polls
              22. Tweets
              "},{"location":"mlops/#introduction-mlops","title":"Introduction. MLOps","text":"
              • cd.foundation: Announcing the CD Foundation MLOps SIG
              • dafriedman97.github.io: Machine Learning from Scratch Derivations in Concept and Code.
              • cortex.dev: How to build a pipeline to retrain and deploy models
              • github: A very Long never ending Learning around Data Engineering & Machine Learning
              • towardsdatascience.com: A Kubernetes architecture for machine learning web-application deployments Use Kubernetes to reduce machine learning infrastructure costs and scale resources with ease.
              • cloud.google.com: How to use a machine learning model from a Google Sheet using BigQuery ML
              • itnext.io: Building ML Componentes on Kubernetes
              • towardsdatascience.com: Deploying An ML Model With FastAPI \u2014 A Succinct Guide
              • cloudblogs.microsoft.com: Simple steps to create scalable processes to deploy ML models as microservices
              • ML Platform Workshop Example code for a basic ML Platform based on Pulumi, FastAPI, DVC, MLFlow and more
              • rubrix A free and open-source tool to explore, label, and monitor data for NLP projects.
              • towardsdatascience.com: Automatically Generate Machine Learning Code with Just a Few Clicks Using Traingenerator to easily create PyTorch and scikit-learn template codes for machine learning model training
              • towardsdatascience.com: Schemafull streaming data processing in ML pipelines Making containerized Python streaming data pipelines leverage schemas for data validation using Kafka with AVRO and Schema Registry
              • analyticsindiamag.com: Top tools for enabling CI/CD in ML pipelines
              • towardsdatascience.com: Step-by-step Approach to Build Your Machine Learning API Using Fast API A fast and simple approach to serve your model as an API
              • ravirajag.dev: MLOps Basics - Week 10: Summary
              • mikeroyal/Kubernetes-Guide: Machine Learning \ud83c\udf1f
              • medium.com/workday-engineering: Implementing a Fully Automated Sharding Strategy on Kubernetes for Multi-tenanted Machine Learning Applications
              • medium.com/globant: Advantages of Deploying Machine Learning models with Kubernetes \ud83c\udf1f
              • medium.com/pythoneers: MLOps: Tool Stack Requirement in Machine Learning Pipeline Tools and technologies in machine learning lifecycle
              • medium.com/formaloo: How no-code platforms are democratizing data science and software development \ud83c\udf1f
              • towardsdatascience.com: From Jupyter Notebooks to Real-life: MLOps \ud83c\udf1f Why is it a must-have?
              • datarevenue.com: Airflow vs. Luigi vs. Argo vs. MLFlow vs. KubeFlow Choosing a task orchestration tool
              • infoworld.com: 13 open source projects transforming AI and machine learning From deepfakes to natural language processing and more, the open source world is ripe with projects to support software development on the frontiers of artificial intelligence and machine learning.
              • towardsdatascience.com: From Dev to Deployment: An End to End Sentiment Classifier App with MLflow, SageMaker, and Streamlit In this tutorial, we\u2019ll build an NLP app starting from DagsHub-MLflow, then diving into deployment in SageMaker and EC2 with the front end in Streamlit.
              • elconfidencial.com: La batalla entre Google y Meta que nadie esperaba: revolucionar la biolog\u00eda \ud83c\udf1f El sistema AlphaFold de Google revela la estructura en 3D de las prote\u00ednas y ya es utilizado por miles de bi\u00f3logos, pero Meta contraataca con otro algoritmo. \u00bfCu\u00e1l es mejor?
              • swirlai.substack.com: SAI #08: Request-Response Model Deployment - The MLOps Way, Spark - Executor Memory Structure and more\u2026 \ud83c\udf1f
              • about.gitlab.com: How is AI/ML changing DevOps?
              • youtube: Making Friends with Machine Learning | Cassie Kozyrkov | playlist \ud83c\udf1f
              • openai.com: Scaling Kubernetes to 7,500 nodes \ud83c\udf1f We\u2019ve scaled Kubernetes clusters to 7,500 nodes, producing a scalable infrastructure for large models like GPT-3, CLIP, and DALL\u00b7E, but also for rapid small-scale iterative research such as Scaling Laws for Neural Language Models.
              • huyenchip.com: Building LLM applications for production
              • medium.com/@study.uttam: Main Challenges of Machine Learning
              • learn.microsoft.com: Machine Learning operations maturity model \ud83c\udf1f
              • medium.com/ai-hero: Streamlining Machine Learning Operations (MLOps) with Kubernetes and Terraform Leveraging Terraform to Simplify AWS EKS Cluster Setup for Exploring Declarative ML Tools
              • medium.com/@karanshingde: Machine Learning in Production\u2014\u200aYour Comprehensive 101 Practical Guide
              • marvelousmlops.substack.com: CI/CD for MLOps on GitLab (part 1) Code your way to your first CI pipeline
              • medium.com/aiguys: MLOps: Serving AI apps to million users
              • marvelousmlops.substack.com: How to sell MLOps in large Organizations
              • marvelousmlops.substack.com: MLOps roadmap 2024
              • towardsdatascience.com: Deploying LLM Apps to AWS, the Open-Source Self-Service Way A step-by-step guide on deploying LlamaIndex RAGs to AWS ECS fargate
              • axelmendoza.com: The Ultimate Guide To ML Model Deployment In 2024 Explore the top ML model deployment tools of 2024 with this comprehensive guide. Uncover insights on Vertex AI, AWS Sagemaker, Seldon, KServe for successful ML projects.
              • towardsdatascience.com: Build Machine Learning Pipelines with Airflow and Mlflow: Reservation Cancellation Forecasting Learn how to create reproducible and ready-for-production Machine Learning pipelines through a Senior Machine Learning assignment
              • marvelousmlops.substack.com: Technical roles in Data Science: Who is doing what?
              • marvelousmlops.substack.com: Traceability & Reproducibility
              • marvelousmlops.substack.com: Learn Machine Learning and Neural Networks without Frameworks
              • seattledataguy.substack.com: Data Engineering Vs Machine Learning Pipelines
              • semaphoreci.com: Why Do We Need DevOps for ML Data?
              • aiml.com: Large Language Models Quiz (Medium)
              • medium.com/@samiullah6799: Different Roles in MLOps
              • dev.to/pavanbelagatti: Deploy Any AI/ML Application On Kubernetes: A Step-by-Step Guide!
              • marvelousmlops.substack.com: Sharpen your cookiecutter: speed up repo creation with workflows
              • decodingml.substack.com: How to ensure your models are fail-safe in production? Effectively monitor model serving stacks at scale, extracting key insights from their behaviour under large loads.
              • freecodecamp.org: MLOps Course \u2013 Learn to Build Machine Learning Production Grade Projects
              • medium.com/@kevin30101999: Machine Learning Pipeline using Argo workflow \ud83c\udf1f
              "},{"location":"mlops/#mlops-roadmap","title":"MLOps Roadmap","text":"
              • roadmap.sh: MLOps roadmap Roadmap to learn about MLOps
              "},{"location":"mlops/#blogs","title":"Blogs","text":"
              • Marvelous MLOps Substack
              • decodingml.substack.com: Decoding ML Newsletter Join for battle-tested content on designing, coding, and deploying production-grade ML & MLOps systems. Every week. For FREE.
              "},{"location":"mlops/#ml-infra","title":"ML Infra","text":"
              • youtube.com: Optimizing LLM Training with Airbnb\u2019s Next-Gen ML Platform
              • Ray is an open-source unified framework for scaling AI and Python applications. It provides the compute layer for parallel processing so that you don\u2019t need to be a distributed systems expert.
              "},{"location":"mlops/#object-detection-libraries","title":"Object Detection Libraries","text":"
              • medium.com/mlearning-ai: The Best Object Detection Libraries That I Work With
              "},{"location":"mlops/#mlflow","title":"MLFlow","text":"
              • https://mlflow.org
              • artifacthub.io: mlflow-server A Helm chart for MLFlow On Kubernetes
              • pypi.org/project/airflow-provider-mlflow An Apache Airflow provider to interact with MLflow using Operators and Hooks
              "},{"location":"mlops/#kubeflow","title":"Kubeflow","text":"
              • kubeflow The Machine Learning Toolkit for Kubernetes
              • infracloud.io: Machine Learning Orchestration on Kubernetes using Kubeflow
              • blog.devgenius.io: Kubeflow Cloud Deployment (AWS) How do you deploy Kubeflow on AWS? Kubeflow is resource-intensive and deploying it locally means that you might not have enough resources to run your end-to-end machine learning pipeline. In this article you will learn how to deploy Kubeflow in AWS.
              • joseprsm.medium.com: How to build Machine Learning models that train themselves
              • medium.com/dkatalis: Creating a Mutating Webhook for Great Good! Or: how to automatically provision Pods on a specific node pool In this tutorial, you will learn how to automatically schedule Kubeflow pipeline Pods from any number of namespaces on dedicated GKE node pools
              "},{"location":"mlops/#flyte","title":"Flyte","text":"
              • https://flyte.org
              • Union Cloud ML and Data Orchestration powered by Flyte
              • mlops.community: MLOps with Flyte: The Convergence of Workflows Between Machine Learning and Engineering
              • Machine Learning in Production. What does an end-to-end ML workflow look like in production? (transcript) \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f - Play Recording
                • Kelsey Hightower joined the @flyteorg team to discuss what ML looks like in the real world, from ingesting data to consuming ML models via an API.
                • @kelseyhightower You can\u2019t go swimming in a #data_lake if you actually can\u2019t swim, right? You\u2019re going to drown. \ud83c\udfca\u200d\u2642\ufe0f
                • @ketanumare Machine Learning products deteriorate in time. If you have the best model today it\u2019s not guaranteed to be the best model tomorrow.
                • @thegautam It\u2019s hard to verify models before you put them in production. We need our systems to be fully reproducible, which is why an #orchestration_tool is important, running multiple models in parallel.
                • @ketanumare We at @union_ai unify the extremely fragmented world of ML and give the choice to users when to use proprietary technology versus when to use open source. (\u00bd)
                • @ketanumare #Flyte makes it seamless to work on #kubernetes with spark jobs, and that\u2019s a big use case, but you can also use @databricks. Similarly, we are working on Ray and you can also use @anyscalecompute. (2/2)
                • @Ketanumare Most machine learning engineers are not distributed systems engineers. This becomes a challenge when you\u2019re deploying models to production. Infrastructure abstraction is key to unlock your team\u2019s potential.
                • @ketanumare on #Machine_Learning workflows: Creating Machine Learning workflows is a team sport. \ud83e\udd1d
                • @arnoxmp: A Machine Learning model is often a blackbox. If you encounter new data, do a test run first.
                • @fabio_graetz In classical software engineering the only thing that changes is the code, in a ML system the data can change. You need to version and test data changes.
                • @Forcebananza This is actually one of the reasons I really like using #Flyte. You can map a cell in a notebook to its own task, and they\u2019re really easy to compose and reuse and copy and paste around. (\u00bd)
                • @Forcebananza Jupyter notebooks are great for iterating, but moving more towards a standard software engineering workflow and making that easy enough for data scientists is really really important.(2/2)
                • @jganoff Taking snapshots of petabytes of data is expensive, there are tools that version a dataset without having to copy it. Having metadata separate from the data itself allows you to treat a version of a dataset as if it were code.
                • @SMT_Solvers In F500s it is mostly document OCR. Usually batch jobs - an API wouldn\u2019t work - you need the binaries on the server even if it is a sidecar Docker container. One org (not mine) blows $$ doing network transfer from AWS to GCP when GCP could license their OCR in a container.
                • @Forcebananza Flyte creates a way for all these teams to work together partially because writing workflows, writing reusable components\u2026 is actually simple enough for data scientists and data engineers to work with.
                • @kelseyhightower We\u2019re now at a stage where we can start to leverage systems like https://flyte.org to give us more of an opinionated end-to-end workflow. What we call #ML can become a real discipline where practitioners can use a common set of terms and practices.
              • stackoverflow.com: How is Flyte tailored to \u201cData and Machine Learning\u201d?
              • union.ai: Production-Grade ML Pipelines: Flyte\u2122 vs. Kubeflow Kubeflow and Flyte are both production-grade, Kubernetes-native orchestrators for machine learning. Which is best for ML engineers? Check out this head-to-head comparison.
              • mlops.community: MLOps Simplified: orchestrating ML pipelines with infrastructure abstraction. Enabled by Flyte
              • medium.com/@timleonardDS: Who Let the DAGs out? Register an External DAG with Flyte (Chapter 3)
              "},{"location":"mlops/#aws-ml","title":"AWS ML","text":"
              • aws.amazon.com: MLOps foundation roadmap for enterprises with Amazon SageMaker
              • aws.amazon.com: Promote pipelines in a multi-environment setup using Amazon SageMaker Model Registry, HashiCorp Terraform, GitHub, and Jenkins CI/CD
              "},{"location":"mlops/#azure-ml","title":"Azure ML","text":"
              • docs.microsoft.com: MLflow and Azure Machine Learning One of the open-source projects that has made #ML better is MLFlow. Microsoft is expanding support for APIs, no-code deployment for MLflow models in real-time/batch managed inference, curated MLflow settings, and CLI v2 integrations.
              • bea.stollnitz.com: Creating batch endpoints in Azure ML
                • Suppose you\u2019ve trained a machine learning model to accomplish some task, and you\u2019d now like to provide that model\u2019s inference capabilities as a service. Maybe you\u2019re writing an application of your own that will rely on this service, or perhaps you want to make the service available to others. This is the purpose of endpoints \u2014 they provide a simple web-based API for feeding data to your model and getting back inference results.
                • Azure ML currently supports three types of endpoints: batch endpoints, Kubernetes online endpoints, and managed online endpoints. I\u2019m going to focus on batch endpoints in this post, but let me start by explaining how the three types differ.
              • blog.devops.dev: Mastering Machine Learning at Scale with Azure Machine Learning Accelerate Model Development, Deployment, and Monitoring at Scale
              • youtube: Deploy Convolutional Neural Network (CNN) on Azure with Python | Deep Learning Deployment | MLOPS
              • learn.microsoft.com: Azure Well-Architected Framework perspective on Azure Machine Learning
              "},{"location":"mlops/#databricks","title":"Databricks","text":"
              • marvelousmlops.substack.com: Model serving architectures on Databricks
              • medium.com/sync-computing: Top 9 Lessons Learned about Databricks Jobs Serverless We test the latest Databricks Jobs serverless feature and present our pros and cons to help you make the best decision
              "},{"location":"mlops/#kserve-cloud-native-model-server","title":"KServe Cloud Native Model Server","text":"
              • thenewstack.io: KServe: A Robust and Extensible Cloud Native Model Server
              • medium.com/bakdata: Scalable Machine Learning with Kafka Streams and KServe In this blog post, you\u2019ll learn how to use Apache Kafka and Kafka Streams in combination with the KServe inference platform for an easy integration of ML models with data streams
              "},{"location":"mlops/#data-science","title":"Data Science","text":"
              • analyticsvidhya.com: Bring DevOps To Data Science With MLOps
              • analyticsindiamag.com: Is coding necessary to work as a data scientist? Non-programmers with a no-coding background can have a glorious career in data science and programming, and coding knowledge is more like a skill and not a criterion.
              • redhat.com: Introducing Red Hat OpenShift Data Science
              • towardsdatascience.com: From DevOps to MLOPS: Integrate Machine Learning Models using Jenkins and Docker How to automate data science code with Jenkins and Docker: MLOps = ML + DEV + OPS
              "},{"location":"mlops/#machine-learning-workloads-in-kubernetes-using-nix-and-nvidia-running-nvidia-gpus-on-kubernetes","title":"Machine Learning workloads in kubernetes using Nix and NVIDIA. Running NVIDIA GPUs on Kubernetes","text":"
              • canvatechblog.com: Supporting GPU-accelerated Machine Learning with Kubernetes and Nix In this article, you\u2019ll learn how to package and run machine learning workloads in Kubernetes using Nix and NVIDIA
                • Nix
                • github.com/NVIDIA/nvidia-docker: NVIDIA/nvidia-docker/volumes.go NVIDIA\u2019s documentation is disappointingly evasive on what the \u201cdriver\u201d is, but we find a good answer in their official source code.
              • catalog.ngc.nvidia.com: NVIDIA GPU Operator - Helm chart \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f
              • jimangel.io: A Practical Guide to Running NVIDIA GPUs on Kubernetes Setup an NVIDIA RTX GPU on bare-metal Kubernetes, covering driver installation on Ubuntu 22.04, configuration, and troubleshooting.
              • huggingface.co: Implementing Fractional GPUs in Kubernetes with Aliyun Scheduler
              "},{"location":"mlops/#meta-llama","title":"Meta LLama","text":"
              • medium.com/@bchenjh: Distributed full fine-tuning of Llama2 on Kubernetes
              • github.com/meta-llama/llama-recipes
              "},{"location":"mlops/#other-tools","title":"Other Tools","text":"
              • bodywork-ml/bodywork-core: Bodywork is a command line tool that deploys machine learning pipelines to Kubernetes. It takes care of everything to do with containers and orchestration, so that you don\u2019t have to. It is a more lightweight and simpler alternative when compared to tools like KubeFlow
              • learn.iterative.ai: Iterative Tools for Data Scientists & Analysts All the things you need to know to take you from your notebook to production with Iterative tools!
              • VSCode DVC:
                • DVC Machine learning experiment management with tracking, plots, and data versioning.
                • docs.microsoft.com: Machine Learning Experimentation in VS Code with DVC Extension
              • tensorchord/envd: Reproducible development environment for AI/ML \ud83c\udf1f envd (\u026an\u02c8vd\u026a) is a command-line tool that helps you create the container-based development environment for AI/ML. https://envd.tensorchord.ai/
              • postgresml/postgresml \ud83c\udf1f PostgresML is an end-to-end machine learning system. It enables you to train models and make online predictions using only SQL, without your data ever leaving your favorite database.
              • blog.devgenius.io: Training model with Jenkins using docker: MLOPS
              • vaex.io An ML Ready Fast DataFrame for Python
                • https://pypi.org/project/vaex/
              • thenewstack.io: 7 Must-Have Python Tools for ML Devs and Data Scientists \ud83c\udf1f Python has an easy learning curve, however there are a range of development tools to consider if you\u2019re to use Python to its full potential.
              • github.com/SymbioticLab/Oobleck: Oobleck - Resilient Distributed Training Framework - techxplore.com: Open-source training framework increases the speed of large language model pre-training when failures arise
              • github.com/CASIA-IVA-Lab/FastSAM Fast Segment Anything
              • github.com/VikParuchuri/surya Accurate line-level text detection and recognition (OCR) in any language
              • github.com/aimhubio/aim An easy-to-use & supercharged open-source experiment tracker. Aim logs your training runs and any AI Metadata, enables a beautiful UI to compare, observe them and an API to query them programmatically.
              • github.com/XuehaiPan/nvitop \ud83c\udf1f An interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management
              • github.com/Netflix/metaflow \ud83c\udf1f Build and manage real-life ML, AI, and data science projects with ease!
              • github.com/decodingml: Real-time news search engine using Upstash Kafka and Vector DB
              • zenml.io: ZenML
                • zenml.io/integrations: Explore the MLOps Landscape with ZenML ZenML integrates with many different third-party tools. Once code is organized into a ZenML pipeline, you can supercharge your ML workflows with the best-in-class solutions from various MLOps areas.
                • registry.terraform.io/modules/zenml-io/zenml-stack
              "},{"location":"mlops/#debugging-ml-jobs","title":"Debugging ML Jobs","text":"
              • betterprogramming.pub: Attach a Visual Debugger to ML-training Jobs on Kubernetes
                • As machine learning models grow in size and complexity, cloud resources are more and more often required for training. However, debugging training jobs running in the cloud can be time-consuming and challenging. In this blog post, we\u2019ll explore how to attach a visual debugger in VSCode to a remote deep learning training environment, making debugging simpler and more efficient.
                • In this tutorial, you\u2019ll deploy a local Kubernetes cluster with k3d, install the MLOps workflow orchestration engine Flyte, create a simple training workflow, and finally visually debug it using VSCode and debugpy
              "},{"location":"mlops/#samples","title":"Samples","text":"
              • fepegar/vesseg Brain vessel segmentation using 3D convolutional neural networks
              • github.com/10tanmay100: MEDICAL-DATA-PROJECT-END2END-WITH-FEW-MLOPS We are on a mission to transform medical data into actionable insights using the power of machine learning. Whether you are a data scientist, healthcare professional, or an enthusiast in the field, your contributions and ideas are invaluable to us. Join us in making a difference!
              "},{"location":"mlops/#ml-courses","title":"ML Courses","text":"
              • dair-ai/ML-Course-Notes: ML Course Notes \ud83c\udf1f \ud83c\udf93 Sharing course notes on all topics related to machine learning, NLP, and AI.
              "},{"location":"mlops/#ml-competitions-and-challenges","title":"ML Competitions and Challenges","text":"
              • Kaggle Competitions
              • kaggle.com: Sports Car Prices dataset
                • Sport Car Price Prediction.ipynb
              • isic-archive.com
              • freecodecamp.org: How to Download a Kaggle Dataset Directly to a Google Colab Notebook
              "},{"location":"mlops/#polls","title":"Polls","text":"Click to expand!"},{"location":"mlops/#tweets","title":"Tweets","text":"Click to expand!

              To my JVM friends looking to explore Machine Learning techniques - you don\u2019t necessarily have to learn Python to do that. There are libraries you can use from the comfort of your JVM environment. \ud83e\uddf5\ud83d\udc47

              \u2014 Maria Khalusova (@mariaKhalusova) November 26, 2020

              You don't need to go to a university to learn machine learning - you can do it from your living room, for completely free.Here is an extensive list of curated free courses and tutorials, from beginner to advanced. \u2193(Trust me, you want to bookmark this tweet.)

              \u2014 Tivadar Danka (@TivadarDanka) September 21, 2021

              I started taking data science courses last year, after studying and coding for at least 10 hours 6 days a week and doing several ML projects alongside data analysis projects, I finally got my first data analyst offer from a Nigerian bank last week after countless rejections

              \u2014 Sam (@SamsonTontoye) February 20, 2022

              Deep Neural Networks are used for many applications. One I'm particularly fond of is medical imaging. A trained model can process the input thanks to the activation functions propagating through a network of perceptrons and generating the output of interest.#NeuralNets #Medical pic.twitter.com/vPwm0TfHnn

              \u2014 Valerio Pergola (@valerio_pergola) July 6, 2022

              #3D intracranial artery segmentation using a convolutional neural networks #CNN - #opensource > https://t.co/Z2WDp2UOl3 | #python #TensorFlow #DeepLearning #MachineLearning #Nvidia #GPU #brain #medical #conda #Neurology #Artificial_Intelligence #medical_imaging #Nifti pic.twitter.com/eKrBBuFxSy

              \u2014 NewUlmDesign (@ulmdesign) July 7, 2022

              https://t.co/WxspfKvLFS

              \u2014 nubenetes (@nubenetes) July 22, 2022

              @kelseyhightower We're now at a stage where we can start to leverage systems like #Flyte to give us more of an opinionated end-to-end workflow. What we call #ML can become a real discipline where practitioners can use a common set of terms and practices.#KelseyTakesFlyte #MLOps

              \u2014 Flyte (@flyteorg) July 22, 2022

              If you're not utilizing AI, you're falling behind. Here are 7 free AI tools that'll save you hours of work:

              \u2014 Nikki Siapno (@NikkiSiapno) October 24, 2022

              Machine Learning will be one of the most sought-after professions this decade.Learn & practice ML for free with these outstanding resources and earn certificates for your resume:

              \u2014 Simon (@simonholdorf) February 25, 2023

              Building robust #data and #ML pipelines by tapping into the power of multiple tools and integrating them should not be a challenging task.With Flyte, you can simplify the entire process of developing data and ML pipelines through access to more than 30 integrations. \u2728 pic.twitter.com/UBege732tQ

              \u2014 Flyte (@flyteorg) March 9, 2023"},{"location":"monitoring/","title":"Monitoring and Performance. Prometheus, Grafana, APMs and more","text":"
              1. Monitoring and Observability
                1. Profiling
                2. Key Performance Indicator (KPI)
              2. OpenShift Cluster Monitoring Built-in solutions
                1. OpenShift 3.11 Metrics and Logging
                  1. Prometheus and Grafana
                  2. Custom Grafana Dashboard for OpenShift 3.11
                  3. Capacity Management Grafana Dashboard
                  4. Software Delivery Metrics Grafana Dashboard
                  5. Prometheus for OpenShift 3.11
                2. OpenShift 4
              3. Monitoring micro-front ends on kubernetes with NGINX
              4. Prometheus vs OpenTelemetry
              5. Prometheus
              6. Grafana
              7. Kibana
              8. Prometheus and Grafana Interactive Learning
              9. Logging \\& Centralized Log Management
                1. ElasticSearch
                  1. Elastic Cloud on Kubernetes (ECK)
                2. OpenSearch
                3. EFK ElasticSearch Fluentd Kibana
                4. Logstash Grok for Log Parsing
              10. Internet Performance Monitoring (IPM)
              11. Performance
              12. List of Performance Analysis Tools
                1. Thread Dumps. Debugging Java Applications
              13. Debugging Java Applications on OpenShift and Kubernetes
              14. Distributed Tracing. OpenTelemetry and Jaeger
                1. Microservice Observability with Distributed Tracing. OpenTelemetry.io
                  1. OpenTelemetry Operator
                2. Jaeger VS OpenTelemetry. How Jaeger works with OpenTelemetry
                3. Jaeger vs Zipkin
                4. Grafana Tempo distributed tracing system
              15. Application Performance Management (APM)
                1. Elastic APM
                2. Dynatrace APM
              16. Message Queue Monitoring
                1. Red Hat AMQ 7 Broker Monitoring solutions based on Prometheus and Grafana
              17. Serverless Monitoring
              18. Distributed Tracing in Apache Beam
              19. Krossboard Converged Kubernetes usage analytics
              20. Instana APM
              21. Monitoring Etcd
              22. Zabbix
              23. VictoriaMetrics and VictoriaLogs
              24. Other Tools
              25. Other Awesome Lists
              26. Slides
              27. Tweets
              "},{"location":"monitoring/#monitoring-and-observability","title":"Monitoring and Observability","text":"
              • Monitoring Distributed Systems - Google SRE Book \ud83c\udf1f - This chapter from the Google SRE book provides fundamental principles and best practices for building robust monitoring and alerting systems within distributed environments. It outlines guidelines on what constitutes an actionable alert that should interrupt a human and strategies for handling less critical issues.
              • Monitor your Azure cloud estate - Cloud Adoption Framework - (Related to azure topic)

              • Wikipedia: Application Performance Index

              • Observability vs Monitoring
              • thenewstack.io: The Challenges of Monitoring Kubernetes and OpenShift
              • dzone.com: Kubernetes Monitoring: Best Practices, Methods, and Existing Solutions Kubernetes handles containers in several computers, removing the complexity of handling distributed processing. But what\u2019s the best way to perform Kubernetes monitoring?
              • blog.cloud-mercato.com: New HTTP benchmark tool pycurlb
              • sysdig.com: Seven Kubernetes monitoring best practices every monitoring solution should enable
              • CNCF End User Technology Radar: Observability, September 2020 \ud83c\udf1f
              • magalix.com: Monitoring Kubernetes Clusters Through Prometheus & Grafana \ud83c\udf1f
              • instana.com: The Hidden Cost of Observability: Data Volume
              • learnsteps.com: Monitoring Infrastructure System Design
              • bravenewgeek.com: The Observability Pipeline
              • thenewstack.io: 3 Key Configuration Challenges for Kubernetes Monitoring with Prometheus
              • sysdig.com: Kubernetes Monitoring with Prometheus, the ultimate guide \ud83c\udf1f
              • sysdig.com: How to monitor kube-proxy \ud83c\udf1f In this article, you will learn how to monitor kube-proxy to ensure the correct health of your cluster network.
              • thenewstack.io: Monitoring vs. Observability: What\u2019s the Difference?
              • getenroute.io: TSDB, Prometheus, Grafana In Kubernetes: Tracing A Variable Across The OSS Monitoring Stack
              • dashbird.io: Monitoring vs Observability: Can you tell the difference? \ud83c\udf1f
              • thenewstack.io: Monitoring as Code: What It Is and Why You Need It \ud83c\udf1f
              • thenewstack.io: Observability Won\u2019t Replace Monitoring (Because It Shouldn\u2019t) \ud83c\udf1f
              • matiasmct.medium.com: Observability at Scale
              • dynatrace.com: How to solve the challenges of multicloud AWS, Azure and GCP observability
              • logz.io: Top 11 Open Source Monitoring Tools for Kubernetes \ud83c\udf1f
                • logz.io: Unified Observability: Announcing Kubernetes 360 A single, unified platform combining a true log analytics solution, the best Prometheus metrics monitoring, and the value of distributed tracing powered by Jaeger that enables DevOps teams to monitor application SLOs in a simple, efficient and actionable manner.
              • thenewstack.io: Kubernetes Observability Challenges in Cloud Native Architecture \ud83c\udf1f
              • opsdis.com: Building a custom monitoring solution with Grafana, Prometheus and Loki
              • harness.io: Metrics to Improve Continuous Integration Performance
              • thenewstack.io: Best Practices to Optimize Infrastructure Monitoring within DevOps Teams
              • faun.pub: DevOps Meets Observability \ud83c\udf1f
              • skilledfield.com.au: Monitoring Kubernetes and Docker Container Logs
              • thenewstack.io: Growing Adoption of Observability Powers Business Transformation
              • blog.thundra.io: What CI Observability Means for DevOps \ud83c\udf1f
              • thenewstack.io: Monitoring API Latencies After Releases: 4 Mistakes to Avoid Find 4 common mistakes engineers make when using histograms to monitor API latencies from release to release.
              • thenewstack.io: Monitoring API Latencies After Releases: 4 Mistakes to Avoid
              • thenewstack.io: DevOps Observability from Code to Cloud
              • ortelius.io: Microservice Monitoring and Visualization with Ortelius open source project [ARCHIVED]
              • thenewstack.io: CI Observability for Effective Change Management \ud83c\udf1f
              • thenewstack.io: Monitor Your Containers with Sysdig
              • thenewstack.io: Applying Basic vs. Advanced Monitoring Techniques
              • cloudforecast.io: cAdvisor and Kubernetes Monitoring Guide \ud83c\udf1f
              • hmh.engineering: Musings on microservice observability!
              • stackoverflow.blog: Observability is key to the future of software (and your DevOps career) Observability platforms enable you to easily figure out what\u2019s happening with every request and to identify the cause of issues fast. Learning the principles of observability and OpenTelemetry will set you apart from the crowd and provide you with a skill set that will be in increasing demand as more companies perform cloud migrations.
              • forbes.com: Who Should Own The Job Of Observability In DevOps?
              • dynatrace.com: What is observability? Not just logs, metrics and traces
              • thenewstack.io: Observability Is the New Kubernetes \ud83c\udf1f
              • learnsteps.com: Logging Infrastructure System Design Logging infrastructure system design is very important for each and every infrastructure as you need to look into logs. When you have a huge number of applications talking to each other there is an enormous amount of logs that they produce. Handling this amount of logs can be very costly and a headache. Let\u2019s look at this problem for handling your logs at scale and Logging infrastructure System Design.
              • medium.com: Monitoring Microservices - Part 1: Observability | Anderson Carvalho Achieving observability with probes, logs, metrics, and traces. The Observability Pyramid comprises Probes, Logs, Metrics, and Traces:
                • Probes: Probes are often exposed as endpoints and used by external agents like load balancers, container orchestrators, application servers, and sysadmins before deciding what to do next. The most common probes are starting, ready, and live. The startup probe is on during the component bootstrap phase. The liveness probe is on from the time the component starts until it stops running. The readiness probe is on during the period where the component is ready/open to receive requests or process workload.
                • Logs: Logs are messages produced during the component execution that capture a piece of relevant information. Usually, we classify log messages into all, debug, info, warn, error, and fatal. Logs can produce a huge amount of data and contain sensitive information. A good practice is to apply different log levels depending on the environment.
                • Log Aggregation: Each component generates one or more log files. Since distributed systems are composed of multiples components, it\u2019s a daunting and miserable task to dig into a bunch of log files during troubleshooting. Thus, log aggregation is highly recommended for Microservices.
                • Metrics: Metrics give us the visibility of good and bad events that happen inside of an application. Metrics help us to distinguish between normal and abnormal application behavior. Usually, we collect, count, summarize and compare events related to rate, errors, duration, and saturation to produce metrics.
                • Traces: Traces record the flow of data between different components and execution details of each one along the way. By tracing we can discover the relationships, dependencies between components, identify bottlenecks, comprehend the data flow, and the time span on each component.
              • infoworld.com: The RED method: A new strategy for monitoring microservices By using the RED metrics\u2014rate, error, and duration\u2014you can get a solid understanding of how your services are performing for end-users.
              • intellipaat.com: Top 10 DevOps Monitoring Tools Are you a DevOps engineer? Are you confused about which DevOps monitoring tools to use for monitoring? If so, go through this comprehensive blog to know more about different types of DevOps monitoring tools, their purpose, and their importance.
              • cncf.io: How to add observability to your application pipeline
              • storiesfromtheherd.com: Unpacking Observability
              • logz.io: A Monitoring Reality Check: More of the Same Won\u2019t Work
              • medium.com/buildpiper: Observability for Monitoring Microservices \u2014 Top 5 Ways! Knowing what\u2019s running inside the container, how the application and code are performing is critical for tackling important issues. Discussed here are some important Microservices monitoring tools and approaches. Take a look!
              • medium.com/@cbkwgl: Continuous Monitoring in DevOps \ud83c\udf1f
              • logz.io: The Open Source Observability Adoption and Migration Curve
              • devopscube.com: What Is Observability? Comprehensive Beginners Guide
              • tiagodiasgeneroso.medium.com: Observability Concepts you should know
              • faun.pub: Getting started with Observability How to implement Observability
              • medium.com/@badawekoo: Monitoring in DevOps lifecycle
              • laduram.medium.com: The Future of Observability
              • devops.com: Where Does Observability Stand Today, and Where is it Going Next?
              • medium.com/kubeshop-i: Top 8 Open-Source Observability & Testing Tools
              • dzone: 11 Observability Tools You Should Know \ud83c\udf1f This article looks at the features, limitations, and important selling points of eleven popular observability tools to help you select the best one for your project.
              • medium.com/devops-techable: Setup monitoring with Prometheus and Grafana in Kubernetes \u2014 Start monitoring your Kubernetes cluster resources
              • thenewstack.io: What Is Container Monitoring? Cloud native architectures don\u2019t rely on dedicated hardware like virtualized infrastructure, which changes monitoring requirements and processes.
              • devops.com: Why Monitoring-as-Code Will be a Must for DevOps Teams
              • medium.com/cloud-native-daily: Why You Shouldn\u2019t Fear to Adopt OpenTelemetry for Observability An introduction to OpenTelemetry, an open-source project that\u2019s taking observability to a new level.
              • medium.com/@bijit211987: Observability Driven Development (ODD)-Enhancing System Reliability
              • forbes.com: From Data Collection To Delivering KPIs: A Roadmap To A Mature Observability Strategy
                • The observability space is a multi-billion-dollar market and for good reason\u2014there are a lot of benefits when you implement a robust observability strategy. But extracting value is not as simple as adopting a tool, throwing your data into a black box and expecting it to spit out business-relevant, contextualized insights and helpful visualizations.
                • As they say, \u201cNothing good comes easy\u201d\u2014but when done right, a mature observability strategy will pay for itself over and over again.
              "},{"location":"monitoring/#profiling","title":"Profiling","text":"
              • medium.com/performance-engineering-for-the-ordinary-barbie: Why profiling should be part of regular software development workflow \ud83c\udf1f
              "},{"location":"monitoring/#key-performance-indicator-kpi","title":"Key Performance Indicator (KPI)","text":"
              • KPIs
              "},{"location":"monitoring/#openshift-cluster-monitoring-built-in-solutions","title":"OpenShift Cluster Monitoring Built-in solutions","text":""},{"location":"monitoring/#openshift-311-metrics-and-logging","title":"OpenShift 3.11 Metrics and Logging","text":"

              OpenShift Container Platform Monitoring ships with a Prometheus instance for cluster monitoring and a central Alertmanager cluster. In addition to Prometheus and Alertmanager, OpenShift Container Platform Monitoring also includes a Grafana instance as well as pre-built dashboards for cluster monitoring troubleshooting. The Grafana instance that is provided with the monitoring stack, along with its dashboards, is read-only.

              Monitoring Component Release URL ElasticSearch 5 OpenShift 3.11 Metrics & Logging Fluentd 0.12 OpenShift 3.11 Metrics & Logging Kibana 5.6.13 kibana 5.6.13 Prometheus 2.3.2 OpenShift 3.11 Prometheus Cluster Monitoring Prometheus Operator Prometheus Operator technical preview Prometheus Alert Manager 0.15.1 OpenShift 3.11 Configuring Prometheus Alert Manager Grafana 5.2.3 OpenShift 3.11 Prometheus Cluster Monitoring"},{"location":"monitoring/#prometheus-and-grafana","title":"Prometheus and Grafana","text":"
              • github.com/prometheus-operator
              • redhat.com: How to gather and display metrics in Red Hat OpenShift (Prometheus + Grafana)
              • Generally Available today: Red Hat OpenShift Container Platform 3.11 is ready to power enterprise Kubernetes deployments \ud83c\udf1f
              • The Challenges of Monitoring Kubernetes and OpenShift 3.11 \ud83c\udf1f
              • OCP 3.11 Metrics and Logging
              • Prometheus Cluster Monitoring \ud83c\udf1f
              • Prometheus Alert Manager
              • Leveraging Kubernetes and OpenShift for automated performance tests (part 1)
              • Building an observability stack for automated performance tests on Kubernetes and OpenShift (part 2) \ud83c\udf1f
              • Promster: Use Prometheus in huge deployments with dynamic clustering and scrape sharding capabilities based on ETCD service registration
              • developers.redhat.com: Monitoring .NET Core applications on Kubernetes
              • Systems Monitoring with Prometheus and Grafana
              "},{"location":"monitoring/#custom-grafana-dashboard-for-openshift-311","title":"Custom Grafana Dashboard for OpenShift 3.11","text":"

              By default OpenShift 3.11 Grafana is a read-only instance. Many organizations may want to add new custom dashboards. This custom grafana will interact with existing Prometheus and will also add all out-of-the-box dashboards plus few more interesting dashboards which may require from day to day operation. Custom Grafana pod uses OpenShift oAuth to authenticate users and assigns \u201cAdmin\u201d role to all users so that users can create their own dashboards for additional monitoring.

              Getting Started with Custom Dashboarding on OpenShift using Grafana. This repository contains scaffolding and automation for developing a custom dashboarding strategy on OpenShift using the OpenShift Monitoring stac

              "},{"location":"monitoring/#capacity-management-grafana-dashboard","title":"Capacity Management Grafana Dashboard","text":"

              This repo adds a capacity management Grafana dashboard. The intent of this dashboard is to answer a single question: Do I need a new node? . We believe this is the most important question when setting up a capacity management process. We are aware that this is not the only question a capacity management process may need to be able to answer. Thus, this should be considered as the starting point for organizations to build their capacity management process.

              "},{"location":"monitoring/#software-delivery-metrics-grafana-dashboard","title":"Software Delivery Metrics Grafana Dashboard","text":"

              This repo contains tooling to help organizations measure Software Delivery and Value Stream metrics.

              "},{"location":"monitoring/#prometheus-for-openshift-311","title":"Prometheus for OpenShift 3.11","text":"

              This repo contains example components for running either an operational Prometheus setup for your OpenShift cluster, or deploying a standalone secured Prometheus instance for configurating yourself.

              "},{"location":"monitoring/#openshift-4","title":"OpenShift 4","text":"

              OpenShift Container Platform includes a pre-configured, pre-installed, and self-updating monitoring stack that is based on the Prometheus open source project and its wider eco-system. It provides monitoring of cluster components and includes a set of alerts to immediately notify the cluster administrator about any occurring problems and a set of Grafana dashboards. The cluster monitoring stack is only supported for monitoring OpenShift Container Platform clusters.

              OpenShift Cluster Monitoring components cannot be extended since they are read only.

              Monitor your own services (technology preview): The existing monitoring stack can be extended so you can configure monitoring for your own Services.

              Monitoring Component Deployed By Default OCP 4.1 OCP 4.2 OCP 4.3 OCP 4.4 ElasticSearch No 5.6.13.6 Fluentd No 0.12.43 Kibana No 5.6.13 Prometheus Yes 2.7.2 2.14.0 2.15.2 Prometheus Operator Yes 0.34.0 0.35.1 Prometheus Alert Manager Yes 0.16.2 0.19.0 0.20.0 kube-state-metrics Yes 1.8.0 1.9.5 Grafana Yes 5.4.3 6.2.4 6.4.3 6.5.3"},{"location":"monitoring/#monitoring-micro-front-ends-on-kubernetes-with-nginx","title":"Monitoring micro-front ends on kubernetes with NGINX","text":"
              • cncf.io: Monitoring micro-front ends on Kubernetes with NGINX \ud83c\udf1f
              "},{"location":"monitoring/#prometheus-vs-opentelemetry","title":"Prometheus vs OpenTelemetry","text":"
              • Prometheus and OpenTelemetry Compatibility Issues - This article discusses the challenges and incompatibilities encountered when trying to integrate Prometheus and OpenTelemetry, exploring the technical reasons behind their difficulties in working together.

              • timescale.com: Prometheus vs. OpenTelemetry Metrics: A Complete Guide

              "},{"location":"monitoring/#prometheus","title":"Prometheus","text":"
              • Prometheus
              "},{"location":"monitoring/#grafana","title":"Grafana","text":"
              • Grafana
              "},{"location":"monitoring/#kibana","title":"Kibana","text":"
              • Kibana
                • Kibana Docs
                • dzone: Kibana Tutorial: Part 2 - Creating Visualizations
              • dzone: Getting Started With Kibana Advanced Searches
              • dzone: Kibana Hacks: 5 Tips and Tricks
              • juanonlab.com: Dashboards de Kibana
              • dev.to: Beginner\u2019s guide to understanding the relevance of your search with Elasticsearch and Kibana
              "},{"location":"monitoring/#prometheus-and-grafana-interactive-learning","title":"Prometheus and Grafana Interactive Learning","text":""},{"location":"monitoring/#logging-centralized-log-management","title":"Logging & Centralized Log Management","text":"
              • devops.com: How Centralized Log Management Can Save Your Company
              • acloudguru.com: Getting started with the Elastic Stack
              • betterprogramming.pub: The Art of Logging Creating a human- and machine-friendly logging format
              "},{"location":"monitoring/#elasticsearch","title":"ElasticSearch","text":"
              • zdnet.com: AWS, as predicted, is forking Elasticsearch Amazon Web Services, however, isn\u2019t the only one who dislikes Elastic\u2019s move to relicense Elasticsearch under the non-open-source Server Side Public License.
              • amazon.com: Stepping up for a truly open source Elasticsearch
              • Store NGINX access logs in Elasticsearch with Logging operator \ud83c\udf1f This guide describes how to collect application and container logs in Kubernetes using the Logging operator, and how to send them to Elasticsearch.
                • Rancher Logging Operator \ud83c\udf1f
              • blog.streammonkey.com: How We Serverlessly Migrated 1.58 Billion Elasticsearch Documents
              • youtube: ELK for beginners - by XavkiEn \ud83c\udf1f
              • blog.bigdataboutique.com: Tuning Elasticsearch: The Ideal Java Heap Size
              • javatechonline.com: How To Monitor Spring Boot Microservices Using ELK Stack?
              • dzone: Running Elasticsearch on Kubernetes A bit of a cross-over with the Cloud Zone, we explore the structures of both Elasticsearch and Kubernetes, and how to deploy Elasticsearch on K8s.
              • medium: Which Elasticsearch Provider is Right For You? \ud83c\udf1f In this post, we\u2019ll explain the core differences between Elastic Cloud, AWS ESS, and self-hosted, so that you can make an informed decision.

                AWS ESS Elastic Cloud Self-hosted Operational Burden Medium. Requires intimate knowledge of other AWS services to go beyond defaults. Low. Backups, version upgrades, etc. are automated. High. You need to provision, configure and maintain the cluster(s) yourself. Cost Medium. Over 50% premium on underlying infrastructure cost. High. Up to 3x the cost of underlying infrastructure. Low. Only pay for the underlying infrastructure. Optionally can purchase x-pack license for additional features and support. Configurability Low. No support for custom plugins. Several configuration parameters are not available. Medium. Does support custom plugins and all parameters are available. Lack of direct node ssh access. High. Full node-level acess. Monitoring Mediocre. Kibana monitoring is not available. Cloudwatch is often inadequate for Elasticsearch monitoring. Good. Kibana monitoring available and pre-installed. Depends. It is up to you to implement an adequate monitoring system, but you have access to kibana monitoring. Future-proof Medium. Oftern lags several minor versions behind the latest Elasticsearch version. Some features are not available at all. High. Same day Elasticsearch version parity. All features are available. High. Up to you to upgrade as needed, but in theory the same Elastic Cloud.
              • jertel/elastalert2 ElastAlert 2 is a continuation of the original yelp/elastalert project. ElastAlert 2 is a standalone software tool for alerting on anomalies, spikes, or other patterns of interest from data in Elasticsearch and OpenSearch. ElastAlert 2 is backwards compatible with the original ElastAlert rules

              • medium.com/hepsiburadatech: Hepsiburada Search Engine on Kubernetes In this case study, you\u2019ll learn how Hepsiburada migrated from an on-premises active-active Elasticsearch cluster (manually scaled) deployed in two data centers to a multi-zone Google Cloud Kubernetes cluster that can scale automatically.
              • dev.to/sagary2j: ELK Stack Deployment using MiniKube single node architecture In this tutorial, you will learn how to deploy and expose Elastic Search, Logstash and Kibana on minikube.
              • search-guard.com/sgctl-elasticsearch: SGCTL - TAKE BACK CONTROL In this article, we look at the new Search Guard Control command line tool that ships with Search Guard FLX and demonstrate how easy it has become to configure security for Elasticsearch.
              "},{"location":"monitoring/#elastic-cloud-on-kubernetes-eck","title":"Elastic Cloud on Kubernetes (ECK)","text":"
              • medium: A detailed guide to deploying Elasticsearch on Elastic Cloud on Kubernetes (ECK) Running Elasticsearch on Kubernetes allows developers/admins to utilize container orchestration by Kubernetes and apply best practices on managing Elasticsearch clusters by the Elastic Operator
              "},{"location":"monitoring/#opensearch","title":"OpenSearch","text":"
              • opensearch.org \ud83c\udf1f
              • amazon.com: Introducing OpenSearch
              • logz.io: Logz.io Announces Support for OpenSearch; A Community-driven Open Source Fork of Elasticsearch and Kibana
              • techrepublic.com: OpenSearch: AWS rolls out its open source Elasticsearch fork
              • thenewstack.io: This Week in Programming: AWS Completes Elasticsearch Fork with OpenSearch
              • logz.io: OpenSearch Is Now Generally Available!
              • thenewstack.io: This Week in Programming: The ElasticSearch Saga Continues
              • aws.amazon.com: Keeping clients of OpenSearch and Elasticsearch compatible with open source
              • aws.amazon.com: Amazon Elasticsearch Service Is Now Amazon OpenSearch Service and Supports OpenSearch 1.0
              "},{"location":"monitoring/#efk-elasticsearch-fluentd-kibana","title":"EFK ElasticSearch Fluentd Kibana","text":"
              • medium: Logging with EFK - Pratyush Mathur
              • medium.com/@CuriousLearner: Deploying EFK stack on Kubernetes
              • medium.com/@tech_18484: Simplifying Kubernetes Logging with EFK Stack
              "},{"location":"monitoring/#logstash-grok-for-log-parsing","title":"Logstash Grok for Log Parsing","text":"
              • logz.io: A Beginner\u2019s Guide to Logstash Grok
              • logz.io: Grok Pattern Examples for Log Parsing
              "},{"location":"monitoring/#internet-performance-monitoring-ipm","title":"Internet Performance Monitoring (IPM)","text":"
              • devops.com: The Fallacy of Continuous Integration, Delivery and Testing Whether your organization embraces CI/CD/CT already or is rethinking its approach to DevOps, this article should give you pause. Your job\u2013perhaps as part of a larger team\u2013is to catch performance issues and potential disruptions with your application before client impact is realized. Without IPM, only part of that job is being done.
              "},{"location":"monitoring/#performance","title":"Performance","text":"
              • The Hidden CPU Throttling Crisis in Kubernetes Clusters - (Related to kubernetes-troubleshooting topic)

              • dzone.com: The Keys to Performance Tuning and Testing

              • Performance Patterns in Microservices-Based Integrations \ud83c\udf1f 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.
              "},{"location":"monitoring/#list-of-performance-analysis-tools","title":"List of Performance Analysis Tools","text":"
              • KoaPerf: Kubernetes Performance Monitoring - (Related to kubernetes-monitoring topic)
              • Awesome Sysadmin - (Related to devops-tools topic)

              • Threadumps + heapdumps + GC analysis tools

              • en.wikipedia.org/wiki/List_of_performance_analysis_tools
              • InspectIT
              • VisualVM \ud83c\udf1f
              • OverOps
              • tier1app.com
              • fastthread.io \ud83c\udf1f
              • gceasy.io \ud83c\udf1f
              • heaphero.io
              "},{"location":"monitoring/#thread-dumps-debugging-java-applications","title":"Thread Dumps. Debugging Java Applications","text":"
              • How to read a Thread Dump
              • Performance Patterns in Microservices-Based Integrations \ud83c\udf1f A must read!
              • Dzone: how to take thread dumps
              • Thread Dump Analyzers: fastThread, Spotify TDA, IBM Thread and Monitor Dump Analyzer for Java, TDA - Thread Dump Analyzer
              • blog.arkey.fr: Using JDK FlightRecorder and JDK Mission Control
              • FastThread.io: Thread dumps can be uploaded via Web or API Call from within the POD (jstack must be available within the container):
              #!/bin/sh\n#\u00a0Generate\u00a0N\u00a0thread\u00a0dumps\u00a0of\u00a0the\u00a0process\u00a0PID\u00a0with\u00a0an\u00a0INTERVAL\u00a0between\u00a0each\u00a0dump.\nif\u00a0[\u00a0$#\u00a0-ne\u00a03\u00a0];\u00a0then\n\u00a0\u00a0\u00a0echo\u00a0Generates\u00a0Java\u00a0thread\u00a0dumps\u00a0using\u00a0the\u00a0jstack\u00a0command.\n\u00a0\u00a0\u00a0echo\n\u00a0\u00a0\u00a0echo\u00a0usage:\u00a0$0\u00a0process_id\u00a0repetitions\u00a0interval\n\u00a0\u00a0\u00a0exit\u00a01\nfi\u00a0\nPID=$1\nN=$2\nINTERVAL=$3\u00a0\nfor\u00a0((i=1;i<=$N;i++))\ndo\n\u00a0\u00a0\u00a0d=$(date\u00a0+%Y%m%d-%H%M%S)\n\u00a0\u00a0\u00a0dump=\"threaddump-$PID-$d.txt\"\n\u00a0\u00a0\u00a0echo\u00a0$i\u00a0of\u00a0$N:\u00a0$dump\n\u00a0\u00a0\u00a0jstack\u00a0-l\u00a0$PID\u00a0>\u00a0$dump\n\u00a0\u00a0\u00a0curl\u00a0-X\u00a0POST\u00a0--data-binary\u00a0@./$dump\u00a0https://fastthread.io/fastthread-api?apiKey=<APIKEY>\u00a0--header\u00a0\"Content-Type:text\"\n\u00a0\u00a0\u00a0sleep\u00a0$INTERVAL\ndone\n
              • How to run this script from within the POD: ./script_thread_dump.sh 1 15 3, where:
                • \u201c1\u201d: PID of java process (\u201c1\u201d in containers running a single process, check with \u201cps ux\u201d command).
                • \u201c15\u201d: 15 repetitions or thread dumps
                • \u201c3\u201d: interval of 3 seconds between each thread dump.
              • According to some references only 3 thread dumps captured in a timeframe of 10 seconds is necessary (when we want to troubleshoot a Java issue during a service degradation).
              • Sample thread dump analysis reports generated by fastThread:
                • Transitive blocks
                • Unresponsive JVM
                • Sudden CPU spike
                • Thread Leaks
              "},{"location":"monitoring/#debugging-java-applications-on-openshift-and-kubernetes","title":"Debugging Java Applications on OpenShift and Kubernetes","text":"
              • developers.redhat.com: Troubleshooting java applications on openshift (Jolokia)
              • Debugging Java Applications On OpenShift and Kubernetes
              • Remote Debugging of Java Applications on OpenShift
              • VisualVM: JVisualVM to an Openshift pod
              • redhat.com: How do I analyze a Java heap dump?
              "},{"location":"monitoring/#distributed-tracing-opentelemetry-and-jaeger","title":"Distributed Tracing. OpenTelemetry and Jaeger","text":"
              • Microservice Observability with Distributed Tracing: OpenTelemetry.io \ud83c\udf1f (OpenTracing.io + OpenCensus.io = OpenTelemetry.io)
              • Jaeger \ud83c\udf1f
                • Jaeger Demo1
                • Jaeger Demo 2
                • medium.com: Jaeger embraces OpenTelemetry collector \ud83c\udf1f
                • Best Practices for Deploying Jaeger on Kubernetes in Production
                • faun.pub: How to deploy Jaeger on Kubernetes. A beginner\u2019s guide to Jaeger (5 Part Series)
              • zipkin.io
                • javatechonline.com: How To Implement Distributed Logging Tracing Using Sleuth Zipkin
                • thenewstack.io: Perform Distributed Tracing with Zipkin Open source Zipkin offers a robust set of features that make it easier for developers to understand and optimize complex distributed systems.
              • OpenTracing.io
                • lightstep.com: Understand Distributed Tracing
              • grafana.com: A beginner\u2019s guide to distributed tracing and how it can increase an application\u2019s performance \ud83c\udf1f
              • awkwardferny.medium.com: Setting up Distributed Tracing in Kubernetes with OpenTracing, Jaeger, and Ingress-NGINX
              • ploffay.medium.com: Five years evolution of open-source distributed tracing \ud83c\udf1f
              "},{"location":"monitoring/#microservice-observability-with-distributed-tracing-opentelemetryio","title":"Microservice Observability with Distributed Tracing. OpenTelemetry.io","text":"
              • Used for monitoring and troubleshooting microservices-based distributed systems.
              • OpenTelemetry.io:
                • Unified standard (open, vendor-neutral API), merge of OpenCensus.io and OpenTracing.io.
                • \u201cA single set of system components and language-specific telemetry libraries\u201d to standardize how the industry uses metrics, traces, and eventually logs to enable observability.
                • signadot.com: Sandboxes in Kubernetes using OpenTelemetry
                • dynatrace.com: What is\u202f OpenTelemetry?\u202fAn open-source standard for logs, metrics, and traces
                • betterprogramming.pub: Distributed Tracing With OpenTelemetry, Spring Cloud Sleuth, Kafka, and Jaeger A step-by-step guide for Distributed Tracing Implementation in Microservices
                • logz.io: Beginner\u2019s Guide to OpenTelemetry \ud83c\udf1f
                • timescale.com: Kubernetes Observability in One Command: How to Generate and Store OpenTelemetry Traces Automatically If your microservices are written in languages currently supported by the OpenTelemetry Operator, you can start collecting and storing traces with minimal manual work. Learn how to do so with the tobs stack in Kubernetes.
                • trstringer.com: Observability with OpenTelemetry Part 1 - Introduction
                • medium.com/apache-apisix: End-to-end tracing with OpenTelemetry
              • A major component of the\u00a0OpenTelemetry specification\u00a0is distributed tracing.
              • Tracing is about analyzing, recording, and describing transactions.
              • Distributed Tracing: Troubleshooting requests between interconnected cloud-based microservices can\u2019t always be done with logs and metrics alone. This is where distributed tracing comes into play: It provides developers with a detailed view of individual requests as they \u201chop\u201d through a system of microservices. With distributed tracing you can:
                • Trace the path of a request as it travels across a complex system.
                • Discover the latency of the components along that path.
                • Know which component in the path is creating a bottleneck or failure.
              • Performance: Latency is a very important metric in microservices. Latency problems in one service will impact the overall request latency when chaining calls to different microservices. Every call to a microservice should record a trace, which is basically a record of how much time it took to respond. It\u2019s possible to add more details to the function level, including the action, the result, and the pass to the next service. The hard part is triaging all traces in a request from a client. Usually, a trace ID header has to be sent in every request. If there isn\u2019t one, the logging library creates it and it will represent the first trace in a request. Adding traces with OpenCensus is simply a matter of including the libraries and registering an exporter.
              • Monitoring in a Microservices/Kubernetes World: In distributed system architectures like microservices, having visibility from different perspectives will be critical at troubleshooting time. Many things could happen in a request when there are many parts constantly interacting at the same time. The most common method is to write logs to the stdout and stderr streams.
                • For example, a latency problem in the system could exist because a microservice is not responding correctly. Maybe Kubernetes is restarting the pod too frequently, or perhaps the cluster is out of capacity and can\u2019t schedule any more pods. But for this reason, tools like Istio exist; by injecting a container in every pod, you can get a pretty good baseline of telemetry. Additionally, when you add instrumentation with libraries like OpenCensus, you can deeply understand what\u2019s happening with and within each service.
                • All this information will need a storage location, and as a good practice, you might want to have it a centralized location to provide access to anyone in the team \u2014 not just for the operations team.
              • Older Distributed Tracing Solutions:
                • Dapper (Google)
                • Zipkin (A.K.A. OpenZipkin, created by Twitter, inspired by Dapper)
                • Jaeger (Uber Technologies, inspired by Dapper & Zipkin)
                • etc.
              • Medium: Distributed Tracing and Monitoring using OpenCensus
              • Dzone: Zipkin vs. Jaeger: Getting Started With Tracing Learn about Zipkin and Jaeger, how they work to add request tracing to your logging routine, and how to choose which one is the right fit for you.
              • opensource.com: Distributed tracing in a microservices world What is distributed tracing and why is it so important in a microservices environment?
              • opensource.com: 3 open source distributed tracing tools Find performance issues quickly with these tools, which provide a graphical view of what\u2019s happening across complex software systems.
              • newrelic.com: OpenTracing, OpenCensus, OpenTelemetry, and New Relic (Best overview of OpenTelemetry)
              • There\u2019s no OpenTelemetry UI, instead Jaeger UI (or any APM like Dynatrace or New Relic) can be used as \u201cTracing backend + Visualization frontend + Data mining platform\u201d of OpenTelemetry API/SDK.
              • thenewstack.io: Tracing: Why Logs Aren\u2019t Enough to Debug Your Microservices \ud83c\udf1f
              "},{"location":"monitoring/#opentelemetry-operator","title":"OpenTelemetry Operator","text":"
              • github.com/open-telemetry/opentelemetry-operator
              • medium.com/@magstherdev: OpenTelemetry Operator This post aims to demonstrate how you can implement traces in your application without any code changes by using the OpenTelemetry Operator.
              • thenewstack.io: OpenTelemetry Gaining Traction from Companies and Vendors Elastic and OpenTelemetry will merge standards as more companies embrace OpenTelemetry to improve user experience and cut costs.
              • thenewstack.io: How OpenTelemetry Works with Kubernetes
              • medium.com/@bijit211987: Grafana with OpenTelemetry, Vendor-neutral and open-source approach

              "},{"location":"monitoring/#jaeger-vs-opentelemetry-how-jaeger-works-with-opentelemetry","title":"Jaeger VS OpenTelemetry. How Jaeger works with OpenTelemetry","text":"
              • medium: Jaeger VS OpenTracing VS OpenTelemetry
              • medium: Using Jaeger and OpenTelemetry SDKs in a mixed environment with W3C Trace-Context
              "},{"location":"monitoring/#jaeger-vs-zipkin","title":"Jaeger vs Zipkin","text":"
              • thenewstack.io: Jaeger vs. Zipkin: Battle of the Open Source Tracing Tools
              "},{"location":"monitoring/#grafana-tempo-distributed-tracing-system","title":"Grafana Tempo distributed tracing system","text":"
              • Grafana Tempo Grafana Tempo is an open source, easy-to-use and high-scale distributed tracing backend. Tempo requires only object storage to operate and is deeply integrated with Grafana, Prometheus, and Loki.
              • grafana.com: Announcing Grafana Tempo, a massively scalable distributed tracing system \ud83c\udf1f
              • opensource.com: Get started with distributed tracing using Grafana Tempo Grafana Tempo is a new open source, high-volume distributed tracing backend.
              "},{"location":"monitoring/#application-performance-management-apm","title":"Application Performance Management (APM)","text":"
              • Azure App Service Auto-Heal: Capturing Relevant Data During Performance Issues - (Related to azure topic)

              • APM in wikipedia: The monitoring and management of performance and availability of\u00a0software\u00a0applications. APM strives to detect and diagnose complex application performance problems to maintain an expected\u00a0level of service. APM is \u201cthe translation of\u00a0IT metrics\u00a0into business meaning.\u201d

              • Tip: Download APM report from IT Central Station
              • Awesome APM \ud83c\udf1f
              • dzone.com: APM Tools Comparison
              • dzone.com: Java Performance Monitoring: 5 Open Source Tools You Should Know
              • dzone.com: 14 best performance testing tools and APM solutions
              • Exception Tracking:
                • sentry.io
                • APMs like Dynatrace, etc.
              • APM Tools:
                • datadoghq.com
                  • dev.to/thenjdevopsguy: Implementing Datadog For Kubernetes
                • honeycomb.io
                • lightstep.com
                • skywalking.apache.org \ud83c\udf1f
                  • tetrate.io: SkyWalking 8.4 provides infrastucture monitoring for VMs
                  • thenewstack.io: End-User Tracing in a SkyWalking-Observed Browser
                • AppDynamics \ud83c\udf1f
                • New Relic \ud83c\udf1f
                  • newrelic.com: Creating dashboards with Terraform and JSON templates Learn how to quickly update New Relic dashboards with Terraform by using JSON templates\u2014no HCL required.
                • Dynatrace \ud83c\udf1f
                • SigNoz: Open source Application Performance Monitoring (APM) & Observability tool \ud83c\udf1f SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc.
                • savecost/datav \ud83c\udf1f A modern APM for metrics,traces and logs, also datav is a lightweight alternative to Grafana. It has fully native support for open-telemetry, is an open-source alternative to DataDog, NewRelic.
              "},{"location":"monitoring/#elastic-apm","title":"Elastic APM","text":"
              • Elastic APM
              • Elastic APM Server:
              • Mininimum elasticsearch requirement is 6.2.x or higher
              • Built-in elasticsearch 5.6 in Openshift 3 & Openshift 4 cannot be integrated with Elastic APM Server.
              • Solutions: Deploy a higher version of Elasticsearch + Kibana on a new Project dedicated to Elastic APM; or setup an Elastic Cloud account.
              • Elastic APM Server Docker image (\u201coss\u201d & openshift compliant).
              • elastic.co: Using the Elastic APM Java Agent on Kubernetes
              • Monitoring Java applications with Elastic: Getting started with the Elastic APM Java Agent
              • Jenkins pipeline shared library for the project Elastic APM \ud83c\udf1f
              • bqstack.com: Monitoring Application using Elastic APM
              "},{"location":"monitoring/#dynatrace-apm","title":"Dynatrace APM","text":"
              • adictosaltrabajo.com: Monitorizaci\u00f3n y an\u00e1lisis de rendimiento de aplicaciones con Dynatrace APM
              • dynatrace.com: openshift monitoring
              • dynatrace.com: Dynatrace monitoring for Kubernetes and OpenShift
              • dynatrace.com: Deploy OneAgent on OpenShift Container Platform
              • Successful Kubernetes Monitoring \u2013 Three Pitfalls to Avoid
              • My Dynatrace proof of concept \ud83c\udf1f
              • Tutorial: Guide to automated SRE-driven performance engineering \ud83c\udf1f
              • dynatrace.com: 4 steps to modernize your IT service operations with Dynatrace
              • dynatrace.com: Monitoring of Kubernetes Infrastructure for day 2 operations
              • dynatrace.com: The Power of OpenShift, The Visibility of Dynatrace
              • dynatrace.com: Why conventional observability fails in Kubernetes environments\u2014A real-world use case \ud83c\udf1f
              • dynatrace.com: A look behind the scenes of AWS Lambda and our new Lambda monitoring extension
              • dynatrace.com: Analyze all AWS data in minutes with Amazon CloudWatch Metric Streams available in Dynatrace
              • dynatrace.com: New Dynatrace Operator elevates cloud-native observability for Kubernetes
              • dynatrace.com: How to collect Prometheus metrics in Dynatrace
              • dynatrace.com: Automatic connection of logs and traces accelerates AI-driven cloud analytics
              • devops.com: Dynatrace Advances Application Environments as Code
              "},{"location":"monitoring/#message-queue-monitoring","title":"Message Queue Monitoring","text":"Messaging Solution Monitoring Solution URL ActiveMQ 5.8.0+ Dynatrace ref ActiveMQ Artemis Micrometer Collector + Prometheus ref1, ref2 IBM MQ IBM MQ Exporter for Prometheus ref Kafka Dynatrace ref1, ref2, ref3 Kafka Prometheus JMX Exporter ref1, ref2, ref3, ref4, ref5, ref6, ref7 Kafka Kafka Exporter Use JMX Exporter to export other Kafka\u2019s metrics ref Kafka Kafdrop \u2013 Kafka Web UI ref Kafka ZooNavigator: Web-based ZooKeeper UI ref Kafka CMAK (Cluster Manager for Apache Kafka, previously known as Kafka Manager) ref Kafka Xinfra Monitor (renamed from Kafka Monitor, created by Linkedin) ref Kafka Telegraf + InfluxDB ref Red Hat AMQ Broker (ActiveMQ Artemis) Prometheus plugin for AMQ BrokerTo monitor the health and performance of your broker instances, you can use the Prometheus plugin for AMQ Broker to monitor and store broker runtime metrics. Prometheus is software built for monitoring large, scalable systems and storing historical runtime data over an extended time period. The AMQ Broker Prometheus plugin exports the broker runtime metrics to Prometheus format, enabling you to use Prometheus itself to visualize and run queries on the data.You can also use a graphical tool, such as Grafana, to configure more advanced visualizations and dashboards for the metrics that the Prometheus plugin collects.The metrics that the plugin exports to Prometheus format are listed below. A description of each metric is exported along with the metric itself. ref1, ref2, ref3 Red Hat AMQ Streams (Kafka) JMX, OpenTracing+Jaeger ZooKeeper, the Kafka broker, Kafka Connect, and the Kafka clients all expose management information using Java Management Extensions (JMX). Most management information is in the form of metrics that are useful for monitoring the condition and performance of your Kafka cluster. Like other Java applications, Kafka provides this management information through managed beans or MBeans. JMX works at the level of the JVM (Java Virtual Machine). To obtain management information, external tools can connect to the JVM that is running ZooKeeper, the Kafka broker, and so on. By default, only tools on the same machine and running as the same user as the JVM are able to connect.Distributed Tracing with Jaeger: - Kafka Producers, Kafka Consumers, and Kafka Streams applications (referred to as Kafka clients) - MirrorMaker and Kafka Connect - Kafka Bridge ref1,ref2 Red Hat AMQ Streams Operator AMQ Streams Operator (Prometheus & Jaeger), strimzi, jmxtransHow to monitor AMQ Streams Kafka, Zookeeper and Kafka Connect clusters using Prometheus to provide monitoring data for example Grafana dashboards.Support for distributed tracing in AMQ Streams, using Jaeger: - You instrument Kafka Producer, Consumer, and Streams API applications for distributed tracing using an OpenTracing client library. This involves adding instrumentation code to these clients, which monitors the execution of individual transactions in order to generate trace data. - Distributed tracing support is built in to the Kafka Connect, MirrorMaker, and Kafka Bridge components of AMQ Streams. To configure these components for distributed tracing, you configure and update the relevant custom resources. ref1, ref2, ref3 strimzi, ref4: jmxtrans, ref5: banzai operator Red Hat AMQ Broker Operator Prometheus (recommended) or Jolokia REST to JMX To monitor runtime data for brokers in your deployment, use one of these approaches: - Section 9.1, \u201cMonitoring broker runtime data using Prometheus\u201d - Section 9.2, \u201cMonitoring broker runtime data using JMX\u201d In general, using Prometheus is the recommended approach. However, you might choose to use the Jolokia REST interface to JMX if a metric that you need to monitor is not exported by the Prometheus plugin. For more information about the broker runtime metrics that the Prometheus plugin exports, see Section 9.1.1, \u201cOverview of Prometheus metrics\u201d ref1, ref2, ref3, ref4, ref5"},{"location":"monitoring/#red-hat-amq-7-broker-monitoring-solutions-based-on-prometheus-and-grafana","title":"Red Hat AMQ 7 Broker Monitoring solutions based on Prometheus and Grafana","text":"

              This is a selection of monitoring solutions suitable for RH AMQ 7 Broker based on Prometheus and Grafana:

              Environment Collector/Exporter Details/URL RHEL Prometheus Plugin for AMQ Broker ref RHEL Prometheus JMX Exporter Same solution applied to ActiveMQ Artemis OpenShift 3 Prometheus Plugin for AMQ Broker Grafana Dashboard not available, ref1, ref2 OpenShift 4 Prometheus Plugin for AMQ Broker Check if Grafana Dashboard is automatically setup by Red Hat AMQ Operator OpenShift 3 Prometheus JMX Exporter Grafana Dashboard not available, ref1, ref2"},{"location":"monitoring/#serverless-monitoring","title":"Serverless Monitoring","text":"
              • thenewstack.io: Serverless Needs More Observability Tools
              "},{"location":"monitoring/#distributed-tracing-in-apache-beam","title":"Distributed Tracing in Apache Beam","text":"
              • Apache Beam
              • A Distributed Tracing Adventure in Apache Beam
              "},{"location":"monitoring/#krossboard-converged-kubernetes-usage-analytics","title":"Krossboard Converged Kubernetes usage analytics","text":"
              • Krossboard All in one single place, Krossboard tracks the usage of all your clusters over time, it helps forecast capacity scale up/down, thereby enabling you to easily anticipate and master operations costs.
              • Krossboard: A centralized usage analytics approach for multiple Kubernetes
              "},{"location":"monitoring/#instana-apm","title":"Instana APM","text":"
              • cloudbees.com: Automated Build and Deploy Feedback Using Jenkins and Instana \ud83c\udf1f
              "},{"location":"monitoring/#monitoring-etcd","title":"Monitoring Etcd","text":"
              • rancher.com: Monitor Etcd with Prometheus and Grafana using Rancher
              "},{"location":"monitoring/#zabbix","title":"Zabbix","text":"
              • openshift.com: Monitoring Infrastructure Openshift 4.x Using Zabbix Operator
              • openshift.com: How to Monitor Openshift 4.x with Zabbix using Prometheus - Part 2
              • cloud.redhat.com: Monitoring Infrastructure Openshift 4.x Using Zabbix Operator
              "},{"location":"monitoring/#victoriametrics-and-victorialogs","title":"VictoriaMetrics and VictoriaLogs","text":"
              • victoriametrics.com
              • victoriametrics.com: Q2 2024 Round Up: VictoriaMetrics & VictoriaLogs Updates VictoriaLogs is an open source database for logs that uses up to 30x less RAM and up to 15x disk space than Elasticsearch has just relased several new features to celebrate their one year anniversary
              "},{"location":"monitoring/#other-tools","title":"Other Tools","text":"
              • Netdata Netdata\u2019s distributed, real-time monitoring Agent collects thousands of metrics from systems, hardware, containers, and applications with zero configuration.
              • PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.
              • Huginn Create agents that monitor and act on your behalf. Your agents are standing by!
              • OS Query SQL powered operating system instrumentation, monitoring, and analytics.
              • Glances Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems. It is written in Python and uses libraries to grab information from your system. It is based on an open architecture where developers can add new plugins or exports modules.
              • TDengine is an open-sourced big data platform under GNU AGPL v3.0, designed and optimized for the Internet of Things (IoT), Connected Cars, Industrial IoT, and IT Infrastructure and Application Monitoring.
              • stackpulse.com: Automated Kubernetes Pod Restarting Analysis with StackPulse
              • Checkly is the API & E2E monitoring platform for the modern stack: programmable, flexible and loving JavaScript.
                • hashicorp.com: Monitoring as Code with Terraform Cloud and Checkly
              • network-king.net: IoT use in healthcare grows but has some pitfalls
              • Zebrium Monitoring detects problems, Zebrium finds root cause Resolve your software incidents 10x faster
              • louislam/uptime-kuma A fancy self-hosted monitoring tool. Uptime Kuma is an open source monitoring tool that can be used to monitor the service uptime along with few other stats like Ping Status, Avg. Response time, uptime etc.
              "},{"location":"monitoring/#other-awesome-lists","title":"Other Awesome Lists","text":"
              • Awesome APM
              "},{"location":"monitoring/#slides","title":"Slides","text":"Click to expand! Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat OpenShift from Martin Etmajer Monitoring Microservices at Scale on OpenShift (OpenShift Commons Briefing #52) from Martin Etmajer Dynatrace from Purnima Kurella"},{"location":"monitoring/#tweets","title":"Tweets","text":"Click to expand!

              The ecosystem of CI / CD tools that integrates in #OpenTelemetry traces is growing rapidly with already #Jenkins, #Maven, #Ansible, and the generic otel-clihttps://t.co/GeKUMd5zl4https://t.co/KrMIGZ3vkphttps://t.co/UiJ0Dk78Pdhttps://t.co/UdwnxXOUa4 pic.twitter.com/MsYViY6jwf

              \u2014 Cyrille Le Clerc (@cyrilleleclerc) August 24, 2021

              Distributed tracing is like IPv6. The entire premise reveals itself when critical usage is achieved. Hence, there are few organizations that has resources to do the hard work of retrofitting it into their existing systems. For \u201cgreen field\u201d companies, it\u2019s different.

              \u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) September 6, 2021

              One of the biggest frictions of the container ecosystem to me is the fact that I still have to deal with the node. Either directly or indirectly, managed or unmanaged, visible to me or not. And it sucks.

              \u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) September 9, 2021

              We want a stack debuggable all the way down to the bare metal and we want a stack that encapsulates all the complexity. We don't know what we want and all compute ended up being leaky abstractions.

              \u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) September 9, 2021

              As someone who is working on monitoring and performance, my job is about leaking into abstractions. Whatever abstraction layer I am targeting, I often engage with all to cover everything down to bare metal.

              \u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) September 17, 2021

              If your observability strategy only relies on your service mesh, you are in the early stages of putting together a strategy. And you must have a very reliable service mesh.

              \u2014 Jaana Dogan \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) September 30, 2021

              This. I work with tens of companies & they sometimes want to hire me to \"fix their observability\". You can't throw some tools or a single person to this problem. Observability is like security, it's a vertical. You have to embed it to your eng culture. https://t.co/poFsLhsxq9

              \u2014 Jaana Dogan at KubeCon \u30e4\u30ca \u30c9\u30ac\u30f3 (@rakyll) October 13, 2021

              Does anyone want to try out the #k8s #slack bot? It helps with browsing clusters directly from Slack and notifies you about important changes to your clusters. Your feedback would be super helpful! Please DM for details. pic.twitter.com/SpRFz2wgtZ

              \u2014 Kubevious (@kubevious) December 15, 2021
              • OpenTelemetry (OTel) vs Application Performance Monitoring (APM) \ud83c\udf1f - Este art\u00edculo t\u00e9cnico ofrece una comparaci\u00f3n detallada entre OpenTelemetry (OTel) y las soluciones tradicionales de Application Performance Monitoring (APM).
              • OOMKilled in Kubernetes: Understanding and Preventing Hidden Memory Leaks - (Related to kubernetes-troubleshooting topic)
              "},{"location":"networking/","title":"Networking","text":"
              1. Introduction
              2. CIDR subnets
                1. IPAM Tools. NetBox IPAM
              3. HTTP Protocols
                1. HTTP Status Codes
                2. HTTP/2
                3. HTTP/3
                4. HTTP Structured Fields
              4. Container Networking
              5. Azure
              6. Load Balancing
              7. DNS
              8. Images
              9. Tweets
              "},{"location":"networking/#introduction","title":"Introduction","text":"
              • networkwalks.com: TCP/IP Model
              • devopscube.com: IP Address Tutorial For Beginners [IPV4 and IPV6 Protocols]
              • medium.com/javarevisited: 5 Best HTTPS, SSL and TLS Courses for Beginners in 2022 These are the best online courses to learn about HTTPS, SSL, and TLS for programmers and developers in 2022
              • blog.coderco.io: TCP Fundamentals for Software & DevOps Engineers: Building a Strong Foundation in Networking
              "},{"location":"networking/#cidr-subnets","title":"CIDR subnets","text":"
              • cidr.xyz \ud83c\udf1f An interactive IP address and CIDR range visualizer
              • magic-cookie.co.uk/iplist.html Convert CIDR notation to a range of IP addresses
              • https://en.wikipedia.org/wiki/Classful_network
              • gist.github.com: chadmcrowell/cidr.sh \ud83c\udf1f
              • opensource.com: A Linux networking guide to CIDR notation and configuration - sipcalc \ud83c\udf1f
              • pbxbook.com: CIDR Cheat Sheet
              • aelius.com: subnet sheet
              • networkproguide.com: CIDR Subnet Mask Cheat Sheet
              • wisc.edu: CIDR Conversion Table
              • dzone: What Is CIDR (Classless Inter-Domain Routing)
              • cyberciti.biz: Linux: IP Subnet (CIDR) Calculator That Will Help You With Network Settings
              • cyberciti.biz: Linux Calculating Subnets with ipcalc and sipcalc Utilities
              • tecmint.com: How to Calculate IP Subnet Address with ipcalc Tool
              • awesomeopensource.com: The Top 110 Cidr Open Source Projects on Github \ud83c\udf1f
              • matt-rickard.com: How to Calculate a CIDR
              • build5nines.com: IPv4 Address CIDR Range Reference and Calculator
              "},{"location":"networking/#ipam-tools-netbox-ipam","title":"IPAM Tools. NetBox IPAM","text":"
              • github.com/netbox-community/netbox \ud83c\udf1f
              • netboxlabs.com: An In-Depth Guide to NetBox for IPAM
              • youtube: NetBox Zero To Hero
              • https://hub.docker.com/r/netboxcommunity/netbox
              • docs.ansible.com: Netbox Ansible Modules \ud83c\udf1f
              "},{"location":"networking/#http-protocols","title":"HTTP Protocols","text":"
              • wizardzines.com: Request Headers
              • wizardzines.com: Response Headers
              "},{"location":"networking/#http-status-codes","title":"HTTP Status Codes","text":"
              • wikipedia: List of HTTP status codes
              • slideshare: Http Status Code Errors in SEO
              • http.cat \ud83c\udf1f
              "},{"location":"networking/#http2","title":"HTTP/2","text":"
              • Wikipedia: HTTP/2
              • SPDY & HTTP 2 with Akamai CTO Guy Podjarny
                • cURL mantainer: http2 explained \ud83c\udf1f
                • cURL mantainer: curl and HTTP/2 by default
                • cURL mantainer: A 2015 retrosprective
                • http2.github.io HTTP/2 \ud83c\udf1f
                • http2.github.io HTTP/2 Frequently Asked Questions \ud83c\udf1f
                • HTTP/2 resources
                • A Simple Performance Comparison of HTTPS, SPDY and HTTP/2 \ud83c\udf1f
                • blog.cloudflare.com - Tools for debugging, testing and using HTTP/2
                • blog.cloudflare.com - HTTP/2 For Web Developers
              • HTTP/2 With JBoss EAP 7 - Tech Preview
              • simple-talk.com: Script Loading between HTTP/1.1 and HTTP/2
              • 5 Tips to Boost the Performance of Your Apache Web Server
              "},{"location":"networking/#http3","title":"HTTP/3","text":"
              • Wikipedia: HTTP/3
              • http3-explained.haxx.se: HTTP/3 explained \ud83c\udf1f
              • alexandrehtrb.github.io: HTTP/2 and HTTP/3 explained
              "},{"location":"networking/#http-structured-fields","title":"HTTP Structured Fields","text":"
              • Improving HTTP with structured header fields \ud83c\udf1f
              • http-sfv: HTTP Structured Field Values in Python
              "},{"location":"networking/#container-networking","title":"Container Networking","text":"
              • Private Link Reality Bites: Service Endpoints vs Private Link - (Related to kubernetes-networking topic)
              "},{"location":"networking/#azure","title":"Azure","text":"
              • Which Azure Network is Cheaper? - (Related to azure topic)
              • Manage Azure IPAM with Terraform - (Related to azure topic)
              • Deploying Virtual Networks Across Tenants Using Azure Virtual Network Manager - (Related to azure topic)
              • Introducing Subnet Peering in Azure - (Related to azure topic)
              • Reduce Latency with Azure Proximity Placement Groups - (Related to azure topic)
              • Building a DDoS Response Plan with Azure DDoS Protection - (Related to azure topic)
              • Azure ExpressRoute Resiliency: Best Practices for Production-Critical Workloads - (Related to aws-networking topic)
              • Application Network Security in Azure Subnets, Endpoints, DNS, NSGs with Terraform Code - (Related to azure topic)
              • Azure Products by Region Table - (Related to azure topic)
              • Hub-Spoke Network Topology in Azure - Azure Architecture Center - (Related to azure topic)
              • Azure Network Security Perimeter Concepts - (Related to azure topic)
              • A Guide to Azure Data Transfer Pricing - (Related to azure topic)

              • iximiuz.com: Container Networking Is Simple! \ud83c\udf1f

                • How to virtualize network resources to make containers think each of them has a dedicated network stack?
                • How to reach the outside world (e.g. the Internet) from inside the container?
              "},{"location":"networking/#load-balancing","title":"Load Balancing","text":"
              • NFTables mode for kube-proxy in Kubernetes - (Related to kubernetes-networking topic)

              • harshityadav95.medium.com: Load Balancing Layer 4 vs Layer 7

              "},{"location":"networking/#dns","title":"DNS","text":"
              • media.pearsoncmg.com: Recursive/Iterative Queries in DNS In Chapter 2 of the text the authors give examples of recursive and iterative DNS queries. This DNS interactive animation animates additional combinations of iterative and recursive queries among four name servers.
              "},{"location":"networking/#images","title":"Images","text":"Click to expand!"},{"location":"networking/#tweets","title":"Tweets","text":"Click to expand!

              List of HTTP Status Codes Cheat Sheet: pic.twitter.com/1m8gci63Vs

              \u2014 Java Guides (@GuidesJava) December 26, 2022

              IPv4 vs IPv6 pic.twitter.com/mZnHL3E8Zu

              \u2014 LetsDefend (@LetsDefendIO) February 24, 2023

              /1 Which HTTP status codes are most common?The response codes for HTTP are divided into five categories:Informational (100-199)Success (200-299)Redirection (300-399)Client Error (400-499)Server Error (500-599) pic.twitter.com/39I34KqQoU

              \u2014 Alex Xu (@alexxubyte) March 22, 2023

              "},{"location":"newsfeeds/","title":"Forums and Communities","text":"
              1. Subreddits
              2. Forums
              3. Newsfeeds
              4. Stack Overflow Collectives
              "},{"location":"newsfeeds/#subreddits","title":"Subreddits","text":"
              • reddit.com/r/devops
                • Internal Developer Platforms - what toolchain would you use for Maven + NPM + K8 projects?
              • reddit.com/r/redhat
              • reddit.com/r/openshift
              • reddit.com/r/kubernetes
              • reddit.com/r/jenkinsci
              • reddit.com/r/maven
              • reddit.com/r/gradle
              • reddit.com/r/azuredevops
              • reddit.com/r/QualityAssurance
              • reddit.com/r/jmeter
              • reddit.com/r/aws AWS Support now officially on Reddit (Account & Billing questions)
              • reddit.com/r/AZURE
              • reddit.com/r/googlecloud
              • reddit.com/r/digitalocean Official Digital Ocean subreddit
              • reddit.com/r/digital_ocean An unofficial subreddit created by Reddit users who happen to be DO users.
              • reddit.com/r/cloudcomputing
              • reddit.com/r/haproxy
              • reddit.com/r/Traefik
              • reddit.com/r/istio
              • reddit.com/r/Terraform
              • reddit.com/r/ansible
              • reddit.com/r/postgres
              • reddit.com/r/git
              • reddit.com/r/java
              • reddit.com/r/python
              • reddit.com/r/bashonubuntuonwindows
              "},{"location":"newsfeeds/#forums","title":"Forums","text":"
              • AWS Forums
              "},{"location":"newsfeeds/#newsfeeds","title":"Newsfeeds","text":"
              • crunchbase.com
              • feedly.com
              • nativecloud.dev \ud83c\udf1f
              • Kube Events
              "},{"location":"newsfeeds/#stack-overflow-collectives","title":"Stack Overflow Collectives","text":"
              • Stack Overflow Collectives \ud83c\udf1f Communities for your favorite technologies
                • Go Collective
                • GitLab Collective
                • Google Cloud Collective
                • etc
              "},{"location":"newsql/","title":"NewSQL","text":"
              • medium.com: A chance for NewSQL databases
              • muratbuffalo.blogspot.com: What\u2019s Really New with NewSQL?
              "},{"location":"noops/","title":"NoOps aka Serverless","text":"
              • Dzone: What Is NoOps? In an ideal world, everything that you want to be automated can be automated. But is this true, and is it even good?
              • DevOps Is Dead, Long Live NoOps Learn why DevOps is not enough
              • zdnet: There\u2019s no ops like NoOps: the next evolution of DevOps Code moving from frontal-lobe-to-front-office in a snap? Let\u2019s consider the case for the complete automation of software delivery and operations.
              • devops.com: Is NoOps the Future of Cloud Networking?
              • Serverless Computing: Moving from DevOps to NoOps
              • 7 arguments against NoOps
              • What is NoOps? The quest for fully automated IT operations
              • devops.com: Up Your DevOps Game: It\u2019s Time for NoOps
              "},{"location":"nosql/","title":"NoSQL Databases and NewSQL","text":"
              1. NoSQL
                1. Couchbase
                2. MongoDB Tools and MongoDB as a Service
                3. Redis
                4. Alternatives
                5. Apache Drill. Schema free SQL query on everything engines
              2. NewSQL
              3. Videos
              4. Tweets
              "},{"location":"nosql/#nosql","title":"NoSQL","text":"
              • NoSQL - Wikipedia
              • Youtube: Introduction to NoSQL by Martin Fowler
              • NoSQL vs. SQL: Choosing a Data Management Solution
              • NoSQL Guide, by Martin Fowler
              • thoughtworks.com: NoSQL Databases, an overview
              • Diferencias entre SQL y NoSQL \u00bfSabes cu\u00e1l usar?
              • zdnet.com: SQL, NoSQL? What\u2019s the difference these days?
              • NoSQL Databases: 4 Game-Changing Use Cases
              • How to Evolve from RDBMS to NoSQL + SQL \ud83c\udf1f
              • NoSQL Databases: a Survey and Decision Guidance
              • dev.to: NoSQL Database Design for E-Commerce Apps in 2021
              • stackoverflow.blog: Have the tables turned on NoSQL? NoSQL was the next big thing in system architecture in 2011, but overall interest in it has plateaued recently. What is NoSQL, what does it have to do with modern development, and is it worth implementing in your project?
              • vishnu.hashnode.dev: 4 Types Of NoSQL Databases Evaluate which type of NoSQL database best fits your use case
              • medium: When to Use MongoDB Rather than MySQL
              • sysadminxpert.com: Demystifying NoSQL Databases \ud83c\udf1f
              • intellipaat.com: NoSQL vs. SQL - Difference between SQL and NoSQL One has been predominantly used by firms for storing structured data in various forms, while another lets the companies store unstructured and semi-structured data also. Which among them is better and more efficient? Let\u2019s analyze in this blog!
              • medium.com/@suvankar.dey80: Time Series SQL vs No SQL
              • thenewstack.io: Why Choose a NoSQL Database? There Are Many Great Reasons With JSON data models and multimodel access, a NoSQL database can meet massive performance demands and still evolve rapidly.
              • thenewstack.io: How to Choose and Model Time Series Databases
              "},{"location":"nosql/#couchbase","title":"Couchbase","text":"
              • wikipedia: Couchbase Server
              • couchbase.com
              • blog.couchbase.com: How to Build Observability Dashboards with Prometheus, Grafana & Couchbase
              • blog.couchbase.com podcast: NoSQL in the Perspective of Industry Leaders
              • Query JSON Using SQL With Couchbase Query Workbench Would you like to query a JSON document database using SQL-like syntax? Couchbase has N1QL for you.
              "},{"location":"nosql/#mongodb-tools-and-mongodb-as-a-service","title":"MongoDB Tools and MongoDB as a Service","text":"
              • MongoDB Tools - Admin GUIs, Monitoring and Other Good Stuff
              • blog.mongodirector.com: Which is the best MongoDB GUI?
              • MongoLab: Fully managed MongoDB-as-a-Service
              • Orchestrate: DBaaS|NoSQL with One REST API
              • mongodirector: MongoDB Hosting
              • MongoDB security tutorial
              • Avoiding pitfalls running Mongo 3.2 in Docker on OSX
              • MongoDB Tutorial \u2013 A Scalable NoSQL DB
              • MongoDB Cloud Manager
              • 3T MongoChef \u2013 Your New MongoDB GUI
                • Connecting to your MongoDB at MongoLab
              • MongoDB and Kubernetes \ud83c\udf1f
              • betterprogramming.pub: MongoDB Schema Validation Rules How to apply schema validation rules in a collection.
              • hashinteractive.com: MONGODUMP AND MONGORESTORE VS MONGOEXPORT AND MONGOIMPORT
              • adamtheautomator.com: How To Perform a MongoDB Kubernetes Installation \ud83c\udf1f In this tutorial, you\u2019ll learn how to deploy MongoDB to Kubernetes using the MongoDB Operator.
              • code.likeagirl.io: Docker: Setup Simple Application with MongoDB for Data Storage
              • thenewstack.io: Deploy MongoDB in a Container, Access It Outside the Cluster How to a deploy a containerized version of MongoDB and connect to it from a machine or service outside of the hosting server.
              • github.com/oslabs-beta: Odin\u2019s Eye Odin\u2019s Eye is a monitoring tool for Kubernetes and containerized MongoDB
              "},{"location":"nosql/#redis","title":"Redis","text":"
              • Redis
              "},{"location":"nosql/#alternatives","title":"Alternatives","text":"
              • Couchdb.apache.org
              • Cassandra.apache.org
                • solo.io: Step by Step: Datastax Cassandra with Istio and SNI routing Connecting applications running outside of the Kubernetes cluster to the Cassandra database running inside the cluster.
                • engineeringblog.yelp.com: Orchestrating Cassandra on Kubernetes with Operators
                • datastax.com: Apache Cassandra 4.0 is Now Delivered Via K8ssandra on Amazon EKS
                • foojay.io: K8ssandra Performance Benchmarks on Cloud Managed Kubernetes
                • thenewstack.io: How to Run a Cassandra Operation in Docker
              • HBase.apache.org
              • Hive.apache.org
              • rethinkdb.com
              "},{"location":"nosql/#apache-drill-schema-free-sql-query-on-everything-engines","title":"Apache Drill. Schema free SQL query on everything engines","text":"
              • Apache Drill
              • dzone: SQL Syntax for Apache Drill
              "},{"location":"nosql/#newsql","title":"NewSQL","text":"
              • NuoDB, elastically scalable database. A revolution compared to traditional monolithic 1-box databases. NuoDB is ACID,SQL, distributed/scalable and support flexible schemas
              • Traditional database replication drawbacks
              • medium.com: A chance for NewSQL databases
              "},{"location":"nosql/#videos","title":"Videos","text":"Click to expand!"},{"location":"nosql/#tweets","title":"Tweets","text":"Click to expand!

              Very interesting decision matrix for multicloud on data.. #cloud #sql pic.twitter.com/aAWJ9uzK65

              \u2014 Satyen Kumar (@SatyenKumar) March 4, 2022

              "},{"location":"oauth/","title":"OAuth2","text":"
              1. Introduction
              2. OpenID Connect
              3. Tweets
              "},{"location":"oauth/#introduction","title":"Introduction","text":"
              • rapidapi.com:What is OAuth2.0?
              • curity.io: OAuth 2.0 Overview
              • freecodecamp.org: How to Implement an OAuth2 Resource Server with Spring Security
              "},{"location":"oauth/#openid-connect","title":"OpenID Connect","text":"
              • curity.io: OpenID Connect Overview
              "},{"location":"oauth/#tweets","title":"Tweets","text":"Click to expand!

              Let\u2019s learn about OAuthThread \ud83e\uddf5\ud83d\udc47

              \u2014 Rapid (@Rapid_API) March 28, 2023"},{"location":"ocp3/","title":"OCP 3","text":"
              1. OpenShift Container Platform 3 (OCP 3)
              2. OpenShift Cheat Sheets
              3. Helm Charts and OpenShift 3
              4. OpenShift GitOps
              5. Debugging apps
              6. Capacity Management
              7. OpenShift High Availability
              8. Troubleshooting Java applications on Openshift
              9. Red Hat Communities of Practice. Uncontained.io Project
              10. Identity Management
              11. Quota Management
              12. Source-to-Image (S2I) Image Building Tools
              13. Videos
              "},{"location":"ocp3/#openshift-container-platform-3-ocp-3","title":"OpenShift Container Platform 3 (OCP 3)","text":"
              • claydesk.com: Google Cloud App Engine Vs Red Hat OpenShift
              • certdepot.net: OpenShift Free available resources \ud83c\udf1f
              • blog.openshift.com: Using OpenShift 3 on your local environment \ud83c\udf1f
              • developers.redhat.com: Securing .NET Core on OpenShift using HTTPS
              • blog.openshift.com - Kubernetes: A Pod\u2019s Life \ud83c\udf1f
              • Container-native virtualization allows to run and manage virtual machine workloads alongside container workloads
              • developers.redhat.com: Handling Angular environments in continuous delivery with Red Hat OpenShift
              • developers.redhat.com: Customizing OpenShift project creation \ud83c\udf1f
              • developers.redhat.com: Testing memory-based horizontal pod autoscaling on OpenShift \ud83c\udf1f
              • How to Run HA Elasticsearch (ELK) on Red Hat OpenShift
              "},{"location":"ocp3/#openshift-cheat-sheets","title":"OpenShift Cheat Sheets","text":"
              • OpenShift Cheat Sheets
              "},{"location":"ocp3/#helm-charts-and-openshift-3","title":"Helm Charts and OpenShift 3","text":"
              • blog.openshift.com: From Templates to Openshift Helm Charts
              • Templating on OpenShift: should I use Helm templates or OpenShift templates? \ud83c\udf1f
              "},{"location":"ocp3/#openshift-gitops","title":"OpenShift GitOps","text":"
              • blog.openshift.com: Introduction to GitOps with OpenShift
              • learn.openshift.com: GitOps introduction
              • blog.openshift.com: is it too late to integrate GitOps?
              • blog.openshift.com: OpenShift Authentication Integration with ArgoCD
              • openshift.com: From Code to Production with GitOps, Tekton and ArgoCD \ud83c\udf1f
              "},{"location":"ocp3/#debugging-apps","title":"Debugging apps","text":"
              • developers.redhat.com: Installing debugging tools into a Red Hat OpenShift container with oc-inject
              • developers.redhat.com: Debugging applications within Red Hat OpenShift containers
              "},{"location":"ocp3/#capacity-management","title":"Capacity Management","text":"
              • blog.openshift.com/full-cluster-capacity-management-monitoring-openshift
              • blog.openshift.com/full-cluster-part-2-protecting-nodes
              • full-cluster-part-3-capacity-management
              • blog.openshift.comhow-full-is-my-cluster-part-4-right-sizing-pods-with-vertical-pod-autoscaler
              • blog.openshift.com/how-full-is-my-cluster-part-5-a-capacity-management-dashboard
              "},{"location":"ocp3/#openshift-high-availability","title":"OpenShift High Availability","text":"
              • blog.openshift.com/tag/multi-datacenter
              • blog.openshift.com: How to survive an outage and live to tell about it!
              • blog.openshift.com: Stateful Workloads and the Two Data Center Conundrum
              • OpenShift 3.11 Multi-cluster Federation
              • Multi-cluster Federation in OpenShift 4 is called KubeFed
              • KubeFed Operator
              "},{"location":"ocp3/#troubleshooting-java-applications-on-openshift","title":"Troubleshooting Java applications on Openshift","text":"
              • developers.redhat.com: Troubleshooting java applications on openshift
              • dzone: 8 Options for Capturing Thread Dumps
              "},{"location":"ocp3/#red-hat-communities-of-practice-uncontainedio-project","title":"Red Hat Communities of Practice. Uncontained.io Project","text":"
              • Red Hat Communities of Practice
                • OpenShift Toolkit \ud83c\udf1f
                • OpenShift Playbooks
              • Uncontained.io began as a project in the Red Hat Container Community of Practice to share knowledge about OpenShift adoption with members of Red Hat\u2019s Consulting organization.
                • uncontained.io/articles/openshift-ha-installation
                • uncontained.io/articles/openshift-and-the-org
                • v1.uncontained.io: Red Hat Consulting DevOps And OpenShift Playbooks \ud83c\udf1f Red Hat Consulting DevOps and OpenShift Playbooks are guides for implementing DevOps technical practices and container automation approaches using Red Hat commercial open source products, including OpenShift Enterprise 3. They are intended to reflect real-world experience delivering solutions through these processes and technologies.
              "},{"location":"ocp3/#identity-management","title":"Identity Management","text":"
              • GitHub redhat-cop: Ansible Role \ud83c\udf1f
              "},{"location":"ocp3/#quota-management","title":"Quota Management","text":"
              • GitHub redhat-cop: OpenShift Toolkit - Quota Management \ud83c\udf1f
              • OpenShift 4 Resource Management
              • techbeatly.com: How to create, increase or decrease project quota
              • Quotas setting per project
              • Quotas setting across multiple projects
              "},{"location":"ocp3/#source-to-image-s2i-image-building-tools","title":"Source-to-Image (S2I) Image Building Tools","text":"
              • Source-to-Image (S2I) Build
                • Source-to-Image (S2I) is a tool for building reproducible, Docker-formatted container images. It produces ready-to-run images by injecting application source into a container image and assembling a new image. The new image incorporates the base image (the builder) and built source and is ready to use with the docker run command. S2I supports incremental builds, which re-use previously downloaded dependencies, previously built artifacts, etc.
              "},{"location":"ocp3/#videos","title":"Videos","text":"Click to expand!"},{"location":"ocp4/","title":"OCP 4","text":"
              1. OpenShift Container Platform 4 (OCP 4)
                1. OpenShift Guide
                2. Single Node OpenShift
                3. OpenShift sizing and subscription guide
                4. OpenShift Platform Plus
                5. Best Practices
                6. Setting up OCP4 on AWS
                7. ROSA Red Hat OpenShift Service on AWS
                8. CI/CD in OpenShift
              2. Downloads
              3. OpenShift End-to-End. Day 0, Day 1 \\& Day 2
              4. OCP 4 Overview
                1. Three New Functionalities
                2. New Technical Components
                3. Installation and Cluster Autoscaler
                  1. IPI and UPI
                4. Cluster Autoscaler Operator
                5. Operators
                  1. Introduction
                  2. Catalog
                  3. Certified Opeators, OLM Operators and Red Hat Operators
                  4. Deploy and bind enterprise-grade microservices with Kubernetes Operators
                  5. OpenShift Container Storage Operator (OCS)
                    1. OCS 3 (OpenShift 3)
                    2. OCS 4 (OpenShift 4)
                  6. Cluster Network Operator (CNO) \\& Routers
                  7. ServiceMesh Operator
                  8. Serverless Operator (Knative)
                6. Monitoring and Observability
                  1. Grafana
                  2. Prometheus
                  3. Alerts and Silences
                  4. Cluster Logging (EFK)
                7. Build Images. Next-Generation Container Image Building Tools
                8. OpenShift Registry and Quay Registry
                9. Local Development Environment
              5. GitOps Catalog
              6. OpenShift on Azure
              7. OpenShift Youtube
              8. OpenShift 4 Training
              9. OpenShift 4 Roadmap
              10. Kubevirt Virtual Machine Management on Kubernetes
              11. Networking and Network Policy in OCP4. SDN/CNI plug-ins
                1. Multiple Networks with SDN/CNI plug-ins. Usage scenarios for an additional network
                2. Istio CNI plug-in
                3. Calico CNI Plug-in
                4. Third Party Network Operators with OpenShift
                5. Ingress Controllers in OpenShift using IPI
              12. Storage in OCP 4. OpenShift Container Storage (OCS)
              13. Red Hat Advanced Cluster Management for Kubernetes
              14. OpenShift Kubernetes Engine (OKE)
              15. Red Hat CodeReady Containers. OpenShift 4 on your laptop
              16. OpenShift Hive: Cluster-as-a-Service. Easily provision new PaaS environments for developers
              17. OpenShift 4 Master API Protection in Public Cloud
              18. Backup and Migrate to OpenShift 4
              19. OKD4. OpenShift 4 without enterprise-level support
              20. OpenShift Serverless with Knative
              21. Helm Charts and OpenShift 4
              22. Red Hat Marketplace
              23. Kubestone. Benchmarking Operator for K8s and OpenShift
              24. OpenShift Cost Management
              25. Operators in OCP 4
              26. Quay Container Registry
              27. Application Migration Toolkit
              28. Developer Sandbox
              29. OpenShift Topology View
              30. OpenBuilt Platform for the Construction Industry
              31. OpenShift AI
              32. Scripts
              33. Slides
              34. Tweets
              35. Videos
              "},{"location":"ocp4/#openshift-container-platform-4-ocp-4","title":"OpenShift Container Platform 4 (OCP 4)","text":"
              • OCP4 Getting Started Showroom \ud83c\udf1f - 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

              • nextplatform.com: red hat flexes CoreOS muscle in openshift kubernetes platform
              • OpenShift 4 documentation \ud83c\udf1f
              • blog.openshift.com: OpenShift 4 Install Experience
              • operatorhub.io OperatorHub.io is a new home for the Kubernetes community to share Operators. Find an existing Operator or list your own today.
              • cloudowski.com: Honest review of OpenShift 4 \ud83c\udf1f
              • Enabling OpenShift 4 Clusters to Stop and Resume Cluster VMs
              • blog.openshift.com: Simplifying OpenShift Case Information Gathering Workflow: Must-Gather Operator (In the context of Red Hat OpenShift 4.x and Kubernetes, it is considered a bad practice to ssh into a node and perform debugging actions) \ud83c\udf1f
              • blog.openshift.com: Configure the OpenShift Image Registry backed by OpenShift Container Storage
              • blog.openshift.com: OpenShift Scale: Running 500 Pods Per Node \ud83c\udf1f
              • blog.openshift.com: Enterprise Kubernetes with OpenShift (Part one) \ud83c\udf1f
              • devclass.com: OpenShift 4.4 goes all out on mixed workloads, puts observability at devs\u2019 fingertips \ud83c\udf1f
              • OpenShift 4.5: Node Improvements
              • Fully Automated OpenShift Deployments With VMware vSphere
              • OpenShift 4 \u201cunder-the-hood\u201d \ud83c\udf1f
              • thenewstack.io: Red Hat Launches an OpenShift-Based Marketplace to Aid Multicloud Portability \ud83c\udf1f
              • openshift.com: OpenShift UPI using static IPs
              • developers.redhat.com: OpenShift for Kubernetes developers: Getting started \ud83c\udf1f
              • developers.redhat.com: Command-line cluster management with Red Hat OpenShift\u2019s new web terminal (tech preview)
              • Improved tooling and best practices to help you migrate to OpenShift 4
              • openshift.com: OpenShift Architectures for the Edge With OpenShift 4.6
              • dzone refcard: Getting Started With OpenShift \ud83c\udf1f
              • openshift.com: Nested OpenShift using OpenShift Virtualization
              • developers.redhat.com: Deploying Kubernetes Operators with Operator Lifecycle Manager bundles
              • openshift.com: 8 Answers to 7 OpenShift Questions \ud83c\udf1f
              • openshift.com: Red Hat OpenShift 4.7 Is Now Available
                • Kubernetes 1.20
                • Updated OpenShift Virtualization
                • Virtualization Migrations
                • Windows Containers on vSphere
                • Simplified Bare Metal installs
                • Horizontal Pod Autoscaler (CPU & Memory)
                • New RHACM integrations
                • and much, much more!!
              • finance.yahoo.com: IBM\u2019s Red Hat OpenShift Platform to be Leveraged by Siemens
              • openshift.com: How to Offer Service Running on OpenShift on AWS to Other AWS VPCs, Privately \ud83c\udf1f
              • developers.redhat.com: A guide to Red Hat OpenShift 4.5 installer-provisioned infrastructure on vSphere \ud83c\udf1f
              • openshift.com: OpenShift Security Best Practices for Kubernetes Cluster Design \ud83c\udf1f
              • fiercetelecom.com: Red Hat bundles security, management into OpenShift Plus IBM subsidiary Red Hat put its recently acquired StackRox assets to work, rolling out a new version of its OpenShift cloud platform that incorporates security, cluster management and registry capabilities in a single package.
              • openshift.com: Descheduler GA in OpenShift 4.7 \ud83c\udf1f The Descheduler is an upstream Kubernetes subproject owned by SIG-Scheduling. Its purpose is to serve as a complement to the stock kube-scheduler, which assigns new pods to nodes based on the myriad criteria and algorithms it provides.
              • openshift.com: How to Configure LDAP Sync With CronJobs in OpenShift \ud83c\udf1f
              • schabell.org: How to setup the OpenShift Container Platform 4.7 on your local machine
              • developers.redhat.com: Containerize .NET for Red Hat OpenShift: Use a Windows VM like a container
              • openshift.com: A Brief Introduction to Red Hat Advanced Cluster Security for Kubernetes
              • openshift.com: Customizing Virtual Machine Templates in OpenShift
              • thenewstack.io: Red Hat OpenShift 4.8 Adds Serverless Functions, Pipelines-As-Code
              • itprotoday.com: With OpenShift 4.8, Red Hat Seeks to \u2018Expand Workload Possibilities\u2019 With OpenShift 4.8, Red Hat seeks to simplify the developer experience and to expand use cases and workload possibilities.
              • openshift.com: Strategies for Moving .NET Workloads to OpenShift Container Platform
              • openshift.com: Ask an OpenShift Admin Office Hour - Authentication and Authorization
              • openshift.com: Workload Support for Red Hat OpenShift Matures Across the Industry
              • blog.byte.builders: Manage MongoDB in Openshift Using KubeDB
              • developers.redhat.com: Troubleshooting application performance with Red Hat OpenShift metrics, Part 1: Requirements
              • openshift.com: OCP Disaster Recovery Part 3: Recovering an OpenShift 4 IPI cluster With the Loss of Two Master Nodes \ud83c\udf1f
              • openshift.com: OpenShift on ARM Developer Preview Now Available for AWS
              • cloud.redhat.com: Changes coming for OpenShift.com and Cloud.Redhat.com We are moving! On July 29th, we will move OpenShift.com content into the RedHat.com domain. The console applications currently at Cloud.RedHat.com will move to a new URL at console.redhat.com. All current URLs and bookmarks will redirect to their new destinations. This change will make RedHat.com a one-stop destination for all our hybrid cloud and simplify your experience.
              • developers.redhat.com: Troubleshooting application performance with Red Hat OpenShift metrics, Part 4: Gathering performance metrics
              • cloud.redhat.com: Red Hat OpenShift 4.8 Is Now Generally Available
              • zdnet.com: Qualys partners with Red Hat to improve Linux and Kubernetes security Security company Qualys is partnering with Red Hat to bring built-in Cloud Agent security to Red Hat Enterprise Linux CoreOS and Red Hat OpenShift.
              • cloud.redhat.com: Getting Started in OpenShift \ud83c\udf1f
              • cloud.redhat.com: OpenShift Sandboxed Containers 101 \ud83c\udf1f
              • thenewstack.io: IBM, Red Hat Bring Load-Aware Resource Management to Kubernetes
                • kubernetes-sigs: Trimaran: Load-aware scheduling plugins \ud83c\udf1f Trimaran is a collection of load-aware scheduler plugins
              • developers.redhat.com: Composable software catalogs on Kubernetes: An easier way to update containerized applications
              • cloud.redhat.com: Announcing Bring Your Own Host Support for Windows nodes to Red Hat OpenShift
              • cloud.redhat.com: OpenShift Sandboxed Containers Operator From Zero to Hero, the Hard Way. The Operator Framework and Its Usage
              • developers.redhat.com: Get started with OpenShift Service Registry
              • cloud.redhat.com: Red Hat OpenShift 4.9 Is Now Generally Available
              • redhat.com: Meet single node OpenShift: Our newest small OpenShift footprint for edge architectures
              • cloud.redhat.com: How to Build a Disconnected OpenShift Cluster With Mirror Registries on RHEL CoreOS Using Podman and Systemd
              • github.com/openshift/hypershift: HyperShift Hyperscale OpenShift - clusters with hosted control planes. HyperShift is a middleware for hosting OpenShift control planes at scale that solves for cost and time to provision, as well as portability cross cloud with strong separation of concerns between management and workloads. Clusters are fully compliant OpenShift Container Platform (OCP) clusters and are compatible with standard OCP and Kubernetes toolchains.
              • michaelkotelnikov.medium.com: Managing Network Security Lifecycles in Multi Cluster OpenShift Environments with OpenShift Platform Plus In this article, you will learn how the tools in the OpenShift Platform Plus bundle help an organization maintain and secure network traffic flows in multi cluster OpenShift environments.
              • medium.com/@shrishs: Application Backup and Restore using Openshift API for Data Protection(OADP)
              • dev.to: Deep Dive into AWS OIDC identity provider when installing OpenShift using manual authentication mode with STS
              • venturebeat.com: Red Hat gives an ARM up to OpenShift Kubernetes operations
              • redhat.com: Planning your migration from Red Hat OpenShift 3 to 4 With OpenShift 3 nearing its end of life, now is the time to start planning your migration to OpenShift 4. These three steps will ease the journey.
              • redhat.com: Red Hat OpenShift Platform Plus
              • blog.knell.it: Commands Kubernetes should adopt from Red Hat OpenShift Working with Kubernetes would become easier and more efficient with support for these handy OpenShift commands.
              • mkdev.me: How to upgrade Openshift 4.x \ud83c\udf1f
              "},{"location":"ocp4/#openshift-guide","title":"OpenShift Guide","text":"
              • mikeroyal/OpenShift-Guide: OpenShift Guide \ud83c\udf1f\ud83c\udf1f A guide for getting started with OpenShift including the Tools and Applications that will make you a better and more efficient engineer with OpenShift.
              "},{"location":"ocp4/#single-node-openshift","title":"Single Node OpenShift","text":"
              • redhat.com: Meet single node OpenShift: Our newest small OpenShift footprint for edge architectures
              "},{"location":"ocp4/#openshift-sizing-and-subscription-guide","title":"OpenShift sizing and subscription guide","text":"
              • redhat.com: OpenShift sizing and subscription guide for enterprise Kubernetes \ud83c\udf1f
              "},{"location":"ocp4/#openshift-platform-plus","title":"OpenShift Platform Plus","text":"
              • Red Hat OpenShift Platform Plus \ud83c\udf1f Build, deploy, run, manage, and secure intelligent applications at scale across the hybrid cloud.
              • thenewstack.io: Red Hat Offers a \u2018Complete Kubernetes Stack\u2019 with OpenShift Platform Plus \ud83c\udf1f
              "},{"location":"ocp4/#best-practices","title":"Best Practices","text":"
              • developers.redhat.com - Best practices: Using health checks in the OpenShift 4.5 web console \ud83c\udf1f 3 types of health checks offered in OpenShift 4.5 to improve application reliability and uptime
              • redhat-cop.github.io: Best practices for migrating from OpenShift Container Platform 3 to 4 \ud83c\udf1f This guide provides recommendations and best practices for migrating from OpenShift Container Platform 3.9+ to OpenShift 4.x with the Migration Tookit for Containers (MTC).
              • openshift.com: Applications Here, Applications There! - Part 3 - Application Migration Application Migration on Advanced Cluster Management
              • openshift-yolo OpenShift CronJob to check if updates are available, and if so, upgrade the cluster to the latest version.
              "},{"location":"ocp4/#setting-up-ocp4-on-aws","title":"Setting up OCP4 on AWS","text":"
              • AWS Account Set Up \ud83c\udf1f).
              • OpenShift 4 on AWS Quick Starts \ud83c\udf1f
              • openshift.com: Control Regional Access to Your Service on OpenShift Running on AWS
              • cloud.redhat.com: OpenShift Virtualization on Amazon Web Services Of the many selling points for OpenShift, one of the biggest is its ability to provide a common platform for workloads whether they are on premise or at one of the major cloud providers. With the availability of AWS bare metal instance types, Red Hat has announced that OpenShift 4.9 supports OpenShift Virtualization on AWS as a tech preview. Now virtual machines can be managed in much the same way in the cloud as on-premise.
              "},{"location":"ocp4/#rosa-red-hat-openshift-service-on-aws","title":"ROSA Red Hat OpenShift Service on AWS","text":"
              • redhat.com: Amazon and Red Hat Announce the General Availability of Red Hat OpenShift Service on AWS (ROSA)
              • amazon.com: Red Hat OpenShift Service on AWS Now GA
              • infoq.com: AWS Announces the General Availability of the Red Hat OpenShift Service on AWS
              • datacenterknowledge.com: Red Hat Brings Its Managed OpenShift Kubernetes Service to AWS
              • aws.amazon.com: Red Hat OpenShift Service on AWS: architecture and networking
              • openshift.com: Using VPC Peering to Connect an OpenShift Service on an AWS (ROSA) Cluster to an Amazon RDS MySQL Database in a Different VPC
              • blog.vizuri.com: Red Hat OpenShift Service on AWS (ROSA) Positions OpenShift for Mainstream Adoption
              • cloud.redhat.com: Scale your application containers on Red Hat OpenShift Service on AWS (ROSA) clusters using Amazon EFS storage
              • redhat.com: Red Hat OpenShift Service on AWS with hosted control planes now available Having the control plane hosted and managed in a ROSA service AWS account rather than the customer\u2019s individual account provides more effective and efficient use of resources.
              "},{"location":"ocp4/#cicd-in-openshift","title":"CI/CD in OpenShift","text":"
              • developers.redhat.com: Improving CI/CD in Red Hat OpenShift \ud83c\udf1f
              "},{"location":"ocp4/#downloads","title":"Downloads","text":"
              • https://mirror.openshift.com/pub/openshift-v4/
              "},{"location":"ocp4/#openshift-end-to-end-day-0-day-1-day-2","title":"OpenShift End-to-End. Day 0, Day 1 & Day 2","text":"
              • OpenShift End-to-End: Day 0 - Plan and Deploy
              • OpenShift End-to-End: Day 1 - Core Services
              • OpenShift End-to-End: Day 2 - Cluster Customization \ud83c\udf1f
                • Ask an OpenShift Admin Office Hour - Day 2 Operations, Part 1
                • Ask an OpenShift Admin Office Hour - Day 2 Operations, Part 2
              "},{"location":"ocp4/#ocp-4-overview","title":"OCP 4 Overview","text":"
              • Result of RedHat\u2019s (now IBM) acquisition of CoreOS -> RHCOS (Red Hat Enterprise Linux CoreOS)
              • Merge of two leading Kubernetes distributions, Tectonic and OpenShift:
                • CoreOS Tectonic:
                  • Operator Framework
                  • quay.io\u00a0container build and registry service
                  • Stable tiny Linux distribution with ignition bootstrap and transaction-based update engine.
                • OpenShift:
                  • Wide enterprise adoption
                  • Security
                  • Multi-tenancy features (self-service)
              • OpenShift 4 is built on top of Kubernetes 1.13+\u00a0
              • Release Notes
              "},{"location":"ocp4/#three-new-functionalities","title":"Three New Functionalities","text":"
              1. Self-Managing Platform
              2. Application Lifecycle Management (OLM):
                • OLM Operator:
                  • Responsible for deploying applications defined by ClusterServiceVersion (CSV) manifest.
                  • Not concerned with the creation of the required resources; users can choose to manually create these resources using the CLI, or users can choose to create these resources using the Catalog Operator.
                • Catalog Operator:
                  • Responsible for resolving and installing CSVs and the required resources they specify. It is also responsible for watching CatalogSources for updates to packages in channels and upgrading them (optionally automatically) to the latest available versions.
                  • A user that wishes to track a package in a channel creates a Subscription resource configuring the desired package, channel, and the CatalogSource from which to pull updates. When updates are found, an appropriate InstallPlan is written into the namespace on behalf of the user.
              3. Automated Infrastructure Management (Over-The-Air Updates)
              "},{"location":"ocp4/#new-technical-components","title":"New Technical Components","text":"
              • New Installer:
                • try.openshift.com
                • github.com/openshift/installer
              • Storage: Cloud integrated storage capability used by default via OCS Operator (Red Hat)
                • There are a number of persistent storage options available to you through the OperatorHub / Storage vendors that don\u2019t involve Red Hat, NFS or Gluster.
                • Kubernetes-native persistent storage technologies available (non-RedHat solutions):
                  • Rook-Ceph: Rook-Ceph storage Operator now on OperatorHub.io
                  • Robin Storage Operator: get.robin.io
              • Operators End-To-End!: responsible for reconciling the system to the desired state
                • Cluster configuration kept as API objects that ease its maintenance (\u201ceverything-as-code\u201d approach):
                  • Every component is configured with Custom Resources (CR) that are processed by operators.
                  • No more painful upgrades and synchronization among multiple nodes and no more configuration drift.
                • List of operators that configure cluster components (API objects):
                  • API server
                  • Nodes via Machine API
                  • Ingress
                  • Internal DNS
                  • Logging (EFK) and Monitoring (Prometheus)
                  • Sample applications
                  • Networking
                  • Internal Registry
                  • Oauth (and authentication in general)
                  • etc
              • At the Node Level:
                • RHEL CoreOS is the result of merging CoreOS Container Linux and RedHat Atomic host functionality and is currently the only supported OS to host OpenShift 4.
                • Node provisioning with\u00a0ignition, which came with CoreOS Container Linux
                • Atomic host updates with\u00a0rpm-ostree
                • CRI-O\u00a0as a container runtime
                • SELinux enabled by default
              • Machine API: Provisioning of nodes. Abstraction mechanism added (API objects to declaratively manage the cluster):
                • Based on Kubernetes Cluster API project Cluster API is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters.
                • Provides a new set of machine resources:
                  • Machine
                  • Machine Deployment
                  • MachineSet:
                    • distributes easily your nodes among different Availability Zones
                    • manages multiple node pools (e.g. pool for testing, pool for machine learning with GPU attached, etc)
              • Everything \u201cjust another pod\u201d
              "},{"location":"ocp4/#installation-and-cluster-autoscaler","title":"Installation and Cluster Autoscaler","text":"
              • New installer openshift-install tool, replacement for the old Ansible scripts.
              • 40 min (AWS). Terraform.
              • 2 installation patterns:
                1. Installer Provisioned Infrastructure (IPI)
                2. User Provisioned Infrastructure (UPI)
              • The\u00a0whole process can be done in one command and requires minimal infrastructure knowledge (IPI): openshift-install create cluster

              "},{"location":"ocp4/#ipi-and-upi","title":"IPI and UPI","text":"
              • 2 installation patterns:
                1. Installer Provisioned Infrastructure (IPI): On supported platforms, the installer is capable of provisioning the underlying infrastructure for the cluster. The installer programmatically creates all portions of the networking, machines, and operating systems required to support the cluster. Think of it as best-practice reference architecture implemented in code. \u00a0It is recommended that most users make use of this functionality to avoid having to provision their own infrastructure. \u00a0The installer will create and destroy the infrastructure components it needs to be successful over the life of the cluster.
                2. User Provisioned Infrastructure (UPI): For other platforms or in scenarios where installer provisioned infrastructure would be incompatible, the installer can stop short of creating the infrastructure, and allow the platform administrator to provision their own using the cluster assets generated by the install tool. Once the infrastructure has been created, OpenShift 4 is installed, maintaining its ability to support automated operations and over-the-air platform updates.

              "},{"location":"ocp4/#cluster-autoscaler-operator","title":"Cluster Autoscaler Operator","text":"
              • Adjusts the size of an OpenShift Container Platform cluster to meet its current deployment needs. It uses declarative, Kubernetes-style arguments
              • Increases the size of the cluster when there are pods that failed to schedule on any of the current nodes due to insufficient resources or when another node is necessary to meet deployment needs. The ClusterAutoscaler does not increase the cluster resources beyond the limits that you specify.
              • A huge improvement over the manual, error-prone process used in the previous version of OpenShift and RHEL nodes.
              "},{"location":"ocp4/#operators","title":"Operators","text":""},{"location":"ocp4/#introduction","title":"Introduction","text":"
              • Core of the platform
              • The hierarchy of operators, with clusterversion at the top, is the single door for configuration changes and is responsible for reconciling the system to the desired state.
              • For example, if you break a critical cluster resource directly, the system automatically recovers itself.\u00a0
              • Similarly to cluster maintenance, operator framework\u00a0used for applications. As a user, you get SDK, OLM (Lifecycle Manager of all Operators and their associated services running across their clusters) and embedded\u00a0operator hub.
              • OLM Arquitecture
              • Adding Operators to a Cluster (They can be added via CatalogSource)
              • The supported method of using Helm charts with Openshift is via the Helm Operator
              • twitter.com/operatorhubio
              • View the list of Operators available to the cluster from the OperatorHub:
              $ oc get packagemanifests -n openshift-marketplace\nNAME AGE\namq-streams 14h\npackageserver 15h\ncouchbase-enterprise 14h\nmongodb-enterprise 14h\netcd 14h myoperator 14h\n...\n
              "},{"location":"ocp4/#catalog","title":"Catalog","text":"
              • Developer Catalog
              • Installed Operators
              • OperatorHub (OLM)
              • Operator Management:
                • Operator Catalogs are groups of Operators you can make available on the cluster. They can be added via CatalogSource (i.e. \u201ccatalogsource.yaml\u201d). Subscribe and grant a namespace access to use the installed Operators.
                • Operator Subscriptions keep your services up to date by tracking a channel in a package. The approval strategy determines either manual or automatic updates.
              "},{"location":"ocp4/#certified-opeators-olm-operators-and-red-hat-operators","title":"Certified Opeators, OLM Operators and Red Hat Operators","text":"
              • Certified Operators packaged by Certified:
                • Not provided by Red Hat
                • Supported by Red Hat
                • Deployed via \u201cPackage Server\u201d OLM Operator
              • OLM Operators:
                • Packaged by Red Hat
                • \u201cPackage Server\u201d OLM Operator includes a CatalogSource provided by Red Hat
              • Red Hat Operators:
                • Packaged by Red Hat
                • Deployed via \u201cPackage Server\u201d OLM Operator
              • Community Edition Operators:
                • Deployed by any means
                • Not supported by Red Hat
              "},{"location":"ocp4/#deploy-and-bind-enterprise-grade-microservices-with-kubernetes-operators","title":"Deploy and bind enterprise-grade microservices with Kubernetes Operators","text":"
              • Deploy and bind enterprise-grade microservices with Kubernetes Operators
              "},{"location":"ocp4/#openshift-container-storage-operator-ocs","title":"OpenShift Container Storage Operator (OCS)","text":""},{"location":"ocp4/#ocs-3-openshift-3","title":"OCS 3 (OpenShift 3)","text":"
              • OpenShift Container Storage based on GlusterFS technology.
              • Not OpenShift 4 compliant: Migration tooling will be available to facilitate the move to OCS 4.x (OpenShift Gluster APP Mitration Tool).
              "},{"location":"ocp4/#ocs-4-openshift-4","title":"OCS 4 (OpenShift 4)","text":"
              • OCS Operator based on Rook.io with Operator LifeCycle Manager (OLM).
              • Tech Stack:
                • Rook (don\u2019t confuse this with non-redhat \u201cRook Ceph\u201d -> RH ref).
                  • Replaces Heketi (OpenShift 3)
                  • Uses Red Hat Ceph Storage and Noobaa.
                • Red Hat Ceph Storage
                • Noobaa:
                  • Red Hat Multi Cloud Gateway (AWS, Azure, GCP, etc)
                  • Asynchronous replication of data between my local ceph and my cloud provider
                  • Deduplication
                  • Compression
                  • Encryption
              • Backups available in OpenShift 4.2+ (Snapshots + Restore of Volumes)
              • OCS Dashboard in OCS Operator
              "},{"location":"ocp4/#cluster-network-operator-cno-routers","title":"Cluster Network Operator (CNO) & Routers","text":"
              • Cluster Network Operator (CNO): The cluster network is now configured and managed by an Operator. The Operator upgrades and monitors the cluster network.
              • Router plug-ins in OCP3:
                • A \u00ab\u00a0route\u00a0\u00bb is the external entrypoint to a Kubernetes Service. This is one of the biggest differences between Kubernetes and OpenShift Enterprise\u00a0(= OCP) and origin.
                • OpenShift router has the endpoints as targets and therefore the pod of the application.
                • Shared/Stikcy sessions are enabled by default
                • HAProxy template router (default router): HTTP(s) & TLS-enabled traffic via SIN.
                  • dzone.com/articles/openshift-egress-options
                • F5 BIG-IP Router plug-in integrates with an existing F5 BIG-IP system in your environment
                • Since the 9th May 2018,\u00a0NGINX\u00a0is also available as \u00ab\u00a0router\u00a0\u00bb.
              • Routers in OCP4:
                • Ingress Controller is the most common way to allow external access to an OpenShift Container Platform cluster
                • Limited to HTTP, HTTPS using SNI, and TLS using SNI (sufficient for web applications and services)
                • Has two replicas by default, which means it should be running on two worker nodes.
                • Can be scaled up to have more replicas on more nodes.
                • The Ingress Operator implements the ingresscontroller API and is the component responsible for enabling external access to OpenShift Container Platform cluster services.
                • The operator makes this possible by deploying and managing one or more HAProxy-based\u00a0Ingress Controllers\u00a0to handle routing.
              • Network Security Zones in Openshift (DMZ)
              • openshift.com: Global Load Balancer for OpenShift clusters: an Operator-Based Approach
              oc describe clusteroperators/ingress\noc logs --namespace=openshift-ingress-operator deployments/ingress-operator\n
              "},{"location":"ocp4/#servicemesh-operator","title":"ServiceMesh Operator","text":"
              • ServiceMesh: Istio + kiali + Jaeger
              • ServiceMesh Community Edition: github.com/maistra/istio
                • Outcome: publicly known errors in 2 or 3 components.
              • Certified ServiceMesh Operator
                • ServiceMesh GA in September 2019 (available in OperatorHub):
                  • blog.openshift.com/red-hat-openshift-service-mesh-is-now-available-what-you-should-know/
                • Certified & Packaged by Red Hat
                • \u201cOne-click\u201d deployment
                • Preparing to install Red Hat OpenShift Service Mesh. To install the Red Hat OpenShift Service Mesh Operator, you must first install these Operators:
                  • Elasticsearch
                  • Jaeger
                  • Kiali
                • Do not install Community versions of the Operators. Community Operators are not supported.

              "},{"location":"ocp4/#serverless-operator-knative","title":"Serverless Operator (Knative)","text":"
              • Operator install on OperatorHub.io
              • Knative Eventing (Camel-K, Kafka, Cron, etc)
              • Integration with Openshift ServiceMesh, Logging, Monitoring.
              • openshift.com/learn/topics/serverless
              • redhat-developer-demos.github.io/knative-tutorial
              "},{"location":"ocp4/#monitoring-and-observability","title":"Monitoring and Observability","text":""},{"location":"ocp4/#grafana","title":"Grafana","text":"
              • Integrated Grafana v5.4.3 (deployed by default):
              • Monitoring -> Dashboards
              • Project \u201copenshift-monitoring\u201d
              • grafana.com/docs/v5.4/
              "},{"location":"ocp4/#prometheus","title":"Prometheus","text":"
              • Integrated Prometheus v2.7.2 (deployed by default):
              • Monitoring -> metrics
              • Project \u201copenshift-monitoring\u201d
              "},{"location":"ocp4/#alerts-and-silences","title":"Alerts and Silences","text":"
              • Integrated Alertmanager 0.16.2 (deployed by default):
                • Monitoring -> Alerts
                • Monitoring -> Silences
                • Silences temporarily mute alerts based on a set of conditions that you define. Notifications are not sent for alerts that meet the given conditions.
              • Project \u201copenshift-monitoring\u201d
              • prometheus.io/docs/alerting/alertmanager/
              "},{"location":"ocp4/#cluster-logging-efk","title":"Cluster Logging (EFK)","text":"
              • thenewstack.io: Log Management for Red Hat OpenShift
              • EFK: Elasticsearch + Fluentd + Kibana
              • Cluster Logging EFK not deployed by default
              • As an OpenShift Container Platform cluster administrator, you can deploy cluster logging to aggregate logs for a range of OpenShift Container Platform services.
              • The OpenShift Container Platform cluster logging solution requires that you install both the Cluster Logging Operator and Elasticsearch Operator. There is no use case in OpenShift Container Platform for installing the operators individually. You\u00a0must\u00a0install the Elasticsearch Operator using the CLI following the directions below. You can install the Cluster Logging Operator using the web console or CLI. Deployment procedure based on CLI + web console:
                • docs.openshift.com/container-platform/4.4/logging/cluster-logging-deploying.html
                • Elasticsearch Operator must be installed in Project \u201copenshift-operators-redhat\u201d
                • Cluster Logging Operator must be deployed in Project \u201copenshift-logging\u201d
                • CatalogSourceConfig added to enable Elasticsearch Operator on the cluster
                • etc.
              OCP Release Elasticsearch Fluentd Kibana EFK deployed by default OpenShift 3.11 5.6.13.6 0.12.43 5.6.13 No OpenShift 4.1 5.6.16 ? 5.6.16 No"},{"location":"ocp4/#build-images-next-generation-container-image-building-tools","title":"Build Images. Next-Generation Container Image Building Tools","text":"
              • Redesign of how images are built on the platform.
              • Instead of relying on a daemon on the host to manage containers, image creation, and image pushing, we are leveraging\u00a0Buildah\u00a0running inside our build pods.
              • This aligns with the general OpenShift 4 theme of making everything \u201cjust another pod\u201d
              • A simplified set of build workflows, not dependent on the node host having a specific container runtime available.\u00a0
              • Dockerfiles that built under OpenShift 3.x will continue to build under OpenShift 4.x and S2I builds will continue to function as well.
              • The actual BuildConfig API is unchanged, so a BuildConfig from a v3.x cluster can be imported into a v4.x cluster and work without modification.
              • Podman & Buildah for docker users
              • Openshift ImageStreams
              • Openshift 4 image builds
              • Custom image builds with Buildah
              • Rootless podman and NFS
              "},{"location":"ocp4/#openshift-registry-and-quay-registry","title":"OpenShift Registry and Quay Registry","text":"
              • OpenShift Registry & Quay
              "},{"location":"ocp4/#local-development-environment","title":"Local Development Environment","text":"
              • For version 3 we have\u00a0Container Development Kit\u00a0(or its open source equivalent for OKD -\u00a0minishift) which launches a single node VM with Openshift and it does it in a few minutes. It\u2019s perfect for testing also as a part of CI/CD pipeline.
              • Openshift 4 on your laptop: There is a working solution for single node OpenShift cluster. It is provided by a new project called\u00a0CodeReady Containers.
              • Procedure:
              untar\ncrc setup\ncrc start\nenvironment variables\noc login\n
              • Red Hat OpenShift 4.2 on your laptop: Introducing Red Hat CodeReady Containers
              "},{"location":"ocp4/#gitops-catalog","title":"GitOps Catalog","text":"
              • github.com/redhat-cop/gitops-catalog Tools and technologies that are hosted on an OpenShift cluster. The GitOps Catalog includes kustomize bases and overlays for a number of OpenShift operators and applications.
              "},{"location":"ocp4/#openshift-on-azure","title":"OpenShift on Azure","text":"
              • Introducing Azure Red Hat OpenShift on OpenShift 4 \ud83c\udf1f
              • dkrallis.wordpress.com: How to create an OpenShift Cluster in Azure and how you can interact with Azure DevOps environment \u2013 Part A
              • developers.redhat.com: How to easily deploy OpenShift on Azure using a GUI, Part 1
                • developers.redhat.com: How to easily deploy OpenShift on Azure via GitOps, Part 2
              "},{"location":"ocp4/#openshift-youtube","title":"OpenShift Youtube","text":"
              • OpenShift Youtube
              • youtube: Installing OpenShift 4 on AWS with operatorhub.io integration \ud83c\udf1f
              • youtube: OpenShift 4 OAuth Identity Providers
              • youtube: OpenShift on Google Cloud, AWS, Azure and localhost
              • youtube: Getting Started with OpenShift 4 Security \ud83c\udf1f
              • youtube playlist: London 2020 | OpenShift Commons Gathering \ud83c\udf1f OCP4 Updates & Roadmaps, Customer Stories, OpenShift Hive (case study), Operator Ecosystem.
              "},{"location":"ocp4/#openshift-4-training","title":"OpenShift 4 Training","text":"
              • github.com: Openshift 4 training
              • learn.openshift.com
                • OpenShift 4.4
              • learn.crunchydata.com
              "},{"location":"ocp4/#openshift-4-roadmap","title":"OpenShift 4 Roadmap","text":"
              - This link is now broken. [Grab a copy from here](https://github.com/redhatspain/awesome-kubernetes/tree/master/pdf)\n- This link is now broken. [Grab a copy from here](https://github.com/redhatspain/awesome-kubernetes/tree/master/pdf)\n
              "},{"location":"ocp4/#kubevirt-virtual-machine-management-on-kubernetes","title":"Kubevirt Virtual Machine Management on Kubernetes","text":"
              • kubevirt.io \ud83c\udf1f
              • Getting Started with KubeVirt Containers and Virtual Machines Together
              • containerjournal.com: Red Hat Integrates KubeVirt With Kubernetes Management Platform From SAP
              • kubermatic.com: Bringing Your VMs to Kubernetes With KubeVirt
              • medium.com/adessoturkey: Create a Windows VM in Kubernetes using KubeVirt Windows VM in a Kubernetes Cluster. In this tutorial, you will learn how to run a Windows VM inside a KinD Cluster that is running on an Ubuntu machine
              "},{"location":"ocp4/#networking-and-network-policy-in-ocp4-sdncni-plug-ins","title":"Networking and Network Policy in OCP4. SDN/CNI plug-ins","text":"
              • Networking in OCP4
              • Currently, the default OpenShift CNI is OpenShift SDN (network-policy), which configures an overlay network using Open vSwitch (OVS 2.11). The following diagram shows the CNI options for OpenShift and the status of each (supported, validated, etc. \u2026):
              • redhat.com: Network traffic control for containers in Red Hat OpenShift
              "},{"location":"ocp4/#multiple-networks-with-sdncni-plug-ins-usage-scenarios-for-an-additional-network","title":"Multiple Networks with SDN/CNI plug-ins. Usage scenarios for an additional network","text":"