diff --git a/docs/cheatsheets.md b/docs/cheatsheets.md
index 94b5b79f..73c5c03b 100644
--- a/docs/cheatsheets.md
+++ b/docs/cheatsheets.md
@@ -24,6 +24,7 @@
- [Helm Cheat Sheets](#helm-cheat-sheets)
- [Maven Cheat Sheets](#maven-cheat-sheets)
- [Gradle Cheat Sheets](#gradle-cheat-sheets)
+- [Eclipse MicroProfile](#eclipse-microprofile)
- [Jenkins Cheat Sheets](#jenkins-cheat-sheets)
- [JMeter Cheat Sheets](#jmeter-cheat-sheets)
- [Quarkus Cheat Sheets](#quarkus-cheat-sheets)
@@ -195,6 +196,9 @@
* [github.com/jahe: Gradle Cheat Sheet](https://gist.github.com/jahe/59557d507f43574b0d96)
* [github.com/jiffle: Gradle Cheat Sheet](https://gist.github.com/jiffle/499caa5f53ab8f90dc19a3040ee40f48)
+## Eclipse MicroProfile
+* [developers.redhat.com: MicroProfile JWT (JSON Web Tokens)](https://developers.redhat.com/cheat-sheets/microprofile-jwt)
+
## Jenkins Cheat Sheets
* [edureka.co: Jenkins Cheat Sheet π](https://www.edureka.co/blog/cheatsheets/jenkins-cheat-sheet/)
* [Jenkins Cheat Sheet](https://miro.medium.com/max/1400/1*5tZVl-tqZwSoxH97v4u45w.png)
diff --git a/docs/demos.md b/docs/demos.md
index 281cfcde..a18c8e66 100644
--- a/docs/demos.md
+++ b/docs/demos.md
@@ -83,6 +83,7 @@
* [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)
+* [kubernetes-advocate.medium.com: Website Deployment to AWS with Ansible](https://kubernetes-advocate.medium.com/how-to-deploy-a-website-to-aws-with-ansible-e878a63dd93)
### GitOps
- [thenewstack.io: GitOps in Multicluster Environments with Anthos Config Management](https://thenewstack.io/tutorial-gitops-in-multicluster-environments-with-anthos-config-management/)
@@ -115,10 +116,12 @@
* [kruyt.org: Running a mailserver in Kubernetes](https://kruyt.org/running-a-mailserver-in-kubernetes/)
* [piotrminkowski.com: RabbitMQ Monitoring on Kubernetes](https://piotrminkowski.com/2020/09/29/rabbitmq-monitoring-on-kubernetes/?utm_sq=gl0f6vph5e)
* [dzone: Bootstrapping Java Kubernetes Apps With Spring Initializr and K8s Initializer π](https://dzone.com/articles/bootstrapping-java-kubernetes-apps-no-yaml) Build a Spring Boot app and deploy to K8s without writing a single line of YAML.
+* [medium: Production Ready CI/CD Pipeline with Kubernetes](https://medium.com/awsblogs/ci-cd-with-kubernetes-3c29e8073c38)
### CI/CD with SpringBoot for Kubernetes
* [CI/CD for Kubernetes through a Spring Boot example (Banzai Cloud CI/CD)](https://teletype.in/@sravancynixit/CcwqFANxY)
* [onlineitguru.com: How to utilize Spring Boot Microservices on Kubernetes?](https://onlineitguru.com/blogger/how-to-utilize-spring-boot-microservices-on-kubernetes)
+* [piotrminkowski.com: Spring Boot on Kubernetes with Buildpacks and Skaffold π](https://piotrminkowski.com/2020/12/18/spring-boot-on-kubernetes-with-buildpacks-and-skaffold/)
#### Deploy a Spring Boot Application to Openshift with Spring Cloud Kubernetes and Fabric 8 Maven Plugin
* [github: Spring Cloud Kubernetes π](https://github.com/spring-cloud/spring-cloud-kubernetes)
@@ -208,6 +211,7 @@
- [openshift.com: GitOps Using Red Hat OpenShift Pipelines (Tekton) and Red Hat Advanced Cluster Management](https://www.openshift.com/blog/gitops-using-red-hat-openshift-pipelines-tekton-and-red-hat-advanced-cluster-management)
- [Set up continuous integration for .NET Core with OpenShift Pipelines](https://developers.redhat.com/blog/2020/09/24/set-up-continuous-integration-for-net-core-with-openshift-pipelines/)
- [alesnosek.com: CI/CD Pipeline Spanning Multiple OpenShift Clusters (jenkins & tekton)](http://alesnosek.com/blog/2020/06/30/ci-slash-cd-pipeline-spanning-multiple-openshift-clusters/)
+- [openshift.com: Guide to OpenShift Pipelines Part 1 - Introducing OpenShift Pipelines](https://www.openshift.com/blog/guide-to-openshift-pipelines-part-1-introducing-openshift-pipelines)
### ArgoCD
- [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.
diff --git a/docs/devops.md b/docs/devops.md
index 956381ae..d6299a21 100644
--- a/docs/devops.md
+++ b/docs/devops.md
@@ -85,6 +85,7 @@
* [informationweek.com: What's Holding DevOps Back?](https://www.informationweek.com/devops/whats-holding-devops-back/a/d-id/1339540) DevOps teams are at different stages of maturity. However, there are some common challenges they face along the way.
* [learnsteps.com: DevOps Interview Questions: How will you design your cloud VPC and subnets?](https://www.learnsteps.com/devops-interview-questions-how-will-you-design-your-cloud-vpc-and-subnets/)
* [opensource.com: Create a DevOps culture with open source principles](https://opensource.com/article/20/12/remote-devops) Now that more workforces are remote, DevOps teams can maximize their collaboration and productivity by following open source principles.
+* [github.blog: How to make DevOps your competitive advantage](https://github.blog/2020-12-18-how-to-make-devops-your-competitive-advantage/)
[](https://www.openshift.com/blog/openshift-end-to-end-cluster-customization)
diff --git a/docs/devsecops.md b/docs/devsecops.md
index b54eaed9..4194b1fa 100644
--- a/docs/devsecops.md
+++ b/docs/devsecops.md
@@ -118,6 +118,7 @@
- [medium: Securing K8s Ingress Traffic with HashiCorp Vault PKIaaS and JetStack Cert-Manager](https://medium.com/hashicorp-engineering/securing-k8s-ingress-traffic-with-hashicorp-vault-pkiaas-and-jetstack-cert-manager-cb46195742ca)
- [hashicorp.com: Automate Secret Injection into CI/CD Workflows with the GitHub Action for Vault](https://www.hashicorp.com/blog/vault-github-action)
- [hashicorp.com: Use AWS Lambda Extensions to Securely Retrieve Secrets From HashiCorp Vault](https://www.hashicorp.com/blog/aws-lambda-extensions-for-hashicorp-vault) Developers no longer have to make their Lambda functions Vault-aware.
+- [github.com/kelseyhightower: Serverless Vault with Cloud Run](https://github.com/kelseyhightower/serverless-vault-with-cloud-run) This tutorial walks you through deploying Hashicorp's Vault on Cloud Run, Google Cloud's container based Serverless compute platform.
### CyberArk and Ansible
- [ansible.com: Simplifying secrets management with CyberArk and Red Hat Ansible Automation Platform](https://www.ansible.com/blog/simplifying-secrets-management-with-cyberark-and-red-hat-ansible-automation-platform)
diff --git a/docs/docker.md b/docs/docker.md
index 3b0082cd..b322d1fc 100644
--- a/docs/docker.md
+++ b/docs/docker.md
@@ -47,6 +47,7 @@
* [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)
+* [docker.com: Docker Hub Experimental CLI tool](https://www.docker.com/blog/docker-hub-experimental-cli-tool/)
## Security
- [thehackernews.com: Docker Images Containing Cryptojacking Malware Distributed via Docker Hub](https://thehackernews.com/2020/06/cryptocurrency-docker-image.html)
@@ -56,6 +57,7 @@
* [developers.redhat.com: Keep it small: a closer look at Docker image sizing](https://developers.redhat.com/blog/2016/03/09/more-about-docker-images-size/)
* [medium: How to build a smaller Docker image](https://medium.com/@gdiener/how-to-build-a-smaller-docker-image-76779e18d48a) When youβre building a Docker image itβs important to keep the size under control. Having small images means ensuring faster deployment and transfers.
* [itsopensource.com: How to Reduce Node Docker Image Size by 10X](https://itsopensource.com/how-to-reduce-node-docker-image-size-by-ten-times/)
+* [blog.bitsrc.io: Best Practices for Writing a Dockerfile](https://blog.bitsrc.io/best-practices-for-writing-a-dockerfile-68893706c3) Optimize your Docker Image by following these best practices from day one.
## Reducing Build Time
* [nrmitchi.com: One Simple Trick for Building Images Faster π](https://www.nrmitchi.com/2020/10/one-simple-trick-for-building-images-faster/?utm_sq=gkugwn5n5s)
diff --git a/docs/git.md b/docs/git.md
index c4d6f35c..bd844a44 100644
--- a/docs/git.md
+++ b/docs/git.md
@@ -70,6 +70,7 @@
* [opensource.com: 8 Git aliases that make me more efficient](https://opensource.com/article/20/11/git-aliases) Use aliases to create shortcuts for your most-used or complex Git commands.
* [gitkraken.com: Git Tutorials: Instructional Training Videos π](https://www.gitkraken.com/learn/git/tutorials)
* [github.blog: Token authentication requirements for Git operations](https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/)
+* [github.blog: Commits are snapshots, not diffs](https://github.blog/2020-12-17-commits-are-snapshots-not-diffs/)
## Design By Contract
[Wikipedia: Design by contract (DbC)](https://en.wikipedia.org/wiki/Design_by_contract), also known as contract programming, programming by contract and design-by-contract programming, is an approach for designing software.
@@ -206,6 +207,8 @@ git push origin -f
* [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/)
+* [theregister.com: Passwords begone: GitHub will ban them next year for authenticating Git operations](https://www.theregister.com/2020/12/17/github_bans_passwords/)
+* [github.blog: Learn about ghapi, a new third-party Python client for the GitHub API](https://github.blog/2020-12-18-learn-about-ghapi-a-new-third-party-python-client-for-the-github-api/)
## Git Tools
* [Atlassian Sourcetree](https://www.sourcetreeapp.com/)
diff --git a/docs/java-and-java-performance-optimization.md b/docs/java-and-java-performance-optimization.md
index 8f98a52b..86074c2c 100644
--- a/docs/java-and-java-performance-optimization.md
+++ b/docs/java-and-java-performance-optimization.md
@@ -52,6 +52,7 @@ etc|
* [dzone.com: Running a JVM in a Container Without Getting Killed:](https://dzone.com/articles/running-a-jvm-in-a-container-without-getting-kille) Starting in JDK 9, and earlier if you use JDK 8u131, your JVM can detect how much memory is available when running inside a Docker container.
* [dzone.com: Java Inside Docker: What You Must Know to Not FAIL](https://dzone.com/articles/java-inside-docker-what-you-must-know-to-not-fail) If you've tried Java in containers, particularly Docker, you might have encountered some problems with the JVM and heap size. Here's how to fix it.
* [itnext.io: How to cold start fast a java service on k8s (EKS)](https://itnext.io/how-to-cold-start-fast-a-java-service-on-k8s-eks-3a7b4450845d)
+* [blog.gceasy.io: Best practices: Java memory arguments for Containers π](https://blog.gceasy.io/2020/11/05/best-practices-java-memory-arguments-for-containers/)
### Debugging java applications on OpenShift and Kubernetes
* [blog.openshift.com: Debugging Java Applications On OpenShift and Kubernetes](https://blog.openshift.com/debugging-java-applications-on-openshift-kubernetes/)
diff --git a/docs/jenkins-alternatives.md b/docs/jenkins-alternatives.md
index 7532b0ba..ccf627a8 100644
--- a/docs/jenkins-alternatives.md
+++ b/docs/jenkins-alternatives.md
@@ -35,6 +35,8 @@
* [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)
+* [onedev](https://github.com/theonedev/onedev)
+ * [Hands-on GitOps with OneDev and Kubernetes](https://robinshen.medium.com/hands-on-gitops-with-onedev-f05bd278f07c)
## Cloud Native CI/CD
* [jenkins-x.io](https://jenkins-x.io/)
diff --git a/docs/kubernetes.md b/docs/kubernetes.md
index 24b2b12f..4039eea9 100644
--- a/docs/kubernetes.md
+++ b/docs/kubernetes.md
@@ -323,6 +323,9 @@
* [itnext.io: Lessons learned from managing a Kubernetes cluster for side projects (GKE) π](https://itnext.io/lessons-learned-from-managing-a-kubernetes-cluster-for-side-projects-780fbbacf36c)
* [projectcalico.org: Using Kubernetes to orchestrate VMs π](https://www.projectcalico.org/using-kubernetes-to-orchestrate-vms/)
* [cncf.io: Kubernetes 101: An Introduction π](https://www.cncf.io/blog/2020/12/14/kubernetes-101-an-introduction/)
+* [millionvisit.blogspot.com: Kubernetes for Developers #1: Kubernetes Architecture and Features](http://millionvisit.blogspot.com/2020/12/kubernetes-for-developers-1-kubernetes-architecture.html)
+* [lastweekinaws.com: Is ECS deprecated? Has Kubernetes won?](https://www.lastweekinaws.com/blog/reader-mailbag-is-ecs-deprecated/)
+* [redhat.com: Start learning Kubernetes from your local machine](https://www.redhat.com/sysadmin/start-learning-kubernetes)
[](https://www.padok.fr/en/blog/kubernetes-architecture-clusters)
@@ -340,6 +343,8 @@
* [magalix: What You Should Know about Kubernetes 1.20](https://www.magalix.com/blog/what-you-should-know-about-kubernetes-1.20)
* [towardsdatascience.com: Kubernetes is deprecating Docker in the upcoming release](https://towardsdatascience.com/kubernetes-is-deprecating-docker-in-the-upcoming-release-2a03d607934a) Kubernetes and Docker will part ways; what does that mean to you?
* [zdnet.com: Kubernetes dropping Docker is not that big of a deal](https://www.zdnet.com/article/kubernetes-dropping-docker-is-not-that-big-of-a-deal/) Chill, people. Your Docker skills haven't suddenly become useless. Here's what's really going on.
+* [thenewstack.io: Kubernetes 1.20 Lands with 44 Enhancements](https://thenewstack.io/kubernetes-1-20-lands-with-44-enhancements/)
+* [openshift.com: Kubernetes is Removing Docker Support, Kubernetes is Not Removing Docker Support](https://www.openshift.com/blog/kubernetes-is-removing-docker-support-kubernetes-is-not-removing-docker-support)
### Namespaces
* [qvault.io: How to Restart All Pods in a Kubernetes Namespace π](https://qvault.io/2020/10/26/how-to-restart-all-pods-in-a-kubernetes-namespace/)
@@ -538,6 +543,7 @@ kubectl get secret --namespace=β-o yaml | sed βs/names
* [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)
* [itnext.io: Kubernetes Resources and Autoscaling β From Basics to Greatness π](https://itnext.io/kubernetes-resources-and-autoscaling-from-basics-to-greatness-7cae17fbf27b)
+* [levelup.gitconnected.com: Effects of Docker Image Size on AutoScaling w.r.t Single and Multi-Node Kube Cluster](https://levelup.gitconnected.com/effects-of-docker-image-size-on-autoscaling-w-r-t-single-and-multi-node-kube-cluster-29c4f689cd99)
### HPA and VPA
* [HPA: Horizontal Pod Autoscaler](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)
@@ -1096,6 +1102,7 @@ kubectl get secret --namespace=β-o yaml | sed βs/names
* [medium: How to Harden Your Kubernetes Cluster for Production π](https://medium.com/better-programming/how-to-harden-your-kubernetes-cluster-for-production-7e47990efc2a)
* [kubernetes.io: Cloud native security for your clusters](https://kubernetes.io/blog/2020/11/18/cloud-native-security-for-your-clusters/)
* [tldrsec.com: Risk8s Business: Risk Analysis of Kubernetes Clusters π](https://tldrsec.com/guides/kubernetes/) A zero-to-hero guide for assessing the security risk of your Kubernetes cluster and hardening it.
+* [microsoft.com: Threat matrix for Kubernetes π](https://www.microsoft.com/security/blog/2020/04/02/attack-matrix-kubernetes/)
### 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.
diff --git a/docs/message-queue.md b/docs/message-queue.md
index 8cbaa03c..c01ba5cc 100644
--- a/docs/message-queue.md
+++ b/docs/message-queue.md
@@ -148,6 +148,7 @@ comsysto about their usage of Debezium, touching on many details like outbox pat
- [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/)
- [levelup.gitconnected.com: Kafka for Engineers π](https://levelup.gitconnected.com/kafka-for-engineers-975feaea6067) Here are things about Kafka that you need to understand as a software engineer.
+- [confluent.io: How to Build and Deploy Scalable Machine Learning in Production with Apache Kafka](https://www.confluent.io/blog/build-deploy-scalable-machine-learning-production-apache-kafka/)