diff --git a/docs/GoogleCloudPlatform.md b/docs/GoogleCloudPlatform.md
index 3a348489..a343cda5 100644
--- a/docs/GoogleCloudPlatform.md
+++ b/docs/GoogleCloudPlatform.md
@@ -23,6 +23,7 @@
## GitHub
- [github.com/GoogleCloudPlatform](https://github.com/GoogleCloudPlatform)
- [github.com/GoogleCloudPlatform/cloud-code-samples](https://github.com/GoogleCloudPlatform/cloud-code-samples)
+- [kelseyhightower/cmd-tutorial](https://github.com/kelseyhightower/cmd-tutorial) This tutorial will walk you through provisioning some VMs on GCP so you can kick the tires on Cmd -- Track and Control Users in Production.
## Managing Cluster Level Configuration
- [Config Sync Overview](https://cloud.google.com/kubernetes-engine/docs/add-on/config-sync/overview) One of the most challenging day two concerns for Kubernetes users is managing cluster level configuration, think namespaces, CRDs, and RBAC rules, across multiple clusters. For GKE customers Config Sync is a game changer.
diff --git a/docs/ansible.md b/docs/ansible.md
index 795f3c41..1ef5b6ee 100644
--- a/docs/ansible.md
+++ b/docs/ansible.md
@@ -46,9 +46,11 @@
* [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.
+* [redhat.com: Renewing my thrill at work with Ansible](https://www.redhat.com/sysadmin/renewed-thrill-ansible)
## 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
+- [ansible.com: Red Hat Ansible Automation Platform 1.2](https://www.ansible.com/blog/now-available-red-hat-ansible-automation-platform-1.2)
### Automation services catalog
- [ansible.com: Automation services catalog, the newest addition to the Ansible Automation Platform](https://www.ansible.com/products/automation-services-catalog) Provide lifecycle management, provisioning, retirement and cataloging of automation resources to your business
diff --git a/docs/api.md b/docs/api.md
index 31dfd408..b27f6544 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -83,6 +83,7 @@
- SOAP is a communications protocol while REST is a set of architectural principles for data transmission.
- REST was designed to be a more straightforward and easy to implement alternative to heavyweight SOAP for web service access. SOAP functions well in distributed environments where REST assumes a direct point to point communication. Also, SOAP allows for services to describe themselves to clients and in some languages allows for automation. On the other hand, REST is fast as less processing is required, uses less bandwidth and is closer to technologies used in web design.
- The choice on which to use is totally dependent on what the requirement. For example, SOAP is a better choice for applications that have complex API so as to describe the services and methods, where formal contracts are agreed for the exchange format, where a guaranteed level of security is required etc. REST will be preferred when limiting bandwidth and resources, when operations are can be stateless and the information can be cached.
+- [baeldung.com: REST vs SOAP](https://www.baeldung.com/cs/rest-vs-soap)
### REST vs OpenAPI vs gRPC
- [REST vs. gRPC: Battle of the APIs](https://code.tutsplus.com/tutorials/rest-vs-grpc-battle-of-the-apis--cms-30711)
diff --git a/docs/aws.md b/docs/aws.md
index 1ef3be19..4d8510d4 100644
--- a/docs/aws.md
+++ b/docs/aws.md
@@ -56,8 +56,10 @@
- [VMware Cloud on AWS](#vmware-cloud-on-aws)
- [AWS Developer Blog](#aws-developer-blog)
- [AWS Lambda Serverless](#aws-lambda-serverless)
+- [AWS API Gateway](#aws-api-gateway)
- [AWS Cloud Formation](#aws-cloud-formation)
-- [Former2 to generate IaC templates](#former2-to-generate-iac-templates)
+- [Infrastructure Code Template Generators](#infrastructure-code-template-generators)
+ - [Former2 to generate IaC templates](#former2-to-generate-iac-templates)
- [AWS for Windows](#aws-for-windows)
- [Continuous Deployment with AWS](#continuous-deployment-with-aws)
- [AWS Security](#aws-security)
@@ -421,15 +423,22 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa
- [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 API Gateway
+- [alexdebrie.com: A Detailed Overview of AWS API Gateway π](https://www.alexdebrie.com/posts/api-gateway-elements/)
+
## AWS Cloud Formation
- [AWS Cloud Formation Release History](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/ReleaseHistory.html)
- [All the AWS Resource Types Reference for AWS CloudFormation ](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
- [Introducing Cloud Formation Guard - a new opensource CLI for infrastructure compliance π](https://aws.amazon.com/about-aws/whats-new/2020/06/introducing-aws-cloudformation-guard-preview/)
- [AWS CloudFormation Guard π](https://github.com/aws-cloudformation/cloudformation-guard)
-## Former2 to generate IaC templates
-- [Accelerate infrastructure as code development with open source Former2 π](https://aws.amazon.com/blogs/opensource/accelerate-infrastructure-as-code-development-with-open-source-former2/)
+## Infrastructure Code Template Generators
+- [aws.amazon.com: Amazon EC2 announces Spot Blueprints, an infrastructure code template generator to get started with EC2 Spot Instances](https://aws.amazon.com/about-aws/whats-new/2020/12/amazon-ec2-announces-spot-blueprints-an-infrastructure-code-template-generator-to-get-started-with-ec2-spot-instances/)
+
+### Former2 to generate IaC templates
- [former2.com π](https://former2.com/)
+- [Accelerate infrastructure as code development with open source Former2 π](https://aws.amazon.com/blogs/opensource/accelerate-infrastructure-as-code-development-with-open-source-former2/)
+
## AWS for Windows
- [blog.rackspace.com: Patch and AMI Management for Windows on AWS](http://blog.rackspace.com/patch-and-ami-management-for-windows-on-aws) step-by-step guide about patch and AMI management for Windows on AWS
diff --git a/docs/cheatsheets.md b/docs/cheatsheets.md
index 35312163..94b5b79f 100644
--- a/docs/cheatsheets.md
+++ b/docs/cheatsheets.md
@@ -78,6 +78,7 @@
* [bluematador.com: kubectl cheatsheet](https://www.bluematador.com/learn/kubectl-cheatsheet)
* [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
+* [akhilsharma.work: kubectl Get Resource - Short Names](https://akhilsharma.work/kubectl-get-resource-short-names/)
## Docker Cheat Sheets
- [dockerlux.github.io: Docker Cheat Sheet](http://dockerlux.github.io/pdfcheat-sheet-v2.pdf)
@@ -128,6 +129,7 @@
* [lzone.de: Terraform Cheat Sheet](https://lzone.de/cheat-sheet/Terraform)
* [thedevopsblog.co.uk: Terraform Cheat Sheet](https://thedevopsblog.co.uk/terraform-cli-cheat-sheet)
* [terraform-infraestructura.readthedocs.io: comandos](https://terraform-infraestructura.readthedocs.io/es/latest/comandos/)
+* [acloudguru.com: The Ultimate Terraform Cheatsheet](https://acloudguru.com/blog/engineering/the-ultimate-terraform-cheatsheet)
## Linux Command Cheat Sheets
* [linoxide.com: Linux Commands Cheat Sheet](https://linoxide.com/linux-command/linux-commands-cheat-sheet/)
@@ -161,6 +163,7 @@
## Kubernetes POD Cheat Sheets
- [jimmysong.io/kubernetes-handbook/concepts/pod.html π](https://jimmysong.io/kubernetes-handbook/concepts/pod.html)
- [https://dev.to/aurelievache: Understanding Kubernetes: part 1 β Pods](https://dev.to/aurelievache/kubernetes-sketchnotes-pods-4ib0)
+- [garba.org: Kubernetes Pod Life Cycle Cheat Sheet](https://garba.org/posts/2018/k8s_pod_lc/)
[](https://www.thoughtworks.com/insights/continuous-delivery)
diff --git a/docs/demos.md b/docs/demos.md
index 541fd91d..de5b8127 100644
--- a/docs/demos.md
+++ b/docs/demos.md
@@ -111,6 +111,9 @@
* [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!
* [shipa.io: Developing and deploying applications to Kubernetes locally with Shipa and Minikube](https://www.shipa.io/development/deploying-applications-on-kubernetes/)
+* [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.
### CI/CD with SpringBoot for Kubernetes
* [CI/CD for Kubernetes through a Spring Boot example (Banzai Cloud CI/CD)](https://teletype.in/@sravancynixit/CcwqFANxY)
@@ -120,6 +123,7 @@
### Istio
- [github: redhat-developer-demos Istio Tutorial for Java Microservices](https://github.com/redhat-developer-demos/istio-tutorial)
+- [blog.jetstack.io: Istio OIDC Authentication](https://blog.jetstack.io/blog/istio-oidc/) In this article you'll deploy an app and secure it with authenticaiton and authorisation for using Istio
### Rancher
- [Deploy a Rancher Cluster with GitLab CI and Terraform](https://rancher.com/blog/2020/deploy-with-gitlab-ci)
@@ -424,6 +428,7 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/redhatspain
## Quarkus Demos
- [Develop and test a Quarkus client on Red Hat CodeReady Containers with Red Hat Data Grid 8.0](https://developers.redhat.com/blog/2020/06/19/develop-and-test-a-quarkus-client-on-red-hat-codeready-containers-with-red-hat-data-grid-8-0/)
+- [aytartana.wordpress.com: Migrating SpringBoot PetClinic REST to Quarkus](https://aytartana.wordpress.com/2020/08/26/migrating-springboot-petclinic-rest-to-quarkus/)
## Kafka
- [medium: Setting up KafkaSource to send data and displayed with Knative event-display](https://medium.com/@jweng1/setting-up-kafkasource-to-send-data-and-displayed-with-knative-event-display-33891b253442)
diff --git a/docs/devops.md b/docs/devops.md
index fd1d33df..956381ae 100644
--- a/docs/devops.md
+++ b/docs/devops.md
@@ -77,9 +77,14 @@
* [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.
+* [medium: How to Become a DevOps Engineer in 2020](https://medium.com/better-programming/how-to-become-a-devops-engineer-in-2020-7618492a09d8) Your guide to getting started in a career in DevOps.
* [cloudacademy.com: Blog / DevOpsDevOps: Why Is It Important to Decouple Deployment From Release?](https://cloudacademy.com/blog/devops-why-is-it-important-to-decouple-deployment-from-release/)
* [dzone: The Serverless Path to DevOps](https://dzone.com/articles/the-serverless-path-to-devops) Serverless and DevOps combine in this article the uses AWS services as examples of how serverless technologies benefit DevOps processes.
* [devopscurry.com: DevOps 2021: A Complete Guide To Transition From a SysAdmin to DevOps Role](https://devopscurry.com/devops-2021-a-complete-guide-to-transition-from-a-sysadmin-to-devops-role/)
+* [infoq.com: Puppet Releases Its 2020 State of DevOps Report π](https://www.infoq.com/news/2020/11/2020-devops-report/)
+* [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.
[](https://www.openshift.com/blog/openshift-end-to-end-cluster-customization)
@@ -186,4 +191,8 @@
If I were a system administrator looking to learn a new programming language it would be Go.
So many of our tools including Kubernetes, Prometheus, and Terraform are written, and extended, in Go that it's almost a requirement next to learning Bash. https://t.co/OfZmGo4uP5
\ No newline at end of file
diff --git a/docs/devsecops.md b/docs/devsecops.md
index 1eca2bf3..b22dc591 100644
--- a/docs/devsecops.md
+++ b/docs/devsecops.md
@@ -144,7 +144,7 @@
## Kubernetes Network Policies
- [medium.com: K8s Network Policies Demystified and Simplified π](https://medium.com/swlh/k8s-network-policies-demystified-and-simplified-18f5ea9848e2)
-- [blog.nody.cc: Verify your Kubernetes Cluster Network Policies: From Faith to Proof](https://blog.nody.cc/posts/2020-06-kubernetes-network-policy-verification/?utm_sq=gjcz3y2zvp)
+- [blog.nody.cc: Verify your Kubernetes Cluster Network Policies: From Faith to Proof](https://blog.nody.cc/posts/2020-06-kubernetes-network-policy-verification/)
## Static Analysis SAST
- [DevSecOps β Static Analysis SAST with Jenkins Pipeline](https://digitalvarys.com/devsecops-static-analysis-sast-with-jenkins-pipeline/)
diff --git a/docs/docker.md b/docs/docker.md
index b008c4fa..3b0082cd 100644
--- a/docs/docker.md
+++ b/docs/docker.md
@@ -2,6 +2,7 @@
- [Introduction and Tutorials](#introduction-and-tutorials)
- [Security](#security)
- [How To Build a Smaller Docker Image](#how-to-build-a-smaller-docker-image)
+- [Reducing Build Time](#reducing-build-time)
- [Docker Tools](#docker-tools)
- [Docker and WSL2](#docker-and-wsl2)
- [Docker Cheat sheet](#docker-cheat-sheet)
@@ -56,6 +57,10 @@
* [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/)
+## 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)
+ * ``BUILDKIT_INLINE_CACHE=1 build-arg`` is a neat flag that you could add to your docker build to reduce the build time upto 89%
+
## Docker Tools
- [Top 50 Docker Tools](https://blog.inedo.com/top-50-docker-tools)
- [docker-ecs-plugin: Docker Releases Plugin for Simplified Deployments into AWS ECS and Fargate](https://www.infoq.com/news/2020/07/docker-ecs-plugin/)
@@ -73,6 +78,8 @@
* [theregister.co.uk: Compose yourselves β Docker has published multi-container app spec, needs contributors to help maintain and develop it](https://www.theregister.co.uk/2020/04/08/docker_opens_up_compose_specification/) Now focused on developers, firm wants its tools to be more universally useful. Keep it light(weight), though.
* [Awesome Compose](https://github.com/docker/awesome-compose)
* [Visual docker-compose.yml file generator π](https://nuxx.io/)
+* [medium: How can we easily and visually explain the Docker Compose π](https://medium.com/clarusway/how-can-we-easily-and-visually-explain-the-docker-compose-53df77e9f046)
+* [docker.com: Docker Compose for Amazon ECS Now Available](https://www.docker.com/blog/docker-compose-for-amazon-ecs-now-available/)
## Moving Linux Services Into Containers
* [crunchtools.com: A Hackerβs Guide to Moving Linux Services into Containers. Epic 15 page blog post showing people how to move Wordpress (php), Mediawiki (php), and Request Tracker (perl) into containers](http://crunchtools.com/moving-linux-services-to-containers/)
diff --git a/docs/git.md b/docs/git.md
index 4206d2c1..b7e35e23 100644
--- a/docs/git.md
+++ b/docs/git.md
@@ -65,6 +65,8 @@
* [thenextweb.com: A beginnerβs guide to the most popular Git commands](https://thenextweb.com/syndication/2020/09/02/a-beginners-guide-to-the-most-popular-git-commands/)
* [devroom.io: Git Squash your latests commits into one ](https://www.devroom.io/2011/07/05/git-squash-your-latests-commits-into-one/)
* [julien.danjou.info: Stop merging your pull requests manually π](https://julien.danjou.info/stop-merging-your-pull-request-manually/) -> [mergify π](https://mergify.io/)
+* [gitlab.com: How to keep your Git history clean with interactive rebase](https://about.gitlab.com/blog/2020/11/23/keep-git-history-clean-with-interactive-rebase/) Interactive rebase is one of Gitβs most versatile tools. Here's how to use it to correct commit messages, fix mistakes, and more.
+* [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.
## 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.
@@ -148,6 +150,7 @@ It prescribes that software designers should define formal, precise and verifiab
* [cloudbees.com: Testing with Feature Flags to Improve Developer Productivity](https://www.cloudbees.com/blog/feature-flags-improve-developer-productivity)
* [cloudbees.com: Goodbye Sleepless Nights: De-Risking Deployments with Feature Flags](https://www.cloudbees.com/case-study/petdesk)
* [thenewstack.io: Wave Goodbye to Release Nights](https://thenewstack.io/wave-goodbye-to-release-nights/)
+* [infoworld.com: Why arenβt you using feature flags?](https://www.infoworld.com/article/3600150/why-arent-you-using-feature-flags.amp.html) Software development is changing. If youβre still focused on release management rather than feature management, then youβre doing it wrong.
## Git Commands
* Show commit logs:
diff --git a/docs/gitops.md b/docs/gitops.md
index 38dc29ba..579f85dd 100644
--- a/docs/gitops.md
+++ b/docs/gitops.md
@@ -42,6 +42,8 @@
- [FluxCD, ArgoCD or Jenkins X: Which Is the Right GitOps Tool for You?](https://blog.container-solutions.com/fluxcd-argocd-or-jenkins-x-which-is-the-right-gitops-tool-for-you)
- [slideshare: GitOps, Jenkins X & Future of CI/CD](https://slideshare.net/rakutentech/gitops-jenkins-x-future-of-cicd)
- [kubesandclouds.com: Werf: Fully customizable GitOps](https://kubesandclouds.com/index.php/2020/09/01/werf-gitops/)
+- [searchitoperations.techtarget.com: GitOps pros grapple with Kubernetes configuration management. GitOps users seek ideal Kubernetes config tool π](https://searchitoperations.techtarget.com/news/252492459/GitOps-pros-grapple-with-Kubernetes-configuration-management) Configuration management challenges GitOps early adopters, especially at large enterprises with millions of lines of Kubernetes YAML to manage. Ultimately, the industry hasn't found an ideal approach to Kubernetes configuration management, especially for GitOps.
+ - [Tanka](https://tanka.dev/tutorial/jsonnet) a utility that blends Helm charts with Jsonnet, which combines the deployment speed and ubiquity of Helm charts with the more granular customizability supported by Jsonnet.
### Flux. The GitOps Operator for Kubernetes
- [Flux](https://fluxcd.io/) The GitOps operator for Kubernetes
diff --git a/docs/helm.md b/docs/helm.md
index 173df2a1..d1778f6d 100644
--- a/docs/helm.md
+++ b/docs/helm.md
@@ -40,6 +40,8 @@
* [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)
+* [itnext.io: Database migrations on Kubernetes using Helm hooks](https://itnext.io/database-migrations-on-kubernetes-using-helm-hooks-fb80c0d97805)
+* [jfrog.com: Steering Straight with Helm Charts Best Practices π](https://jfrog.com/blog/helm-charts-best-practices/)
## Helm Chart Documentation
* [chart-doc-gen: Helm Chart Documentation Generator](https://github.com/kubepack/chart-doc-gen)
diff --git a/docs/istio.md b/docs/istio.md
index 6a0c17c7..5e4a4739 100644
--- a/docs/istio.md
+++ b/docs/istio.md
@@ -43,6 +43,7 @@
- [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
+- [medium: Introduction to Istio Traffic Management. Traffic Routing with Istio by Example π](https://medium.com/swlh/introduction-to-istio-traffic-management-6b62c86f8cb4)
## Maistra Istio
- [Maistra.io](https://maistra.io)
diff --git a/docs/jenkins-alternatives.md b/docs/jenkins-alternatives.md
index e7c911be..c7514b90 100644
--- a/docs/jenkins-alternatives.md
+++ b/docs/jenkins-alternatives.md
@@ -13,6 +13,8 @@
* [Bamboo](https://www.atlassian.com/software/bamboo)
* [GitLab CI](https://dzone.com/articles/gitlab-ci-with-docker-environment-variable-quirks)
* [GitHub Actions CI/CD](https://github.blog/2019-08-08-github-actions-now-supports-ci-cd/)
+ * [blog.bitsrc.io: Github Actions or Jenkins? Making the Right Choice for You](https://blog.bitsrc.io/github-actions-or-jenkins-making-the-right-choice-for-you-9ac774684c8) GitHub Actions and Jenkins both get the job done. Letβs find out whether itβs worth considering moving from Jenkins.
+ * [openshift.com: Deploying to OpenShift using GitHub Actions](https://www.openshift.com/blog/deploying-to-openshift-using-github-actions)
* [Prow](https://github.com/kubernetes/test-infra/tree/master/prow)
* [Agola](https://agola.io/)
* [keptn](https://keptn.sh/) Keptn not only orchestrates Continuous Deployment, but it also orchestrates Continuous or Automated Operations.
@@ -46,6 +48,7 @@
* [Cloud Native Computing Foundation Accepts Argo as an Incubator Project](https://www.intuit.com/blog/technology/cloud-native-computing-foundation-accepts-argo-as-an-incubator-project/)
* [openshift.com: OpenShift Authentication Integration with ArgoCD](https://www.openshift.com/blog/openshift-authentication-integration-with-argocd)
* [developers.redhat.com: OpenShift joins the Argo CD community (KubeCon Europe 2020)](https://developers.redhat.com/blog/2020/08/17/openshift-joins-the-argo-cd-community-kubecon-europe-2020/)
+ * [thenewstack.io: Applied GitOps with ArgoCD](https://thenewstack.io/applied-gitops-with-argocd/)
* [Tekton](https://github.com/tektoncd/)
* [Tekton PetClinic Demo](https://github.com/tektoncd/pipeline)
* [Tekton PetClinic Demo Youtube](https://www.youtube.com/watch?v=igwFpZOUTnw)
diff --git a/docs/jenkins.md b/docs/jenkins.md
index 9f687350..7af72c9f 100644
--- a/docs/jenkins.md
+++ b/docs/jenkins.md
@@ -68,6 +68,9 @@
* [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/)
+* [Setup Chained Jenkins Declarative Pipeline Projects with Triggers π](https://medium.com/@rosaniline/setup-chained-jenkins-declarative-pipeline-projects-with-triggers-d3d04f1daf75)
+* [devopscurry.com: What makes Jenkins everyoneβs favorite in 2020](https://devopscurry.com/what-makes-jenkins-everyones-favorite-in-2020/)
+* [linkedin: Jenkins Server setup with dynamic worker nodes](https://www.linkedin.com/pulse/jenkins-server-setup-dynamic-worker-nodes-shishir-khandelwal/)
[](https://jenkinsistheway.io)
@@ -146,8 +149,8 @@
* **Versatile**: Pipelines support complex real-world CD requirements, including the ability to fork/join, loop, and perform work in parallel.
* **Extensible**: The Pipeline plugin supports custom extensions to its [DSL](https://en.wikipedia.org/wiki/Domain-specific_language) and multiple options for integration with other plugins.
* [jenkins.io - doc/book/pipeline π](https://jenkins.io/doc/book/pipeline/)
-* [jenkins.io - **Jenkinsfile** π](https://jenkins.io/doc/book/pipeline/jenkinsfile/) With **version 2** of the Jenkins Continuous Integration/Continuous Delivery (CI/CD) server, **a new job definition file has been introduced, called Jenkinsfile**. The initial Jenkinsfile format was based on Groovy. As groovy knowledge is not that widespread, a new and more straight forward was published in spring 2017. **This format is called Declarative Pipeline**. [This visual studio code extension](https://marketplace.visualstudio.com/items?itemName=jmMeessen.jenkins-declarative-support) is aimed at making the manipulation of this file type easier.
-* [Dzone refcard: **Continuous Delivery with Jenkins Workflow** π](https://dzone.com/refcardz/continuous-delivery-with-jenkins-workflow)
+* [jenkins.io - **Jenkinsfile** π](https://jenkins.io/doc/book/pipeline/jenkinsfile/) With **version 2** of the Jenkins Continuous Integration/Continuous Delivery (CI/CD) server, **a new job definition file has been introduced, called Jenkinsfile**. The initial Jenkinsfile format was based on Groovy. As groovy knowledge is not that widespread, a new and more straight forward was published in spring 2017. **This format is called Declarative Pipeline**. [This visual studio code extension](https://marketplace.visualstudio.com/items?itemName=jmMeessen.jenkins-declarative-support) is aimed at making the manipulation of this file type easier.
+* [Dzone refcard: **Continuous Delivery with Jenkins Pipeline** π](https://dzone.com/refcardz/continuous-delivery-with-jenkins-pipeline)
* [GitHub Gist - Faheetah/Jenkinsfile.groovy: **Jenkinsfile idiosynchrasies with escaping and quotes**](https://gist.github.com/Faheetah/e11bd0315c34ed32e681616e41279ef4)
* [jenkins.io: Jenkins CD and Pipelines Microsite](https://jenkins.io/solutions/pipeline/)
* [dzone.com: Jenkins Pipeline - Software Delivery Made Easy](https://dzone.com/articles/jenkins-pipeline-software-delivery-made-easy) Jenkins 2.0 has focused on solving the problem for organizations wanting to continuously deliver software.
@@ -340,6 +343,7 @@
* [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.
* [Role-based Authorization Strategy π](https://plugins.jenkins.io/role-strategy/)
+* [Extensible Choice Parameter](https://plugins.jenkins.io/extensible-choice-parameter/)
### Plugin Development. Jenkins Plugin Parent POM 4.0
- [Plugin Development](https://www.jenkins.io/doc/developer/plugin-development/)
@@ -380,6 +384,7 @@
* [Monitoring jenkins using instana](https://www.instana.com/blog/monitoring-jenkins-using-instana/)
* [medium: prometheus and grafana dashboard](https://medium.com/@gangsta_black/grafana-cool-dashboard-for-monitoring-jenkins-with-prometheus-c7ba4f1c6297)
* [youtube: Monitoring Jenkins with Grafana and Prometheus](https://www.youtube.com/watch?v=EWFJem7GUAc)
+* [youtube: Jenkins Prometheus Grafana Dashboard | Prometheus Jenkins Monitoring | Prometheus.yml | Thetips4you](https://www.youtube.com/watch?v=N8P9ZLMA2xY)
* [dynatrace.com: optimizing jenkins to ensure fast build times with dynatrace](https://www.dynatrace.com/news/blog/optimizing-jenkins-to-ensure-fast-build-times-with-dynatrace/)
* [opsview.com: opspack](https://www.opsview.com/product/system-monitoring/application/jenkins-monitoring)
* [Chrome Extension](https://chrome.google.com/webstore/detail/monitor-me-jenkins/jhbokpimjgedmpcmfoghhiokhpihlkgc)
diff --git a/docs/kubernetes-alternatives.md b/docs/kubernetes-alternatives.md
index 96717d02..9bf3aae2 100644
--- a/docs/kubernetes-alternatives.md
+++ b/docs/kubernetes-alternatives.md
@@ -34,6 +34,8 @@
* [galaxy.ansible.com: Docker Ansible Role](https://galaxy.ansible.com/atosatto/docker-swarm) Setup Docker on RHEL/CentOS and Debian/Ubuntu servers. The role supports Docker Engine's "Swarm Mode" to create a cluster of Docker nodes.
* [Kubernetes vs Docker Swarm:βA Comprehensive Comparison](https://www.cuelogic.com/blog/kubernetes-vs-docker-swarm)
* [Alternative to Kubernetes: Docker Swarm](https://www.linkedin.com/pulse/alternative-kubernetes-docker-swarm-marcel-koert/)
+* [dotnettricks.com: Kubernetes vs Docker: Analyzing The Differences](https://www.dotnettricks.com/learn/docker/kubernetes-vs-docker-analyzing-the-differences)
+* [freecodecamp.org: Kubernetes VS Docker: What's the Difference? Explained With Example](https://www.freecodecamp.org/news/kubernetes-vs-docker-whats-the-difference-explained-with-examples/)
---
diff --git a/docs/kubernetes.md b/docs/kubernetes.md
index ad44c812..34383907 100644
--- a/docs/kubernetes.md
+++ b/docs/kubernetes.md
@@ -2,6 +2,8 @@
- [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 Releases](#kubernetes-releases)
+ - [Namespaces](#namespaces)
- [Kubernetes Best Practices and Tips](#kubernetes-best-practices-and-tips)
- [Disruptions](#disruptions)
- [Cost Estimation Strategies](#cost-estimation-strategies)
@@ -53,7 +55,7 @@
- [Kubectl Plugins](#kubectl-plugins)
- [Kubectl Plugins and Tools. Kubernetes Extensions and Projects](#kubectl-plugins-and-tools-kubernetes-extensions-and-projects)
- [Enforcing Policies and governance for kubernetes workloads with Conftest](#enforcing-policies-and-governance-for-kubernetes-workloads-with-conftest)
-- [Kubernetes Backup](#kubernetes-backup)
+- [Kubernetes Backup and Migrations](#kubernetes-backup-and-migrations)
- [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)
@@ -310,6 +312,14 @@
* [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/)
* [Kubernetes Horror Stories](https://thenewstack.io/kubernetes-horror-stories/)
+* [lambda.grofers.com: Learnings From Two Years of Kubernetes in Production π](https://lambda.grofers.com/learnings-from-two-years-of-kubernetes-in-production-b0ec21aa2814)
+* [devopsunlocked.com: Kubernetes: Learning Material π](https://devopsunlocked.com/kubernetes-learning-material/)
+* [magalix.com: **Team Productivity: Resource Management** π](https://www.magalix.com/blog/team-productivity-1) Resource Requests, Limits and Quota
+* [opensource.com: A beginner's guide to Kubernetes Jobs and CronJobs](https://opensource.com/article/20/11/kubernetes-jobs-cronjobs) Use Jobs and CronJobs to control and manage Kubernetes pods and containers.
+* [learnsteps.com: How Kubernetes works on reconciler pattern π](https://www.learnsteps.com/how-kubernetes-works-on-a-reconciler-pattern/)
+* [redhat.com: Kubernetes Components - A sysadmin's guide to basic Kubernetes components π](https://www.redhat.com/sysadmin/kubernetes-components) Kubernetes control plane nodes and worker nodes, their features, and how they interact.
+* [medium: How Rolling and Rollback Deployments work in Kubernetes](https://medium.com/@yankee.exe/how-rolling-and-rollback-deployments-work-in-kubernetes-8db4c4dce599)
+* [medium: Installing cf-for-k8s on a Kubernetes Cluster Running on Digital Ocean](https://medium.com/cloud-foundry-foundation/installing-cf-for-k8s-on-a-kubernetes-cluster-running-on-digitalocean-acffdc652dcf) If you want to install Cloud Foundry on Kubernetes on Digital Ocean, you might find this article relevant.
+### Kubernetes Releases
+* [sysdig.com: Whatβs new in Kubernetes 1.20?](https://sysdig.com/blog/whats-new-kubernetes-1-20/)
+* [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.
+
+### 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/)
+* [medium: How to create Namespaces in Kubernetes? π](https://medium.com/faun/namespaces-in-kubernetes-4bac49414770)
+* [starwindsoftware.com: Remove a Kubernetes namespace blocked with Terminating status](https://www.starwindsoftware.com/blog/remove-a-kubernetes-namespace-blocked-with-terminating-status)
+
### Kubernetes Best Practices and Tips
* [**Optimize** Kubernetes cluster management with these 5 tips π](https://searchitoperations.techtarget.com/feature/Optimize-Kubernetes-cluster-management-with-these-5-tips) Effective Kubernetes cluster management requires operations teams to balance pod and node deployments with performance and availability needs.
* [techradar.com: Three tips to implement Kubernetes with open standards](https://www.techradar.com/news/three-tips-to-implement-kubernetes-with-open-standards)
@@ -338,6 +359,8 @@
- [harness.io: Getting Started with Cloud Cost Optimization](https://harness.io/2020/09/getting-started-with-cloud-cost-optimization/)
- [rancher.com: Gain Better Visibility into Kubernetes Cost Allocation](https://rancher.com/blog/2020/gain-better-visibility-kubernetes-cost-allocation)
- [loft.sh: Kubernetes Cost Savings By Reducing The Number Of Clusters](https://loft.sh/blog/kubernetes-cost-savings/)
+- [thenewstack.io: 5 Essential Tips to Manage Kubernetes Costs π](https://thenewstack.io/5-essential-tips-to-manage-kubernetes-costs/)
+- [opensource.com: 3 ways Kubernetes optimizes your IT budget π](https://opensource.com/article/20/12/it-budget-kubernetes) Automation is not only good for IT, it's also beneficial to your company's bottom line.
### Kubernetes Resource and Capacity Management
* [itnext.io: Kubernetes Resource Management in Production π](https://itnext.io/kubernetes-resource-management-in-production-d5382c904ed1) Requests, Limits, Overcommitment, Slack/Waste, Throttling
@@ -352,6 +375,7 @@
* [magalix.com: Best Practices And Tools For Monitoring Your Kubernetes Cluster](https://www.magalix.com/blog/best-practices-and-tools-for-monitoring-your-kubernetes-cluster)
* [sysdig.com: Monitoring Kubernetes in Production](https://sysdig.com/blog/monitoring-kubernetes/)
* [sysdig.com: How to monitor Kubernetes control plane π](https://sysdig.com/blog/monitor-kubernetes-control-plane/)
+* [thenewstack.io: 12 Critical Kubernetes Health Conditions You Need to Monitor π](https://thenewstack.io/12-critical-kubernetes-health-conditions-you-need-to-monitor/)
#### Logging in Kubernetes
- [cncf.io: Logging in Kubernetes: EFK vs PLG Stack π](https://www.cncf.io/blog/2020/07/27/logging-in-kubernetes-efk-vs-plg-stack/)
@@ -392,6 +416,7 @@
* [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)
* [medium: Be fast with Kubectl 1.19 CKAD/CKA π](https://medium.com/faun/be-fast-with-kubectl-1-18-ckad-cka-31be00acc443) Collection of the fastest ways to create k8s resources using kubectl β₯ 1.18
+* [developers.redhat.com: Kubectl: Developer tips for the Kubernetes command line π](https://developers.redhat.com/blog/2020/11/20/kubectl-developer-tips-for-the-kubernetes-command-line/)
### Kubectl Cheat Sheets
* [Kubectl Cheat Sheets](cheatsheets.md)
@@ -509,15 +534,20 @@ kubectl get secret --namespace=β-o yaml | sed βs/names
* [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)
+* [itnext.io: Kubernetes Resources and Autoscaling β From Basics to Greatness π](https://itnext.io/kubernetes-resources-and-autoscaling-from-basics-to-greatness-7cae17fbf27b)
### HPA and VPA
* [HPA: Horizontal Pod Autoscaler](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)
* [VPA: Vertical Pod Autoscaler](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler)
* [returngis.net: Escalado vertical de tus pods en Kubernetes con VerticalPodAutoscaler](https://www.returngis.net/2020/07/escalado-vertical-de-tus-pods-en-kubernetes/)
-* [partlycloudy.blog: Horizontal Autoscaling in Kubernetes #3 β KEDA](https://partlycloudy.blog/2020/05/29/horizontal-autoscaling-in-kubernetes-3-keda/?utm_sq=gg9zmjs4yi)
+* [partlycloudy.blog: Horizontal Autoscaling in Kubernetes #3 β KEDA](https://partlycloudy.blog/2020/05/29/horizontal-autoscaling-in-kubernetes-3-keda/)
+ * [thenewstack.io: CNCF KEDA 2.0 Scales up Event-Driven Programming on Kubernetes](https://thenewstack.io/microsoft-keda-2-0-scales-up-event-driven-programming-on-kubernetes/)
* [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) Via the Cluster Autoscaler, Horizontal Pod Autoscaler, and Vertical Pod Autoscaler
* [itnext.io: Horizontal Pod Autoscaling with Custom Metric from Different Namespace](https://itnext.io/horizontal-pod-autoscaling-with-custom-metric-from-different-namespace-f19f8446143b)
* [Kubernetes autoscaling with Istio metrics π](https://medium.com/google-cloud/kubernetes-autoscaling-with-istio-metrics-76442253a45a) Scaling based on traffic is not something new to Kubernetes, an ingress controllers such as NGINX can expose Prometheus metrics for HPA. **The difference in using Istio is that you can autoscale backend services as well, apps that are accessible only from inside the mesh.**
+* [medium: 1/3 Autoscaling in Kubernetes: A Primer on Autoscaling](https://medium.com/expedia-group-tech/autoscaling-in-kubernetes-a-primer-on-autoscaling-7b8f0f95a928)
+ * [medium: 2/3 Autoscaling in Kubernetes: Options, Features, and Use Cases](https://medium.com/expedia-group-tech/autoscaling-in-kubernetes-options-features-and-use-cases-c8a6ce145957)
+ * [medium: 3/3 Autoscaling in Kubernetes: Why doesnβt the Horizontal Pod Autoscaler work for me?](https://medium.com/expedia-group-tech/autoscaling-in-kubernetes-why-doesnt-the-horizontal-pod-autoscaler-work-for-me-5f0094694054)
### Cluster Autoscaler and Helm
* [hub.helm.sh: cluster-autoscaler](https://hub.helm.sh/charts/stable/cluster-autoscaler) The cluster autoscaler scales worker nodes within an AWS autoscaling group (ASG) or Spotinst Elastigroup.
@@ -601,6 +631,12 @@ kubectl get secret --namespace=β-o yaml | sed βs/names
* [Awesome Kubectl plugins π](https://github.com/ishantanu/awesome-kubectl-plugins)
* [Extend kubectl with plugins](https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/)
* [youtube: Welcome to the world of kubectl plugins](https://www.youtube.com/watch?v=_W2qZvQT6XY)
+* [padok.fr: Getting started with kubectl plugins π](https://www.padok.fr/en/blog/kubectl-plugins) 5 useful kubectl plugins:
+ * whoami
+ * access-matrix
+ * neat
+ * tree
+ * node-shell
@@ -746,6 +782,11 @@ kubectl get secret --namespace=β-o yaml | sed βs/names
- [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.
- [Descheduler for Kubernetes π](https://github.com/kubernetes-sigs/descheduler) -> [wecloudpro.com: Balance your Kubernetes cluster](https://www.wecloudpro.com/2020/11/01/Balance-your-kubernetes-cluster.html)
+- [kubediff π](https://github.com/weaveworks/kubediff) is a tool for Kubernetes to show you the differences between your running configuration and your version controlled configuration.
+- [awslabs/karpenter](https://github.com/awslabs/karpenter) Karpenter is a metrics-driven autoscaler built for Kubernetes and can run in any Kubernetes cluster anywhere. It's performant, extensible, and can autoscale anything that implements the Kubernetes scale subresource.
+- [ekglue - Envoy/Kubernetes glue](https://github.com/jrockway/ekglue) ekglue is a projects that facilitates connecting Kubernetes and Envoy, allowing Envoy to read Kubernetes services and endpoints as clusters (via CDS) and endpoints (via EDS).
+- [salesforce/Craft](https://github.com/salesforce/craft) CRAFT helps you to create Kubernetes Operators in a robust and generic way for any resource, letting developers focus on CRUD operations of resource management in a Dockerfile.
+- [hyscale π](https://github.com/hyscale/hyscale) HyScale takes a declarative definition of your service config and it generates Dockerfile, Container Image, Kubernetes Manifests (YAMLs) and deploys to any Kubernetes Cluster.
## 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
@@ -757,7 +798,7 @@ kubectl get secret --namespace=β-o yaml | sed βs/names
* [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
+## Kubernetes Backup and Migrations
* [kube-backup: Kubernetes resource state sync to git](https://github.com/pieterlange/kube-backup)
* [Stash](https://github.com/stashed/stash) If you are running production workloads in Kubernetes, you might want to take backup of your disks, databases etc. Stash is a cloud native data backup and recovery solution for Kubernetes workloads
* [thenewstack.io: Cloud Native Backups, Disaster Recovery and Migrations on Kubernetes](https://thenewstack.io/cloud-native-backups-disaster-recovery-and-migrations-on-kubernetes/)
@@ -768,6 +809,8 @@ kubectl get secret --namespace=β-o yaml | sed βs/names
* [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/)
+* [kasten.io: Kubernetes Application Mobility](https://www.kasten.io/kubernetes/application-mobility/) Reliable and Powerful Migration of Complete Applications Across Kubernetes Clusters.
+* [longhorn issue: Move replica to a different server](https://github.com/longhorn/longhorn/issues/292)
### Backup with Velero
* [akomljen.com: Kubernetes Backup and Restore with Velero π](https://akomljen.com/kubernetes-backup-and-restore-with-velero/?utm_sq=ggwzo8xdd8)
@@ -791,6 +834,7 @@ kubectl get secret --namespace=β-o yaml | sed βs/names
- [kinvolk.io](https://kinvolk.io)
- [learnk8s.io: A visual guide on troubleshooting Kubernetes deployments π](https://learnk8s.io/troubleshooting-deployments)
- [StatusBay π](https://github.com/similarweb/statusbay) is a tool that provides the missing visibility into the K8S deployment process. The main goal is to ease the experience of troubleshooting and debugging services in K8S and provide confidence while making changes.
+- [medium: Better Debugging Environment for your Micro-Services](https://medium.com/@moshe.beladev.mb/better-debugging-environment-for-your-micro-services-9420a71b8a37)
[{: style="width:30%"}](https://learnk8s.io/troubleshooting-deployments)
@@ -960,6 +1004,7 @@ kubectl get secret --namespace=β-o yaml | sed βs/names
* [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.
* [blog.alexellis.io: Get kubectl access to your private cluster from anywhere](https://blog.alexellis.io/get-private-kubectl-access-anywhere/)
* [jmrobles.medium.com: How to setup Hetzner load balancer on a Kubernetes cluster](https://jmrobles.medium.com/how-to-setup-hetzner-load-balancer-on-a-kubernetes-cluster-2ce79ca4a27b)
+* [kubernetes.io: Scaling Kubernetes Networking With EndpointSlices](https://kubernetes.io/blog/2020/09/02/scaling-kubernetes-networking-with-endpointslices/) EndpointSlices are a new Kubernetes API that provides a scalable and extensible alternative to the Endpoints API.
@@ -967,6 +1012,7 @@ kubectl get secret --namespace=β-o yaml | sed βs/names
### Kubernetes Ingress Specification
- [Supporting the Evolving Ingress Specification in Kubernetes 1.18](https://kubernetes.io/blog/2020/06/05/supporting-the-evolving-ingress-specification-in-kubernetes-1.18/)
+- [medium: Ingress service types in Kubernetes π](https://medium.com/faun/ingress-service-types-in-kubernetes-3e9b68b78307)
### Xposer Kubernetes Controller To Manage Ingresses
* [Xposer π](https://github.com/stakater/Xposer) A Kubernetes controller to manage (create/update/delete) Kubernetes Ingresses based on the Service
@@ -1044,6 +1090,7 @@ kubectl get secret --namespace=β-o yaml | sed βs/names
* [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/)
* [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/)
### 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.
@@ -1092,6 +1139,7 @@ kubectl get secret --namespace=β-o yaml | sed βs/names
* [magalix.com: kubernetes authentication π](https://www.magalix.com/blog/kubernetes-authentication)
* [magalix.com: kubernetes authorization π](https://www.magalix.com/blog/kubernetes-authorization)
* [kubernetes login](https://blog.christianposta.com/kubernetes/logging-into-a-kubernetes-cluster-with-kubectl/)
+* [learnk8s.io: Authentication between microservices using Kubernetes identities π](https://learnk8s.io/microservices-authentication-kubernetes)
#### Kubernetes Authentication Methods
Kubernetes supports several authentication methods out-of-the-box, such as X.509 client certificates, static HTTP bearer tokens, and OpenID Connect.
@@ -1202,6 +1250,8 @@ Kubernetes supports several authentication methods out-of-the-box, such as X.509
* [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)
+* [en.sokube.ch: AWS + Kubernetes = AWS Elastic Kubernetes Service (EKS) π](https://en.sokube.ch/post/aws-kubernetes-aws-elastic-kubernetes-service-eks)
+* [aws.amazon.com: Operating a multi-regional stateless application using Amazon EKS](https://aws.amazon.com/blogs/containers/operating-a-multi-regional-stateless-application-using-amazon-eks/)
### GCP and GKE
- [Fetches all Primitive and Predefined GCP IAM Roles](https://github.com/darkbitio/gcp-iam-role-permissions)
@@ -1210,6 +1260,7 @@ Kubernetes supports several authentication methods out-of-the-box, such as X.509
- [Looking ahead as GKE, the original managed Kubernetes, turns 5](https://cloudblog.withgoogle.com/products/containers-kubernetes/5-ways-google-cloud-is-making-gke-the-best-place-to-run-kubernetes/amp/)
- [whizlabs.com: Introduction To Google Cloud Platform](https://www.whizlabs.com/blog/google-cloud-platform/)
- [blog.doit-intl.com: How to Set Up Multi-Cluster Load Balancing with GKE](https://blog.doit-intl.com/how-to-setup-multi-cluster-load-balancing-with-gke-4b407e1f3dff)
+- [codeburst.io: Google Kubernetes Engine Logging by Example](https://codeburst.io/google-kubernetes-engine-logging-by-example-df6946dcba6b)
### Tools for multi-cloud Kubernetes management
- [Banzai Cloud π](https://banzaicloud.com/)
@@ -1258,6 +1309,7 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops
### Deploying Kubernetes Cluster with Ansible
- [Ansible Role - Kubernetes (Jeff Geerling)](https://github.com/geerlingguy/ansible-role-kubernetes)
+- [krd](https://github.com/electrocucaracha/krd) offers a reference for deploying a Kubernetes cluster. Its ansible playbooks allow to provision a deployment on Bare-metal or Virtual Machines
### kube-aws Kubernetes on AWS
- [Kubernetes on AWS (kube-aws)](https://kubernetes-incubator.github.io/kube-aws/) A command-line tool to declaratively manage Kubernetes clusters on AWS
@@ -1290,6 +1342,7 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops
- [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/)
+- [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)
### Microk8s
- [**Microk8s**](https://microk8s.io/)
diff --git a/docs/linux.md b/docs/linux.md
index ef1b5b22..29697b4e 100644
--- a/docs/linux.md
+++ b/docs/linux.md
@@ -6,6 +6,7 @@
- [Youtube](#youtube)
- [Reddit](#reddit)
- [Linux Commands and Tools](#linux-commands-and-tools)
+- [Bash](#bash)
- [Linux processes](#linux-processes)
- [Linux and Kubernetes](#linux-and-kubernetes)
- [Systemd](#systemd)
@@ -93,6 +94,9 @@
- [cyberciti.biz: How to check TLS/SSL certificate expiration date from command-line](https://www.cyberciti.biz/faq/find-check-tls-ssl-certificate-expiry-date-from-linux-unix/)
- [igoroseledko.com: Parallel Rsync](https://www.igoroseledko.com/parallel-rsync/)
+## Bash
+- [igoroseledko.com: Checking Multiple Variables in Bash](https://www.igoroseledko.com/checking-multiple-variables-in-bash/)
+
## 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/maven-gradle.md b/docs/maven-gradle.md
index 898cae34..b6868381 100644
--- a/docs/maven-gradle.md
+++ b/docs/maven-gradle.md
@@ -30,6 +30,7 @@
* [Dzone: Building Java Applications With Maven](https://dzone.com/articles/building-java-applications-with-maven)
* [howtodoinjava.com/maven](https://howtodoinjava.com/maven/)
* [Dzone: 7 Tips to Achieve High-Availability(HA) For Your Maven Repository](https://dzone.com/articles/7-tips-to-achieve-high-availabilityha-for-your-mav-1)
+* [maarten.mulders.it: What's New in Maven 4](https://maarten.mulders.it/2020/11/whats-new-in-maven-4/)
### Scaffolding a project with Maven (maven archetype)
* [vogella.com: Maven for Building Java application - Tutorial](https://www.vogella.com/tutorials/ApacheMaven/article.html)
diff --git a/docs/message-queue.md b/docs/message-queue.md
index edad09f6..58a1cd0f 100644
--- a/docs/message-queue.md
+++ b/docs/message-queue.md
@@ -44,6 +44,8 @@
- [infoq.com: From Monolith to Event-Driven: Finding Seams in Your Future Architecture](https://www.infoq.com/articles/event-driven-finding-seams/)
- [wikipedia: Enterprise service bus](https://en.wikipedia.org/wiki/Enterprise_service_bus)
- [thenewstack.io: The Rise of the Event Streaming Database π](https://thenewstack.io/the-rise-of-the-event-streaming-database/)
+- [cncf.io: The need for Kubernetes Native Messaging Platform in Hybrid Cloud Environment](https://www.cncf.io/blog/2020/11/03/the-need-for-kubernetes-native-messaging-platform-in-hybrid-cloud-environment/)
+- [wiprodigital.com: A Guide to Enterprise Event-Driven Architecture](https://wiprodigital.com/2020/11/10/a-guide-to-enterprise-event-driven-architecture/)
## Message Brokers
- [Apache ActiveMQ](https://activemq.apache.org/)
@@ -140,6 +142,7 @@ comsysto about their usage of Debezium, touching on many details like outbox pat
- [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/)
+- [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.
[](https://medium.com/convoy-tech/logs-offsets-near-real-time-elt-with-apache-kafka-snowflake-473da1e4d776)
diff --git a/docs/mlops.md b/docs/mlops.md
index 2f224a27..c81773cd 100644
--- a/docs/mlops.md
+++ b/docs/mlops.md
@@ -1,3 +1,8 @@
# 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/)
-- [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
+- [dafriedman97.github.io: Machine Learning from Scratch](https://dafriedman97.github.io/mlbook/content/introduction.html) Derivations in Concept and Code.
+
+
+
+
To my JVM friends looking to explore Machine Learning techniques - you donβt necessarily have to learn Python to do that. There are libraries you can use from the comfort of your JVM environment. π§΅π
\ No newline at end of file
diff --git a/docs/monitoring.md b/docs/monitoring.md
index 259b8967..69c70edd 100644
--- a/docs/monitoring.md
+++ b/docs/monitoring.md
@@ -1,68 +1,69 @@
# 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 and InfluxDB Templates](#influxdb-and-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 and InfluxDB Templates](#influxdb-and-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)
- - [Jaeger vs Zipkin](#jaeger-vs-zipkin)
- - [Grafana Tempo distributed tracing system](#grafana-tempo-distributed-tracing-system)
+ - [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)
+ - [Grafana Tempo distributed tracing system](#grafana-tempo-distributed-tracing-system)
- [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 Tools](#other-tools)
- [Other Awesome Lists](#other-awesome-lists)
## Monitoring
@@ -80,6 +81,8 @@
* [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/)
+* [thenewstack.io: Monitoring vs. Observability: Whatβs the Difference?](https://thenewstack.io/monitoring-vs-observability-whats-the-difference/)
+* [getenroute.io: TSDB, Prometheus, Grafana In Kubernetes: Tracing A Variable Across The OSS Monitoring Stack](https://getenroute.io/blog/leverage-open-source-oss-derive-insights-grafana-prometheus-tsdb-kubernetes-standalone-api-gateway/)
### Key Performance Indicator (KPI)
* [KPIs](https://kpi.org/KPI-Basics)
@@ -194,6 +197,8 @@ OpenShift Cluster Monitoring components cannot be extended since they are read o
* [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/)
+* [youtube playlist: How to setup Prometheus π](https://www.youtube.com/playlist?list=PLVx1qovxj-anCTn6um3BDsoHnIr0O2tz3)
+* [learndevops.substack.com: Hitting prometheus API with curl and jq π](https://learndevops.substack.com/p/hitting-prometheus-api-with-curl) **Determine offending pods that use more RAM than requested, causing OOM.**
[](https://github.com/prometheus/prometheus)
@@ -966,6 +971,14 @@ OpenShift 3|Prometheus JMX Exporter|**Grafana Dashboard not available**, [ref1](
## Monitoring Etcd
- [rancher.com: Monitor Etcd with Prometheus and Grafana using Rancher](https://rancher.com/blog/2020/monitor-etcd-prometheus-grafana-rancher)
+## Other Tools
+- [Netdata](https://github.com/netdata/netdata) Netdata's distributed, real-time monitoring Agent collects thousands of metrics from systems, hardware, containers, and applications with zero configuration.
+- [PM2](https://github.com/Unitech/pm2) is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.
+- [Huginn](https://github.com/huginn/huginn) Create agents that monitor and act on your behalf. Your agents are standing by!
+- [OS Query](https://github.com/osquery/osquery) SQL powered operating system instrumentation, monitoring, and analytics.
+- [Glances](https://github.com/nicolargo/glances) Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems. It is written in Python and uses libraries to grab information from your system. It is based on an open architecture where developers can add new plugins or exports modules.
+- [TDengine](https://github.com/taosdata/TDengine) is an open-sourced big data platform under GNU AGPL v3.0, designed and optimized for the Internet of Things (IoT), Connected Cars, Industrial IoT, and IT Infrastructure and Application Monitoring.
+
## Other Awesome Lists
- [Awesome APM](https://github.com/antonarhipov/awesome-apm)
diff --git a/docs/ocp4.md b/docs/ocp4.md
index 9149343c..73b36e77 100644
--- a/docs/ocp4.md
+++ b/docs/ocp4.md
@@ -82,6 +82,7 @@
* [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)
+* [openshift.com: OpenShift Architectures for the Edge With OpenShift 4.6](https://www.openshift.com/blog/openshift-architectures-for-the-edge-with-openshift-4.6)
### 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
@@ -629,9 +630,10 @@ oc login
## Application Migration Toolkit
- [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.
+- [windup](https://github.com/windup/) upstream project for Red Hat Application Migration Toolkit
- [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
+- [developers.redhat.com: Spring Boot to Quarkus migrations and more in Red Hatβs migration toolkit for applications 5.1.0](https://developers.redhat.com/blog/2020/12/08/spring-boot-to-quarkus-migrations-and-more-in-red-hats-migration-toolkit-for-applications-5-1-0/)
## 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/openshift.md b/docs/openshift.md
index 8a3a1f98..6df5e8cf 100644
--- a/docs/openshift.md
+++ b/docs/openshift.md
@@ -6,30 +6,30 @@
- [OC CLI Auto Completion](#oc-cli-auto-completion)
- [Cluster Autoscaler in OpenShift](#cluster-autoscaler-in-openshift)
- [e-Books](#e-books)
- - [Kubernetes e-Books](#kubernetes-e-books)
+ - [Kubernetes e-Books](#kubernetes-e-books)
- [Online Learning](#online-learning)
- [Local Installers](#local-installers)
- [Cloud Native Development Architecture. Architectural Diagrams](#cloud-native-development-architecture-architectural-diagrams)
- [Cluster Installers](#cluster-installers)
- - [OKD 3](#okd-3)
- - [OpenShift 3](#openshift-3)
- - [OpenShift 4](#openshift-4)
- - [OpenShift 4 deployment on VMWare vSphere](#openshift-4-deployment-on-vmware-vsphere)
- - [Deploying OpenShift 4.4 to VMware vSphere 7](#deploying-openshift-44-to-vmware-vsphere-7)
+ - [OKD 3](#okd-3)
+ - [OpenShift 3](#openshift-3)
+ - [OpenShift 4](#openshift-4)
+ - [OpenShift 4 deployment on VMWare vSphere](#openshift-4-deployment-on-vmware-vsphere)
+ - [Deploying OpenShift 4.4 to VMware vSphere 7](#deploying-openshift-44-to-vmware-vsphere-7)
- [Networking (OCP 3 and OCP 4)](#networking-ocp-3-and-ocp-4)
- [Security](#security)
- - [How is OpenShift Container Platform Secured?](#how-is-openshift-container-platform-secured)
- - [Security Context Constraints](#security-context-constraints)
- - [Review Security Context Constraints](#review-security-context-constraints)
- - [OpenShift Network Model & Network Policy](#openshift-network-model--network-policy)
- - [Network Security Zones](#network-security-zones)
- - [OpenShift Route and OpenShift Ingress](#openshift-route-and-openshift-ingress)
- - [OpenShift Egress](#openshift-egress)
+ - [How is OpenShift Container Platform Secured?](#how-is-openshift-container-platform-secured)
+ - [Security Context Constraints](#security-context-constraints)
+ - [Review Security Context Constraints](#review-security-context-constraints)
+ - [OpenShift Network Model & Network Policy](#openshift-network-model--network-policy)
+ - [Network Security Zones](#network-security-zones)
+ - [OpenShift Route and OpenShift Ingress](#openshift-route-and-openshift-ingress)
+ - [OpenShift Egress](#openshift-egress)
- [Openshift Compliant Docker Images](#openshift-compliant-docker-images)
- - [Gitlab](#gitlab)
- - [Atlassian Confluence6](#atlassian-confluence6)
- - [Sonatype Nexus 3](#sonatype-nexus-3)
- - [Rocket Chat](#rocket-chat)
+ - [Gitlab](#gitlab)
+ - [Atlassian Confluence6](#atlassian-confluence6)
+ - [Sonatype Nexus 3](#sonatype-nexus-3)
+ - [Rocket Chat](#rocket-chat)
- [IBM Cloud Paks and OpenShift](#ibm-cloud-paks-and-openshift)
- [OpenShift on AWS](#openshift-on-aws)
- [OpenShift Dedicated](#openshift-dedicated)
@@ -257,6 +257,7 @@ The other SCCs provide intermediate levels of constraint for various use cases.
## OpenShift on AWS
* [blog.openshift.com: AWS and red hat quickstart workshop](https://blog.openshift.com/aws-and-red-hat-quickstart-workshop/)
* [aws.amazon.com: AWS Quick Start (OpenShift 3.11 on AWS)](https://aws.amazon.com/quickstart/architecture/openshift/) View deployment guide
+* [openshift.com: Introducing Red Hat OpenShift Service on AWS](https://www.openshift.com/blog/introducing-red-hat-openshift-service-on-aws)
## OpenShift Dedicated
- [OpenShift Dedicated π](https://www.openshift.com/products/dedicated/)
diff --git a/docs/performance-testing-with-jenkins-and-jmeter.md b/docs/performance-testing-with-jenkins-and-jmeter.md
index 906cbd2e..3226d1fb 100644
--- a/docs/performance-testing-with-jenkins-and-jmeter.md
+++ b/docs/performance-testing-with-jenkins-and-jmeter.md
@@ -28,6 +28,7 @@
* [Dzone: The simple anatomy of a good performance report](https://dzone.com/articles/the-simple-anatomy-of-a-good-performance-report)
* [tutorialspoint.com: JMeter Quick Guide](https://www.tutorialspoint.com/jmeter/pdf/jmeter_quick_guide.pdf)
* [JMeter Distributed Testing Step-by-step](https://venkatmatta.files.wordpress.com/2016/03/jmeter_distributed_testing_step_by_step.pdf)
+* [testinglpoint.com: Timer in JMeter](https://www.testinglpoint.com/timer/) Timer in JMeter is easy but crucial part of JMeter where we have to manage the thread user count and time to apply the load to the application.
## JMeter based Cloud solutions
* [octoperf.com](https://octoperf.com/)
diff --git a/docs/project-management-methodology.md b/docs/project-management-methodology.md
index 2c1e7501..c0d9d5af 100644
--- a/docs/project-management-methodology.md
+++ b/docs/project-management-methodology.md
@@ -21,6 +21,7 @@
- [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.
- [forbes.com: Explaining Agile π](https://www.forbes.com/sites/stevedenning/2016/09/08/explaining-agile)
+- [itnove.com: La GuΓa Scrum 2020 en EspaΓ±olβ](https://itnove.com/scrum-la-guia-scrum-2020-en-espanol/)
### Team Topologies
- [The Problem With Org Charts](https://itrevolution.com/the-problem-with-org-charts/)
diff --git a/docs/python.md b/docs/python.md
index e68344c4..bde2b14d 100644
--- a/docs/python.md
+++ b/docs/python.md
@@ -86,6 +86,7 @@
- [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)
+- [towardsdatascience.com: Top 11 Github Repositories to Learn Python π](https://towardsdatascience.com/top-11-github-repositories-to-learn-python-e75e8676757a) Popular GitHub repositories for learning Python
diff --git a/docs/qa.md b/docs/qa.md
index 0ecdb97a..b34f3a3d 100644
--- a/docs/qa.md
+++ b/docs/qa.md
@@ -1,3 +1,12 @@
# QA: Software Quality Test Automation
* [Awesome Test Automation](https://github.com/atinfo/awesome-test-automation)
* [Awesome Software Quality](https://github.com/ligurio/awesome-software-quality)
+
+## Tools
+* [collabnix.com: The Ultimate Docker Tutorial for Automation Testing](https://collabnix.com/the-ultimate-docker-tutorial-for-automation-testing/)
+ * [TestProject](https://testproject.io/) Free Test Automation for All.
+
+## Kubernetes conformance testing tools
+- Mastercard, for example, checks every deployment with Kubernetes conformance testing tools such as sonobuoy and kubench.
+- [sonobuoy](https://github.com/vmware-tanzu/sonobuoy) is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of plugins (including Kubernetes conformance tests) in an accessible and non-destructive manner. It is a customizable, extendable, and cluster-agnostic way to generate clear, informative reports about your cluster.
+- [kubench](https://github.com/vincentserpoul/kubench) Benchmark different containerized applications within a kubernetes cluster.
\ No newline at end of file
diff --git a/docs/rancher.md b/docs/rancher.md
index b9e419c5..daf99218 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)
@@ -30,6 +30,7 @@
* [rancher.com: Driving Kubernetes Adoption in Finance with Rancher](https://rancher.com/blog/2020/driving-kubernetes-adoption-finance-rancher)
* [devclass.com: Open sauce - Rancher 2.5 puts new UI forward, gets to continuously delivering](https://devclass.com/2020/10/06/rancher-2_5/)
* [rancher.com: Rancher 2.5 Delivers On "Computing Everywhere" Strategy](https://rancher.com/blog/2020/rancher-2-5-delivers-computing-everwhere-strategy)
+* [vitobotta.com: Kubernetes in DigitalOcean with Rancher](https://vitobotta.com/2020/11/02/kubernetes-digitalocean-rancher/?utm_sq=gkuh2clx8u)
[](https://www.youtube.com/watch?v=2LNxGVS81mE)
diff --git a/docs/scaffolding.md b/docs/scaffolding.md
index 385f4686..bea90dd0 100644
--- a/docs/scaffolding.md
+++ b/docs/scaffolding.md
@@ -2,8 +2,8 @@
- [Scaffold Definition](#scaffold-definition)
- [Nodejs Scaffolding with Yeoman](#nodejs-scaffolding-with-yeoman)
- [Java Scaffolding](#java-scaffolding)
- - [Java Scaffolding with Spring Roo](#java-scaffolding-with-spring-roo)
- - [Java Scaffolding with Maven](#java-scaffolding-with-maven)
+ - [Java Scaffolding with Spring Roo](#java-scaffolding-with-spring-roo)
+ - [Java Scaffolding with Maven](#java-scaffolding-with-maven)
- [Kubernetes Scaffolding](#kubernetes-scaffolding)
## Scaffold Definition
@@ -24,10 +24,10 @@
- [Maven](maven-gradle.md)
## Kubernetes Scaffolding
-- [Ambassador Edge Stack. K8S Initializer (scaffolding tool) π](https://app.getambassador.io/)
+- [Ambassador Edge Stack. K8S Initializer (scaffolding tool) π](https://app.getambassador.io/) Build Your Own Application-Ready Kubernetes Playground. Generate YAML configs for ingress, CI/CD, observability, authentication, and more in just 3 minutes.
- [Skaffold π](https://skaffold.dev/)
- [cloud.google.com: Kubernetes development, simplifiedβSkaffold is now GA](https://cloud.google.com/blog/products/application-development/kubernetes-development-simplified-skaffold-is-now-ga)
- [Cloud Code](https://cloud.google.com/code) Skaffold is the underlying engine that drives Cloud Code.
- [Draft](https://draft.sh/)
- [Garden](https://garden.io/)
-- [codefresh.io: The ultimate guide for local development on Kubernetes: Draft vs Skaffold vs Garden.io](https://codefresh.io/howtos/local-k8s-draft-skaffold-garden/)
\ No newline at end of file
+- [codefresh.io: The ultimate guide for local development on Kubernetes: Draft vs Skaffold vs Garden.io](https://codefresh.io/howtos/local-k8s-draft-skaffold-garden/)
diff --git a/docs/serverless.md b/docs/serverless.md
index 024e1cd2..c20d8e4f 100644
--- a/docs/serverless.md
+++ b/docs/serverless.md
@@ -21,6 +21,7 @@
* [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)
+* [dzone: The Serverless Path to DevOps](https://dzone.com/articles/the-serverless-path-to-devops) Serverless and DevOps combine in this article the uses AWS services as examples of how serverless technologies benefit DevOps processes.
### FaaS: Function as a Service
* [wikipedia: FaaS Function as a Service](https://en.wikipedia.org/wiki/Function_as_a_service)
diff --git a/docs/storage.md b/docs/storage.md
index 564fcf0e..12e90e60 100644
--- a/docs/storage.md
+++ b/docs/storage.md
@@ -1,5 +1,6 @@
# Cloud Native Storage
- [Introduction](#introduction)
+- [Ebooks](#ebooks)
- [Solutions](#solutions)
- [Rook](#rook)
- [Robin](#robin)
@@ -23,6 +24,9 @@
- [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/)
+## Ebooks
+- [redhat.com: Storage Patterns for Kubernetes for dummies](https://www.redhat.com/en/engage/kubernetes-containers-storage-s-201911201051)
+
## Solutions
- [itnext.io: State of Persistent Storage in K8s β A Benchmark](https://itnext.io/state-of-persistent-storage-in-k8s-a-benchmark-77a96bb1ac29)
diff --git a/docs/swagger-code-generator-for-rest-apis.md b/docs/swagger-code-generator-for-rest-apis.md
index 43649c20..ff2ee776 100644
--- a/docs/swagger-code-generator-for-rest-apis.md
+++ b/docs/swagger-code-generator-for-rest-apis.md
@@ -5,6 +5,7 @@
* [Dzone: API First Approach and API Management With Swagger](https://dzone.com/articles/api-first-approach-and-api-management-with-swagger) Looking for a new API management tool? Read on to see how one team faired while using Swagger's suite of API development tools.
* [youtube.com: SwaggerHub 101 An Introduction to Getting Started with SwaggerHub](https://www.youtube.com/watch?v=CoUl9_NWdqQ)
* [youtube.com: Building an API with Swagger](https://www.youtube.com/watch?v=PbwQWw7xSOM)
+* [jonnylangefeld.com: Kubernetes: How to View Swagger UI](https://jonnylangefeld.com/blog/kubernetes-how-to-view-swagger-ui?utm_sq=gkuh13vgq3)
## Videos
diff --git a/docs/terraform.md b/docs/terraform.md
index 94eef8b5..ea064a18 100644
--- a/docs/terraform.md
+++ b/docs/terraform.md
@@ -56,11 +56,11 @@
* [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/)
-* [thenewstack.io: Terraform on AWS: Multi-Account Setup and Other Advanced Tips](https://thenewstack.io/terraform-on-aws-multi-account-setup-and-other-advanced-tips/)
+* [k21academy.com: Why Terraform? Not Chef, Ansible, Puppet, CloudFormation? π](https://k21academy.com/terraform-iac/why-terraform-not-chef-ansible-puppet-cloudformation/)
### 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
-- [A Guide to Cloud Cost Optimization with HashiCorp Terraform π](https://www.hashicorp.com/blog/a-guide-to-cloud-cost-optimization-with-hashicorp-terraform)
+- [A Guide to Cloud Cost Optimization with HashiCorp Terraform π](https://www.hashicorp.com/blog/a-guide-to-cloud-cost-optimization-with-hashicorp-terraform) The Terraform AWS provider now supports Code Signing for AWS Lambda, which involves digitally signing code artifacts and verifying at deployment.
### Awesome Terraform
* [github.com/shuaibiyy/awesome-terraform](https://github.com/shuaibiyy/awesome-terraform)
@@ -74,6 +74,7 @@
### Terraform and CI/CD
* [dzone: Manage Multiple Environments With Terraform Workspaces](https://dzone.com/articles/manage-multiple-environments-with-terraform-worksp) Read this tutorial to learn about easily setting up Terraform to manage your CI/CD environments and create workspaces.
+* [hashicorp.com: Announcing Support for Code Signing for AWS Lambda in the Terraform AWS Provider](https://www.hashicorp.com/blog/announcing-support-for-aws-lambda-code-signing-in-the-terraform-aws-provider)
### OpenShift and Terraform
* [Dzone: Platform as Code With Openshift and Terraform](https://dzone.com/articles/platform-as-code-with-openshift-amp-terraform) Learn how to set up a pipeline workflow with Openshift and the Terraform infrastructure-as-code tool to configure builds and deployments.
@@ -88,6 +89,8 @@
* [Dzone: provisioning servers in cloud with terraform](https://dzone.com/articles/provisioning-servers-in-cloud-with-terraform)
* [Dzone: how to deploy apps effortlessly with **packer and terraform**](https://dzone.com/articles/how-to-deploy-apps-effortlessly-with-packer-and-te)
* [stories.schubergphilis.com: (Terraform) AWS management using your Google account](https://stories.schubergphilis.com/terraform-aws-management-using-your-google-account-cfe5ea70c75)
+* [thenewstack.io: Terraform on AWS: Multi-Account Setup and Other Advanced Tips](https://thenewstack.io/terraform-on-aws-multi-account-setup-and-other-advanced-tips/)
+* [medium: How to Provision AWS Infrastructure with Terraform? π](https://medium.com/faun/provisioning-aws-infrastructure-with-terraform-6ab885fb3fcb)
## Gruntwork
- [gruntwork.io](https://gruntwork.io/)
@@ -98,4 +101,8 @@
- [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
+- [learn.hashicorp.com: Enforce Policy with Sentinel](https://learn.hashicorp.com/collections/terraform/policy#sentinel)
+
+
+
I'm getting questions about Terraform vs Kubernetes for managing infrastructure resources.
I make the distinction by treating Terraform as a frontend tool that interacts with control planes that present **its** resources through a declarative interface. Ownership is key.
\ No newline at end of file
diff --git a/docs/testops.md b/docs/testops.md
index f0d68ae6..7783fe5f 100644
--- a/docs/testops.md
+++ b/docs/testops.md
@@ -3,7 +3,7 @@
- [Continuous Testing in DevOps](#continuous-testing-in-devops)
- [Test Driven Development (TDD)](#test-driven-development-tdd)
- [Tools](#tools)
- - [KubeAudit](#kubeaudit)
+ - [KubeAudit](#kubeaudit)
## TestOps
- [devops.com: Shift-Right Testing: The Emergence of TestOps](https://devops.com/shift-right-testing-the-emergence-of-testops/)
@@ -29,6 +29,8 @@
- [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
+- [Cicada: A tool for testing microservices](https://cicadatesting.github.io/cicada-2/)
+ - [medium: Cicada: An integration testing framework for Docker and Kubernetes](https://medium.com/@jeremyaherzog/cicada-an-integration-testing-framework-for-docker-and-kubernetes-7eee5624cc55)
### 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.
diff --git a/docs/visual-studio.md b/docs/visual-studio.md
index 444120fa..42697afd 100644
--- a/docs/visual-studio.md
+++ b/docs/visual-studio.md
@@ -92,6 +92,7 @@ A simple extension to make indentation more readable
* [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.
* [developers.redhat.com: Devfiles and Kubernetes cluster support in OpenShift Connector 0.2.0 extension for VS Code π](https://developers.redhat.com/blog/2020/11/16/devfiles-and-kubernetes-cluster-support-in-openshift-connector-0-2-0-extension-for-vs-code/)
* [OpenShift Connector π](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-openshift-connector)
+* [gitlab.com: VS Code extension development with GitLab](https://about.gitlab.com/blog/2020/11/30/vscode-extension-development-with-gitlab/) As VS Code editor increases in popularity, find out how GitLab + VS Code can be used for extension development and how we develop the official GitLab VS Code extension.
#### 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)
@@ -174,4 +175,8 @@ A simple extension to make indentation more readable
-
\ No newline at end of file
+
+
+
+
Did you know, you can have project specific user settings in VS Code?
I certainly didnβt, but I needed to make some tweaks for a better live coding experience for workshop attendees.
Create a .vscode folder in your project then add settings.json in there.
diff --git a/docs/web-servers.md b/docs/web-servers.md
index 59d449b9..07a0c9b9 100644
--- a/docs/web-servers.md
+++ b/docs/web-servers.md
@@ -26,6 +26,7 @@
- [Dzone: DevOps 101: Set Up Nginx in Front of Your Spring Boot Application [Video]](https://dzone.com/articles/devops-101-setup-nginx-in-front-of-your-spring-boo)
- [NGINXConfig ππ](https://www.digitalocean.com/community/tools/nginx) The easiest way to configure a performant, secure, and stable NGINX server.
- [How To Use the Official NGINX Docker Image](https://www.docker.com/blog/how-to-use-the-official-nginx-docker-image/)
+- [medium: Using Nginx-Ingress as a Static Cache for Assets Inside Kubernetes](https://medium.com/@vdboor/using-nginx-ingress-as-a-static-cache-91bc27be04a1) Optimizing Nginx on Kubernetes Without a Adding a Cloud CDN.
diff --git a/docs/yaml.md b/docs/yaml.md
index 74d65e26..060308ea 100644
--- a/docs/yaml.md
+++ b/docs/yaml.md
@@ -1,9 +1,11 @@
# Templating YAML with YAML Processors. Static Checking of Kubernetes YAML Files
- [Templating YAML Files](#templating-yaml-files)
+ - [YAML anchors and aliases](#yaml-anchors-and-aliases)
- [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)
+- [Alternatives](#alternatives)
## Templating YAML Files
- [wikipedia: YAML](https://en.wikipedia.org/wiki/YAML)
@@ -13,6 +15,12 @@
- [redhat.com: Understanding YAML for Ansible. Validating YAML files with YAMLlint π](https://www.redhat.com/sysadmin/understanding-yaml-ansible) Ansible playbooks are written in YAML, YAML Ain't Markup Language. Understanding YAML syntax is a key to success with Ansible.
- [linuxhandbook.com: YAML Basics Every DevOps Engineer Must Know π](https://linuxhandbook.com/yaml-basics/)
+### YAML anchors and aliases
+- [yaml.org: Anchors and Aliases](https://yaml.org/spec/1.2/spec.html#id2765878)
+- [support.atlassian.com: YAML anchors and aliases](https://support.atlassian.com/bitbucket-cloud/docs/yaml-anchors/)
+- [medium: Donβt Repeat Yourself with Anchors, Aliases and Extensions in Docker Compose Files](https://medium.com/@kinghuang/docker-compose-anchors-aliases-extensions-a1e4105d70bd)
+- [docs.ansible.com: YAML anchors and aliases: sharing variable values](https://docs.ansible.com/ansible/latest/user_guide/playbooks_advanced_syntax.html#yaml-anchors-and-aliases-sharing-variable-values)
+
### YAML Processors
- [github.com/topics/yaml-processor](https://github.com/topics/yaml-processor)
- [ytt](https://get-ytt.io/) is a templating tool that understands YAML structure allowing you to focus on your data instead of how to properly escape it.
@@ -44,4 +52,8 @@
- [Config-lint](https://stelligent.github.io/config-lint)
- [Copper](https://github.com/cloud66-oss/copper)
- [Conftest](https://www.conftest.dev/)
- - [Polaris](https://github.com/FairwindsOps/polaris)
\ No newline at end of file
+ - [Polaris](https://github.com/FairwindsOps/polaris)
+
+## Alternatives
+- [ketch](https://theketch.io) - [civo.com: Deployments without YAML using Ketch](https://www.civo.com/learn/deployments-without-yaml-using-ketch)
+
\ No newline at end of file