diff --git a/docs/ChromeDevTools.md b/docs/ChromeDevTools.md index 2d1152af..0b78c5f3 100644 --- a/docs/ChromeDevTools.md +++ b/docs/ChromeDevTools.md @@ -3,10 +3,10 @@ - [Firefox DevTools](#firefox-devtools) - [Other Tools](#other-tools) - [HTTP Protocols](#http-protocols) - - [HTTP Status Codes](#http-status-codes) - - [HTTP/2](#http2) - - [HTTP/3](#http3) - - [HTTP Structured Fields](#http-structured-fields) + - [HTTP Status Codes](#http-status-codes) + - [HTTP/2](#http2) + - [HTTP/3](#http3) + - [HTTP Structured Fields](#http-structured-fields) - [WebSockets](#websockets) ## ChromeDevTools @@ -71,5 +71,7 @@ + +

❀️ the Performance Monitor in @ChromeDevTools. Gives you a real-time view of CPU use, JS heap size, JS event listeners, style recalcs & more: https://t.co/tc6CyTya3O pic.twitter.com/BWSi8klGkE

— Addy Osmani (@addyosmani) July 7, 2020
diff --git a/docs/GoogleCloudPlatform.md b/docs/GoogleCloudPlatform.md index efcdba6a..21e3bd11 100644 --- a/docs/GoogleCloudPlatform.md +++ b/docs/GoogleCloudPlatform.md @@ -12,6 +12,9 @@ * [Google Cloud Code](https://cloud.google.com/code) * [Google Cloud Build](https://cloud.google.com/cloud-build) * [medium.com/google-cloud/tagged/devops](https://medium.com/google-cloud/tagged/devops) +* [Platform comparisons](https://cloud.google.com/docs/compare) + * [AWS and GCP comparison](https://cloud.google.com/docs/compare/aws) + * [Mapping of AWS services to Google Cloud](https://gregsramblings.com/blog/compare-google-cloud-to-aws/) ## GitHub - [github.com/GoogleCloudPlatform](https://github.com/GoogleCloudPlatform) diff --git a/docs/api.md b/docs/api.md index 88dc2e4f..309e56e0 100644 --- a/docs/api.md +++ b/docs/api.md @@ -1,6 +1,9 @@ # APIs with SOAP, REST and gRPC - [APIs](#apis) - [Motivation](#motivation) +- [State of the API Report](#state-of-the-api-report) + - [Postman State of the API Report](#postman-state-of-the-api-report) + - [Smartbear State of the API Report](#smartbear-state-of-the-api-report) - [Types of API Protocols](#types-of-api-protocols) - [SOAP API Protocol (Simple Object Access Protocol)](#soap-api-protocol-simple-object-access-protocol) - [REST API Protocol (Representational State Transfer)](#rest-api-protocol-representational-state-transfer) @@ -24,9 +27,18 @@ - [mulesoft.com: APIs versus web services](https://blogs.mulesoft.com/dev/api-dev/apis-versus-web-services/) - [Youtube Playlist: Introduction to APIs](https://www.youtube.com/playlist?list=PLM-7VG-sgbtBBnWb2Jc5kufgtWYEmiMAw) - [Devdocs.io API Documentation](https://devdocs.io/) +- [Dzone: 5 Tips for Better REST API Design](https://dzone.com/articles/my-5-tips-for-better-restapi-design) Good API design is difficult. Maintaining backwards compatibility, effectively testing, handling upgrades, etc. is hard to manage. Check out this guide for help! ## Motivation - [APIs published, APIs consumed: mainstream enterprises increasingly behave like software vendors](https://www.zdnet.com/article/apis-published-apis-consumed-mainstream-enterprises-increasingly-behave-like-software-vendors/) Mainstream enterprises increasingly reach out to customers with APIs, digital services. Unlike software providers though, many still have mostly on-premises infrastructure. +- [You Bet That APIs Power DevOps Tools](http://seguridad-informacion.blogspot.com/2020/07/you-bet-that-apis-power-devops-tools.html) + +## State of the API Report +### Postman State of the API Report +- [postman.com: 2019 Postman State of the API Report 🌟](https://www.postman.com/resources/infographics/api-survey-2019/) + +### Smartbear State of the API Report +- [smartbear.com: The State of API 2019 Report 🌟](https://smartbear.com/resources/ebooks/the-state-of-api-2019-report/) ## Types of API Protocols - [apifriends.com: What are the different types of APIs? 🌟](https://apifriends.com/api-creation/different-types-apis/) Types of API Protocols: SOAP, REST and RPC diff --git a/docs/aws.md b/docs/aws.md index d7d16a23..682ebf30 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -30,6 +30,7 @@ - [AWS Management Tools Blog](#aws-management-tools-blog) - [AWS Schema Conversion Tool](#aws-schema-conversion-tool) - [AWS RDS](#aws-rds) + - [AWS RDS Proxy](#aws-rds-proxy) - [AWS Application Discovery Service](#aws-application-discovery-service) - [New AWS Competency. AWS Migration](#new-aws-competency-aws-migration) - [AWS Database Migration Service](#aws-database-migration-service) @@ -80,7 +81,8 @@ - [Amazon Alexa. Voice User Interface](#amazon-alexa-voice-user-interface) - [AWS Partner Network (APN)](#aws-partner-network-apn) - [AWS Startup Collection. For startups building on AWS](#aws-startup-collection-for-startups-building-on-aws) -- [EKS](#eks) +- [AWS EKS](#aws-eks) +- [AWS Fargate](#aws-fargate-1) - [Interview Questions](#interview-questions) - [Local Testing](#local-testing) - [Localstack](#localstack) @@ -258,6 +260,9 @@ - [Oracle Database on the AWS Cloud: Quick Start Reference Deployment](https://aws.amazon.com/about-aws/whats-new/2016/10/oracle-database-on-the-aws-cloud-quick-start-reference-deployment/) - [besanttechnologies.com: AWS – Relational Database Service](https://www.besanttechnologies.com/amazon-web-services-relational-database) +### AWS RDS Proxy +- [Amazon RDS Proxy – Now Generally Available](https://aws.amazon.com/es/blogs/aws/amazon-rds-proxy-now-generally-available/) A fully managed, highly available database proxy for Amazon Relational Database Service (RDS) that makes applications more scalable, more resilient to database failures, and more secure. + ## AWS Application Discovery Service - [AWS Application Discovery Service 🌟](http://docs.aws.amazon.com/application-discovery/latest/userguide/what-is-appdiscovery.html) @@ -451,6 +456,7 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [Making Requests to Amazon S3 over IPv6](http://docs.aws.amazon.com/AmazonS3/latest/dev/ipv6-access.html) Amazon Simple Storage Service (Amazon S3) supports the ability to access S3 buckets using the Internet Protocol version 6 (IPv6), in addition to the IPv4 protocol. - [How to Build Sparse EBS Volumes for Fun and Easy Snapshotting](https://aws.amazon.com/blogs/apn/how-to-build-sparse-ebs-volumes-for-fun-and-easy-snapshotting/) - [Getting Started with AWS Storage Gateway](http://docs.aws.amazon.com/storagegateway/latest/userguide/GettingStarted-common.html) +- [devopscube.com: How to Automate EBS Snapshot Creation, Retention and Deletion](https://devopscube.com/automate-ebs-snapshot-creation-deletion/) ## Amazon EFS Elastic File System - [EFS Elastic File System](https://aws.amazon.com/es/blogs/aws/amazon-elastic-file-system-production-ready-in-three-regions) @@ -478,6 +484,7 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - AWS CloudFormer + AWS CloudFormation Designer - [What is the best way to generate a visual diagram of the AWS environment which includes VPC, VPN, EC2, and AMIs?](https://acloud.guru/forums/aws-certified-advanced-networking-specialty/discussion/-LELSWplsuDI8q8_KtjN/What%20is%20the%20best%20way%20to%20generate%20a%20visual%20diagram%20of%20the%20AWS%20environment%20which%20includes%20VPC,%20VPN,%20EC2,%20and%20AMIs%3F) - [CloudSkew](https://www.cloudskew.com/) Free AWS, Azure, GCP, Kubernetes Architecture Diagram Tool +- [PlantUML](https://plantuml.com/) ## AWS Config Rules - [AWS Config Rules now available in 4 new regions: US West (Oregon), EU (Ireland), EU (Frankfurt) and Asia Pacific (Tokyo)](https://aws.amazon.com/es/about-aws/whats-new/2016/04/aws-config-rules-now-available-in-4-new-regions-us-west-oregon-eu-ireland-eu-frankfurt-and-asia-pacific-tokyo/) @@ -533,10 +540,15 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [medium.com: Building a Serverless Dynamic DNS System with AWS](https://medium.com/aws-activate-startup-blog/building-a-serverless-dynamic-dns-system-with-aws-a32256f0a1d8#.qq54pucbd) - [medium.com: The Top 10 AWS Startup Blog Posts of 2015](https://medium.com/aws-activate-startup-blog/the-top-10-aws-startup-blog-posts-of-2015-d2975e3778bb) -## EKS +## AWS EKS - [Amazon EKS Price Reduction](https://aws.amazon.com/blogs/aws/eks-price-reduction/) - [cloudonaut.io: Scaling Container Clusters on AWS: ECS and EKS 🌟](https://cloudonaut.io/scaling-container-clusters-on-aws-ecs-eks/) - [Amazon EKS Best Practices Guide for Security 🌟](https://aws.github.io/aws-eks-best-practices/) +- [info.acloud.guru: Scaling the hottest app in tech on AWS and Kubernetes](https://info.acloud.guru/resources/kubernetes-aws-cloud-scaling-hey) +- [itnext.io: Using AWS NLB manually targeting an EKS Service exposing UDP traffic](https://itnext.io/using-aws-nlb-manually-targeting-an-eks-service-exposing-udp-traffic-17053ecd8f52) + +## AWS Fargate +- [Deploy Machine Learning Pipeline on AWS Fargate](https://www.kdnuggets.com/2020/07/deploy-machine-learning-pipeline-aws-fargate.html) ## Interview Questions - [intellipaat.com: Top Amazon AWS Interview Questions – Most Asked](https://intellipaat.com/blog/interview-question/amazon-aws-interview-questions/) diff --git a/docs/azure.md b/docs/azure.md index 0c38da99..555b1829 100644 --- a/docs/azure.md +++ b/docs/azure.md @@ -13,6 +13,8 @@ ## Azure DevOps * [Azure DevOps 🌟](https://azure.microsoft.com/services/devops/) * [info.acloud.guru: Deploying your first kubernetes app with Azure DevOps](https://info.acloud.guru/resources/deploy-kubernetes-app-with-azure-devops) +* [info.acloud.guru: Azure DevOps VS GitHub: Comparing Microsoft's DevOps Twins](https://info.acloud.guru/resources/azure-devops-vs-github-comparing-microsofts-devops-twins) +* [techcommunity.microsoft.com: Building a path to success for microservices and .NET Core - Project Tye + GitHub Actions](https://techcommunity.microsoft.com/t5/apps-on-azure/building-a-path-to-success-for-microservices-and-net-core/ba-p/1502270) ## Azure Traffic Manager - [Azure Traffic Manager](https://docs.microsoft.com/azure/traffic-manager/) diff --git a/docs/cheatsheets.md b/docs/cheatsheets.md index 548f2a3f..911f8fb3 100644 --- a/docs/cheatsheets.md +++ b/docs/cheatsheets.md @@ -128,6 +128,7 @@ * [gist.github.com: Openshift cheat sheet 2](https://gist.github.com/rafaeltuelho/111850b0db31106a4d12a186e1fbc53e) * [github.com: openshift cheat sheet 3](https://github.com/mhausenblas/openshift-cheat-sheet) * [monodot.co.uk: openshift cheat sheet 4](https://monodot.co.uk/openshift-cheatsheet/) +* [openshift.tips](https://openshift.tips/) ## Kubernetes Operator Cheat Sheets * [developers.redhat.com: Writing a Kubernetes Operator in Java using Quarkus - **Cheat Sheet** 🌟](https://developers.redhat.com/cheat-sheets/writing-kubernetes-operator-java/) diff --git a/docs/container-managers.md b/docs/container-managers.md index 5f2c3c2d..691a7117 100644 --- a/docs/container-managers.md +++ b/docs/container-managers.md @@ -48,6 +48,7 @@ - [developer.ibm.com: How templating works with Podman, Kubernetes, and Red Hat OpenShift](https://developer.ibm.com/technologies/containers/articles/templating-and-podman-openshift/) - [redhat.com: Be careful when pulling images by short name](https://www.redhat.com/en/blog/be-careful-when-pulling-images-short-name) - [developers.redhat.com: Podman and Buildah for Docker users 🌟](https://developers.redhat.com/blog/2019/02/21/podman-and-buildah-for-docker-users/) +- [podmain.io: Announcing Podman v2](https://podman.io/blogs/2020/06/29/podman-v2-announce.html) Featuring a new REST API, Remote Clients, Auto-update, Systemd Integration Improvements and more! #### Containers In High Security Environments with Podman - [Build trusted pipelines/Guards with Podman containers](https://www.redhat.com/en/blog/using-container-technology-make-trusted-pipeline) Container technology makes develoment easier/cheaper & much more secure. SELinux,SECCOMP,Namespaces,Dropped Capabilities. diff --git a/docs/databases.md b/docs/databases.md index 06a6582a..7e934fd5 100644 --- a/docs/databases.md +++ b/docs/databases.md @@ -89,6 +89,8 @@ * [info.crunchydata.com: Quickly Document Your Postgres Database Using psql Meta-Commands](https://info.crunchydata.com/blog/d-meta) * [info.crunchydata.com: Fast CSV and JSON Ingestion in PostgreSQL with COPY](https://info.crunchydata.com/blog/fast-csv-and-json-ingestion-in-postgresql-with-copy) * [info.crunchydata.com: Composite Primary Keys, PostgreSQL and Django](https://info.crunchydata.com/blog/composite-primary-keys-postgresql-and-django) +* [info.crunchydata.com: Getting Started with PostgreSQL Operator 4.3 in OpenShift](https://info.crunchydata.com/blog/getting-started-with-postgresql-operator-4.3-in-openshift) +* [thenewstack.io: Advanced Kubernetes Namespace Management with the PostgreSQL Operator](https://thenewstack.io/advanced-kubernetes-namespace-management-with-the-postgresql-operator/) ### Crunchy Data Developer Portal - [Announcing the Crunchy Data Developer Portal](https://info.crunchydata.com/blog/announcing-the-crunchy-data-developer-portal) diff --git a/docs/demos.md b/docs/demos.md index 8ce52d53..44ded924 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -8,7 +8,10 @@ - [CI/CD with SpringBoot for Kubernetes](#cicd-with-springboot-for-kubernetes) - [Kubernetes CKAD Example Exam Questions Practical Challenge Series](#kubernetes-ckad-example-exam-questions-practical-challenge-series) - [Istio](#istio) + - [Rancher](#rancher) + - [GitOps Workflow with Flux](#gitops-workflow-with-flux) - [Amazon EKS. Deploy example microservices on EKS](#amazon-eks-deploy-example-microservices-on-eks) + - [Environments to learn and practice Kubernetes security](#environments-to-learn-and-practice-kubernetes-security) - [Red Hat Demo Central](#red-hat-demo-central) - [Cloud Native Development Architectural Diagrams Demos](#cloud-native-development-architectural-diagrams-demos) - [OpenShift Demos](#openshift-demos) @@ -18,6 +21,8 @@ - [OpenShift Pipelines Workshop (Tekton)](#openshift-pipelines-workshop-tekton) - [Monitoring Services with OpenShift ServiceMesh](#monitoring-services-with-openshift-servicemesh) - [Red Hat Migration Toolkit for Applications](#red-hat-migration-toolkit-for-applications) + - [OKD](#okd) + - [Helm 3 on OpenShift](#helm-3-on-openshift) - [Jenkins Demos](#jenkins-demos) - [Jenkins Declarative Pipelines with OpenShift](#jenkins-declarative-pipelines-with-openshift) - [OpenShift Pipelines with S2i and Jenkins Blue Ocean](#openshift-pipelines-with-s2i-and-jenkins-blue-ocean) @@ -25,6 +30,7 @@ - [From Jenkins Freestyle jobs to Pipeline, with JobDSL. Seed jobs](#from-jenkins-freestyle-jobs-to-pipeline-with-jobdsl-seed-jobs) - [SDKMAN](#sdkman) - [Jenkins Scripts](#jenkins-scripts) +- [Jenkins X](#jenkins-x) - [Nexus3 on Kubernetes](#nexus3-on-kubernetes) - [Spring PetClinic Sample Application](#spring-petclinic-sample-application) - [Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL](#modular-pipeline-library-mpl-petclinic-pipeline-example-with-mpl) @@ -39,6 +45,7 @@ - [Kafka](#kafka) - [Codeless](#codeless) - [JBoss EAP](#jboss-eap) +- [Terraform](#terraform) ## DevOps Screencasts - [SysAdmin Casts 🌟](https://sysadmincasts.com/) @@ -78,6 +85,13 @@ * [medium.com/avmconsulting-blog](https://medium.com/avmconsulting-blog) * [medium: Efficient Node Out-of-Resource Management in Kubernetes](https://medium.com/kubernetes-tutorials/efficient-node-out-of-resource-management-in-kubernetes-67f158da6e59) * [itnext.io: K8s raise StatefulSet volume size with low impact](https://itnext.io/k8s-raise-statefulset-volume-size-with-low-impact-33fe1e2576f6) Shown step-by-step on a simple example application +* [Kubernetes Examples](https://github.com/ianmiell/kubernetes-examples) +* [medium: Prometheus-Grafana on K8s](https://medium.com/@sdhah1999/prometheus-grafana-on-k8s-6efee4af4036) +* [blog.scottlowe.org: Using kubectl via an SSH Tunnel](https://blog.scottlowe.org/2020/06/16/using-kubectl-via-an-ssh-tunnel/) Learn how to use kubectl via an SSH Tunnel to connect to the Kubernetes API server. +* [trainings.kubernauts.sh](https://trainings.kubernauts.sh/) Learn Kubernetes by doing and run into problems! +* [magalix.com: How To Integrate OPA Into Your Kubernetes Cluster Using Kube-mgmt](https://www.magalix.com/blog/how-to-integrate-opa-into-your-kubernetes-cluster-using-kube-mgmt) +* [itnext.io: Kubernetes Journey β€” Up and running out of the cloud β€” How to setup the Masters using kubeadm bootstrap](https://itnext.io/kubernetes-journey-up-and-running-out-of-the-cloud-how-to-setup-the-masters-using-kubeadm-9a496a14fbc1) +* [medium: Build a Federation of Multiple Kubernetes Clusters With Kubefed V2](https://medium.com/better-programming/build-a-federation-of-multiple-kubernetes-clusters-with-kubefed-v2-8d2f7d9e198a) ### CI/CD with SpringBoot for Kubernetes * [CI/CD for Kubernetes through a Spring Boot example (Banzai Cloud CI/CD)](https://teletype.in/@sravancynixit/CcwqFANxY) @@ -88,6 +102,12 @@ ### Istio - [github: redhat-developer-demos Istio Tutorial for Java Microservices](https://github.com/redhat-developer-demos/istio-tutorial) +### Rancher +- [Deploy a Rancher Cluster with GitLab CI and Terraform](https://rancher.com/blog/2020/deploy-with-gitlab-ci) + +### GitOps Workflow with Flux +- [managedkube.com: A Complete Step by Step Guide to Implementing a GitOps Workflow with Flux](https://managedkube.com/gitops/flux/weaveworks/guide/tutorial/2020/05/01/a-complete-step-by-step-guide-to-implementing-a-gitops-workflow-with-flux.html) + ### Amazon EKS. Deploy example microservices on EKS * [eksworkshop.com](https://eksworkshop.com/ ) * [eksworkshop.com/x-ray/microservices](https://eksworkshop.com/x-ray/microservices/) @@ -97,6 +117,9 @@ * [medium: create your first application on aws eks kubernetes](https://medium.com/faun/create-your-first-application-on-aws-eks-kubernetes-cluster-874ee9681293) * [dzone: deploying a kubernetes cluster with amazon eks 🌟](https://dzone.com/articles/deploying-a-kubernetes-cluster-with-amazon-eks) +### Environments to learn and practice Kubernetes security +- [The Kubernetes Goat](https://github.com/madhuakula/kubernetes-goat) designed to be intentionally vulnerable cluster environment to learn and practice Kubernetes security. + ## Red Hat Demo Central * [gitlab.com/redhatdemocentral 🌟](https://gitlab.com/redhatdemocentral) * [redhatdemocentral.gitlab.io](https://redhatdemocentral.gitlab.io) @@ -148,6 +171,12 @@ ### Red Hat Migration Toolkit for Applications - [Migration Toolkit for Applications Demo - June 2020](https://youtu.be/mRCz6Jl0Ds8) Migraiton Toolkit from Applications by Red Hat can help you migrate and/or modernize your applications by analyzing them and finding isses such as use of proprietary classes or behaviousr that are not conformant with 12factor app, in order to help you modernize your app portfolio and make it more cloud & container friendly. +### OKD +* [medium.com: Installing an OKD 4.5 Cluster](https://medium.com/@craig_robinson/guide-installing-an-okd-4-5-cluster-508a2631cbee) + +### Helm 3 on OpenShift +- [Katacoda Lab: Getting Started with Helm 3 on OpenShift](https://learn.openshift.com/developing-on-openshift/helm/) + ## Jenkins Demos * [kublr.com: cicd pipeline with jenkins nexus kubernetes](https://kublr.com/blog/cicd-pipeline-with-jenkins-nexus-kubernetes/) * [bitbucket.org: setting up a cicd pipeline with spring mvc and kubernetes on aws](https://bitbucket.org/blog/setting-up-a-ci-cd-pipeline-with-spring-mvc-jenkins-and-kubernetes-on-aws ) @@ -156,6 +185,8 @@ * [Part 2](https://medium.com/@simionrazvan/simple-spring-boot-microservice-deployed-in-kubernetes-using-docker-and-nexus-part-2-25dc2a3982cf) * [medium.com/@Kubernetes_Advocate: CI/CD with Dockers and Jenkins](https://medium.com/@Kubernetes_Advocate/ci-cd-with-dockers-and-jenkins-70b6f801f9f7) * [medium.com/@devml2016: Let’s Start Automation using Jenkins, Docker, GitHub](https://medium.com/@devml2016/lets-start-automation-using-jenkins-docker-github-d5f8d019ec4a) +* [developers.redhat.com: An easier way to create custom Jenkins containers](https://developers.redhat.com/blog/2020/06/04/an-easier-way-to-create-custom-jenkins-containers) Create your own custom Jenkins container image by aggregating readily available containers in a pod template. +* [medium: Let’s Start Automation using Jenkins, Docker, GitHub](https://medium.com/@devml2016/lets-start-automation-using-jenkins-docker-github-d5f8d019ec4a) ### Jenkins Declarative Pipelines with OpenShift * [github.com/openshift: Using Jenkins Declarative Pipelines with OpenShift 🌟](https://github.com/openshift/origin/tree/master/examples/jenkins/pipeline) @@ -236,6 +267,9 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/redhatspain/awesome-kubernetes/tree/master/scripts) +## Jenkins X +- [blog.testproject.io: Jenkins X Cloud Native CI/CD with TestProject](https://blog.testproject.io/2020/07/09/jenkins-x-cloud-native-ci-cd-with-testproject/) + ## Nexus3 on Kubernetes * [Proof of Concept: Nexus3 Chart configuration on Kubernetes](https://github.com/redhatspain/nexus3-helm-chart) A choerodon/nexus3 Helm 3 Sample Chart on Digital Ocean Kubernetes @@ -316,3 +350,6 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/redhatspain ## JBoss EAP - [developers.redhat.com: Red Hat JBoss Enterprise Application Platform expansion pack (JBoss EAP XP) 1.0 released](https://developers.redhat.com/blog/2020/06/17/red-hat-jboss-enterprise-application-platform-expansion-pack-1-0-released/) This version enables JBoss EAP developers to build [Java](https://developers.redhat.com/topics/enterprise-java/) microservices using Eclipse MicroProfile 3.3 APIs while continuing to also support Jakarta EE 8. +## Terraform +- [terraform.collabnix.com](https://collabnix.github.io/terraform/) An Ultimate Terraform Hands-on Labs. Get access to 50+ tutorials around Terraform, Kubernetes & Cloud. +- [opensource.com: A guide to Terraform for Kubernetes beginners](https://opensource.com/article/20/7/terraform-kubernetes) Learn how to make a Minikube cluster and deploy to it with Terraform. \ No newline at end of file diff --git a/docs/devops.md b/docs/devops.md index 1b2eb8bc..fd975e81 100644 --- a/docs/devops.md +++ b/docs/devops.md @@ -46,6 +46,8 @@ * [dzone: Why Now Is the Time for the Spring Boot of Infrastructure Automation 🌟](https://dzone.com/articles/why-now-is-the-time-for-the-spring-boot-of-infrast) Application teams move fast using frameworks built to boost developer productivity. Learn how a productivity framework can help your DevOps initiative succeed. * [containerjournal.com: How the Rise of Containers Will Drive DevOps](https://containerjournal.com/topics/container-ecosystems/how-the-rise-of-containers-will-drive-devops/) * [itprotoday.com: Is the DevOps Model Killing the Developer? In a Word, No](https://www.itprotoday.com/devops-and-software-development/devops-model-killing-developer-word-no) The rise of the DevOps model means that app environments are moving faster and running on a larger scale than they did a decade ago. +* [blog.vmware.com: DevOps: Culture – Collaboration, Empowerment, Autonomy 🌟](https://blogs.vmware.com/management/2020/06/devops-culture.html) +* [enterprisersproject.com: 3 DevOps skills IT leaders need for the next normal](https://enterprisersproject.com/article/2020/7/3-devops-skills-it-leaders-need-next-normal)
[![OCP 4 Pland and Deploy](images/openshift_day2.png)](https://www.openshift.com/blog/openshift-end-to-end-cluster-customization) diff --git a/docs/devsecops.md b/docs/devsecops.md index 6262521e..7186c73e 100644 --- a/docs/devsecops.md +++ b/docs/devsecops.md @@ -1,9 +1,9 @@ # Security and DevSecOps. Container Security - [Introduction](#introduction) +- [Kubernetes Threat Modelling](#kubernetes-threat-modelling) - [Kubernetes Config Security Threats](#kubernetes-config-security-threats) - [Multi-Level Security (MLS) vs Multi-Category Security (MCS). Make Secure Pipelines with Podman and Containers](#multi-level-security-mls-vs-multi-category-security-mcs-make-secure-pipelines-with-podman-and-containers) - [Project Calico](#project-calico) -- [keycloak](#keycloak) - [Security Patterns for Microservice Architectures](#security-patterns-for-microservice-architectures) - [Anchore Container Security Solutions for DevSecOps](#anchore-container-security-solutions-for-devsecops) - [Secure Container Based CI/CD Workflows](#secure-container-based-cicd-workflows) @@ -11,18 +11,29 @@ - [GitHub security](#github-security) - [Databases in DMZ and Intranet](#databases-in-dmz-and-intranet) - [Removing Credentials From Git Repo](#removing-credentials-from-git-repo) -- [Manage your secrets in Git with SOPS for Kubernetes](#manage-your-secrets-in-git-with-sops-for-kubernetes) - [Pentesting](#pentesting) +- [Credential Managers](#credential-managers) + - [keycloak](#keycloak) + - [Git Credential Manager Core](#git-credential-manager-core) - [GitOps Secret Management](#gitops-secret-management) - [HashiCorp Vault](#hashicorp-vault) + - [CyberArk and Ansible](#cyberark-and-ansible) + - [SOPS for Kubernetes](#sops-for-kubernetes) - [Alternatives](#alternatives) - [Serverless Security Best Practices](#serverless-security-best-practices) +- [Docker Images](#docker-images) +- [Pod Security Policies](#pod-security-policies) +- [Kubernetes Network Policies](#kubernetes-network-policies) ## Introduction - [fiercesw.com: DevOps vs DevSecOps](https://fiercesw.com/devsecops-starter) - [devopszone.info: DevSecOps Explained](https://www.devopszone.info/post/devsecops-explained) - [linkedin: Dear Google, my data has left your building!](https://www.linkedin.com/pulse/dear-google-my-data-has-left-your-building-zakir-khan/) - [snyk.io: The State of Open Source Security 2020](https://snyk.io/open-source-security-report/) +- [managedsentinel.com: Executive Viewβ€Šβ€”β€ŠCurrent and Future Cybersecurity Architecture On One Page](https://www.managedsentinel.com/2019/05/23/cybersecurity-roadmap/) + +## Kubernetes Threat Modelling +- [marcolancini.it: The Current State of Kubernetes Threat Modelling](https://www.marcolancini.it/2020/blog-kubernetes-threat-modelling/) ## Kubernetes Config Security Threats - [cncf.io: Identifying Kubernetes Config Security Threats: Pods Running as Root](https://www.cncf.io/blog/2020/06/16/identifying-kubernetes-config-security-threats-pods-running-as-root/) @@ -35,9 +46,6 @@ ## Project Calico * [Project Calico](https://www.projectcalico.org/) Secure networking for the cloud native era -## keycloak -- [keycloak.org](https://www.keycloak.org/) Open Source Identity and Access Management For Modern Applications and Services - ## Security Patterns for Microservice Architectures - [Security Patterns for Microservice Architectures](https://developer.okta.com/blog/2020/03/23/microservice-security-patterns) @@ -60,11 +68,17 @@ ## Removing Credentials From Git Repo - [medium: The Easiest Way To Remove Checked In Credentials From A Git Repo](https://medium.com/@tanmay.avinash.deshpande/the-easiest-way-to-remove-checked-in-credentials-from-a-git-repo-704a373b94e3) -## Manage your secrets in Git with SOPS for Kubernetes -- [dev.to: Manage your secrets in Git with SOPS for Kubernetes 🌟](https://dev.to/stack-labs/manage-your-secrets-in-git-with-sops-for-kubernetes-57me) - ## Pentesting - [forbes.com: DevOps Drives Pentesting Delivered As A Service](https://www.forbes.com/sites/chenxiwang/2020/06/17/devops-drives-pentesting-delivered-as-a-service/) +- [emagined.com: How to conduct a penetration test](https://www.emagined.com/news-notes/2020/6/8/how-to-conduct-a-penetration-test) + +## Credential Managers +### keycloak +- [keycloak.org](https://www.keycloak.org/) Open Source Identity and Access Management For Modern Applications and Services + +### Git Credential Manager Core +- [Git Credential Manager Core](https://github.com/microsoft/Git-Credential-Manager-Core) GCM Core is a free, open-source, cross-platform credential manager for Git. +- [Git Credential Manager Core: Building a universal authentication experience](https://github.blog/2020-07-02-git-credential-manager-core-building-a-universal-authentication-experience/) ## GitOps Secret Management ### HashiCorp Vault @@ -77,9 +91,24 @@ - https://www.openshift.com/blog/integrating-vault-with-legacy-applications - https://www.openshift.com/blog/integrating-hashicorp-vault-in-openshift-4 +### CyberArk and Ansible +- [ansible.com: Simplifying secrets management with CyberArk and Red Hat Ansible Automation Platform](https://www.ansible.com/blog/simplifying-secrets-management-with-cyberark-and-red-hat-ansible-automation-platform) + +### SOPS for Kubernetes +- [dev.to: Manage your secrets in Git with SOPS for Kubernetes 🌟](https://dev.to/stack-labs/manage-your-secrets-in-git-with-sops-for-kubernetes-57me) + ### Alternatives - [GitOps secret management with bitnami-labs Sealed Secret and GoDaddy Kubernetes External Secrets](https://www.openshift.com/blog/gitops-secret-management) ## Serverless Security Best Practices - [10 Serverless security best practices](https://snyk.io/blog/10-serverless-security-best-practices/) +## Docker Images +- [thehackernews.com: Docker Images Containing Cryptojacking Malware Distributed via Docker Hub](https://thehackernews.com/2020/06/cryptocurrency-docker-image.html) + +## Pod Security Policies +- [octetz.com: Setting Up Pod Security Policies](https://octetz.com/docs/2018/2018-12-07-psp/) By default, Kubernetes allows anything capable of creating a Pod to run a fairly privileged container that can compromise a system. Pod Security Policies protect clusters from privileged pods by ensuring the requester is authorised. +- [infracloud.io: Kubernetes Pod Security Policies with Open Policy Agent](https://www.infracloud.io/kubernetes-pod-security-policies-opa/) In this blog post, you will learn about the Pod Security Policy admission controller. Then you will see how Open Policy Agent can implement Pod Security Policies. + +## Kubernetes Network Policies +- [medium.com: K8s Network Policies Demystified and Simplified 🌟](https://medium.com/swlh/k8s-network-policies-demystified-and-simplified-18f5ea9848e2) \ No newline at end of file diff --git a/docs/git.md b/docs/git.md index be770a01..2b5512ec 100644 --- a/docs/git.md +++ b/docs/git.md @@ -54,6 +54,8 @@ * [medium: Top 7 Cloud Source Code Management Tools Features and Pricing Plans](https://medium.com/@atif.ramzan89/top-7-cloud-source-code-management-tools-features-and-pricing-plans-105f4eb88a3a) * [towardsdatascience.com: The 6 Git Commands Data Scientist Should Know](https://towardsdatascience.com/the-only-6-git-commands-you-need-to-know-995065db1ae0) An introduction to using Git for machine learning projects. * [dev.to: Git Concepts I Wish I Knew Years Ago 🌟](https://dev.to/g_abud/advanced-git-reference-1o9j) +* [opensource.com: 6 best practices for managing Git repos](https://opensource.com/article/20/7/git-repos-best-practices) Resist the urge to add things in Git that will make it harder to manage; here's what to do instead. +* [codeburst.io: Debug your code using git bisect](https://codeburst.io/debug-your-code-using-git-bisect-45db2983cc69) ## 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. @@ -131,6 +133,8 @@ It prescribes that software designers should define formal, precise and verifiab * [martinfowler.com: Feature Toggles (aka Feature Flags)](https://martinfowler.com/articles/feature-toggles.html) * [#FeatureFlags](https://twitter.com/hashtag/featureflag) * [CloudBees Releases Another Industry First: Feature Flagging for On-Premise Use 🌟](https://www.previous.cloudbees.com/press/cloudbees-releases-another-industry-first-feature-flagging-premise-use) +* [cioperu.pe: 5 formas de impulsar la utilizaciΓ³n de feature flags](https://cioperu.pe/articulo/30477/devops-5-formas-de-impulsar-la-utilizacion-de-feature-flags/) +* [cloudbees.com: Testing with Feature Flags to Improve Developer Productivity](https://www.cloudbees.com/blog/feature-flags-improve-developer-productivity) ## Git Commands * Show commit logs: @@ -155,6 +159,7 @@ git push origin -f ## GitLab * [gitlab.com](https://gitlab.com/) * [Dzone: using gitlab API to create projects](https://dzone.com/articles/using-gitlab-rest-api-to-create-projects) +* [gitlab.com: GitLab’s guide to CI/CD for beginners](https://about.gitlab.com/blog/2020/07/06/beginner-guide-ci-cd/) CI/CD is a key part of the DevOps journey. Here’s everything you need to understand about this game-changing process. ## GitHub * [GitHub Codespaces](https://github.com/features/codespaces) Get the full Visual Studio Code experience without leaving GitHub. @@ -163,6 +168,7 @@ git push origin -f * [github.blog: GitHub CLI allows you to close, reopen, and add metadata to issues and pull requests](https://github.blog/changelog/2020-05-11-github-cli-allows-you-to-close-reopen-and-add-metadata-to-issues-and-pull-requests/) * [github.blog: Mark pull requests as ready for review, view the diff, review, and merge from GitHub CLI](https://github.blog/changelog/2020-05-26-mark-pull-requests-as-ready-for-review-review-and-merge-from-github-cli/) * [githubstatus.com/uptime 🌟](https://www.githubstatus.com/uptime) +* [github.blog: How we launched docs.github.com](https://github.blog/2020-07-02-how-we-launched-docs-github-com/) ## Git Tools * [Atlassian Sourcetree](https://www.sourcetreeapp.com/) diff --git a/docs/gitops.md b/docs/gitops.md index 1f31c165..de3592e2 100644 --- a/docs/gitops.md +++ b/docs/gitops.md @@ -4,6 +4,7 @@ - [GitOps Tools](#gitops-tools) - [Flux. The GitOps Operator for Kubernetes](#flux-the-gitops-operator-for-kubernetes) - [Kustomize. Kubernetes native configuration management](#kustomize-kubernetes-native-configuration-management) + - [Flagger](#flagger) - [WKSctl. Weave Kubernetes System Control](#wksctl-weave-kubernetes-system-control) - [Helm](#helm) - [Jenkins](#jenkins) @@ -12,6 +13,7 @@ - [GitOps Frameworks](#gitops-frameworks) - [Kubernetes Platforms and GitOps](#kubernetes-platforms-and-gitops) - [OpenShift GitOps](#openshift-gitops) + - [AWS Kubernetes](#aws-kubernetes) - [Weave Kubernetes Platform](#weave-kubernetes-platform) - [Ubuntu Charmed Kubernetes](#ubuntu-charmed-kubernetes) @@ -35,12 +37,19 @@ ### Flux. The GitOps Operator for Kubernetes * [Flux](https://fluxcd.io/) The GitOps operator for Kubernetes * [github: Flux CD](https://github.com/fluxcd/flux) +- [toolkit.fluxcd.io: GitOps Toolkit 🌟](https://toolkit.fluxcd.io/) Great docs for the GitOps toolkit + - https://github.com/fluxcd/toolkit * [dzone: Developing Applications on Multi-tenant Clusters With Flux and Kustomize](https://dzone.com/articles/developing-applications-on-multitenant-clusters-wi) Take a look at how multiple teams can use the resources of a single cluster to develop an application. * [A Complete Step by Step Guide to Implementing a GitOps Workflow with Flux 🌟](https://managedkube.com/gitops/flux/weaveworks/guide/tutorial/2020/05/01/a-complete-step-by-step-guide-to-implementing-a-gitops-workflow-with-flux.html) ### Kustomize. Kubernetes native configuration management - [kustomize.io 🌟](https://kustomize.io/) Kustomize introduces a template-free way to customize application configuration that simplifies the use of off-the-shelf applications. Now, built into kubectl as apply -k. +### Flagger +- [Flagger](https://flagger.app/) Progressive Delivery Operator for Kubernetes. Release new versions of your application/services to Kubernetes like a pro with +Weaveworks's Flagger. +- [partlycloudy.blog: Release to Kubernetes like a Pro with Flagger](https://partlycloudy.blog/2020/07/08/release-to-k8s-like-a-pro-with-flagger/) + ### WKSctl. Weave Kubernetes System Control * [Weave Kubernetes System Control - wksctl](https://github.com/weaveworks/wksctl) Open Source Weaveworks Kubernetes System * [WKSctl - A New OSS Kubernetes Manager using GitOps](https://www.weave.works/blog/wksctl-a-new-oss-kubernetes-manager-using-gitops) @@ -78,6 +87,9 @@ * [openshift.com: From Code to Production with GitOps, Tekton and ArgoCD](https://www.openshift.com/blog/from-code-to-production-with-gitops) * [medium: GitOps with Istio, Tekton and Argo CD β€” on OpenShift 4](https://medium.com/@joelkaplan1/gitops-with-istio-tekton-and-argo-cd-on-openshift-4-5e42d22994e3) +### AWS Kubernetes +* [info.acloud.guru: Adopting GitOps for Kubernetes on AWS](https://info.acloud.guru/resources/deploying-kubernetes-with-gitops) + ### Weave Kubernetes Platform * [weave.works: Weave Kubernetes Platform](https://www.weave.works/) Automate Enterprise Kubernetes the GitOps way * [github: Weave Net - Weaving Containers into Applications](https://github.com/weaveworks/weave) diff --git a/docs/helm.md b/docs/helm.md index a4a08f40..12ba7286 100644 --- a/docs/helm.md +++ b/docs/helm.md @@ -23,10 +23,13 @@ * [hackernoon.com: Kubernetes and Helm: A Deadly Combo to Help You Deploy with Ease](https://hackernoon.com/kubernetes-and-helm-a-deadly-combo-to-help-you-deploy-with-ease-rjr30x2) ### Helm Charts repositories +* [codeengineered.com: 4 Places To Find Helm Charts](https://codeengineered.com/blog/2020/helm-find-charts/) * [hub.helm.sh 🌟](http://hub.helm.sh) * [Bitnami Helm Charts](https://bitnami.com/stacks/helm) * [JFrog ChartCenter](https://chartcenter.io/) * [Navigating Kubernetes With Helm 3 Charts and ChartCenter 🌟](https://dzone.com/articles/navigating-kubernetes-with-helm-3-charts-and-chart) ChartCenter is a free central repository for discovering Helm Charts, created to help manage your Kubernetes applications +* [Artifact Hub](https://artifacthub.io/) +* [KubeApps Hub](https://hub.kubeapps.com/) ### Helm Charts * [Jenkins](https://github.com/helm/charts/tree/master/stable/jenkins) diff --git a/docs/ibm_cloud.md b/docs/ibm_cloud.md index 2fbd4645..9256d050 100644 --- a/docs/ibm_cloud.md +++ b/docs/ibm_cloud.md @@ -17,6 +17,7 @@ - [IBM Cloud](https://www.ibm.com/cloud) - [Red Hat OpenShift on IBM Cloud](https://www.ibm.com/cloud/openshift) - [IBM Knowledge Center 🌟](https://www.ibm.com/support/knowledgecenter/) +- [IBM Leverages Containers to Advance DevOps on Mainframes](https://containerjournal.com/topics/container-ecosystems/ibm-leverages-containers-to-advance-devops-on-mainframes/) ## IBM API Connect - [IBM API Connect](https://developer.ibm.com/apiconnect/) diff --git a/docs/index.md b/docs/index.md index 4384fb08..b1a7fe3c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -40,6 +40,7 @@ A curated list of awesome references collected since 2018. Microservices archite - [DevOps](devops.md) - [Cheat Sheets 🌟](cheatsheets.md) - [GitOps 🌟](gitops.md) +- [MLOps](mlops.md) - [Demos & Screencasts. OpenShift, Kubernetes, Jenkins Pipelines with JCasC and more 🌟](demos.md) ## NoOps - [NoOps](noops.md) @@ -93,7 +94,7 @@ A curated list of awesome references collected since 2018. Microservices archite - [Maven, Gradle & SDKMAN](maven-gradle.md) - [SonarQube](sonarqube.md) - [Nexus & JFrog Artifactory](nexus-jfrog.md) -- [Selenium, Appium & Zephyr Jira plugin](selenium-appium-zephyr.md) +- [Selenium, Cucumber, Appium & Zephyr Jira plugin](selenium-appium-zephyr.md) - [Linux & SSH 🌟](linux.md) - [MkDocs & GitHub Pages](mkdocs.md) ### Web Servers, Reverse Proxies, Java Runtimes & Caching Solutions diff --git a/docs/introduction.md b/docs/introduction.md index 3e7c6e97..cdd88b4f 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -2,6 +2,7 @@ - [Introduction](#introduction) - [From Java EE To Cloud Native](#from-java-ee-to-cloud-native) - [Openshift VS Kubernetes](#openshift-vs-kubernetes) +- [Career Path](#career-path) ## Introduction * [developers.redhat.com: Why Kubernetes is The New Application Server](https://developers.redhat.com/blog/2018/06/28/why-kubernetes-is-the-new-application-server/) @@ -15,6 +16,9 @@ * [jaxenter.com: Six Essential Kubernetes Extensions to Add to Your Toolkit 🌟](https://jaxenter.com/kubernetes-extensions-172215.html) * [thoughtworks.com: Kubernetes](https://www.thoughtworks.com/radar/platforms/kubernetes) * [addwebsolution.com: How Kubernetes helps businesses manage their IT infrastructure?](https://addwebsolution.com/blog/how-kubernetes-helps-businesses-manage-their-it-infrastructure) +* [Dzone: How to Kill Your Developer Productivity](https://dzone.com/articles/how-to-kill-your-developer-productivity-humanitec) +* [loves.cloud: Kubernetes: An Introduction](https://loves.cloud/kubernetes-an-introduction/) +* [thenewstack.io: Microservices vs. Monoliths: An Operational Comparison](https://thenewstack.io/microservices-vs-monoliths-an-operational-comparison/)
[![microservices infographic](images/microservices-infographic.png)](https://www.weave.works/technologies/going-cloud-native-6-essential-things-you-need-to-know) @@ -43,6 +47,9 @@ * [phoenixnap.com: Kubernetes vs OpenShift: Key Differences Compared 🌟](https://phoenixnap.com/blog/kubernetes-vs-openshift) * [crn.com: Red Hat CEO: We Have A β€˜Head Start’ Over VMware, Competitors In Kubernetes](https://www.crn.com/slide-shows/cloud/red-hat-ceo-we-have-a-head-start-over-vmware-competitors-in-kubernetes) Red Hat CEO Paul Cormier speaks with CRN about the role IBM has played in Red Hat’s channel strategy, how the company has preserved its independence under Big Blue, and why Red Hat will win in the ultra-competitive Kubernetes market. +## Career Path +- [Kelsey Hightower Fireside Chat: An Unconventional Path to IT and Some Life Advice](https://www.hashicorp.com/resources/kelsey-hightower-fireside-chat-an-unconventional-path-to-it-and-some-life-advice/?utm_source=linkedin) +
[![Openshift SaaS VS Kubernetes SaaS](images/openshift-vs-kubernetes-saas.png)](https://proteon.com/2018/10/18/openshift-in-a-world-of-kubernetes-as-a-service/) diff --git a/docs/istio.md b/docs/istio.md index a679cfa8..a0475a7c 100644 --- a/docs/istio.md +++ b/docs/istio.md @@ -21,6 +21,7 @@ - [Riding the Tiger: Lessons Learned Implementing Istio 🌟](https://zwischenzugs.com/2020/05/05/riding-the-tiger-lessons-learned-implementing-istio/) - [dev.to/aurelievache: Understanding Istio: part 1 – Istio Components](https://dev.to/aurelievache/understanding-istio-part-1-istio-components-4ik5) - [dev.to/aurelievache: Understanding Istio: part 9 – DestinationRule](https://dev.to/aurelievache/understanding-istio-part-9-destinationrule-1g7e) + - [dev.to/aurelievache: Understanding Istio: part 16 – Observability / Metrics](https://dev.to/aurelievache/understanding-istio-part-16-observability-metrics-2m8p) - [Controlling egress traffic with Istio](https://banzaicloud.com/blog/istio-external-demo/) - [openshift.com: Monitoring Services like an SRE in OpenShift ServiceMesh Part 2: Collecting Standard Metrics 🌟](https://www.openshift.com/blog/monitoring-services-like-an-sre-in-openshift-servicemesh-part-2-collecting-standard-metrics-3) diff --git a/docs/java_app_servers.md b/docs/java_app_servers.md index e07f04f5..dcd7978c 100644 --- a/docs/java_app_servers.md +++ b/docs/java_app_servers.md @@ -17,6 +17,7 @@ ## WildFly - [WildFly](https://wildfly.org/) +- [Dzone: Building a Mission-Critical Open Source Java Platform - The Web Layer](https://dzone.com/articles/building-a-mission-critical-open-source-java-platf) Currently the Java platform is one of the most consolidated in the world, much of this is due to platform's ability to support other languages such as Kotlin... ## IBM WebSphere Liberty - [WebSphere Liberty from IBM](https://developer.ibm.com/wasdev/websphere-liberty/) diff --git a/docs/java_frameworks.md b/docs/java_frameworks.md index 688ba9dd..3df3dfa1 100644 --- a/docs/java_frameworks.md +++ b/docs/java_frameworks.md @@ -6,6 +6,7 @@ - [Java Programming Models (Frameworks)](#java-programming-models-frameworks) - [Jakarta EE](#jakarta-ee) - [Eclipse MicroProfile](#eclipse-microprofile) + - [Server Vendors providing MicroProfile runtimes](#server-vendors-providing-microprofile-runtimes) - [Spring](#spring) - [Spring Cloud](#spring-cloud) - [SpringBoot](#springboot) @@ -67,12 +68,14 @@ optimizing Enterprise Java for the microservices architecture. - [MicroProfile.io](https://microprofile.io/) Optimizing Enterprise Java for a Microservices Architecture - [developers.redhat.com: Eclipse MicroProfile for Spring Boot developers](https://developers.redhat.com/blog/2018/11/21/eclipse-microprofile-for-spring-boot-developers/) - [Eclipse MicroProfile: 5 Things You Need to Know 🌟](https://medium.com/@alextheedom/eclipse-microprofile-5-things-you-need-to-know-e7a0bc9a3fb6) -- **Server Vendors providing MicroProfile runtimes**: - - [WebSphere Liberty from IBM](https://developer.ibm.com/wasdev/websphere-liberty/) - - [TomEE from Tomitribe](http://tomee.apache.org/) - - [Payara](https://www.payara.fish/) - - [RedHat’s WildFly Swarm](http://wildfly-swarm.io/) - - [KumuluzEE](https://ee.kumuluz.com/) +- [developers.redhat.com: Develop Eclipse MicroProfile applications on Red Hat JBoss Enterprise Application Platform Expansion Pack 1.0 with Red Hat CodeReady Workspaces](https://developers.redhat.com/blog/2020/07/01/develop-eclipse-microprofile-applications-on-red-hat-jboss-enterprise-application-platform-expansion-pack-1-0-with-red-hat-codeready-workspaces/) + +### Server Vendors providing MicroProfile runtimes +- [WebSphere Liberty from IBM](https://developer.ibm.com/wasdev/websphere-liberty/) +- [TomEE from Tomitribe](http://tomee.apache.org/) +- [Payara](https://www.payara.fish/) +- [RedHat’s WildFly Swarm](http://wildfly-swarm.io/) +- [KumuluzEE](https://ee.kumuluz.com/) ## Spring - [Spring](https://spring.io/) diff --git a/docs/jenkins.md b/docs/jenkins.md index 895c2fb4..ea73f3d0 100644 --- a/docs/jenkins.md +++ b/docs/jenkins.md @@ -308,6 +308,8 @@ * [Pipeline as YAML (Incubated) 🌟](https://plugins.jenkins.io/pipeline-as-yaml/) * [Least Load](https://plugins.jenkins.io/leastload/) This plugin overrides the default Load Balancer behavior and assigns jobs to nodes with the least load * [Declarative Pipeline Migration Assistant 🌟](https://plugins.jenkins.io/declarative-pipeline-migration-assistant/) +* [Configuration Slicing](https://plugins.jenkins.io/configurationslicing/) +* [Git Plugin Performance Improvement](https://www.jenkins.io/blog/2020/07/09/git-performance-improvement-phase1/) ### Plugin Development. Jenkins Plugin Parent POM 4.0 - [Plugin Development](https://www.jenkins.io/doc/developer/plugin-development/) diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 91598940..1baa9415 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -46,6 +46,7 @@ - [Online Training](#online-training) - [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019) - [Famous Kubernetes resources of 2020](#famous-kubernetes-resources-of-2020) + - [K8s Diagrams](#k8s-diagrams) - [Kubernetes Patterns](#kubernetes-patterns) - [e-Books](#e-books) - [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019-1) @@ -61,6 +62,7 @@ - [CNI Container Networking Interface](#cni-container-networking-interface) - [List of existing CNI Plugins (IPAM)](#list-of-existing-cni-plugins-ipam) - [Project Calico](#project-calico) + - [DNS Service with CoreDNS](#dns-service-with-coredns) - [Kubernetes Sidecars](#kubernetes-sidecars) - [Kubernetes Security](#kubernetes-security) - [Security Best Practices Across Build, Deploy, and Runtime Phases](#security-best-practices-across-build-deploy-and-runtime-phases) @@ -117,7 +119,7 @@ - [Crossplane](#crossplane) - [Istio Service Mesh](#istio-service-mesh) - [Kubernetes interview questions](#kubernetes-interview-questions) -- [Kubernetes Blogs](#kubernetes-blogs) +- [Spanish Kubernetes Blogs](#spanish-kubernetes-blogs) - [Container Ecosystem](#container-ecosystem) - [Container Flowchart](#container-flowchart) - [Videos](#videos) @@ -175,6 +177,9 @@ * [kinvolk.io: Investigating Kubernetes performance issues with BPF 🌟](https://kinvolk.io/blog/2020/04/inside-kinvolk-labs-investigating-kubernetes-performance-issues-with-bpf/) * [blog.container-solutions.com: 7 Cloud Native Trends to Watch in 2020 🌟](https://blog.container-solutions.com/7-cloud-native-trends-to-watch-in-2020) * [snyk.io: Shipping Kubernetes-native applications with confidence](https://snyk.io/blog/shipping-kubernetes-native-applications-with-confidence/) +* [medium: Delivering value on Kubernetes](https://medium.com/@dius_au/delivering-value-on-kubernetes-8d5c5655c1b4) +* [medium: 10 Most Common Mistakes When Using Kubernetes 🌟](https://medium.com/devops-dudes/10-most-common-mistakes-when-using-kubernetes-8a07abb8e850) Avoid your cluster from falling over in production by implementing these best practices +* [dev.to: Open a command prompt in a Kubernetes cluster](https://dev.to/eldadak/open-a-command-prompt-in-a-kubernetes-cluster-206g) This starts up a pod (in the default namespace by default) and opens a command line in the given container. As I'm running as root, I can install anything I need for debugging and testing right in my cluster.
[![Kubernetes architecture](images/kubernetes-pod-creation.png)](https://www.padok.fr/en/blog/kubernetes-architecture-clusters) @@ -350,6 +355,15 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names ### Krew, a plugin manager for kubectl plugins * [Krew 🌟](https://krew.sigs.k8s.io/) is the plugin manager for kubectl command-line tool. * [itnext.io: Extending Kubernetes Cluster; Kubectl Plugins and Krew](https://itnext.io/extending-kubernetes-cluster-kubectl-plugins-and-krew-547a8bc839a3) +* kubectl trace is now on the krew index!! Go install it now! + ```bash + kubectl krew install trace + ``` + And then just try to snoop into all the file openings: + + ```bash + kubectl trace run -a -e 'kprobe:do_sys_open { printf("%s: %s\n", comm, str(arg1)) }' + ``` ### OpenKruise/Kruise - [openkruise.io](https://openkruise.io/) @@ -429,6 +443,21 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [Access Pod Online using Podtnl](https://github.com/narendranathreddythota/podtnl) A Powerful CLI that makes your pod available to online without exposing a k8 service. * [kiosk: Multi-Tenancy Extension For Kubernetes - Secure Cluster Sharing & Self-Service Namespace Provisioning 🌟](https://github.com/kiosk-sh/kiosk?utm_sq=gf3f25b1tk#why-kiosk) Kubernetes is designed as a single-tenant platform, which makes it hard for cluster admins to host multiple tenants in a single cluster. **Kiosk extends Kubernetes for multi-tenancy. The core idea is to use Kubernetes namespaces as isolated workspaces.** * [asdf-kubectl](https://github.com/Banno/asdf-kubectl) kubectl plugin for [asdf version manager](https://asdf-vm.com/). asdf-vm is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like gvm, nvm, rbenv & pyenv (and more) all in one! Simply install your language’s plugin! +* [k8s Spot Rescheduler](https://github.com/pusher/k8s-spot-rescheduler) is a tool that tries to reduce load on a set of Kubernetes nodes. It was designed with the purpose of moving Pods scheduled on AWS on-demand instances to AWS spot instances to allow the on-demand instances to be safely scaled down (By the Cluster Autoscaler). +* [kube-spot-termination-notice-handler](https://github.com/kube-aws/kube-spot-termination-notice-handler) is a Kubernetes DaemonSet designed to gracefully delete pods 2 minutes before an EC2 Spot Instance is terminated. +* [Kubermatic Kubernetes Platform](https://github.com/Kubermatic/Kubermatic) is an open source project to centrally manage the global automation of thousands of Kubernetes clusters across multicloud, on-prem and edge with unparalleled density and resilience. +* [Polaris](https://github.com/FairwindsOps/polaris) helps Kubernetes users avoid common mistakes when configuring their workloads. It runs a variety of checks to ensure that Kubernetes pods and controllers are configured using best practices, helping you avoid problems in the future. +* [kmoncon](https://github.com/Stono/kconmon) Monitoring connectivity between your kubernetes nodes. +* [Tesoro](https://github.com/kapicorp/tesoro) [Kapitan](https://kapitan.dev/) Secrets Controller for Kubernetes. Tesoro is Kapitan Admission Controller Webhook. Tesoro allows you to seamleslsly apply Kapitan secret refs in compiled Kubernetes manifests. As it runs in the cluster, it will be able to reveal embedded kapitan secret refs in manifests when applied. +* [DAST operator](https://github.com/banzaicloud/dast-operator) Dynamic application security testing (DAST) is a Kubernetes operator that leverages OWASP ZAP to make automated basic web service security testing. +* [Teleskope](https://github.com/teleskopeView/teleskope_k8s) is a Kubernetes dashboard designed to give your devs and product managers an inside view of the cluster. +* [Introducing cdk8s+: Intent-driven APIs for Kubernetes objects](https://aws.amazon.com/es/blogs/containers/introducing-cdk8s-intent-driven-apis-for-kubernetes-objects/) Everyone hates yaml. Take that 75 lines of yaml and turn it into 45 lines of testable javascript with cdk8s+ + * https://github.com/awslabs/cdk8s/tree/master/packages/cdk8s-plus +* [KuUI (Kubernetes UI)](https://github.com/viveksinghggits/kuui) is a simple UI that can be used to manage the configmaps/secrets of your Kubernetes cluster. +* [Deprek8ion](https://github.com/swade1987/deprek8ion) is a set of rego policies to monitor Kubernetes APIs deprecations. It is designed to work with conftest. +* [Beetle](https://github.com/Clivern/Beetle) Kubernetes multi-cluster deployment automation service. +* [vault-controller](https://github.com/gobins/vault-controller) A K8s controller to manage Hashicorp Vault configuration using CRDs. +* [k8s-crash-informer](https://github.com/lnsp/k8s-crash-informer) is a Kubernetes controller that informs a Mattermost or Slack channel if an annotated deployment goes into crash loop. ## Kubernetes Troubleshooting * [Kubernetes troubleshooting diagram 🌟](https://github.com/redhatspain/awesome-kubernetes/blob/master/docs/images/kubernetes-troubleshooting.jpg) @@ -451,6 +480,8 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names [![learnk8s debug your pods](images/learnk8s_debug_your_pods.png){: style="width:30%"}](https://learnk8s.io/troubleshooting-deployments) + +
## Kubernetes Tutorials @@ -483,6 +514,7 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [wardviaene/kubernetes-course 🌟](https://github.com/wardviaene/kubernetes-course) * [udemy.com: Learn DevOps: Advanced Kubernetes Usage 🌟](https://www.udemy.com/learn-devops-advanced-kubernetes-usage) * [wardviaene/advanced-kubernetes-course 🌟](https://github.com/wardviaene/advanced-kubernetes-course) +* [Certified Kubernetes Administrator CKA course notes β€” diagrams for each subject area and use as reference for future refresher 🌟](https://drive.google.com/file/d/1RhPULD1IAVgCo1KD857iCoaNKuJjQKa1/view) ### Famous Kubernetes resources of 2019 * [Kubernetes for developers](https://www.udemy.com/course/kubernetes-for-developers/) @@ -498,6 +530,9 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [medium.com: 7 Free Online Courses to Learn Kubernetes in 2020](https://medium.com/javarevisited/7-free-online-courses-to-learn-kubernetes-in-2020-3b8a68ec7abc) * [skillslane.com: 10 Best Kubernetes Courses [2020]: Beginner to Advanced Courses](https://skillslane.com/learn-kubernetes-from-these-best-online-courses/) +### K8s Diagrams +- [k8s-diagrams 🌟](https://github.com/cloudogu/k8s-diagrams) A collection of diagrams explaining kubernetes by cloudogu, written in [PlantUML](https://twitter.com/PlantUML). + ## Kubernetes Patterns * [github.com/k8spatterns/examples 🌟](https://github.com/k8spatterns/examples) Examples for "Kubernetes Patterns - Reusable Elements for Designing Cloud-Native Applications" * [kubernetes.io: container design patterns](https://kubernetes.io/blog/2016/06/container-design-patterns/) @@ -513,6 +548,8 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [Kubernetes essentials E-book 🌟](https://images.linoxide.com/ebook-kubernetes-essentials.pdf) * [Cloud-Native DevOps With Kubernetes O'Reilly book (Free) 🌟](https://www.nginx.com/resources/library/cloud-native-devops-with-kubernetes/) * [Kubernetes: Up and Running, 2nd Edition🌟](http://shop.oreilly.com/product/0636920223788.do) Dive into the Future of Infrastructure. By Brendan Burns, Kelsey Hightower, Joe Beda +* [Container Security](https://www.amazon.com/gp/product/1492056707) + * [Don't make this container security mistake](https://bitfieldconsulting.com/blog/container-security)
[![Kubernetes: Up and Running](images/kubernetes_up_running_kelsey_hightower.gif)](http://shop.oreilly.com/product/0636920223788.do) @@ -563,6 +600,12 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [AWS and Kubernetes Networking Options and Trade-Offs (part 2)](https://www.weave.works/blog/aws-networking-overview---part-2) * [AWS and Kubernetes Networking Options and Trade-Offs (part 3)](https://dzone.com/articles/aws-and-kubernetes-networking-options-and-trade-of) * [medium: Service Types in Kubernetes? 🌟](https://medium.com/faun/service-types-in-kubernetes-24a1587677d6) A Service enables network access to a set of Pods in Kubernetes. +* [containo.us: Kubernetes Ingress & Service API Demystified](https://containo.us/blog/kubernetes-ingress-service-api-demystified/) +* [speakerdeck.com: Kubernetes and networks. Why is this so dan hard? 🌟](https://speakerdeck.com/thockin/kubernetes-and-networks-why-is-this-so-dang-hard) + +
+ +
### 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/) @@ -614,6 +657,9 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [medium: Calico for Kubernetes networking: the basics & examples](https://medium.com/flant-com/calico-for-kubernetes-networking-792b41e19d69) * [thenewstack.io: Tigera's Calico Aims to Ease Connectivity Pain with Kubernetes](https://thenewstack.io/tigera-aims-ease-connectivity-pain-kubernetes/) +### DNS Service with CoreDNS +- [medium: How to Autoscale the DNS Service in a Kubernetes Cluster](https://medium.com/faun/how-to-autoscale-the-dns-service-in-a-kubernetes-cluster-cbb46ae89678) + ## Kubernetes Sidecars * [banzaicloud.com: Sidecar container lifecycle changes in Kubernetes 1.18 🌟](https://banzaicloud.com/blog/k8s-sidecars/) * [medium: Delaying application start until sidecar is ready](https://medium.com/@marko.luksa/delaying-application-start-until-sidecar-is-ready-2ec2d21a7b74) Taking advantage of a peculiar Kubernetes implementation detail to block containers from starting before another container starts. @@ -931,8 +977,9 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops - [Kubernetes Interview Questions and Answers 2019 2020](https://linux.amitmaheshwari.in/2019/11/kubernetes-interview-questions-and.html) - [intellipaat.com: Top Kubernetes Interview Questions and Answers](https://intellipaat.com/blog/interview-question/kubernetes-interview-questions-answers/) -## Kubernetes Blogs -- [returngis.net by @0GiS0 (Spanish)](https://www.returngis.net/) +## Spanish Kubernetes Blogs +- [returngis.net by @0GiS0](https://www.returngis.net/) +- [returngis.net: Organizar los pods en Kubernetes usando taints y tolerations](https://www.returngis.net/2020/06/organizar-los-pods-en-kubernetes-usando-taints-y-tolerations/) ## Container Ecosystem * [Author: github.com/rootsongjc](https://github.com/rootsongjc) diff --git a/docs/kustomize.md b/docs/kustomize.md index cc055baa..b62059b7 100644 --- a/docs/kustomize.md +++ b/docs/kustomize.md @@ -1,4 +1,6 @@ # Template-Free Configuration Customization with Kustomize (Kubernetes Native Configuration Management) - [kustomize.io](https://kustomize.io/) Kustomize introduces a template-free way to customize application configuration that simplifies the use of off-the-shelf applications. Now, built into ```kubectl``` as ```apply -k```. - [kubernetes.io: Introducing kustomize; Template-free Configuration Customization for Kubernetes](https://kubernetes.io/blog/2018/05/29/introducing-kustomize-template-free-configuration-customization-for-kubernetes/) If you run a Kubernetes environment, chances are you’ve customized a Kubernetes configuration β€” you've copied some API object YAML files and edited them to suit your needs. But there are drawbacks to this approach β€” it can be hard to go back to the source material and incorporate any improvements that were made to it. Today Google is announcing kustomize, a command-line tool contributed as a subproject of SIG-CLI. The tool provides a new, purely declarative approach to configuration customization that adheres to and leverages the familiar and carefully designed Kubernetes API. -- [Declarative Management of Kubernetes Objects Using Kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/) \ No newline at end of file +- [Declarative Management of Kubernetes Objects Using Kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/) +- [itnext.io: Helm Is Not Enough, You Also Need Kustomize](https://itnext.io/helm-is-not-enough-you-also-need-kustomize-82bae896816e) Customize the YAML’s to enforce policies from application operators, security operators, and cluster operators. +- [blog.tomarrell.com: Kustomize: Traefik v2.2 as a Kubernetes Ingress Controller](https://blog.tomarrell.com/post/traefik_v2_on_kubernetes) \ No newline at end of file diff --git a/docs/linux.md b/docs/linux.md index 7ab72547..77653e0d 100644 --- a/docs/linux.md +++ b/docs/linux.md @@ -1,4 +1,5 @@ # Linux and SSH +- [VIM](#vim) - [SSH](#ssh) - [Linux Blogs](#linux-blogs) - [Spanish Linux Blogs](#spanish-linux-blogs) @@ -14,6 +15,9 @@ - [Linux Libraries](#linux-libraries) - [Linux Networking](#linux-networking) +## VIM +- [VimWiki](https://github.com/vimwiki/vimwiki) + ## SSH - [gravitational.com: How to SSH Properly 🌟](https://gravitational.com/blog/how-to-ssh-properly/) - [19 Common SSH Commands In Linux With Examples](https://phoenixnap.com/kb/linux-ssh-commands) @@ -65,6 +69,7 @@ - [How To Use grep Command In Linux / UNIX 🌟](https://www.cyberciti.biz/faq/howto-use-grep-command-in-linux-unix/) - [tecmint.com: vtop – A Linux Process and Memory Activity Monitoring Tool](https://www.tecmint.com/vtop-monitor-linux-process-usage/) - [tecmint.com: How to Install htop on CentOS 8](https://www.tecmint.com/install-htop-on-centos-8/) +- [redhat.com: Save time at the command line with HTTPie instead of curl](https://www.redhat.com/sysadmin/curl-hack-httpie) Automate testing endpoints, downloading files, and submitting forms with HTTPie. ### Systemd - [Start using systemd as a troubleshooting tool](https://opensource.com/article/20/5/systemd-troubleshooting-tool) While systemd is not really a troubleshooting tool, the information in its output points the way toward solving problems. diff --git a/docs/message-queue.md b/docs/message-queue.md index 255d23a5..71807a0e 100644 --- a/docs/message-queue.md +++ b/docs/message-queue.md @@ -92,7 +92,9 @@ - [developers.redhat.com: Decoupling microservices with Apache Camel and Debezium](https://developers.redhat.com/blog/2019/11/19/decoupling-microservices-with-apache-camel-and-debezium/) - [A good explanation of how to avoid distributed transactions using outbox pattern: Transaction Log Tailing With Debezium](https://medium.com/trendyol-tech/transaction-log-tailing-with-debezium-part-1-aeb968d72220) - [developers.redhat.com: Capture database changes with Debezium Apache Kafka connectors](https://developers.redhat.com/blog/2020/04/14/capture-database-changes-with-debezium-apache-kafka-connectors/) -* [developers.redhat.com: Change data capture for microservices without writing any code](https://developers.redhat.com/blog/2020/05/15/change-data-capture-for-microservices-without-writing-any-code/) +- [developers.redhat.com: Change data capture for microservices without writing any code](https://developers.redhat.com/blog/2020/05/15/change-data-capture-for-microservices-without-writing-any-code/) +- [debezium.io: Lessons Learned from Running Debezium with PostgreSQL on Amazon RDS](https://debezium.io/blog/2020/02/25/lessons-learned-running-debezium-with-postgresql-on-rds/) +- [info.crunchydata.com: PostgreSQL Change Data Capture With Debezium](https://info.crunchydata.com/blog/postgresql-change-data-capture-with-debezium) ## Red Hat Integration service registry and Apicurio - [Red Hat Integration service registry](https://developers.redhat.com/blog/2019/12/16/getting-started-with-red-hat-integration-service-registry/) @@ -107,9 +109,10 @@ - [developers.redhat.com: Using secrets in Kafka Connect configuration](https://developers.redhat.com/blog/2020/02/14/using-secrets-in-apache-kafka-connect-configuration/) - [developers.redhat.com: Capture database changes with Debezium Apache Kafka connectors](https://developers.redhat.com/blog/2020/04/14/capture-database-changes-with-debezium-apache-kafka-connectors/) - [Awesome Kafka](https://github.com/monksy/awesome-kafka/blob/master/tools.md) -* [Single Message Transformations - The Swiss Army Knife of Kafka Connect](https://www.morling.dev/blog/single-message-transforms-swiss-army-knife-of-kafka-connect/) -* [medium: Logs & Offsets: (Near) Real Time ELT with Apache Kafka + Snowflake](https://medium.com/convoy-tech/logs-offsets-near-real-time-elt-with-apache-kafka-snowflake-473da1e4d776) Replacing Apache Airflow with Debezium. -* [medium: Apache Kafka Startup Guide: System Design Architectures: Notification System, Web Activity Tracker, ELT Pipeline, Storage System 🌟](https://medium.com/swlh/apache-kafka-startup-guide-system-design-architectures-notification-system-web-activity-tracker-6dcaf0cf8a7) +- [Single Message Transformations - The Swiss Army Knife of Kafka Connect](https://www.morling.dev/blog/single-message-transforms-swiss-army-knife-of-kafka-connect/) +- [medium: Logs & Offsets: (Near) Real Time ELT with Apache Kafka + Snowflake](https://medium.com/convoy-tech/logs-offsets-near-real-time-elt-with-apache-kafka-snowflake-473da1e4d776) Replacing Apache Airflow with Debezium. +- [medium: Apache Kafka Startup Guide: System Design Architectures: Notification System, Web Activity Tracker, ELT Pipeline, Storage System 🌟](https://medium.com/swlh/apache-kafka-startup-guide-system-design-architectures-notification-system-web-activity-tracker-6dcaf0cf8a7) +- [medium: Getting Started With Kafka on OpenShift](https://medium.com/swlh/getting-started-with-kafka-on-openshift-c44c0fdec384)
[![airflow vs kafka debezium](images/airflow_vs_debezium.jpg)](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 new file mode 100644 index 00000000..22edd057 --- /dev/null +++ b/docs/mlops.md @@ -0,0 +1,2 @@ +# Machine Learning Ops (MLOps) +- [cd.foundation: Announcing the CD Foundation MLOps SIG](https://cd.foundation/blog/2020/02/11/announcing-the-cd-foundation-mlops-sig/) \ No newline at end of file diff --git a/docs/monitoring.md b/docs/monitoring.md index 524450af..aebd36c6 100644 --- a/docs/monitoring.md +++ b/docs/monitoring.md @@ -54,6 +54,8 @@ - [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) +- [Serverless Monitoring](#serverless-monitoring) +- [Distributed Tracing in Apache Beam](#distributed-tracing-in-apache-beam) - [Other Awesome Lists](#other-awesome-lists) ## Monitoring @@ -716,6 +718,7 @@ JMeter|Artemis Grafana|Artemis Dashboard - [Performance Patterns in Microservices-Based Integrations 🌟](https://dzone.com/articles/performance-patterns-in-microservices-based-integr-1) **A must read!** - [Dzone: how to take thread dumps](https://dzone.com/articles/how-to-take-thread-dumps-7-options) - Thread Dump Analyzers: [fastThread](https://fastthread.io/), [Spotify TDA](https://spotify.github.io/threaddump-analyzer/), [IBM Thread and Monitor Dump Analyzer for Java](https://www.ibm.com/support/pages/ibm-thread-and-monitor-dump-analyzer-java-tmda), [TDA - Thread Dump Analyzer](https://github.com/irockel/tda) +- [blog.arkey.fr: Using JDK FlightRecorder and JDK Mission Control](https://blog.arkey.fr/2020/06/28/using-jdk-flight-recorder-and-jdk-mission-control/) - [FastThread.io](https://fastthread.io/): Thread dumps can be uploaded via Web or API Call from within the POD (jstack must be available within the container): ```bash @@ -849,6 +852,7 @@ done * [My Dynatrace proof of concept 🌟](https://github.com/redhatspain/awesome-kubernetes/blob/master/pdf/dynatrace_demo.pdf) * [Tutorial: Guide to automated SRE-driven performance engineering 🌟](https://www.dynatrace.com/news/blog/guide-to-automated-sre-driven-performance-engineering-analysis/) * [dynatrace.com: 4 steps to modernize your IT service operations with Dynatrace](https://www.dynatrace.com/news/blog/4-steps-to-modernize-your-it-service-operations-with-dynatrace/) +* [dynatrace.com: Monitoring of Kubernetes Infrastructure for day 2 operations](https://www.dynatrace.com/news/blog/monitoring-of-kubernetes-infrastructure-for-day-2-operations/) ## Message Queue Monitoring @@ -881,6 +885,13 @@ OpenShift 3|Prometheus Plugin for AMQ Broker|**Grafana Dashboard not available** OpenShift 4|Prometheus Plugin for AMQ Broker|Check if Grafana Dashboard is automatically setup by Red Hat AMQ Operator OpenShift 3|Prometheus JMX Exporter|**Grafana Dashboard not available**, [ref1](https://www.openshift.com/blog/enhanced-openshift-jboss-amq-container-image-for-production), [ref2](https://github.com/lbroudoux/openshift-cases/tree/master/jboss-amq7-custom) +## Serverless Monitoring +- [thenewstack.io: Serverless Needs More Observability Tools](https://thenewstack.io/serverless-needs-more-observability-tools/) + +## Distributed Tracing in Apache Beam +- [Apache Beam](https://beam.apache.org/) +- [A Distributed Tracing Adventure in Apache Beam](http://rion.io/2020/07/04/a-distributed-tracing-adventure-in-apache-beam/) + ## Other Awesome Lists - [Awesome APM](https://github.com/antonarhipov/awesome-apm) diff --git a/docs/ocp4.md b/docs/ocp4.md index d5289da0..d3940dc4 100644 --- a/docs/ocp4.md +++ b/docs/ocp4.md @@ -1,5 +1,6 @@ # OCP 4 - [OpenShift Container Platform 4 (OCP 4)](#openshift-container-platform-4-ocp-4) +- [Downloads](#downloads) - [OpenShift End-to-End. Day 0, Day 1 & Day 2](#openshift-end-to-end-day-0-day-1--day-2) - [OCP 4 Overview](#ocp-4-overview) - [Three New Functionalities](#three-new-functionalities) @@ -74,6 +75,9 @@ [![OCP 4 Architecture](images/ocp4_arch.png)](https://www.openshift.com/blog/enterprise-kubernetes-with-openshift-part-one)
+## Downloads +- https://mirror.openshift.com/pub/openshift-v4/ + ## OpenShift End-to-End. Day 0, Day 1 & Day 2 * [OpenShift End-to-End: **Day 0** - Plan and Deploy](https://www.openshift.com/blog/openshift-end-to-end-plan-and-deploy) * [OpenShift End-to-End: **Day 1** - Core Services](https://www.openshift.com/blog/openshift-end-to-end-core-services) @@ -465,6 +469,7 @@ oc login ## Kubevirt Virtual Machine Management on Kubernetes * [kubevirt.io 🌟](https://kubevirt.io/) * [Getting Started with KubeVirt Containers and Virtual Machines Together](https://blog.openshift.com/getting-started-with-kubevirt/) +* [containerjournal.com: Red Hat Integrates KubeVirt With Kubernetes Management Platform From SAP](https://containerjournal.com/topics/container-management/red-hat-integrates-kubevirt-with-kubernetes-management-platform-from-sap/) ## Networking and Network Policy in OCP4. SDN/CNI plug-ins - [Networking in OCP4](https://docs.openshift.com/container-platform/4.4/networking/understanding-networking.html) diff --git a/docs/other-awesome-lists.md b/docs/other-awesome-lists.md index 510cfbf4..db3115f5 100644 --- a/docs/other-awesome-lists.md +++ b/docs/other-awesome-lists.md @@ -29,6 +29,7 @@ - [@sindresorhus' Awesome Kubernetes](https://github.com/sindresorhus/awesome) - [@jk8s' Awesome Kubernetes](https://github.com/jk8s/awesome-kubernetes) - [Awesome kubetools](http://dockerlabs.collabnix.com/kubernetes/kubetools/) Curated List of Kubernetes Tools +- [kubezilla.com: Kubetools – Curated List of Kubernetes Tools](https://kubezilla.com/tools/) ## Other Awesome Lists ### Project Management diff --git a/docs/project-management-methodology.md b/docs/project-management-methodology.md index ef03dda9..f5b9d284 100644 --- a/docs/project-management-methodology.md +++ b/docs/project-management-methodology.md @@ -12,6 +12,7 @@ - [dzone: A Complete Guide to the Project Management Lifecycle](https://dzone.com/articles/a-complete-guide-to-project-management-life-cycle) If you know about the product management lifecycle but aren't familiar with each of its phases, take a look at how they break down. - [dzone: Top 40 Project Management Terms and Concepts of 2019](https://dzone.com/articles/top-40-project-management-terms-and-concepts-of-20) - [dzone: 7 Project Management Basics](https://dzone.com/articles/7-project-management-basics-for-lifetime) Whether you're just starting out or are a career PM, these rules should never leave your mind. +- [scrum.org: Scrum no es una metodologΓ­a, es un marco de trabajo](https://www.scrum.org/resources/blog/scrum-no-es-una-metodologia-es-un-marco-de-trabajo) ### Team Topologies - [The Problem With Org Charts](https://itrevolution.com/the-problem-with-org-charts/) @@ -31,6 +32,7 @@ - [guru99.com: Agile Vs Scrum: Know the Difference](https://www.guru99.com/agile-vs-scrum.html) - [dzone: Agile vs. Scrum: Differences Between Scrum and Agile Development](https://dzone.com/articles/agile-vs-scrum-differences-between-scrum-and-agile) - [softwaretestinghelp.com: Kanban Vs Scrum Vs Agile: A Detailed Comparison To Find Differences](https://www.softwaretestinghelp.com/kanban-vs-scrum-vs-agile/) +- [atlassian.com: Kanban vs. Scrum](https://www.atlassian.com/agile/kanban/kanban-vs-scrum) ## Responsibility Assignment Matrix (RACI) - [wikipedia: Responsibility assignment matrix](https://en.wikipedia.org/wiki/Responsibility_assignment_matrix) diff --git a/docs/rancher.md b/docs/rancher.md index 90230bd2..1d5a764f 100644 --- a/docs/rancher.md +++ b/docs/rancher.md @@ -16,6 +16,7 @@ - [Rancher Kubernetes on Oracle Cloud](#rancher-kubernetes-on-oracle-cloud) - [Rancher Software Defined Storage with Longhorn](#rancher-software-defined-storage-with-longhorn) - [Rancher Fleet to manage multiple kubernetes clusters](#rancher-fleet-to-manage-multiple-kubernetes-clusters) +- [Kubernautic](#kubernautic) ## Rancher: Enterprise management for Kubernetes * [rancher.com](https://rancher.com/) Rancher is enterprise management for Kubernetes, an amazing GUI for managing and installing Kubernetes clusters. They have released a number of pieces of software that are part of this ecosystem, for example [Longhorn](https://github.com/longhorn/longhorn) which is a lightweight and reliable distributed block storage system for Kubernetes. @@ -96,3 +97,6 @@ ## Rancher Fleet to manage multiple kubernetes clusters * [**Fleet** Management for kubernetes](https://rancher.com/blog/2020/fleet-management-kubernetes/) a new open source project from the team at Rancher focused on managing fleets of Kubernetes clusters. * [itnext.io: Fleet Management of Kubernetes Clusters at Scale β€” Rancher’s Fleet](https://itnext.io/fleet-management-of-kubernetes-clusters-at-scale-ranchers-fleet-de161cc52325) + +## Kubernautic +- [Kubernautic](https://kubernauts.sh/) Kubernetes For Everyone, Free Forever! Start your CloudLess Journey and get free access to Rancher Shared as a Service (RSaaS) or apply to get access to your own Dedicated Rancher Dashboard (RDaaS) and save up-to 90% of your cloud costs with Auto Scaling of Spot Instances and Kubernauts Kubernetes Services KKS! diff --git a/docs/selenium-appium-zephyr.md b/docs/selenium-appium-zephyr.md index 91bf6702..5f03ae9d 100644 --- a/docs/selenium-appium-zephyr.md +++ b/docs/selenium-appium-zephyr.md @@ -1,8 +1,14 @@ -# Selenium, Appium & Zephyr Jira Plugin +# Test Automation Frameworks. Selenium, Cucumber, Appium & Zephyr Jira Plugin +- [Introduction](#introduction) - [Selenium](#selenium) -- [Appium](#appium) +- [Mobile Tests](#mobile-tests) + - [Appium](#appium) + - [Cucumber and Appium](#cucumber-and-appium) - [Test Automation with Zephyr (Jira Plugin)](#test-automation-with-zephyr-jira-plugin) +## Introduction +- [opensource.com: 9 open source test-automation frameworks](https://opensource.com/article/20/7/open-source-test-automation-frameworks) Get some advice to choose the right test-automation framework for your organization. + ## Selenium - [selenium.dev](https://selenium.dev/) - [Dzone: what is selenium, getting started](https://dzone.com/articles/what-is-selenium-getting-started-with-selenium-aut) @@ -12,11 +18,15 @@ - [Dzone: top 11 challenges in autmation testing using selenium](https://dzone.com/articles/top-11-challenges-in-automation-testing-using-sele) - [youtube: execution test Selenium + Grafana + Jenkins](https://www.youtube.com/watch?v=vDj5IsWjU0A) -## Appium +## Mobile Tests +### Appium - [appium.io](http://appium.io/) - [Dzone: appium tutorial for complete beginners](https://dzone.com/articles/appium-tutorial-for-complete-beginners) - [Dzone: best practices in appium](https://dzone.com/articles/best-practices-in-appium) +### Cucumber and Appium +- [experitest.com: Start Automating your mobile tests with Cucumber and Appium](https://experitest.com/appium-blog/start-automating-your-mobile-tests-with-cucumber-and-appium/) + ## Test Automation with Zephyr (Jira Plugin) - [Atlassian Marketplace: Zephyr](https://marketplace.atlassian.com/apps/1014681/zephyr-for-jira-test-management) - [Dzone: 14 of the best automation testing tools available](https://dzone.com/articles/14-of-the-best-automation-testing-tools-available) diff --git a/docs/servicemesh.md b/docs/servicemesh.md index fb87b878..45d3d5fd 100644 --- a/docs/servicemesh.md +++ b/docs/servicemesh.md @@ -48,3 +48,7 @@ ## Istio - Service Mesh - [Istio](istio.md) + +## Kourier +- [Kourier: A lightweight Knative Serving ingress](https://developers.redhat.com/blog/2020/06/30/kourier-a-lightweight-knative-serving-ingress/) +- https://github.com/knative/net-kourier : Kourier is an Ingress for Knative Serving. Kourier is a lightweight alternative for the Istio ingress as its deployment consists only of an Envoy proxy and a control plane for it. \ No newline at end of file diff --git a/docs/storage.md b/docs/storage.md index 3399cf41..d569f43f 100644 --- a/docs/storage.md +++ b/docs/storage.md @@ -20,6 +20,8 @@ - [thenewstack.io: Persistent Volumes: Separating Compute and Storage](https://thenewstack.io/persistent-volumes-separating-compute-and-storage/) ## Solutions +- [itnext.io: State of Persistent Storage in K8s β€” A Benchmark](https://itnext.io/state-of-persistent-storage-in-k8s-a-benchmark-77a96bb1ac29) + ### Rook - [Rook](https://rook.io/) @@ -38,6 +40,7 @@ ### OpenEBS - [OpenEBS](https://openebs.io/) extends the benefits of software-defined storage to cloud native through the container attached approach. - [MayaData](https://mayadata.io/) Founder of OpenEBS +- [goglides.io: Running OpenEBS in Kubernetes](https://goglides.io/running-openebs-in-kubernetes/371/) ### LightOS - [LightOS](https://www.lightbitslabs.com/product/) diff --git a/docs/terraform.md b/docs/terraform.md index 54937767..6eb12e1e 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -33,6 +33,9 @@ * [medium: AWS API Gateway](https://medium.com/@hashiroulap/terraform-aws-api-gateway-6d86a010f359) * [medium: Integration of AWS, Terraform, and GitHub for Automated Deployment Infrastructure](https://medium.com/@akshayavb99/integration-of-aws-terraform-and-github-for-automated-deployment-infrastructure-da0a19ff4e86) * [medium: Automation of Cloud-Terraform](https://medium.com/@sandupatlaabhilash1747/automation-of-cloud-terraform-5a299fb785bb) +* [kubernetes.io blog: Working with Terraform and Kubernetes](https://kubernetes.io/blog/2020/06/working-with-terraform-and-kubernetes/) +* [hashicorp.com: Custom Variable Validation in Terraform 0.13](https://www.hashicorp.com/blog/custom-variable-validation-in-terraform-0-13/) +* [medium: Terraform for Network Engineers: Should you be implementing Infrastructure as Code?](https://medium.com/hashicorp-engineering/terraform-for-network-engineers-should-you-be-implementing-infrastructure-as-code-73667d27d3b8) ### Awesome Terraform * [github.com/shuaibiyy/awesome-terraform](https://github.com/shuaibiyy/awesome-terraform) diff --git a/docs/testops.md b/docs/testops.md index de2de75d..b9ea7412 100644 --- a/docs/testops.md +++ b/docs/testops.md @@ -2,6 +2,7 @@ - [TestOps](#testops) - [Continuous Testing in DevOps](#continuous-testing-in-devops) - [Test Driven Development (TDD)](#test-driven-development-tdd) +- [Tools](#tools) ## TestOps - [devops.com: Shift-Right Testing: The Emergence of TestOps](https://devops.com/shift-right-testing-the-emergence-of-testops/) @@ -12,11 +13,16 @@ - [TestOps at the Speed of DevOps. Is DevOps killing Testing and QA or making it more important than ever?](https://www.linkedin.com/pulse/testops-speed-devops-chaitanya-jawale/) - [guru99.com: What is Continuous Testing in DevOps? Definition, Benefits, Tools](https://www.guru99.com/continuous-testing.html) - [xeridia.co.uk: The Importance of Testing in DevOps](https://www.xeridia.co.uk/blog/importance-testing-devops) +- [opensource.com: What you need to know about automation testing in CI/CD](https://opensource.com/article/20/7/automation-testing-cicd) ## Test Driven Development (TDD) - [guru99.com: What is Test Driven Development (TDD)? Tutorial with Example](https://www.guru99.com/test-driven-development.html) - [functionize.com: Testers vs TDD](https://www.functionize.com/blog/testers-vs-tdd/) Test-driven development was supposed to eliminate the need for independent testing. Alas, it doesn’t go far enough. +## Tools +- [Smocker (server mock) is a simple and efficient HTTP mock server](https://github.com/Thiht/smocker) +- [copyist](https://github.com/cockroachdb/copyist) Mocking Your SQL Database in Go Tests Has Never Been Easier. +
[![testops and devops](images/TestOps-What-Does-This-Mean.jpg)](https://www.opcito.com/blogs/testops-how-to-automate-your-software-pipeline-at-the-speed-of-devops)
diff --git a/docs/visual-studio.md b/docs/visual-studio.md index 785fa123..3a193ffe 100644 --- a/docs/visual-studio.md +++ b/docs/visual-studio.md @@ -75,7 +75,7 @@ A simple extension to make indentation more readable * [Draw.io Integration](https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio) This extension integrates Draw.io into VS Code. * [Turbo Console Log](https://marketplace.visualstudio.com/items?itemName=ChakrounAnas.turbo-console-log) Automating the process of writing meaningful log messages. * [Path Intellisense](https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense) Visual Studio Code plugin that autocompletes filenames -* [GitHub Pull Requests and Issues](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github) +* [GitHub Pull Requests and Issues 🌟](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github) * [React Pure To Class](https://marketplace.visualstudio.com/items?itemName=angryobject.react-pure-to-class-vscode) Convert pure react components to class components #### More Extensions (Blogs) diff --git a/docs/yaml.md b/docs/yaml.md index f12945d0..6df788a3 100644 --- a/docs/yaml.md +++ b/docs/yaml.md @@ -10,10 +10,12 @@ - [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. - You should use tools such as [yq](https://mikefarah.gitbook.io/yq/) and kustomize to template YAML resources instead of relying on tools that interpolate strings such as [Helm](https://helm.sh/). - [yq 🌟](https://mikefarah.gitbook.io/yq/) is a lightweight and portable command-line YAML processor. The aim of the project is to be the [jq](https://github.com/stedolan/jq) or sed of yaml files. +- [Kapitan](https://kapitan.dev/) Generic templated configuration management for Kubernetes, Terraform and other things. ## Templating JSON Files - [wikipedia: JSON](https://en.wikipedia.org/wiki/JSON) - [Jsonnet](https://jsonnet.org/) A data templating language for app and tool developers +- [Building a high performance JSON parser](https://dave.cheney.net/high-performance-json.html) ## Static Checking of Kubernetes YAML Files - The ecosystem of static checking of Kubernetes YAML files can be grouped in the following categories: diff --git a/mkdocs.yml b/mkdocs.yml index 921afd25..5e839159 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -59,6 +59,7 @@ nav: - DevOps: devops.md - Cheat Sheets: cheatsheets.md - GitOps: gitops.md + - MLOps: mlops.md - Demos & Screencasts. OpenShift, Kubernetes, Jenkins Pipelines with JCasC and more: demos.md - NoOps: - NoOps: noops.md @@ -93,7 +94,7 @@ nav: - Maven, Gradle & SDKMAN: maven-gradle.md - SonarQube: sonarqube.md - Nexus & JFrog Artifactory: nexus-jfrog.md - - Selenium, Appium & Zephyr Jira plugin: selenium-appium-zephyr.md + - Selenium, Cucumber, Appium & Zephyr Jira plugin: selenium-appium-zephyr.md - Linux & SSH: linux.md - MkDocs & GitHub Pages: mkdocs.md - Web Servers, Reverse Proxies, Java Runtimes & Caching Solutions: