diff --git a/docs/ChromeDevTools.md b/docs/ChromeDevTools.md
index 0b78c5f3..e6717320 100644
--- a/docs/ChromeDevTools.md
+++ b/docs/ChromeDevTools.md
@@ -15,6 +15,7 @@
- [twitter.com/ChromeDevTools](https://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](https://www.digitalocean.com/community/tutorials/how-to-debug-node-js-with-the-built-in-debugger-and-chrome-devtools)
+- [dev.to: My 12 Favorite Chrome Extensions as a Web Developer](https://dev.to/otomer/my-12-favorite-chrome-extensions-as-a-web-developer-56eg)
[](https://twitter.com/addyosmani)
diff --git a/docs/GoogleCloudPlatform.md b/docs/GoogleCloudPlatform.md
index dcec3357..d70c7405 100644
--- a/docs/GoogleCloudPlatform.md
+++ b/docs/GoogleCloudPlatform.md
@@ -16,6 +16,7 @@
* [Platform comparisons](https://cloud.google.com/docs/compare)
* [AWS and GCP comparison](https://cloud.google.com/docs/compare/aws)
* [Mapping of AWS services to Google Cloud](https://gregsramblings.com/blog/compare-google-cloud-to-aws/)
+* [whizlabs.com: Introduction To Google Cloud Platform](https://www.whizlabs.com/blog/google-cloud-platform/)
## GitHub
- [github.com/GoogleCloudPlatform](https://github.com/GoogleCloudPlatform)
@@ -31,6 +32,7 @@
- [Anthos ๐](https://cloud.google.com/anthos/)
- [Everything You Want To Know About Anthos - Google's Hybrid And Multi-Cloud Platform](https://www.forbes.com/sites/janakirammsv/2019/04/14/everything-you-want-to-know-about-anthos-googles-hybrid-and-multi-cloud-platform/)
- [itnext.io: Anthos โ Multi-cluster Management](https://itnext.io/anthos-multi-cluster-management-aa6f2c03120d)
+- [itnext.io: Ingress for Anthos โ Multi-cluster Ingress and Global Service Load Balancing](https://itnext.io/ingress-for-anthos-multi-cluster-ingress-and-global-service-load-balancing-c56c57b97e82)
## Python
- [anderfernandez.com: Cรณmo automatizar un script de Python en Google Cloud](https://anderfernandez.com/blog/automatizar-script-python-google-cloud/)
\ No newline at end of file
diff --git a/docs/ansible.md b/docs/ansible.md
index bbb7d79b..0aff5915 100644
--- a/docs/ansible.md
+++ b/docs/ansible.md
@@ -1,12 +1,13 @@
# Ansible
- [Configuration Management with Ansible DevOps Tool](#configuration-management-with-ansible-devops-tool)
- [Red Hat Ansible Automation Platform](#red-hat-ansible-automation-platform)
- - [Automation services catalog](#automation-services-catalog)
- - [Red Hat Certified Ansible Content Collections](#red-hat-certified-ansible-content-collections)
+ - [Automation services catalog](#automation-services-catalog)
+ - [Red Hat Certified Ansible Content Collections](#red-hat-certified-ansible-content-collections)
- [Ansible Cheat Sheets](#ansible-cheat-sheets)
- [Running Ansible Playbooks](#running-ansible-playbooks)
- - [Running Ansible Playbooks From Jenkins](#running-ansible-playbooks-from-jenkins)
- - [Ansible Tower & Ansible AWX. Running Ansible Playbooks From Ansible Tower](#ansible-tower--ansible-awx-running-ansible-playbooks-from-ansible-tower)
+ - [Running Ansible Playbooks From Jenkins](#running-ansible-playbooks-from-jenkins)
+ - [Ansible Tower & Ansible AWX. Running Ansible Playbooks From Ansible Tower](#ansible-tower--ansible-awx-running-ansible-playbooks-from-ansible-tower)
+ - [Alternatives to Ansible Tower](#alternatives-to-ansible-tower)
- [Ansible Molecule. Development and Testing of Ansible Roles](#ansible-molecule-development-and-testing-of-ansible-roles)
- [Books](#books)
- [Ansible Galaxy Roles](#ansible-galaxy-roles)
@@ -14,6 +15,7 @@
- [Ansible and Public Cloud Guides](#ansible-and-public-cloud-guides)
- [Ansible Kubernetes Module](#ansible-kubernetes-module)
- [NGINX Core Collection for Ansibe](#nginx-core-collection-for-ansibe)
+- [Dynatrace with Ansible](#dynatrace-with-ansible)
## Configuration Management with Ansible DevOps Tool
* [ansible.com](https://www.ansible.com/)
@@ -33,6 +35,15 @@
* [opensource.com: 7 things you can do with Ansible right now](https://opensource.com/article/20/9/ansible) If Ansible's inclusion as a leader on the Forrester Wave report piqued your interest, here are some ways the automation solution can simplify your life.
* [medium.com: The Ultimate Guide for Ansible Total Domination ๐](https://medium.com/the-programming-hub/the-ultimate-guide-for-ansible-total-domination-e70bdfc11175)
* [opensource.com: Integrate your calendar with Ansible to avoid schedule conflicts ๐](https://opensource.com/article/20/10/calendar-ansible) Make sure your automation workflow's schedule doesn't conflict with something else by integrating a calendar app into Ansible.
+* [opensource.com: My first day using Ansible](https://opensource.com/article/20/10/first-day-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 ๐](https://siliconangle.com/2020/10/13/red-hat-ties-ansible-automation-kubernetes-cluster-management/)
+* [sdxcentral.com: Red Hat Links Ansible Automation to Kubernetes Management ๐](https://www.sdxcentral.com/articles/news/red-hat-links-ansible-automaton-to-kubernetes-management/)
+* [thenewstack.io: Red Hat Brings Ansible Automation to Kubernetes ๐](https://thenewstack.io/red-hat-brings-ansible-automation-to-kubernetes/)
+* [openshift.com: Ansible and OpenShift: Connecting for Success ๐](https://www.openshift.com/blog/ansible-and-openshift-connecting-for-success)
+* [zdnet.com: ed Hat expands Ansible ready to run cloud programs ๐](https://www.zdnet.com/article/red-hat-expands-ansible-ready-to-run-cloud-programs/) 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](https://www.theregister.com/2020/10/14/redhat_ansible_kubernetes/)
+* [redhat.com: Ansible Essentials: Simplicity in Automation Technical Overview (Free Course) ๐](https://www.redhat.com/en/services/training/do007-ansible-essentials-simplicity-automation-technical-overview)
+* [opensource.com: 10 Ansible modules for Linux system automation ๐](https://opensource.com/article/20/10/ansible-modules-linux) These handy modules save time and hassle by automating many of your daily tasks, and they're easy to implement with a few commands.
## Red Hat Ansible Automation Platform
- [redhat.com: Red Hat Ansible Automation Platform Enhancements and New Certified Ansible Content Collections Refine the Automation Experience to Drive Business Imperatives](https://www.redhat.com/en/about/press-releases/red-hat-ansible-automation-platform-enhancements-and-new-certified-ansible-content-collections-refine-automation-experience-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
@@ -64,6 +75,14 @@
* [linuxsysadmins.com: Install Ansible AWX on Kubernetes in 5 minutes](https://www.linuxsysadmins.com/install-ansible-awx-on-kubernetes/)
* [steampunk.si: Managing infrastructure using Ansible Tower](https://steampunk.si/blog/managing-infrastructure-using-ansible-tower/)
+### Alternatives to Ansible Tower
+* [Jenkins](https://www.jenkins.io/)
+* [Foreman](https://www.theforeman.org/)
+ * [Ansible Modules to manage Foreman and Katello installations](https://galaxy.ansible.com/theforeman/foreman)
+ * [Foreman Ansible Modules (FAM)](https://github.com/theforeman/foreman-ansible-modules) Ansible modules for interacting with the Foreman API and various plugin APIs such as Katello.
+ * [RFC: Foreman Operations Ansible Collection](https://community.theforeman.org/t/rfc-operations-ansible-collection/20971)
+* [Rundeck](https://www.rundeck.com/ansible)
+
## Ansible Molecule. Development and Testing of Ansible Roles
* [Ansible Molecule](https://molecule.readthedocs.io/) Molecule project is designed to aid in the development and testing of Ansible roles.
* [Molecule Configuration](https://molecule.readthedocs.io/en/latest/configuration.html)
@@ -94,4 +113,7 @@
## NGINX Core Collection for Ansibe
- [galaxy.ansible.com/nginxinc/nginx_core](https://galaxy.ansible.com/nginxinc/nginx_core)
-- [nginx.com: Announcing the NGINX Core Collection for Ansible](https://www.nginx.com/blog/announcing-nginx-core-collection-ansible/)
\ No newline at end of file
+- [nginx.com: Announcing the NGINX Core Collection for Ansible](https://www.nginx.com/blog/announcing-nginx-core-collection-ansible/)
+
+## Dynatrace with Ansible
+- [dynatrace.com: Achieve faster time to value by deploying thousands of OneAgents at once with Ansible (Preview)](https://www.dynatrace.com/news/blog/achieve-faster-time-to-value-by-deploying-thousands-of-oneagents-at-once-with-ansible-preview/)
\ No newline at end of file
diff --git a/docs/api.md b/docs/api.md
index 5ae4d7ca..a0495763 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -2,20 +2,20 @@
- [APIs](#apis)
- [Motivation](#motivation)
- [State of the API Report](#state-of-the-api-report)
- - [Postman State of the API Report](#postman-state-of-the-api-report)
- - [Smartbear State of the API Report](#smartbear-state-of-the-api-report)
+ - [Postman State of the API Report](#postman-state-of-the-api-report)
+ - [Smartbear State of the API Report](#smartbear-state-of-the-api-report)
- [Types of API Protocols](#types-of-api-protocols)
- - [SOAP API Protocol (Simple Object Access Protocol)](#soap-api-protocol-simple-object-access-protocol)
- - [REST API Protocol (Representational State Transfer)](#rest-api-protocol-representational-state-transfer)
- - [OpenAPI Specification (originally known as the Swagger Specification)](#openapi-specification-originally-known-as-the-swagger-specification)
- - [RPC API Protocol (Remote Procedure Call)](#rpc-api-protocol-remote-procedure-call)
- - [gRPC](#grpc)
+ - [SOAP API Protocol (Simple Object Access Protocol)](#soap-api-protocol-simple-object-access-protocol)
+ - [REST API Protocol (Representational State Transfer)](#rest-api-protocol-representational-state-transfer)
+ - [OpenAPI Specification (originally known as the Swagger Specification)](#openapi-specification-originally-known-as-the-swagger-specification)
+ - [RPC API Protocol (Remote Procedure Call)](#rpc-api-protocol-remote-procedure-call)
+ - [gRPC](#grpc)
- [Comparisons](#comparisons)
- - [SOAP vs REST](#soap-vs-rest)
- - [REST vs OpenAPI vs gRPC](#rest-vs-openapi-vs-grpc)
+ - [SOAP vs REST](#soap-vs-rest)
+ - [REST vs OpenAPI vs gRPC](#rest-vs-openapi-vs-grpc)
- [Tools](#tools)
- - [API Testing](#api-testing)
- - [GraphQL](#graphql)
+ - [API Testing](#api-testing)
+ - [GraphQL](#graphql)
- [Free Web Services (Public APIs)](#free-web-services-public-apis)
- [Related](#related)
- [API Business Models](#api-business-models)
@@ -28,6 +28,7 @@
- [Youtube Playlist: Introduction to APIs](https://www.youtube.com/playlist?list=PLM-7VG-sgbtBBnWb2Jc5kufgtWYEmiMAw)
- [Devdocs.io API Documentation](https://devdocs.io/)
- [Dzone: 5 Tips for Better REST API Design](https://dzone.com/articles/my-5-tips-for-better-restapi-design) Good API design is difficult. Maintaining backwards compatibility, effectively testing, handling upgrades, etc. is hard to manage. Check out this guide for help!
+* [thenewstack.io: 5 Ways to Succeed with an API Gateway](https://thenewstack.io/5-ways-to-succeed-with-an-api-gateway/)
## Motivation
- [APIs published, APIs consumed: mainstream enterprises increasingly behave like software vendors](https://www.zdnet.com/article/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.
diff --git a/docs/aws.md b/docs/aws.md
index 885d563f..b03a5fcb 100644
--- a/docs/aws.md
+++ b/docs/aws.md
@@ -93,6 +93,8 @@
- [Open Source at AWS](#open-source-at-aws)
- [AWS Service Quota Requests](#aws-service-quota-requests)
- [Resource Hierarchies](#resource-hierarchies)
+- [AWS Systems Manager Explorer](#aws-systems-manager-explorer)
+- [Best Practices](#best-practices)
- [Spain](#spain)
- [Videos](#videos)
@@ -134,6 +136,7 @@
## AWS Pricing
- [May 2020: EC2 Price Reduction โ For EC2 Instance Saving Plans and Standard Reserved Instances ๐](https://aws.amazon.com/es/blogs/aws/ec2-price-reduction-for-ec2-instance-saving-plans-and-standard-reserved-instances/)
- [ec2.shop: Compare AWS EC2 instance price from the CLI ๐](https://ec2.shop/)
+- [infoq.com: AWS Launches Low-Cost Burstable T4g Instances Powered by AWS Graviton2](https://www.infoq.com/news/2020/09/aws-ec2-t4g-instances/)
### AWS Calculator
- [AWS Total Cost of Ownership (TCO) Calculators ๐](https://aws.amazon.com/tco-calculator/)
@@ -248,6 +251,7 @@
## AWS Cloudwatch
- [threatstack.com: 50 Best AWS CloudWatch Tutorials](https://www.threatstack.com/blog/50-best-aws-cloudwatch-tutorials)
- [Amazon CloudWatch now monitors Prometheus metrics from Container environments](https://aws.amazon.com/about-aws/whats-new/2020/09/amazon-cloudwatch-monitors-prometheus-metrics-container-environments/)
+- [Amazon CloudWatch Dashboards now supports sharing](https://aws.amazon.com/about-aws/whats-new/2020/09/amazon-cloudwatch-dashboards-supports-sharing/)
## AWS Schema Conversion Tool
- [cloudacademy.com: Migrating Data to AWS Using the AWS Schema Conversion Tool: A Preview](http://cloudacademy.com/blog/migrating-data-to-aws/)
@@ -331,6 +335,7 @@
- [Application Load Balancer ๐](https://aws.amazon.com/elasticloadbalancing/applicationloadbalancer/)
- [aws blogs - New โ AWS Application Load Balancer](https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/)
- [medium: 10 reasons why you should think about using an AWS Application Load Balancer](https://medium.com/ankercloud-engineering/10-reasons-why-you-should-think-about-using-an-aws-application-loadbalancer-945f57816c34)
+- [Introducing the AWS Load Balancer Controller](https://aws.amazon.com/es/blogs/containers/introducing-aws-load-balancer-controller/)
## NGINX
- [NGINX Plus on the AWS Cloud: Quick Start Reference Deployment](https://aws.amazon.com/about-aws/whats-new/2016/09/nginx-plus-on-the-aws-cloud-quick-start-reference-deployment/)
@@ -352,6 +357,7 @@
- [Get started with Amazon EC2 Container Registry (Amazon ECR)](http://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_GetStarted.html)
- [Using Docker Machine with AWS](http://blog.scottlowe.org/2016/03/22/using-docker-machine-with-aws/)
- [Docker Datacenter on the AWS Cloud: Quick Start Reference Deployment ๐](https://aws.amazon.com/es/about-aws/whats-new/2016/06/docker-datacenter-on-the-aws-cloud-quick-start-reference-deployment/)
+- [ecrcp](https://github.com/bit-cloner/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.
## Docker for AWS
- [DZone: Getting Started With Docker for AWS and Scaling Nodes](https://dzone.com/articles/getting-started-with-docker-for-aws-and-scaling-no) This blog will explain how to get started with Docker for AWS and deploy a multi-host Swarm cluster on Amazon.
@@ -408,7 +414,8 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa
- [blog.powerupcloud.com: AWS inventory details in CSV using lambda ๐](http://blog.powerupcloud.com/2016/02/07/aws-inventory-details-in-csv-using-lambda)
- [How do I stop and start EC2 instances at regular intervals using AWS Lambda? (Video) ๐](https://aws.amazon.com/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/)
- [Youtube channel: AWS Serverless](https://www.youtube.com/channel/UC_vJsnqdpuEoRseFmlkHMkA)
-* [Using Amazon EFS for AWS Lambda in your serverless applications ๐](https://aws.amazon.com/blogs/compute/using-amazon-efs-for-aws-lambda-in-your-serverless-applications/)
+- [Using Amazon EFS for AWS Lambda in your serverless applications ๐](https://aws.amazon.com/blogs/compute/using-amazon-efs-for-aws-lambda-in-your-serverless-applications/)
+- [medium: AWS Serverless Application Lens โ A Summary ๐](https://medium.com/swlh/aws-serverless-application-lens-a-summary-4f740c4f376d)
## AWS Cloud Formation
- [AWS Cloud Formation Release History](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/ReleaseHistory.html)
@@ -452,6 +459,7 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa
- [How to Record and Govern Your IAM Resource Configurations Using AWS Config](http://blogs.aws.amazon.com/security/post/Tx14ADBJOCAT9NS/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](http://blogs.aws.amazon.com/security/post/Tx2CGWIB8SBYW2J/How-to-Use-SAML-to-Automatically-Direct-Federated-Users-to-a-Specific-AWS-Manage)
- [New IAMCTL tool compares multiple IAM roles and policies ๐](https://aws.amazon.com/es/blogs/security/new-iamctl-tool-compares-multiple-iam-roles-and-policies/)
+- [Bring your own CLI to Session Manager with configurable shell profiles](https://aws.amazon.com/es/blogs/mt/bring-your-own-cli-session-manager-configurable-shell-profiles/)
### AWS Organizations
- [Simplifying permissions management at scale using tags in AWS Organizations](https://aws.amazon.com/blogs/mt/simplifying-permissions-management-at-scale-using-tags-in-aws-organizations/)
@@ -552,6 +560,7 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa
- [info.acloud.guru: Scaling the hottest app in tech on AWS and Kubernetes](https://info.acloud.guru/resources/kubernetes-aws-cloud-scaling-hey)
- [itnext.io: Using AWS NLB manually targeting an EKS Service exposing UDP traffic](https://itnext.io/using-aws-nlb-manually-targeting-an-eks-service-exposing-udp-traffic-17053ecd8f52)
- [medium: Creating CI/CD Pipeline for AWS ECS โ Part I](https://medium.com/@harshvijaythakkar/creating-ci-cd-pipeline-for-aws-ecs-part-i-b2f61bb1522f)
+- [Amazon EKS Now Supports EC2 Inf1 Instances](https://aws.amazon.com/blogs/aws/amazon-eks-now-supports-ec2-inf1-instances/)
## AWS Fargate
- [Deploy Machine Learning Pipeline on AWS Fargate](https://www.kdnuggets.com/2020/07/deploy-machine-learning-pipeline-aws-fargate.html)
@@ -582,6 +591,12 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa
## Resource Hierarchies
- [AWS, Azure, GCP: Resource Hierarchies](https://levelup.gitconnected.com/aws-azure-gcp-resource-hierarchies-25b829127511)
+## AWS Systems Manager Explorer
+- [Multi-account AWS Trusted Advisor summaries now available in AWS Systems Manager Explorer](https://aws.amazon.com/blogs/mt/multi-account-aws-trusted-advisor-summaries-now-available-aws-systems-manager-explorer/)
+
+## Best Practices
+- [thenewstack.io: Avoid the 5 Most Common Amazon Web Services Misconfigurations in Build-Time ๐](https://thenewstack.io/avoid-the-5-most-common-amazon-web-services-misconfigurations-in-build-time/)
+
## Spain
- [xataka.com: Por quรฉ Amazon ha elegido Aragรณn para instalar sus tres primeros centros de datos en Espaรฑa](https://www.xataka.com/servicios/que-amazon-ha-elegido-aragon-para-instalar-sus-tres-primeros-centros-datos-espana)
- [RESOURCE HUB: Eventos y webinars de AWS](https://emea-resources.awscloud.com/spain-events-webinars)
diff --git a/docs/chaos-engineering.md b/docs/chaos-engineering.md
new file mode 100644
index 00000000..670e38ed
--- /dev/null
+++ b/docs/chaos-engineering.md
@@ -0,0 +1,17 @@
+# Chaos Engineering
+
+## Chaos Engineering for kubernetes/Openshift
+* [reddit: Help with Kube Monkey setup](https://www.reddit.com/r/openshift/comments/e1j5qzrbac_for_container_access_to_destroy_other/)
+* [GitHub: kube-monkey](https://github.com/asobti/kube-monkey)
+* [GitHub: monkey-ops, Openshift compliant, no cluster-admin required](https://github.comjoshmsmith/monkey-ops)
+* [chaoskube periodically kills random pods in your Kubernetes cluster](https://github.com/linkichaoskube)
+* [Chaos Mesh](https://github.com/pingcap/chaos-mesh)
+* [Litmus 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](https://github.com/litmuschaos/litmus)
+* [thenewstack.io: Using Chaos Engineering to Improve the Resilience of Stateful Applications on Kubernetes](https://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](https://www.infoq.com/news/2020/10/kubernetes-chaos-mesh-ga/)
+* [chaos-mesh.org: Chaos Mesh 1.0: Chaos Engineering on Kubernetes Made Easier](https://chaos-mesh.org/blog/chaos-mesh-1.0-chaos-engineering-on-kubernetes-made-easier/)
+* [pingcap.com: chaos-mesh-action: Integrate Chaos Engineering into Your CI](https://pingcap.com/blog/chaos-mesh-action-integrate-chaos-engineering-into-your-ci)
+* [openshift.com: Introduction to Kraken, a Chaos Tool for OpenShift/Kubernetes](https://www.openshift.com/blog/introduction-to-kraken-a-chaos-tool-for-openshift/kubernetes)
+
+## Chaos Engineering for serverless computing
+* [thenewstack.io: Breaking Serverless on Purpose with Chaos Engineering](https://thenewstack.io/breaking-serverless-on-purpose-with-chaos-engineering/)
\ No newline at end of file
diff --git a/docs/cheatsheets.md b/docs/cheatsheets.md
index 698be31b..1d133e48 100644
--- a/docs/cheatsheets.md
+++ b/docs/cheatsheets.md
@@ -2,22 +2,22 @@
- [Cheat Sheets](#cheat-sheets)
- [eBooks](#ebooks)
- [Documentation Browser for Software Developers](#documentation-browser-for-software-developers)
- - [Dash for MacOS (paid)](#dash-for-macos-paid)
- - [Velocity (Windows, paid)](#velocity-windows-paid)
- - [Zeal (Windows, Linux, Free)](#zeal-windows-linux-free)
+ - [Dash for MacOS (paid)](#dash-for-macos-paid)
+ - [Velocity (Windows, paid)](#velocity-windows-paid)
+ - [Zeal (Windows, Linux, Free)](#zeal-windows-linux-free)
- [Kubernetes Knowledge Hubs and Glossary](#kubernetes-knowledge-hubs-and-glossary)
- [Kubectl Cheat Sheets](#kubectl-cheat-sheets)
- [Docker Cheat Sheets](#docker-cheat-sheets)
- [Git and GitHub Cheat Sheets](#git-and-github-cheat-sheets)
- - [Git Flow Cheat Sheets](#git-flow-cheat-sheets)
- - [Sourcetree Cheat Sheet](#sourcetree-cheat-sheet)
- - [GitKraken Git Cheat](#gitkraken-git-cheat)
+ - [Git Flow Cheat Sheets](#git-flow-cheat-sheets)
+ - [Sourcetree Cheat Sheet](#sourcetree-cheat-sheet)
+ - [GitKraken Git Cheat](#gitkraken-git-cheat)
- [Ansible Cheat Sheets](#ansible-cheat-sheets)
- [Packer and Terraform Cheat Sheets](#packer-and-terraform-cheat-sheets)
- [Linux Command Cheat Sheets](#linux-command-cheat-sheets)
- - [SSH Cheat Sheets](#ssh-cheat-sheets)
+ - [SSH Cheat Sheets](#ssh-cheat-sheets)
- [OpenShift Cheat Sheets](#openshift-cheat-sheets)
- - [Debezium Cheat Sheets](#debezium-cheat-sheets)
+ - [Debezium Cheat Sheets](#debezium-cheat-sheets)
- [Kubernetes Operator Cheat Sheets](#kubernetes-operator-cheat-sheets)
- [Kubernetes POD Cheat Sheets](#kubernetes-pod-cheat-sheets)
- [Buildah Cheat Sheets](#buildah-cheat-sheets)
@@ -30,6 +30,9 @@
- [Markdown Cheat Sheets](#markdown-cheat-sheets)
- [Machine Learning](#machine-learning)
- [TypeScript](#typescript)
+- [Jupyter](#jupyter)
+- [Postgres](#postgres)
+- [MongoDB](#mongodb)
## Cheat Sheets
* [wizardzines.com ๐](https://wizardzines.com/) programming zines by Julia Evans
@@ -42,6 +45,7 @@
## eBooks
* [Red Hat Developer eBooks ๐](https://developers.redhat.com/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](https://www.redhat.com/en/engage/open-practice-library-ebook) 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)
@@ -73,6 +77,7 @@
* [bluematador.com: kubectl cheatsheet](https://www.bluematador.com/learn/kubectl-cheatsheet)
* [medium: Awesome Kubernetes Command-Line Hacks](https://medium.com/better-programming/awesome-kubernetes-command-line-hacks-8bd3604e394f)
* [dockerlabs.collabnix.com: Cheatsheet - Kubectl ๐](https://dockerlabs.collabnix.com/kubernetes/cheatsheets/kubectl.html)
+* [medium: Awesome Kubernetes Command-Line Hacks](https://medium.com/better-programming/awesome-kubernetes-command-line-hacks-8bd3604e394f) Tips for you to kubectl like a pro
## Docker Cheat Sheets
- [dockerlux.github.io: Docker Cheat Sheet](http://dockerlux.github.io/pdfcheat-sheet-v2.pdf)
@@ -215,4 +220,13 @@
- [Machine Learning Glossary](https://developers.google.com/machine-learning/glossary)
## TypeScript
-- [React+TypeScript Cheatsheets](https://github.com/typescript-cheatsheets/react)
\ No newline at end of file
+- [React+TypeScript Cheatsheets](https://github.com/typescript-cheatsheets/react)
+
+## Jupyter
+- [opensource.com: JupyterLab cheat sheet](https://opensource.com/downloads/jupyterlab-cheat-sheet)
+
+## Postgres
+- [postgrescheatsheet.com](https://postgrescheatsheet.com/)
+
+## MongoDB
+- [developer.mongodb.com: MongoDB Cheat Sheet](https://developer.mongodb.com/quickstart/cheat-sheet)
\ No newline at end of file
diff --git a/docs/cicd.md b/docs/cicd.md
index fd3f8a5f..a65b7200 100644
--- a/docs/cicd.md
+++ b/docs/cicd.md
@@ -5,6 +5,7 @@
- [Deployment Strategies](#deployment-strategies)
- [CI/CD with Kubernetes](#cicd-with-kubernetes)
- [CI/CD with OpenShift](#cicd-with-openshift)
+- [CI/CD with AWS](#cicd-with-aws)
- [Reports on the Enterprise CI/CD Market](#reports-on-the-enterprise-cicd-market)
- [Awesome Lists](#awesome-lists)
@@ -52,6 +53,9 @@ Here are some important things to consider while building a CI/CD pipeline:
* [dewanahmed.com: When to go k8s-native - A tale of CI/CD servers](https://www.dewanahmed.com/post/tekton-k8snative-cicd-pt1/)
* [CI/CD Best Practices ๐](https://blog.bitsrc.io/ci-cd-best-practices-bca0ef665677)
* [harness.io: What is a CI/CD Platform and why should I care? ๐](https://harness.io/2020/10/what-is-cicd-platform-why-should-i-care/)
+* [harness.io: 3 Ways to Use Automation in CI/CD Pipelines](https://thenewstack.io/3-ways-to-use-automation-in-ci-cd-pipelines/)
+* [cloudbees.com: 7 Tips for Creating A Successful CI/CD Pipeline ๐](https://www.cloudbees.com/blog/tips-creating-successful-cicd-pipeline)
+* [gitconnected.com: Blue-Green with Canary Deployment โ A Novel approach](https://levelup.gitconnected.com/blue-green-with-canary-deployment-a-novel-approach-2cee77ff564d)
## Security in CI/CD
* [CI Checks Are Not Enough: Combat Configuration Drift in Kubernetes Resources](https://thenewstack.io/ci-checks-are-not-enough-combat-configuration-drift-in-kubernetes-resources/)
@@ -74,6 +78,10 @@ Here are some important things to consider while building a CI/CD pipeline:
## CI/CD with OpenShift
* [developers.redhat.com: The present and future of CI/CD with GitOps on Red Hat OpenShift ๐](https://developers.redhat.com/blog/2020/09/03/the-present-and-future-of-ci-cd-with-gitops-on-red-hat-openshift/)
+## CI/CD with AWS
+* [mediatemple.net: Cloud-Native CI/CD Workflows in AWS: 3 Use Cases](https://mediatemple.net/blog/cloud-hosting/cicd-workflows-aws-3-use-cases/)
+* [trek10.com: Enterprise CI/CD on AWS: a pragmatic approach](https://www.trek10.com/blog/pragmatic-enterprise-cicd) 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?
+
## Reports on the Enterprise CI/CD Market
* [GigaOm's Radar for Enterprise CI/CD ๐](https://jfrog.com/whitepaper/gigaom-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.
diff --git a/docs/cloud-arch-diagrams.md b/docs/cloud-arch-diagrams.md
index 7c4fca24..58b1b462 100644
--- a/docs/cloud-arch-diagrams.md
+++ b/docs/cloud-arch-diagrams.md
@@ -7,6 +7,7 @@
- [PlantUML](https://plantuml.com/)
- [draw.io](https://drawio-app.com/)
- [Isoflow](https://isoflow.io) Infrastructure Diagrams
+- [acloudguru.com: The top cloud diagramming tools, ranked](https://acloudguru.com/blog/engineering/the-top-cloud-diagramming-tools-ranked)
## AWS
- [AWS Architecture Icons](https://aws.amazon.com/architecture/icons/) The official AWS icon set for building architecture diagrams
diff --git a/docs/container-managers.md b/docs/container-managers.md
index f88067d0..3aea3e88 100644
--- a/docs/container-managers.md
+++ b/docs/container-managers.md
@@ -1,19 +1,19 @@
# Container Runtimes/Managers, Base Images and Container Tools. Podman, Buildah & Skopeo
- [Introduction](#introduction)
- [OCI Project](#oci-project)
- - [OCI Runtimes](#oci-runtimes)
- - [runc](#runc)
- - [crun](#crun)
- - [OCI Monitors](#oci-monitors)
+ - [OCI Runtimes](#oci-runtimes)
+ - [runc](#runc)
+ - [crun](#crun)
+ - [OCI Monitors](#oci-monitors)
- [Container Managers / Container Runtimes (CRI runtimes)](#container-managers--container-runtimes-cri-runtimes)
- - [CRI-O](#cri-o)
- - [Podman. Pod Manager tool](#podman-pod-manager-tool)
- - [Containers In High Security Environments with Podman](#containers-in-high-security-environments-with-podman)
+ - [CRI-O](#cri-o)
+ - [Podman. Pod Manager tool](#podman-pod-manager-tool)
+ - [Containers In High Security Environments with Podman](#containers-in-high-security-environments-with-podman)
- [Container Images](#container-images)
- - [Red Hat Universal Base Image](#red-hat-universal-base-image)
+ - [Red Hat Universal Base Image](#red-hat-universal-base-image)
- [Container Tools](#container-tools)
- - [Buildah](#buildah)
- - [Skopeo](#skopeo)
+ - [Buildah](#buildah)
+ - [Skopeo](#skopeo)
## Introduction
- [A Practical Introduction to Container Terminology](https://developers.redhat.com/blog/2018/02/22/container-terminology-practical-introduction/)
@@ -51,6 +51,7 @@
- [podmain.io: Announcing Podman v2](https://podman.io/blogs/2020/06/29/podman-v2-announce.html) Featuring a new REST API, Remote Clients, Auto-update, Systemd Integration Improvements and more!
- [youtube: Getting started with Podman](https://www.youtube.com/watch?v=Za36qHbrf3g)
- [Podman remote clients for macOS and Windows](https://www.redhat.com/sysadmin/podman-clients-macos-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](https://developers.redhat.com/blog/2020/09/25/rootless-containers-with-podman-the-basics/)
#### Containers In High Security Environments with Podman
- [Build trusted pipelines/Guards with Podman containers](https://www.redhat.com/en/blog/using-container-technology-make-trusted-pipeline) Container technology makes develoment easier/cheaper & much more secure. SELinux,SECCOMP,Namespaces,Dropped Capabilities.
diff --git a/docs/databases.md b/docs/databases.md
index 45ac1e77..1b6c6a1a 100644
--- a/docs/databases.md
+++ b/docs/databases.md
@@ -8,33 +8,34 @@
- [Spilo PostgreSQL Operator](#spilo-postgresql-operator)
- [Zalando PostgreSQL Operator](#zalando-postgresql-operator)
- [Crunchy Data PostgreSQL Operator](#crunchy-data-postgresql-operator)
- - [Crunchy Data Developer Portal](#crunchy-data-developer-portal)
- - [Crunchy Data Postgres Operator in OpenShift 4. Overview & Proof of Concept](#crunchy-data-postgres-operator-in-openshift-4-overview--proof-of-concept)
- - [Crunchydata Postgres Operator 3.5](#crunchydata-postgres-operator-35)
- - [Crunchydata Postgres Operator 4.0.1](#crunchydata-postgres-operator-401)
- - [Crunchydata Postgres Operator 4.0.1 Community Edition](#crunchydata-postgres-operator-401-community-edition)
- - [Service Accounts](#service-accounts)
- - [Roles assigned to Service Accounts](#roles-assigned-to-service-accounts)
- - [Security Context Constraints (SCC)](#security-context-constraints-scc)
- - [SCC Recommendations](#scc-recommendations)
- - [Add a SCC to a Project](#add-a-scc-to-a-project)
- - [Workflow1 without custom Service Account and without DeploymentConfig](#workflow1-without-custom-service-account-and-without-deploymentconfig)
- - [Workflow2 with custom Service Account and without DeploymentConfig](#workflow2-with-custom-service-account-and-without-deploymentconfig)
- - [Workflow3 with custom service Account and DeploymentConfig](#workflow3-with-custom-service-account-and-deploymentconfig)
- - [Environment setup. Port Forward and WSL](#environment-setup-port-forward-and-wsl)
- - [Cluster Deployment and Operation with pgo](#cluster-deployment-and-operation-with-pgo)
- - [Psql access from postgres operator POD](#psql-access-from-postgres-operator-pod)
- - [List Databases with psql](#list-databases-with-psql)
- - [Access from another POD within the cluster with psql client](#access-from-another-pod-within-the-cluster-with-psql-client)
- - [Access from another POD within the cluster with Pgadmin4 of Crunchy containers Community Edition](#access-from-another-pod-within-the-cluster-with-pgadmin4-of-crunchy-containers-community-edition)
- - [Debugging Crunchydata Postgres Operator 4.0.1 Community Edition](#debugging-crunchydata-postgres-operator-401-community-edition)
- - [Certified Crunchydata Postgres Operator (OLM/OperatorHub). Manual Setup](#certified-crunchydata-postgres-operator-olmoperatorhub-manual-setup)
+ - [Crunchy Data Developer Portal](#crunchy-data-developer-portal)
+ - [Crunchy Data Postgres Operator in OpenShift 4. Overview & Proof of Concept](#crunchy-data-postgres-operator-in-openshift-4-overview--proof-of-concept)
+ - [Crunchydata Postgres Operator 3.5](#crunchydata-postgres-operator-35)
+ - [Crunchydata Postgres Operator 4.0.1](#crunchydata-postgres-operator-401)
+ - [Crunchydata Postgres Operator 4.0.1 Community Edition](#crunchydata-postgres-operator-401-community-edition)
+ - [Service Accounts](#service-accounts)
+ - [Roles assigned to Service Accounts](#roles-assigned-to-service-accounts)
+ - [Security Context Constraints (SCC)](#security-context-constraints-scc)
+ - [SCC Recommendations](#scc-recommendations)
+ - [Add a SCC to a Project](#add-a-scc-to-a-project)
+ - [Workflow1 without custom Service Account and without DeploymentConfig](#workflow1-without-custom-service-account-and-without-deploymentconfig)
+ - [Workflow2 with custom Service Account and without DeploymentConfig](#workflow2-with-custom-service-account-and-without-deploymentconfig)
+ - [Workflow3 with custom service Account and DeploymentConfig](#workflow3-with-custom-service-account-and-deploymentconfig)
+ - [Environment setup. Port Forward and WSL](#environment-setup-port-forward-and-wsl)
+ - [Cluster Deployment and Operation with pgo](#cluster-deployment-and-operation-with-pgo)
+ - [Psql access from postgres operator POD](#psql-access-from-postgres-operator-pod)
+ - [List Databases with psql](#list-databases-with-psql)
+ - [Access from another POD within the cluster with psql client](#access-from-another-pod-within-the-cluster-with-psql-client)
+ - [Access from another POD within the cluster with Pgadmin4 of Crunchy containers Community Edition](#access-from-another-pod-within-the-cluster-with-pgadmin4-of-crunchy-containers-community-edition)
+ - [Debugging Crunchydata Postgres Operator 4.0.1 Community Edition](#debugging-crunchydata-postgres-operator-401-community-edition)
+ - [Certified Crunchydata Postgres Operator (OLM/OperatorHub). Manual Setup](#certified-crunchydata-postgres-operator-olmoperatorhub-manual-setup)
- [Oracle 12c on OpenShift Container Platform](#oracle-12c-on-openshift-container-platform)
- [SQL Server](#sql-server)
- [MySQL](#mysql)
- [PostgreSQL](#postgresql)
- [Percona MySQL](#percona-mysql)
- [Tools](#tools)
+- [Time-Series Database](#time-series-database)
## Stateful and Stateless Applications
* [xenonstack.com: Stateful and Stateless Applications Best Practices and Advantages](https://www.xenonstack.com/insights/stateful-and-stateless-applications/)
@@ -85,7 +86,6 @@
* [Youtube: Crunchy PostgreSQL Operator for Kubernetes 3.4 Overview (2018)](https://www.youtube.com/watch?v=gaXlrlz7GVc)
* [Youtube: OpenShift Meetup Tokyo #05 - Operator and Operator Lifecycle Manager on OpenShift (2019, openshift 4.1)](https://www.youtube.com/watch?v=X4vuktlK0Tg)
* [info.crunchydata.com: Monitoring PostgreSQL clusters in kubernetes](https://info.crunchydata.com/blog/monitoring-postgresql-clusters-in-kubernetes)
-* [thenewstack.io: Advanced Kubernetes Namespace Management with the PostgreSQL Operator](https://thenewstack.io/advanced-kubernetes-namespace-management-with-the-postgresql-operator/)
* [info.crunchydata.com: Deploy High-Availability PostgreSQL Clusters on Kubernetes by Example](https://info.crunchydata.com/blog/deploy-high-availability-postgresql-on-kubernetes)
* [info.crunchydata.com: Migrating from Oracle to PostgreSQL: Tips and Tricks](https://info.crunchydata.com/blog/migrating-from-oracle-to-postgresql-questions-and-considerations)
* [info.crunchydata.com: Scheduled PostgreSQL Backups and Retention Policies with Kubernetes](https://info.crunchydata.com/blog/schedule-postgresql-backups-and-retention-with-kubernetes)
@@ -97,7 +97,6 @@
* [info.crunchydata.com: Fast CSV and JSON Ingestion in PostgreSQL with COPY](https://info.crunchydata.com/blog/fast-csv-and-json-ingestion-in-postgresql-with-copy)
* [info.crunchydata.com: Composite Primary Keys, PostgreSQL and Django](https://info.crunchydata.com/blog/composite-primary-keys-postgresql-and-django)
* [info.crunchydata.com: Getting Started with PostgreSQL Operator 4.3 in OpenShift](https://info.crunchydata.com/blog/getting-started-with-postgresql-operator-4.3-in-openshift)
-* [thenewstack.io: Advanced Kubernetes Namespace Management with the PostgreSQL Operator](https://thenewstack.io/advanced-kubernetes-namespace-management-with-the-postgresql-operator/)
* [info.crunchydata.com: Introducing the Postgres Prometheus Adapter](https://info.crunchydata.com/blog/using-postgres-to-back-prometheus-for-your-postgresql-monitoring-1)
* [info.crunchydata.com: Getting Started with PostgreSQL Operator 4.3 in OpenShift](https://info.crunchydata.com/blog/getting-started-with-postgresql-operator-4.3-in-openshift)
* [info.crunchydata.com: Deploying Active-Active PostgreSQL on Kubernetes](https://info.crunchydata.com/blog/active-active-on-kubernetes)
@@ -107,6 +106,11 @@
* [thenewstack.io: Advanced Kubernetes Namespace Management with the PostgreSQL Operator ๐](https://thenewstack.io/advanced-kubernetes-namespace-management-with-the-postgresql-operator/)
* [postgresql.org: Crunchy PostgreSQL Operator 4.5: Enhanced Monitoring, Custom Annotations, PostgreSQL 13 ๐](https://www.postgresql.org/about/news/crunchy-postgresql-operator-45-enhanced-monitoring-custom-annotations-postgresql-13-2086/)
* [info.crunchydata.com: How to Setup PostgreSQL Monitoring in Kubernetes](https://info.crunchydata.com/blog/setup-postgresql-monitoring-in-kubernetes)
+* [redhat.com: Crunchy Data PostgreSQL on Red Hat OpenShift Container Storage (Overview) ๐](https://www.redhat.com/en/resources/crunchy-data-postgresql-overview)
+* [info.crunchydata.com: PostgreSQL Monitoring for Application Developers: The DBA Fundamentals](https://info.crunchydata.com/blog/postgresql-monitoring-for-application-developers-dba-stats)
+* [youtube: OCB: High Availability PostgreSQL and more on OpenShift - Jonathan Katz (Crunchy Data) ๐](https://www.youtube.com/watch?v=9jbR9lZuSU0) Learn how the PostgreSQL Operator from Crunchy Data makes it easy to deploy high availability Postgres clusters on OpenShift. Beyond that, we'll 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](https://info.crunchydata.com/blog/tuning-your-postgres-database-for-high-write-loads)
+* [info.crunchydata.com: Using the PostgreSQL Operator with Rook Ceph Storage](https://info.crunchydata.com/blog/crunchy-postgresql-operator-with-rook-ceph-storage)
### Crunchy Data Developer Portal
- [Announcing the Crunchy Data Developer Portal](https://info.crunchydata.com/blog/announcing-the-crunchy-data-developer-portal)
@@ -743,13 +747,18 @@ oc adm policy add-scc-to-user anyuid system:serviceaccount:pgophub:default
## MySQL
- [twindb.com: Verify MySQL Backups With TwinDB Backup Tool](https://twindb.com/verify-mysql-backups-with-twindb-backup-tool/)
+- [blog.eduguru.in: mysql create index on table](https://blog.eduguru.in/mysql-2/mysql-create-index-on-table)
## PostgreSQL
- [momjian.us: Mastering PostgreSQL Administration [pdf] ](https://momjian.us/main/writings/pgsql/administration.pdf)
+- [9 High-Performance Tips when using PostgreSQL with JPA and Hibernate](https://vladmihalcea.com/9-postgresql-high-performance-performance-tips/)
## Percona MySQL
- [Percona.com: Percona Kubernetes Operator for Percona XtraDB Cluster](https://www.percona.com/doc/kubernetes-operator-for-pxc/index.html)
- [medium: Upgrading MySQL (Percona Server) from 5.7 to 8.0](https://medium.com/flant-com/upgrading-mysql-percona-server-5-to-8-4bce53bdce5c)
## Tools
-- [SHMIG](https://github.com/mbucc/shmig) A database migration tool written in BASH consisting of just one file - shmig.
\ No newline at end of file
+- [SHMIG](https://github.com/mbucc/shmig) A database migration tool written in BASH consisting of just one file - shmig.
+
+## Time-Series Database
+- [thenewstack.io: You Donโt Need a Blockchain, You Need a Time-Series Database](https://thenewstack.io/you-dont-need-a-blockchain-you-need-a-time-series-database/)
\ No newline at end of file
diff --git a/docs/demos.md b/docs/demos.md
index 5ec82e94..2f417db0 100644
--- a/docs/demos.md
+++ b/docs/demos.md
@@ -2,52 +2,55 @@
- [DevOps Screencasts](#devops-screencasts)
- [DevOps Blogs](#devops-blogs)
- [DevOps Demos](#devops-demos)
- - [Ansible and Ansible Tower](#ansible-and-ansible-tower)
- - [GitOps](#gitops)
+ - [Ansible and Ansible Tower](#ansible-and-ansible-tower)
+ - [GitOps](#gitops)
- [Kubernetes Demos](#kubernetes-demos)
- - [CI/CD with SpringBoot for Kubernetes](#cicd-with-springboot-for-kubernetes)
- - [Kubernetes CKAD Example Exam Questions Practical Challenge Series](#kubernetes-ckad-example-exam-questions-practical-challenge-series)
- - [Istio](#istio)
- - [Rancher](#rancher)
- - [GitOps Workflow with Flux](#gitops-workflow-with-flux)
- - [Amazon EKS. Deploy example microservices on EKS](#amazon-eks-deploy-example-microservices-on-eks)
- - [Environments to learn and practice Kubernetes security](#environments-to-learn-and-practice-kubernetes-security)
+ - [CI/CD with SpringBoot for Kubernetes](#cicd-with-springboot-for-kubernetes)
+ - [Kubernetes CKAD Example Exam Questions Practical Challenge Series](#kubernetes-ckad-example-exam-questions-practical-challenge-series)
+ - [Istio](#istio)
+ - [Rancher](#rancher)
+ - [GitOps Workflow with Flux](#gitops-workflow-with-flux)
+ - [Amazon EKS. Deploy example microservices on EKS](#amazon-eks-deploy-example-microservices-on-eks)
+ - [Environments to learn and practice Kubernetes security](#environments-to-learn-and-practice-kubernetes-security)
- [Red Hat Demo Central](#red-hat-demo-central)
- - [Cloud Native Development Architectural Diagrams Demos](#cloud-native-development-architectural-diagrams-demos)
+ - [Cloud Native Development Architectural Diagrams Demos](#cloud-native-development-architectural-diagrams-demos)
- [OpenShift Demos](#openshift-demos)
- - [OpenShift VS Kubernetes](#openshift-vs-kubernetes)
- - [IBM Cloud Pak Playbooks](#ibm-cloud-pak-playbooks)
- - [Knative](#knative)
- - [OpenShift Pipelines Workshop (Tekton)](#openshift-pipelines-workshop-tekton)
- - [ArgoCD](#argocd)
- - [GitLab Pipelines on OpenShift](#gitlab-pipelines-on-openshift)
- - [Deploying Web Applications with Eclipse JKube (formerly known as fabric8)](#deploying-web-applications-with-eclipse-jkube-formerly-known-as-fabric8)
- - [Monitoring Services with OpenShift ServiceMesh](#monitoring-services-with-openshift-servicemesh)
- - [Red Hat Migration Toolkit for Applications](#red-hat-migration-toolkit-for-applications)
- - [Red Hat Advanced Cluster Management RHACM](#red-hat-advanced-cluster-management-rhacm)
- - [OKD](#okd)
- - [Helm 3 on OpenShift](#helm-3-on-openshift)
- - [Writing Kubernetes Operators](#writing-kubernetes-operators)
+ - [OpenShift VS Kubernetes](#openshift-vs-kubernetes)
+ - [IBM Cloud Pak Playbooks](#ibm-cloud-pak-playbooks)
+ - [Knative](#knative)
+ - [OpenShift Pipelines Workshop (Tekton)](#openshift-pipelines-workshop-tekton)
+ - [ArgoCD](#argocd)
+ - [GitLab Pipelines on OpenShift](#gitlab-pipelines-on-openshift)
+ - [Deploying Web Applications with Eclipse JKube (formerly known as fabric8)](#deploying-web-applications-with-eclipse-jkube-formerly-known-as-fabric8)
+ - [Monitoring Services with OpenShift ServiceMesh](#monitoring-services-with-openshift-servicemesh)
+ - [Red Hat Migration Toolkit for Applications](#red-hat-migration-toolkit-for-applications)
+ - [Red Hat Advanced Cluster Management RHACM](#red-hat-advanced-cluster-management-rhacm)
+ - [OKD](#okd)
+ - [Helm 3 on OpenShift](#helm-3-on-openshift)
+ - [Writing Kubernetes Operators](#writing-kubernetes-operators)
+ - [Customized Reports with Metering Operator (monitoring k8s resources)](#customized-reports-with-metering-operator-monitoring-k8s-resources)
+ - [Red Hat AMQ Streams (Kafka)](#red-hat-amq-streams-kafka)
- [Jenkins Demos](#jenkins-demos)
- - [Jenkins Declarative Pipelines with OpenShift](#jenkins-declarative-pipelines-with-openshift)
- - [OpenShift Pipelines with S2i and Jenkins Blue Ocean](#openshift-pipelines-with-s2i-and-jenkins-blue-ocean)
- - [Jenkins Configuration as Code on Kubernetes](#jenkins-configuration-as-code-on-kubernetes)
- - [From Jenkins Freestyle jobs to Pipeline, with JobDSL. Seed jobs](#from-jenkins-freestyle-jobs-to-pipeline-with-jobdsl-seed-jobs)
- - [SDKMAN](#sdkman)
- - [Jenkins Scripts](#jenkins-scripts)
- - [Postman & Newman API Automated Tests](#postman--newman-api-automated-tests)
- - [Monitoring Jenkins with Grafana](#monitoring-jenkins-with-grafana)
+ - [Jenkins Declarative Pipelines with OpenShift](#jenkins-declarative-pipelines-with-openshift)
+ - [OpenShift Pipelines with S2i and Jenkins Blue Ocean](#openshift-pipelines-with-s2i-and-jenkins-blue-ocean)
+ - [Jenkins Configuration as Code on Kubernetes](#jenkins-configuration-as-code-on-kubernetes)
+ - [From Jenkins Freestyle jobs to Pipeline, with JobDSL. Seed jobs](#from-jenkins-freestyle-jobs-to-pipeline-with-jobdsl-seed-jobs)
+ - [SDKMAN](#sdkman)
+ - [Jenkins Scripts](#jenkins-scripts)
+ - [Postman & Newman API Automated Tests](#postman--newman-api-automated-tests)
+ - [Monitoring Jenkins with Grafana](#monitoring-jenkins-with-grafana)
- [Jenkins X](#jenkins-x)
- [Nexus3 on Kubernetes](#nexus3-on-kubernetes)
+- [GitLab](#gitlab)
- [Spring PetClinic Sample Application](#spring-petclinic-sample-application)
- - [Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL](#modular-pipeline-library-mpl-petclinic-pipeline-example-with-mpl)
- - [PetClinic on Kubernetes:](#petclinic-on-kubernetes)
- - [PetClinic Docker images:](#petclinic-docker-images)
- - [OpenShift.io Samples](#openshiftio-samples)
+ - [Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL](#modular-pipeline-library-mpl-petclinic-pipeline-example-with-mpl)
+ - [PetClinic on Kubernetes:](#petclinic-on-kubernetes)
+ - [PetClinic Docker images:](#petclinic-docker-images)
+ - [OpenShift.io Samples](#openshiftio-samples)
- [AWS Demos](#aws-demos)
- [Azure DevOps Demos](#azure-devops-demos)
- [Google DevOps Demos](#google-devops-demos)
- - [GitOps with Anthos Config Management](#gitops-with-anthos-config-management)
+ - [GitOps with Anthos Config Management](#gitops-with-anthos-config-management)
- [Quarkus Demos](#quarkus-demos)
- [Kafka](#kafka)
- [Apache Camel & ActiveMQ. Event driven integration](#apache-camel--activemq-event-driven-integration)
@@ -77,6 +80,8 @@
* [ansible.github.io/workshops/demos : Red Hat Ansible Automation Platform Workshops](https://ansible.github.io/workshops/demos/)
* [Red Hat Ansible Tower - Workshop and Demo](https://github.com/network-automation/tower_workshop)
* [blog.stephane-robert.info: Ansible - Utiliser MySQL comme inventaire dynamique (Use MySQL as a dynamic inventory)](https://blog.stephane-robert.info/post/ansible-utiliser-mysql-comme-inventaire-dynamique/)
+* [opensource.com: Build a Kubernetes Minecraft server with Ansible's Helm modules](https://opensource.com/article/20/10/kubernetes-minecraft-ansible) Deploy a Minecraft server into a Kubernetes cluster with Ansible's new collections.
+* [developers.redhat.com: Run your first Ansible Playbook (Katakoda)](https://developers.redhat.com/courses/ansible/getting-started)
### GitOps
- [thenewstack.io: GitOps in Multicluster Environments with Anthos Config Management](https://thenewstack.io/tutorial-gitops-in-multicluster-environments-with-anthos-config-management/)
@@ -104,6 +109,7 @@
* [medium: Build a Federation of Multiple Kubernetes Clusters With Kubefed V2](https://medium.com/better-programming/build-a-federation-of-multiple-kubernetes-clusters-with-kubefed-v2-8d2f7d9e198a)
* [medium: Single Sign-On in Kubernetes](https://medium.com/@andriisumko/single-sign-on-in-kubernetes-1ad9528350ed) 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โre free to use any other OIDC SSO provider you prefer)
* [Free Kubernetes ๐๐](https://github.com/learnk8s/free-kubernetes/) List of free Trials/Credit for Managed Kubernetes Services.
+* [medium: Kubernetes in a nutshell โ tutorial for beginners ๐๐](https://medium.com/swlh/kubernetes-in-a-nutshell-tutorial-for-beginners-caa442dfd6c0) Deploy a complete application stack just in a few steps!
### CI/CD with SpringBoot for Kubernetes
* [CI/CD for Kubernetes through a Spring Boot example (Banzai Cloud CI/CD)](https://teletype.in/@sravancynixit/CcwqFANxY)
@@ -129,6 +135,7 @@
* [medium: create your first application on aws eks kubernetes](https://medium.com/faun/create-your-first-application-on-aws-eks-kubernetes-cluster-874ee9681293)
* [dzone: deploying a kubernetes cluster with amazon eks ๐](https://dzone.com/articles/deploying-a-kubernetes-cluster-with-amazon-eks)
* [stacksimplify.com: DevOps with AWS CodePipeline on AWS EKS](https://www.stacksimplify.com/aws-eks/aws-devops-eks/learn-to-master-devops-on-aws-eks-using-aws-codecommit-codebuild-codepipeline/)
+* [medium: AWS App Mesh with EKS and Canary deployment](https://medium.com/@anupam.s1602/aws-app-mesh-with-eks-and-canary-deployment-5503d9ba95d6)
### Environments to learn and practice Kubernetes security
- [The Kubernetes Goat](https://github.com/madhuakula/kubernetes-goat) designed to be intentionally vulnerable cluster environment to learn and practice Kubernetes security.
@@ -137,6 +144,7 @@
* [gitlab.com/redhatdemocentral ๐](https://gitlab.com/redhatdemocentral)
* [redhatdemocentral.gitlab.io](https://redhatdemocentral.gitlab.io)
* [CodeReady Containers - Red Hat Decision Manager Install Demo](https://gitlab.com/redhatdemocentral/rhcs-rhdm-install-demo)
+* [youtube: CodeReady Containers - Easy OpenShift Container Platform 4.5 Installation](https://www.youtube.com/watch?v=CJMdSQVFVik)
### 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).
@@ -166,6 +174,9 @@
* [openshift.com: Simple Canary Deployments using Kubernetes StatefulSets on OpenShift](https://www.openshift.com/blog/simple-canary-deployments-using-kubernetes-statefulsets-on-openshift)
* [github.com/jbossdemocentral: Red Hat Process Automation Manager Mortgage Demo](https://github.com/jbossdemocentral/rhpam7-mortgage-demo)
* [medium: Tutorial : Secure your API with x509 Mutual Authentication with Spring Boot on OpenShift4](https://medium.com/@erfin.feluzy/tutorial-secure-your-api-with-x509-mutual-authentication-with-spring-boot-on-openshift4-416a00a47af8)
+* [medium.com: Red Hat OpenShift Virtualization in nested VMware vSphere Cluster](https://medium.com/@carlosedp/red-hat-openshift-virtualization-in-nested-vmware-vsphere-56c5e5d76a80) In this post, I'll 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](https://www.schabell.org/2020/10/codeready-containers-building-cloud-native-hr-process.html)
+* [developers.redhat.com: Persistent storage in action: Understanding Red Hat OpenShiftโs persistent volume framework ๐](https://developers.redhat.com/blog/2020/10/22/persistent-storage-in-action-understanding-red-hat-openshifts-persistent-volume-framework/)
### OpenShift VS Kubernetes
* [developer.ibm.com: Example exercises to differentiate OpenShift and Kubernetes](https://developer.ibm.com/tutorials/examples-differentiate-openshift-kubernetes/) Example exercises to differentiate OpenShift and Kubernetes. Walk through some steps with Red Hat OpenShift on IBM Cloud.
@@ -188,12 +199,15 @@
- [rromannissen/rhoar-microservices-demo: GitOps for Microservices with Red Hat Runtimes demo](https://github.com/rromannissen/rhoar-microservices-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](https://developers.redhat.com/blog/2020/09/10/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](https://developers.redhat.com/blog/2020/10/01/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](https://developers.redhat.com/blog/2020/10/14/building-modern-ci-cd-workflows-for-serverless-applications-with-red-hat-openshift-pipelines-and-argo-cd-part-2/)
### GitLab Pipelines on OpenShift
- [openshift.com: Building GitLab Pipelines on OpenShift](https://www.openshift.com/blog/building-openshift-pipelines-with-gitlab)
### Deploying Web Applications with Eclipse JKube (formerly known as fabric8)
- [Building and Deploying a Weather Web Application onto Kubernetes/Red Hat OpenShift using Eclipse JKube](https://itnext.io/building-and-deploying-a-weather-web-application-onto-kubernetes-red-hat-openshift-using-eclipse-62bf7c924be4)
+- [Java development on top of Kubernetes using Eclipse JKube](https://developers.redhat.com/blog/2020/08/24/java-development-on-top-of-kubernetes-using-eclipse-jkube/)
+ - [medium: Deploy Quarkus Todo List App to Kubernetes Using Eclipse JKube](https://medium.com/swlh/deploy-quarkus-todo-list-app-to-kubernetes-using-eclipse-jkube-c774ef6b68f0)
### Monitoring Services with OpenShift ServiceMesh
- [Monitoring Services like an SRE in OpenShift ServiceMesh](https://www.openshift.com/blog/monitoring-services-like-an-sre-in-openshift-servicemesh)
@@ -203,10 +217,12 @@
- [Migration Toolkit for Applications Demo - June 2020](https://youtu.be/mRCz6Jl0Ds8) 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.
### Red Hat Advanced Cluster Management RHACM
+- [openshift.com: Applications Here, Applications There! - Part 3 - Application Migration](https://www.openshift.com/blog/applications-here-applications-there-part-3-application-migration)
- [Advanced Cluster Management Demos](https://www.youtube.com/playlist?list=PLbMP1JcGBmSFA56rykbH2fg1F9Tozk4of) 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).
### OKD
* [medium.com: Installing an OKD 4.5 Cluster](https://medium.com/@craig_robinson/guide-installing-an-okd-4-5-cluster-508a2631cbee)
+ * [itnext.io: Guide: Installing an OKD 4.5 Cluster](https://itnext.io/guide-installing-an-okd-4-5-cluster-508a2631cbee)
### Helm 3 on OpenShift
- [Katacoda Lab: Getting Started with Helm 3 on OpenShift](https://learn.openshift.com/developing-on-openshift/helm/)
@@ -214,6 +230,12 @@
### Writing Kubernetes Operators
- [developers.redhat.com: โHello, Worldโ tutorial with Kubernetes Operators](https://developers.redhat.com/blog/2020/08/21/hello-world-tutorial-with-kubernetes-operators/)
+### Customized Reports with Metering Operator (monitoring k8s resources)
+- [Writing Customized Reports Using Metering Operator](https://www.openshift.com/blog/writing-customized-reports-using-metering-operator)
+
+### Red Hat AMQ Streams (Kafka)
+- [developers.redhat.com: HTTP-based Kafka messaging with Red Hat AMQ Streams](https://developers.redhat.com/blog/2020/08/04/http-based-kafka-messaging-with-red-hat-amq-streams/)
+
## Jenkins Demos
* [kublr.com: cicd pipeline with jenkins nexus kubernetes](https://kublr.com/blog/cicd-pipeline-with-jenkins-nexus-kubernetes/)
* [bitbucket.org: setting up a cicd pipeline with spring mvc and kubernetes on aws](https://bitbucket.org/blog/setting-up-a-ci-cd-pipeline-with-spring-mvc-jenkins-and-kubernetes-on-aws )
@@ -225,6 +247,10 @@
* [developers.redhat.com: An easier way to create custom Jenkins containers](https://developers.redhat.com/blog/2020/06/04/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: Letโs Start Automation using Jenkins, Docker, GitHub](https://medium.com/@devml2016/lets-start-automation-using-jenkins-docker-github-d5f8d019ec4a)
* [medium: Just commit your code and your docker server is ready (jenkins + github + docker)](https://medium.com/@deepanshuyadavv11/task1-integrating-github-jenkins-and-docker-d66a817774be)
+* [lambdatest.com: Best Jenkins Pipeline Tutorial For Beginners (Examples) ๐](https://www.lambdatest.com/blog/jenkins-pipeline-tutorial/)
+* [ittroubleshooter.in: Run Parallel Builds in Kubernetes Cluster with Jenkins Pipeline ๐](https://ittroubleshooter.in/run-parallel-build-kubernetes-cluster-jenkins/)
+* [cloudogu/jenkinsfiles ๐๐๐](https://github.com/cloudogu/jenkinsfiles) This project contains examples for the [Jenkins pipeline plugin](https://jenkins.io/solutions/pipeline/), comparing both declarative and scripted syntax. The examples were developed while working on an article series called Coding Continuous Delivery published in [Java aktuell](http://www.ijug.eu/java-aktuell/das-magazin.html). Both English translation and German original can be found on the [Cloudogu Blog](https://cloudogu.com/en/blog).
+* [aws.amazon.com: Integrating Jenkins with AWS CodeArtifact to publish and consume Python artifacts](https://aws.amazon.com/blogs/devops/using-jenkins-with-codeartifact/)
### Jenkins Declarative Pipelines with OpenShift
* [github.com/openshift: Using Jenkins Declarative Pipelines with OpenShift ๐](https://github.com/openshift/origin/tree/master/examples/jenkins/pipeline)
@@ -318,6 +344,9 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/redhatspain
## Nexus3 on Kubernetes
* [Proof of Concept: Nexus3 Chart configuration on Kubernetes](https://github.com/redhatspain/nexus3-helm-chart) A choerodon/nexus3 Helm 3 Sample Chart on Digital Ocean Kubernetes
+## GitLab
+- [piotrminkowski.com: GitLab CI/CD on Kubernetes](https://piotrminkowski.com/2020/10/19/gitlab-ci-cd-on-kubernetes/)
+
## Spring PetClinic Sample Application
* [spring-petclinic.github.io](https://spring-petclinic.github.io)
* [spring-petclinic.github.io Docs](https://spring-petclinic.github.io/docs/resources.html)
@@ -368,6 +397,7 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/redhatspain
- [github.com/aws-samples](https://github.com/aws-samples)
- [github.com/aws-samples/aws-training-demo](https://github.com/aws-samples/aws-training-demo)
- [cyberciti.biz: How to create MySQL user and grant permissions in AWS RDS](https://www.cyberciti.biz/faq/how-to-create-mysql-user-and-grant-permissions-in-aws-rds/)
+- [stacksimplify.com: DevOps with AWS CodePipeline on AWS EKS](https://www.stacksimplify.com/aws-eks/aws-devops-eks/learn-to-master-devops-on-aws-eks-using-aws-codecommit-codebuild-codepipeline/)
## Azure DevOps Demos
- [Azure DevOps Demo Generator](https://azuredevopsdemogenerator.azurewebsites.net/)
diff --git a/docs/devops.md b/docs/devops.md
index 82d6ce5e..787202d5 100644
--- a/docs/devops.md
+++ b/docs/devops.md
@@ -7,15 +7,16 @@
- [Blogs](#blogs)
- [Xebia Labs and DevOps](#xebia-labs-and-devops)
- [DevOps Tools](#devops-tools)
- - [Relay](#relay)
+ - [Relay](#relay)
- [Netflix and DevOps](#netflix-and-devops)
- [Public Cloud DevOps](#public-cloud-devops)
- - [AWS DevOps](#aws-devops)
- - [Azure DevOps](#azure-devops)
- - [Google Cloud Platform](#google-cloud-platform)
+ - [AWS DevOps](#aws-devops)
+ - [Azure DevOps](#azure-devops)
+ - [Google Cloud Platform](#google-cloud-platform)
## Introduction to Digital Business Transformation
- [What Is AIOps, BizDevOps, CloudOps, DevOps, ITOps, NoOps? A Gentle Introduction to Digital Business Transformation ๐](https://stxnext.com/blog/2019/04/25/aiops-bizdevops-cloudops-devops-itops-noops-introduction-digital-business-transformation/)
+- [enterprisersproject.com: DevOps: 5 things teams need from CIOs](https://enterprisersproject.com/article/2020/7/devops-5-things-teams-need)Consider these lessons learned as you strive to give DevOps teams what they need to succeed - from flexible technogy models to transparency.
## Interview Questions
- [automationreinvented.blogspot.com: Top 11 kubernetes interview questions for SDET/DevOps SET-02? Kubernetes deployment commands](https://automationreinvented.blogspot.com/2020/10/top-11-kubernetes-interview-questions.html)
@@ -52,7 +53,8 @@
* [itprotoday.com: Is the DevOps Model Killing the Developer? In a Word, No](https://www.itprotoday.com/devops-and-software-development/devops-model-killing-developer-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 โ Collaboration, Empowerment, Autonomy ๐](https://blogs.vmware.com/management/2020/06/devops-culture.html)
* [enterprisersproject.com: 3 DevOps skills IT leaders need for the next normal](https://enterprisersproject.com/article/2020/7/3-devops-skills-it-leaders-need-next-normal)
-* [How to Become a DevOps Engineer in 2020](https://medium.com/better-programming/how-to-become-a-devops-engineer-in-2020-7618492a09d8)
+* [medium: How to Become a DevOps Engineer in 2020 (Tj Blogumas)](https://medium.com/better-programming/how-to-become-a-devops-engineer-in-2020-7618492a09d8)
+* [medium: How to Become a DevOps Engineer in 2020 (Shane Shown)](https://medium.com/swlh/how-to-become-an-devops-engineer-in-2020-80b8740d5a52)
* [Digestible DevOps: The 7 DevOps Practices](https://levelup.gitconnected.com/digestible-devops-the-7-devops-practices-8bd8b34e1418) Breaking down DevOps into practical chunks for real-world implementation.
* [red-gate.com: Automated Production Deployments are Not the Key to DevOps Performance](https://www.red-gate.com/blog/automated-production-deployments-are-not-the-key-to-devops-performance) Thereโs a myth about DevOps which is hard to shake free of: that โsuccessโ means fully automating your deployments from code check-in to production.
* [Hating code of others](https://statemanagement.substack.com/p/hating-the-code-of-others) We struggle to appreciate the meaning and intent of other people's work because we fail to understand the deeply personal and subjective quality of software development.
@@ -69,6 +71,12 @@
* [github.blog: What is DevOps? A guide to common methods and misconceptions ๐](https://github.blog/2020-10-07-devops-definition/)
* [thenewstack.io: From DevOps to DevApps ๐](https://thenewstack.io/from-devops-to-devapps/)
* [thenewstack.io: The Future of Ops Careers ๐๐](https://thenewstack.io/the-future-of-ops-careers/)
+* [cloudtweaks.com: DevOps - Secure & scalable CI/CD pipeline with AWS ๐](https://cloudtweaks.com/2019/05/devops-secure-and-scalable-ci-cd-pipeline-with-aws/) 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](https://devops.com/survey-surfaces-high-reliance-on-devops-to-build-and-deploy-apis/)
+* [thenewstack.io: From DevOps to DevApps. Event-Driven Architecture ๐](https://thenewstack.io/from-devops-to-devapps/)
+* [thenewstack.io: DevOps World: DevOps Moves to Resilient Collaboration](https://thenewstack.io/post-pandemic-devops-moves-to-resilient-collaboration/)
+* [devopscurry.com: Key DevOps Principles to focus in 2021](https://devopscurry.com/key-devops-principles-to-focus-in-2021/)
+* [medium: How to Become an DevOps Engineer in 2020](https://medium.com/swlh/how-to-become-an-devops-engineer-in-2020-80b8740d5a52) How to get started with a career in DevOps.
[](https://www.openshift.com/blog/openshift-end-to-end-cluster-customization)
@@ -108,6 +116,7 @@
- [edureka.com: Top 10 DevOps Tools You Must Know In 2020](https://www.c/blog/top-10-devops-tools/)
- [DevOps Tool Comparison: Docker Vs Kubernetes Vs Ansible](https://reviewnprep.com/blog/devops-tool-comparison-docker-vs-kubernetes-vs-ansible/)
- [cloudtweaks.com: DevOps - Secure and Scalable CI/CD Pipeline with AWS](https://cloudtweaks.com/2019/05/devops-secure-and-scalable-ci-cd-pipeline-with-aws/)
+- [medium: DevOps tools Handbook ๐](https://medium.com/@anujsharma12feb/devops-tools-handbook-b42487a53353)
### Relay
- [Relay](https://relay.sh/) Event-driven automation that connects the cloud providers, DevOps tools, and other APIs you already use.
diff --git a/docs/devsecops.md b/docs/devsecops.md
index 8d7e1b05..61104ea3 100644
--- a/docs/devsecops.md
+++ b/docs/devsecops.md
@@ -6,25 +6,26 @@
- [Project Calico](#project-calico)
- [Security Patterns for Microservice Architectures](#security-patterns-for-microservice-architectures)
- [Anchore Container Security Solutions for DevSecOps](#anchore-container-security-solutions-for-devsecops)
- - [Secure Container Based CI/CD Workflows](#secure-container-based-cicd-workflows)
- - [Securing Kubernetes With Anchore](#securing-kubernetes-with-anchore)
+ - [Secure Container Based CI/CD Workflows](#secure-container-based-cicd-workflows)
+ - [Securing Kubernetes With Anchore](#securing-kubernetes-with-anchore)
- [GitHub security](#github-security)
- [Databases in DMZ and Intranet](#databases-in-dmz-and-intranet)
- [Removing Credentials From Git Repo](#removing-credentials-from-git-repo)
- [Pentesting](#pentesting)
- [Credential Managers](#credential-managers)
- - [keycloak](#keycloak)
- - [Git Credential Manager Core](#git-credential-manager-core)
+ - [keycloak](#keycloak)
+ - [Git Credential Manager Core](#git-credential-manager-core)
- [GitOps Secret Management](#gitops-secret-management)
- - [HashiCorp Vault](#hashicorp-vault)
- - [CyberArk and Ansible](#cyberark-and-ansible)
- - [SOPS for Kubernetes](#sops-for-kubernetes)
- - [Alternatives](#alternatives)
+ - [HashiCorp Vault](#hashicorp-vault)
+ - [CyberArk and Ansible](#cyberark-and-ansible)
+ - [SOPS for Kubernetes](#sops-for-kubernetes)
+ - [Alternatives](#alternatives)
- [Serverless Security Best Practices](#serverless-security-best-practices)
- [Docker Images & Container Security](#docker-images--container-security)
- [Pod Security Policies](#pod-security-policies)
- [Kubernetes Network Policies](#kubernetes-network-policies)
- [Static Analysis SAST](#static-analysis-sast)
+- [Kubernetes Security Tools](#kubernetes-security-tools)
- [Books](#books)
## Introduction
@@ -38,6 +39,9 @@
- [loves.cloud: Creating a fully automated DevSecOps CI/CD Pipeline](https://loves.cloud/creation-of-a-fully-automated-devsecops-cicd-pipeline/)
- [redhat.com: Balancing Linux security with usability](https://www.redhat.com/sysadmin/linux-security-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](https://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](https://www.computing.co.uk/news/4020521/cloudbees-busy-security-visibility-control-devops-evolves) CEO Sacha Labourey: 'DevOps is a pretty good proxy for what needs to happen in any organisation'
+- [paloaltonetworks.com: Is Your Organization Protected Against IAM Misconfiguration Risks?](https://blog.paloaltonetworks.com/2020/10/cloud-iam-misconfiguration-risks/)
+- [devops.com: How to Successfully Integrate Security and DevOps](https://devops.com/how-to-successfully-integrate-security-and-devops/)
## Kubernetes Threat Modelling
- [marcolancini.it: The Current State of Kubernetes Threat Modelling](https://www.marcolancini.it/2020/blog-kubernetes-threat-modelling/)
@@ -45,6 +49,7 @@
## Kubernetes Config Security Threats
- [cncf.io: Identifying Kubernetes Config Security Threats: Pods Running as Root](https://www.cncf.io/blog/2020/06/16/identifying-kubernetes-config-security-threats-pods-running-as-root/)
- [mirantis.com: Introduction to Istio Ingress: The easy way to manage incoming Kubernetes app traffic](https://www.mirantis.com/blog/introduction-to-istio-ingress-the-easy-way-to-manage-incoming-kubernetes-app-traffic/) Leaving your cluster exposed can be risky. That's 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.
+- [thenewstack.io: How Kubernetes vulnerabilities have shifted since the first attacks](https://thenewstack.io/how-kubernetes-vulnerabilities-have-shifted-since-the-first-api-attacks/)
## Multi-Level Security (MLS) vs Multi-Category Security (MCS). Make Secure Pipelines with Podman and Containers
- [Why you should be using Multi-Category Security (MCS) for your Linux containers](https://www.redhat.com/en/blog/why-you-should-be-using-multi-category-security-your-linux-containers)
@@ -125,7 +130,7 @@
## Docker Images & Container Security
- [thehackernews.com: Docker Images Containing Cryptojacking Malware Distributed via Docker Hub](https://thehackernews.com/2020/06/cryptocurrency-docker-image.html)
- [sysdig.com: 12 Container image scanning best practices to adopt in production](https://sysdig.com/blog/image-scanning-best-practices/)
-- [infracloud.io: The Ten Commandments of Container Security](https://www.infracloud.io/blogs/top-10-things-for-container-security/?utm_sq=ghrej190y8)
+- [infracloud.io: The Ten Commandments of Container Security](https://www.infracloud.io/blogs/top-10-things-for-container-security/)
- [medium: KubeSecOps Pipeline(Container security) in a cloudnative ecosystem](https://medium.com/@vaib16dec/kubesecops-pipeline-container-security-in-a-cloudnative-ecosystem-e59bf19a713d)
## Pod Security Policies
@@ -138,5 +143,9 @@
## Static Analysis SAST
- [DevSecOps โ Static Analysis SAST with Jenkins Pipeline](https://digitalvarys.com/devsecops-static-analysis-sast-with-jenkins-pipeline/)
+## Kubernetes Security Tools
+- [europeclouds.com: Implementing Aqua Security to Secure Kubernetes](https://www.europeclouds.com/blog/implementing-aqua-security-to-secure-kubernetes)
+- [Pomerium](https://github.com/pomerium/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
+
## Books
- [Microservices Security in Action](https://medium.facilelogin.com/microservices-security-in-action-933072043ad7)
\ No newline at end of file
diff --git a/docs/docker.md b/docs/docker.md
index c9a944a5..5037a615 100644
--- a/docs/docker.md
+++ b/docs/docker.md
@@ -44,6 +44,8 @@
* [AWS and Docker collaborate to simplify the developer experience](https://aws.amazon.com/blogs/containers/aws-docker-collaborate-simplify-developer-experience/)
* [From Docker Straight to AWS](https://www.docker.com/blog/from-docker-straight-to-aws/)
* [medium: Understanding Docker Volumes, Mounts and Layers and How to Manage Data in Containers](https://medium.com/nycdev/understanding-docker-volumes-mounts-and-layers-9fa17befa493)
+* [A Gentle Introduction to Using a Docker Container as a Dev Environment](https://css-tricks.com/a-gentle-introduction-to-using-a-docker-container-as-a-dev-environment/)
+* [martinheinz.dev: It's Time to Forget About Docker ๐](https://martinheinz.dev/blog/35)
## Security
- [thehackernews.com: Docker Images Containing Cryptojacking Malware Distributed via Docker Hub](https://thehackernews.com/2020/06/cryptocurrency-docker-image.html)
diff --git a/docs/dom.md b/docs/dom.md
index 58aeadac..6b515f72 100644
--- a/docs/dom.md
+++ b/docs/dom.md
@@ -1,2 +1,3 @@
# Document Object Model (DOM)
-- [Getting Started with the DOM](https://edidiongasikpo.com/getting-started-with-the-dom-ck9u4u82503or6es16p2rx7c1)
\ No newline at end of file
+- [Getting Started with the DOM](https://edidiongasikpo.com/getting-started-with-the-dom-ck9u4u82503or6es16p2rx7c1)
+- [digitalocean.com: Understanding the DOM โ Document Object Model eBook](https://www.digitalocean.com/community/books/understanding-the-dom-document-object-model-ebook)
\ No newline at end of file
diff --git a/docs/freelancing.md b/docs/freelancing.md
new file mode 100644
index 00000000..87287d5e
--- /dev/null
+++ b/docs/freelancing.md
@@ -0,0 +1,26 @@
+# Freelancing
+- [ยฟInformรกtico explotado en una consultora? Las webs para โfreelancesโ te salvarรกn la vida](https://www.elconfidencial.com/tecnologia/2018-05-12/informatico-freelance-carnica-freelancer-yeeply_1562518/) Los desarrolladores espaรฑoles tienen en plataformas como **Malt**, **Freelancer** y **Yeeply** la oportunidad de trabajar por cuenta propia mรกs allรก de nuestras fronteras y huir de las infames โcรกrnicasโ.
+
+# Top Freelancing Platforms
+- [malt ๐](https://www.malt.com/)
+- [upwork ๐](https://www.upwork.com/)
+- [freelancer ๐](https://www.freelancer.com/)
+- [yeeply ๐](https://www.yeeply.com/)
+- [codementor](https://www.codementor.io/)
+- [toptal](https://www.toptal.com/)
+- [fiverr](https://www.fiverr.com/)
+- [guru](https://www.guru.com/)
+- [truelancer](https://www.truelancer.com/)
+- [peopleperhour](https://www.peopleperhour.com/)
+- [crossover](https://www.crossover.com/)
+- [arc - formerly codementor](https://arc.dev/)
+- [scalablepath](https://www.scalablepath.com/)
+- [turing](https://turing.com/)
+- [lorem](https://www.asklorem.com/)
+- [soshace](https://soshace.com/)
+- [adeva](https://adevait.com/)
+- [speedlancer](https://speedlancer.com/)
+- [worksome](https://worksome.co.uk/)
+- [certace](https://www.certace.com/)
+- [hellobonsai](https://www.hellobonsai.com/)
+- [remoteone](https://remote.one/)
\ No newline at end of file
diff --git a/docs/git.md b/docs/git.md
index dd7dd475..7a00aee8 100644
--- a/docs/git.md
+++ b/docs/git.md
@@ -3,13 +3,13 @@
- [Design By Contract](#design-by-contract)
- [Git Cheat Sheets](#git-cheat-sheets)
- [Patterns for Managing Source Code Branches (Branching Models/Workflows)](#patterns-for-managing-source-code-branches-branching-modelsworkflows)
- - [Git Workflows](#git-workflows)
- - [Trunk Based Development](#trunk-based-development)
- - [Feature Branch Development (aka GitFlow)](#feature-branch-development-aka-gitflow)
- - [Git Flow](#git-flow)
- - [Trunk-based Development vs. Git Flow](#trunk-based-development-vs-git-flow)
- - [Alternative Branching Models](#alternative-branching-models)
- - [Feature Flags (Feature Toggles)](#feature-flags-feature-toggles)
+ - [Git Workflows](#git-workflows)
+ - [Trunk Based Development](#trunk-based-development)
+ - [Feature Branch Development (aka GitFlow)](#feature-branch-development-aka-gitflow)
+ - [Git Flow](#git-flow)
+ - [Trunk-based Development vs. Git Flow](#trunk-based-development-vs-git-flow)
+ - [Alternative Branching Models](#alternative-branching-models)
+ - [Feature Flags (Feature Toggles)](#feature-flags-feature-toggles)
- [Git Commands](#git-commands)
- [BitBucket](#bitbucket)
- [GitLab](#gitlab)
@@ -17,16 +17,16 @@
- [Git Tools](#git-tools)
- [Azure DevOps (formerly known as VSTS)](#azure-devops-formerly-known-as-vsts)
- [Merge BOTs](#merge-bots)
- - [Tips](#tips)
- - [Jenkins for git merges](#jenkins-for-git-merges)
- - [Bitbucket for git merges](#bitbucket-for-git-merges)
- - [GitLab for git merges](#gitlab-for-git-merges)
- - [Marge GitLab bot](#marge-gitlab-bot)
- - [Jenkins-X bots](#jenkins-x-bots)
- - [Plastic SCM bot](#plastic-scm-bot)
- - [Mergify bot](#mergify-bot)
- - [GitHub bots](#github-bots)
- - [Bors GitHub bot](#bors-github-bot)
+ - [Tips](#tips)
+ - [Jenkins for git merges](#jenkins-for-git-merges)
+ - [Bitbucket for git merges](#bitbucket-for-git-merges)
+ - [GitLab for git merges](#gitlab-for-git-merges)
+ - [Marge GitLab bot](#marge-gitlab-bot)
+ - [Jenkins-X bots](#jenkins-x-bots)
+ - [Plastic SCM bot](#plastic-scm-bot)
+ - [Mergify bot](#mergify-bot)
+ - [GitHub bots](#github-bots)
+ - [Bors GitHub bot](#bors-github-bot)
## Git Distributed Version-Control System
* [Wikipedia: Git](https://en.wikipedia.org/wiki/Git)
@@ -98,6 +98,7 @@ It prescribes that software designers should define formal, precise and verifiab
* [GitHub Flow](https://guides.github.com/introduction/flow/)
* [Git Flow](https://nvie.com/posts/a-successful-git-branching-model/)
* [Git DMZ Flow](https://gist.github.com/djspiewak/9f2f91085607a4859a66)
+* [kubernetes.dev: GitHub Workflow](https://www.kubernetes.dev/docs/guide/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.
### Trunk Based Development
* [Trunk Based Development](https://trunkbaseddevelopment.com/)
@@ -169,6 +170,7 @@ git push origin -f
* [gitlab.com](https://gitlab.com/)
* [Dzone: using gitlab API to create projects](https://dzone.com/articles/using-gitlab-rest-api-to-create-projects)
* [gitlab.com: GitLabโs guide to CI/CD for beginners](https://about.gitlab.com/blog/2020/07/06/beginner-guide-ci-cd/) CI/CD is a key part of the DevOps journey. Hereโs everything you need to understand about this game-changing process.
+* [levelup.gitconnected.com: Automating Integration and Deployment to Remote Server](https://levelup.gitconnected.com/automating-integration-and-deployment-to-remote-server-63a2b6576ebf) GitLab CI/CD
## GitHub
* [GitHub Codespaces](https://github.com/features/codespaces) Get the full Visual Studio Code experience without leaving GitHub.
@@ -187,6 +189,10 @@ git push origin -f
* [github.blog: Set the default branch for newly-created repositories](https://github.blog/changelog/2020-08-26-set-the-default-branch-for-newly-created-repositories/)
* [grafana.com: How we use the Grafana GitHub plugin to track outstanding pull requests](https://grafana.com/blog/2020/09/21/how-we-use-the-grafana-github-plugin-to-track-outstanding-pull-requests/)
* [itnext.io: Build & Ship: GitHub Container Registry & Kubernetes](https://itnext.io/build-ship-github-container-registry-kubernetes-aa06029b3f21)
+* [grafana: How we use the Grafana GitHub plugin to track outstanding pull requests](https://grafana.com/blog/2020/09/21/how-we-use-the-grafana-github-plugin-to-track-outstanding-pull-requests/)
+* [docker.com: Docker Github Actions](https://www.docker.com/blog/docker-github-actions/)
+* [itnext.io: Build & Ship: GitHub Container Registry & Kubernetes](https://itnext.io/build-ship-github-container-registry-kubernetes-aa06029b3f21)
+* [github.blog: Testing cloud apps with GitHub Actions and cloud-native open source tools](https://github.blog/2020-10-09-devops-cloud-testing/)
## Git Tools
* [Atlassian Sourcetree](https://www.sourcetreeapp.com/)
diff --git a/docs/helm.md b/docs/helm.md
index 67809792..d602543c 100644
--- a/docs/helm.md
+++ b/docs/helm.md
@@ -34,7 +34,12 @@
* [medium: Multi-namespace Helm deploy in Kubernetes](https://medium.com/analytics-vidhya/multi-namespace-helm-deploy-in-kubernetes-26d1baf1ca5c)
* [rancher.com: Create Reproducible Security in Kubernetes with Helm 3 and Helm Charts](https://rancher.com/blog/2020/helm-security)
* [daveops.xyz: Running DB migrations on Kubernetes with Helm](https://daveops.xyz/en/2020/09/18/running-db-migrations-on-kubernetes-with-helm/)
+* [itnext.io: Database migrations on Kubernetes using Helm hooks](https://itnext.io/database-migrations-on-kubernetes-using-helm-hooks-fb80c0d97805)
* [mbbaig.blog: How to create custom Helm charts ๐](https://mbbaig.blog/how-to-create-custom-helm-charts/)
+* [medium: Using Helm with Amazon EKS without kubeconfigs](https://medium.com/analytics-vidhya/using-helm-with-amazon-eks-without-a-kubeconfig-733f44a31b1d)
+* [dev.to: Introduction to Helm ๐](https://dev.to/edlegaultle/introduction-to-helm-50jl)
+* [itnext.io: Helm 3 Umbrella Charts & Standalone Chart Image Tags โ An Alternative Approach](https://itnext.io/helm-3-umbrella-charts-standalone-chart-image-tags-an-alternative-approach-78a218d74e2d) Helm umbrella charts, for those who arenโt 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](https://rancher.com/blog/2020/helm-security)
## Helm Chart Documentation
* [chart-doc-gen: Helm Chart Documentation Generator](https://github.com/kubepack/chart-doc-gen)
diff --git a/docs/images/malt.jpg b/docs/images/malt.jpg
new file mode 100644
index 00000000..5da00cff
Binary files /dev/null and b/docs/images/malt.jpg differ
diff --git a/docs/index.md b/docs/index.md
index b3181485..aeeeec0f 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -13,9 +13,9 @@ A curated list of awesome references collected since 2018. Microservices archite
[{: style="width:7%"}](https://www.youtube.com/user/GoAtlassian) [{: style="width:7%"}](https://www.youtube.com/channel/UCs5Y5_7XK8HLDX0SLNwkd3w) [{: style="width:7%"}](https://www.youtube.com/user/github) [{: style="width:7%"}](https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg) [{: style="width:7%"}](https://www.youtube.com/channel/UCp06FAzrFalo3txskS1gCfA) [{: style="width:7%"}](https://www.youtube.com/channel/UCin9nv7mUjoqrRiwrzS5UVQ) [{: style="width:7%"}](https://www.youtube.com/channel/UCY3YECgeBcLCzIrFLP4gblw) [{: style="width:7%"}](https://www.youtube.com/channel/UCNR05H72hi692y01bWaFXNA) [{: style="width:7%"}](https://www.youtube.com/user/officevideos) [{: style="width:7%"}](https://www.youtube.com/channel/UCpDojas1X9ccix4mxadabpw) [{: style="width:7%"}](https://www.youtube.com/user/DEISERCHANNEL)
[{: style="width:7%"}](https://www.youtube.com/channel/UC7noUdfWp-ukXUlAsJnSm-Q/) [{: style="width:7%"}](https://www.youtube.com/user/SpringSourceDev) [{: style="width:7%"}](https://www.youtube.com/channel/UCaW8QG_QoIk_FnjLgr5eOqg) [{: style="width:7%"}](https://www.youtube.com/channel/UCcxTiKb1h2lY_gpTCDgXn1g) [{: style="width:7%"}](https://www.youtube.com/channel/UCocudCGVb3MmhWQ1aoIgUQw) [{: style="width:7%"}](https://www.youtube.com/user/SmartBearSoftware) [{: style="width:7%"}](https://www.youtube.com/user/artifrog) [{: style="width:7%"}](https://www.youtube.com/user/sonatype) [{: style="width:7%"}](https://www.youtube.com/channel/UCS5-gTYteN9rnFd98YxYtrA) [{: style="width:7%"}](https://www.youtube.com/user/ChromeDevelopers) [{: style="width:7%"}](https://www.youtube.com/channel/UCh5UlGiu9d6LegIeUCW4N1w)
[{: style="width:7%"}](https://www.youtube.com/channel/UCooRnlDz6VLAbFyKIChz4fg) [{: style="width:7%"}](https://www.youtube.com/channel/UCxObRDZ0DtaQe_cCP-dN-xg) [{: style="width:7%"}](https://www.youtube.com/channel/UCc-m3P54YDVTjtMUJlmAuow) [{: style="width:7%"}](https://www.youtube.com/user/MongoDB) [{: style="width:7%"}](https://www.youtube.com/channel/UCD78lHSwYqMlyetR0_P4Vig/) [{: style="width:7%"}](https://www.youtube.com/channel/UCmZz-Gj3caLLzEWBtbYUXaA) [{: style="width:7%"}](https://www.youtube.com/channel/UCud7fErZAyMC6lHT_cWZNfA) [{: style="width:7%"}](https://www.youtube.com/channel/UC3ywadaAUQ1FI4YsHZ8wa0g) [{: style="width:7%"}](https://www.youtube.com/channel/UCm63IQg81KP9vXRWSHQpu1w) [{: style="width:7%"}](https://www.youtube.com/channel/UCt7N400Z8gB_3yKq1qrjP2w) [{: style="width:7%"}](https://www.youtube.com/c/Portworx)
-[{: style="width:7%"}](https://www.youtube.com/channel/UCp8lLM2JP_1pv6E0NQ38pqw) [{: style="width:7%"}](https://www.youtube.com/c/Devopsdotcom) [{: style="width:7%"}](https://www.youtube.com/user/xebialabs) [{: style="width:7%"}](https://www.youtube.com/channel/UCOnioSzUZS-ZqsRnf38V2nA) [{: style="width:7%"}](https://www.youtube.com/channel/UC5CMtpogD_P3mOoeiDHD5eQ) [{: style="width:7%"}](https://www.youtube.com/user/coursera) [{: style="width:7%"}](https://www.youtube.com/channel/UCSJbGtTlrDami-tDGPUV9-w) [{: style="width:7%"}](https://www.youtube.com/user/guru99com) [{: style="width:7%"}](https://www.youtube.com/user/intellipaaat) [{: style="width:7%"}](https://www.youtube.com/CodelyTV) [{: style="width:7%"}](https://www.youtube.com)
+[{: style="width:7%"}](https://www.youtube.com/channel/UCp8lLM2JP_1pv6E0NQ38pqw) [{: style="width:7%"}](https://www.youtube.com/c/Devopsdotcom) [{: style="width:7%"}](https://www.youtube.com/user/xebialabs) [{: style="width:7%"}](https://www.youtube.com/channel/UCOnioSzUZS-ZqsRnf38V2nA) [{: style="width:7%"}](https://www.youtube.com/channel/UC5CMtpogD_P3mOoeiDHD5eQ) [{: style="width:7%"}](https://www.youtube.com/user/coursera) [{: style="width:7%"}](https://www.youtube.com/channel/UCSJbGtTlrDami-tDGPUV9-w) [{: style="width:7%"}](https://www.youtube.com/user/guru99com) [{: style="width:7%"}](https://www.youtube.com/user/intellipaaat) [{: style="width:7%"}](https://www.youtube.com/CodelyTV) [{: style="width:7%"}](https://www.youtube.com/channel/UCqXZGcpbF67Xc6LS-INKTTw)
----
+---
## Introduction
- [microservices.io](https://microservices.io/)
@@ -43,6 +43,7 @@ A curated list of awesome references collected since 2018. Microservices archite
- [GitOps ๐](gitops.md)
- [MLOps](mlops.md)
- [Demos & Screencasts. OpenShift, Kubernetes, Jenkins Pipelines with JCasC and more ๐](demos.md)
+- [Chaos Engineering](chaos-engineering.md)
## NoOps
- [NoOps](noops.md)
- [Serverless Architectures & Frameworks. OpenFaaS, Knative & Kubeless](serverless.md)
@@ -118,6 +119,7 @@ A curated list of awesome references collected since 2018. Microservices archite
- [Liquibase and Flyway](liquibase.md)
- [redhat-cop: Openshift Applier](https://dzone.com/articles/gitops-with-openshift-applier)
- [Pulumi](pulumi.md)
+- [StackStorm](stackstorm.md)
- [Terraform & Packer](terraform.md)
- [Template-Free Kubernetes Configuration Customization with Kustomize](kustomize.md)
- [Templating YAML with YAML Processors. Static Checking of Kubernetes YAML Files](yaml.md)
@@ -170,6 +172,9 @@ A curated list of awesome references collected since 2018. Microservices archite
- [E-Learning](elearning.md)
- [Subreddits and Newsfeeds](newsfeeds.md)
- [Other Awesome Lists ๐](other-awesome-lists.md)
+## Recruitment and Freelancing
+- [Recruitment](recruitment.md)
+- [Freelancing](freelancing.md)
---
@@ -196,4 +201,6 @@ A curated list of awesome references collected since 2018. Microservices archite
+
+[{: style="width:7%"}](https://www.youtube.com)
-->
\ No newline at end of file
diff --git a/docs/introduction.md b/docs/introduction.md
index 93605ea0..7369bb95 100644
--- a/docs/introduction.md
+++ b/docs/introduction.md
@@ -4,6 +4,7 @@
- [From Java EE To Cloud Native](#from-java-ee-to-cloud-native)
- [Openshift VS Kubernetes](#openshift-vs-kubernetes)
- [Career Path](#career-path)
+- [Full Stack Developer's Roadmap](#full-stack-developers-roadmap)
## Introduction
* [developers.redhat.com: Why Kubernetes is The New Application Server](https://developers.redhat.com/blog/2018/06/28/why-kubernetes-is-the-new-application-server/)
@@ -32,6 +33,11 @@
* [thenewstack.io: What is the modern cloud native stack? ๐๐](https://thenewstack.io/what-is-the-modern-cloud-native-stack/)
* [thenewstack.io: Do I Really Need Kubernetes? ๐](https://thenewstack.io/do-i-really-need-kubernetes/)
* [cncf.io: Top 7 challenges to becoming cloud native](https://www.cncf.io/blog/2020/09/15/top-7-challenges-to-becoming-cloud-native/)
+* [dewanahmed.com: When to go K8s-native - A tale of CI/CD servers](https://www.dewanahmed.com/post/tekton-k8snative-cicd-pt1/)
+* [capstonec.com: You Will Love These Cloud-native App Architecture Patterns ๐](https://capstonec.com/2020/10/08/cloud-native-app-architecture-patterns)
+* [lavanguardia.com: Por quรฉ la transformaciรณn digital es mentira ๐](https://www.lavanguardia.com/economia/20201014/484036217179/transformacion-digital-empresas-foncillas-pf-video-seo-lv.html)
+* [devops.com: 6 Advantages of Microservices](https://devops.com/6-advantages-of-microservices/)
+* [cloudpundit.com: Donโt boil the ocean to create your cloud ๐](https://cloudpundit.com/2020/09/22/dont-boil-the-ocean-to-create-your-cloud/)
[](https://www.weave.works/technologies/going-cloud-native-6-essential-things-you-need-to-know)
@@ -66,10 +72,15 @@
## Career Path
- [Kelsey Hightower Fireside Chat: An Unconventional Path to IT and Some Life Advice](https://www.hashicorp.com/resources/kelsey-hightower-fireside-chat-an-unconventional-path-to-it-and-some-life-advice/?utm_source=linkedin)
+## Full Stack Developer's Roadmap
+- [Full Stack Developer's Roadmap ๐](https://dev.to/ender_minyard/full-stack-developer-s-roadmap-2k12)
+
[](https://proteon.com/2018/10/18/openshift-in-a-world-of-kubernetes-as-a-service/)
[](https://www.linkedin.com/feed/update/urn:li:activity:6459657167300583424)
+
+[](https://twitter.com/brendandburns)
diff --git a/docs/istio.md b/docs/istio.md
index 188b1cb9..6a0c17c7 100644
--- a/docs/istio.md
+++ b/docs/istio.md
@@ -31,7 +31,8 @@
- [dev.to/aurelievache: Understanding Istio: part 1 โ Istio Components](https://dev.to/aurelievache/understanding-istio-part-1-istio-components-4ik5)
- [dev.to/aurelievache: Understanding Istio: part 9 โ DestinationRule](https://dev.to/aurelievache/understanding-istio-part-9-destinationrule-1g7e)
- [dev.to/aurelievache: Understanding Istio: part 16 โ Observability / Metrics](https://dev.to/aurelievache/understanding-istio-part-16-observability-metrics-2m8p)
-- [Controlling egress traffic with Istio](https://banzaicloud.com/blog/istio-external-demo/)
+- [banzaicloud.com: Controlling egress traffic with Istio](https://banzaicloud.com/blog/istio-external-demo/)
+- [banzaicloud.com: Istio ingress controller as an API gateway](https://banzaicloud.com/blog/backyards-api-gateway)
- [openshift.com: Monitoring Services like an SRE in OpenShift ServiceMesh Part 2: Collecting Standard Metrics ๐](https://www.openshift.com/blog/monitoring-services-like-an-sre-in-openshift-servicemesh-part-2-collecting-standard-metrics-3)
- [istio.io: Learn Microservices using Kubernetes and Istio ๐](https://istio.io/latest/docs/examples/microservices-istio/) step-by-step tutorial
- [thenewstack.io - Service Mesh: The Gateway to Cloud Migration](https://thenewstack.io/when-you-need-or-dont-need-service-mesh/)
@@ -40,6 +41,8 @@
- [solo.io: Learn how to rate limit requests in Istio ๐](https://www.solo.io/blog/tutorial-rate-limiting-of-service-requests-in-istio-service-mesh)
- [solo.io: Identity Federation for Multi-Cluster Kubernetes and Service Mesh](https://www.solo.io/blog/identity-federation-for-multi-cluster-kubernetes-and-service-mesh/)
- [sysdig.com: How to monitor Istio, the Kubernetes service mesh](https://sysdig.com/blog/monitor-istio/)
+- [tetrate.io: VM to container communications 101](https://www.tetrate.io/blog/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 ๐](https://github.com/redhat-scholars/istio-tutorial) Polyglot microservices (Java, Node, .NET) + Istio on Kubernetes/OpenShift
## Maistra Istio
- [Maistra.io](https://maistra.io)
diff --git a/docs/java_frameworks.md b/docs/java_frameworks.md
index 482fe176..c128dcd8 100644
--- a/docs/java_frameworks.md
+++ b/docs/java_frameworks.md
@@ -1,17 +1,17 @@
# Java and Java Programming Models. Open Source Microservices Frameworks
- [Java](#java)
- - [Existing Java Implementations](#existing-java-implementations)
- - [Use Java 11](#use-java-11)
- - [Java Collections Interview Questions](#java-collections-interview-questions)
+ - [Existing Java Implementations](#existing-java-implementations)
+ - [Use Java 11](#use-java-11)
+ - [Java Collections Interview Questions](#java-collections-interview-questions)
- [Java Programming Models (Frameworks)](#java-programming-models-frameworks)
- [Jakarta EE](#jakarta-ee)
- [Eclipse MicroProfile](#eclipse-microprofile)
- - [Server Vendors providing MicroProfile runtimes](#server-vendors-providing-microprofile-runtimes)
+ - [Server Vendors providing MicroProfile runtimes](#server-vendors-providing-microprofile-runtimes)
- [Spring](#spring)
- - [Spring Cloud](#spring-cloud)
- - [SpringBoot](#springboot)
- - [SpringBoot with Docker](#springboot-with-docker)
- - [CI/CD for kubernetes with SpringBoot](#cicd-for-kubernetes-with-springboot)
+ - [Spring Cloud](#spring-cloud)
+ - [SpringBoot](#springboot)
+ - [SpringBoot with Docker](#springboot-with-docker)
+ - [CI/CD for kubernetes with SpringBoot](#cicd-for-kubernetes-with-springboot)
- [Quarkus](#quarkus)
- [Thorntail (aka WildFly Swarm)](#thorntail-aka-wildfly-swarm)
- [Spring Boot VS MicroProfile](#spring-boot-vs-microprofile)
@@ -26,6 +26,7 @@
* [marcobehler.com: Java Versions and Features ๐](https://www.marcobehler.com/guides/a-guide-to-java-versions-and-features)
* [advancedweb.hu: A categorized list of all Java and JVM features since JDK 8 to 14](https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-14/)
* [JDK 15: The new features in Java 15](https://www.infoworld.com/article/3534133/jdk-15-the-new-features-in-java-15.html) 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!](https://github.blog/2020-09-30-github-welcomes-the-openjdk-project/)
### Existing Java Implementations
- [Oracle Java](https://www.oracle.com/technetwork/java/javase/overview/index.html)
@@ -104,6 +105,7 @@ optimizing Enterprise Java for the microservices architecture.
- [10 Free Spring Boot Courses and Tutorials for Java Developers](https://medium.com/javarevisited/10-free-spring-boot-tutorials-and-courses-for-java-developers-53dfe084587e)
- [**Spring Boot Istio library**: Spring Boot library for integration with Istio](https://piotrminkowski.com/2020/06/10/spring-boot-library-for-integration-with-istio/)
* [Spring Boot native images. The path towards Spring Boot native applications](https://spring.io/blog/2020/06/10/the-path-towards-spring-boot-native-applications)
+* [piotrminkowski.com: Best practices for microservices on kubernetes ๐](https://piotrminkowski.com/2020/03/10/best-practices-for-microservices-on-kubernetes/)
### SpringBoot with Docker
* [spring.io: spring boot with docker](https://spring.io/guides/gs/spring-boot-docker/)
@@ -140,6 +142,7 @@ optimizing Enterprise Java for the microservices architecture.
- [The road to Quarkus GA: Completing the first supported Kubernetes-native Java stack](https://developers.redhat.com/blog/2020/06/04/the-road-to-quarkus-ga-completing-the-first-supported-kubernetes-native-java-stack/)
- [containerjournal.com: Red Hat Adds Java Runtime for Kubernetes to Subscription](https://containerjournal.com/topics/container-ecosystems/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?](https://developers.redhat.com/blog/2020/09/11/quarkus-and-jakarta-ee-together-or-not)
+- [youtube: CyberJUG-HH:Why is everybody talking about Quarkus?](https://www.youtube.com/watch?v=nXXPOS8gjtA) In this (Why is everybody talking about Quarkus?) Java User Group Hamburg (CyberJUG-HH) session I highlighted possible reasons for Quarkus' popularity, explained Quarkus' 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.
## Thorntail (aka WildFly Swarm)
- [Red Hat Thorntail](https://thorntail.io/) is a framework based on the popular [WildFly Java application server](https://wildfly.org/) 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.
diff --git a/docs/jenkins-alternatives.md b/docs/jenkins-alternatives.md
index 8f732b76..1b1d7f29 100644
--- a/docs/jenkins-alternatives.md
+++ b/docs/jenkins-alternatives.md
@@ -1,7 +1,8 @@
# Jenkins Alternatives for Continuous Integration
* [Cloudbees Flow](https://www.cloudbees.com/products/flow/overview)
* [Circle CI](https://circleci.com/)
- * [Adding approval jobs to your CI pipeline](https://circleci.com/blog/getting-started-with-kubernetes-how-to-set-up-your-first-cluster/)
+ * [Getting started with Kubernetes: how to set up your first cluster](https://circleci.com/blog/getting-started-with-kubernetes-how-to-set-up-your-first-cluster/)
+ * [Adding approval jobs to your CI pipeline](https://circleci.com/blog/adding-approval-jobs-to-your-ci-pipeline/)
* [Travis CI](https://travis-ci.org/)
* [Concourse](https://concourse-ci.org/)
* [GoCD](https://www.gocd.org/)
@@ -28,6 +29,10 @@
* [Google Cloud Build](https://cloud.google.com/cloud-build)
* [Azure DevOps](https://azure.microsoft.com/services/devops/)
* [Kubeflow](https://www.kubeflow.org/) The Machine Learning Toolkit for Kubernetes
+* [shuttleOps](https://www.shuttleops.io/)
+ * [thenewstack.io: ShuttleOps: No-Code Docker and Kubernetes](https://thenewstack.io/shuttleops-no-code-docker-and-kubernetes/)
+* [HashiCorp Waypoint](https://www.waypointproject.io/)
+ * [hashicorp.com: Announcing HashiCorp Waypoint](https://www.hashicorp.com/blog/announcing-waypoint)
## Cloud Native CI/CD
* [jenkins-x.io](https://jenkins-x.io/)
diff --git a/docs/jenkins.md b/docs/jenkins.md
index 24a3fb9b..9fc9ca2d 100644
--- a/docs/jenkins.md
+++ b/docs/jenkins.md
@@ -7,36 +7,37 @@
- [Running Jenkins on Java 11. Use OpenJDK 11](#running-jenkins-on-java-11-use-openjdk-11)
- [Online Learning](#online-learning)
- [Jenkins Configuration as Code Solutions. 3 available DSLs](#jenkins-configuration-as-code-solutions-3-available-dsls)
- - [DSL 1. Job DSL Plugin. From Freestyle jobs to Declarative Pipeline](#dsl-1-job-dsl-plugin-from-freestyle-jobs-to-declarative-pipeline)
- - [DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins](#dsl-2-jenkins-pipeline-pipeline-as-code-with-jenkins)
- - [Jenkins Pipeline Syntax. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax](#jenkins-pipeline-syntax-scripted-syntax-groovy-dsl-syntax-vs-declarative-syntax)
- - [Extending with Shared Libraries](#extending-with-shared-libraries)
- - [Automating Service Level Indicators/Service Level Objectives based build validation with Keptn and Jenkins](#automating-service-level-indicatorsservice-level-objectives-based-build-validation-with-keptn-and-jenkins)
- - [Jenkinsfile Runner. Serverless / function-as-a-service build execution](#jenkinsfile-runner-serverless--function-as-a-service-build-execution)
- - [DSL 3. Jenkins Configuration as Code (JCasC)](#dsl-3-jenkins-configuration-as-code-jcasc)
- - [Read-only Jenkins Configuration](#read-only-jenkins-configuration)
+ - [DSL 1. Job DSL Plugin. From Freestyle jobs to Declarative Pipeline](#dsl-1-job-dsl-plugin-from-freestyle-jobs-to-declarative-pipeline)
+ - [DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins](#dsl-2-jenkins-pipeline-pipeline-as-code-with-jenkins)
+ - [Jenkins Pipeline Syntax. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax](#jenkins-pipeline-syntax-scripted-syntax-groovy-dsl-syntax-vs-declarative-syntax)
+ - [Extending with Shared Libraries](#extending-with-shared-libraries)
+ - [Automating Service Level Indicators/Service Level Objectives based build validation with Keptn and Jenkins](#automating-service-level-indicatorsservice-level-objectives-based-build-validation-with-keptn-and-jenkins)
+ - [Jenkinsfile Runner. Serverless / function-as-a-service build execution](#jenkinsfile-runner-serverless--function-as-a-service-build-execution)
+ - [DSL 3. Jenkins Configuration as Code (JCasC)](#dsl-3-jenkins-configuration-as-code-jcasc)
+ - [Read-only Jenkins Configuration](#read-only-jenkins-configuration)
- [Jenkins Architecture. Performance and Scalability](#jenkins-architecture-performance-and-scalability)
- [Ansible and Jenkins. Running Ansible Playbooks From Jenkins](#ansible-and-jenkins-running-ansible-playbooks-from-jenkins)
- [Jenkins Tools](#jenkins-tools)
- - [Plugin Installation Manager Tool](#plugin-installation-manager-tool)
- - [Pipeline Development Tools](#pipeline-development-tools)
+ - [Plugin Installation Manager Tool](#plugin-installation-manager-tool)
+ - [Pipeline Development Tools](#pipeline-development-tools)
- [Jenkins Multibranch Pipeline](#jenkins-multibranch-pipeline)
- - [Multibranch Pipelines with Kubernetes](#multibranch-pipelines-with-kubernetes)
+ - [Multibranch Pipelines with Kubernetes](#multibranch-pipelines-with-kubernetes)
- [Jenkins Plugins](#jenkins-plugins)
- - [Selection of Jenkins Plugins](#selection-of-jenkins-plugins)
- - [Plugin Development. Jenkins Plugin Parent POM 4.0](#plugin-development-jenkins-plugin-parent-pom-40)
- - [Jenkins Blue Ocean](#jenkins-blue-ocean)
- - [Cloudbees Flow](#cloudbees-flow)
+ - [Selection of Jenkins Plugins](#selection-of-jenkins-plugins)
+ - [Plugin Development. Jenkins Plugin Parent POM 4.0](#plugin-development-jenkins-plugin-parent-pom-40)
+ - [Jenkins Blue Ocean](#jenkins-blue-ocean)
+ - [Cloudbees Flow](#cloudbees-flow)
- [Monitoring jenkins](#monitoring-jenkins)
- [Externalizing Fingerprint Storage for Jenkins](#externalizing-fingerprint-storage-for-jenkins)
- [Jenkins and Spring Boot](#jenkins-and-spring-boot)
- [Kubernetes Native Jenkins Operator](#kubernetes-native-jenkins-operator)
- [CloudBees](#cloudbees)
- - [CloudBees Rollout and Feature Flags](#cloudbees-rollout-and-feature-flags)
- - [Feature Flags in CloudBees Enterprise On-Premise](#feature-flags-in-cloudbees-enterprise-on-premise)
- - [CloudBees Accelerator](#cloudbees-accelerator)
+ - [CloudBees Rollout and Feature Flags](#cloudbees-rollout-and-feature-flags)
+ - [Feature Flags in CloudBees Enterprise On-Premise](#feature-flags-in-cloudbees-enterprise-on-premise)
+ - [CloudBees Accelerator](#cloudbees-accelerator)
- [Jervis: Jenkins as a service](#jervis-jenkins-as-a-service)
- [Jenkins X (Serverless)](#jenkins-x-serverless)
+- [Jenkins and SAP](#jenkins-and-sap)
## Jenkins
* [CloudBees](https://www.cloudbees.com/)
@@ -64,6 +65,8 @@
* [dzone.com: Easily Automate Your CI/CD Pipeline With Jenkins, Helm, and Kubernetes ๐](https://dzone.com/articles/easily-automate-your-cicd-pipeline-with-jenkins-he) 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](https://medium.com/@rishabh1799/building-pipeline-and-launching-jenkins-in-container-d4faf39de173)
* [lambdatest.com: Best Jenkins Pipeline Tutorial For Beginners (Examples) ๐](https://www.lambdatest.com/blog/jenkins-pipeline-tutorial/)
+* [youtube: MSBuild With Jenkins | Jenkins For C# / .NET Applications](https://www.youtube.com/watch?v=uC7vajbnZS4)
+* [betsol.com: DevOps Using Jenkins, Docker, and Kubernetes](https://www.betsol.com/blog/devops-using-jenkins-docker-and-kubernetes/)
[](https://jenkinsistheway.io)
@@ -180,6 +183,7 @@
- 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's 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](https://www.keptn.sh) which provides **automated SLI/SLO-based quality gates**. Then we'll talk about [Keptn Jenkins Shared Library](https://github.com/keptn-sandbox/keptn-jenkins-library) which **integrates Jenkins and Keptn** with just a couple of function calls.
- [youtube: Level-Up your Jenkins-based Delivery with Keptn](https://www.youtube.com/watch?v=VYRdirdjOAg&t=5s)
+- [thenewstack.io: How Keptn Automatically Configures Prometheus Ecosystems](https://thenewstack.io/how-keptn-automatically-configures-prometheus-ecosystems/)
[](https://www.youtube.com/watch?v=GhEZLvc8B70)
@@ -321,6 +325,10 @@
* [Git Plugin Performance Improvement: Final Phase and Release ๐](https://www.jenkins.io/blog/2020/08/29/git-performance-improvement-phase3/)
* [Parameter Separator](https://plugins.jenkins.io/parameter-separator/)
* [Declarative Pipeline Migration Assistant API ๐](https://plugins.jenkins.io/declarative-pipeline-migration-assistant-api/) 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 โbest effortโ 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 ๐](https://plugins.jenkins.io/hashicorp-vault-plugin/)
+* [Matrix Authorization Strategy ๐](https://plugins.jenkins.io/matrix-auth/)
+* [AWS Secrets Manager Credentials Provider](https://plugins.jenkins.io/aws-secrets-manager-credentials-provider/)
+* [QF-Test](https://plugins.jenkins.io/qftest/) is a cross-platform software tool for the GUI test automation specialized on Java and Web applications.
### Plugin Development. Jenkins Plugin Parent POM 4.0
- [Plugin Development](https://www.jenkins.io/doc/developer/plugin-development/)
@@ -421,6 +429,10 @@
* [Youtube: Kubernetes Package Management with Helm and CI/CD with Jenkins X - Webinar by Neependra Khare](https://www.youtube.com/watch?v=oZOZiL6XIfA&feature=emb_title)
* [go.digitalocean.com/cicd-on-k8s](https://go.digitalocean.com/cicd-on-k8s)
+## Jenkins and SAP
+- [blogs.sap.com: Continuous quality using plugins and Jenkins (ABAP & UI5)](https://blogs.sap.com/2020/10/18/continuous-quality-using-plugins-and-jenkins-abap-ui5/)
+- [blogs.sap.com: CI/CD Tools for SAP Cloud Platform ABAP Environment](https://blogs.sap.com/2020/10/22/ci-cd-tools-for-sap-cloud-platform-abap-environment/)
+
[](https://www.cloudbees.com/)
[](https://hostadvice.com/blog/devops-toolbox-jenkins-ansible-chef-puppet-vagrant-saltstack/)
diff --git a/docs/kubernetes-client-libraries.md b/docs/kubernetes-client-libraries.md
index fe047d28..20340bf7 100644
--- a/docs/kubernetes-client-libraries.md
+++ b/docs/kubernetes-client-libraries.md
@@ -14,4 +14,5 @@
* [Github: Eclipse Jkube](https://github.com/eclipse/jkube)
* [developers.redhat.com: Migrating from Fabric8 Maven Plugin to Eclipse JKube 1.0.0](https://developers.redhat.com/blog/2020/09/21/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](https://developers.redhat.com/blog/2020/09/09/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](https://developers.redhat.com/blog/2020/08/24/java-development-on-top-of-kubernetes-using-eclipse-jkube/)
\ No newline at end of file
+* [developers.redhat.com: Java development on top of Kubernetes using Eclipse JKube](https://developers.redhat.com/blog/2020/08/24/java-development-on-top-of-kubernetes-using-eclipse-jkube/)
+* [eclipse.org: Migration Guide for projects using Fabric8 Maven Plugin to Eclipse JKube ๐](https://www.eclipse.org/jkube/docs/migration-guide/)
\ No newline at end of file
diff --git a/docs/kubernetes.md b/docs/kubernetes.md
index e3da21da..79bb1a50 100644
--- a/docs/kubernetes.md
+++ b/docs/kubernetes.md
@@ -2,147 +2,149 @@
- [Certified Kubernetes Offerings](#certified-kubernetes-offerings)
- [The State of Cloud-Native Development. Details data on the use of Kubernetes, serverless computing and more](#the-state-of-cloud-native-development-details-data-on-the-use-of-kubernetes-serverless-computing-and-more)
- [Kubernetes open-source container-orchestation](#kubernetes-open-source-container-orchestation)
- - [Kubernetes Best Practices & Tips](#kubernetes-best-practices--tips)
- - [Disruptions](#disruptions)
- - [Cost Estimation Strategies](#cost-estimation-strategies)
- - [Kubernetes Resource and Capacity Management](#kubernetes-resource-and-capacity-management)
- - [Kubernetes Monitoring](#kubernetes-monitoring)
- - [Logging in Kubernetes](#logging-in-kubernetes)
- - [Health Checks](#health-checks)
- - [Architecting Kubernetes clusters](#architecting-kubernetes-clusters)
- - [Templating YAML in Kubernetes with real code. YQ YAML processor](#templating-yaml-in-kubernetes-with-real-code-yq-yaml-processor)
- - [Kubernetes Limits](#kubernetes-limits)
- - [Kube Scheduler](#kube-scheduler)
- - [Kubernetes Knowledge Hubs](#kubernetes-knowledge-hubs)
+ - [Kubernetes Best Practices & Tips](#kubernetes-best-practices--tips)
+ - [Disruptions](#disruptions)
+ - [Cost Estimation Strategies](#cost-estimation-strategies)
+ - [Kubernetes Resource and Capacity Management](#kubernetes-resource-and-capacity-management)
+ - [Kubernetes Monitoring](#kubernetes-monitoring)
+ - [Logging in Kubernetes](#logging-in-kubernetes)
+ - [Health Checks](#health-checks)
+ - [Architecting Kubernetes clusters](#architecting-kubernetes-clusters)
+ - [Templating YAML in Kubernetes with real code. YQ YAML processor](#templating-yaml-in-kubernetes-with-real-code-yq-yaml-processor)
+ - [Kubernetes Limits](#kubernetes-limits)
+ - [Kube Scheduler](#kube-scheduler)
+ - [Kubernetes Knowledge Hubs](#kubernetes-knowledge-hubs)
- [Kubectl commands](#kubectl-commands)
- - [Kubectl Cheat Sheets](#kubectl-cheat-sheets)
- - [Kubectl explain](#kubectl-explain)
- - [Kubectl Autocomplete](#kubectl-autocomplete)
- - [List all resources and sub resources that you can constrain with RBAC](#list-all-resources-and-sub-resources-that-you-can-constrain-with-rbac)
- - [Copy a configMap in kubernetes between namespaces](#copy-a-configmap-in-kubernetes-between-namespaces)
- - [Copy secrets in kubernetes between namespaces](#copy-secrets-in-kubernetes-between-namespaces)
- - [Export resources with kubectl and python](#export-resources-with-kubectl-and-python)
- - [Kubectl Alternatives](#kubectl-alternatives)
- - [Manage Kubernetes (K8s) objects with Ansible Kubernetes Module](#manage-kubernetes-k8s-objects-with-ansible-kubernetes-module)
- - [Jenkins Kubernetes Plugins](#jenkins-kubernetes-plugins)
+ - [Kubectl Cheat Sheets](#kubectl-cheat-sheets)
+ - [Kubectl explain](#kubectl-explain)
+ - [Kubectl Autocomplete](#kubectl-autocomplete)
+ - [List all resources and sub resources that you can constrain with RBAC](#list-all-resources-and-sub-resources-that-you-can-constrain-with-rbac)
+ - [Copy a configMap in kubernetes between namespaces](#copy-a-configmap-in-kubernetes-between-namespaces)
+ - [Copy secrets in kubernetes between namespaces](#copy-secrets-in-kubernetes-between-namespaces)
+ - [Export resources with kubectl and python](#export-resources-with-kubectl-and-python)
+ - [Kubectl Alternatives](#kubectl-alternatives)
+ - [Manage Kubernetes (K8s) objects with Ansible Kubernetes Module](#manage-kubernetes-k8s-objects-with-ansible-kubernetes-module)
+ - [Jenkins Kubernetes Plugins](#jenkins-kubernetes-plugins)
- [Self Service Kubernetes Namespaces](#self-service-kubernetes-namespaces)
- [Client Libraries for Kubernetes](#client-libraries-for-kubernetes)
- [Helm Kubernetes Tool](#helm-kubernetes-tool)
- [Kubernetes Development Tools. Kubernetes clients and dashboards](#kubernetes-development-tools-kubernetes-clients-and-dashboards)
- - [Okteto local kubernetes development](#okteto-local-kubernetes-development)
- - [Lens Kubernetes IDE](#lens-kubernetes-ide)
- - [Kubenav](#kubenav)
- - [Skaffold. Local Kubernetes Development](#skaffold-local-kubernetes-development)
- - [Kind](#kind)
+ - [Okteto local kubernetes development](#okteto-local-kubernetes-development)
+ - [Lens Kubernetes IDE](#lens-kubernetes-ide)
+ - [Kubenav](#kubenav)
+ - [Skaffold. Local Kubernetes Development](#skaffold-local-kubernetes-development)
+ - [Kind](#kind)
- [Cluster Autoscaler Kubernetes Tool](#cluster-autoscaler-kubernetes-tool)
- - [HPA and VPA](#hpa-and-vpa)
- - [Cluster Autoscaler and Helm](#cluster-autoscaler-and-helm)
- - [Cluster Autoscaler and DockerHub](#cluster-autoscaler-and-dockerhub)
- - [Cluster Autoscaler in GKE, EKS, AKS and DOKS](#cluster-autoscaler-in-gke-eks-aks-and-doks)
- - [Cluster Autoscaler in OpenShift](#cluster-autoscaler-in-openshift)
- - [Kubernetes Load Testing and High Load Tuning](#kubernetes-load-testing-and-high-load-tuning)
+ - [HPA and VPA](#hpa-and-vpa)
+ - [Cluster Autoscaler and Helm](#cluster-autoscaler-and-helm)
+ - [Cluster Autoscaler and DockerHub](#cluster-autoscaler-and-dockerhub)
+ - [Cluster Autoscaler in GKE, EKS, AKS and DOKS](#cluster-autoscaler-in-gke-eks-aks-and-doks)
+ - [Cluster Autoscaler in OpenShift](#cluster-autoscaler-in-openshift)
+ - [Kubernetes Load Testing and High Load Tuning](#kubernetes-load-testing-and-high-load-tuning)
- [Extending Kubernetes](#extending-kubernetes)
- - [Adding Custom Resources. Extending Kubernetes API with Kubernetes Resource Definitions. CRD vs Aggregated API](#adding-custom-resources-extending-kubernetes-api-with-kubernetes-resource-definitions-crd-vs-aggregated-api)
- - [Krew, a plugin manager for kubectl plugins](#krew-a-plugin-manager-for-kubectl-plugins)
- - [OpenKruise/Kruise](#openkruisekruise)
- - [Crossplane, a Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions](#crossplane-a-universal-control-plane-api-for-cloud-computing-crossplane-workloads-definitions)
+ - [Adding Custom Resources. Extending Kubernetes API with Kubernetes Resource Definitions. CRD vs Aggregated API](#adding-custom-resources-extending-kubernetes-api-with-kubernetes-resource-definitions-crd-vs-aggregated-api)
+ - [Krew, a plugin manager for kubectl plugins](#krew-a-plugin-manager-for-kubectl-plugins)
+ - [OpenKruise/Kruise](#openkruisekruise)
+ - [Crossplane, a Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions](#crossplane-a-universal-control-plane-api-for-cloud-computing-crossplane-workloads-definitions)
- [Kubernetes Community](#kubernetes-community)
- - [Community Forums](#community-forums)
- - [Kubernetes Special Interest Groups (SIGs)](#kubernetes-special-interest-groups-sigs)
- - [Kubernetes SIG's Repos](#kubernetes-sigs-repos)
- - [Kubectl Plugins](#kubectl-plugins)
- - [Kubectl Plugins and Tools. Kubernetes Extensions & Projects](#kubectl-plugins-and-tools-kubernetes-extensions--projects)
+ - [Community Forums](#community-forums)
+ - [Kubernetes Special Interest Groups (SIGs)](#kubernetes-special-interest-groups-sigs)
+ - [Kubernetes SIG's Repos](#kubernetes-sigs-repos)
+ - [Kubectl Plugins](#kubectl-plugins)
+ - [Kubectl Plugins and Tools. Kubernetes Extensions & Projects](#kubectl-plugins-and-tools-kubernetes-extensions--projects)
- [Enforcing Policies and governance for kubernetes workloads with Conftest](#enforcing-policies-and-governance-for-kubernetes-workloads-with-conftest)
- [Kubernetes Backup](#kubernetes-backup)
- - [Backup with Velero](#backup-with-velero)
+ - [Backup with Velero](#backup-with-velero)
- [Kubernetes Troubleshooting](#kubernetes-troubleshooting)
- - [Debugging Techniques and Strategies. Debugging with ephemeral containers](#debugging-techniques-and-strategies-debugging-with-ephemeral-containers)
+ - [Debugging Techniques and Strategies. Debugging with ephemeral containers](#debugging-techniques-and-strategies-debugging-with-ephemeral-containers)
- [Kubernetes Tutorials](#kubernetes-tutorials)
- - [Online Training](#online-training)
- - [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019)
- - [Famous Kubernetes resources of 2020](#famous-kubernetes-resources-of-2020)
- - [K8s Diagrams](#k8s-diagrams)
+ - [Online Training](#online-training)
+ - [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019)
+ - [Famous Kubernetes resources of 2020](#famous-kubernetes-resources-of-2020)
+ - [K8s Diagrams](#k8s-diagrams)
- [Kubernetes Patterns](#kubernetes-patterns)
- [e-Books](#e-books)
- - [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019-1)
- - [Kubernetes Patterns eBooks](#kubernetes-patterns-ebooks)
+ - [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019-1)
+ - [Kubernetes Patterns eBooks](#kubernetes-patterns-ebooks)
- [Kubernetes Operators](#kubernetes-operators)
- - [K8Spin Operator. Kubernetes multi-tenant operator](#k8spin-operator-kubernetes-multi-tenant-operator)
- - [Flux. The GitOps Operator for Kubernetes](#flux-the-gitops-operator-for-kubernetes)
- - [K8s KPIs with Kuberhealthy Operator](#k8s-kpis-with-kuberhealthy-operator)
- - [Writing Kubernetes Operators](#writing-kubernetes-operators)
+ - [K8Spin Operator. Kubernetes multi-tenant operator](#k8spin-operator-kubernetes-multi-tenant-operator)
+ - [Flux. The GitOps Operator for Kubernetes](#flux-the-gitops-operator-for-kubernetes)
+ - [K8s KPIs with Kuberhealthy Operator](#k8s-kpis-with-kuberhealthy-operator)
+ - [Writing Kubernetes Operators](#writing-kubernetes-operators)
- [Kubernetes Networking](#kubernetes-networking)
- - [Kubernetes Ingress Specification](#kubernetes-ingress-specification)
- - [Xposer Kubernetes Controller To Manage Ingresses](#xposer-kubernetes-controller-to-manage-ingresses)
- - [Software-Defined IP Address Management (IPAM)](#software-defined-ip-address-management-ipam)
- - [CNI Container Networking Interface](#cni-container-networking-interface)
- - [List of existing CNI Plugins (IPAM)](#list-of-existing-cni-plugins-ipam)
- - [Project Calico](#project-calico)
- - [DNS Service with CoreDNS](#dns-service-with-coredns)
- - [Kubernetes Node Local DNS Cache](#kubernetes-node-local-dns-cache)
+ - [Kubernetes Ingress Specification](#kubernetes-ingress-specification)
+ - [Xposer Kubernetes Controller To Manage Ingresses](#xposer-kubernetes-controller-to-manage-ingresses)
+ - [Software-Defined IP Address Management (IPAM)](#software-defined-ip-address-management-ipam)
+ - [CNI Container Networking Interface](#cni-container-networking-interface)
+ - [List of existing CNI Plugins (IPAM)](#list-of-existing-cni-plugins-ipam)
+ - [Project Calico](#project-calico)
+ - [DNS Service with CoreDNS](#dns-service-with-coredns)
+ - [Kubernetes Node Local DNS Cache](#kubernetes-node-local-dns-cache)
- [Kubernetes Sidecars](#kubernetes-sidecars)
- [Kubernetes Security](#kubernetes-security)
- - [RBAC](#rbac)
- - [Security Best Practices Across Build, Deploy, and Runtime Phases](#security-best-practices-across-build-deploy-and-runtime-phases)
- - [Kubernetes Authentication and Authorization](#kubernetes-authentication-and-authorization)
- - [Kubernetes Authentication Methods](#kubernetes-authentication-methods)
- - [X.509 client certificates](#x509-client-certificates)
- - [Static HTTP Bearer Tokens](#static-http-bearer-tokens)
- - [OpenID Connect](#openid-connect)
- - [Implementing a custom Kubernetes authentication method](#implementing-a-custom-kubernetes-authentication-method)
- - [Pod Security Policies (SCCs - Security Context Constraints in OpenShift)](#pod-security-policies-sccs---security-context-constraints-in-openshift)
- - [EKS Security](#eks-security)
+ - [RBAC](#rbac)
+ - [Admission Control](#admission-control)
+ - [Security Best Practices Across Build, Deploy, and Runtime Phases](#security-best-practices-across-build-deploy-and-runtime-phases)
+ - [Kubernetes Authentication and Authorization](#kubernetes-authentication-and-authorization)
+ - [Kubernetes Authentication Methods](#kubernetes-authentication-methods)
+ - [X.509 client certificates](#x509-client-certificates)
+ - [Static HTTP Bearer Tokens](#static-http-bearer-tokens)
+ - [OpenID Connect](#openid-connect)
+ - [Implementing a custom Kubernetes authentication method](#implementing-a-custom-kubernetes-authentication-method)
+ - [Pod Security Policies (SCCs - Security Context Constraints in OpenShift)](#pod-security-policies-sccs---security-context-constraints-in-openshift)
+ - [EKS Security](#eks-security)
- [Kubernetes Scheduling and Scheduling Profiles](#kubernetes-scheduling-and-scheduling-profiles)
- - [Assigning Pods to Nodes. Pod Affinity and Anti-Affinity](#assigning-pods-to-nodes-pod-affinity-and-anti-affinity)
- - [Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin](#pod-topology-spread-constraints-and-podtopologyspread-scheduling-plugin)
+ - [Assigning Pods to Nodes. Pod Affinity and Anti-Affinity](#assigning-pods-to-nodes-pod-affinity-and-anti-affinity)
+ - [Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin](#pod-topology-spread-constraints-and-podtopologyspread-scheduling-plugin)
- [Kubernetes etcd](#kubernetes-etcd)
- [Kubernetes Storage](#kubernetes-storage)
- - [Kubernetes Volumes Guide](#kubernetes-volumes-guide)
- - [ReadWriteMany PersistentVolumeClaims](#readwritemany-persistentvolumeclaims)
+ - [Kubernetes Volumes Guide](#kubernetes-volumes-guide)
+ - [ReadWriteMany PersistentVolumeClaims](#readwritemany-persistentvolumeclaims)
- [Non-production Kubernetes Local Installers](#non-production-kubernetes-local-installers)
- [Kubernetes in Public Cloud](#kubernetes-in-public-cloud)
- - [GKE vs EKS vs AKS](#gke-vs-eks-vs-aks)
- - [AWS EKS (Hosted/Managed Kubernetes on AWS)](#aws-eks-hostedmanaged-kubernetes-on-aws)
- - [GCP & GKE](#gcp--gke)
- - [Tools for multi-cloud Kubernetes management](#tools-for-multi-cloud-kubernetes-management)
+ - [GKE vs EKS vs AKS](#gke-vs-eks-vs-aks)
+ - [AWS EKS (Hosted/Managed Kubernetes on AWS)](#aws-eks-hostedmanaged-kubernetes-on-aws)
+ - [GCP & GKE](#gcp--gke)
+ - [Tools for multi-cloud Kubernetes management](#tools-for-multi-cloud-kubernetes-management)
- [On-Premise Production Kubernetes Cluster Installers](#on-premise-production-kubernetes-cluster-installers)
- - [Comparative Analysis of Kubernetes Deployment Tools](#comparative-analysis-of-kubernetes-deployment-tools)
- - [Deploying Kubernetes Cluster with Kops](#deploying-kubernetes-cluster-with-kops)
- - [Deploying Kubernetes Cluster with Kubeadm](#deploying-kubernetes-cluster-with-kubeadm)
- - [Deploying Kubernetes Cluster with Ansible](#deploying-kubernetes-cluster-with-ansible)
- - [kube-aws Kubernetes on AWS](#kube-aws-kubernetes-on-aws)
- - [Kubespray](#kubespray)
- - [Conjure up](#conjure-up)
- - [WKSctl](#wksctl)
- - [Terraform (kubernetes the hard way)](#terraform-kubernetes-the-hard-way)
- - [Caravan](#caravan)
- - [ClusterAPI](#clusterapi)
- - [Microk8s](#microk8s)
- - [k8s-tew](#k8s-tew)
- - [Kubernetes Distributions](#kubernetes-distributions)
- - [Red Hat OpenShift](#red-hat-openshift)
- - [Rancher](#rancher)
- - [Weave Kubernetes Platform](#weave-kubernetes-platform)
- - [Ubuntu Charmed Kubernetes](#ubuntu-charmed-kubernetes)
- - [VMware Kubernetes Tanzu and Project Pacific](#vmware-kubernetes-tanzu-and-project-pacific)
- - [Kontena Pharos](#kontena-pharos)
- - [Mirantis Docker Enterprise with Kubernetes and Docker Swarm](#mirantis-docker-enterprise-with-kubernetes-and-docker-swarm)
+ - [Comparative Analysis of Kubernetes Deployment Tools](#comparative-analysis-of-kubernetes-deployment-tools)
+ - [Deploying Kubernetes Cluster with Kops](#deploying-kubernetes-cluster-with-kops)
+ - [Deploying Kubernetes Cluster with Kubeadm](#deploying-kubernetes-cluster-with-kubeadm)
+ - [Deploying Kubernetes Cluster with Ansible](#deploying-kubernetes-cluster-with-ansible)
+ - [kube-aws Kubernetes on AWS](#kube-aws-kubernetes-on-aws)
+ - [Kubespray](#kubespray)
+ - [Conjure up](#conjure-up)
+ - [WKSctl](#wksctl)
+ - [Terraform (kubernetes the hard way)](#terraform-kubernetes-the-hard-way)
+ - [Caravan](#caravan)
+ - [ClusterAPI](#clusterapi)
+ - [Microk8s](#microk8s)
+ - [k8s-tew](#k8s-tew)
+ - [Kubernetes Distributions](#kubernetes-distributions)
+ - [Red Hat OpenShift](#red-hat-openshift)
+ - [Rancher](#rancher)
+ - [Weave Kubernetes Platform](#weave-kubernetes-platform)
+ - [Ubuntu Charmed Kubernetes](#ubuntu-charmed-kubernetes)
+ - [VMware Kubernetes Tanzu and Project Pacific](#vmware-kubernetes-tanzu-and-project-pacific)
+ - [Kontena Pharos](#kontena-pharos)
+ - [Mirantis Docker Enterprise with Kubernetes and Docker Swarm](#mirantis-docker-enterprise-with-kubernetes-and-docker-swarm)
- [Cloud Development Kit (CDK) for Kubernetes](#cloud-development-kit-cdk-for-kubernetes)
- - [AWS Cloud Development Kit (AWS CDK)](#aws-cloud-development-kit-aws-cdk)
+ - [AWS Cloud Development Kit (AWS CDK)](#aws-cloud-development-kit-aws-cdk)
- [SpringBoot with Docker](#springboot-with-docker)
- [Docker in Docker](#docker-in-docker)
- [Serverless with OpenFaas and Knative](#serverless-with-openfaas-and-knative)
- [Multi-Cluster Federation. Hybrid Cloud Setup Tools](#multi-cluster-federation-hybrid-cloud-setup-tools)
- - [KubeFed](#kubefed)
- - [KubeCarrier](#kubecarrier)
- - [Red Hat Operator Lifecycle Manager (OLM)](#red-hat-operator-lifecycle-manager-olm)
- - [Crossplane](#crossplane)
- - [Istio Service Mesh](#istio-service-mesh)
+ - [KubeFed](#kubefed)
+ - [KubeCarrier](#kubecarrier)
+ - [Red Hat Operator Lifecycle Manager (OLM)](#red-hat-operator-lifecycle-manager-olm)
+ - [Crossplane](#crossplane)
+ - [Istio Service Mesh](#istio-service-mesh)
- [Kubernetes interview questions](#kubernetes-interview-questions)
- [Spanish Kubernetes Blogs](#spanish-kubernetes-blogs)
- [Container Ecosystem](#container-ecosystem)
- [Container Flowchart](#container-flowchart)
- [Kubernetes Scripts](#kubernetes-scripts)
+- [Spot instances in Kubernetes](#spot-instances-in-kubernetes)
- [Pixie. Instantly troubleshoot applications on Kubernetes](#pixie-instantly-troubleshoot-applications-on-kubernetes)
- [Videos](#videos)
@@ -192,7 +194,7 @@
* [4 trends for Kubernetes cloud-native teams to watch in 2020 ๐](https://searchapparchitecture.techtarget.com/tip/4-trends-for-Kubernetes-cloud-native-teams-to-watch-in-2020) Today's software architectural landscape seems to change like the weather. Stay ahead of the curve with these cloud-related trends, including GitOps and service meshes.
* [opensource.com: A beginner's guide to Kubernetes container orchestration](https://opensource.com/article/20/6/container-orchestration) Understanding the building blocks of container orchestration makes it easier to get started with Kubernetes.
* [thenewstack.io: 5 Best Practices for Configuring Kubernetes Pods Running in Production](https://thenewstack.io/5-best-practices-for-configuring-kubernetes-pods-running-in-production/)
-* [Creating a Kubernetes cloud provider, doesn't required boiling the ocean](https://thebsdbox.co.uk/2020/03/18/Creating-a-Kubernetes-cloud-doesn-t-required-boiling-the-ocean/?utm_sq=gf0mhghh60)
+* [Creating a Kubernetes cloud provider, doesn't required boiling the ocean ๐](https://thebsdbox.co.uk/2020/03/18/Creating-a-Kubernetes-cloud-doesn-t-required-boiling-the-ocean/)
* [medium: How to configure and manage Pod in Kubernetes Cluster (K8s)](https://medium.com/faun/pod-in-kubernetes-cluster-k8s-adeb5b901153) There are two types of Pods: Single container pod & Multi container pod.
* [opensource.com: 5 ways to boost your Kubernetes knowledge](https://opensource.com/article/20/6/kubernetes-anniversary)
* [kinvolk.io: Investigating Kubernetes performance issues with BPF ๐](https://kinvolk.io/blog/2020/04/inside-kinvolk-labs-investigating-kubernetes-performance-issues-with-bpf/)
@@ -284,6 +286,27 @@
* [medium: Individual Kubernetes Clusters vs. Shared Kubernetes Clusters for Development](https://medium.com/faun/individual-kubernetes-clusters-vs-shared-kubernetes-clusters-for-development-3399576b0f1f)
* [medium: Kubernetes Multi-Tenancy โ A Best Practices Guide ๐](https://medium.com/faun/kubernetes-multi-tenancy-a-best-practices-guide-88e37ef2b709)
* [medium: Better Debugging Environment for your Micro-Services](https://medium.com/@moshe.beladev.mb/better-debugging-environment-for-your-micro-services-9420a71b8a37)
+* [Getting a shell on each node](https://gist.github.com/xandout/8d24558c75c53f3cb8bf0a97ec25fcfc) 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)
+* [medium: Virtual Clusters for Kubernetes โ Benefits and Use Cases](https://medium.com/better-programming/virtual-clusters-for-kubernetes-benefits-use-cases-a4eee1c5c5a5) Virtual Kubernetes clusters could be the next driver for Kubernetes adoption
+* [devcentral.f5.com: What is Kubernetes?](https://devcentral.f5.com/s/articles/What-is-Kubernetes)
+* [docs.google.com: Kubernetes For Everyone ๐๐](https://docs.google.com/document/d/1p4ZYQYM2VrMCR8K3T68JOMzWHlV-C8Jogrl9Ces77OA) A consolidated document on Kubernetes by: Pavan Belagatti
+* [blog.sighup.io: Hierarchical Namespace Controller (HNC): a look into the future of Kubernetes Multitenancy](https://blog.sighup.io/an-introduction-to-hierarchical-namespace-controller-hnc/) 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.
+* [thenewstack.io: Who Needs a Dashboard? Why the Kubernetes Command Line Is Not Enough](https://thenewstack.io/who-needs-a-dashboard-why-the-kubernetes-command-line-is-not-enough/)
+* [medium: Discovering Running Pods By Using DNS and Headless Services in Kubernetes](https://medium.com/swlh/discovering-running-pods-by-using-dns-and-headless-services-in-kubernetes-7002a50747f4)
+* [itnext.io: Writing a Kubernetes CLI in Go](https://itnext.io/writing-a-kubernetes-cli-in-go-a3970ad58299)
+* [medium: Create a Custom Annotation for the Kubernetes ingress-nginx Controller](https://medium.com/better-programming/creating-a-custom-annotation-for-the-kubernetes-ingress-nginx-controller-444e9d486192)
+* [containerjournal.com: Overcoming Kubernetes Infrastructure Challenges](https://containerjournal.com/topics/container-management/overcoming-kubernetes-infrastructure-challenges/)
+* [medium: Working with Service Account In Kubernetes ๐](https://medium.com/the-programmer/working-with-service-account-in-kubernetes-df129cb4d1cc) How to configure a service account in Kubernetes and manage it?
+* [gravitational.com: How to Set Up Kubernetes SSO with SAML](https://gravitational.com/blog/kubernetes-sso-saml/)
+* [redhat.com: Kubernetes basics for sysadmins](https://www.redhat.com/sysadmin/kubernetes-basics-sysadmins) Learn when Kubernetes can be effectively used and how the containers it manages might be better than virtual machines.
+* [blog.newrelic.com: Kubernetes Fundamentals ๐](https://blog.newrelic.com/tag/kubernetes-fundamentals/)
+ * https://blog.newrelic.com/engineering/kubernetes-request-and-limits/
+ * https://blog.newrelic.com/engineering/kubernetes-health-checks/
+ * https://blog.newrelic.com/engineering/how-to-use-kubernetes-secrets/
+ * https://blog.newrelic.com/engineering/how-to-organize-kubernetes-clusters/
+ * https://blog.newrelic.com/engineering/how-to-use-kubernetes-volumes/
+* [erkanerol.github.io: I wish pods were fully restartable](https://erkanerol.github.io/post/restartable-pods/) Why are Pod not fully restartable in Kubernetes? Why is Kubernetes not restarting the Pod in CrashLoopBackOff?
+* [loginradius.com: Understanding Basics of Kubernetes](https://www.loginradius.com/engineering/blog/understanding-kubernetes/)
[](https://www.padok.fr/en/blog/kubernetes-architecture-clusters)
@@ -331,6 +354,8 @@
- [medium: How to Deploy an EFK stack to Kubernetes](https://medium.com/avmconsulting-blog/how-to-deploy-an-efk-stack-to-kubernetes-ebc1b539d063)
- [digitalocean.com: How To Set Up an Elasticsearch, Fluentd and Kibana (EFK) Logging Stack on Kubernetes](https://www.digitalocean.com/community/tutorials/how-to-set-up-an-elasticsearch-fluentd-and-kibana-efk-logging-stack-on-kubernetes)
- [portworx.com: How to backup and restore Elasticsearch on Kubernetes](https://portworx.com/how-to-backup-and-restore-elasticsearch-on-kubernetes/)
+- [elastic.co: Elastic Stack Monitoring with Elastic Cloud on Kubernetes (ECK - official operator) ๐](https://www.elastic.co/es/blog/elastic-stack-monitoring-with-elastic-cloud-on-kubernetes) In this blog post, we'll explore how the official **ElasticCloud** on **Kubernetes operator** can be used to easily deploy and manage **ElasticStack Monitoring** using the new **Beat CRD**.
+* [papertrail.com: Quick and Easy Way to Implement Kubernetes Logging](https://www.papertrail.com/blog/quick-and-easy-way-to-implement-kubernetes-logging/) The SolarWindsยฎ Papertrailโข 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.
### Health Checks
* [medium: How to Perform Health checks in Kubernetes (K8s)](https://medium.com/faun/how-to-perform-health-checks-in-kubernetes-k8s-a4e5300b1f9d)
@@ -361,6 +386,7 @@
## Kubectl commands
* [itnext.io: Boosting your kubectl productivity](https://itnext.io/boosting-your-kubectl-productivity-b348f7c25712)
* [medium: 4 Simple Kubernetes Terminal Customizations to Boost Your Productivity](https://medium.com/better-programming/4-simple-kubernetes-terminal-customizations-to-boost-your-productivity-deda60a19924)
+* [medium: Ready-to-use commands and tips for kubectl](https://medium.com/flant-com/kubectl-commands-and-tips-7b33de0c5476)
### Kubectl Cheat Sheets
* [Kubectl Cheat Sheets](cheatsheets.md)
@@ -477,6 +503,7 @@ kubectl get secret --namespace=โ-o yaml | sed โs/names
* [tech.deliveryhero.com: Dynamically overscaling a Kubernetes cluster with cluster-autoscaler and Pod Priority](https://tech.deliveryhero.com/dynamically-overscaling-a-kubernetes-cluster-with-cluster-autoscaler-and-pod-priority/)
* [medium: Build Kubernetes Autoscaling for Cluster Nodes and Application Pods ๐](https://medium.com/better-programming/build-kubernetes-autoscaling-for-cluster-nodes-and-application-pods-bb7f2d716b07)
* [Auto-Scaling Your Kubernetes Workloads (K8s) ๐](https://medium.com/faun/autoscaling-in-kubernetes-cluster-bc55b8393a19)
+* [medium: Cluster Autoscaler in Kubernetes](https://medium.com/avmconsulting-blog/cluster-autoscaler-type-in-kubernetes-part2-f2ae432eefbb)
### HPA and VPA
* [HPA: Horizontal Pod Autoscaler](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)
@@ -664,7 +691,7 @@ kubectl get secret --namespace=โ-o yaml | sed โs/names
* [Cluster Turndown](https://github.com/kubecost/cluster-turndown) is an automated scaledown and scaleup of a Kubernetes cluster's backing nodes based on a custom schedule and turndown criteria.
* [capsule](https://github.com/clastix/capsule) 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.
* [Kubernetes Node Label Monitor](https://github.com/adaptant-labs/k8s-node-label-monitor) is a Kubernetes controller for monitoring and notifying about changes to Node label states
-* [kubeinit](https://github.com/Kubeinit/kubeinit) KubeInit provides Ansible playbooks and roles for the deployment and configuration of multiple Kubernetes distributions.
+* [kubeinit ๐](https://github.com/Kubeinit/kubeinit) KubeInit provides Ansible playbooks and roles for the deployment and configuration of multiple Kubernetes distributions.
* [kubergui: Kubernetes Deployment Builder๐](https://github.com/BrandonPotter/kubergui) quickly builds out a basic Kubernetes Deployment and Kubernetes Service YAML. Kubernetes GUI YAML generators for simple but typo-prone tasks.
* [fubectl](https://github.com/kubermatic/fubectl) is a tool that reduces repetitive interactions with kubectl
* [Authelia ๐](https://github.com/authelia/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
@@ -696,6 +723,22 @@ kubectl get secret --namespace=โ-o yaml | sed โs/names
- [ecrcp](https://github.com/bit-cloner/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 ๐](https://github.com/bridgecrewio/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 ๐](https://github.com/doitintl/clustercloner/) 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 ๐](https://github.com/Kyrremann/kubectl-eksporter) A simple Ruby-script to export k8s resources, and removes a pre-defined set of fields for later import.
+- [kubectl-neat ๐](https://github.com/itaysk/kubectl-neat) Remove clutter from Kubernetes manifests to make them more readable.
+- [medium: 4 Simple Kubernetes Terminal Customizations to Boost Your Productivity](https://medium.com/better-programming/4-simple-kubernetes-terminal-customizations-to-boost-your-productivity-deda60a19924)
+- [kubeswitch: Kubernetes Version Switcher](https://github.com/steamhaus/kubeswitch) Easily switch kubectl binary versions.
+- [Move2Kube ๐](https://github.com/konveyor/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.
+- [skopeo ๐](https://github.com/containers/skopeo) Use skopeo to copy images between registries
+- [junit5-kubernetes](https://github.com/JeanBaptisteWATENBERG/junit5-kubernetes) aims at using a kubernetes pod directly form your junit5 test classes.
+- [mbuffett.com: Replacing ngrok with ktunnel](https://mbuffett.com/posts/ktunnel-ngrok-replace/)
+- [seaworthy: A CLI to verify #Kubernetes resource health !! ๐](https://github.com/cakehappens/seaworthy) Post-apply check to verify your K8s resources are Seaworthy
+- [kVDI](https://github.com/tinyzimmer/kvdi) A Kubernetes-native Virtual Desktop Infrastructure.
+- [kcg ๐](https://github.com/bit-cloner/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 ๐](https://github.com/winfordlin/Compass) Quickly Pinpoint Errors in your Kubernetes Deployment.
+- [kubernetes-dashboard-iam-proxy](https://github.com/Nitro/kubernetes-dashboard-iam-proxy) An in-browser version of aws eks get-token to enable cluster authentication using IAM for the Kubernetes dashboard.
+- [kube-vip](https://github.com/plunder-app/kube-vip) is a Load-Balancer for both inside and outside a Kubernetes cluster.
+- [Gitkube ๐](https://github.com/hasura/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](https://github.com/jetstack/version-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.
## Enforcing Policies and governance for kubernetes workloads with Conftest
* [Accelerated Feedback Loops when Developing for Kubernetes with Conftest](https://engineering.plex.com/posts/kubernetes-policy-conftest) Learn how to validate Kubernetes resources with Conftest for faster feedback loops
@@ -705,6 +748,7 @@ kubectl get secret --namespace=โ-o yaml | sed โs/names
* [k8s-worker-pod-autoscaler](https://github.com/practo/k8s-worker-pod-autoscaler) scales the replicas in a deployment based on observed queue length.
* [kubectl-prune / kubectl-reap ๐](https://github.com/micnncim/kubectl-reap) is a kubectl plugin that prunes unused Kubernetes resources.
* [kconnect - The Kubernetes Connection Manager CLI ๐](https://github.com/fidelity/kconnect) 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](https://github.com/plexsystems/konstraint) is a CLI tool to assist with the creation and management of templates and constraints when using [Gatekeeper](https://github.com/open-policy-agent/gatekeeper).
## Kubernetes Backup
* [kube-backup: Kubernetes resource state sync to git](https://github.com/pieterlange/kube-backup)
@@ -715,6 +759,8 @@ kubectl get secret --namespace=โ-o yaml | sed โs/names
* [k8s-snapshots: Automatic Volume Snapshots on Kubernetes](https://github.com/miracle2k/k8s-snapshots) 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](https://www.infracloud.io/blogs/protecting-kubernetes-applications-with-kanister)
* [kanister.io](https://kanister.io/)
+* [thenewstack.io: DevSecOps Teams Need Application-Consistent Backups for Kubernetes Workloads](https://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)](https://www.percona.com/blog/2020/10/22/using-volume-snapshot-clone-in-kubernetes/)
### Backup with Velero
* [akomljen.com: Kubernetes Backup and Restore with Velero ๐](https://akomljen.com/kubernetes-backup-and-restore-with-velero/?utm_sq=ggwzo8xdd8)
@@ -854,10 +900,15 @@ kubectl get secret --namespace=โ-o yaml | sed โs/names
- [DB Operator ๐](https://github.com/kloeckner-i/db-operator) 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](https://www.cncf.io/blog/2020/10/02/kubernetes-operators-101/)
- [container-solutions.com: Kubernetes Operators Explained](https://blog.container-solutions.com/kubernetes-operators-explained)
+- [kubeload - load testing](https://github.com/Efrat19/kubeload) 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](https://www.contentful.com/blog/2020/10/20/open-source-kube-secret-syncer/)
+- [registry-creds](https://github.com/alexellis/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](https://github.com/FairwindsOps/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.
### K8Spin Operator. Kubernetes multi-tenant operator
- [K8Spin Operator ๐](https://github.com/k8spin/k8spin-operator) Kubernetes multi-tenant operator. Enables multi-tenant capabilities in your Kubernetes Cluster. [We defined some small features to implement](https://github.com/k8spin/k8spin-operator/projects/1). If you know python & Kubernetes and want to contribute to this project, ping us!
- [thenewstack.io: K8Spin Provides Multitenant Isolation for Kubernetes](https://thenewstack.io/k8spin-provides-multitenant-isolation-for-kubernetes/)
+- [Discover K8Spin open source software](https://k8spin.cloud/oss-projects/)
### Flux. The GitOps Operator for Kubernetes
* [Flux ๐](https://fluxcd.io/) The GitOps operator for Kubernetes
@@ -879,7 +930,6 @@ kubectl get secret --namespace=โ-o yaml | sed โs/names
* [openshift.com: 7 Best Practices for Writing Kubernetes Operators: An SRE Perspective](https://www.openshift.com/blog/7-best-practices-for-writing-kubernetes-operators-an-sre-perspective)
* [medium: From Zero to Kubernetes Operator](https://medium.com/@victorpaulo/from-zero-to-kubernetes-operator-dd06436b9d89) 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.
-
## Kubernetes Networking
* [kubernetes.io: The Kubernetes network model. How to implement the Kubernetes networking model](https://kubernetes.io/docs/concepts/cluster-administration/networking/)
* [ovh.com - getting external traffic into kubernetes: clusterip, nodeport, loadbalancer and ingress](https://www.ovh.com/blog/getting-external-traffic-into-kubernetes-clusterip-nodeport-loadbalancer-and-ingress/)
@@ -898,6 +948,8 @@ kubectl get secret --namespace=โ-o yaml | sed โs/names
* [opensource.com: Why I use Ingress Controllers to expose Kubernetes services](https://opensource.com/article/20/8/ingress-controllers-kubernetes) Kubernetes ingress controllers will make or break your cloud architecture.
* [howtoforge.com: Network Policy in Kubernetes ๐](https://www.howtoforge.com/kubernetes_network_policy/) 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.
* [blog.nody.cc: Verify your Kubernetes Cluster Network Policies: From Faith to Proof](https://blog.nody.cc/posts/2020-06-kubernetes-network-policy-verification/)
+* [infoq.com: Kubernetes Ingress Is Now Generally Available](https://www.infoq.com/news/2020/09/kubernetes-ingress-ga/)
+* [Learnk8s: Comparison of Kubernetes Ingress Controllers ๐๐](https://docs.google.com/spreadsheets/d/191WWNpjJ2za6-nbG4ZoUMXMpUK8KlCIosvQB0f-oq3k/edit#gid=907731238) 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.
@@ -980,6 +1032,7 @@ kubectl get secret --namespace=โ-o yaml | sed โs/names
* [itnext.io: Effective Secrets with Vault and Kubernetes](https://itnext.io/effective-secrets-with-vault-and-kubernetes-9af5f5c04d06)
* [thenewstack.io: Laying the Groundwork for Kubernetes Security, Across Workloads, Pods and Users](https://thenewstack.io/laying-the-groundwork-for-kubernetes-security-across-workloads-pods-and-users/)
* [horovits.wordpress.com: Kubernetes Security Best Practices](https://horovits.wordpress.com/2020/07/15/kubernetes-security-best-practices/)
+* [containerjournal.com: How to Secure Your Kubernetes Cluster ๐](https://containerjournal.com/topics/container-security/how-to-secure-your-kubernetes-cluster/)
### RBAC
* [Configure RBAC in Kubernetes Like a Boss ๐](https://medium.com/trendyol-tech/configure-rbac-in-kubernetes-like-a-boss-665e2a8665dd) Learn how to configure RBAC in kubernetes. In this post, you will configure RBAC both with kubectl and yaml definitions.
@@ -987,6 +1040,9 @@ kubectl get secret --namespace=โ-o yaml | sed โs/names
* [Kubernetes RBAC Permission Manager ๐](https://toolbox.kali-linuxtr.net/kubernetes-rbac-permission-manager.tool)
* [Krane ๐](https://github.com/appvia/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.
+### Admission Control
+- [blog.styra.com: Why RBAC is not enough for kubernetes security ๐๐](https://blog.styra.com/blog/why-rbac-is-not-enough-for-kubernetes-api-security)
+
### Security Best Practices Across Build, Deploy, and Runtime Phases
- [Kubernetes Security 101: Risks and 29 Best Practices ๐](https://www.stackrox.com/post/2020/05/kubernetes-security-101/)
- Build Phase:
@@ -1070,7 +1126,6 @@ Kubernetes supports several authentication methods out-of-the-box, such as X.509
- [medium: How to modify etcd data of your Kubernetes directly (without K8s API)](https://medium.com/flant-com/modifying-kubernetes-etcd-data-ed3d4bb42379)
- [medium: Getting Started with Kubernetes etcd](https://medium.com/@Alibaba_Cloud/getting-started-with-kubernetes-etcd-a26cba0b4258)
- [sysdig.com: How to monitor etcd ๐](https://sysdig.com/blog/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.
-- [medium.com: How to modify etcd data of your Kubernetes directly (without K8s API)](https://medium.com/flant-com/modifying-kubernetes-etcd-data-ed3d4bb42379)
## Kubernetes Storage
- [Cloud Native Storage](storage.md)
@@ -1098,6 +1153,7 @@ Kubernetes supports several authentication methods out-of-the-box, such as X.509
* [medium.com: Local Kubernetes for LinuxโโโMiniKube vs MicroK8s](https://medium.com/containers-101/local-kubernetes-for-linux-minikube-vs-microk8s-1b2acad068d3)
* [itnext.io: Run Kubernetes On Your Machine](https://itnext.io/run-kubernetes-on-your-machine-7ee463af21a2) Several options to start playing with K8s in no time
* [padok.fr: MiniKube, Kubeadm, Kind, K3S, how to get started on Kubernetes?](https://www.padok.fr/en/blog/minikube-kubeadm-kind-k3s)
+* [loft.sh: Kubernetes Development Environments โ A Comparison](https://loft.sh/blog/kubernetes-development-environments-comparison/)
## Kubernetes in Public Cloud
### GKE vs EKS vs AKS
@@ -1133,6 +1189,8 @@ Kubernetes supports several authentication methods out-of-the-box, such as X.509
* [Using Helm with Amazon EKS without kubeconfigs](https://medium.com/analytics-vidhya/using-helm-with-amazon-eks-without-a-kubeconfig-733f44a31b1d)
* [itnext.io: Migrating Apache Spark workloads from AWS EMR to Kubernetes](https://itnext.io/migrating-apache-spark-workloads-from-aws-emr-to-kubernetes-463742b49fda)
* [Running spot instances effectively with Amazon EKS](https://m.signalvnoise.com/running-spot-instances-effectively-with-amazon-eks)
+* [aws.amazon.com: How to track costs in multi-tenant Amazon EKS clusters using Kubecost](https://aws.amazon.com/de/blogs/containers/how-to-track-costs-in-multi-tenant-amazon-eks-clusters-using-kubecost/?utm_sq=gilm3zsytz)
+* [medium: Designing a Kubernetes Cluster with Amazon EKS From Scratch ๐](https://medium.com/adobetech/designing-a-kubernetes-cluster-with-amazon-eks-from-scratch-4b4ee9d1b8f)
### GCP & GKE
- [Fetches all Primitive and Predefined GCP IAM Roles](https://github.com/darkbitio/gcp-iam-role-permissions)
@@ -1219,6 +1277,8 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops
### ClusterAPI
- [**ClusterAPI**](https://cluster-api.sigs.k8s.io/)
- [itnext.io: Multi-Cloud and Multi-Cluster Declarative Kubernetes Cluster Creation and Management with Cluster API (CAPI โ v1alpha3)](https://itnext.io/multi-cloud-and-multi-cluster-declarative-kubernetes-cluster-creation-and-management-with-cluster-6df8efdc2a89)
+- [medium: ClusterOps: 1-Line Commit to Upgrade Your Kubernetes Clusters ๐](https://medium.com/swlh/clusterops-1-line-commit-to-upgrade-your-kubernetes-clusters-de3548124d04)
+- [cncf.io webinar: Deploying Kubernetes to bare metal using cluster API](https://www.cncf.io/webinars/deploying-kubernetes-to-bare-metal-using-cluster-api/)
### Microk8s
- [**Microk8s**](https://microk8s.io/)
@@ -1351,6 +1411,9 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops
## Kubernetes Scripts
- [Kubernetes Scripts ๐](https://github.com/eldada/kubernetes-scripts)
+## Spot instances in Kubernetes
+- [itnext.io: Embracing failures and cutting infrastructure costs: Spot instances in Kubernetes](https://itnext.io/embracing-failures-and-cutting-infrastructure-costs-spot-instances-in-kubernetes-6976781beacc)
+
## Pixie. Instantly troubleshoot applications on Kubernetes
- [Pixie ๐](https://docs.pixielabs.ai/) Instantly debug your applications on Kubernetes
- [open source PxL scripts](https://github.com/pixie-labs/pixie/tree/main/pxl_scripts)
diff --git a/docs/linux.md b/docs/linux.md
index e3530baf..d0b020d7 100644
--- a/docs/linux.md
+++ b/docs/linux.md
@@ -8,18 +8,20 @@
- [Linux Commands and Tools](#linux-commands-and-tools)
- [Linux processes](#linux-processes)
- [Linux and Kubernetes](#linux-and-kubernetes)
- - [Systemd](#systemd)
- - [Blogs](#blogs)
- - [CommandLineFu](#commandlinefu)
- - [Wait until Your Dockerized Database Is Ready before Continuing](#wait-until-your-dockerized-database-is-ready-before-continuing)
- - [Copr Build System](#copr-build-system)
- - [Pulp](#pulp)
- - [Hashicorp](#hashicorp)
+ - [Systemd](#systemd)
+ - [Blogs](#blogs)
+ - [CommandLineFu](#commandlinefu)
+ - [Wait until Your Dockerized Database Is Ready before Continuing](#wait-until-your-dockerized-database-is-ready-before-continuing)
+ - [Copr Build System](#copr-build-system)
+ - [Pulp](#pulp)
+ - [Hashicorp](#hashicorp)
- [Linux Libraries](#linux-libraries)
- [Linux Networking](#linux-networking)
## VIM
- [VimWiki](https://github.com/vimwiki/vimwiki)
+- [redhat.com: Vim: Basic and intermediate commands](https://www.redhat.com/sysadmin/vim-commands)
+- [dev.to: Another one short Vim cheat sheet](https://dev.to/gleb_the_human/another-one-short-vim-cheat-sheet-39fc)
## SSH
- [gravitational.com: How to SSH Properly ๐](https://gravitational.com/blog/how-to-ssh-properly/)
@@ -84,6 +86,9 @@
- [redhat.com: Vim: Basic and intermediate commands](https://www.redhat.com/sysadmin/vim-commands)
- [redhat.com: Using ssh-keygen and sharing for key-based authentication in Linux](https://www.redhat.com/sysadmin/configure-ssh-keygen) 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](https://www.tecmint.com/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](https://www.cyberciti.biz/faq/howto-configure-dual-wan-load-balance-failover-pfsense-router/)
+- [nikhilism.com: Mystery Knowledge and Useful Tools](https://nikhilism.com/post/2020/mystery-knowledge-useful-tools/)
+- [developers.redhat.com: Linux commands for developers](https://developers.redhat.com/cheat-sheets/linux-commands-cheat-sheet)
## Linux processes
- [percona.com: How Much Memory Does the Process Really Take on Linux? ๐](https://www.percona.com/blog/2020/09/11/how-much-memory-does-the-process-really-take-on-linux/)
diff --git a/docs/message-queue.md b/docs/message-queue.md
index c1c948b6..e8379148 100644
--- a/docs/message-queue.md
+++ b/docs/message-queue.md
@@ -1,30 +1,31 @@
# Cloud Based Integration & Messaging. Data Processing & Streaming (aka Data Pipeline). Open Data Hub
- [Message Queue in Kubernetes. Event-driven Messaging. Real-Time Data Streaming](#message-queue-in-kubernetes-event-driven-messaging-real-time-data-streaming)
- [Message Brokers](#message-brokers)
- - [ActiveMQ message broker](#activemq-message-broker)
- - [RabbitMQ message broker](#rabbitmq-message-broker)
- - [Redis message broker](#redis-message-broker)
- - [Apache Camel message broker](#apache-camel-message-broker)
- - [Apache Camel K](#apache-camel-k)
- - [KubeMQ message broker](#kubemq-message-broker)
- - [Google Cloud Platform Pub/Sub](#google-cloud-platform-pubsub)
+ - [ActiveMQ message broker](#activemq-message-broker)
+ - [RabbitMQ message broker](#rabbitmq-message-broker)
+ - [Redis message broker](#redis-message-broker)
+ - [Apache Camel message broker](#apache-camel-message-broker)
+ - [Apache Camel K](#apache-camel-k)
+ - [KubeMQ message broker](#kubemq-message-broker)
+ - [Google Cloud Platform Pub/Sub](#google-cloud-platform-pubsub)
- [Cloud Based Integration. Integration Platform-as-a-Service (iPaaS) solutions](#cloud-based-integration-integration-platform-as-a-service-ipaas-solutions)
- - [Red Hat Fuse and Red Hat Fuse Online](#red-hat-fuse-and-red-hat-fuse-online)
- - [Syndesis open source integration platform](#syndesis-open-source-integration-platform)
+ - [Red Hat Fuse and Red Hat Fuse Online](#red-hat-fuse-and-red-hat-fuse-online)
+ - [Syndesis open source integration platform](#syndesis-open-source-integration-platform)
- [Debezium open source distributed platform for Change Data Capture (CDC) software design pattern](#debezium-open-source-distributed-platform-for-change-data-capture-cdc-software-design-pattern)
- [Red Hat Integration service registry and Apicurio](#red-hat-integration-service-registry-and-apicurio)
- [Data Processing (aka Streaming Data, Data Pipeline or Big Data Pipeline)](#data-processing-aka-streaming-data-data-pipeline-or-big-data-pipeline)
- - [Apache Airflow](#apache-airflow)
- - [Apache Kafka](#apache-kafka)
- - [Banzai Cloud Supertubes (Cloud Native Kafka implementation)](#banzai-cloud-supertubes-cloud-native-kafka-implementation)
- - [Confluent Cloud (Apache Kafka Re-engineered for the Cloud)](#confluent-cloud-apache-kafka-re-engineered-for-the-cloud)
- - [KsqlDB](#ksqldb)
- - [Apache Pulsar](#apache-pulsar)
- - [Apache Flink](#apache-flink)
- - [Hazelcast JET](#hazelcast-jet)
+ - [Apache Airflow](#apache-airflow)
+ - [Apache Kafka](#apache-kafka)
+ - [Banzai Cloud Supertubes (Cloud Native Kafka implementation)](#banzai-cloud-supertubes-cloud-native-kafka-implementation)
+ - [Confluent Cloud (Apache Kafka Re-engineered for the Cloud)](#confluent-cloud-apache-kafka-re-engineered-for-the-cloud)
+ - [Redpanda (kafka alternative). A modern streaming platform for mission critical workloads](#redpanda-kafka-alternative-a-modern-streaming-platform-for-mission-critical-workloads)
+ - [KsqlDB](#ksqldb)
+ - [Apache Pulsar](#apache-pulsar)
+ - [Apache Flink](#apache-flink)
+ - [Hazelcast JET](#hazelcast-jet)
- [Red Hat AMQ (ActiveMQ Artemis broker and Apache Kafka)](#red-hat-amq-activemq-artemis-broker-and-apache-kafka)
- - [Red Hat AMQ Broker (ActiveMQ Artemis)](#red-hat-amq-broker-activemq-artemis)
- - [Red Hat AMQ Streams](#red-hat-amq-streams)
+ - [Red Hat AMQ Broker (ActiveMQ Artemis)](#red-hat-amq-broker-activemq-artemis)
+ - [Red Hat AMQ Streams](#red-hat-amq-streams)
- [Open Data Hub AI-as-a-Service (AIaaS) platform](#open-data-hub-ai-as-a-service-aiaas-platform)
- [KEDA. Kubernetes Event Driven Autoscaling](#keda-kubernetes-event-driven-autoscaling)
- [eBooks](#ebooks)
@@ -136,6 +137,7 @@ comsysto about their usage of Debezium, touching on many details like outbox pat
- [confluent.fr: Infrastructure Modernization with Google Anthos and Apache Kafka](https://www.confluent.fr/blog/modernize-apps-and-infrastructure-with-anthos-confluent-kafka/)
- [confluent.io: Apache Kafka DevOps with Kubernetes and GitOps](https://www.confluent.io/blog/kafka-devops-with-confluent-kubernetes-and-gitops/)
- [Build a data streaming pipeline using Kafka Streams and Quarkus](https://developers.redhat.com/blog/2020/09/28/build-a-data-streaming-pipeline-using-kafka-streams-and-quarkus/)
+- [strimzi.io: Optimizing Kafka producers](https://strimzi.io/blog/2020/10/15/producer-tuning/)
[](https://medium.com/convoy-tech/logs-offsets-near-real-time-elt-with-apache-kafka-snowflake-473da1e4d776)
@@ -149,6 +151,10 @@ comsysto about their usage of Debezium, touching on many details like outbox pat
### Confluent Cloud (Apache Kafka Re-engineered for the Cloud)
- [confluent.io](https://www.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](https://www.mongodb.com/blog/post/daa-s-with-mongo-db-and-confluent)
+
+### Redpanda (kafka alternative). A modern streaming platform for mission critical workloads
+- [Redpanda](https://vectorized.io/) is a Kafkaยฎ compatible event streaming platform. No Zookeeper, no JVM, and no code changes required. Use all your favorite open source tooling - 10x faster.
#### KsqlDB
- [ksqlDB](https://ksqldb.io/) The event streaming database purpose-built for stream processing applications.
@@ -211,7 +217,7 @@ Red Hat AMQ 7|JBoss AMQ 7 (Broker) or Red Hat AMQ 7 Suite|Apache ActiveMQ Artemi
- [O'Really: Streaming data](http://streamingsystems.net/)
## Related
-- [Service meshes to the rescue: Load balancing and scaling long-lived connections in Kubernetes](https://learnk8s.io/kubernetes-long-lived-connections)
+- [Service meshes to the rescue: Load balancing and scaling long-lived connections in Kubernetes ๐](https://learnk8s.io/kubernetes-long-lived-connections) Kubernetes doesn't 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?
## Questions and Answers
- [adambien.blog - 75th **airhacks.tv** Questions and Answers: Kafka, JAX-RS, MicroProfile, JSON-B, GSON, JWT, VSC, NetBeans, Java Fullstack](https://adambien.blog/roller/abien/entry/kafka_jax_rs_microprofile_json) "Kafka 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"
diff --git a/docs/mlops.md b/docs/mlops.md
index 22edd057..2f224a27 100644
--- a/docs/mlops.md
+++ b/docs/mlops.md
@@ -1,2 +1,3 @@
# Machine Learning Ops (MLOps)
-- [cd.foundation: Announcing the CD Foundation MLOps SIG](https://cd.foundation/blog/2020/02/11/announcing-the-cd-foundation-mlops-sig/)
\ No newline at end of file
+- [cd.foundation: Announcing the CD Foundation MLOps SIG](https://cd.foundation/blog/2020/02/11/announcing-the-cd-foundation-mlops-sig/)
+- [dafriedman97.github.io: Machine Learning from Scratch](https://dafriedman97.github.io/mlbook/content/introduction.html) Derivations in Concept and Code.
\ No newline at end of file
diff --git a/docs/monitoring.md b/docs/monitoring.md
index 69c548c0..d44cc716 100644
--- a/docs/monitoring.md
+++ b/docs/monitoring.md
@@ -1,65 +1,67 @@
# Monitoring and Performance. Prometheus, Grafana, APMs and more
- [Monitoring](#monitoring)
- - [Key Performance Indicator (KPI)](#key-performance-indicator-kpi)
+ - [Key Performance Indicator (KPI)](#key-performance-indicator-kpi)
- [OpenShift Cluster Monitoring Built-in solutions](#openshift-cluster-monitoring-built-in-solutions)
- - [OpenShift 3.11 Metrics and Logging](#openshift-311-metrics-and-logging)
- - [Prometheus and Grafana](#prometheus-and-grafana)
- - [Custom Grafana Dashboard for OpenShift 3.11](#custom-grafana-dashboard-for-openshift-311)
- - [Capacity Management Grafana Dashboard](#capacity-management-grafana-dashboard)
- - [Software Delivery Metrics Grafana Dashboard](#software-delivery-metrics-grafana-dashboard)
- - [Prometheus for OpenShift 3.11](#prometheus-for-openshift-311)
- - [OpenShift 4](#openshift-4)
+ - [OpenShift 3.11 Metrics and Logging](#openshift-311-metrics-and-logging)
+ - [Prometheus and Grafana](#prometheus-and-grafana)
+ - [Custom Grafana Dashboard for OpenShift 3.11](#custom-grafana-dashboard-for-openshift-311)
+ - [Capacity Management Grafana Dashboard](#capacity-management-grafana-dashboard)
+ - [Software Delivery Metrics Grafana Dashboard](#software-delivery-metrics-grafana-dashboard)
+ - [Prometheus for OpenShift 3.11](#prometheus-for-openshift-311)
+ - [OpenShift 4](#openshift-4)
- [Prometheus](#prometheus)
- - [Prometheus Storage](#prometheus-storage)
- - [Scalability, High Availability (HA) and Long-Term Storage](#scalability-high-availability-ha-and-long-term-storage)
- - [Storage Solutions for Prometheus](#storage-solutions-for-prometheus)
- - [InfluxDB & InfluxDB Templates](#influxdb--influxdb-templates)
- - [Collectors. Software exposing Prometheus metrics](#collectors-software-exposing-prometheus-metrics)
- - [Prometheus Exporters. Plug-in architecture and extensibility with Prometheus Exporters (collectors)](#prometheus-exporters-plug-in-architecture-and-extensibility-with-prometheus-exporters-collectors)
- - [Prometheus Exporters Development. Node Exporter](#prometheus-exporters-development-node-exporter)
- - [Prometheus Third-party Collectors/Exporters](#prometheus-third-party-collectorsexporters)
- - [OpenTelemetry Collector](#opentelemetry-collector)
- - [Telegraf Collector](#telegraf-collector)
- - [Micrometer Collector](#micrometer-collector)
- - [Prometheus Alarms and Event Tracking](#prometheus-alarms-and-event-tracking)
- - [Prometheus and Cloud Monitoring](#prometheus-and-cloud-monitoring)
- - [Prometheus Installers](#prometheus-installers)
- - [Binaries, source code or Docker](#binaries-source-code-or-docker)
- - [Ansible Roles](#ansible-roles)
- - [Prometheus Operator](#prometheus-operator)
- - [kube Prometheus](#kube-prometheus)
- - [Prometheus Operator with Helm3](#prometheus-operator-with-helm3)
- - [Kubernetes Cluster Monitoring Stack based on Prometheus Operator](#kubernetes-cluster-monitoring-stack-based-on-prometheus-operator)
- - [Prometheus SaaS Solutions](#prometheus-saas-solutions)
+ - [Prometheus Storage](#prometheus-storage)
+ - [Scalability, High Availability (HA) and Long-Term Storage](#scalability-high-availability-ha-and-long-term-storage)
+ - [Storage Solutions for Prometheus](#storage-solutions-for-prometheus)
+ - [InfluxDB & InfluxDB Templates](#influxdb--influxdb-templates)
+ - [Collectors. Software exposing Prometheus metrics](#collectors-software-exposing-prometheus-metrics)
+ - [Prometheus Exporters. Plug-in architecture and extensibility with Prometheus Exporters (collectors)](#prometheus-exporters-plug-in-architecture-and-extensibility-with-prometheus-exporters-collectors)
+ - [Prometheus Exporters Development. Node Exporter](#prometheus-exporters-development-node-exporter)
+ - [Prometheus Third-party Collectors/Exporters](#prometheus-third-party-collectorsexporters)
+ - [OpenTelemetry Collector](#opentelemetry-collector)
+ - [Telegraf Collector](#telegraf-collector)
+ - [Micrometer Collector](#micrometer-collector)
+ - [Prometheus Alarms and Event Tracking](#prometheus-alarms-and-event-tracking)
+ - [Prometheus and Cloud Monitoring](#prometheus-and-cloud-monitoring)
+ - [Prometheus Installers](#prometheus-installers)
+ - [Binaries, source code or Docker](#binaries-source-code-or-docker)
+ - [Ansible Roles](#ansible-roles)
+ - [Prometheus Operator](#prometheus-operator)
+ - [kube Prometheus](#kube-prometheus)
+ - [Prometheus Operator with Helm3](#prometheus-operator-with-helm3)
+ - [Kubernetes Cluster Monitoring Stack based on Prometheus Operator](#kubernetes-cluster-monitoring-stack-based-on-prometheus-operator)
+ - [Prometheus SaaS Solutions](#prometheus-saas-solutions)
- [Grafana](#grafana)
- - [Grafana Dashboards](#grafana-dashboards)
- - [Grafana 7](#grafana-7)
+ - [Grafana Dashboards](#grafana-dashboards)
+ - [Grafana 7](#grafana-7)
- [Proof of Concept: ActiveMQ Monitoring with Prometheus](#proof-of-concept-activemq-monitoring-with-prometheus)
- - [PoC: ActiveMQ 5.x Monitoring with Telegraf Collector, Prometheus and Grafana Dashboard 10702](#poc-activemq-5x-monitoring-with-telegraf-collector-prometheus-and-grafana-dashboard-10702)
- - [Deployment and Configuration](#deployment-and-configuration)
- - [PoC: ActiveMQ Artemis Monitoring with Prometheus Metrics Plugin (Micrometer Collector) and Prometheus. Grafana Dashboard not available](#poc-activemq-artemis-monitoring-with-prometheus-metrics-plugin-micrometer-collector-and-prometheus-grafana-dashboard-not-available)
- - [Deployment and Configuration](#deployment-and-configuration-1)
- - [Validation of Artemis Broker Monitoring with JMeter](#validation-of-artemis-broker-monitoring-with-jmeter)
- - [JMeter Example Test Plans](#jmeter-example-test-plans)
+ - [PoC: ActiveMQ 5.x Monitoring with Telegraf Collector, Prometheus and Grafana Dashboard 10702](#poc-activemq-5x-monitoring-with-telegraf-collector-prometheus-and-grafana-dashboard-10702)
+ - [Deployment and Configuration](#deployment-and-configuration)
+ - [PoC: ActiveMQ Artemis Monitoring with Prometheus Metrics Plugin (Micrometer Collector) and Prometheus. Grafana Dashboard not available](#poc-activemq-artemis-monitoring-with-prometheus-metrics-plugin-micrometer-collector-and-prometheus-grafana-dashboard-not-available)
+ - [Deployment and Configuration](#deployment-and-configuration-1)
+ - [Validation of Artemis Broker Monitoring with JMeter](#validation-of-artemis-broker-monitoring-with-jmeter)
+ - [JMeter Example Test Plans](#jmeter-example-test-plans)
- [Kibana](#kibana)
- [Prometheus and Grafana Interactive Learning](#prometheus-and-grafana-interactive-learning)
- [Logging & Centralized Log Management](#logging--centralized-log-management)
- [Performance](#performance)
- [List of Performance Analysis Tools](#list-of-performance-analysis-tools)
- - [Thread Dumps. Debugging Java Applications](#thread-dumps-debugging-java-applications)
+ - [Thread Dumps. Debugging Java Applications](#thread-dumps-debugging-java-applications)
- [Debugging Java Applications on OpenShift and Kubernetes](#debugging-java-applications-on-openshift-and-kubernetes)
- [Distributed Tracing. OpenTelemetry and Jaeger](#distributed-tracing-opentelemetry-and-jaeger)
- - [Microservice Observability with Distributed Tracing. OpenTelemetry.io](#microservice-observability-with-distributed-tracing-opentelemetryio)
- - [Jaeger VS OpenTelemetry. How Jaeger works with OpenTelemetry](#jaeger-vs-opentelemetry-how-jaeger-works-with-opentelemetry)
+ - [Microservice Observability with Distributed Tracing. OpenTelemetry.io](#microservice-observability-with-distributed-tracing-opentelemetryio)
+ - [Jaeger VS OpenTelemetry. How Jaeger works with OpenTelemetry](#jaeger-vs-opentelemetry-how-jaeger-works-with-opentelemetry)
+ - [Jaeger vs Zipkin](#jaeger-vs-zipkin)
- [Application Performance Management (APM)](#application-performance-management-apm)
- - [Elastic APM](#elastic-apm)
- - [Dynatrace APM](#dynatrace-apm)
+ - [Elastic APM](#elastic-apm)
+ - [Dynatrace APM](#dynatrace-apm)
- [Message Queue Monitoring](#message-queue-monitoring)
- - [Red Hat AMQ 7 Broker Monitoring solutions based on Prometheus and Grafana](#red-hat-amq-7-broker-monitoring-solutions-based-on-prometheus-and-grafana)
+ - [Red Hat AMQ 7 Broker Monitoring solutions based on Prometheus and Grafana](#red-hat-amq-7-broker-monitoring-solutions-based-on-prometheus-and-grafana)
- [Serverless Monitoring](#serverless-monitoring)
- [Distributed Tracing in Apache Beam](#distributed-tracing-in-apache-beam)
- [Krossboard Converged Kubernetes usage analytics](#krossboard-converged-kubernetes-usage-analytics)
- [Instana APM](#instana-apm)
+- [Monitoring Etcd](#monitoring-etcd)
- [Other Awesome Lists](#other-awesome-lists)
## Monitoring
@@ -76,6 +78,7 @@
* [bravenewgeek.com: The Observability Pipeline](https://bravenewgeek.com/the-observability-pipeline/)
* [thenewstack.io: 3 Key Configuration Challenges for Kubernetes Monitoring with Prometheus](https://thenewstack.io/3-key-configuration-challenges-for-kubernetes-monitoring-with-prometheus/)
* [sysdig.com: Kubernetes Monitoring with Prometheus ๐](https://sysdig.com/blog/kubernetes-monitoring-prometheus/)
+* [sysdig.com: How to monitor kube-proxy](https://sysdig.com/blog/monitor-kube-proxy/)
### Key Performance Indicator (KPI)
* [KPIs](https://kpi.org/KPI-Basics)
@@ -185,6 +188,11 @@ OpenShift Cluster Monitoring components cannot be extended since they are read o
* [itnext.io - Prometheus: yet-another-cloudwatch-exporter โ collecting AWS CloudWatch metrics](https://itnext.io/prometheus-yet-another-cloudwatch-exporter-collecting-aws-cloudwatch-metrics-806bd34818a8)
* [medium: Kubernetes Lessons in Alerting](https://medium.com/better-programming/kubernetes-lessons-in-alerting-a0b7a455e89d) Live issues are a great opportunity to learn and improve. Hereโs what happened to us
* [Prometheus Monitoring Ecosystem Begins to Mature](https://containerjournal-com.cdn.ampproject.org/c/s/containerjournal.com/topics/container-ecosystems/prometheus-monitoring-ecosystem-begins-to-mature/amp/)
+* [learnsteps.com: Monitoring Infrastructure System Design](https://www.learnsteps.com/monitoring-infrastructure-system-design/)
+* [ganeshvernekar.com: Prometheus TSDB (Part 1): The Head Block](https://ganeshvernekar.com/blog/prometheus-tsdb-the-head-block/)
+* [ganeshvernekar.com: Prometheus TSDB (Part 2): WAL and Checkpoint](https://ganeshvernekar.com/blog/prometheus-tsdb-wal-and-checkpoint/)
+* [ganeshvernekar.com: Prometheus TSDB (Part 3): Memory Mapping of Head Chunks from Disk](https://ganeshvernekar.com/blog/prometheus-tsdb-mmapping-head-chunks-from-disk/)
+* [ganeshvernekar.com: Prometheus TSDB (Part 4): Persistent Block and its Index](https://ganeshvernekar.com/blog/prometheus-tsdb-persistent-block-and-its-index/)
[](https://github.com/prometheus/prometheus)
@@ -252,6 +260,7 @@ Although it's exciting to see attempts to address the challenges of running Prom
* [prometheus.io: Writing Exporters](https://prometheus.io/docs/instrumenting/writing_exporters/)
* [devconnected.com: Complete Node Exporter Mastery with Prometheus](https://devconnected.com/complete-node-exporter-mastery-with-prometheus)
* [scalyr.com: Prometheus metrics by example: 5 things you can learn](https://www.scalyr.com/blog/prometheus-metrics-by-example/)
+* [aws.amazon.com: Building a Prometheus remote write exporter for the OpenTelemetry Go SDK](https://aws.amazon.com/blogs/opensource/building-a-prometheus-remote-write-exporter-for-the-opentelemetry-go-sdk/)
#### Prometheus Third-party Collectors/Exporters
* Some third-party software exposes metrics in the Prometheus format, so no separate exporters are needed.
@@ -345,6 +354,7 @@ Although it's exciting to see attempts to address the challenges of running Prom
* [Prometheus Monitoring With Grafana. Prometheus Stats Dashboard and Prometheus Benchmark Dashboard](https://dzone.com/articles/prometheus-monitoring-with-grafana). 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 ๐](https://grafana.com/blog/2020/08/26/popular-community-plugins-that-can-improve-your-grafana-dashboards/)
* [CISCO DNA Center with Grafana Dashboard](https://hawar.no/2020/09/cisco-dna-center-with-grafana-dashboard/)
+* [prskavec.net: Grafana dashboards and Jsonnet](https://www.prskavec.net/post/grafana-jsonnet/) Simple way how to make your dashboard easy to maintain.
Monitored Component|Collector|Dashboard Number|URL
:------------------|:-------|:---------------|------------
@@ -855,6 +865,9 @@ done

+### Jaeger vs Zipkin
+- [thenewstack.io: Jaeger vs. Zipkin: Battle of the Open Source Tracing Tools](https://thenewstack.io/jaeger-vs-zipkin-battle-of-the-open-source-tracing-tools/)
+
## Application Performance Management (APM)
- [APM in wikipedia](https://en.wikipedia.org/wiki/Application_performance_management): The monitoring and management of performance and availability ofย softwareย applications. APM strives to detect and diagnose complex application performance problems to maintain an expectedย level of service. APM is "the translation ofย IT metricsย into business meaning.โ
- Tip: [Download APM report from IT Central Station](https://www.itcentralstation.com/categories/application-performance-management-apm)
@@ -897,6 +910,8 @@ done
* [Tutorial: Guide to automated SRE-driven performance engineering ๐](https://www.dynatrace.com/news/blog/guide-to-automated-sre-driven-performance-engineering-analysis/)
* [dynatrace.com: 4 steps to modernize your IT service operations with Dynatrace](https://www.dynatrace.com/news/blog/4-steps-to-modernize-your-it-service-operations-with-dynatrace/)
* [dynatrace.com: Monitoring of Kubernetes Infrastructure for day 2 operations](https://www.dynatrace.com/news/blog/monitoring-of-kubernetes-infrastructure-for-day-2-operations/)
+* [dynatrace.com: The Power of OpenShift, The Visibility of Dynatrace](https://www.dynatrace.com/news/blog/the-power-of-openshift-the-visibility-of-dynatrace/)
+* [dynatrace.com: Why conventional observability fails in Kubernetes environmentsโA real-world use case ๐](https://www.dynatrace.com/news/blog/why-conventional-observability-fails-in-kubernetes-environments-a-real-world-use-case)
## Message Queue Monitoring
@@ -943,6 +958,9 @@ OpenShift 3|Prometheus JMX Exporter|**Grafana Dashboard not available**, [ref1](
## Instana APM
- [cloudbees.com: Automated Build and Deploy Feedback Using Jenkins and Instana ๐](https://www.cloudbees.com/blog/automated-build-deploy-feedback-using-instana)
+## Monitoring Etcd
+- [rancher.com: Monitor Etcd with Prometheus and Grafana using Rancher](https://rancher.com/blog/2020/monitor-etcd-prometheus-grafana-rancher)
+
## Other Awesome Lists
- [Awesome APM](https://github.com/antonarhipov/awesome-apm)
diff --git a/docs/ocp3.md b/docs/ocp3.md
index e5c659e2..b61b5845 100644
--- a/docs/ocp3.md
+++ b/docs/ocp3.md
@@ -2,7 +2,6 @@
- [OpenShift Container Platform 3 (OCP 3)](#openshift-container-platform-3-ocp-3)
- [OpenShift Cheat Sheets](#openshift-cheat-sheets)
- [Helm Charts and OpenShift 3](#helm-charts-and-openshift-3)
-- [Chaos Engineering for kubernetes/Openshift](#chaos-engineering-for-kubernetesopenshift)
- [OpenShift GitOps](#openshift-gitops)
- [Debugging apps](#debugging-apps)
- [Capacity Management](#capacity-management)
@@ -34,17 +33,6 @@
* [blog.openshift.com: From Templates to Openshift Helm Charts](https://blog.openshift.com/from-templates-to-openshift-helm-charts/)
* [Templating on OpenShift: should I use Helm templates or OpenShift templates? ๐](https://www.padok.fr/en/blog/templating-openshift-helm-templates)
-## Chaos Engineering for kubernetes/Openshift
-* [reddit: Help with Kube Monkey setup](https://www.reddit.com/r/openshift/comments/e1j5qzrbac_for_container_access_to_destroy_other/)
-* [GitHub: kube-monkey](https://github.com/asobti/kube-monkey)
-* [GitHub: monkey-ops, Openshift compliant, no cluster-admin required](https://github.comjoshmsmith/monkey-ops)
-* [chaoskube periodically kills random pods in your Kubernetes cluster](https://github.com/linkichaoskube)
-* [Chaos Mesh](https://github.com/pingcap/chaos-mesh)
-* [Litmus 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](https://github.com/litmuschaos/litmus)
-* [thenewstack.io: Using Chaos Engineering to Improve the Resilience of Stateful Applications on Kubernetes](https://thenewstack.io/using-chaos-engineering-to-improve-the-resilience-of-stateful-applications-on-kubernetes/)
-* [chaos-mesh.org: Chaos Mesh 1.0: Chaos Engineering on Kubernetes Made Easier](https://chaos-mesh.org/blog/chaos-mesh-1.0-chaos-engineering-on-kubernetes-made-easier/)
-* [pingcap.com: chaos-mesh-action: Integrate Chaos Engineering into Your CI](https://pingcap.com/blog/chaos-mesh-action-integrate-chaos-engineering-into-your-ci)
-
## OpenShift GitOps
* [blog.openshift.com: Introduction to GitOps with OpenShift](https://blog.openshift.comintroduction-to-gitops-with-openshift/)
* [learn.openshift.com: GitOps introduction](https://learn.openshift.com/introduction/gitops-introduction/)
diff --git a/docs/ocp4.md b/docs/ocp4.md
index 83a8ebe0..6f6e15a7 100644
--- a/docs/ocp4.md
+++ b/docs/ocp4.md
@@ -1,45 +1,45 @@
# OCP 4
- [OpenShift Container Platform 4 (OCP 4)](#openshift-container-platform-4-ocp-4)
- - [Best Practices](#best-practices)
- - [Setting up OCP4 on AWS](#setting-up-ocp4-on-aws)
+ - [Best Practices](#best-practices)
+ - [Setting up OCP4 on AWS](#setting-up-ocp4-on-aws)
- [Downloads](#downloads)
- [OpenShift End-to-End. Day 0, Day 1 & Day 2](#openshift-end-to-end-day-0-day-1--day-2)
- [OCP 4 Overview](#ocp-4-overview)
- - [Three New Functionalities](#three-new-functionalities)
- - [New Technical Components](#new-technical-components)
- - [Installation & Cluster Autoscaler](#installation--cluster-autoscaler)
- - [IPI & UPI](#ipi--upi)
- - [Cluster Autoscaler Operator](#cluster-autoscaler-operator)
- - [Operators](#operators)
- - [Introduction](#introduction)
- - [Catalog](#catalog)
- - [Certified Opeators, OLM Operators and Red Hat Operators](#certified-opeators-olm-operators-and-red-hat-operators)
- - [Deploy and bind enterprise-grade microservices with Kubernetes Operators](#deploy-and-bind-enterprise-grade-microservices-with-kubernetes-operators)
- - [OpenShift Container Storage Operator (OCS)](#openshift-container-storage-operator-ocs)
- - [OCS 3 (OpenShift 3)](#ocs-3-openshift-3)
- - [OCS 4 (OpenShift 4)](#ocs-4-openshift-4)
- - [Cluster Network Operator (CNO) & Routers](#cluster-network-operator-cno--routers)
- - [ServiceMesh Operator](#servicemesh-operator)
- - [Serverless Operator (Knative)](#serverless-operator-knative)
- - [Crossplane Operator (Universal Control Plane API for Cloud Computing)](#crossplane-operator-universal-control-plane-api-for-cloud-computing)
- - [Monitoring & Observability](#monitoring--observability)
- - [Grafana](#grafana)
- - [Prometheus](#prometheus)
- - [Alerts & Silences](#alerts--silences)
- - [Cluster Logging (EFK)](#cluster-logging-efk)
- - [Build Images. Next-Generation Container Image Building Tools](#build-images-next-generation-container-image-building-tools)
- - [Registry & Quay](#registry--quay)
- - [Local Development Environment](#local-development-environment)
+ - [Three New Functionalities](#three-new-functionalities)
+ - [New Technical Components](#new-technical-components)
+ - [Installation & Cluster Autoscaler](#installation--cluster-autoscaler)
+ - [IPI & UPI](#ipi--upi)
+ - [Cluster Autoscaler Operator](#cluster-autoscaler-operator)
+ - [Operators](#operators)
+ - [Introduction](#introduction)
+ - [Catalog](#catalog)
+ - [Certified Opeators, OLM Operators and Red Hat Operators](#certified-opeators-olm-operators-and-red-hat-operators)
+ - [Deploy and bind enterprise-grade microservices with Kubernetes Operators](#deploy-and-bind-enterprise-grade-microservices-with-kubernetes-operators)
+ - [OpenShift Container Storage Operator (OCS)](#openshift-container-storage-operator-ocs)
+ - [OCS 3 (OpenShift 3)](#ocs-3-openshift-3)
+ - [OCS 4 (OpenShift 4)](#ocs-4-openshift-4)
+ - [Cluster Network Operator (CNO) & Routers](#cluster-network-operator-cno--routers)
+ - [ServiceMesh Operator](#servicemesh-operator)
+ - [Serverless Operator (Knative)](#serverless-operator-knative)
+ - [Crossplane Operator (Universal Control Plane API for Cloud Computing)](#crossplane-operator-universal-control-plane-api-for-cloud-computing)
+ - [Monitoring & Observability](#monitoring--observability)
+ - [Grafana](#grafana)
+ - [Prometheus](#prometheus)
+ - [Alerts & Silences](#alerts--silences)
+ - [Cluster Logging (EFK)](#cluster-logging-efk)
+ - [Build Images. Next-Generation Container Image Building Tools](#build-images-next-generation-container-image-building-tools)
+ - [Registry & Quay](#registry--quay)
+ - [Local Development Environment](#local-development-environment)
- [OpenShift on Azure](#openshift-on-azure)
- [OpenShift Youtube](#openshift-youtube)
- [OpenShift 4 Training](#openshift-4-training)
- [OpenShift 4 Roadmap](#openshift-4-roadmap)
- [Kubevirt Virtual Machine Management on Kubernetes](#kubevirt-virtual-machine-management-on-kubernetes)
- [Networking and Network Policy in OCP4. SDN/CNI plug-ins](#networking-and-network-policy-in-ocp4-sdncni-plug-ins)
- - [Multiple Networks with SDN/CNI plug-ins. Usage scenarios for an additional network](#multiple-networks-with-sdncni-plug-ins-usage-scenarios-for-an-additional-network)
- - [Istio CNI plug-in](#istio-cni-plug-in)
- - [Calico CNI Plug-in](#calico-cni-plug-in)
- - [Third Party Network Operators with OpenShift](#third-party-network-operators-with-openshift)
+ - [Multiple Networks with SDN/CNI plug-ins. Usage scenarios for an additional network](#multiple-networks-with-sdncni-plug-ins-usage-scenarios-for-an-additional-network)
+ - [Istio CNI plug-in](#istio-cni-plug-in)
+ - [Calico CNI Plug-in](#calico-cni-plug-in)
+ - [Third Party Network Operators with OpenShift](#third-party-network-operators-with-openshift)
- [Storage in OCP 4. OpenShift Container Storage (OCS)](#storage-in-ocp-4-openshift-container-storage-ocs)
- [Red Hat Advanced Cluster Management for Kubernetes](#red-hat-advanced-cluster-management-for-kubernetes)
- [OpenShift Kubernetes Engine (OKE)](#openshift-kubernetes-engine-oke)
@@ -81,6 +81,7 @@
* [openshift.com: OpenShift UPI using static IPs](https://www.openshift.com/blog/openshift-upi-using-static-ips)
* [developers.redhat.com: OpenShift for Kubernetes developers: Getting started ๐](https://developers.redhat.com/blog/2020/08/14/openshift-for-kubernetes-developers-getting-started/)
* [developers.redhat.com: Command-line cluster management with Red Hat OpenShiftโs new web terminal (tech preview)](https://developers.redhat.com/blog/2020/10/01/command-line-cluster-management-with-red-hat-openshifts-new-web-terminal-tech-preview/)
+* [Improved tooling and best practices to help you migrate to OpenShift 4](https://www.openshift.com/blog/improved-tooling-and-best-practices-to-help-you-migrate-to-openshift-4)
### Best Practices
* [developers.redhat.com - Best practices: Using health checks in the OpenShift 4.5 web console ๐](https://developers.redhat.com/blog/2020/07/20/best-practices-using-health-checks-in-the-openshift-4-5-web-console/) 3 types of health checks offered in OpenShift 4.5 to improve application reliability and uptime
@@ -546,6 +547,7 @@ oc login
* [developers.redhat.com: How to install CodeReady Workspaces in a restricted OpenShift 4 environment](https://developers.redhat.com/blog/2020/06/12/how-to-install-codeready-workspaces-in-a-restricted-openshift-4-environment/)
* [Install Red Hat OpenShift Operators on your laptop using Red Hat CodeReady Containers and Red Hat Marketplace](https://developers.redhat.com/blog/2020/09/09/install-red-hat-openshift-operators-on-your-laptop-using-red-hat-codeready-containers-and-red-hat-marketplace/)
* [schabell.org: How to setup OpenShift Container Platform 4.5 on your local machine in minutes](https://www.schabell.org/2020/09/how-to-setup-openshift-container-platform-45.html)
+* [dzone: CodeReady Containers - Getting Started with OpenShift 4.5 and Process Automation Tooling](https://dzone.com/articles/codeready-containers-getting-started-with-openshif-1) What can you do with the fully stocked container registry provided to you? There is no better way to learn about container technologies, cloud native methods...
## OpenShift Hive: Cluster-as-a-Service. Easily provision new PaaS environments for developers
* [blog.openshift.com: openshift hive cluster as a service](https://blog.openshift.comopenshift-hive-cluster-as-a-service/)
@@ -627,6 +629,7 @@ oc login
- [Red Hat Application Migration Toolkit](https://developers.redhat.com/products/mta/overview) is an assembly of open source tools that enables large-scale application migrations and modernizations. The tooling consists of multiple individual components that provide support for each phase of a migration process.
- [RHAMT in Github Actions](https://carlosthe19916.wordpress.com/2020/04/12/rhamt-in-github-actions/) You can embed the Migration Toolkit for Application MTA (now still RHAMT) in your GitHub to ensure your app is JEE / Tomcat compliant (and more ...)
- [Migrate your Java apps to containers with Migration Toolkit for Applications 5.0](https://developers.redhat.com/blog/2020/09/04/migrate-your-java-apps-to-containers-with-migration-toolkit-for-applications-5-0/#more-768337)
+- [windup](https://github.com/windup/) upstream project for Red Hat Application Migration Toolkit
## OpenShift Topology View
- [OpenShift topology view: A milestone towards a better developer experience](https://www.redhat.com/en/blog/openshift-topology-view-milestone-towards-better-developer-experience)
diff --git a/docs/project-management-methodology.md b/docs/project-management-methodology.md
index 3209bed3..db30024f 100644
--- a/docs/project-management-methodology.md
+++ b/docs/project-management-methodology.md
@@ -1,9 +1,9 @@
# Project Management Methodology
- [Project Management Methodology](#project-management-methodology)
- - [Team Topologies](#team-topologies)
- - [Agile vs Scrum vs Waterfall vs Kanban vs Lean](#agile-vs-scrum-vs-waterfall-vs-kanban-vs-lean)
- - [Waterfall vs Agile](#waterfall-vs-agile)
- - [Agile vs Scrum vs Kanban](#agile-vs-scrum-vs-kanban)
+ - [Team Topologies](#team-topologies)
+ - [Agile vs Scrum vs Waterfall vs Kanban vs Lean](#agile-vs-scrum-vs-waterfall-vs-kanban-vs-lean)
+ - [Waterfall vs Agile](#waterfall-vs-agile)
+ - [Agile vs Scrum vs Kanban](#agile-vs-scrum-vs-kanban)
- [Responsibility Assignment Matrix (RACI)](#responsibility-assignment-matrix-raci)
## Project Management Methodology
@@ -19,6 +19,7 @@
- [cio.com: Agile vs. waterfall: Project methodologies compared](https://www.cio.com/article/3584559/agile-vs-waterfall-project-methodologies-compared.html) Agile and waterfall each offer unique benefits and drawbacks. Here are the pros and cons of each method, and how to know which is right for your organizationโs projects.
- [scrum.org: Make Sure You Donโt Build High Performing Teams Just to Deliver Wrong Things Faster](https://www.scrum.org/resources/blog/make-sure-you-dont-build-high-performing-teams-just-deliver-wrong-things-faster)
- [scruminc.com: Better Scrum with Essence](https://www.scruminc.com/better-scrum-with-essence/) Essence is an industry standard for describing practices, which means there is no change to the actual Scrum content but an enhanced way for presenting it to teams. One of the main things you notice with Essence is the use of cards to represent the main concepts of any practice.
+- [enterprisersproject.com: Scrum and Kanban: 3 realities CIOs should know](https://enterprisersproject.com/article/2020/10/scrum-kanban-3-realities-cios) Agile methodologies can make all the difference in your digital transformation, but successful adoption requires culture change. Consider this expert advice on scrum and Kanban.
### Team Topologies
- [The Problem With Org Charts](https://itrevolution.com/the-problem-with-org-charts/)
diff --git a/docs/project-management-tools.md b/docs/project-management-tools.md
index 6965fed9..6010da3a 100644
--- a/docs/project-management-tools.md
+++ b/docs/project-management-tools.md
@@ -1,5 +1,7 @@
# Project Management Tools
-- [Jira](https://www.atlassian.com/software/jira)
+- [Jira](https://www.atlassian.com/software/jira)
+ - [Transition Jira issues on merge](https://bitbucket.org/blog/transition-jira-issues-on-merge) Check out the latest
+Jira and Bitbucket integration. Now you can transition issues right from your merge window. Less back and forth with Jira.
- [OpenProject](https://www.openproject.org/)
- [Servicenow](https://www.servicenow.com/)
- [BMC Remedy ITSM](https://www.bmcsoftware.es/it-solutions/remedy-itsm.html)
@@ -8,4 +10,7 @@
## Alternatives
- [32 Best Jira Alternatives For Agile Project Management Teams In 2020 [Free and Paid]](https://dzone.com/articles/32-best-jira-alternatives-for-agile-project-manage)
- [Best Project Management Software of 2020](https://neilpatel.com/blog/best-project-management-software/)
-- [opensource.com: 3 open source alternatives to Confluence](https://opensource.com/article/20/9/open-source-alternatives-confluence) BlueSpice, XWiki, and DokuWiki give you all the features of more popular knowledge-management software without the proprietary limitations.
\ No newline at end of file
+- [opensource.com: 3 open source alternatives to Confluence](https://opensource.com/article/20/9/open-source-alternatives-confluence) BlueSpice, XWiki, and DokuWiki give you all the features of more popular knowledge-management software without the proprietary limitations.
+- [entrepreneur.com: Which Project Management Timeline Tool Is Right for Your Team?](https://www.entrepreneur.com/article/356991) The pros and cons of five popular project management timeline software companies.
+- [joplin](https://github.com/laurent22/joplin) is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are searchable, can be copied, tagged and modified either from the applications directly or from your own text editor. The notes are in Markdown format.
+- [Podium](https://github.com/sa-mw-dach/podium) A collaboration environment.
\ No newline at end of file
diff --git a/docs/pulumi.md b/docs/pulumi.md
index 54ff64e8..33bc85c0 100644
--- a/docs/pulumi.md
+++ b/docs/pulumi.md
@@ -2,4 +2,6 @@
- [Pulumi](https://www.pulumi.com/)
- [Pulumi VS Terraform](https://www.pulumi.com/docs/intro/vs/terraform/)
- [Pulumi Cloud Providers](https://www.pulumi.com/docs/intro/cloud-providers/)
-- [DRY (Donโt Repeat Yourself) on the cloud with Pulumi](https://blog.thundra.io/dry-dont-repeat-yourself-on-the-cloud-with-pulumi)
\ No newline at end of file
+- [DRY (Donโt Repeat Yourself) on the cloud with Pulumi](https://blog.thundra.io/dry-dont-repeat-yourself-on-the-cloud-with-pulumi)
+- [civo.com: Manage Kubernetes clusters using the Civo Pulumi provider](https://www.civo.com/learn/kubernetes-clusters-using-the-civo-pulumi-provider)
+- [build5nines.com: Beginnerโs Guide to Pulumi CI/CD Pipelines](https://build5nines.com/beginners-guide-to-pulumi-ci-cd-pipelines/)
\ No newline at end of file
diff --git a/docs/python.md b/docs/python.md
index 43d57728..1eace490 100644
--- a/docs/python.md
+++ b/docs/python.md
@@ -87,6 +87,7 @@
- [digitalocean.com: How To Use the Python Map Function ๐](https://www.digitalocean.com/community/tutorials/how-to-use-the-python-map-function)
- [thenextweb.com: 6 practical tricks every Python developer should have](https://thenextweb.com/readme/2020/09/23/6-practical-tricks-every-python-developer-should-have/)
- [dzone: Best of DZone: Python ๐](https://dzone.com/articles/best-of-dzone-python)
+- [digitalocean.com: How To Code in Python 3 ๐](https://www.digitalocean.com/community/tutorial_series/how-to-code-in-python-3)
@@ -187,9 +188,17 @@
### Web Scraping with Python
- [Scrapy](http://scrapy.org/) An open source and collaborative framework for extracting the data you need from websites. In a fast, simple, yet extensible way.
- [First web scraper](https://first-web-scraper.readthedocs.org) A step-by-step guide to writing a web scraper with Python.
+- [TWINT - Twitter Intelligence Tool](https://github.com/twintproject/twint) Twint is an advanced Twitter scraping tool written in Python that allows for scraping Tweets from Twitter profiles without using Twitter's API.
## Jython
- [Jython is a language that makes it easy to create projects with libraries from Python and Java.](http://www.oraclejavamagazine-digital.com/javamagazine_twitter/20151112?pg=43#pg43)
## Eclipse IDE
- [opensource.com: How to use Python to hack your Eclipse IDE](https://opensource.com/life/16/2/how-use-python-hack-your-ide)
+
+
+
+
Python is a beautiful programming language. It contains really useful features that make writing code more efficient than ever.
Here are 5 tips for writing more efficient and compact code.
\ No newline at end of file
diff --git a/docs/rancher.md b/docs/rancher.md
index 01f1ac35..f24e3fe9 100644
--- a/docs/rancher.md
+++ b/docs/rancher.md
@@ -2,13 +2,13 @@
- [Rancher: Enterprise management for Kubernetes](#rancher-enterprise-management-for-kubernetes)
- [Rancher Academy (online training)](#rancher-academy-online-training)
- [Rancher 2](#rancher-2)
- - [Rancher Networking and CNI Providers](#rancher-networking-and-cni-providers)
- - [Rancher 2 RKE](#rancher-2-rke)
+ - [Rancher Networking and CNI Providers](#rancher-networking-and-cni-providers)
+ - [Rancher 2 RKE](#rancher-2-rke)
- [K3S](#k3s)
- - [K3S Use Cases](#k3s-use-cases)
- - [K3S in Public Clouds](#k3s-in-public-clouds)
- - [K3D](#k3d)
- - [K3OS](#k3os)
+ - [K3S Use Cases](#k3s-use-cases)
+ - [K3S in Public Clouds](#k3s-in-public-clouds)
+ - [K3D](#k3d)
+ - [K3OS](#k3os)
- [K3C](#k3c)
- [Hosted Rancher](#hosted-rancher)
- [Rancher on Microsoft Azure](#rancher-on-microsoft-azure)
@@ -61,6 +61,8 @@
* [thenewstack.io: How K3s, Portworx, and Calico Can Serve as a Foundation of Cloud Native Edge Infrastructure](https://thenewstack.io/how-k3s-portworx-and-calico-can-serve-as-a-foundation-of-cloud-native-edge-infrastructure/)
* [thenewstack.io: Tutorial - Configure Cloud Native Edge Infrastructure with K3s, Calico, Portworx](https://thenewstack.io/tutorial-configure-cloud-native-edge-infrastructure-with-k3s-calico-portworx/)
* [github.com/aws-samples/cdk-k3s-cluster ๐](https://github.com/aws-samples/aws-cdk-for-k3scluster) is a new JSII construct library for AWS CDK that deploys a scalable Kubernetes K3s cluster on Graviton2 Arm-based (mg6 by default) Spot instances with one command on AWS.
+* [codeburst.io: Creating a Local Development Kubernetes Cluster with k3s and Traefik Proxy](https://codeburst.io/creating-a-local-development-kubernetes-cluster-with-k3s-and-traefik-proxy-7a5033cb1c2d)
+* [sysdig.com: K3s + Sysdig: Deploying and securing your clusterโฆ in less than 8 minutes! ๐](https://sysdig.com/blog/k3s-sysdig-falco/)
### K3S Use Cases
- [K3S Use Cases](https://www.youtube.com/watch?v=2LNxGVS81mE):
diff --git a/docs/recruitment.md b/docs/recruitment.md
new file mode 100644
index 00000000..54090c24
--- /dev/null
+++ b/docs/recruitment.md
@@ -0,0 +1,4 @@
+# Recruitment
+
+## Recruitment Portals in Spain
+- [trycircular.com (Spain)](https://trycircular.com) The hiring community for tech recruiters and developers with good Candidate Experience guaranteed.
\ No newline at end of file
diff --git a/docs/securityascode.md b/docs/securityascode.md
index 808876a9..ad6ac773 100644
--- a/docs/securityascode.md
+++ b/docs/securityascode.md
@@ -19,6 +19,9 @@
## Open Policy Agent in Kubernetes
- [infracloud.io: Kubernetes Pod Security Policies with Open Policy Agent](https://www.infracloud.io/kubernetes-pod-security-policies-opa/)
- [banzaicloud.com: Istio and Kubernetes ft. OPA policies](https://banzaicloud.com/blog/istio-opa/)
+- [fugue.co: 5 tips for using the Rego language for Open Policy Agent (OPA)](https://www.fugue.co/blog/5-tips-for-using-the-rego-language-for-open-policy-agent-opa)
+- [medium: Ensure Content Trust on Kubernetes using Notary and Open Policy Agent](https://medium.com/@siegert.maximilian/ensure-content-trust-on-kubernetes-using-notary-and-open-policy-agent-485ab3a9423c) A detailed guide to help you to ensure that only signed images can get deployed on the cluster. In this blog post you will learn how to enforce image trust on your Kubernetes Cluster by fully relying on two well known CNCF hosted open source solutions: Notary and Open Policy Agent (OPA).
+- [kubermatic.com: Using Open Policy Agent With Kubermatic Kubernetes Platform](https://www.kubermatic.com/blog/using-open-policy-agent-with-kubermatic/)
## Open Policy Agent in OpenShift
- [blog.openshift.com: Fine-Grained Policy Enforcement in OpenShift with Open Policy Agent ๐](https://blog.openshift.com/fine-grained-policy-enforcement-in-openshift-with-open-policy-agent/)
diff --git a/docs/selenium-appium-zephyr.md b/docs/selenium-appium-zephyr.md
index 17110330..2ece84b2 100644
--- a/docs/selenium-appium-zephyr.md
+++ b/docs/selenium-appium-zephyr.md
@@ -2,8 +2,8 @@
- [Introduction](#introduction)
- [Selenium](#selenium)
- [Mobile Tests](#mobile-tests)
- - [Appium](#appium)
- - [Cucumber and Appium](#cucumber-and-appium)
+ - [Appium](#appium)
+ - [Cucumber and Appium](#cucumber-and-appium)
- [Test Automation with Zephyr (Jira Plugin)](#test-automation-with-zephyr-jira-plugin)
## Introduction
@@ -21,7 +21,9 @@
- [lambdatest.com: Top 27 Best Practices For Selenium Test Automation](https://www.lambdatest.com/blog/27-best-practices-selenium-test-automation/)
- [automationreinvented.blogspot.com: Top 30 Interview Questions on Automation Testing - Selenium for SDET/Automation QA?](https://automationreinvented.blogspot.com/2020/06/top-30-interview-questions-on.html)
- [lambdatest.com: Complete Guide To Access Forms In Selenium With Java](https://www.lambdatest.com/blog/complete-guide-to-access-forms-in-selenium-with-java/)
-- [[lambdatest.com: Selenium IDE: What Is It? & Why Is It Must For Every QA?](https://www.lambdatest.com/blog/selenium-ide-what-is-it-why-is-it-must-for-every-qa/)
+- [lambdatest.com: Selenium IDE: What Is It? & Why Is It Must For Every QA?](https://www.lambdatest.com/blog/selenium-ide-what-is-it-why-is-it-must-for-every-qa/)
+- [qautomation.blog: How to run selenium script in JMeter](https://qautomation.blog/2019/05/07/how-to-run-selenium-script-in-jmeter/)
+- [dev.to: Using Selenium With Python in a Docker Container](https://dev.to/nazliander/using-selenium-within-a-docker-container-ghp)
## Mobile Tests
### Appium
diff --git a/docs/serverless.md b/docs/serverless.md
index b480282e..8b044eda 100644
--- a/docs/serverless.md
+++ b/docs/serverless.md
@@ -1,14 +1,14 @@
# Serverless Architectures and Frameworks
- [Serverless Architectures](#serverless-architectures)
- - [FaaS: Function as a Service](#faas-function-as-a-service)
- - [Serverless Ecosystems Comparison](#serverless-ecosystems-comparison)
+ - [FaaS: Function as a Service](#faas-function-as-a-service)
+ - [Serverless Ecosystems Comparison](#serverless-ecosystems-comparison)
- [Serverless Framework (the most popular serverless ecosystem)](#serverless-framework-the-most-popular-serverless-ecosystem)
- [Orchestrators of Functions on Kubernetes (aka Kubernetes Native Serverless Frameworks or FaaS Providers)](#orchestrators-of-functions-on-kubernetes-aka-kubernetes-native-serverless-frameworks-or-faas-providers)
- - [OpenFaaS](#openfaas)
- - [Knative](#knative)
- - [OpenShift Serverless with Knative](#openshift-serverless-with-knative)
- - [Kubeless](#kubeless)
- - [OpenWhisk](#openwhisk)
+ - [OpenFaaS](#openfaas)
+ - [Knative](#knative)
+ - [OpenShift Serverless with Knative](#openshift-serverless-with-knative)
+ - [Kubeless](#kubeless)
+ - [OpenWhisk](#openwhisk)
- [Popular Deployment Frameworks for AWS Lambda](#popular-deployment-frameworks-for-aws-lambda)
## Serverless Architectures
@@ -20,6 +20,7 @@
* [freecodecamp.org: Serverless is cheaper, not simpler](https://www.freecodecamp.org/news/serverless-is-cheaper-not-simpler-a10c4fc30e49/)
* [medium: What a typical 100% Serverless Architecture looks like in AWS!](https://medium.com/serverless-transformation/what-a-typical-100-serverless-architecture-looks-like-in-aws-40f252cd0ecb)
* [theregister.com: Microservices guru says think serverless, not Kubernetes: You don't want to manage 'a towering edifice of stuff'](https://www.theregister.com/2020/09/22/microservices_talk_gotopia/)
+* [serverless.com: Why we switched from docker to serverless](https://www.serverless.com/blog/why-we-switched-from-docker-to-serverless)
### FaaS: Function as a Service
* [wikipedia: FaaS Function as a Service](https://en.wikipedia.org/wiki/Function_as_a_service)
@@ -55,6 +56,7 @@
#### OpenShift Serverless with Knative
* [OpenShift Serverless](https://www.openshift.com/learn/topics/serverless)
* [developers.redhat.com: Build and deploy a serverless app with Camel K and Red Hat OpenShift Serverless 1.5.0 Tech Preview](https://developers.redhat.com/blog/2020/04/24/build-and-deploy-a-serverless-app-with-camel-k-and-red-hat-openshift-serverless-1-5-0-tech-preview/)
+* [openshift.com: Why and When you need to consider OpenShift Serverless](https://www.openshift.com/blog/why-and-when-you-need-to-consider-openshift-serverless)
### Kubeless
* [kubeless.io](https://kubeless.io/)
diff --git a/docs/servicemesh.md b/docs/servicemesh.md
index 6fd38551..251216ce 100644
--- a/docs/servicemesh.md
+++ b/docs/servicemesh.md
@@ -2,17 +2,18 @@
- [Introduction](#introduction)
- [Tools For Evaluating Service Meshes](#tools-for-evaluating-service-meshes)
- [Consul Service Mesh](#consul-service-mesh)
- - [Consul Connect](#consul-connect)
+ - [Consul Connect](#consul-connect)
- [Linkerd Service Mesh](#linkerd-service-mesh)
- [Maesh Service Mesh](#maesh-service-mesh)
- [Traffic Director (Google's Service Mesh)](#traffic-director-googles-service-mesh)
- - [Google L7 Internal Load Balancer](#google-l7-internal-load-balancer)
+ - [Google L7 Internal Load Balancer](#google-l7-internal-load-balancer)
- [Envoy Proxy Service Mesh](#envoy-proxy-service-mesh)
- - [xDS protocol (Envoy's Discovery Service Protocol)](#xds-protocol-envoys-discovery-service-protocol)
+ - [xDS protocol (Envoy's Discovery Service Protocol)](#xds-protocol-envoys-discovery-service-protocol)
- [Istio - Service Mesh](#istio---service-mesh)
- [Open Service Mesh](#open-service-mesh)
- [Kourier](#kourier)
- [AWS App Mesh](#aws-app-mesh)
+- [NGINX Service mesh](#nginx-service-mesh)
## Introduction
* [infoq.com: Service Mesh Ultimate Guide:](https://www.infoq.com/articles/service-mesh-ultimate-guide/) Managing Service-to-Service Communications in the Era of Microservices
@@ -22,6 +23,7 @@
* [thenewstack.io: Service Mesh Adds Security, Observability and Traffic Control to Kubernetes](https://thenewstack.io/service-mesh-adds-security-observability-and-traffic-control-to-kubernetes/)
* [lucperkins.dev: Service mesh use cases](https://lucperkins.dev/blog/service-mesh-use-cases/)
* [thenewstack.io: Zero-Trust Security with Service Mesh](https://thenewstack.io/zero-trust-security-with-service-mesh/)
+* [solo.io: Identity Federation for Multi-Cluster Kubernetes and Service Mesh](https://www.solo.io/blog/identity-federation-for-multi-cluster-kubernetes-and-service-mesh/)
## Tools For Evaluating Service Meshes
* [Meshery.io:](https://meshery.io/) Open source tool for evaluating and contrasting service meshes
@@ -32,6 +34,7 @@
- [medium: HashiCorp Consul: Multi-Cloud and Multi-Platform Service Mesh](https://medium.com/hashicorp-engineering/hashicorp-consul-multi-cloud-and-multi-platform-service-mesh-372a82264e8e)
- [hashicorp.com: Get Started with Consul Service Mesh on Kubernetes ๐](https://www.hashicorp.com/blog/get-started-with-consul-service-mesh-on-kubernetes/)
- [HashiCorp Consul Ingress Gateways and L7 Traffic Management in Kubernetes](https://www.hashicorp.com/blog/hashicorp-consul-ingress-gateways-and-l7-traffic-management-in-kubernetes) Learn about the advanced features of HashiCorp's Consul service mesh that are valuable to both infrastructure operators and developers.
+- [hashicorp.com: HashiCorp Consul Ingress Gateways and L7 Traffic Management in Kubernetes ๐](https://www.hashicorp.com/blog/hashicorp-consul-ingress-gateways-and-l7-traffic-management-in-kubernetes)
### Consul Connect
- [consul Connect](https://www.consul.io/docs/connect/index.html)
@@ -77,4 +80,7 @@
- https://github.com/knative/net-kourier : 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.
## AWS App Mesh
-- [AWS App Mesh with EKS and Canary deployment](https://medium.com/@anupam.s1602/aws-app-mesh-with-eks-and-canary-deployment-5503d9ba95d6)
\ No newline at end of file
+- [AWS App Mesh with EKS and Canary deployment](https://medium.com/@anupam.s1602/aws-app-mesh-with-eks-and-canary-deployment-5503d9ba95d6)
+
+## NGINX Service mesh
+- [nginx.com: Introducing NGINX Service Mesh](https://www.nginx.com/blog/introducing-nginx-service-mesh/)
\ No newline at end of file
diff --git a/docs/stackstorm.md b/docs/stackstorm.md
new file mode 100644
index 00000000..b844e9b9
--- /dev/null
+++ b/docs/stackstorm.md
@@ -0,0 +1,4 @@
+# StackStorm
+- [StackStorm.com](https://stackstorm.com/) Event-driven automation. Used by Netflix & many more....
+- [github.com/StackStorm](https://github.com/StackStorm)
+- [dzone: The Importance of Event-Driven Automation](https://dzone.com/articles/the-importance-of-event-driven-automation) Event-driven automation and event-driven applications have emerged in organizations to help solve conflicts between developers and ops and security teams.
diff --git a/docs/storage.md b/docs/storage.md
index 72aaeada..6136cb7d 100644
--- a/docs/storage.md
+++ b/docs/storage.md
@@ -1,18 +1,18 @@
# Cloud Native Storage
- [Introduction](#introduction)
- [Solutions](#solutions)
- - [Rook](#rook)
- - [Robin](#robin)
- - [Reduxio](#reduxio)
- - [Portworx](#portworx)
- - [StorageOS](#storageos)
- - [OpenEBS](#openebs)
- - [LightOS](#lightos)
- - [Longhorn](#longhorn)
- - [IBM Spectrum Storage Suite](#ibm-spectrum-storage-suite)
+ - [Rook](#rook)
+ - [Robin](#robin)
+ - [Reduxio](#reduxio)
+ - [Portworx](#portworx)
+ - [StorageOS](#storageos)
+ - [OpenEBS](#openebs)
+ - [LightOS](#lightos)
+ - [Longhorn](#longhorn)
+ - [IBM Spectrum Storage Suite](#ibm-spectrum-storage-suite)
- [OpenShift Container Storage Operator (OCS)](#openshift-container-storage-operator-ocs)
- - [OCS 3 (OpenShift 3)](#ocs-3-openshift-3)
- - [OCS 4 (OpenShift 4)](#ocs-4-openshift-4)
+ - [OCS 3 (OpenShift 3)](#ocs-3-openshift-3)
+ - [OCS 4 (OpenShift 4)](#ocs-4-openshift-4)
## Introduction
- [thenewstack.io: A Guide to Running Stateful Applications in Kubernetes](https://thenewstack.io/a-guide-to-running-stateful-applications-in-kubernetes/)
@@ -20,6 +20,8 @@
- [thenewstack.io: Persistent Volumes: Separating Compute and Storage](https://thenewstack.io/persistent-volumes-separating-compute-and-storage/)
- [medium: Solution architectโs guide to Kubernetes persistent storage](https://medium.com/weareservian/solution-architects-guide-to-kubernetes-persistant-storage-3c9660187e8f)
- [howtoforge.com: Storage in Kubernetes ๐](https://www.howtoforge.com/storage-in-kubernetes/)
+- [cncf.io: Container Attached Storage is Cloud Native Storage (CAS)](https://www.cncf.io/blog/2020/09/22/container-attached-storage-is-cloud-native-storage-cas/)
+- [thenewstack.io: The most popular cloud native solutions ๐](https://thenewstack.io/the-most-popular-cloud-native-storage-solutions/)
## Solutions
- [itnext.io: State of Persistent Storage in K8s โ A Benchmark](https://itnext.io/state-of-persistent-storage-in-k8s-a-benchmark-77a96bb1ac29)
@@ -43,6 +45,7 @@
- [OpenEBS](https://openebs.io/) extends the benefits of software-defined storage to cloud native through the container attached approach.
- [MayaData](https://mayadata.io/) Founder of OpenEBS
- [goglides.io: Running OpenEBS in Kubernetes](https://goglides.io/running-openebs-in-kubernetes/371/)
+- [OpenEBS Features and Benefits](https://docs.openebs.io/docs/next/features.html) OpenEBS is cloudnative storage for stateful applications on K8s where "cloud native" means following a loosely coupled architecture. As such the normal benefits to cloud native, loosely coupled architectures apply.
### LightOS
- [LightOS](https://www.lightbitslabs.com/product/)
diff --git a/docs/terraform.md b/docs/terraform.md
index c4885c86..3595dba4 100644
--- a/docs/terraform.md
+++ b/docs/terraform.md
@@ -1,16 +1,17 @@
# Hashicorp Packer & Terraform
- [Packer](#packer)
- [Terraform](#terraform)
- - [Terraform Infracost](#terraform-infracost)
- - [Awesome Terraform](#awesome-terraform)
- - [Terraform Cheat Sheets](#terraform-cheat-sheets)
- - [Best Practices](#best-practices)
- - [Terraform and CI/CD](#terraform-and-cicd)
- - [OpenShift and Terraform](#openshift-and-terraform)
- - [Terraform Kubernetes Operator](#terraform-kubernetes-operator)
- - [Terraform and AWS](#terraform-and-aws)
+ - [Terraform Infracost](#terraform-infracost)
+ - [Awesome Terraform](#awesome-terraform)
+ - [Terraform Cheat Sheets](#terraform-cheat-sheets)
+ - [Best Practices](#best-practices)
+ - [Terraform and CI/CD](#terraform-and-cicd)
+ - [OpenShift and Terraform](#openshift-and-terraform)
+ - [Terraform Kubernetes Operator](#terraform-kubernetes-operator)
+ - [Terraform and AWS](#terraform-and-aws)
- [Gruntwork](#gruntwork)
- [Terraform Modules](#terraform-modules)
+- [Enforce Policy with Sentinel](#enforce-policy-with-sentinel)
## Packer
* [packer.io](https://packer.io/)
@@ -48,14 +49,17 @@
* [Terraform Feature Flags & Environment Toggle Design Patterns](https://build5nines.com/terraform-feature-flags-environment-toggle-design-patterns/)
* [dzone: Immutable Infrastructure CI/CD Using Hashicorp Terraform and Jenkins](https://dzone.com/articles/immutable-infrastructure-cicd-using-hashicorp-terr) This extensive article should leave few questions unanswered about creating your infrastructure.
* [Announcing Databricks Labs Terraform integration on AWS and Azure](https://databricks.com/blog/2020/09/11/announcing-databricks-labs-terraform-integration-on-aws-and-azure.html)
-* [hashicorp.com: New Terraform Tutorials on Provisioning and Managing Kubernetes Clusters](https://www.hashicorp.com/blog/new-terraform-tutorials-on-provisioning-and-managing-kubernetes-clusters) Explore a new collection of Terraform tutorials that can help you through your Kubernetes adoption journey.
+* [hashicorp.com: New Terraform Tutorials on Provisioning and Managing Kubernetes Clusters ๐](https://www.hashicorp.com/blog/new-terraform-tutorials-on-provisioning-and-managing-kubernetes-clusters) Explore a new collection of Terraform tutorials that can help you through your Kubernetes adoption journey.
* [hodovi.cc: Creating a Low Cost Managed Kubernetes Cluster for Personal Development using Terraform](https://hodovi.cc/blog/creating-low-cost-managed-kubernetes-cluster-personal-development-terraform/)
* [hashicorp.com: Announcing 11 Verified Providers for Terraform](https://www.hashicorp.com/blog/announcing-11-verified-providers-for-terraform)
* [learnk8s.io: Provisioning Kubernetes clusters on AWS with Terraform and EKS ๐](https://learnk8s.io/terraform-eks) Fully automated dev, test, prod environments with EKS, Terraform and the ALB Ingress Controller.
-* [learn.hashicorp.com: Learn how to use and create custom Terraform Providers in a new collection of tutorials on HashiCorp Learn ๐](https://learn.hashicorp.com/collections/terraform/providers)
+* [learn.hashicorp.com: Call APIs with Terraform Providers. Learn how to use and create custom Terraform Providers in a new collection of tutorials on HashiCorp Learn ๐](https://learn.hashicorp.com/collections/terraform/providers)
+* [globaldatanet.com: Terraform CI/CD Best Practices](https://globaldatanet.com/blog/terraform-cicd-best-practices)
+* [devblogs.microsoft.com: What is infrastructure as code? ๐](https://devblogs.microsoft.com/devops/what-is-infrastructure-as-code/)
### Terraform Infracost
-- [Infracost](https://github.com/infracost/infracost) If you use Terraform to provision your Kubernetes clusters, you might find infracost interesting. Infracost estimates hourly and monthly costs for a Terraform project. It helps you to see the cost breakdown and compare different deployment options upfront
+- [Infracost ๐](https://github.com/infracost/infracost) If you use Terraform to provision your Kubernetes clusters, you might find infracost interesting. Infracost estimates hourly and monthly costs for a Terraform project. It helps you to see the cost breakdown and compare different deployment options upfront
+- [A Guide to Cloud Cost Optimization with HashiCorp Terraform ๐](https://www.hashicorp.com/blog/a-guide-to-cloud-cost-optimization-with-hashicorp-terraform)
### Awesome Terraform
* [github.com/shuaibiyy/awesome-terraform](https://github.com/shuaibiyy/awesome-terraform)
@@ -89,4 +93,7 @@
- [blog.gruntwork.io: Introducing: The Gruntwork Module, Service, and Architecture Catalogs](https://blog.gruntwork.io/introducing-the-gruntwork-module-service-and-architecture-catalogs-eb3a21b99f70)
## Terraform Modules
-- [Offensive Terraform Modules ๐](https://offensive-terraform.github.io/offensive-terraform.github.io/) Automated multi step offensive attack modules with Infrastructure as Code(IAC)
\ No newline at end of file
+- [Offensive Terraform Modules ๐](https://offensive-terraform.github.io/offensive-terraform.github.io/) Automated multi step offensive attack modules with Infrastructure as Code(IAC)
+
+## Enforce Policy with Sentinel
+- [learn.hashicorp.com: Enforce Policy with Sentinel](https://learn.hashicorp.com/collections/terraform/policy#sentinel)
\ No newline at end of file
diff --git a/docs/testops.md b/docs/testops.md
index 60307d23..91339e2d 100644
--- a/docs/testops.md
+++ b/docs/testops.md
@@ -3,11 +3,14 @@
- [Continuous Testing in DevOps](#continuous-testing-in-devops)
- [Test Driven Development (TDD)](#test-driven-development-tdd)
- [Tools](#tools)
+ - [KubeAudit](#kubeaudit)
## TestOps
- [devops.com: Shift-Right Testing: The Emergence of TestOps](https://devops.com/shift-right-testing-the-emergence-of-testops/)
- [devopsonline.co.uk: DevOps and the emergence of TestOps!](https://www.devopsonline.co.uk/devops-and-the-emergence-of-testops/)
- [opcito.com: TestOps: How to automate your software pipeline at the speed of DevOps](https://www.opcito.com/blogs/testops-how-to-automate-your-software-pipeline-at-the-speed-of-devops)
+- [xeridia.co.uk: The Importance of Testing in DevOps](https://www.xeridia.co.uk/blog/importance-testing-devops)
+- [xeridia.co.uk: Benefits of Test-Driven Development in DevOps Environments](https://www.xeridia.co.uk/blog/benefits-test-driven-development-devops-environments)
## Continuous Testing in DevOps
- [TestOps at the Speed of DevOps. Is DevOps killing Testing and QA or making it more important than ever?](https://www.linkedin.com/pulse/testops-speed-devops-chaitanya-jawale/)
@@ -24,6 +27,11 @@
- [Smocker (server mock) is a simple and efficient HTTP mock server](https://github.com/Thiht/smocker)
- [copyist](https://github.com/cockroachdb/copyist) Mocking Your SQL Database in Go Tests Has Never Been Easier.
- [opensource.com: Cerberus - An open source solution for continuous testing at scale](https://opensource.com/article/20/8/cerberus-test-automation) Cerberus focuses on testing usability, scalability, and integration.
+- [Diffblue](https://www.diffblue.com/) Catch regressions earlier in your pipeline with Java unit tests that are automatically created by Diffblue Cover
+ - [theregister.com: Coding unit tests is boring. Wouldn't it be cool if an AI could do it for you? That's where Diffblue comes in](https://www.theregister.com/2020/09/21/diffblue_let_ai_code_unit_tests) A big time saver โ but 'we can't tell if the current logic that you have in the code is correct or not.' Oh
+
+### KubeAudit
+- [developers.redhat.com: Static analysis with KubeAudit for Red Hat OpenShift](https://developers.redhat.com/blog/2020/10/09/static-analysis-with-kubeaudit-for-red-hat-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.
[](https://www.opcito.com/blogs/testops-how-to-automate-your-software-pipeline-at-the-speed-of-devops)
diff --git a/docs/visual-studio.md b/docs/visual-studio.md
index 53402caf..9c0dc8c0 100644
--- a/docs/visual-studio.md
+++ b/docs/visual-studio.md
@@ -1,24 +1,26 @@
# Visual Studio Code
- [VSCode](#vscode)
- - [Updates](#updates)
+ - [Updates](#updates)
- [Visual Studio MarketPlace and Extensions](#visual-studio-marketplace-and-extensions)
- - [Publishers](#publishers)
- - [Extensions](#extensions)
- - [More Extensions](#more-extensions)
- - [More Extensions (Blogs)](#more-extensions-blogs)
- - [Themes](#themes)
- - [DevOps Extensions](#devops-extensions)
- - [Azure DevOps Extensions](#azure-devops-extensions)
- - [Git Flow Extensions](#git-flow-extensions)
- - [Jenkins Extensions](#jenkins-extensions)
+ - [Publishers](#publishers)
+ - [Extensions](#extensions)
+ - [More Extensions](#more-extensions)
+ - [More Extensions (Blogs)](#more-extensions-blogs)
+ - [Themes](#themes)
+ - [DevOps Extensions](#devops-extensions)
+ - [Azure DevOps Extensions](#azure-devops-extensions)
+ - [Git Flow Extensions](#git-flow-extensions)
+ - [Jenkins Extensions](#jenkins-extensions)
- [Integrated Terminal on Visual Studio Code](#integrated-terminal-on-visual-studio-code)
- [Test Debugging](#test-debugging)
- [Python in Visual Studio Code](#python-in-visual-studio-code)
+- [Bridge to Kubernetes](#bridge-to-kubernetes)
- [Alternatives](#alternatives)
- [Videos](#videos)
## VSCode
* [code.visualstudio.com: Visual Studio Code](https://code.visualstudio.com/)
+* [vscode.github.com: GitHub and Visual Studio Code ๐](https://vscode.github.com/) Bring your workflows closer to your code. Learn how Visual Studio Code and GitHub are better together.
* [Visual Studio Online](https://visualstudio.microsoft.com/services/visual-studio-codespaces/)
* [Awesome Visual Studio Code](https://github.com/viatsko/awesome-vscode)
* [Using Version Control in VS Code](https://code.visualstudio.com/docs/editor/versioncontrol)
@@ -65,6 +67,7 @@ A simple extension to make indentation more readable
* [SVG:](https://marketplace.visualstudio.com/items?itemName=jock.svg) SVG Coding, Minify, Pretty, Preview All-In-One.
* [Python Visual Studio Code](https://github.com/microsoft/vscode-python)
* [twitter.com/pythonvscode](https://twitter.com/pythonvscode)
+ * [Python in Visual Studio Code โ September 2020 Release](https://devblogs.microsoft.com/python/python-in-visual-studio-code-september-2020-release/)
#### More Extensions
* [Prettier ESLint](https://marketplace.visualstudio.com/items?itemName=rvest.vs-code-prettier-eslint) Extension to format JavaScript code using prettier-eslint package
@@ -84,6 +87,7 @@ A simple extension to make indentation more readable
* [GitHub Pull Requests and Issues ๐](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github)
* [React Pure To Class](https://marketplace.visualstudio.com/items?itemName=angryobject.react-pure-to-class-vscode) Convert pure react components to class components
* [Helm Intellisense](https://marketplace.visualstudio.com/items?utm_sq=ggv6n6jy52&itemName=Tim-Koehler.helm-intellisense&ssr=false#overview) Helm Intellisense is a Visual Studio Code extension that provides intellisense for helm-templates
+* [Azure Resource Manager (ARM) Tools ๐](https://marketplace.visualstudio.com/items?itemName=msazurermtools.azurerm-vscode-tools) New VS Code extension for working with Azure Resource Manager (ARM) templates that will make your life much easier.
#### More Extensions (Blogs)
* [Become a VS Code Ninja with these Extensions and Tools [2020]](https://dev.to/vikrantnegi/become-a-vs-code-ninja-with-these-extensions-and-tools-2020-1119)
@@ -143,6 +147,10 @@ A simple extension to make indentation more readable
## Python in Visual Studio Code
- [Python in Visual Studio Code โ September 2020 Release](https://devblogs.microsoft.com/python/python-in-visual-studio-code-september-2020-release/)
+## Bridge to Kubernetes
+- [Bridge to Kubernetes ๐](https://github.com/microsoft/mindaro) Bridge to Kubernetes extends the Kubernetes perimeter to your development computer allowing you to write, test, and debug microservice code while connected to your Kubernetes cluster with the rest of your application or services. With this workflow, thereโฏis no need for extra assets, such as aโฏDockerfileโฏor Kubernetes manifests.โฏYou can simplyโฏrunโฏyour code natively on your development workstation while connected to the Kubernetes cluster, allowingโฏyou to test your code changes in the context of the larger application.
+- [visualstudiomagazine.com: Bridge to Kubernetes Simplifies Microservice Development in Visual Studio/VS Code](https://visualstudiomagazine.com/articles/2020/10/07/bridge-kubernetes.aspx)
+
## Alternatives
- [Repl.it](https://repl.it/) Reading code is hard! Don't you wish you could just ask the code what it does? To describe its functions, its types. And maybe... how can it be improved? Introducing: Replit code oracle.
- [Gitpod Open Sources a โHolistic IDEโ](https://thenewstack.io/gitpod-open-sources-a-holistic-ide/)
diff --git a/docs/yaml.md b/docs/yaml.md
index afcc8613..bb6dc771 100644
--- a/docs/yaml.md
+++ b/docs/yaml.md
@@ -1,7 +1,13 @@
# Templating YAML with YAML Processors. Static Checking of Kubernetes YAML Files
+- [Templating YAML Files](#templating-yaml-files)
+ - [YAML Processors](#yaml-processors)
+ - [Helm and Kustomize](#helm-and-kustomize)
+- [Templating JSON Files](#templating-json-files)
+- [Static Checking of Kubernetes YAML Files](#static-checking-of-kubernetes-yaml-files)
## Templating YAML Files
- [wikipedia: YAML](https://en.wikipedia.org/wiki/YAML)
+- [redhat.com: YAML for beginners](https://www.redhat.com/sysadmin/yaml-beginners) YAML is an easy, expressive, data-oriented language that distinguishes itself from document markup languages.
- [thoughtworks.com: Templating in YAML](https://www.thoughtworks.com/radar/techniques/templating-in-yaml) As infrastructures grow in complexity, so do the configuration files that define them. Tools such as [AWS CloudFormation](https://aws.amazon.com/cloudformation/), [Kubernetes](https://www.thoughtworks.com/radar/platforms/kubernetes) and [Helm](https://www.thoughtworks.com/radar/tools/helm) expect configuration files in JSON or YAML syntax, presumably in an attempt to make them easy to write and process. However, in most cases, teams quickly reach the point where they have some parts that are similar but not quite the same, for example, when the same service must be deployed in different regions with a slightly different setup. For such cases tools offer templating in YAML (or JSON), which has caused a huge amount of [frustration with practitioners](https://leebriggs.co.uk/blog/2019/02/07/why-are-we-templating-yaml.html). The problem is that the syntax of JSON and YAML requires all sorts of awkward compromises to graft templating features such as conditionals and loops into the files. **We recommend using an API from a programming language instead or, when this is not an option, a templating system in a programming language, either a general-purpose language such as Python or something specialized such as [Jsonnet](https://jsonnet.org/).**
- [Steve Horsfield: DevOps tricks - Templating YAML files](https://stevehorsfield.wordpress.com/2019/08/13/devops-tricks-templating-yaml-files/) Basic text tools fall foul of YAMLโs indentation sensitivity. On the other hand, **YAML tools like [ytt](https://get-ytt.io/) are pretty difficult to interpret.** In my case, I opted for a small [jq](https://stedolan.github.io/jq/) program executed via [yq](https://mikefarah.gitbook.io/yq/).
@@ -16,8 +22,12 @@
- [yh - YAML Highlighter](https://github.com/andreazorzetto/yh) is YAML syntax highlighter that works nicely with kubectl output
- [Kubectl output options ๐](https://gist.github.com/so0k/42313dbb3b547a0f51a547bb968696ba)
+### Helm and Kustomize
+- [dex.dev: YAML Templating Solutions: Helm & Kustomize](https://www.dex.dev/dex-videos/templating-solutions) Writing config files by hand is like coding with Notepad instead of an IDE. Let's find a better way, and take an overview of the popular solutions Helm & Kustomize.
+
## Templating JSON Files
- [wikipedia: JSON](https://en.wikipedia.org/wiki/JSON)
+- [json.org: Introducing JSON](https://www.json.org/json-en.html)
- [Jsonnet](https://jsonnet.org/) A data templating language for app and tool developers
- [Building a high performance JSON parser](https://dave.cheney.net/high-performance-json.html)
diff --git a/mkdocs.yml b/mkdocs.yml
index 44ca690c..ca06bfdc 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -161,6 +161,9 @@ nav:
- E-Learning: elearning.md
- Subreddits: newsfeeds.md
- Other Awesome Lists: other-awesome-lists.md
+ - Recruitment and Freelancing:
+ - Recruitment: recruitment.md
+ - Freelancing: freelancing.md
- About: about.md
copyright: 2020 Red Hat Spain, about.
google_analytics: ['UA-168051035-1', 'redhatspain.com']