From 9a99f581241ef09b67ebb559e62a5428fd701d99 Mon Sep 17 00:00:00 2001 From: Inaki Fernandez Date: Sun, 17 Oct 2021 20:11:31 +0200 Subject: [PATCH] Oct 17th --- docs/aws.md | 3 +++ docs/cheatsheets.md | 23 ++++++++++++++++++++++- docs/cloud-arch-diagrams.md | 1 + docs/crossplane.md | 9 +++++++++ docs/databases.md | 1 + docs/demos.md | 5 +++++ docs/git.md | 4 +++- docs/gitops.md | 2 ++ docs/iac.md | 1 + docs/index.md | 1 + docs/jenkins.md | 2 ++ docs/kubernetes-client-libraries.md | 1 + docs/kubernetes-tools.md | 23 +++++++++++++++++++++-- docs/kubernetes.md | 2 +- docs/monitoring.md | 1 + docs/other-awesome-lists.md | 4 ++-- docs/prometheus.md | 1 + docs/pulumi.md | 3 ++- docs/python.md | 1 + docs/qa.md | 1 + docs/securityascode.md | 4 ++++ docs/sre.md | 5 +++++ docs/terraform.md | 2 ++ docs/visual-studio.md | 1 + 24 files changed, 93 insertions(+), 8 deletions(-) diff --git a/docs/aws.md b/docs/aws.md index 03258fff..8e5c0031 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -208,6 +208,8 @@ You can filter by topic using the toolbar above. - [github.com/acantril/learn-cantrill-io-labs](https://github.com/acantril/learn-cantrill-io-labs) - [linkedin.com/pulse: So, you think you're an associate level Solutions Architect?](https://www.linkedin.com/pulse/so-you-think-youre-associate-level-solutions-adrian-cantrill/) - [analyticsindiamag.com: Free Online Resources To Get Started On Cloud Computing](https://analyticsindiamag.com/free-online-resources-to-get-started-on-cloud-computing/) +- [acloudguru.com: 10 fun hands-on projects to learn AWS](https://acloudguru.com/blog/engineering/10-fun-hands-on-projects-to-learn-aws) + ## AWS Certification - [linkedin: Sharing My Top 10 resources to use while preparing for AWS Certification Exams](https://www.linkedin.com/pulse/sharing-my-top-10-resources-use-while-preparing-aws-exams-semaan/) - [Schedule an Exam](https://aws.amazon.com/certification/certification-prep/testing) Find the testing option that works best for you @@ -500,6 +502,7 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [Announcing the end of support for Python 2.7 in the AWS SDK for Python and AWS CLI v1](https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-python-2-7-in-aws-sdk-for-python-and-aws-cli-v1/) - [AWS SDK for Java](https://aws.amazon.com/sdk-for-java/) +- [medium: AWS CLI with jq and Bash](https://medium.com/circuitpeople/aws-cli-with-jq-and-bash-9d54e2eabaf1) The CLI is utilitarian, but a little jq sauce makes it beautiful ## AWS Cloud Control API - [AWS Cloud Control API](https://aws.amazon.com/cloudcontrolapi/) **Manage AWS and third-party cloud infrastructure with consistent APIs** diff --git a/docs/cheatsheets.md b/docs/cheatsheets.md index f3556897..ce1ee2f1 100644 --- a/docs/cheatsheets.md +++ b/docs/cheatsheets.md @@ -51,6 +51,8 @@ - [Go](#go) - [NodeJS](#nodejs) - [Selenium](#selenium) +- [CIDR subnets](#cidr-subnets) +- [Scrum Cheat Sheet](#scrum-cheat-sheet) ## Cheat Sheets * [wizardzines.com 🌟](https://wizardzines.com/) programming zines by Julia Evans @@ -145,9 +147,10 @@ * `--tail=-1` lets you output all logs when you use a label selector: * `kubectl logs -n etcd -l app=etcd -c etcd --tail=-1` * `kubectl logs -l app=my.app --tail=-1` +* [cmcrowell.com/cheat-sheet 🌟](https://cmcrowell.com/cheat-sheet/) ## Docker Cheat Sheets -- [docker.com: Docker Cheat Sheet🌟](https://www.docker.com/sites/default/files/d8/2019-09/docker-cheat-sheet.pdf) +- [docker.com: Docker Cheat Sheet 🌟](https://www.docker.com/sites/default/files/d8/2019-09/docker-cheat-sheet.pdf) - [cheatsheetseries.owasp.org: Docker Security Cheat Sheet 🌟🌟](https://cheatsheetseries.owasp.org/cheatsheets/Docker_Security_Cheat_Sheet.html) - [dockerlabs.collabnix.com: The Ultimate Docker Cheat Sheet 🌟](https://dockerlabs.collabnix.com/docker/cheatsheet/) - [dockerlux.github.io: Docker Cheat Sheet](http://dockerlux.github.io/pdfcheat-sheet-v2.pdf) @@ -370,6 +373,7 @@ ## Python - [websitesetup.org: Python Cheat Sheet](https://websitesetup.org/python-cheat-sheet/) +- https://blog.finxter.com/python-cheat-sheets ## Go - [devhints.io/go: Go cheatsheet](https://devhints.io/go) @@ -383,6 +387,23 @@ ## Selenium - [dev.to: Selenium Cheat Sheet](https://dev.to/razgandeanu/selenium-cheat-sheet-9lc) +## CIDR subnets +- [cidr.xyz 🌟](https://cidr.xyz) An interactive IP address and CIDR range visualizer +- https://en.wikipedia.org/wiki/Classful_network +- [gist.github.com: chadmcrowell/cidr.sh 🌟](https://gist.github.com/chadmcrowell/f3fc3be2ca1fcb887034162c14d77e74) +- [pbxbook.com: CIDR Cheat Sheet](https://pbxbook.com/other/cidrcheat.html) +- [aelius.com: subnet sheet](https://www.aelius.com/njh/subnet_sheet.html) +- [wisc.edu: CIDR Conversion Table](https://kb.wisc.edu/ns/page.php?id=3493) +- [dzone: What Is CIDR (Classless Inter-Domain Routing) ](https://dzone.com/articles/what-is-cidr-classless-inter-domain-routing-in-mul) +- [opensource.com: A Linux networking guide to CIDR notation and configuration - sipcalc 🌟](https://opensource.com/article/16/12/cidr-network-notation-configuration-linux) +- [cyberciti.biz: Linux: IP Subnet (CIDR) Calculator That Will Help You With Network Settings](https://www.cyberciti.biz/faq/linux-subnet-calculator-cidr/) +- [cyberciti.biz: Linux Calculating Subnets with ipcalc and sipcalc Utilities](https://www.cyberciti.biz/tips/perform-simple-manipulation-of-ip-addresse.html) +- [tecmint.com: How to Calculate IP Subnet Address with ipcalc Tool](https://www.tecmint.com/calculate-ip-subnet-address-with-ipcalc-tool/) + +## Scrum Cheat Sheet +- [dzone: Scrum refcard](https://dzone.com/refcardz/scrum) +- [teamhood.com: scrum cheat sheet](https://teamhood.com/agile/scrum-cheat-sheet/) +
![googling stuff](images/googling_stuff.jpg)
diff --git a/docs/cloud-arch-diagrams.md b/docs/cloud-arch-diagrams.md index 1ebeda34..fd86090a 100644 --- a/docs/cloud-arch-diagrams.md +++ b/docs/cloud-arch-diagrams.md @@ -16,6 +16,7 @@ - [redhat.com: 6 architectural diagramming tools for cloud infrastructure](https://www.redhat.com/architect/diagramming-tools-cloud-infrastructure) Communicating a vision for cloud computing requires meaningful diagrams of logical, physical, and every layer in between. Here are tools that will help make them. - [autodraw.com](https://www.autodraw.com/) Fast drawing for everyone. AutoDraw pairs machine learning with drawings from talented artists to help you draw stuff fast. - [redhat.com: Try these 5 diagramming tools for network architecture](https://www.redhat.com/architect/diagramming-tools-network-architecture) +- [redhat.com: Design professional enterprise architecture diagrams with this open source tool (diagrams.net)](https://www.redhat.com/architect/design-enterprise-architecture-diagrams) Walk step-by-step through creating enterprise architecture diagrams like an expert in this DevConf workshop. ## AWS - [AWS Architecture Icons](https://aws.amazon.com/architecture/icons/) The official AWS icon set for building architecture diagrams diff --git a/docs/crossplane.md b/docs/crossplane.md index 5a75bca4..44d9f8d1 100644 --- a/docs/crossplane.md +++ b/docs/crossplane.md @@ -1,6 +1,15 @@ # Crossplane. A Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions +- [Introduction](#introduction) +- [Demo. YAML Your Cloud. Managing Cloud-Hosted Resources from Kubernetes](#demo-yaml-your-cloud-managing-cloud-hosted-resources-from-kubernetes) +## Introduction - [crossplane.io](https://crossplane.io/) Crossplane is an open source Kubernetes add-on that supercharges your Kubernetes clusters enabling you to provision and manage infrastructure, services, and applications from kubectl. - [Crossplane, a Universal Control Plane API for Cloud Computing](https://www.infoq.com/news/2019/01/upbound-crossplane/) - [Crossplane as an OpenShift Operator to manage and provision cloud-native services](https://blog.crossplane.io/crossplane-openshift-operator-cloud-native-services/) - [Crossplane: A Kubernetes Control Plane to Roll Your Own PaaS](https://thenewstack.io/crossplane-a-kubernetes-control-plane-to-roll-your-own-paas/) - [dev.to: GKE Cluster using Crossplane](https://dev.to/abhivaidya07/gke-cluster-using-crossplane-3298) +- [medium: Using Crossplane to Provision a Kubernetes Cluster in Google Cloud](https://medium.com/dzerolabs/using-crossplane-to-provision-a-kubernetes-cluster-in-google-cloud-cf5374d765ee) + +## Demo. YAML Your Cloud. Managing Cloud-Hosted Resources from Kubernetes +- Very cool talk from @askmeegs and @shabirmean with an insightful look into the tools for managing cloud resources from Kubernetes. Great demonstration of @crossplane_io spanning your control plane across multiple clouds. +- [Presentation: YAML your cloud](https://docs.google.com/presentation/d/1IZXCiQl_NUawHMvKJANCG2_LIBZseUpY-XyPjlghj9E/edit) +- [askmeegs/yaml-your-cloud](https://github.com/askmeegs/yaml-your-cloud) diff --git a/docs/databases.md b/docs/databases.md index 40fe1d72..650c53b0 100644 --- a/docs/databases.md +++ b/docs/databases.md @@ -845,6 +845,7 @@ oc adm policy add-scc-to-user anyuid system:serviceaccount:pgophub:default - [Moco](https://cybozu-go.github.io/moco/) MOCO is a Kubernetes operator for MySQL created and maintained by Cybozu. - [cloudsavvyit.com: How to Run PHPMyAdmin in a Docker Container](https://www.cloudsavvyit.com/13842/how-to-run-phpmyadmin-in-a-docker-container/) - [percona.com: Storing JSON in Your Databases: Tips and Tricks For MySQL Part One](https://www.percona.com/blog/storing-json-in-your-databases-tips-mysql/) +- [tusacentral.com: MySQL on Kubernetes demystified](http://www.tusacentral.com/joomla/index.php/mysql-blogs/243-mysql-on-kubernetes-demystified) ## MariaDB - [thenewstack.io: Maria DB Gets Reactive with a Non-Blocking Connector for Java](https://thenewstack.io/maria-db-gets-reactive-with-a-non-blocking-connector-for-java/) diff --git a/docs/demos.md b/docs/demos.md index efb16c5f..675eb93f 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -31,6 +31,7 @@ - [IBM Cloud Pak Playbooks](#ibm-cloud-pak-playbooks) - [Knative](#knative) - [OpenShift Pipelines Workshop (Tekton)](#openshift-pipelines-workshop-tekton) + - [OpenShift GitOps (ArgoCD)](#openshift-gitops-argocd) - [ArgoCD](#argocd) - [GitLab Pipelines on OpenShift](#gitlab-pipelines-on-openshift) - [Deploying Web Applications with Eclipse JKube (formerly known as fabric8)](#deploying-web-applications-with-eclipse-jkube-formerly-known-as-fabric8) @@ -329,6 +330,10 @@ - [developers.redhat.com: Getting started with Tekton and Pipelines](https://developers.redhat.com/blog/2021/01/13/getting-started-with-tekton-and-pipelines/) - [developers.redhat.com: Bootstrap GitOps with Red Hat OpenShift Pipelines and kam CLI](https://developers.redhat.com/articles/2021/07/21/bootstrap-gitops-red-hat-openshift-pipelines-and-kam-cli) Generate a #GitOps repository using the kam CLI for simple GitOps adoption by bootstrapping Git repositories with opinionated layouts for continuous delivery. +### OpenShift GitOps (ArgoCD) +- [docs.openshift.com: OpenShift GitOps](https://docs.openshift.com/container-platform/4.8/cicd/gitops/understanding-openshift-gitops.html) +- [cloud.redhat.com: Virtual Machines as Code with OpenShift GitOps and OpenShift Virtualization](https://cloud.redhat.com/blog/virtual-machines-as-code-with-openshift-gitops-and-openshift-virtualization) + ### ArgoCD - [rromannissen/rhoar-microservices-demo: GitOps for Microservices with Red Hat Runtimes demo](https://github.com/rromannissen/rhoar-microservices-demo) A GitOps pipeline example using ArgoCD, tektoncd and HelmPack for springboot and QuarkusIO microservices. - [developers.redhat.com: From code to production with OpenShift Pipelines and Argo CD](https://developers.redhat.com/blog/2020/09/10/from-code-to-production-with-openshift-pipelines-and-argo-cd/) diff --git a/docs/git.md b/docs/git.md index 647e920f..f875a382 100644 --- a/docs/git.md +++ b/docs/git.md @@ -302,6 +302,7 @@ git push origin -f * [pythonspeed.com: Building Docker images on GitLab CI: Docker-in-Docker and Podman 🌟](https://pythonspeed.com/articles/gitlab-build-docker-image/) * [about.gitlab.com: Why we built GitDock, our desktop app to navigate your GitLab activities](https://about.gitlab.com/blog/2021/10/05/gitpod-desktop-app-personal-activities) * [about.gitlab.com: GitLab’s Kubernetes Operator with support for Red Hat OpenShift is now generally available](https://about.gitlab.com/blog/2021/10/12/open-shift-ga/) +* [containerjournal.com: GitLab Brings Kubernetes Operator to Red Hat OpenShift](https://containerjournal.com/features/gitlab-brings-kubernetes-operator-to-red-hat-openshift/) ### GitLab Collective - [GitLab Collective 🌟](https://stackoverflow.com/collectives/gitlab) Discover and share knowledge about version control, CI/CD, DevSecOps, and all-remote workflows @@ -353,7 +354,8 @@ git push origin -f * [dev.to: 10 Fun Things You Can Do With GitHub.dev 😎](https://dev.to/lostintangent/10-awesome-things-you-can-do-with-github-dev-5fm7) * [github.blog: GitHub CLI 2.0 includes extensions!](https://github.blog/2021-08-24-github-cli-2-0-includes-extensions/) * [dev.to: Git and GitHub: The Complete Guides - Chapter 6: GitHub Merging](https://dev.to/ifierygod/git-and-github-the-complete-guides-chapter-6-2c74) -* [github.blog: Improved pull request file filtering](https://github.blog/changelog/2021-09-27-improved-pull-request-file-filtering/) Filtered files on the Pull Request Files Changed tab are now completely hidden from view (not just collapsed). This helps decrease distractions and lets you focus on just the files you need to review: +* [github.blog: Improved pull request file filtering](https://github.blog/changelog/2021-09-27-improved-pull-request-file-filtering/) Filtered files on the Pull Request Files Changed tab are now completely hidden from view (not just collapsed). This helps decrease distractions and lets you focus on just the files you need to review. +* [dev.to: Git and GitHub Series' Articles - The Complete Guides 🌟](https://dev.to/ifierygod/series/14420) ### GitHub Actions - [github.blog: Testing cloud apps with GitHub Actions and cloud-native open source tools](https://github.blog/2020-10-09-devops-cloud-testing/) diff --git a/docs/gitops.md b/docs/gitops.md index 3349bcee..497e53c8 100644 --- a/docs/gitops.md +++ b/docs/gitops.md @@ -99,6 +99,7 @@ - [weave.works: Case Study: National Australia Bank Decreases Operational Overhead with GitOps](https://www.weave.works/blog/case-study-national-australia-bank-decreases-operational-overhead-with-gitops) New case study on how GitOps helped NAB, Australia's largest business bank decrease operational overhead for their move to EKS: "We turned to Weaveworks because of their extensive EKS and Kubernetes experience, including their close partnership with AWS". - [betterprogramming.pub: How GitOps Can Help Prevent Security Misconfigurations](https://betterprogramming.pub/how-gitops-can-help-prevent-security-misconfigurations-8b506dcd89e1) Cloud-native development comes with its own set of security risks. Know how to tackle them - [blogs.sap.com: Decentralized GitOps over multiple environments](https://blogs.sap.com/2021/05/06/decentralized-gitops-over-environments/) +- [thenewstack.io: Application Deployment Is Faster with GitOps](https://thenewstack.io/application-deployment-is-faster-with-gitops/)
[![gitops in a nutshell](images/GitOps-in-a-nutshell.png)](https://www.unifiedguru.com/gitops-and-the-cloud-operating-model-vmware-cloud-community/) @@ -132,6 +133,7 @@ - [weave.works: Weave Kubernetes Platform (WKP) Unlocks Cross Team Collaboration with Workspaces](https://www.weave.works/blog/wkp-team-workspaces-rbac) - [blog.container-solutions.com: FluxCD, ArgoCD or Jenkins X: Which Is the Right GitOps Tool for You? 🌟](https://blog.container-solutions.com/fluxcd-argocd-jenkins-x-gitops-tools) - [cloudogu.com: Automation Assistants: GitOps tools in comparison 🌟](https://cloudogu.com/en/blog/gitops-tools) +- [shipa.io: From Terraform to GitOps to Pulumi 🌟](https://shipa.io/2021/10/from-terraform-to-gitops-to-pulumi/)
[![gitops pipeline](images/gitops-pipeline.png)](https://www.unifiedguru.com/gitops-and-the-cloud-operating-model-vmware-cloud-community/) diff --git a/docs/iac.md b/docs/iac.md index 7b7a6eba..863247f6 100644 --- a/docs/iac.md +++ b/docs/iac.md @@ -3,6 +3,7 @@ - [invensislearning.com: Infrastructure as a Code Tutorial: How it Works, Types, and Best Practices](https://www.invensislearning.com/blog/infrastructure-as-a-code-tutorial/) - [clickittech.com: Terraform vs CloudFormation: The Final battle 🌟](https://www.clickittech.com/devops/terraform-vs-cloudformation/) - [intellipaat.com: Terraform vs Ansible: Key Differences Between Terraform and Ansible 🌟](https://intellipaat.com/blog/terraform-vs-ansible-difference) +- [k21academy.com: Terraform vs Ansible: Working, Difference, Provisioning 🌟](https://k21academy.com/ansible/terraform-vs-ansible) - [cncf.io: Cloudformation vs. Terraform: Which is better?](https://www.cncf.io/blog/2021/04/06/cloudformation-vs-terraform-which-is-better/) - [cloudify.co: Ansible Vs Terraform 🌟](https://cloudify.co/blog/ansible-vs-terraform/) - [clickittech.com: Infrastructure as Code Tools, what are the best IaC tools? 🌟](https://www.clickittech.com/devops/infrastructure-as-code-tools/) diff --git a/docs/index.md b/docs/index.md index 4a6ebece..38df7dc2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -50,6 +50,7 @@ A curated list of awesome references collected since 2018. Microservices archite - [Automation is the future of cloud cost optimization](https://www.cncf.io/blog/2021/09/29/automation-is-the-future-of-cloud-cost-optimization/) - [The Rise of Modern Day Kubernetes Operations](https://vmblog.com/archive/2021/10/07/the-rise-of-modern-day-kubernetes-operations.aspx) - [The Evolution of Distributed Systems on Kubernetes](https://www.infoq.com/articles/distributed-systems-kubernetes/) +- [10 Cloud Deficiencies You Should Know](https://thenewstack.io/10-cloud-deficiencies-you-should-know/) ## Introduction - [From Java EE To Cloud Native. Microservice Architecture. Openshift VS Kubernetes](introduction.md) diff --git a/docs/jenkins.md b/docs/jenkins.md index b4f2a00a..6f53a0ad 100644 --- a/docs/jenkins.md +++ b/docs/jenkins.md @@ -158,6 +158,8 @@ jenkinsci CloudBees' advice is to use build tool features when possible (Maven/G * [jenkins.io: Document Jenkins on Kubernetes: Installing Jenkins on Kubernetes Documentation Release 🌟](https://www.jenkins.io/blog/2020/11/05/installing-jenkins-on-kubernetes/) * [jenkins.io: Installing Jenkins on Kubernetes 🌟](https://www.jenkins.io/doc/book/installing/kubernetes/) * [ssbostan/jenkins-stack-kubernetes 🌟](https://github.com/ssbostan/jenkins-stack-kubernetes) Scripts and manifests to deploy Jenkins on Kubernetes + * [ssbostan/jenkins-tutorial 🌟](https://github.com/ssbostan/jenkins-tutorial) + * [itnext.io: Jenkins Tutorial β€” Part 7 β€” Interactive Pipelines](https://itnext.io/jenkins-tutorial-part-7-interactive-pipelines-a739b23ac41c) ## Jenkins on Docker * [ssbostan/jenkins-stack-docker](https://github.com/ssbostan/jenkins-stack-docker) Docker-compose version of jenkins-stack-kubernetes diff --git a/docs/kubernetes-client-libraries.md b/docs/kubernetes-client-libraries.md index 6a13e3fe..a3758f86 100644 --- a/docs/kubernetes-client-libraries.md +++ b/docs/kubernetes-client-libraries.md @@ -16,6 +16,7 @@ - [k8s-ruby: Kubernetes Ruby Client](https://github.com/k8s-ruby/k8s-ruby) ## Go Clients for Kubernetes - [kubernetes/client-go: Go client for Kubernetes 🌟](https://github.com/kubernetes/client-go) Go clients for talking to a kubernetes cluster. + - [pkg.go.dev/k8s.io/client-go](https://pkg.go.dev/k8s.io/client-go) - [Rate Limiting in Controller-Runtime and Client-go](https://danielmangum.com/posts/controller-runtime-client-go-rate-limiting/) - [kubernetes-client/go: OpenAPI based Generated Go client for Kubernetes](https://github.com/kubernetes-client/go) - [kyaml2go (Pronounced as camel2go 🐫) 🌟](https://github.com/PrasadG193/kyaml2go) K8s Go client code generator from Kubernetes resource yamls. diff --git a/docs/kubernetes-tools.md b/docs/kubernetes-tools.md index 04d30988..fcf017e6 100644 --- a/docs/kubernetes-tools.md +++ b/docs/kubernetes-tools.md @@ -22,7 +22,10 @@ - [Usernetes](#usernetes) - [k8syaml.com](#k8syamlcom) - [Komodor Workflows](#komodor-workflows) +- [Popeye](#popeye) - [kbrew](#kbrew) +- [KubExplorer](#kubexplorer) +- [Kubescape](#kubescape) - [Tweets](#tweets) ## Introduction @@ -246,7 +249,6 @@ * [kube-bench](https://github.com/aquasecurity/kube-bench) Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark * [kube-bench-exporter](https://github.com/yashvardhan-kukreja/kube-bench-exporter) Helps you to export your kube-bench reports to multiple targets like Amazon S3 buckets with ease. * [Karmada](https://github.com/karmada-io/karmada) Karmada (Kubernetes Armada) is a Kubernetes management system that enables you to run your cloud-native applications across multiple Kubernetes clusters and clouds, with no changes to your applications. By speaking Kubernetes-native APIs and providing advanced scheduling capabilities, Karmada enables truly open, multi-cloud Kubernetes. -* [Popeye - A Kubernetes Cluster Sanitizer 🌟🌟](https://github.com/derailed/popeye) Popeye is a utility that scans live Kubernetes cluster and reports potential issues with deployed resources and configurations. It sanitizes your cluster based on what's deployed and not what's sitting on disk. By scanning your cluster, it detects misconfigurations and helps you to ensure that best practices are in place, thus preventing future headaches. It aims at reducing the cognitive overload one faces when operating a Kubernetes cluster in the wild. Furthermore, if your cluster employs a metric-server, it reports potential resources over/under allocations and attempts to warn you should your cluster run out of capacity. * [kube-secrets-init](https://github.com/doitintl/kube-secrets-init) Kubernetes mutating webhook for `secrets-init` injection * [liqo: Enable dynamic and seamless Kubernetes multi-cluster topologies](https://github.com/liqotech/liqo) Building your endless Kubernetes ocean. Liqo is a platform to enable dynamic and decentralized resource sharing across Kubernetes clusters, either on-prem or managed. Liqo allows to run pods on a remote cluster seamlessly and without any modification of Kubernetes and the applications. With Liqo it is possible to extend the control plane of a Kubernetes cluster across the cluster's boundaries, making multi-cluster native and transparent: collapse an entire remote cluster to a virtual local node, by allowing workloads offloading and resource management compliant with the standard Kubernetes approach. * [redhat-certification: chart-verifier: Rules based tool to certify Helm charts 🌟](https://github.com/redhat-certification/chart-verifier) @@ -329,7 +331,6 @@ * [cdk8s](https://github.com/cdk8s-team/cdk8s) Define Kubernetes native apps and abstractions using object-oriented programming * [Havener](https://github.com/homeport/havener) Think of it as a swiss army knife for Kubernetes tasks. * [KFServing 🌟](https://github.com/kubeflow/kfserving) Serverless Inferencing on Kubernetes. KFServing provides a Kubernetes Custom Resource Definition for serving machine learning (ML) models on arbitrary frameworks. It aims to solve production model serving use cases by providing performant, high abstraction interfaces for common ML frameworks like Tensorflow, XGBoost, ScikitLearn, PyTorch, and ONNX. -* [Kubescape 🌟](https://github.com/armosec/kubescape) **kubescape is the first tool for testing if Kubernetes is deployed securely as defined in Kubernetes Hardening Guidance by to NSA and CISA.** Tests are configured with YAML files, making this tool easy to update as test specifications evolve. * [rkubelog 🌟](https://github.com/solarwinds/rkubelog) Send k8s Logs to Papertrail and Loggly Without DaemonSets (for Nodeless Clusters) - [dzone: ContainerD Kubernetes Syslog Forwarding](https://dzone.com/articles/containerd-kubernetes-syslog-forwarding) Move from Logspout to Filebeat to support containerd logging architecture. * [kubernetes-sigs: Trimaran: Load-aware scheduling plugins 🌟](https://github.com/kubernetes-sigs/scheduler-plugins/tree/master/pkg/trimaran) Trimaran is a collection of load-aware scheduler plugins - [thenewstack.io: IBM, Red Hat Bring Load-Aware Resource Management to Kubernetes](https://thenewstack.io/ibm-red-hat-bring-load-aware-resource-management-to-kubernetes/) * [AWS Controllers for Kubernetes (ACK) 🌟](https://github.com/aws-controllers-k8s/community) AWS Controllers for Kubernetes (ACK) is a project enabling you to manage AWS services from Kubernetes @@ -369,6 +370,11 @@ * [vadosware.io: Using Makefiles And Envsubst As An Alternative To Helm And Ksonnet (deprecated)](https://vadosware.io/post/using-makefiles-and-envsubst-as-an-alternative-to-helm-and-ksonnet/) * [uw-labs.github.io: Kubernetes Semaphore: A modular and nonintrusive framework for cross cluster communication](https://uw-labs.github.io/blog/kubernetes,/multicluster/2021/07/21/kube-semaphore-intro.html) * [zakkg3/ClusterSecret: Kubernetes ClusterSecret operator](https://github.com/zakkg3/ClusterSecret) ClusterSecret operator makes sure all the matching namespaces have the secret available. New namespaces, if they match the pattern, will also have the secret. Any change on the ClusterSecret will update all related secrets. Deleting the ClusterSecret deletes "child" secrets (all cloned secrets) too. +* [tektoncd/chains](https://github.com/tektoncd/chains) Tekton Chains is a Kubernetes Custom Resource Definition (CRD) controller that allows you to manage your supply chain security in Tekton. +* [gopaddle-io/configurator](https://github.com/gopaddle-io/configurator) Synchronize and Version Control ConfigMaps & Secrets across Deployment Rollouts. +* [biosimulations/deployment](https://github.com/biosimulations/deployment) Kubernetes Configuration for [BioSimulations](https://github.com/biosimulations/biosimulations) platform. +* [quarkslab/kdigger](https://github.com/quarkslab/kdigger) kdigger is a context discovery tool for Kubernetes penetration testing. +* [chrislusf/seaweedfs](https://github.com/chrislusf/seaweedfs) SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, local tiering, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, Hadoop, WebDAV, encryption, Erasure Coding. ## Deckhouse Kubernetes Platform * [Deckhouse: NoOps Kubernetes platform 🌟](https://github.com/deckhouse/deckhouse) Deckhouse is an Open Source platform for managing Kubernetes clusters in a fully automatic and uniform fashion. It allows you to create homogeneous Kubernetes clusters anywhere and fully manages them. It supplies all the add-ons you need for auto-scaling, observability, security, and service mesh. It comes in Enterprise Edition (EE) and Community Edition (CE). @@ -448,6 +454,11 @@ ## Komodor Workflows - [komodor.com: Komodor Workflows: Automated Troubleshooting at the Speed of WHOOSH!](https://komodor.com/blog/using-workflows-to-troubleshoot-like-a-pro/) +## Popeye +- [Popeye - A Kubernetes Cluster Sanitizer 🌟🌟](https://github.com/derailed/popeye) Popeye is a utility that scans live Kubernetes cluster and reports potential issues with deployed resources and configurations. It sanitizes your cluster based on what's deployed and not what's sitting on disk. By scanning your cluster, it detects misconfigurations and helps you to ensure that best practices are in place, thus preventing future headaches. It aims at reducing the cognitive overload one faces when operating a Kubernetes cluster in the wild. Furthermore, if your cluster employs a metric-server, it reports potential resources over/under allocations and attempts to warn you should your cluster run out of capacity. +- [collabnix.com: Top 10 Kubernetes Tools You Need for 2021 – Popeye](https://collabnix.com/top-10-kubernetes-tools-you-need-for-2021/) + +
[![komodor workflow](images/komodor_workflow.png)](https://komodor.com/blog/using-workflows-to-troubleshoot-like-a-pro/)
@@ -455,6 +466,14 @@ ## kbrew - [kbrew](https://github.com/kbrew-dev/kbrew) kbrew is homebrew for Kubernetes. kbrew is a CLI tool for Kubernetes which makes installing any complex stack easy in one step (And yes we are definitely inspired by Homebrew from MacOS) +## KubExplorer +- [Pscheidl/kubexplorer](https://github.com/Pscheidl/kubexplorer) Detects orphan configmaps and secrets in a Kubernetes cluster + +## Kubescape +- [Kubescape 🌟](https://github.com/armosec/kubescape) **kubescape is the first tool for testing if Kubernetes is deployed securely as defined in Kubernetes Hardening Guidance by to NSA and CISA.** Tests are configured with YAML files, making this tool easy to update as test specifications evolve. +- [armosec.io: Use Kubescape to check if your Kubernetes clusters are exposed to the latest K8s Symlink vulnerability (CVE-2021-25741)](https://www.armosec.io/blog/kubescape-checks-if-kubernetes-exposed-to-k8s-symlink-vulnerability-cve202125741) + + ## Tweets
Click to expand! diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 4509f216..a4fed420 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -593,7 +593,7 @@ - [youtube: deployment strategies in kubernetes | recreate | rolling update | blue/green | canary](https://youtu.be/efiMiaFjtn8) - [auth0.com: Deployment Strategies In Kubernetes](https://auth0.com/blog/deployment-strategies-in-kubernetes) Learn what are the different deployment strategies available in Kubernetes and how to use them. - [educative.io: A deep dive into Kubernetes Deployment strategies](https://www.educative.io/blog/kubernetes-deployments-strategies) -- [weave.works: Kubernetes Deployment Strategies](https://www.weave.works/blog/kubernetes-deployment-strategies) +- [weave.works: Kubernetes Deployment Strategies 🌟](https://www.weave.works/blog/kubernetes-deployment-strategies) - [sivalabs.in: Kubernetes - Blue/Green Deployments](https://www.sivalabs.in/2021/09/kubernetes-blue-green-deployments/) - [medium.com: Kubernetes Canary Deployment #1 Gitlab CI](https://medium.com/@wuestkamp/kubernetes-canary-deployment-1-gitlab-ci-518f9fdaa7ed) - [semaphoreci.com: Continuous Blue-Green Deployments With Kubernetes](https://semaphoreci.com/blog/continuous-blue-green-deployments-with-kubernetes) diff --git a/docs/monitoring.md b/docs/monitoring.md index 4178a578..da81fceb 100644 --- a/docs/monitoring.md +++ b/docs/monitoring.md @@ -88,6 +88,7 @@ * [forbes.com: Who Should Own The Job Of Observability In DevOps?](https://www.forbes.com/sites/forbestechcouncil/2021/09/03/who-should-own-the-job-of-observability-in-devops/) * [dzone: Monitoring Web Servers Should Never Be Complex](https://dzone.com/articles/monitoring-web-servers-should-never-be-complex) Monitoring Web Services can become very very complex. But what really is needed to detect a failure? And how can setup and simplify your monitoring? * [dynatrace.com: What is observability? Not just logs, metrics and traces](https://www.dynatrace.com/news/blog/what-is-observability-2/) +* [thenewstack.io: Observability Is the New Kubernetes 🌟](https://thenewstack.io/observability-is-the-new-kubernetes/) ### Key Performance Indicator (KPI) * [KPIs](https://kpi.org/KPI-Basics) diff --git a/docs/other-awesome-lists.md b/docs/other-awesome-lists.md index e2b7b6cf..f15bd978 100644 --- a/docs/other-awesome-lists.md +++ b/docs/other-awesome-lists.md @@ -136,7 +136,7 @@ - [Awesome Git](https://github.com/dictcp/awesome-git) - [Awesome Visual Studio Code](https://github.com/viatsko/awesome-vscode) - [Awesome Python](https://github.com/vinta/awesome-python) -- [Awesome Java](https://github.com/akullpp/awesome-java) +- [Awesome Java 🌟](https://github.com/akullpp/awesome-java) - [Awesome Angular](https://github.com/PatrickJS/awesome-angular) - [Awesome Go](https://github.com/avelino/awesome-go) - [awesome-go.com](https://awesome-go.com/) @@ -188,6 +188,6 @@ Click to expand!
- +
\ No newline at end of file diff --git a/docs/prometheus.md b/docs/prometheus.md index 5f0181f0..854ea893 100644 --- a/docs/prometheus.md +++ b/docs/prometheus.md @@ -169,6 +169,7 @@ * [prometheus-operator.dev: Thanos and the Prometheus Operator 🌟](https://prometheus-operator.dev/docs/operator/thanos/) * [Thanos Architecture Overview 🌟](https://github.com/thanos-io/thanos#architecture-overview) * [enmilocalfunciona.io: Aprende a configurar Thanos usando docker-compose](https://enmilocalfunciona.io/aprende-a-configurar-thanos-usando-docker-compose/) + * [goatlas-io/atlas](https://github.com/goatlas-io/atlas) Atlas provides the ability to easily run a secure distributed Thanos deployment. * [**M3**:](https://www.m3db.io/) An open source, large-scale metrics platform developed by Uber. It has its own time series database, M3DB. Like Thanos, M3 also uses a side-car container to push the metrics to the DB. In addition, it supports metric deduplication and merging, and provides distributed query support. Although it's exciting to see attempts to address the challenges of running Prometheus at scale, these are very young projects that are not widely used yet. * [VictoriaMetrics](https://victoriametrics.com/) diff --git a/docs/pulumi.md b/docs/pulumi.md index cb793372..8682317c 100644 --- a/docs/pulumi.md +++ b/docs/pulumi.md @@ -14,4 +14,5 @@ - [thenewstack.io: The Next Step after DevOps and GitOps Is Cloud Engineering, Pulumi Says](https://thenewstack.io/the-next-step-after-devops-and-gitops-is-cloud-engineering-pulumi-says/) - [pulumi.com: From Kubernetes or Helm YAML](https://www.pulumi.com/docs/guides/adopting/from_kubernetes/) - [travis.media: Pulumi Tutorial: Automate Kubernetes Deployments and Operations with this Complete Guide](https://travis.media/pulumi-tutorial-automate-kubernetes-operations/) -- [pulumi.com: Announcing the Pulumi REST API](https://www.pulumi.com/blog/pulumi-rest-api/) \ No newline at end of file +- [pulumi.com: Announcing the Pulumi REST API](https://www.pulumi.com/blog/pulumi-rest-api/) +- [thenewstack.io: Pulumi Releases a Kubernetes Operator](https://thenewstack.io/pulumi-releases-a-kubernetes-operator/) \ No newline at end of file diff --git a/docs/python.md b/docs/python.md index 6f9236d6..bd3a8878 100644 --- a/docs/python.md +++ b/docs/python.md @@ -156,6 +156,7 @@ - [kdnuggets.com: How To Build A Database Using Python](https://www.kdnuggets.com/2021/09/build-database-using-python.html) - [zdnet.com: Programming languages: Python just took a big jump forward](https://www.zdnet.com/article/programming-languages-python-just-took-a-big-jump-forward/) Python overtakes Java and C for the first time in 20 years of a key language popularity index. - [genbeta.com: Python se convierte en el lenguaje de programación mÑs popular según el índice TIOBE: adiós al largo reinado de C](https://www.genbeta.com/actualidad/python-se-convierte-lista-tiobe-lenguaje-popular-red-superando-incluso-a-c) +- [sureshdsk.dev: Check diff between two files in Python](https://sureshdsk.dev/check-diff-between-two-files-in-python) ## APIs in Python - [towardsdatascience.com: Quick-Fire Guide to APIs in Python](https://towardsdatascience.com/quick-fire-guide-to-apis-in-python-891dd98c8877) A straightforward guide to web communication diff --git a/docs/qa.md b/docs/qa.md index 2b8e6a32..ef346ba6 100644 --- a/docs/qa.md +++ b/docs/qa.md @@ -39,6 +39,7 @@ the #1 test automation community. * [dzone: Checklist for API Verification 🌟](https://dzone.com/articles/checklist-for-api-verification) These days where Applications talk to each other using API, the verification of any message between the applications/microservices needs to be verified. This checklist includes some best practices for API verification. * [thenewstack.io: 7 Benefits of Testing in Isolation](https://thenewstack.io/7-benefits-of-testing-in-isolation/) * [dzone: A Detailed Comparison: Unit Testing vs. Functional Testing](https://dzone.com/articles/detailed-comparison-unit-testing-vs-functional-testing) The main goal of any testing is to deliver a quality product with find the right job balance between unit testing and functional testing. +* [dzone: Microservice Testing Strategies](https://dzone.com/articles/microservice-testing-strategies) This article contains Microservice testing strategies. Learn more about testing in layered architectures. ## Testing Frameworks * [JUnit](https://junit.org) diff --git a/docs/securityascode.md b/docs/securityascode.md index a2c6a014..1924e080 100644 --- a/docs/securityascode.md +++ b/docs/securityascode.md @@ -5,6 +5,7 @@ - [Open Policy Agent in OpenShift](#open-policy-agent-in-openshift) - [Open Policy Agent in Cloudflare Workers](#open-policy-agent-in-cloudflare-workers) - [Policy as Code in Terraform Cloud](#policy-as-code-in-terraform-cloud) + - [Other OPA based solutions](#other-opa-based-solutions) - [Other Policy as Code Scanning Tools](#other-policy-as-code-scanning-tools) - [Kyverno](#kyverno) - [Cloud Custodian](#cloud-custodian) @@ -58,6 +59,9 @@ ### Policy as Code in Terraform Cloud - [hashicorp.com: Securing Infrastructure In Application Pipelines](https://www.hashicorp.com/resources/securing-infrastructure-in-application-pipelines/) Learn how to use policy as code in Terraform Cloud to securely deliver applications. +### Other OPA based solutions +- [Fugue: Container and Kubernetes. Runtime infrastructure security](https://www.fugue.co/container-kubernetes) - [darkreading.com: Fugue Adds Kubernetes Security Checks to Secure Infrastructure-as-Code](https://www.darkreading.com/dr-tech/fugue-adds-kubernetes-security-checks-to-secure-infrastructure-as-code) Developers can apply proper security controls as they programmatically deploy Kubernetes clusters. + ## Other Policy as Code Scanning Tools - [thenewstack.io: Yor Automates Tagging for Infrastructure as Code](https://thenewstack.io/yor-automates-tagging-for-infrastructure-as-code/) - [yor.io](https://yor.io/) Automated IaC tag and trace. Yor is an open-source tool that automatically tags infrastructure as code (IaC) templates with attribution and ownership details, unique IDs that get carried across to cloud resources, and any other need-to-know information. Run Yor as a pre-commit hook or in your CI/CD pipeline for code to cloud traceability and auditability. diff --git a/docs/sre.md b/docs/sre.md index 4128f43f..04b37758 100644 --- a/docs/sre.md +++ b/docs/sre.md @@ -3,6 +3,7 @@ - [SRE Tools](#sre-tools) - [Service Level Objectives (SLO)](#service-level-objectives-slo) - [OpenSLO](#openslo) + - [Validate Service-Level Objectives of REST APIs Using Iter8](#validate-service-level-objectives-of-rest-apis-using-iter8) - [Videos](#videos) - [Tweets](#tweets) ## SRE @@ -58,6 +59,10 @@ ### OpenSLO - [OpenSLO specification 🌟](https://github.com/OpenSLO/OpenSLO) The goal of this project is to provide an open specification for defining and interfacing with SLOs to allow for a common approach, giving a set vendor-agnostic solution to defining and tracking SLOs. Platform specific implementation details are purposefully excluded from the scope of this specification. +### Validate Service-Level Objectives of REST APIs Using Iter8 +- [Iter8](https://iter8.tools) +- [thenewstack.io: Validate Service-Level Objectives of REST APIs Using Iter8](https://thenewstack.io/validate-service-level-objectives-of-rest-apis-using-iter8/) +
[![cn do sre](images/CN-DO-SRE.png)](https://devops.com/sre-devops-cloud-native-server-cage-match/) diff --git a/docs/terraform.md b/docs/terraform.md index 38618d4a..900baa8e 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -153,6 +153,7 @@ * [terraform-best-practices.com 🌟](https://www.terraform-best-practices.com/) * [bridgecrew.io: Advanced Terraform security: Pro tips for secure infrastructure as code](https://bridgecrew.io/blog/advanced-terraform-security-pro-tips-for-secure-infrastructure-as-code) * [hub.qovery.com: Terraform is Not the Golden Hammer](https://hub.qovery.com/guides/engineering/terraform-not-the-golden-hammer/) +* [scalefactory.com: Failing faster with terraform](https://scalefactory.com/blog/2021/10/13/failing-faster-with-terraform/) **Terraform validation rules**. Terraform is an extremely powerful tool, but with great power comes great opportunity to break stuff, or whatever Uncle Ben said. With a single command a developer can deploy hundreds of resources in an instant, and when that developer inevitably configured the inputs wrong Terraform makes it easy to patch or rollback that mistake. But you know what’s better than recovering from mistakes? Never making the mistake in the first place. ### HCL * [github.com/hashicorp/hcl: HCL](https://github.com/hashicorp/hcl) HCL is the HashiCorp configuration language. @@ -204,6 +205,7 @@ - https://github.com/hashicorp/learn-terraform-provision-eks-cluster - https://github.com/hashicorp/learn-terraform-provision-gke-cluster - https://github.com/hashicorp/learn-terraform-deploy-nginx-kubernetes-provider +- [gist.github.com/chadmcrowell: AKS w/Virtual Nodes (ACI)](https://gist.github.com/chadmcrowell/4d11b8a56aba3bdc32ea73c31104357b) #### Learnk8s Terraform and Managed Kubernetes * [learnk8s.io/terraform-gke: Provisioning Kubernetes clusters on AWS with Terraform and GKE 🌟](https://learnk8s.io/terraform-gke) Fully automated dev, staging, prod clusters with GKE and the GKE Ingress in a single click. diff --git a/docs/visual-studio.md b/docs/visual-studio.md index 7a4d7e14..2304b128 100644 --- a/docs/visual-studio.md +++ b/docs/visual-studio.md @@ -50,6 +50,7 @@ * [dzone: VS Code Extensions for Frontend Developers](https://dzone.com/articles/7-vs-code-extensions-for-frontend-developers) * In code 1.61.0, you can get a colorized bracket pair guide, just enable it by setting: * `"editor.guides.bracketPairs": true` +* [dev.to: How to configure VSCode Bracket Pair Colors Natively](https://dev.to/amanhimself/how-to-configure-vscode-bracket-pair-colors-natively-3nl) ### Updates * [VSCode Updates](https://code.visualstudio.com/updates)