diff --git a/docs/ChromeDevTools.md b/docs/ChromeDevTools.md index d9a82106..c5718ae1 100644 --- a/docs/ChromeDevTools.md +++ b/docs/ChromeDevTools.md @@ -16,6 +16,7 @@ - In @ChromeDevTools Network, the Copy menu is powerful for replaying network requests. Copy as Fetch API code, cURL and a Node.js fetch that includes cookie data: - [digitalocean.com: How To Debug Node.js with the Built-In Debugger and Chrome DevTools](https://www.digitalocean.com/community/tutorials/how-to-debug-node-js-with-the-built-in-debugger-and-chrome-devtools) - [dev.to: My 12 Favorite Chrome Extensions as a Web Developer](https://dev.to/otomer/my-12-favorite-chrome-extensions-as-a-web-developer-56eg) +- [blog.bitsrc.io: Google Chrome Hidden Features Every Developer Should Know](https://blog.bitsrc.io/google-chrome-experimental-features-for-developers-a9a7cc9d1b30)
[![Jenkins Is The Way](images/chrome_devtools_replay_network_request.jpg)](https://twitter.com/addyosmani) diff --git a/docs/about.md b/docs/about.md index 9cb5f305..0b86f73a 100644 --- a/docs/about.md +++ b/docs/about.md @@ -1,7 +1,7 @@ # About Unofficial Red Hat. A Community Linkedin Group since 2009. Red Hat is the world's leading provider of open source solutions. -This blog started in 2018, after finishing my first relevant project on cloud computing with a well known consulting firm. It was an international project coordinated from Munich with remote work from other european countries and regular flights. The client was a major car manufacturer with a big investment in OpenShift and Cloudbees/Jenkins infrastructure. Our role was to help the client with their pretty large CI/CD ecosystem while also implementing a new self-service developer platform, involving areas of development and operations and within a DevOps model. Standardization, boilerplates and automation with a GitOps pattern were the requirements and I learnt their advantages, specially in demanding projects like this with hundreds of real microservices with a large number of IaC pipelines & CI/CD pipelines, developers and final users. +This blog started in 2018, after finishing my first relevant project on cloud computing with a well known consulting firm. It was an international project coordinated from Munich with remote work from other european countries and regular flights. The client was a major car manufacturer with a big investment in OpenShift and Cloudbees/Jenkins infrastructure. Our role was to help the client with their pretty large CI/CD ecosystem while also implementing a new self-service developer platform, involving areas of development and operations and within a DevOps model. Standardization, boilerplates and automation with a GitOps pattern were the requirements and I learnt their advantages, specially in demanding projects like this with hundreds of real microservices, a large number of IaC pipelines & CI/CD pipelines, developers and final users. Since then I tried to apply in my country what I learnt from the germans and other european colleagues. I'm not a freelancer and I continue working as a regular contractor or employee. diff --git a/docs/ansible.md b/docs/ansible.md index 628075e1..7cc93f16 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -1,7 +1,9 @@ # Ansible - [Configuration Management with Ansible DevOps Tool](#configuration-management-with-ansible-devops-tool) - [Deploying custom files with Jinja2 templates](#deploying-custom-files-with-jinja2-templates) +- [Writing an Ansible module](#writing-an-ansible-module) - [Interacting with REST API](#interacting-with-rest-api) + - [Writing an Ansible module for a REST API](#writing-an-ansible-module-for-a-rest-api) - [Interview Questions](#interview-questions) - [Ansible Videos](#ansible-videos) - [Ansible Playbooks](#ansible-playbooks) @@ -29,9 +31,6 @@ - [Oracle Database with Ansible](#oracle-database-with-ansible) - [Ansistrano. Deploying applications with Ansible in Capistrano style](#ansistrano-deploying-applications-with-ansible-in-capistrano-style) - [Anacron and Ansible](#anacron-and-ansible) -- [Writing an Ansible module](#writing-an-ansible-module) -- [Using Ansible with REST APIs](#using-ansible-with-rest-apis) - - [Writing an Ansible module for a REST API](#writing-an-ansible-module-for-a-rest-api) ## Configuration Management with Ansible DevOps Tool * [ansible.com](https://www.ansible.com/) @@ -109,11 +108,20 @@ - [infraxpertzz.com: Deploying Custom Files with Jinja2 Template 🌟](https://infraxpertzz.com/deploying-custom-files-with-jinja2-template/) - [video](https://www.youtube.com/watch?app=desktop&v=jokfVGdhBow&feature=youtu.be&ab_channel=InfraXpertzz) - [jinja 🌟](https://github.com/pallets/jinja/) Jinja is a fast, expressive, extensible templating engine. Special placeholders in the template allow writing code similar to Python syntax. Then the template is passed data to render the final document. +## Writing an Ansible module +- [docs.ansible.com: Developing Ansible modules](https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html) +- [techforce1.nl: Creating your first Ansible module](https://techforce1.nl/creating-your-first-ansible-module) + ## Interacting with REST API * [linuxctl.com: Ansible - Interacting with external REST API](https://linuxctl.com/2017/01/ansible---interacting-with-external-rest-api/) Ansible has many powerful modules. One of which is called uri which is capable of sending any kind of HTTP request. Using this module, it is fairly simple to allow ansible to intelligently talk to a REST API. This will come in handy during for automation of the sensu monitoring docker infrastructure I am currently working on. * [steampunk.si: Let us give Ansible a REST](https://steampunk.si/blog/let-us-give-ansible-a-rest/) * [netways.de: Ansible puede hablar con tu API favorita](https://www.netways.de/blog/2019/04/26/ansible-can-talk-to-your-favorite-api/) * [redhat.com: Using Ansible to interact with web endpoints](https://www.redhat.com/sysadmin/ansible-web-endpoints) How about an Ansible use case that you can implement today? +* [opensource.com: Using Ansible with REST APIs](https://opensource.com/article/21/9/ansible-rest-apis) You may have queried APIs with a web browser or curl, but one of the overlooked capabilities of Ansible is how well it can leverage APIs as part of any playbook. + +### Writing an Ansible module for a REST API +- [ansible.com: Automating your business application's REST API with Ansible](https://www.ansible.com/automating-business-applications-rest-api) You will learn how you can use Ansible to talk to your business application's REST API - and to develop your own Ansible modules doing just that. +- [liquidat.wordpress.com: [Howto] Writing an Ansible module for a REST API](https://liquidat.wordpress.com/2016/06/27/howto-writing-an-ansible-module-for-a-rest-api/) ## Interview Questions - [devsecops.co.in: 100+ Ansible Interview Questions and Answers](https://devsecops.co.in/2021/05/18/ansible-interview-questions/) @@ -144,6 +152,8 @@ - [crn.com: IBM’s Red Hat Reveals Ansible Automation Platform 2 Early Access](https://www.crn.com/news/cloud/ibm-s-red-hat-reveals-ansible-automation-platform-2-early-access) ‘Automation is foundational. Not an option. Not tactical,’ Massimo Ferrari, Red Hat’s management strategy director, tells CRN in an interview. “You need automation, otherwise you won‘t be able to do many other things, whether that be DevOps, whether that be digital transformation.” - [devops.com: Red Hat Extends Scope of Ansible Automation Ambitions](https://devops.com/red-hat-extends-scope-of-ansible-automation-ambitions/) Red Hat announced the availability of a preview edition of Red Hat Ansible Automation Platform 2 that is intended to make it easier to automate IT processes at scale. - [redhat.com: Red Hat Ansible Automation Platform 2 Drives Cloud-Native Automation and Helps Developers Become Automators](https://www.redhat.com/en/about/press-releases/red-hat-ansible-automation-platform-2-drives-cloud-native-automation-and-helps-developers-become-automators) Industry’s leading IT automation platform now re-architected for deploying portable automation at massive scale across hybrid clouds and edge environments while shifting automation left into application development +- [ansible.com: What's new in Ansible Automation Platform 2: automation controller](https://www.ansible.com/blog/whats-new-in-ansible-automation-platform-2-automation-controller) + - [ansible.com: What's new in Ansible Automation Platform 2: automation content navigator](https://www.ansible.com/blog/whats-new-in-ansible-automation-platform-2-automation-content-navigator) ### Automation services catalog - [ansible.com: Automation services catalog, the newest addition to the Ansible Automation Platform](https://www.ansible.com/products/automation-services-catalog) Provide lifecycle management, provisioning, retirement and cataloging of automation resources to your business @@ -268,14 +278,3 @@ ## Anacron and Ansible - [opensource.com: How I use Ansible and anacron for automation](https://opensource.com/article/21/9/ansible-anacron-automation) With anacron, I can drop scripts and Ansible playbooks into place for all manner of trivial tasks. - [opensource.com: Use anacron for a better crontab](https://opensource.com/article/21/2/linux-automation) Instead of manually performing repetitive tasks, let Linux do them for you. - -## Writing an Ansible module -- [docs.ansible.com: Developing Ansible modules](https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html) -- [techforce1.nl: Creating your first Ansible module](https://techforce1.nl/creating-your-first-ansible-module) - -## Using Ansible with REST APIs -- [opensource.com: Using Ansible with REST APIs](https://opensource.com/article/21/9/ansible-rest-apis) You may have queried APIs with a web browser or curl, but one of the overlooked capabilities of Ansible is how well it can leverage APIs as part of any playbook. - -### Writing an Ansible module for a REST API -- [ansible.com: Automating your business application's REST API with Ansible](https://www.ansible.com/automating-business-applications-rest-api) You will learn how you can use Ansible to talk to your business application's REST API - and to develop your own Ansible modules doing just that. -- [liquidat.wordpress.com: [Howto] Writing an Ansible module for a REST API](https://liquidat.wordpress.com/2016/06/27/howto-writing-an-ansible-module-for-a-rest-api/) diff --git a/docs/aws.md b/docs/aws.md index 87a9ecdc..5b4cb6aa 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -33,7 +33,7 @@ - [AWS RDS Proxy](#aws-rds-proxy) - [AWS Application Discovery Service](#aws-application-discovery-service) - [AWS Migrations](#aws-migrations) - - [AWS Database Migration Service](#aws-database-migration-service) + - [AWS Database Migration Service DMS](#aws-database-migration-service-dms) - [AWS Redshift](#aws-redshift) - [AWS DevOps. AWS CodePipeline](#aws-devops-aws-codepipeline) - [AWS Elastic Beanstalk](#aws-elastic-beanstalk) @@ -154,6 +154,7 @@ - [AWS SAM Pipelines](https://serverlessland.com/explore/sam-pipelines) Video tutorials: Learn how to generate CI/CD pipelines and deployment templates for serverless applications with AWS’ best practices for CloudBees, JenkinsCI, GitLab, GitHub using AWS SAM Pipelines. - [AWS Activate](https://aws.amazon.com/activate) AWS Activate offers startups free tools, resources, and more to quickly get started on AWS. Build and scale with up to $100,000 in AWS Activate credits - [aws/containers-roadmap: AWS Containers Roadmap](https://github.com/aws/containers-roadmap) This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS). +- [dashbird.io: Get started and keep using AWS for free](https://dashbird.io/blog/use-aws-free/) ## Blogs - [Jayendra's Blog 🌟🌟](https://jayendrapatil.com/) @@ -194,6 +195,7 @@ You can filter by topic using the toolbar above. - [What is Streaming Data?](https://aws.amazon.com/streaming-data/) - [dzone: Five Different Ways to Build AWS Infrastructure](https://dzone.com/articles/five-different-ways-to-build-aws-infrastructure) Before deciding on how to create your production platform, learn about the benefits and drawbacks of different ways to build your AWS infrastructure. - [AWS Architecture Blog: What to Consider when Selecting a Region for your Workloads](https://aws.amazon.com/blogs/architecture/what-to-consider-when-selecting-a-region-for-your-workloads/) +- [ben11kehoe.medium.com: Never put AWS temporary credentials in the credentials file (or env vars) — there’s a better way](https://ben11kehoe.medium.com/never-put-aws-temporary-credentials-in-env-vars-or-credentials-files-theres-a-better-way-25ec45b4d73e) **Stop putting AWS temporary credentials in ~/.aws/credentials or environment variables!** ## eBooks - [gocloudarchitects.com: AWS Certified Solutions Architect Associate Exam Guide](https://www.gocloudarchitects.com/free-csa-a-ebook/) @@ -222,6 +224,7 @@ You can filter by topic using the toolbar above. - [cast.ai: Keep your AWS Kubernetes costs in check with intelligent allocation (EKS)](https://cast.ai/blog/keep-your-aws-kubernetes-costs-in-check-with-intelligent-allocation) A guide to intelligently allocating Kubernetes costs with EKS - [thenewstack.io: Cloud Bill Risks of AWS Reserved Instances and Savings Plans](https://thenewstack.io/cloud-bill-risks-of-aws-reserved-instances-and-savings-plans/) - [dzone: A Guide on Estimating AWS EC2 Workloads for a Microservice Application](https://dzone.com/articles/a-guide-on-estimating-aws-ec2-workloads-for-a-micr) AWS EC2 instance costs can be a significant part of the cloud bill, so it's always a good idea to estimate the workloads using the AWS pricing calculator. +- [Visualize and gain insights into your AWS cost and usage with Cloud Intelligence Dashboards and CUDOS using Amazon QuickSight](https://aws.amazon.com/blogs/mt/visualize-and-gain-insights-into-your-aws-cost-and-usage-with-cloud-intelligence-dashboards-using-amazon-quicksight) ### AWS Calculator - [calculator.aws: AWS Total Cost of Ownership (TCO) Calculators](https://calculator.aws/) @@ -387,9 +390,10 @@ You can filter by topic using the toolbar above. - [New AWS Competency – AWS Migration](https://aws.amazon.com/blogs/aws/new-aws-competency-aws-migration/) - [Migrate Resources Between AWS Accounts](https://aws.amazon.com/blogs/architecture/migrate-resources-between-aws-accounts) -### AWS Database Migration Service +### AWS Database Migration Service DMS - [AWS Database Migration Service](https://aws.amazon.com/es/blogs/aws/aws-database-migration-service/) - [Whitepaper: Migrating Your Databases to AWS](https://aws.amazon.com/es/dms/learn-more/) +- [Replicate and transform data in Amazon Aurora PostgreSQL across multiple Regions using AWS DMS](https://aws.amazon.com/blogs/database/replicate-and-transform-data-in-amazon-aurora-postgresql-across-multiple-regions-using-aws-dms) ## AWS Redshift - [Tutorial: Tuning Table Design](http://docs.aws.amazon.com/redshift/latest/dg/tutorial-tuning-tables.html) In this tutorial, you will learn how to optimize the design of your tables. @@ -433,6 +437,7 @@ You can filter by topic using the toolbar above. - [gprakash-sharma.medium.com: AWS Site-to-Site VPN with NAT](https://gprakash-sharma.medium.com/aws-site-to-site-vpn-with-nat-8bb99f4653ab) - [Resolve DNS names of Network Load Balancer nodes to limit cross-Zone traffic](https://aws.amazon.com/blogs/networking-and-content-delivery/resolve-dns-names-of-network-load-balancer-nodes-to-limit-cross-zone-traffic) - [github.com/seligman/aws-ip-ranges: AWS's ip-ranges.json](https://github.com/seligman/aws-ip-ranges) AWS adds an extra 5.5M IPv4 addresses. Tracking the history and size of AWS's ip-ranges.json file. AWS provides a data file showing the current IP ranges their services use, called ip-ranges.json. This repository tracks changes to that file, and based off a trigger on the SNS topic automatically produces this chart showing how what percentage of the Internet's IPv4 address space AWS is in control of. +- [medium: Building a Global Network with AWS Transit Gateway](https://medium.com/avmconsulting-blog/building-a-global-network-with-aws-transit-gateway-7ab0e5222f12) Connecting branch and corporate offices into the AWS cloud to build a global network is necessary to provide ubiquitous accessibility for users. This solution uses AWS Transit Gateway, AWS Direct Connect, and AWS Accelerated Site-to-Site VPN to build a modern, secure, scalable, and cost-efficient WAN on top of the AWS global network. ## AWS Route 53 - [How do I transfer a domain to AWS from another registrar?](https://aws.amazon.com/premiumsupport/knowledge-center/transfer-domain-to-aws/) @@ -580,6 +585,7 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [cloudkatha.com: How to Configure AWS SQS Dead Letter Queue using CloudFormation](https://cloudkatha.com/how-to-configure-aws-sqs-dead-letter-queue-using-cloudformation/) - [cloudkatha.com: How to Create an S3 Bucket using CloudFormation](https://cloudkatha.com/how-to-create-an-s3-bucket-using-cloudformation/) - [cloudkatha.com: How to use CloudFormation to Create SNS Topic and Subscription](https://cloudkatha.com/how-to-use-cloudformation-to-create-sns-topic-and-subscription/) +- [cloudkatha.com: How to Create IAM Role using CloudFormation](https://cloudkatha.com/how-to-create-iam-role-using-cloudformation/) ## Infrastructure Code Template Generators - [aws.amazon.com: Amazon EC2 announces Spot Blueprints, an infrastructure code template generator to get started with EC2 Spot Instances](https://aws.amazon.com/about-aws/whats-new/2020/12/amazon-ec2-announces-spot-blueprints-an-infrastructure-code-template-generator-to-get-started-with-ec2-spot-instances/) @@ -704,6 +710,7 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa ### AWS Backup Service - [AWS Backup Service](https://aws.amazon.com/backup) - [medium: AWS Backup Service for Amazon RDS](https://medium.com/avmconsulting-blog/aws-backup-service-for-amazon-rds-3e6f5827aa66) +- [medium: AWS Backup Service for Amazon RDS](https://medium.com/avmconsulting-blog/aws-backup-service-for-amazon-rds-3e6f5827aa66) ## 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/) @@ -865,7 +872,7 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa ## Scripts - [AWS IP inventory](https://github.com/okelet/awsipinventory) Tool to generate an inventory of all IP addresses in use in an account, one or multiple VPC, or one or multiple subnet. -- [dev.to: How to Copy a Security Group with Rules from one AWS Account to Another account ?](https://dev.to/dineshrathee12/how-to-copy-a-security-group-with-rules-from-one-aws-account-to-another-account-36mb) +- [dev.to: How to Copy a Security Group with Rules from one AWS Account to Another account](https://dev.to/dineshrathee12/how-to-copy-a-security-group-with-rules-from-one-aws-account-to-another-account-36mb) - [CopySGFromOneAWSAccountToAnotherScript.py](https://github.com/dineshrathee12/CopySecurityGroupWithRulesFromOneAWSAccountToAnotherAWSAccount/blob/main/CopySGFromOneAWSAccountToAnotherScript.py) - [github.com/awslabs/assisted-log-enabler-for-aws: Assisted Log Enabler - Find resources that are not logging, and turn them on](https://github.com/awslabs/assisted-log-enabler-for-aws) - https://github.com/dannysteenman/aws-toolbox A collection of useful Shell & Python scripts that make your DevOps life easier in AWS. Furthermore you'll also find a list of links that point to awesome DevOps tools from other creators. diff --git a/docs/azure.md b/docs/azure.md index 3e33da6c..9543b7b9 100644 --- a/docs/azure.md +++ b/docs/azure.md @@ -1,5 +1,6 @@ # Microsoft Azure - [Azure](#azure) +- [Understand Azure Load Balancing](#understand-azure-load-balancing) - [Microsoft Linux Distribution CBL Mariner](#microsoft-linux-distribution-cbl-mariner) - [ARM Templates](#arm-templates) - [Azure DevOps](#azure-devops) @@ -16,8 +17,6 @@ - [Azure Security](#azure-security) - [WinGet Windows Package Manager CLI](#winget-windows-package-manager-cli) - [Windows 11](#windows-11) -- [ASP.NET Core](#aspnet-core) -- [Polly .NET resilience and transient-fault-handling library](#polly-net-resilience-and-transient-fault-handling-library) - [Azure API Management](#azure-api-management) ## Azure @@ -46,6 +45,10 @@ - [akv2k8s.io 🌟](https://akv2k8s.io/) Azure Key Vault to Kubernetes (akv2k8s) makes Azure Key Vault secrets, certificates and keys available in Kubernetes and/or your application - in a simple and secure way - [k21academy.com: Azure RBAC Vs Azure Policies Vs Azure Blueprints](https://k21academy.com/microsoft-azure/azure-rbac-vs-azure-policies-vs-azure-blueprints/) +## Understand Azure Load Balancing +- [docs.microsoft.com: Understand Azure Load Balancing. Decision tree for load balancing in Azure](https://docs.microsoft.com/en-us/azure/architecture/guide/technology-choices/load-balancing-overview) +- [mvark.blogspot.com: Comparison of Azure Front Door, Traffic Manager, Application Gateway & Load Balancer](http://mvark.blogspot.com/2019/12/comparison-of-azure-front-door-traffic.html) + ## Microsoft Linux Distribution CBL Mariner - [thenewstack.io: Deploying Microsoft’s New Linux Distribution as a VM is Not Easy](https://thenewstack.io/deploying-microsofts-new-linux-distribution-as-a-vm-is-not-easy/) - [github.com/microsoft/CBL-Mariner](https://github.com/microsoft/CBL-Mariner) Linux OS for Azure 1P services and edge appliances @@ -76,6 +79,7 @@ - [letsdevops.net: Introduction to Azure DevOps for Beginners - Create CI/CD Pipelines, Setup Repository 🌟](https://www.letsdevops.net/post/letsdevops-introduction-to-azure-devops-for-beginners) - [kevinrchant.com: Increase in demand for Data Platform automation](https://www.kevinrchant.com/2021/09/16/increase-in-demand-for-data-platform-automation/) - [kevinrchant.com: Introducing my Azure DevOps templates for Data Platform deployments](https://www.kevinrchant.com/2021/09/14/t-sql-tuesday-142-introducing-my-azure-devops-templates-for-data-platform-deployments/) +- [dotnetcurry.com: Customization of Work Items in Azure DevOps and Azure DevOps Server 2020](https://www.dotnetcurry.com/devops/workitem-customize-azure-devops-server-2020) ## GitOps with Azure Arc - [Azure Arc overview](https://docs.microsoft.com/en-us/azure/azure-arc/overview) @@ -106,6 +110,7 @@ - [deepinstinct.com: What makes powershell a challenge for cybersecurity solutions? 🌟](https://www.deepinstinct.com/2021/07/01/what-makes-powershell-a-challenge-for-cybersecurity-solutions/) - [fedoramagazine.org: PowerShell on Linux? A primer on Object-Shells](https://fedoramagazine.org/powershell-on-linux-a-primer-on-object-shells/) - [sqlservercentral.com: Powershell Day by Day: Adding Help to Scripts](https://www.sqlservercentral.com/articles/powershell-day-by-day-adding-help-to-scripts) +- [dahlbyk/posh-git](https://github.com/dahlbyk/posh-git) A PowerShell environment for Git ### Powershell repos - [Abhisheksinhacoder/collection-of-useful-scripts](https://github.com/Abhisheksinhacoder/collection-of-useful-scripts) @@ -141,14 +146,6 @@ ## Windows 11 - [thenewstack.io: This Week in Programming: Windows Opens Up to Android Developers](https://thenewstack.io/this-week-in-programming-windows-opens-up-to-android-developers/) -## ASP.NET Core -- [blog.jetbrains.com: Getting Started with ASP.NET Core and gRPC](https://blog.jetbrains.com/dotnet/2021/07/19/getting-started-with-asp-net-core-and-grpc/) -- [dzone: Building a RESTful Service Using ASP.NET Core and dotConnect for PostgreSQL](https://dzone.com/articles/building-a-restful-service-using-aspnet-core-and-d) This article looks at RESTful architecture and how we can implement a RESTful service using ASP.NET Core and dotConnect for PostgreSQL. - -## Polly .NET resilience and transient-fault-handling library -- [App-vNext/Polly](https://github.com/App-vNext/Polly) Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. -- [medium: Microservices Resilience and Fault Tolerance with applying Retry and Circuit-Breaker patterns using Polly](https://medium.com/aspnetrun/microservices-resilience-and-fault-tolerance-with-applying-retry-and-circuit-breaker-patterns-c32e518db990) - ## Azure API Management - [azure.microsoft.com: Azure API Management](https://azure.microsoft.com/en-us/services/api-management) - [jmfloreszazo.com: Monetizar un API, con Azure API Management](https://jmfloreszazo.com/monetizar-un-api-con-azure-api-management/) diff --git a/docs/cheatsheets.md b/docs/cheatsheets.md index f169f63c..f3556897 100644 --- a/docs/cheatsheets.md +++ b/docs/cheatsheets.md @@ -69,6 +69,7 @@ - [developers.redhat.com: MicroProfile Rest Client Cheat Sheet](https://developers.redhat.com/cheat-sheets/microprofile-rest-client) - [cheat.sh 🌟](https://cheat.sh/) - [bash.cyberciti.biz: Man command](https://bash.cyberciti.biz/guide/Man_command) +- [opensource.com: Linux logrotate cheat sheet](https://opensource.com/downloads/logrotate-cheat-sheet) ## Google Search - [wikipedia: Google Search](https://en.wikipedia.org/wiki/Google_Search) @@ -114,6 +115,7 @@ - [k8sref.io](https://www.k8sref.io/) Kubernetes Reference - [dev-k8sref-io.web.app 🌟](https://dev-k8sref-io.web.app/) Imports paths are not always easy to find for a resource. Get some help from this doc. - [Kubernetes Research. Research documents on node instance types, managed services, ingress controllers, CNIs, etc. 🌟](https://learnk8s.io/research) A research hub to collect all knowledge around Kubernetes. Those are in-depth reports and comparisons designed to drive your decisions. Should you use GKE, AKS, EKS? How many nodes? What instance type? - [Kubernetes Glossary 🌟](https://www.bluematador.com/learn/kubernetes-glossary) +- [mirantis.com: Kubernetes Cheat Sheet](https://www.mirantis.com/blog/kubernetes-cheat-sheet) ## Kubectl Cheat Sheets * [developers.redhat.com: Kubernetes Cheat Sheet](https://developers.redhat.com/cheat-sheets/kubernetes/) @@ -140,6 +142,9 @@ * [computingforgeeks.com: Kubectl Cheat Sheet for Kubernetes Admins & CKA Exam Prep](https://computingforgeeks.com/kubectl-cheat-sheet-for-kubernetes-cka-exam-prep/) * [mirantis.com: Kubernetes Cheat Sheet](https://www.mirantis.com/blog/kubernetes-cheat-sheet) * [myfuturehub.com: Must Keep these Kubernetes Commands handy](https://myfuturehub.com/must-keep-these-kubernetes-commands-handy/) +* `--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` ## Docker Cheat Sheets - [docker.com: Docker Cheat Sheet🌟](https://www.docker.com/sites/default/files/d8/2019-09/docker-cheat-sheet.pdf) diff --git a/docs/container-managers.md b/docs/container-managers.md index 6fda3e01..4f433eec 100644 --- a/docs/container-managers.md +++ b/docs/container-managers.md @@ -80,6 +80,10 @@ - [pythonspeed.com: Using Podman with BuildKit, the better Docker image builder 🌟](https://pythonspeed.com/articles/podman-buildkit/) - [devopscube.com: Podman Tutorial For Beginners: Step by Step Guides 🌟](https://devopscube.com/podman-tutorial-beginners/) - [kubernetespodcast.com: Podman, with Daniel Walsh and Brent Baude](https://kubernetespodcast.com/episode/164-podman/) +- [redhat.com: How to use auto-updates and rollbacks in Podman](https://www.redhat.com/sysadmin/podman-auto-updates-rollbacks) + - New auto-update capabilities enable you to use Podman in edge use cases, update workloads once they are connected to the network, and roll back failures to a known-good state. + - Podman: the best tool for running containers on the edge servers. On the edge you want no human intervention. Podman+systemd support auto-update of container image & rollback, when update fails. +- [opensource.com: Get podman up and running on Windows using Linux](https://opensource.com/article/21/10/podman-windows-wsl) Enable WSL 2 guests to run the podman, skopeo, or buildah commands from within Windows using the Linux distribution of your choice. #### 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/customer.md b/docs/customer.md index dbdda3b2..5787cc98 100644 --- a/docs/customer.md +++ b/docs/customer.md @@ -3,6 +3,7 @@ - [BMW ConnectedDrive and OpenShift](#bmw-connecteddrive-and-openshift) - [BMW InnovationLab](#bmw-innovationlab) - [GAIA-X](#gaia-x) +- [Audi Kubika-O](#audi-kubika-o) - [Carrefour Spain](#carrefour-spain) - [Decathlon](#decathlon) - [Add your Cloud Native Project here](#add-your-cloud-native-project-here) @@ -41,6 +42,9 @@ ### GAIA-X - [GAIA-X: A Federated Data Infrastructure for Europe](https://www.bmwi.de/Redaktion/EN/Dossier/gaia-x.html) +## Audi Kubika-O +- [redhat.com: Audi builds developer environment with Red Hat OpenShift](https://www.redhat.com/en/resources/audi-case-study) Audi decided to use Red Hat OpenShift, an enterprise Kubernetes platform, as the foundation of **Kubika-O**, its new self-service developer environment, to speed and scale delivery of innovative projects. + ## Carrefour Spain - [Efficient Java in the cloud with Quarkus. Carrefour Spain’s test: Quarkus vs. Spring Boot](https://horizons.carrefour.com/efficient-java-in-the-cloud-with-quarkus) "This move will help our applications to become scalable, real time, resilient and, all in all, provide a better experience to our customers" diff --git a/docs/databases.md b/docs/databases.md index 6598ece4..f4c0adc8 100644 --- a/docs/databases.md +++ b/docs/databases.md @@ -45,6 +45,7 @@ - [Percona PostgreSQL Operator](#percona-postgresql-operator) - [Rockset](#rockset) - [Clickhouse](#clickhouse) +- [Apache Ignite](#apache-ignite) - [Tools](#tools) - [Time-Series Database](#time-series-database) - [Data Analytics and Visualization Tools](#data-analytics-and-visualization-tools) @@ -66,7 +67,7 @@ * [percona.com: Autoscaling Databases in Kubernetes for MongoDB, MySQL, and PostgreSQL](https://www.percona.com/blog/2021/06/23/autoscaling-databases-in-kubernetes-for-mongodb-mysql-and-postgresql/) * [levelup.gitconnected.com: How to design a system to scale to your first 100 million users](https://levelup.gitconnected.com/how-to-design-a-system-to-scale-to-your-first-100-million-users-4450a2f9703d) Think Big, Do Small, Learn Fast * [magalix.com: Kubernetes And Databases 🌟](https://www.magalix.com/blog/kubernetes-and-database) -* [towardsdatascience.com: SQL vs. NoSQL: How to Select from 12 Database Types](https://towardsdatascience.com/datastore-choices-sql-vs-nosql-database-ebec24d56106) When to use SQL vs. NoSQL database? Deep dive, differences, decision tree, and cloud cheatsheet to choose the best database for your data type and use case. +* [towardsdatascience.com: SQL vs. NoSQL: How to Select from 12 Database Types 🌟🌟](https://towardsdatascience.com/datastore-choices-sql-vs-nosql-database-ebec24d56106) When to use SQL vs. NoSQL database? Deep dive, differences, decision tree, and cloud cheatsheet to choose the best database for your data type and use case. * [andrewlock.net: Running database migrations when deploying to Kubernetes 🌟](https://andrewlock.net/deploying-asp-net-core-applications-to-kubernetes-part-7-running-database-migrations/) Deploying ASP.NET Core applications to Kubernetes - Part 7. Learn how to run database migrations with init containers and Jobs in Kubernetes. * [redislabs.com: What is a “Databaseless” (DBLess) Architecture, and Why It’s the Future 🌟](https://redislabs.com/blog/dbless-architecture-and-why-its-the-future/) DBLess architecture provides a new approach to data pipeline and backend architecture. Just like the terms serverless, stateless, and NoSQL, it attempts to provide more options for architects to think about. * [red-gate.com: Designing Highly Scalable Database Architectures](https://www.red-gate.com/simple-talk/databases/sql-server/performance-sql-server/designing-highly-scalable-database-architectures/) @@ -75,6 +76,8 @@ * [thenewstack.io: Database-as-a-Service: A Key Technology for Agile Growth](https://thenewstack.io/database-as-a-service-a-key-technology-for-agile-growth/) * [cloud.redhat.com: OpenShift Commons Briefing: Database Disaster Recovery Made Easy with Annette Clewett (Red Hat) and Andrew L'Ecuyer (Crunchy Data)](https://cloud.redhat.com/blog/openshift-commons-briefing-database-disaster-recovery-made-easy-with-annette-clewett-red-hat-and-andrew-lecuyer-crunchy-data) * [thenewstack.io: A Case for Databases on Kubernetes from a Former Skeptic](https://thenewstack.io/a-case-for-databases-on-kubernetes-from-a-former-skeptic) +* [hackernoon.com: Practical Transaction Handling in Microservice Architecture](https://hackernoon.com/practical-transaction-handling-in-microservice-architecture-5x1631ke) +* [thenewstack.io: Data on Kubernetes: Operators, Tools Need Standardization](https://thenewstack.io/data-on-kubernetes-operators-tools-need-standardization/) ## How to choose the right database for your service * [medium.com: How to choose the right database for your service 🌟](https://medium.com/wix-engineering/how-to-choose-the-right-database-for-your-service-97b1670c5632) @@ -879,6 +882,9 @@ oc adm policy add-scc-to-user anyuid system:serviceaccount:pgophub:default - [radondb/radondb-clickhouse-kubernetes](https://github.com/radondb/radondb-clickhouse-kubernetes) Open Source,High Availability Cluster,based on ClickHouse - [tech.marksblogg.com: Monitor ClickHouse column oriented database with Prometheus & Grafana](https://tech.marksblogg.com/clickhouse-prometheus-grafana.html) +## Apache Ignite +- [Apache Ignite](https://ignite.apache.org/) Distributed Database For High-Performance Computing With In-Memory Speed +- [dzone: Stateful Microservices With Apache Ignite](https://dzone.com/articles/stateful-microservices-with-apache-ignite) This article explains how to implement stateful microservices architecture for Spring Boot applications with distributed database Apache Ignite. ## Tools - [SHMIG](https://github.com/mbucc/shmig) A database migration tool written in BASH consisting of just one file - shmig. @@ -909,5 +915,7 @@ oc adm policy add-scc-to-user anyuid system:serviceaccount:pgophub:default

Postgres is what happens when tech gets so good, for so long, it becomes boring. Dope since the 80s. https://t.co/zeoagBfMvW

— Kelsey Hightower (@kelseyhightower) December 28, 2020

Stack Overflow's SQL Server is at 4% CPU with 500M queries/day https://t.co/wX9Od749ik https://t.co/1BAuEV9VgT

— Lukas Eder (@lukaseder) August 18, 2021
+ +

PostgreSQL for relational.
PromQL for monitoring.

Two big alignments across the industry.

— Jaana Dogan at KubeCon ヤナ ドガン (@rakyll) October 13, 2021
\ No newline at end of file diff --git a/docs/demos.md b/docs/demos.md index 941312c8..7aca43c3 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -62,7 +62,7 @@ - [PetClinic Docker images](#petclinic-docker-images) - [OpenShift.io Samples](#openshiftio-samples) - [AWS Demos](#aws-demos) -- [Azure DevOps Demos](#azure-devops-demos) +- [Azure DevOps Demos. Azure DevOps Pipelines](#azure-devops-demos-azure-devops-pipelines) - [Google DevOps Demos. Custom Samples and Cloud Code](#google-devops-demos-custom-samples-and-cloud-code) - [GitOps with Anthos Config Management](#gitops-with-anthos-config-management) - [SpringBoot Demos](#springboot-demos) @@ -298,6 +298,7 @@ * [developers.redhat.com: Containerize and deploy Strapi CMS applications on Kubernetes and Red Hat OpenShift](https://developers.redhat.com/blog/2021/04/09/containerize-and-deploy-strapi-applications-on-kubernetes-and-red-hat-openshift/) * [developers.redhat.com: Build lean Java containers with the new Red Hat Universal Base Images OpenJDK runtime images 🌟](https://developers.redhat.com/articles/2021/05/24/build-lean-java-containers-new-red-hat-universal-base-images-openjdk-runtime) * [youtube: No YAML! Kubernetes done the easy way | DevNation Tech Talk](https://www.youtube.com/watch?v=jBDmX85IjLM&ab_channel=RedHatDeveloper) +* [developers.redhat.com: New application samples in Red Hat OpenShift 4.8](https://developers.redhat.com/articles/2021/10/01/new-application-samples-red-hat-openshift-48) Check out all of the new and updated samples that comes with OpenShift 4.8. Try any or all of these samples within minutes of downloading your free openshift cluster. ### Developer Sandbox * [Developer Sandbox for Red Hat OpenShift 🌟](https://developers.redhat.com/developer-sandbox) Get free access to the Developer Sandbox for Red Hat OpenShift and deploy your application code as a container on this self-service, cloud-hosted experience. Skip installations and deployment and jump directly into OpenShift. @@ -597,13 +598,14 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/redhatspain - [itnext.io: Hydrating a Data Lake using Log-based Change Data Capture (CDC) with Debezium, Apicurio, and Kafka Connect on AWS](https://itnext.io/hydrating-a-data-lake-using-log-based-change-data-capture-cdc-with-debezium-apicurio-and-kafka-799671e0012f) Import data from Amazon RDS into Amazon S3 using Amazon MSK, Apache Kafka Connect, Debezium, Apicurio Registry, and Amazon EKS - [jfrog.com: 5 Steps to Hosting Your Application on Amazon Cloud Container Service](https://jfrog.com/blog/5-steps-to-hosting-your-application-on-amazon-cloud-container-service/) -## Azure DevOps Demos +## Azure DevOps Demos. Azure DevOps Pipelines - [Azure DevOps Demo Generator 🌟](https://azuredevopsdemogenerator.azurewebsites.net/) Azure DevOps Demo Generator helps you create projects on your Azure DevOps Organization with pre-populated sample content that includes source code, work items, iterations, service endpoints, build and release definitions based on a template you choose. The purpose of this system is to simplify working with the [Azure Devops hands-on-labs 🌟](https://www.azuredevopslabs.com/), demos and other education material provided by the Microsoft Azure Marketing team. - [Azure DevOps Demo Generator is now open source](https://devblogs.microsoft.com/devops/azure-devops-demo-generator-is-now-open-source/) - [Get started creating and populating demo Azure DevOps Services projects](https://docs.microsoft.com/en-us/azure/devops/demo-gen/use-demo-generator-v2?view=azure-devops) - [reddit.com: Automate Infrastructure Deployments on Microsoft Azure with Terraform and Jenkins](https://www.reddit.com/r/Terraform/comments/h0tdq3/automate_infrastructure_deployments_on_microsoft/) - [docs.microsoft.com: Deploy Spring microservices to Azure](https://docs.microsoft.com/en-us/learn/modules/azure-spring-cloud-workshop) - [davidsr.me: Deploy Azure WAF with Terraform and Azure DevOps](https://davidsr.me/deploy-azure-waf-with-terraform-and-azure-devops/) +- [mbenko/myYAML 🌟](https://github.com/mbenko/myYAML) This project contains the initial code for a course on [YAML Pipelines](https://www.linkedin.com/learning/azure-devops-continuous-delivery-with-yaml-pipelines). ## Google DevOps Demos. Custom Samples and Cloud Code - [Terraform Automation Demo using Google Cloud Provider](https://github.com/TerraHubCorp/terraform-google-automation-demo) @@ -619,6 +621,7 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/redhatspain - [tanzu.vmware.com: Microservices with Spring Cloud Kubernetes Reference Architecture 🌟](https://tanzu.vmware.com/developer/guides/kubernetes/app-enhancements-spring-k8s/) - [Salaboy/From Monolith to K8s](https://github.com/Salaboy/from-monolith-to-k8s) Workshop-style guide for rearchitecting a Java Monolith application to a Cloud Native architecture running in Kubernetes - [dyser/kubernetes-intro](https://github.com/dsyer/kubernetes-intro) +- [piomin/sample-spring-microservices-kubernetes: Microservices with Spring Boot and Spring Cloud on Kubernetes Demo Project - piotrminkowski.com 🌟](https://github.com/piomin/sample-spring-microservices-kubernetes) sample spring boot application that uses some features provided by spring cloud kubernetes, spring cloud ribbon and zuul proxy deployed on Kubernetes ## Quarkus Demos - [Develop and test a Quarkus client on Red Hat CodeReady Containers with Red Hat Data Grid 8.0](https://developers.redhat.com/blog/2020/06/19/develop-and-test-a-quarkus-client-on-red-hat-codeready-containers-with-red-hat-data-grid-8-0/) diff --git a/docs/devops.md b/docs/devops.md index a80b793f..b026eff0 100644 --- a/docs/devops.md +++ b/docs/devops.md @@ -172,6 +172,8 @@ * [dev.to: DevOps Is Not Automation](https://dev.to/run-x/devops-is-not-automation-2amo) * [intellipaat.com: What Does a DevOps Engineer Do? 🌟](https://intellipaat.com/blog/what-does-a-devops-engineer-do/) DevOps assimilates development and operations teams to improve the collaboration process. **A DevOps Engineer will work with IT developers to facilitate better coordination among operations, development, and testing functions by automating and streamlining the integration and deployment processes.** * [siliconangle.com: ‘DevOps for Dummies’ author Emily Freeman introduces revolutionary model for modern software development](https://siliconangle.com/2021/09/29/devops-dummies-author-emily-freeman-introduces-revolutionary-model-modern-software-development-awsq3/) +* [thenewstack.io: Microservices Transformed DevOps — Why Security Is Next](https://thenewstack.io/microservices-transformed-devops-why-security-is-next/) +* [thenewstack.io: DevOps at the Crossroads: The Future of Software Delivery](https://thenewstack.io/devops-at-the-crossroads-the-future-of-software-delivery/)
[![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 e0074247..0a6fbfe8 100644 --- a/docs/devsecops.md +++ b/docs/devsecops.md @@ -35,6 +35,7 @@ - [Alternatives with Kubernetes External Secrets](#alternatives-with-kubernetes-external-secrets) - [Serverless Security Best Practices](#serverless-security-best-practices) - [Docker Images & Container Security](#docker-images--container-security) + - [Container security best practices](#container-security-best-practices) - [Pod Security Policies](#pod-security-policies) - [Kubernetes Network Policies](#kubernetes-network-policies) - [Static Analysis SAST](#static-analysis-sast) @@ -117,6 +118,8 @@ - [dzone: Top 10 Application Security Articles to Read Now](https://dzone.com/articles/top-10-application-security-articles) See the 10 most popular articles on Application Security with topics covering bot attacks, resolving thefts, testing tools, security best practices, and more! - [redhat.com: 5 ways for teams to create an automation-first mentality](https://www.redhat.com/sysadmin/automation-first-mentality) DevSecOps can provide a competitive edge for your organization. Use these five strategies to get started. - [devops.com: Transform Mobile DevOps into Mobile DevSecOps](https://devops.com/transform-mobile-devops-into-mobile-devsecops/) +- [softwebsolutions.com: What is DevSecOps and why your business needs it](https://www.softwebsolutions.com/resources/devops-security-tools-benefits.html) +- [containerjournal.com: Siloscape: The Dark Side of Kubernetes](https://containerjournal.com/features/siloscape-the-dark-side-of-kubernetes/) **Siloscape is the first known malware to operate exclusively from within a container and target backdoors inside poorly configured Kubernetes clusters. Prizmant details how the malware collects data at the cluster level, making any hosted databases, user credentials and any business-critical data inside an easy and obvious target for the autonomous attacker.** ## Authentication and Authorization - [thenewstack.io: How Do Authentication and Authorization Differ?](https://thenewstack.io/how-do-authentication-and-authorization-differ/) @@ -183,6 +186,7 @@ - [redeszone.net: OWASP ZAP, audita la seguridad de webs y evita vulnerabilidades](https://www.redeszone.net/tutoriales/seguridad/owasp-zap-auditar-seguridad-web/) - [sonarqube.org: OWASP Top 10 - We’ve got you covered!](https://www.sonarqube.org/features/security/owasp/) See issues in the 10 most critical security risk categories in your web applications. - [cloud.google.com: OWASP Top 10 mitigation options on Google Cloud 🌟](https://cloud.google.com/architecture/owasp-top-ten-mitigation#product_overviews) Terrific guidance in this paper that explains each attack vector and which product(s) can help +- [thenewstack.io: Latest OWASP Top 10 Surfaces Web Development Security Bugs](https://thenewstack.io/the-latest-owasp-top-10-looks-a-lot-like-the-old-owasp/) ## StackRox - [stackrox.com](https://www.stackrox.com/) @@ -194,6 +198,7 @@ - [iximiuz.com: The need for slimmer containers. Scanning official Python images with Snyk](https://iximiuz.com/en/posts/thick-container-vulnerabilities/) - [gkovan.medium.com: A Zero Trust Approach for Securing the Supply Chain of Microservices Packaged as Container Images (sigstore, kyverno, openshift tekton, quarkus) 🌟](https://gkovan.medium.com/a-zero-trust-approach-for-securing-the-supply-chain-of-microservices-packaged-as-container-images-89d2f5b7293b) - [thenewstack.io: Find Vulnerabilities in Container Images with Docker Scan](https://thenewstack.io/find-vulnerabilities-in-container-images-with-docker-scan/) + ### Securing Kubernetes With Anchore - [Securing Kubernetes With Anchore](https://anchore.com/kubernetes/) - [Anchore: Secure Container Based CI/CD Workflows](https://anchore.com/cicd/) @@ -342,6 +347,9 @@ - [GoogleContainerTools/container-structure-test](https://github.com/GoogleContainerTools/container-structure-test) validate the structure of your container images - [dynatrace.com: Container security: What it is, why it’s tricky, and how to do it right](https://www.dynatrace.com/news/blog/what-is-container-security/) +### Container security best practices +- [sysdig.com: Container security best practices: Ultimate guide 🌟](https://sysdig.com/blog/container-security-best-practices) + ## 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. diff --git a/docs/docker.md b/docs/docker.md index cd0bb64e..d8b9d953 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -110,6 +110,8 @@ * [dev.to: How to create a production Docker image](https://dev.to/abdorah/how-to-create-production-docker-image-ready-for-deployment-4bbe) * [dev.to: How to run docker on Windows without Docker Desktop](https://dev.to/_nicolas_louis_/how-to-run-docker-on-windows-without-docker-desktop-hik) * [dev.to: Beginner's guide to Docker and Docker CLI commands](https://dev.to/paru429/beginner-s-guide-to-docker-and-docker-cli-commands-1p75) +* [testdriven.io: Docker Best Practices for Python Developers](https://testdriven.io/blog/docker-best-practices/) +* [freecodecamp.org: Learn How to Deploy 12 Apps to AWS, Azure, & Google Cloud](https://www.freecodecamp.org/news/learn-how-to-deploy-12-apps-to-aws-azure-google-cloud/) ## Docker Swarm - [linkedin.com: Docker Series : Docker Swarm - Lionel GURRET](https://www.linkedin.com/pulse/docker-series-swarm-lionel-gurret/) diff --git a/docs/dotnet.md b/docs/dotnet.md index d373cd75..07881ee6 100644 --- a/docs/dotnet.md +++ b/docs/dotnet.md @@ -1,4 +1,33 @@ # Microsoft .NET +- [Introduction](#introduction) +- [ASP.NET Core](#aspnet-core) +- [Polly .NET resilience and transient-fault-handling library](#polly-net-resilience-and-transient-fault-handling-library) +- [Paradigm framework](#paradigm-framework) +- [Kubernetes for ASP.NET Core Developers](#kubernetes-for-aspnet-core-developers) +- [Deploying ASP.NET Core applications to Kubernetes](#deploying-aspnet-core-applications-to-kubernetes) + +## Introduction - [wikipedia.org: .NET](https://en.wikipedia.org/wiki/.NET) .NET (previously named .NET Core) is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. It is a cross-platform successor to .NET Framework. The project is primarily developed by Microsoft employees by way of the .NET Foundation, and released under the MIT License. - https://dotnet.microsoft.com - https://github.com/dotnet/core + +## ASP.NET Core +- [blog.jetbrains.com: Getting Started with ASP.NET Core and gRPC](https://blog.jetbrains.com/dotnet/2021/07/19/getting-started-with-asp-net-core-and-grpc/) +- [dzone: Building a RESTful Service Using ASP.NET Core and dotConnect for PostgreSQL](https://dzone.com/articles/building-a-restful-service-using-aspnet-core-and-d) This article looks at RESTful architecture and how we can implement a RESTful service using ASP.NET Core and dotConnect for PostgreSQL. +- [enlear.academy: Repository Pattern and Unit of Work with ASP.NET Core Web API](https://enlear.academy/repository-pattern-and-unit-of-work-with-asp-net-core-web-api-6802e1aa4f78) + +## Polly .NET resilience and transient-fault-handling library +- [App-vNext/Polly](https://github.com/App-vNext/Polly) Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. +- [medium: Microservices Resilience and Fault Tolerance with applying Retry and Circuit-Breaker patterns using Polly](https://medium.com/aspnetrun/microservices-resilience-and-fault-tolerance-with-applying-retry-and-circuit-breaker-patterns-c32e518db990) +- [procodeguide.com: Build Resilient Microservices (Web API) using Polly in ASP.NET Core](https://procodeguide.com/programming/polly-in-aspnet-core/) + +## Paradigm framework +- [Paradigm framework](https://www.paradigm.net.co) Built for NetCore, and featuring its own ORM and code generation tools, Paradigm sets the stage for a new breed of high-performance, multiplatform applications. +- Paradigm Framework is a .net core Enterprise libraries, ORM and code scaffolding tool. + +## Kubernetes for ASP.NET Core Developers +- [dotnetcurry.com: Kubernetes for ASP.NET Core Developers – Introduction, Architecture, Hands-On](https://www.dotnetcurry.com/aspnet-core/kubernetes-for-developers) + +## Deploying ASP.NET Core applications to Kubernetes +- [andrewlock.net: Series: Deploying ASP.NET Core applications to Kubernetes with Helm 🌟](https://andrewlock.net/series/deploying-asp-net-core-applications-to-kubernetes/) +- [dzone: CI/CD as a Code for .NET Core Application and Kubernetes 🌟](https://dzone.com/articles/cicd-as-a-code-for-net-core-application-and-kubern) The process of building a simple CI/CD pipeline for existing .net core application to moving it to Azure Kubernetes Services using Azure DevOps. diff --git a/docs/elearning.md b/docs/elearning.md index 1792fd1a..c1771db6 100644 --- a/docs/elearning.md +++ b/docs/elearning.md @@ -30,6 +30,7 @@ * [codewars.com](https://www.codewars.com) Improve your skills by training with others on real code challenges * [riptutorial.com 🌟](https://riptutorial.com/) Learn programming through books and examples - [eBooks by Tags (PDF) 🌟](https://riptutorial.com/ebook) * [Cloud DevJam](https://www.techgig.com/googlecloud) Cloud DevJam is an interactive cloud-learning platform that allows enterprise IT professionals to learn and upskill on Google Cloud.​They can start their learning journey by choosing from various cloud learning modules. These modules provide them with the latest in Google Cloud technologies. One of these is the Network and Security learning track. +* [hashicorp.com: HashiCorp Learning Resources Reference Guide 🌟](https://www.hashicorp.com/blog/hashicorp-learning-resources-reference-guide) Read this curated list of HashiCorp learning resources to help practitioners and organizations better understand the cloud operating model. ## Opinions * [I'm AWS certified? Should you trust me?](https://code.joejag.com/2021/i-am-aws-certified-should-you-trust-me.html) \ No newline at end of file diff --git a/docs/finops.md b/docs/finops.md index dcf29fe3..2cab6a00 100644 --- a/docs/finops.md +++ b/docs/finops.md @@ -3,6 +3,7 @@ - [Books](#books) - [Kubernetes Governance and Cost Management for the Cloud-Native Enterprise](#kubernetes-governance-and-cost-management-for-the-cloud-native-enterprise) - [Replex](#replex) +- [Cost Optimization Tools](#cost-optimization-tools) ## Introduction - [FinOps Foundation: FinOps.org](https://www.finops.org/) Collaborative, Real-Time Cloud Financial Management @@ -26,4 +27,7 @@ ### Replex - [replex.io](https://www.replex.io/) - [replex.io: An Introduction to Kubernetes FinOps](https://www.replex.io/blog/an-introduction-to-kubernetes-finops) FinOps is a cross domain discipline that represents a set of tools, best practices and processes aimed towards making software and infrastructure more cost effective. In this article we provide an introduction to Kubernetes Finops. + +## Cost Optimization Tools +- [CAST AI](https://cast.ai/) cuts your cloud bill automatically so engineers can focus on building a better product \ No newline at end of file diff --git a/docs/flux.md b/docs/flux.md index 2a04ee60..31b22c4e 100644 --- a/docs/flux.md +++ b/docs/flux.md @@ -23,3 +23,4 @@ - Repository - Deployment with a script - Flux +- [cncf.io: Flux: Server-side reconciliation is coming](https://www.cncf.io/blog/2021/10/07/server-side-reconciliation-is-coming/) Server-side reconciliation will make Flux more performant, improve overall observability and going forward will allow us to add new capabilities, like being able to preview local changes to manifests without pushing to upstream. \ No newline at end of file diff --git a/docs/git.md b/docs/git.md index e5ea0dbd..647e920f 100644 --- a/docs/git.md +++ b/docs/git.md @@ -134,6 +134,8 @@ * [css-tricks.com: Creating the Perfect Commit in Git](https://css-tricks.com/creating-the-perfect-commit-in-git/) * [freecodecamp.org: Git for Professionals – Free Version Control Course](https://www.freecodecamp.org/news/git-for-professionals/) * [dev.to: Open Source: Multiple branches and git merges](https://dev.to/okimotomizuho/open-source-multiple-branches-and-git-merges-2f69) +* [towardsdatascience.com: A Git cheatsheet that all coders need](https://towardsdatascience.com/a-git-cheatsheet-that-all-coders-need-bf8ad4d91576) Ever accidentally deleted files or necessary code? Or do you wish to look back at an older version of your code? +* [css-tricks.com: Better Collaboration With Pull Requests](https://css-tricks.com/better-collaboration-with-pull-requests/) ## Cherry-picking * [opensource.com: 3 reasons I use the Git cherry-pick command](https://opensource.com/article/21/3/git-cherry-pick) Cherry-picking solves a lot of problems in Git repositories. Here are three ways to fix your mistakes with git cherry-pick. @@ -298,6 +300,8 @@ git push origin -f * [about.gitlab.com: The new Git default branch name](https://about.gitlab.com/blog/2021/03/10/new-git-default-branch-name/) * [about.gitlab.com: How GitLab's 5 new code review features will make life easier](https://about.gitlab.com/blog/2021/09/09/5-code-review-features/) * [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/) ### GitLab Collective - [GitLab Collective 🌟](https://stackoverflow.com/collectives/gitlab) Discover and share knowledge about version control, CI/CD, DevSecOps, and all-remote workflows diff --git a/docs/gitops.md b/docs/gitops.md index 6d3c6b61..3349bcee 100644 --- a/docs/gitops.md +++ b/docs/gitops.md @@ -97,6 +97,8 @@ - [containerjournal.com: The 4 Levels of GitOps Maturity](https://containerjournal.com/features/the-4-levels-of-gitops-maturity/) - [thenewstack.io: How to Get the Most out of GitOps](https://thenewstack.io/how-to-get-the-most-out-of-gitops) **Just as Kubernetes was accepted as the best way to do cloud native applications, GitOps is gaining recognition as the best way to do Kubernetes.** - [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/)
[![gitops in a nutshell](images/GitOps-in-a-nutshell.png)](https://www.unifiedguru.com/gitops-and-the-cloud-operating-model-vmware-cloud-community/) @@ -182,7 +184,9 @@ - [hashicorp.com: Using Waypoint Runners To Enable GitOps Workflows](https://www.hashicorp.com/blog/using-waypoint-runners-to-enable-gitops-workflows) Waypoint runners perform builds, deployments, poll for Git repository changes, and allow deployments for any platform. ### Weave GitOps -- [Weave GitOps Enterprise](https://www.weave.works/product/gitops-enterprise/) Weave GitOps Enterprise is a continuous operations product that makes it easy to deploy and manage Kubernetes clusters and applications in any environment. With a single management console that lets you operate clusters running anywhere, in the public cloud, on the edge or in any hybrid scenario. Strong multi-tenancy can accelerate app delivery by providing developers with self-serve isolated workload namespaces across environments. +- [Weave GitOps Enterprise](https://www.weave.works/product/gitops-enterprise/) + - Weave GitOps Enterprise is a continuous operations product that makes it easy to deploy and manage Kubernetes clusters and applications in any environment. With a single management console that lets you operate clusters running anywhere, in the public cloud, on the edge or in any hybrid scenario. Strong multi-tenancy can accelerate app delivery by providing developers with self-serve isolated workload namespaces across environments. + - With Weave GitOps Enterprise, every change is recorded in Git – whether it's a change to application code or platform config and whoever was responsible. So you have a self-generating audit trail available at all times, and far fewer... - [thenewstack.io: Weave GitOps Core Integrates Git with Kubernetes ](https://thenewstack.io/weave-gitops-core-integrates-git-with-kubernetes/) ## GitOps Frameworks diff --git a/docs/golang.md b/docs/golang.md index 98de0f49..1f853665 100644 --- a/docs/golang.md +++ b/docs/golang.md @@ -27,6 +27,7 @@ - [go-ini/ini](https://github.com/go-ini/ini) Package ini provides INI file read and write functionality in Go - [rakyll/go-test-trace 🌟](https://github.com/rakyll/go-test-trace) Go test with tracing. go-test-trace is like go test but it also generates distributed traces. Generated traces are exported in OTLP to a OpenTelemetry collector. You need to run go-test-trace alongside a collector to export data to distributed tracing service. - [hashicorp.com: 8 Best Practices for Writing Secure Go Code](https://www.hashicorp.com/resources/8-best-practices-for-writing-secure-go-code) +- [thenewstack.io: Getting Started with Go and InfluxDB](https://thenewstack.io/getting-started-with-go-and-influxdb/) ## Kubernetes Client Go - [An example of using dynamic client of k8s.io/client-go](https://ymmt2005.hatenablog.com/entry/2020/04/14/An_example_of_using_dynamic_client_of_k8s.io/client-go) diff --git a/docs/helm.md b/docs/helm.md index f8c2913b..237a2af5 100644 --- a/docs/helm.md +++ b/docs/helm.md @@ -1,5 +1,6 @@ # Helm Kubernetes Tool - [Helm](#helm) +- [Helm Plugins](#helm-plugins) - [Helm Chart Documentation](#helm-chart-documentation) - [Kubecrt](#kubecrt) - [Datree](#datree) @@ -54,7 +55,6 @@ * [cncf.io: Add Java Agents to Existing Kubernetes and Helm Applications Instantly](https://www.cncf.io/blog/2021/03/24/add-java-agents-to-existing-kubernetes-and-helm-applications-instantly) * [medium: Create Helm Charts to manage Kubernetes applications](https://medium.com/marionete/create-helm-charts-to-manage-kubernetes-applications-9c4235acf99e) Understand what is Helm, Helm Charts and how to configure GitHub pages to store and share your Charts. * [blog.heyal.co.uk: How to unit-test your helm charts with Golang 🌟](https://blog.heyal.co.uk/unit-testing-helm-charts/) Learn how to write Golang unit tests for your Helm charts to keep quality high and make changes with confidence. -* [Helm Diff Plugin 🌟](https://github.com/databus23/helm-diff) A helm plugin that shows a diff explaining what a helm upgrade would change * [bridgecrew.io: Part 1: Top trends from analyzing the security posture of open-source Helm charts](https://bridgecrew.io/blog/open-source-helm-security-research/) * [bridgecrew.io: Part 2: Top trends from analyzing the security posture of open-source Helm charts](https://bridgecrew.io/blog/open-source-helm-security-research-part-2/) * [bridgecrew.io: Part 3: Top trends from analyzing the security posture of open-source Helm charts](https://bridgecrew.io/blog/open-source-helm-security-research-part-3/) @@ -75,6 +75,10 @@ * [codersociety.com: 13 Best Practices for using Helm](https://codersociety.com/blog/articles/helm-best-practices) Helm is an indispensable tool for deploying applications to Kubernetes clusters. But it is only by following best practices that you’ll truly reap the benefits of Helm. Here are 13 best practices to help you create, operate, and upgrade applications using Helm. * [bridgecrew.io: Applying Kubernetes security best practices to Helm charts](https://bridgecrew.io/blog/applying-kubernetes-security-best-practices-to-helm-charts/) +## Helm Plugins +* [Helm Diff Plugin 🌟](https://github.com/databus23/helm-diff) A helm plugin that shows a diff explaining what a helm upgrade would change +* [Helm mapkubeapis Plugin](https://github.com/helm/helm-mapkubeapis) This is a Helm plugin which map deprecated or removed Kubernetes APIs in a release to supported APIs. **With kubernetes 1.22 dropping support for more beta APIs, you might be in need of a helmpack plugin to help you with that..** + ## Helm Chart Documentation * [chart-doc-gen: Helm Chart Documentation Generator](https://github.com/kubepack/chart-doc-gen) * [Frigate](https://frigate.readthedocs.io/) is a tool for automatically generating documentation for your Helm charts. It will use the chart’s Chart.yaml and values.yaml files in order to generate the content in a markup language of your choice. diff --git a/docs/iac.md b/docs/iac.md index 0a67a17d..3d579c4c 100644 --- a/docs/iac.md +++ b/docs/iac.md @@ -8,4 +8,5 @@ - [clickittech.com: Infrastructure as Code Tools, what are the best IaC tools? 🌟](https://www.clickittech.com/devops/infrastructure-as-code-tools/) - [agileconnection.com: Infrastructure as Code: The Foundation of Effective DevOps](https://www.agileconnection.com/article/infrastructure-code-foundation-effective-devops) - [cloudify.co: Infrastructure As Code – Is It REALLY Enough For DevOps? IAC DevOps Best Practices 🌟](https://cloudify.co/blog/infrastructure-as-code-is-it-really-enough-for-devops/) -- [bridgecrew.io: 5 tips for securely adopting infrastructure as code](https://bridgecrew.io/blog/5-tips-for-securely-adopting-infrastructure-as-code/) \ No newline at end of file +- [bridgecrew.io: 5 tips for securely adopting infrastructure as code](https://bridgecrew.io/blog/5-tips-for-securely-adopting-infrastructure-as-code/) +- [dzone: Why Should You Leverage Infrastructure as Code?](https://dzone.com/articles/reasons-to-leverage-infrastructure-as-code) Learn the essentials of Infrastructure as Code (IaC) and how engineers can utilize its many benefits. \ No newline at end of file diff --git a/docs/images/ansiblepilot.jpg b/docs/images/ansiblepilot.jpg new file mode 100644 index 00000000..b03fafaa Binary files /dev/null and b/docs/images/ansiblepilot.jpg differ diff --git a/docs/images/channels4_profile.jpg b/docs/images/cloudquickpocs.jpg similarity index 100% rename from docs/images/channels4_profile.jpg rename to docs/images/cloudquickpocs.jpg diff --git a/docs/images/k8sexpertsbelike.jfif b/docs/images/k8sexpertsbelike.jfif new file mode 100644 index 00000000..993396a9 Binary files /dev/null and b/docs/images/k8sexpertsbelike.jfif differ diff --git a/docs/images/komodor_workflow.png b/docs/images/komodor_workflow.png new file mode 100644 index 00000000..bca2bf08 Binary files /dev/null and b/docs/images/komodor_workflow.png differ diff --git a/docs/index.md b/docs/index.md index ac514bab..4a6ebece 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,11 +10,11 @@ A curated list of awesome references collected since 2018. Microservices archite [![docker videos](images/docker_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/dockerrun) [![cncf videos](images/cncf_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCvqbFHwN-nwalWPjPUKpvTA) [![kubernetes logo](images/kubernetes_logo.jpg){: style="width:7%"}](https://www.youtube.com/kubernetescommunity) [![redhat videos](images/redhat_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/RedHatVideos) [![openshift videos](images/openshift_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/rhopenshift) [![rancher logo](images/rancher-logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCh5Xtp82q8wjijP8npkVTBA) [![cloudbees videos](images/cloudbees_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/CloudBeesTV) [![jenkins videos](images/jenkins-logo.jpg){: style="width:7%"}](https://www.youtube.com/user/jenkinsci) [![jenkins-x videos](images/jenkins_x_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCN2kblPjXKMcjjVYmwvquvg) [![spinnaker videos](images/spinnaker_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcxQbw8kT1-FRhFhO2QCetg) [![vmware tanzu logo](images/vmware_tanzu_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/goPivotal)
[![ibm cloud videos](images/ibm_cloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/IBMCloud) [![aws videos](images/aws_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/AmazonWebServices) [![gcp videos](images/gcp_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/googlecloudplatform/) [![azure videos](images/azure_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/windowsazure) [![oraclecloud videos](images/oracle_cloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC60OcDzeEtn194-UPYNJs8A) [![digitalocean videos](images/digital_ocean_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/DigitalOceanVideos) [![cloudflare](images/cloudflare_logo.jpg){: style="width:7%"}](https://www.youtube.com/cloudflare) [![openstack](images/openstack_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/OpenStackFoundation) [![harhicorp videos](images/hashicorp_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC-AdvAxaagE9W2f0webyNUQ) [![pulumi videos](images/pulumi_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC2Dhyn4Ev52YSbcpfnfP0Mw) [![liquibase video](images/liquibase_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC5qMsRjObu685rTBq0PJX8w)
[![dzone videos](images/dzone_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/dzone/) [![prometheus videos](images/prometheus_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC4pLFely0-Odea4B2NL1nWA) [![grafana videos](images/grafana_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCYCwgQAMm9sTJv0rgwQLCxw) [![istio videos](images/istio_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC-zVlo1F3mUbExQ96fABWcQ) [![elastic videos](images/elasticsearch_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/elasticsearch) [![dynatrace videos](images/dynatrace_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcYJ-5q_AfmjQ4XTjTS0o3g) [![appdynamics videos](images/appdynamics_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCTL2V4fqMMERSWQa1kT4EMw) [![newrelic videos](images/newrelic_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/NewRelicInc) [![tigera calico](images/tigera_calico_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC8uN3yhpeBeerGNwDiQbcgw) [![weavecloud](images/weavecloud_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/WeaveWorksInc) [![lambdatest](images/lambdatest.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCCymWVaTozpEng_ep0mdUyw)
-[![atlassian videos](images/atlassian_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/GoAtlassian) [![vscode videos](images/vscode_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCs5Y5_7XK8HLDX0SLNwkd3w) [![github videos](images/github_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/github) [![gitlab video](images/gitlab_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg) [![gitkraken](images/gitkraken_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCp06FAzrFalo3txskS1gCfA) [![rocketchat videos](images/rocket_chat_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCin9nv7mUjoqrRiwrzS5UVQ) [![slack videos](images/slack_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCY3YECgeBcLCzIrFLP4gblw) [![mattermost videos](images/mattermost_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCNR05H72hi692y01bWaFXNA) [![microsoft365](images/microsoft_365_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/officevideos) [![openproject](images/openproject_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCpDojas1X9ccix4mxadabpw) [![cloud quick POCs](images/channels4_profile.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCv9MUffHWyo2GgLIDLVu0KQ)
+[![atlassian videos](images/atlassian_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/GoAtlassian) [![vscode videos](images/vscode_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCs5Y5_7XK8HLDX0SLNwkd3w) [![github videos](images/github_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/github) [![gitlab video](images/gitlab_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg) [![gitkraken](images/gitkraken_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCp06FAzrFalo3txskS1gCfA) [![rocketchat videos](images/rocket_chat_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCin9nv7mUjoqrRiwrzS5UVQ) [![slack videos](images/slack_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCY3YECgeBcLCzIrFLP4gblw) [![mattermost videos](images/mattermost_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCNR05H72hi692y01bWaFXNA) [![microsoft365](images/microsoft_365_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/officevideos) [![openproject](images/openproject_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCpDojas1X9ccix4mxadabpw) [![cloud quick POCs](images/cloudquickpocs.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCv9MUffHWyo2GgLIDLVu0KQ)
[![rh devel](images/rh_developer_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC7noUdfWp-ukXUlAsJnSm-Q/) [![spring logo](images/spring-logo.jpg){: style="width:7%"}](https://www.youtube.com/user/SpringSourceDev) [![quarkus logo](images/quarkus-logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCaW8QG_QoIk_FnjLgr5eOqg) [![lightbend videos](images/lightbend_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCcxTiKb1h2lY_gpTCDgXn1g) [![postman videos](images/postman_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCocudCGVb3MmhWQ1aoIgUQw) [![swagger videos](images/smartbear_swagger_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/SmartBearSoftware) [![jfrog](images/jfrog_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/artifrog) [![sonatype](images/sonatype_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/sonatype) [![sonarsource sonarqube](images/sonarsource_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCS5-gTYteN9rnFd98YxYtrA) [![chrome developers videos](images/chromedevtools_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/ChromeDevelopers) [![mozilla developer](images/mozilla_developer_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCh5UlGiu9d6LegIeUCW4N1w)
[![crunchydata](images/crunchydata_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCooRnlDz6VLAbFyKIChz4fg) [![kubedb appscode](images/kubedb_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCxObRDZ0DtaQe_cCP-dN-xg) [![cockroachdb](images/cockroachdb_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCc-m3P54YDVTjtMUJlmAuow) [![mongodb](images/mongodb_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/MongoDB) [![redis](images/redis_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCD78lHSwYqMlyetR0_P4Vig/) [![confluent video](images/confluent_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCmZz-Gj3caLLzEWBtbYUXaA) [![kubemq video](images/kubemq_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCud7fErZAyMC6lHT_cWZNfA) [![openebs](images/openebs_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC3ywadaAUQ1FI4YsHZ8wa0g) [![storageos](images/storageos_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCm63IQg81KP9vXRWSHQpu1w) [![robin](images/robin_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCt7N400Z8gB_3yKq1qrjP2w) [![portworx](images/portworx_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/Portworx)
[![cloud academy](images/cloud_academy_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/Cloudacademy/videos) [![acloudguru](images/acloudguru_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCp8lLM2JP_1pv6E0NQ38pqw) [![devops_tv](images/devops_tv_logo.jpg){: style="width:7%"}](https://www.youtube.com/c/Devopsdotcom) [![xebialabs](images/xebialabs_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/xebialabs) [![devops library](images/devops_library_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCOnioSzUZS-ZqsRnf38V2nA) [![codecademy](images/codecademy.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC5CMtpogD_P3mOoeiDHD5eQ) [![coursera](images/coursera_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/coursera) [![academind](images/academind_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCSJbGtTlrDami-tDGPUV9-w) [![guru99](images/guru99_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/guru99com) [![intellipaat](images/intellipaat_logo.jpg){: style="width:7%"}](https://www.youtube.com/user/intellipaaat) [![codelytv](images/codelytv_logo.jpg){: style="width:7%"}](https://www.youtube.com/CodelyTV)
-[![thetips4you](images/thethips4you.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCoOq-DtESvayx5yJE5H6-qQ) [![tetrate](images/tetrate_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCtV2o3OvEH6U3DQ0-_7chNw) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) +[![thetips4you](images/thethips4you.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCoOq-DtESvayx5yJE5H6-qQ) [![tetrate](images/tetrate_logo.jpg){: style="width:7%"}](https://www.youtube.com/channel/UCtV2o3OvEH6U3DQ0-_7chNw) [![ansible pilot](images/ansiblepilot.jpg){: style="width:7%"}](https://www.youtube.com/channel/UC5MNbTYRHSCu9vAki3z9SmA) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com) [![white square](images/empty_logo.jpg){: style="width:7%"}](https://www.youtube.com)
--- @@ -48,6 +48,8 @@ A curated list of awesome references collected since 2018. Microservices archite - [Red Hat automation glossary 🌟](https://www.redhat.com/en/blog/red-hat-automation-glossary) - [The rise of the automation architect](https://www.redhat.com/sysadmin/automation-architects) - [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/) ## Introduction - [From Java EE To Cloud Native. Microservice Architecture. Openshift VS Kubernetes](introduction.md) @@ -90,7 +92,7 @@ A curated list of awesome references collected since 2018. Microservices archite - [Kubernetes Backup and Migrations](kubernetes-backup-migrations.md) - [Kubernetes autoscaling](kubernetes-autoscaling.md) - [Kubernetes Operators and Controllers](kubernetes-operators-controllers.md) - - [Kubernetes non-production local environments, Dashboards and Devel Tools](kubernetes-local.md) + - [Kubernetes Based Development](kubernetes-based-devel.md) - [Kubernetes on premise](kubernetes-on-premise.md) - [Managed kubernetes in public clouds](managed-kubernetes-in-public-cloud.md) - [Kubernetes Releases](kubernetes-releases.md) diff --git a/docs/introduction.md b/docs/introduction.md index 1344f05c..14d87740 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -1,11 +1,11 @@ # Introduction. From Java EE To Cloud Native. Microservice Architecture. Openshift VS Kubernetes - [Introduction](#introduction) - [Twelve-Factor Apps in Kubernetes](#twelve-factor-apps-in-kubernetes) -- [Automation and Automation Glossary](#automation-and-automation-glossary) - [Self service developer platform](#self-service-developer-platform) - [Disaster Recovery](#disaster-recovery) - [Multi Cloud](#multi-cloud) - [Cloud Automation](#cloud-automation) + - [Automation Glossary](#automation-glossary) - [Microservices Best Practices](#microservices-best-practices) - [Microservice Patterns](#microservice-patterns) - [Cloud Migration Checklist](#cloud-migration-checklist) @@ -157,14 +157,12 @@ * [hackernoon.com: 9 Basic (and Crucial) Tips for Microservices Developers 🌟](https://hackernoon.com/9-basic-and-crucial-tips-for-microservices-developers) * [engineering.monday.com: monday.com’s Multi-Regional Architecture: A Deep Dive](https://engineering.monday.com/monday-coms-multi-regional-architecture-a-deep-dive/) Building a global SaaS platform requires lots of preparation, deep evaluation of your request routes and a truckload of R&D cooperation. Here's how we did it * [cloud.redhat.com: How to Modernize Virtualized Workloads 🌟](https://cloud.redhat.com/blog/how-to-modernize-virtualized-workloads) how to #Modernize workloads using OpenShift. The example is with DotNet and MSSQL server. +* [itnext.io: Platform-as-Code: how it relates to Infrastructure-as-Code and what it enables](https://itnext.io/platform-as-code-how-it-compares-with-infrastructure-as-code-and-what-it-enables-2684b348be2e) +* [dzone: Transitioning from Monolith to Microservices (with python django example)](https://dzone.com/articles/transitioning-from-monolith-to-microservices) ## Twelve-Factor Apps in Kubernetes - [acloudguru.com: Twelve-Factor Apps in Kubernetes](https://acloudguru.com/blog/engineering/twelve-factor-apps-in-kubernetes) -## Automation and Automation Glossary -- [redhat.com: Red Hat automation glossary 🌟](https://www.redhat.com/en/blog/red-hat-automation-glossary) -- [cncf.io: Automation is the future of cloud cost optimization 🌟](https://www.cncf.io/blog/2021/09/29/automation-is-the-future-of-cloud-cost-optimization/) - ## Self service developer platform - [weave.works: What is a self-service developer platform and why does it matter?](https://www.weave.works/blog/what-is-a-self-service-developer-platform) @@ -175,9 +173,13 @@ - [acloudguru.com: Sharing data in the cloud: 4 patterns you should know](https://acloudguru.com/blog/business/sharing-data-in-the-cloud-four-patterns-everyone-should-know) - [architectelevator.com: Multi Cloud Architecture: Decisions and Options](https://architectelevator.com/cloud/hybrid-multi-cloud/) Multi cloud means different things to different people. A decision model helps bust the buzzwords and show the options clearly. - [softwebsolutions.com: Why enterprises need to adopt a multi-cloud strategy](https://www.softwebsolutions.com/resources/multi-cloud-adoption-strategy.html) +- [medium: Multi Cloud Enterprise Deployment Pattern](https://medium.com/solutions-architecture-patterns/multi-cloud-enterprise-deployment-pattern-19571604e64b) ## Cloud Automation * [zdnet.com: The year ahead in DevOps and agile: bring on the automation, bring on the business involvement](https://www.zdnet.com/article/the-year-ahead-in-devops-and-agile-more-automation-more-business-involvement-needed/) DevOps has an automation problem, while agile has an identification problem. Both face organizational problems. Both are needed in the digital transformation shaping the months ahead. * [thenewstack.io: What Is Cloud Automation and How Does It Benefit IT Teams? 🌟](https://thenewstack.io/what-is-cloud-automation-and-how-does-it-benefit-it-teams) +- [cncf.io: Automation is the future of cloud cost optimization 🌟](https://www.cncf.io/blog/2021/09/29/automation-is-the-future-of-cloud-cost-optimization/) +### Automation Glossary +- [redhat.com: Red Hat automation glossary 🌟](https://www.redhat.com/en/blog/red-hat-automation-glossary) ## Microservices Best Practices - [dzone: 7 Microservices Best Practices for Developers 🌟](https://dzone.com/articles/7-microservices-best-practices-for-developers) In this article, we’ll look at some microservices best practices and suggest a few ways to help you design, orchestrate, and secure your microservices architecture. diff --git a/docs/java_frameworks.md b/docs/java_frameworks.md index 9fee8de3..a9e51c3c 100644 --- a/docs/java_frameworks.md +++ b/docs/java_frameworks.md @@ -2,6 +2,7 @@ - [Java](#java) - [How to migrate Java workloads to containers](#how-to-migrate-java-workloads-to-containers) - [Existing Java Implementations](#existing-java-implementations) + - [Which Version of JDK Should I Use?](#which-version-of-jdk-should-i-use) - [Amazon Corretto OpenJDK distribution](#amazon-corretto-openjdk-distribution) - [Use Java 11](#use-java-11) - [Java Collections Interview Questions](#java-collections-interview-questions) @@ -62,11 +63,13 @@ - [Red Hat OpenJDK](https://developers.redhat.com/products/openjdk/download) - [AdoptOpenJDk](https://adoptopenjdk.net/) (based on [Eclipse OpenJ9](https://www.eclipse.org/openj9/)) +#### Which Version of JDK Should I Use? +- http://whichjdk.com 🌟 + #### Amazon Corretto OpenJDK distribution - [Amazon Corretto](https://aws.amazon.com/corretto/) No-cost, multiplatform, production-ready distribution of OpenJDK. Corretto comes with long-term support that will include performance enhancements and security fixes. Amazon runs Corretto internally on thousands of production services and Corretto is certified as compatible with the Java SE standard. With Corretto, you can develop and run Java applications on popular operating systems, including Linux, Windows, and macOS. - Amazon has been putting a lot of effort into Java. One of the central themes has been the reduction of latency. - [youtube: Amazon Corretto, A Journey into Latency Reduction](https://www.youtube.com/watch?v=S4IrAZ5wT3c&ab_channel=SeaJUG) Corretto is a multi-platform, production-ready distribution of OpenJDK, supported by Amazon. We will talk about the Corretto project, it’s principals, and walk through examples that drove performance gains, latency reduction, and cost reduction in some of the biggest services in AWS. - ### Use Java 11 - [It’s time! Migrating to Java 11 🌟](https://medium.com/criciumadev/its-time-migrating-to-java-11-5eb3868354f9) - [Oracle's Java 11 trap - Use OpenJDK instead! 🌟](https://blog.joda.org/2018/09/do-not-fall-into-oracles-java-11-trap.html) @@ -225,6 +228,8 @@ High-level abstractions/tools to run SpringBoot application on kubernetes withou - [developers.redhat.com: Why should I choose Quarkus over Spring for my microservices?](https://developers.redhat.com/articles/2021/08/31/why-should-i-choose-quarkus-over-spring-my-microservices) - Quarkus Tip: if you DON'T set a database URL, user, and password, QuarkusIO automatically starts your database using testcontainers if a Docker daemon is running. It is enabled in dev, test mode and applies to e.g. postgresql, mysql and mongodb. - [developers.redhat.com: Quarkus for Spring developers: Getting started 🌟](https://developers.redhat.com/articles/2021/09/20/quarkus-spring-developers-getting-started) +- [dzone refcard: Getting Started With Quarkus Serverless Functions](https://dzone.com/refcardz/getting-started-with-quarkus-serverless-functions) +- [piotrminkowski.com: Quarkus Tips, Tricks and Techniques 🌟](https://piotrminkowski.com/2021/10/12/quarkus-tips-tricks-and-techniques/) ## Kogito cloud-native business automation framework - [redhat.com: Cloud-native business automation with Kogito](https://www.redhat.com/en/blog/cloud-native-business-automation-kogito) diff --git a/docs/javascript.md b/docs/javascript.md index 22e00283..05e4053c 100644 --- a/docs/javascript.md +++ b/docs/javascript.md @@ -19,6 +19,7 @@ - [mockuper.net](https://mockuper.net/) Mockups generator - [cssnectar.com](https://cssnectar.com/) Website design showcase - [bgjar.com](https://bgjar.com/) SVG background image generator +- [npkill.js.org](https://npkill.js.org/) Easily find and remove old and heavy node_modules folders ## Learning javascript by @Madisonkanna 1. Variables + Scoping: [Declaring JavaScript Variables: var, let and const](https://scotch.io/courses/10-need-to-know-javascript-concepts/declaring-javascript-variables-var-let-and-const) diff --git a/docs/jenkins.md b/docs/jenkins.md index e3558fe8..b4f2a00a 100644 --- a/docs/jenkins.md +++ b/docs/jenkins.md @@ -3,6 +3,7 @@ - [Evolution of open source CI/CD Tools](#evolution-of-open-source-cicd-tools) - [eBooks](#ebooks) - [Jenkins on Kubernetes](#jenkins-on-kubernetes) +- [Jenkins on Docker](#jenkins-on-docker) - [Kubernetes Native Jenkins Operator](#kubernetes-native-jenkins-operator) - [Groovy](#groovy) - [Awesome Jenkins](#awesome-jenkins) @@ -156,6 +157,10 @@ jenkinsci CloudBees' advice is to use build tool features when possible (Maven/G ## Jenkins on Kubernetes * [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 + +## Jenkins on Docker +* [ssbostan/jenkins-stack-docker](https://github.com/ssbostan/jenkins-stack-docker) Docker-compose version of jenkins-stack-kubernetes ### Kubernetes Native Jenkins Operator * [github.com/jenkinsci/kubernetes-operator: 🌟](https://github.com/jenkinsci/kubernetes-operator) Kubernetes platform was released ten years after the first version of Hudson project. It means Jenkins couldn’t be designed to run on top of it. Jenkins Operator tries to bridge that gap. @@ -486,6 +491,7 @@ jenkinsci CloudBees' advice is to use build tool features when possible (Maven/G * [blueocean-rest: REST API for Blue Ocean](https://plugins.jenkins.io/blueocean-rest) * [Blue Ocean Pipeline Editor](https://plugins.jenkins.io/blueocean-pipeline-editor/) * [AWS Kinesis Consumer](https://plugins.jenkins.io/aws-kinesis-consumer/) +* [Cucumber reports](https://plugins.jenkins.io/cucumber-reports) ### Plugin Development. Jenkins Plugin Parent POM 4.0 - [Plugin Development](https://www.jenkins.io/doc/developer/plugin-development/) diff --git a/docs/kubernetes-autoscaling.md b/docs/kubernetes-autoscaling.md index 2f49f7a9..8668387f 100644 --- a/docs/kubernetes-autoscaling.md +++ b/docs/kubernetes-autoscaling.md @@ -66,6 +66,7 @@ * [kubectl-vpa](https://github.com/ninlil/kubectl-vpa) Tool to manage VPAs (vertical-pod-autoscaler) resources in a kubernetes-cluster * [itnext.io: K8s Vertical Pod Autoscaling 🌟](https://itnext.io/k8s-vertical-pod-autoscaling-fd9e602cbf81) * [czakozoltan08.medium.com: Stupid Simple Scalability](https://czakozoltan08.medium.com/stupid-simple-scalability-dc4a7fbe67d6) +* [sysdig.com: Trigger a Kubernetes HPA with Prometheus metrics](https://sysdig.com/blog/kubernetes-hpa-prometheus/) Using Keda to query #prometheus in order to automatically create a Kubernetes HPA ## Cluster Autoscaler and Helm * [hub.helm.sh: cluster-autoscaler](https://hub.helm.sh/charts/stable/cluster-autoscaler) The cluster autoscaler scales worker nodes within an AWS autoscaling group (ASG) or Spotinst Elastigroup. diff --git a/docs/kubernetes-backup-migrations.md b/docs/kubernetes-backup-migrations.md index 56c0b538..c2d8f555 100644 --- a/docs/kubernetes-backup-migrations.md +++ b/docs/kubernetes-backup-migrations.md @@ -52,6 +52,7 @@ * [Kasten](https://www.kasten.io/) * [redhat.com: OpenShift Backup and Recovery with Kasten K10](https://www.redhat.com/es/about/videos/openshift-backup-and-recovery-kasten-k10) * [blog.kasten.io: Extending Kubernetes Application Backup and Mobility to the Edge with Kasten K10 V4.5](https://blog.kasten.io/posts/extending-kubernetes-application-backup-and-mobility-to-the-edge-with-kasten-k10-v4.5) +* [thenewstack.io: Kasten K10 V4.5: Grafana Observability, More Edge Support](https://thenewstack.io/kasten-k10-v4-5-grafana-observability-more-edge-support/) ## Backup with Velero * [akomljen.com: Kubernetes Backup and Restore with Velero 🌟](https://akomljen.com/kubernetes-backup-and-restore-with-velero/?utm_sq=ggwzo8xdd8) @@ -61,8 +62,9 @@ * [cloud.redhat.com: Velero Backup and Restore of an Application Using gp2 StorageClass on ROSA](https://cloud.redhat.com/blog/velero-backup-and-restore-of-an-application-using-gp2-storageclass-on-rosa) ## Backup with Portworx PX-Backup -* [PX-Backup](https://backup.docs.portworx.com/) -* [portworx.com: Backup and Restore with Role-Based Access Controls for Red Hat OpenShift](https://portworx.com/backup-and-restore-with-role-based-access-controls-for-red-hat-openshift) With PX-Backup, backups of OpenShift applications can also be provided in a secure, self-service environment. +* [PX-Backup](https://portworx.com/products/px-backup/) +* [PX-Backup: docs](https://backup.docs.portworx.com/) +* With PX-Backup, backups of OpenShift applications can also be provided in a secure, self-service environment. ## Backup for GKE - [cloud.google.com: Announcing Backup for GKE: the easiest way to protect GKE workloads](https://cloud.google.com/blog/products/storage-data-transfer/google-cloud-launches-backups-for-gke) diff --git a/docs/kubernetes-local.md b/docs/kubernetes-based-devel.md similarity index 69% rename from docs/kubernetes-local.md rename to docs/kubernetes-based-devel.md index 07db1c48..3a8fbe2b 100644 --- a/docs/kubernetes-local.md +++ b/docs/kubernetes-based-devel.md @@ -1,14 +1,17 @@ -# Kubernetes distributions for local environments. Kubernetes Development Tools and Dashboards -- [Non-production Kubernetes Local Installers. Kubernetes distributions for local environments](#non-production-kubernetes-local-installers-kubernetes-distributions-for-local-environments) -- [Kubernetes Development Tools. Kubernetes Clients and Dashboards](#kubernetes-development-tools-kubernetes-clients-and-dashboards) +# Kubernetes Based Development. Kubernetes Distributions for local environments. Kubernetes Development Tools and Dashboards +- [Non-production Kubernetes Local Installers. Kubernetes distributions for local environments. Desktop K8s](#non-production-kubernetes-local-installers-kubernetes-distributions-for-local-environments-desktop-k8s) +- [Kubernetes Based Development. Kubernetes Development Tools.](#kubernetes-based-development-kubernetes-development-tools) + - [Skaffold. Local Kubernetes Development](#skaffold-local-kubernetes-development) + - [Telepresence local development for k8s and openshift microservices](#telepresence-local-development-for-k8s-and-openshift-microservices) + - [Bridge to Kubernetes](#bridge-to-kubernetes) +- [Kubernetes Clients and Dashboards](#kubernetes-clients-and-dashboards) - [Okteto local kubernetes development](#okteto-local-kubernetes-development) - [Lens Kubernetes IDE](#lens-kubernetes-ide) - [Kubenav](#kubenav) - [Cloud Manager](#cloud-manager) - - [Skaffold. Local Kubernetes Development](#skaffold-local-kubernetes-development) - - [Telepresence local development for k8s and openshift microservices](#telepresence-local-development-for-k8s-and-openshift-microservices) +- [Videos](#videos) -## Non-production Kubernetes Local Installers. Kubernetes distributions for local environments +## Non-production Kubernetes Local Installers. Kubernetes distributions for local environments. Desktop K8s * [Minikube](https://github.com/kubernetes/minikube) A tool that makes it easy to run Kubernetes locally inside a Linux VM. It's aimed on users who want to just test it out or use it for development. It cannot spin up a production cluster, it's a one node machine with no high availability. * [murchie85.github.io: Installling minikube](https://murchie85.github.io/Kubernetes.html) * [itnext.io: How to experiment locally on Kubernetes with minikube and your local Dockerfiles](https://itnext.io/how-to-experiment-locally-on-kubernetes-with-minikube-and-your-local-dockerfiles-48833fcd90c9) @@ -25,32 +28,61 @@ * [dex.dev: Local Development Clusters](https://www.dex.dev/dex-videos/development-clusters) * [blog.radwell.codes: What’s the best Kubernetes distribution for local environments? 🌟](https://blog.radwell.codes/2021/05/best-kubernetes-distribution-for-local-environments/) * [Metal Kubes](https://github.com/shank-git/metal-kubes) Create OnPrem Kubernetes Cluster. Install Kubernetes Cluster on Bare Metal Machines +* [dzone: Desktop K8S in 2021](https://dzone.com/articles/desktop-k8s-in-2021) Is there a better alternative to Minikube? See some options for Local Kubernetes Clusters if you are developing on a Mac. -## Kubernetes Development Tools. Kubernetes Clients and Dashboards -- [ordina-jworks.github.io: A comparison of Kubernetes clients and dashboards](https://ordina-jworks.github.io/cloud/2020/08/28/kubernetes-clients-comparison.html) -- [loft.sh: Kubernetes Development Environments – A Comparison](https://loft.sh/blog/kubernetes-development-environments-comparison/) -- [yitaek.medium.com: Useful Tools for Better Kubernetes Development 🌟](https://yitaek.medium.com/useful-tools-for-better-kubernetes-development-87820c2b9435) Lens, Polaris, kube-hunter, kube-bench, Trivy, Goldilocks, Kyverno, kube-ps1, kubectx + kubens , krew, kubectl-neat, kube-no-trouble, helm-mapkubeapis, kube-diff + helm-diff , kube forwarder, kubecost, kubespy. -- [kccncna20.sched.com: A Walk Through the Kubernetes UI Landscape](https://kccncna20.sched.com/event/ekAd/a-walk-through-the-kubernetes-ui-landscape-joaquim-rocha-kinvolk-henning-jacobs-zalando-se) Working with Kubernetes clusters and workloads can be overwhelming, both for operators, as well as application developers. While kubectl is the de-facto standard interface to interact with Kubernetes' API, a graphical user interface can provide a better experience for newcomers and advanced users alike. This talk will look at the current landscape of Open Source Kubernetes web and desktop UIs, including Kubernetes Dashboard, Lens, Octant, Kubernetes Web View, and Headlamp. Particularly, how different dashboards are built, for what purpose they can be used, and how they compare in terms of functionality, so attendees can get the most out of the vast landscape of Kubernetes UIs. - - [PDF](https://static.sched.com/hosted_files/kccncna20/02/A%20Walk%20Through%20the%20Kubernetes%20UI%20Landscape%20%28KubeCon%20Talk%202020%29.pdf) -- [tilt.dev 🌟](https://tilt.dev) You can use Tilt to easily build and run your application on Kubernetes. In comparison with similar tools, it provides [UI for managing the process and cloud platform](https://cloud.tilt.dev) to share data with your team. -- [microcks.io 🌟](https://microcks.io) K8s-based API mock/test tool. +## Kubernetes Based Development. Kubernetes Development Tools. +- [itnext.io: Software development in containers — a cookbook 🌟🌟🌟](https://itnext.io/software-development-in-containers-a-cookbook-2ba14d07e535) A guide to developing containerized software +- [kubevious 🌟🌟](https://github.com/kubevious/kubevious) Kubevious is a read-only dashboard and config validator. Kubevious gives deep insights on app config and structure. +- [skaffold.dev](https://skaffold.dev/) +- [tilt.dev](https://tilt.dev) You can use Tilt to easily build and run your application on Kubernetes. In comparison with similar tools, it provides [UI for managing the process and cloud platform](https://cloud.tilt.dev) to share data with your team. +- [garden.io](https://garden.io/) +- [devspace.sh](https://devspace.sh/) +- [microcks.io](https://microcks.io) K8s-based API mock/test tool. - [microcks.io: Podman Compose support in Microcks](https://microcks.io/blog/podman-compose-support) -- [kinvolk.io: Shining a light on the Kubernetes User Experience with Headlamp](https://kinvolk.io/blog/2020/11/shining-a-light-on-the-kubernetes-user-experience-with-headlamp/) -- [kubevious](https://github.com/kubevious/kubevious) +- [loft.sh: Checklist for Kubernetes-Based Development 🌟](https://loft.sh/blog/checklist-for-kubernetes-based-development) +- [loft.sh: Kubernetes Development Environments – A Comparison](https://loft.sh/blog/kubernetes-development-environments-comparison/) +- [loft.sh: Skaffold vs Tilt vs DevSpace](https://loft.sh/blog/skaffold-vs-tilt-vs-devspace/) +- [yitaek.medium.com: Useful Tools for Better Kubernetes Development 🌟](https://yitaek.medium.com/useful-tools-for-better-kubernetes-development-87820c2b9435) Lens, Polaris, kube-hunter, kube-bench, Trivy, Goldilocks, Kyverno, kube-ps1, kubectx + kubens , krew, kubectl-neat, kube-no-trouble, helm-mapkubeapis, kube-diff + helm-diff , kube forwarder, kubecost, kubespy. - [cncf.io: Tools to develop apps on Kubernetes 🌟](https://www.cncf.io/blog/2021/05/10/tools-to-develop-apps-on-kubernetes) - [blog.usejournal.com: Useful Tools for Better Kubernetes Development](https://blog.usejournal.com/useful-tools-for-better-kubernetes-development-87820c2b9435) +- [rookout.com: Developer Tools for Kubernetes in 2021: Helm, Kustomize, and Skaffold (Part 1) ](https://www.rookout.com/blog/developer-tooling-for-kubernetes-in-2021) + - [rookout.com: Developer Tools for Kubernetes in 2021 – Skaffold, Tilt, and Garden (Part 2)](https://www.rookout.com/blog/developer-tooling-for-kubernetes-in-2021-part-2) In that previous blog post, I also mentioned another tool – Skaffold. While Skaffold has limited ability to define Kubernetes applications and build and deploy them in CI/CD pipelines, it’s core functionality is creating a development environment for Kubernetes. In this blog post, I’ll discuss the alternative tools of doing just that – spinning up a development environment on Kubernetes. So let’s go into an in-depth comparison of Skaffold, Tilt, and Garden. **I will not be covering Microsoft Draft, as the Github repository appears to be archived and has had no new versions in 2020.** + - [rookout.com: Developer Tools for Kubernetes in 2021: Lens, VSCode, IntelliJ, & Gitpod (Part 3)](https://www.rookout.com/blog/developer-tooling-for-kubernetes-in-2021-part-3) + - [rookout.com: Developer Tools for Kubernetes in 2021: Docker, Kaniko, Buildpack & Jib (Part 4)](https://www.rookout.com/blog/developer-tooling-for-kubernetes-in-2021-part-4) + - [rookout.com: Developer Tools for Kubernetes in 2021: Development Machines (Part 5)](https://www.rookout.com/blog/developer-tooling-for-kubernetes-in-2021-development-machines-part-5) + +### Skaffold. Local Kubernetes Development +- [Skaffold 🌟](https://skaffold.dev/) +- [infracloud.io: Build and deploy Kubernetes apps with Skaffold](https://www.infracloud.io/blogs/skaffold-usecases/) +- [testingclouds.wordpress.com: Migrating from Docker Compose to Skaffold 🌟](https://testingclouds.wordpress.com/2021/03/09/migrating-from-docker-compose-to-skaffold/) + +### Telepresence local development for k8s and openshift microservices +* [telepresence.io 🌟](https://www.telepresence.io) Fast, local development for kubernetes and openshift microservices. +* [telepresence.io: Debug a Kubernetes service locally 🌟](https://www.telepresence.io/tutorials/kubernetes) Imagine you have a service running in a cluster, and someone reports a bug. You want to run the service locally but how? Enter Telepresence +* [betterprogramming.pub: Do Faster Development and Testing on Kubernetes Apps With Telepresence](https://betterprogramming.pub/do-faster-development-and-testing-on-kubernetes-apps-with-telepresence-b7eac604dca4) Use Telepresence to instantly deploy your code change to a Kubernetes cluster +* [telepresence.io: Intercept a service in your own environment 🌟](https://www.telepresence.io/docs/latest/howtos/intercepts/) Today, I needed to intercept traffic sent to the application running on Kubernetes and forward it to the local dev instance. + +### Bridge to Kubernetes +- [Bridge to Kubernetes 🌟🌟](https://docs.microsoft.com/en-us/visualstudio/bridge/) + +## Kubernetes Clients and Dashboards +- [ordina-jworks.github.io: A comparison of Kubernetes clients and dashboards](https://ordina-jworks.github.io/cloud/2020/08/28/kubernetes-clients-comparison.html) +- [kccncna20.sched.com: A Walk Through the Kubernetes UI Landscape](https://kccncna20.sched.com/event/ekAd/a-walk-through-the-kubernetes-ui-landscape-joaquim-rocha-kinvolk-henning-jacobs-zalando-se) Working with Kubernetes clusters and workloads can be overwhelming, both for operators, as well as application developers. While kubectl is the de-facto standard interface to interact with Kubernetes' API, a graphical user interface can provide a better experience for newcomers and advanced users alike. This talk will look at the current landscape of Open Source Kubernetes web and desktop UIs, including Kubernetes Dashboard, Lens, Octant, Kubernetes Web View, and Headlamp. Particularly, how different dashboards are built, for what purpose they can be used, and how they compare in terms of functionality, so attendees can get the most out of the vast landscape of Kubernetes UIs. + - [PDF](https://static.sched.com/hosted_files/kccncna20/02/A%20Walk%20Through%20the%20Kubernetes%20UI%20Landscape%20%28KubeCon%20Talk%202020%29.pdf) - [loft.sh: Kubernetes Dashboards: Headlamp](https://loft.sh/blog/kubernetes-dashboards-headlamp/) - [Headlamp Dashboard](https://kinvolk.io/docs/headlamp/latest) +- [kinvolk.io: Shining a light on the Kubernetes User Experience with Headlamp](https://kinvolk.io/blog/2020/11/shining-a-light-on-the-kubernetes-user-experience-with-headlamp/) - [blog.tekspace.io: Deploying Kubernetes Dashboard in K3S Cluster](https://blog.tekspace.io/deploying-kubernetes-dashboard-in-k3s-cluster/) - [williamlam.com: Useful Interactive Terminal and Graphical UI Tools for Kubernetes](https://williamlam.com/2020/04/useful-interactive-terminal-and-graphical-ui-tools-for-kubernetes.html) - [hackerxone.com: How To Install Kubernetes Dashboard with NodePort in Linux](https://www.hackerxone.com/2021/07/10/how-install-kubernetes-dashboard-nodeport-linux/) - [loft.sh: Kubernetes Monitoring Dashboards - 5 Best Open-Source Tools](https://loft.sh/blog/kubernetes-monitoring-dashboards-5-best-open-source-tools/) -- [loft.sh: Kubernetes Development Environments – A Comparison](https://loft.sh/blog/kubernetes-development-environments-comparison/) - [medium: YAKD: Yet Another Kubernetes Dashboard](https://medium.com/geekculture/yakd-yet-another-kubernetes-dashboard-7766bd) A list of most popular opensource kubernetes dashboard both for local development & in production as well - [adamtheautomator.com: How to Install and Set Up Kubernetes Dashboard [Step by Step]](https://adamtheautomator.com/kubernetes-dashboard/) - [thenewstack.io: Who Needs a Dashboard? Why the Kubernetes Command Line Is Not Enough](https://thenewstack.io/who-needs-a-dashboard-why-the-kubernetes-command-line-is-not-enough/) + ### Okteto local kubernetes development - [okteto.com: How to Develop and Debug Java Applications on Kubernetes](https://okteto.com/blog/how-to-develop-java-apps-in-kubernetes/) - [codefresh.io: Tutorial - Local Kubernetes Development with Okteto 🌟](https://codefresh.io/kubernetes-tutorial/okteto/) +- [kubeshop.github.io/monokle](https://kubeshop.github.io/monokle/) Welcome to Monokle - your friendly desktop UI for managing k8s manifests! ### Lens Kubernetes IDE - [Lens Kubernetes IDE 🌟](https://k8slens.dev/) Lens is the only IDE you’ll ever need to take control of your Kubernetes clusters. It's open source and free. Download it today! @@ -67,18 +99,17 @@ - [thenewstack.io: Cloud Manager: A New Multicloud PaaS Platform Built on Kubernetes](https://thenewstack.io/cloud-manager-a-new-multicloud-paas-platform-built-on-kubernetes/) - [medium: Do It All Kubernetes Dashboard](https://medium.com/faun/do-it-all-kubernetes-dashboard-81375833e01c) -### Skaffold. Local Kubernetes Development -- [Skaffold 🌟](https://skaffold.dev/) -- [infracloud.io: Build and deploy Kubernetes apps with Skaffold](https://www.infracloud.io/blogs/skaffold-usecases/) -- [testingclouds.wordpress.com: Migrating from Docker Compose to Skaffold 🌟](https://testingclouds.wordpress.com/2021/03/09/migrating-from-docker-compose-to-skaffold/) - -### Telepresence local development for k8s and openshift microservices -* [telepresence.io 🌟](https://www.telepresence.io) Fast, local development for kubernetes and openshift microservices. -* [telepresence.io: Debug a Kubernetes service locally 🌟](https://www.telepresence.io/tutorials/kubernetes) Imagine you have a service running in a cluster, and someone reports a bug. You want to run the service locally but how? Enter Telepresence -* [betterprogramming.pub: Do Faster Development and Testing on Kubernetes Apps With Telepresence](https://betterprogramming.pub/do-faster-development-and-testing-on-kubernetes-apps-with-telepresence-b7eac604dca4) Use Telepresence to instantly deploy your code change to a Kubernetes cluster -* [telepresence.io: Intercept a service in your own environment 🌟](https://www.telepresence.io/docs/latest/howtos/intercepts/) Today, I needed to intercept traffic sent to the application running on Kubernetes and forward it to the local dev instance. - - +## Videos +
+ Click to expand! +
+ + + + + +
+
diff --git a/docs/kubernetes-networking.md b/docs/kubernetes-networking.md index 3b029034..221949a1 100644 --- a/docs/kubernetes-networking.md +++ b/docs/kubernetes-networking.md @@ -76,7 +76,7 @@ * [techdozo.dev: gRPC load balancing on Kubernetes (using Headless Service)](https://techdozo.dev/grpc-load-balancing-on-kubernetes-using-headless-service/) * [thenewstack.io: ZeroLB, a New Decentralized Pattern for Load Balancing](https://thenewstack.io/zerolb-a-new-decentralized-pattern-for-load-balancing/) * [ungleich.ch: Making kubernetes kube-dns publicly reachable](https://ungleich.ch/u/blog/kubernetes-making-dns-publicly-reachable/) -* [ungleich.ch: Building Ingress-less Kubernetes Clusters](https://ungleich.ch/u/blog/kubernetes-without-ingress/) +* [ungleich.ch: Building Ingress-less Kubernetes Clusters](https://ungleich.ch/u/blog/kubernetes-without-ingress/) Building Ingress-less Kubernetes Clusters with IPv6 * [thenewstack.io: Ingress Controllers: The More the Merrier](https://thenewstack.io/ingress-controllers-the-more-the-merrier/) * [blog.teamhephy.info: Learn how to use the Nginx Ingress controller to serve traffic over SSH with TCP load balancing](https://blog.teamhephy.info/blog/posts/tutorials/running-workflow-without-any-loadbalancer.html) * [levelup.gitconnected.com: Setting up Application Load Balancer (Ingress) for the Pods running in AWS EKS Fargate](https://levelup.gitconnected.com/setting-up-application-load-balancer-ingress-for-the-pods-running-in-aws-eks-fargate-519e20e97497) @@ -88,6 +88,7 @@ * [nginx.com: Reducing Kubernetes Costs by 70% in the Cloud with NGINX, Opsani, and Prometheus](https://www.nginx.com/blog/reducing-kubernetes-costs-70-percent-in-cloud-nginx-opsani-prometheus/) * [nginx.com: A Guide to Choosing an Ingress Controller, Part 4: NGINX Ingress Controller Options](https://www.nginx.com/blog/guide-to-choosing-ingress-controller-part-4-nginx-ingress-controller-options/) * [ithands-on.com: Kubernetes 101 : Changing a service type](https://www.ithands-on.com/2021/09/kubernetes-101-changing-service-type.html) If we realize that our service, a ClusterIP doesn't suit our needs anymore, we could change its type to a nodePort service for example. +* [cloud.redhat.com: Global Load Balancer Approaches 🌟](https://cloud.redhat.com/blog/global-load-balancer-approaches) ## Gateway API * [gateway-api.sigs.k8s.io 🌟](https://gateway-api.sigs.k8s.io/) Gateway API is an open source project managed by the SIG-NETWORK community. It's is a collection of resources that model service networking in Kubernetes. These resources - GatewayClass,Gateway, HTTPRoute, TCPRoute, Service, etc - aim to evolve Kubernetes service networking through expressive, extensible, and role-oriented interfaces that are implemented by many vendors and have broad industry support. @@ -182,6 +183,7 @@ - [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) - [thenewstack.io: Supercharge CoreDNS with Cluster Addons 🌟](https://thenewstack.io/supercharge-coredns-with-cluster-addons/) - [sysdig.com: How to monitor coreDNS 🌟](https://sysdig.com/blog/how-to-monitor-coredns/) The most common problems and outages in a Kubernetes cluster come from coreDNS, so learning how to monitor coreDNS is crucial. +- [ungleich.ch: Making kubernetes kube-dns/CoreDNS publicly reachable](https://ungleich.ch/u/blog/kubernetes-making-dns-publicly-reachable/) ## Kubernetes Node Local DNS Cache - [NodeLocal DNSCache](https://github.com/kubernetes/enhancements/blob/master/keps/sig-network/20190424-NodeLocalDNS-beta-proposal.md) diff --git a/docs/kubernetes-on-premise.md b/docs/kubernetes-on-premise.md index 62c779b7..87d8b320 100644 --- a/docs/kubernetes-on-premise.md +++ b/docs/kubernetes-on-premise.md @@ -110,6 +110,8 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops - [github.com: Cluster API Helm Chart](https://github.com/kgamanji/cluster-api-helm-chart) - [youtube: Cluster API & FluxCD - the power of GitOps](https://www.youtube.com/watch?v=QbSw8dPhHGM&ab_channel=KatieGamanji) A Helm chart to install Cluster API manifests - [weave.works: Manage Thousands of Clusters with GitOps and the Cluster API](https://www.weave.works/blog/manage-thousands-of-clusters-with-gitops-and-the-cluster-api) - [thenewstack.io: Cluster API Offers a Way to Manage Multiple Kubernetes Deployments](https://thenewstack.io/cluster-api-offers-a-way-to-manage-multiple-kubernetes-deployments/) +- [thenewstack.io: Provision Bare-Metal Kubernetes with the Cluster API](https://thenewstack.io/provision-bare-metal-kubernetes-with-the-cluster-api/) +- [cncf.io: Kubernetes Cluster API reaches production readiness with version 1.0](https://www.cncf.io/blog/2021/10/06/kubernetes-cluster-api-reaches-production-readiness-with-version-1-0/) ## Microk8s - [**Microk8s**](https://microk8s.io/) diff --git a/docs/kubernetes-operators-controllers.md b/docs/kubernetes-operators-controllers.md index 70612ba1..eae80f8a 100644 --- a/docs/kubernetes-operators-controllers.md +++ b/docs/kubernetes-operators-controllers.md @@ -56,7 +56,7 @@ - [kubernetes.io: Writing a Controller for Pod Labels](https://kubernetes.io/blog/2021/06/21/writing-a-controller-for-pod-labels/) - [kubermatic.com: Why Implementing Kubernetes Operators Is a Good Idea! 🌟](https://www.kubermatic.com/blog/why-implementing-kubernetes-operators-is-a-good-idea/) - [thenewstack.io: We Pushed Helm to the Limit, then Built a Kubernetes Operator 🌟](https://thenewstack.io/we-pushed-helm-to-the-limit-then-built-a-kubernetes-operator/) -- [cncf.io: CNCF Operator White Paper](https://www.cncf.io/wp-content/uploads/2021/07/CNCF_Operator_WhitePaper.pdf) This white paper defines Operators in a wider context than Kubernetes. It describes their characteristics and components, gives an overview of common patterns currently in use and explains how they differ from Kubernetes controllers. +- [cncf.io: CNCF Operator White Paper (PDF) 🌟](https://www.cncf.io/wp-content/uploads/2021/07/CNCF_Operator_WhitePaper.pdf) This white paper defines Operators in a wider context than Kubernetes. It describes their characteristics and components, gives an overview of common patterns currently in use and explains how they differ from Kubernetes controllers. - [itnext.io: Kubexpose: A Kubernetes Operator, for fun and profit!](https://itnext.io/kubexpose-a-kubernetes-operator-for-fun-and-profit-f528586eee07) Access your Kubernetes Deployment over the Internet - [abhirockzz/kubexpose-operator](https://github.com/abhirockzz/kubexpose-operator) Access your Kubernetes Deployment over the Internet - [redhat.com: Kubernetes Operators on Red Hat Marketplace](https://www.redhat.com/en/resources/kubernetes-operators-marketplace-datasheet) diff --git a/docs/kubernetes-security.md b/docs/kubernetes-security.md index 8675a9f5..1b33fcda 100644 --- a/docs/kubernetes-security.md +++ b/docs/kubernetes-security.md @@ -83,15 +83,17 @@ - Periodically review all Kubernetes settings and use vulnerability scans to help ensure risks are appropriately accounted for and security patches are applied. * [cloud.redhat.com: OpenShift and the NSA-CISA ‘Kubernetes Hardening Guidance’](https://cloud.redhat.com/blog/openshift-and-the-nsa-cisa-kubernetes-hardening-guidance) Red Hat OpenShift is the quickest path to meeting the NSA’s Kubernetes hardening guidance * [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. + * [infoq.com: Armo Releases Kubescape K8s Security Testing Tool: Q&A with VP Jonathan Kaftzan](https://www.infoq.com/news/2021/09/kubescape/) * [infoq.com](https://www.infoq.com/news/2021/09/kubernetes-hardening-guidance/) NSA and CISA Publish Kubernetes Hardening Guidance + * [csoonline.com: Kubernetes hardening: Drilling down on the NSA/CISA guidance](https://www.csoonline.com/article/3629049/kubernetes-hardening-drilling-down-on-the-nsa-cisa-guidance.html) The new guidance gives a solid foundation for hardening Kubernetes container environments. These are its key components and why they are important. * [cloud.redhat.com: Top Open Source Kubernetes Security Tools of 2021 🌟🌟](https://cloud.redhat.com/blog/top-open-source-kubernetes-security-tools-of-2021) -* [csoonline.com: Kubernetes hardening: Drilling down on the NSA/CISA guidance](https://www.csoonline.com/article/3629049/kubernetes-hardening-drilling-down-on-the-nsa-cisa-guidance.html) The new guidance gives a solid foundation for hardening Kubernetes container environments. These are its key components and why they are important. * [cncf.io: How to secure your Kubernetes control plane and node components](https://www.cncf.io/blog/2021/08/20/how-to-secure-your-kubernetes-control-plane-and-node-components/) * [redhat.com: State of Kubernetes Security Report - Spring 2021 (PDF) 🌟](https://www.redhat.com/rhdc/managed-files/cl-state-kubernetes-security-report-ebook-f29117-202106-en.pdf) * [kubernetes.io: Overview of Cloud Native Security 🌟🌟](https://kubernetes.io/docs/concepts/security/overview/) This overview defines a model for thinking about Kubernetes security in the context of Cloud Native security. * [elastisys.com: NSA and CISA Kubernetes Security Guidance: Summarized and Explained](https://elastisys.com/nsa-and-cisa-kubernetes-security-guidance-summarized-and-explained/) * [learn.hashicorp.com: Integrate a Kubernetes Cluster with an External Vault 🌟](https://learn.hashicorp.com/tutorials/vault/kubernetes-external-vault) * [talkingquickly.co.uk: Kubernetes Single Sign On - A detailed guide 🌟](http://www.talkingquickly.co.uk/kubernetes-sso-a-detailed-guide) +* [armosec.io: A Practical Guide to the Different Compliance Kubernetes Security Frameworks and How They Fit Together 🌟🌟](https://www.armosec.io/blog/kubernetes-security-frameworks-and-guidance)
[![kubernetes security mindmap](images/k8s_securitymindmap.jpg)](https://www.blackhat.com/) @@ -228,5 +230,7 @@ Kubernetes supports several authentication methods out-of-the-box, such as X.509 + +
\ No newline at end of file diff --git a/docs/kubernetes-tools.md b/docs/kubernetes-tools.md index ba792f25..cab246a7 100644 --- a/docs/kubernetes-tools.md +++ b/docs/kubernetes-tools.md @@ -19,6 +19,9 @@ - [Kustomizer](#kustomizer) - [MetalLB](#metallb) - [Kubermatic Kubernetes Platform](#kubermatic-kubernetes-platform) +- [Usernetes](#usernetes) +- [k8syaml.com](#k8syamlcom) +- [Komodor Workflows](#komodor-workflows) - [Tweets](#tweets) ## Introduction @@ -37,7 +40,7 @@ * [kubech (kubectl change)](https://github.com/aabouzaid/kubech) Set kubectl contexts/namespaces per shell/terminal to manage multi Kubernetes cluster at the same time. * [Kubecle](https://github.com/rydogs/kubecle) is a web ui running locally that provides useful information about your kubernetes clusters. It is an alternative to Kubernetes Dashboard. Because it runs locally, you can access any kubernetes clusters you have access to * [Permission Manager](https://github.com/sighupio/permission-manager) is a project that brings sanity to Kubernetes RBAC and Users management, Web UI FTW -* [developer.sh: Kubernetes client tools overview](https://developer.sh/posts/kubernetes-client-tools-overview) +* [cloudnatively.com: Kubernetes client tools overview](https://www.cloudnatively.com/kubernetes-client-tools-overview/) * [kubectx 🌟🌟](https://github.com/ahmetb/kubectx) Faster way to switch between clusters and namespaces in kubectl * [go-kubectx](https://github.com/aca/go-kubectx) 5x-10x faster alternative to kubectx. Uses client-go. * [kubevious: application centric Kubernetes UI 🌟](https://kubevious.io/) is open-source software that provides a usable and highly graphical interface for Kubernetes. Kubevious renders all configurations relevant to the application in one place. @@ -363,6 +366,8 @@ * [ori-edge/k8s_gateway](https://github.com/ori-edge/k8s_gateway) A CoreDNS plugin to resolve all types of external Kubernetes resources * [viaduct-ai/kustomize-sops](https://github.com/viaduct-ai/kustomize-sops) KSOPS - A Flexible Kustomize Plugin for SOPS Encrypted Resources * [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. ## 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). @@ -433,6 +438,19 @@ - [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. - [thenewstack.io: Kubermatic Kubernetes Platform Beats Complexity Through Automation](https://thenewstack.io/kubermatic-kubernetes-platform-beats-complexity-through-automation/) +## Usernetes +- [rootless-containers/usernetes](https://github.com/rootless-containers/usernetes) Kubernetes installable under $HOME, without the root privileges + +## k8syaml.com +- [k8syaml.com 🌟](https://k8syaml.com) Kubernetes YAML Generator - Powered by Octopus + +## Komodor Workflows +- [komodor.com: Komodor Workflows: Automated Troubleshooting at the Speed of WHOOSH!](https://komodor.com/blog/using-workflows-to-troubleshoot-like-a-pro/) + +
+[![komodor workflow](images/komodor_workflow.png)](https://komodor.com/blog/using-workflows-to-troubleshoot-like-a-pro/) +
+ ## Tweets
Click to expand! @@ -453,4 +471,6 @@ gtag('js', new Date()); gtag('config', 'UA-168051035-1'); - \ No newline at end of file + + + diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 209c1b5d..617b8baf 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -6,7 +6,7 @@ - [The State of Cloud-Native Development](#the-state-of-cloud-native-development) - [Kubernetes Failure Stories](#kubernetes-failure-stories) - [Kubernetes Maturity Model](#kubernetes-maturity-model) - - [Kubernetesbyexample](#kubernetesbyexample) + - [Cloud Native Learn by doing platforms](#cloud-native-learn-by-doing-platforms) - [Kubernetes Installation Methods](#kubernetes-installation-methods) - [Kubernetes Knowledge Hubs](#kubernetes-knowledge-hubs) - [Kubernetes Podcasts](#kubernetes-podcasts) @@ -32,6 +32,7 @@ - [Kubernetes Jobs and Cron Jobs](#kubernetes-jobs-and-cron-jobs) - [Kubernetes Deployment Strategies](#kubernetes-deployment-strategies) - [Kubernetes API](#kubernetes-api) + - [Multi-Cluster Services API](#multi-cluster-services-api) - [Kubernetes Health Checks/Probes. Startup, Liveness, Readiness](#kubernetes-health-checksprobes-startup-liveness-readiness) - [Kubernetes Limits and Requests](#kubernetes-limits-and-requests) - [Kube Scheduler](#kube-scheduler) @@ -151,13 +152,14 @@ * [medium: Kubernetes Fundamentals For Absolute Beginners: Architecture & Components](https://medium.com/the-programmer/kubernetes-fundamentals-for-absolute-beginners-architecture-components-1f7cda8ea536) * [learnsteps.com: What is a control plane? Basics on Kubernetes](https://www.learnsteps.com/what-is-a-control-plane-what-do-people-mean-by-this-basics-on-kubernetes/) * [infoworld.com: No one wants to manage Kubernetes anymore 🌟](https://www.infoworld.com/article/3614850/no-one-wants-to-manage-kubernetes-anymore.html) **The availability of solid and varied managed kubernetes options has seen more and more companies shy away from managing their own clusters.** -* [fairwinds.com: Never Should You Ever In Kubernetes: #1 Do K8S The Hard Way](https://www.fairwinds.com/blog/never-should-you-ever-in-kubernetes-1-do-k8s-the-hard-way) * [eximiaco.tech: when to choose Kubernetes? 🌟](https://www.eximiaco.tech/en/2020/06/03/3-facts-to-consider-before-adopting-kubernetes/) * [thenewstack.io: Living with Kubernetes: Cluster Upgrades 🌟](https://thenewstack.io/living-with-kubernetes-cluster-upgrades/) * [thenewstack.io: 5 Things Developers Need to Know About Kubernetes Management](https://thenewstack.io/5-things-developers-need-to-know-about-kubernetes-management/) * [How to handle environment variables with Kubernetes? 🌟](https://humanitec.com/blog/handling-environment-variables-with-kubernetes) -* [itnext.io: Software development in containers — a cookbook 🌟🌟🌟](https://itnext.io/software-development-in-containers-a-cookbook-2ba14d07e535) A guide to developing containerized software * [weave.works: The Definitive Guide to Kubernetes in Production 🌟🌟](https://www.weave.works/blog/the-definitive-guide-to-kubernetes-in-production) +* [vmblog.com: The Rise of Modern Day Kubernetes Operations](https://vmblog.com/archive/2021/10/07/the-rise-of-modern-day-kubernetes-operations.aspx) +* [elastisys.com: Evaluation of Caching Methodologies for Microservice-Based Architectures in Kubernetes](https://elastisys.com/evaluation-of-caching-methodologies/) +* [thenewstack.io: What Workloads Do Businesses Run on Kubernetes?](https://thenewstack.io/what-workloads-do-businesses-run-on-kubernetes/)
@@ -191,8 +193,19 @@ - Before you do anything, consider what a cloud-native journey means to you and your organization. Kubernetes isn’t right for everyone, so make sure you understand where to start and how to prove value by embracing Kubernetes. - Any maturity model is a process, and you’re likely to move back and forth between phases, and some will take longer than others. Even once you’ve reached phase five, you’ll always be working on ongoing optimization, removing human error and effort, and improving reliability and efficiency. -### Kubernetesbyexample -- [kubernetesbyexample.com 🌟🌟](https://www.kubernetesbyexample.com) A free learning platform covering the fundamentals of how to develop, deploy, manage, and automate containers in cloud-native environments. +### Cloud Native Learn by doing platforms +- [openshift sandbox](https://developers.redhat.com/developer-sandbox/get-started) +- [Kubebyexample.com - kubernetesbyexample.com 🌟🌟](https://kubebyexample.com) A free learning platform covering the fundamentals of how to develop, deploy, manage, and automate containers in cloud-native environments. +- https://killer.sh CKS CKA CKAD Simulator +- https://acloudguru.com +- https://cloudacademy.com +- https://cloudyuga.guru +- https://instruqt.com +- https://katacoda.com +- https://kodekloud.com +- https://learning .oreilly.com +- https://play-with-docker.com +- https://play-with-k8s.com ### Kubernetes Installation Methods - [itnext.io: Kubernetes Installation Methods The Complete Guide](https://itnext.io/kubernetes-installation-methods-the-complete-guide-1036c860a2b3) @@ -402,7 +415,7 @@ * Mortal (Kubernetes Pods are mortal. They are born and when they die, they are not resurrected) * No persistence Storage * Client Cookies can be used to make service stateless -* [cncf.io: Advanced Kubernetes pod to node scheduling](https://www.cncf.io/blog/2021/07/27/advanced-kubernetes-pod-to-node-scheduling/) +* [cncf.io: Advanced Kubernetes pod to node scheduling](https://www.cncf.io/blog/2021/07/27/advanced-kubernetes-pod-to-node-scheduling/) In this article, you'll review some of the use cases for advanced pod scheduling in Kubernetes as well as best practices for implementing it in real-world situations. * [medium: Create A Pod In Kubernetes Cluster](https://medium.com/codex/create-a-pod-in-kubernetes-cluster-b9e0c33bb904) Learn what is Pod and how to create a Pod in the Kubernetes cluster. * [cloudsavvyit.com: How to Scale Docker Containers Across Servers Using Kubernetes](https://www.cloudsavvyit.com/13039/how-to-scale-docker-containers-across-servers-using-kubernetes/) * [Kubernetes. Label and Selector. Important Topic. Identify object in cluster. CKA Exam Tips](https://www.youtube.com/watch?app=desktop&v=Vh3piGAxcf8&ab_channel=AlokKumar) @@ -430,6 +443,7 @@ * [itnext.io: Evolution of PaaSes to Platform-as-Code in Kubernetes world](https://itnext.io/evolution-of-paases-to-platform-as-code-in-kubernetes-world-74464b0013ca) * [medium: Wordpress High Availability on Kubernetes](https://medium.com/@icheko/wordpress-high-availability-on-kubernetes-f6c0bcc2f28d) Wordpress is configured to support two separate ingress paths — a private for edits and a public for read-only traffic. By “read-only”, mean that Wordpress is only able to execute SELECTs on the DB. The HA MySQL cluster is accomplished using oracle’s mysql-operator. This makes it extremely easy to handle the master-slave replication for the DB side of things. * [cloudfoundry.org: Deploy A Laravel Application To Kubernetes Using Cloud Foundry](https://www.cloudfoundry.org/blog/deploy-laravel-app-to-k8s-with-cf/) This tutorial uses the Google Kubernetes Engine (GKE). However, the steps followed in this guide can be applied to Kubernetes clusters running on any cloud provider, as long as Cloud Foundry (cf-for-k8s) has been installed on it. Also, the series of install steps outlined here can function for any “composer” based PHP application such as Drupal, Symfony, etc. +* [thenewstack.io: The State of Kubernetes: Key Challenges and the Role of AI](https://thenewstack.io/the-state-of-kubernetes-key-challenges-and-the-role-of-ai/) ### kubeconfig * [medium: Mastering the KUBECONFIG file](https://medium.com/@ahmetb/mastering-kubeconfig-4e447aa32c75) @@ -595,6 +609,10 @@ - [evancordell.com: 16 things you didn't know about Kube APIs and CRDs](https://evancordell.com/posts/kube-apis-crds/) - [martinheinz.dev: Could Kubernetes Pods Ever Become Deprecated? 🌟](https://martinheinz.dev/blog/53) **Could a core object or API in Kubernetes, such as Pod, Deployment or Service be removed and if so, how would that go?** +#### Multi-Cluster Services API +- [thenewstack.io: Extending Kubernetes Services with Multi-Cluster Services API](https://thenewstack.io/extending-kubernetes-services-with-multi-cluster-services-api/) +- [kubernetes.io: Introducing ClusterClass and Managed Topologies in Cluster API](https://kubernetes.io/blog/2021/10/08/capi-clusterclass-and-managed-topologies/) The Cluster API community is happy to announce the implementation of ClusterClass and Managed Topologies, a new feature that will greatly simplify how you can provision, upgrade, and operate multiple Kubernetes clusters in a declarative way. + ### Kubernetes Health Checks/Probes. Startup, Liveness, Readiness * [medium: How to Perform Health checks in Kubernetes (K8s)](https://medium.com/faun/how-to-perform-health-checks-in-kubernetes-k8s-a4e5300b1f9d) * [If you have a livenessProbe that takes over one second, it’ll fail when you update to kubernetes 1.20, because a long-standing bug with how the default was handled has been fixed. You must override the ExecProbeTimeout if your probe takes more than 1s](https://github.com/kubernetes/kubernetes/pull/97057) @@ -670,6 +688,12 @@ * [containiq.com: Setting and Rightsizing Kubernetes Resource Limits | Best Practices](https://www.containiq.com/post/setting-and-rightsizing-kubernetes-resource-limits) Part of managing a Kubernetes cluster is making sure your clusters aren’t using too many resources. Let’s walk through the concepts of setting and rightsizing resource limits for Kubernetes. * [freecodecamp.org: How to Make Your Enterprise Kubernetes Environment Secure, Efficient, and Reliable](https://www.freecodecamp.org/news/make-your-kubernetes-environment-secure-efficient-reliable/) * [geekflare.com: Diez mejores prácticas de Kubernetes para una mejor orquestación de contenedores](https://geekflare.com/es/kubernetes-best-practices/) +* [containerjournal.com: 4 Expert-Level Things I Wish I’d Known About Kubernetes](https://containerjournal.com/features/4-expert-level-things-i-wish-id-known-about-kubernetes/) +* [dev.to: Prevent Configuration Errors in Kubernetes](https://dev.to/solegaonkar/prevent-configuration-errors-in-kubernetes-30dn) + +
+![k8s experts be like](images/k8sexpertsbelike.jfif) +
### Disruptions - [thenewstack.io: Kubernetes: Use PodDisruptionBudgets for Application Maintenance and Upgrades](https://thenewstack.io/kubernetes-use-poddisruptionbudgets-for-application-maintenance-and-upgrades/) @@ -727,6 +751,8 @@ * [medium: Replication Controller & Replica sets in Kubernetes](https://medium.com/avmconsulting-blog/replication-controller-replica-sets-in-kubernetes-820f3cec7170) * [kubermatic.com: The Complete Guide to Kubernetes Metrics](https://www.kubermatic.com/blog/the-complete-guide-to-kubernetes-metrics/) * [arabitnetwork.com: K8S – Enabling Auditing Logs | Step-by-Step](https://arabitnetwork.com/2021/03/13/k8s-enabling-auditing-logs-step-by-step/) +* [youtube.com: Cloud Quick POCs - Kubernetes monitoring metrics using Grafana Cloud on AWS EKS | Observability | Grafana](https://www.youtube.com/watch?v=FVDHWPxK5nU&ab_channel=CloudQuickPOCs) +* [loft.sh: Kubernetes Cost Monitoring with Prometheus & Grafana](https://loft.sh/blog/kubernetes-cost-monitoring-with-prometheus-and-grafana/) #### Logging in Kubernetes - [cncf.io: Logging in Kubernetes: EFK vs PLG Stack](https://www.cncf.io/blog/2020/07/27/logging-in-kubernetes-efk-vs-plg-stack/) @@ -872,7 +898,7 @@ * [thenewstack.io: 5 Best Practices to Back up Kubernetes](https://thenewstack.io/5-best-practices-to-back-up-kubernetes/) * [tennexas.com: Kubernetes Troubleshooting Examples](https://tennexas.com/kubernetes-troubleshooting-examples/) * [levelup.gitconnected.com: 5 tips for troubleshooting apps on Kubernetes](https://levelup.gitconnected.com/5-tips-for-troubleshooting-apps-on-kubernetes-835b6b539c24) -* [medium: Common Kubernetes Errors Made by Beginners [2021]🌟](https://medium.com/nerd-for-tech/common-kubernetes-errors-made-by-beginners-274b50e18a01) +* [medium: Common Kubernetes Errors Made by Beginners [2021] 🌟](https://medium.com/nerd-for-tech/common-kubernetes-errors-made-by-beginners-274b50e18a01) * [cloud.redhat.com: Troubleshooting Sandboxed Containers Operator](https://cloud.redhat.com/blog/sandboxed-containers-operator-from-zero-to-hero-the-hard-way-part-2) * [komodor.com: Kubernetes Troubleshooting: The Complete Guide](https://komodor.com/learn/kubernetes-troubleshooting-the-complete-guide/) * [andydote.co.uk: The Problem with CPUs and Kubernetes](https://andydote.co.uk/2021/06/02/os-cpus-and-kubernetes/) @@ -991,6 +1017,7 @@ - [betterprogramming.pub: 10 Anti-Patterns for Kubernetes Deployments](https://betterprogramming.pub/10-antipatterns-for-kubernetes-deployments-e97ce1199f2d) Common practices in Kubernetes deployments that have better solutions - [medium: Kubernetes — Learn Init Container Pattern](https://medium.com/bb-tutorials-and-thoughts/kubernetes-learn-init-container-pattern-7a757742de6b) Understanding Init Container Pattern With an Example Project. - [weave.works: Tools for Automating and Implementing Cloud Native Patterns](https://www.weave.works/blog/tools-for-automating-and-implementing-cloud-native-patterns) +- [dzone: Microservices Patterns: Sidecar](https://dzone.com/articles/microservices-patterns-sidecar) Learn about Microservice architecture and single responsibility principle, know more on how to achieve it using sidecars. [![Top 10 Kubernetes patterns](images/top_10_kubernetes_patterns.png)](https://developers.redhat.com/blog/2020/05/11/top-10-must-know-kubernetes-design-patterns/) @@ -1183,6 +1210,8 @@ + +
diff --git a/docs/linux.md b/docs/linux.md index 601e9bf2..0f725b11 100644 --- a/docs/linux.md +++ b/docs/linux.md @@ -186,6 +186,7 @@ - [linuxteck.com: 13 Top command in Linux (Monitor Linux Server Processes) 🌟](https://www.linuxteck.com/13-top-command-in-linux/) - [cyberciti.biz: How to use df command in Linux / Unix {with examples}](https://www.cyberciti.biz/faq/df-command-examples-in-linux-unix/) - [commandlinefu.com: Compare directories via diff](https://www.commandlinefu.com/commands/view/9116/compare-directories-via-diff): `diff -rq dirA dirB` +- [opensource.com: Check Java processes on Linux with the jps command](https://opensource.com/article/21/10/check-java-jps) With many processes running on a system, it's useful to have a quick way to identify only Java with the jps command. ## BusyBox - [busybox.net](https://www.busybox.net/) BusyBox: The Swiss Army Knife of Embedded Linux @@ -217,6 +218,7 @@ - [redhat.com: 2 Bash commands to change strings in multiple files at once](https://www.redhat.com/sysadmin/edit-text-bash-command) Search and replace text in several files simultaneously, right from the Linux terminal, to gain efficiency and minimize mistakes. - [cyberciti.biz: Bash Read Comma Separated CSV File on Linux / Unix](https://www.cyberciti.biz/faq/unix-linux-bash-read-comma-separated-cvsfile) - [fedoramagazine.org: Bash Shell Scripting for beginners (Part 1)](https://fedoramagazine.org/bash-shell-scripting-for-beginners-part-1/) +- [igoroseledko.com: Awk & sed Snippets for SysAdmins](https://www.igoroseledko.com/awk-sed-snippets-for-sysadmins/) ## Automation. Bash VS Python VS JavaScript - [betterprogramming.pub: Bash vs. Python vs. JavaScript: Which Is Better for Automation? 🌟](https://betterprogramming.pub/bash-vs-python-vs-javascript-which-is-better-for-automation-92a277ef49e) Comparing the pros and cons of Bash, Python, and JavaScript-based Shell scripts diff --git a/docs/managed-kubernetes-in-public-cloud.md b/docs/managed-kubernetes-in-public-cloud.md index f33210cc..340cc8ad 100644 --- a/docs/managed-kubernetes-in-public-cloud.md +++ b/docs/managed-kubernetes-in-public-cloud.md @@ -104,6 +104,7 @@ * [aws.plainenglish.io: 6 Tips to Improve Availability with AWS Load Balancers and Kubernetes](https://aws.plainenglish.io/6-tips-to-improve-availability-with-aws-load-balancers-and-kubernetes-ad8d4d1c0f61) * [aws.amazon.com: Using Prometheus Adapter to autoscale applications running on Amazon EKS](https://aws.amazon.com/blogs/mt/automated-scaling-of-applications-running-on-eks-using-custom-metric-collected-by-amazon-prometheus-using-prometheus-adapter/) * [youtube: CloudGeeks - Terraform Eks Kubernetes RDS Secrets Manager Eksctl Cloudformation ALB Controller (Redmine App)](https://www.youtube.com/watch?v=OFZYIr66Ku4&ab_channel=cloudgeeksinc) - [quickbooks2018/eks-redmin](https://github.com/quickbooks2018/eks-redmin) +* [aws.amazon.com: Kubernetes Ingress with AWS ALB Ingress Controller](https://aws.amazon.com/blogs/opensource/kubernetes-ingress-aws-alb-ingress-controller/) ### EKS Anywhere (on premises) - [EKS Anywhere: github.com/aws/eks-anywhere](https://github.com/aws/eks-anywhere) Run Amazon EKS on your own infrastructure @@ -160,6 +161,8 @@ - [medium: AKS — different load balancing options. When to use what?](https://medium.com/microsoftazure/aks-different-load-balancing-options-for-a-single-cluster-when-to-use-what-abd2c22c2825) - [medium: Going multicloud with kubernetes and Azure Front Door](https://medium.com/microsoftazure/going-multicloud-with-kubernetes-and-azure-front-door-f34a2f39068a) Kubernetes/AKS/GKE/MultiCloud/Azure Front Door - [docs.microsoft.com: Best practices for cluster isolation in Azure Kubernetes Service (AKS)](https://docs.microsoft.com/en-us/azure/aks/operator-best-practices-cluster-isolation) +- [docs.cloudblue.com: Deploying an AKS Cluster with Custom IP Ranges (ARM template)](https://docs.cloudblue.com/cbc/20.5/premium/content/Deployment-of-Product-to-Azure-Cloud-Guide/Deploying-AKS-Cluster-with-Custom-IP-Ranges.htm) +- [k21academy.com: Azure Kubernetes Service & Azure Container Instances For Beginners 🌟](https://k21academy.com/microsoft-azure/az-303/azure-container-instances-and-kubernetes-service) ## GKE Google Kubernetes Engine - [Fetches all Primitive and Predefined GCP IAM Roles](https://github.com/darkbitio/gcp-iam-role-permissions) diff --git a/docs/maven-gradle.md b/docs/maven-gradle.md index 63296496..a012327c 100644 --- a/docs/maven-gradle.md +++ b/docs/maven-gradle.md @@ -38,6 +38,7 @@ * [blog.testproject.io: Getting Started with Maven in Less Than 10 Minutes – Part 2](https://blog.testproject.io/2021/06/28/getting-started-with-maven-part-2/) * Maven 3.8.2 is available now! It contains several fixes and non invasive backports from the Maven 4 branch. * [phauer.com: Why I Moved Back from Gradle to Maven](https://phauer.com/2018/moving-back-from-gradle-to-maven/) +* [rieckpil.de: Maven Setup For Testing Java Applications](https://rieckpil.de/maven-setup-for-testing-java-applications/) ### Scaffolding a project with Maven (maven archetype) * [vogella.com: Maven for Building Java application - Tutorial](https://www.vogella.com/tutorials/ApacheMaven/article.html) @@ -120,4 +121,5 @@ jar tf target/example-1.0.0-SNAPSHOT.jar * [Jenkins Pipeline Maven build demo](https://github.com/wololock/jenkine-pipeline-maven-demo/tree/sdkman) ## Related Tools -* [jitpack.io 🌟](https://jitpack.io) Easy to use package repository for Git. Publish your JVM and Android libraries. Publishing your own library to the Maven Central repository may be a painful experience. Therefore, you may just create a GitHub Release for your library, and then include it as a dependency using jitpack. \ No newline at end of file +* [jitpack.io 🌟](https://jitpack.io) Easy to use package repository for Git. Publish your JVM and Android libraries. Publishing your own library to the Maven Central repository may be a painful experience. Therefore, you may just create a GitHub Release for your library, and then include it as a dependency using jitpack. +* [JBang](https://www.jbang.dev/) Run Java code directly. Reuse Maven dependencies with ease. Lets Students, Educators and Professional Developers create, edit and run self-contained source-only Java programs with unprecedented ease. \ No newline at end of file diff --git a/docs/message-queue.md b/docs/message-queue.md index 33dcd15c..cd85328b 100644 --- a/docs/message-queue.md +++ b/docs/message-queue.md @@ -116,6 +116,7 @@ - [devops.com: Best of 2019: Implementing Message Queue in Kubernetes](https://devops.com/implementing-message-queue-in-kubernetes/) - [kubemq.io: Kafka VS KubeMQ 🌟](https://kubemq.io/kafka-vs-kubemq/) - [github.com/kubemq-io/kubemq-community 🌟](https://github.com/kubemq-io/kubemq-community) KubeMQ community version is now available as an open-source project! +- [dzone: KubeMQ: A Modern Alternative to Kafka](https://dzone.com/articles/seamless-migration-from-kafka-to-kubemq) This article introduces a modern, Kubernetes-native message queue called KubeMQ, to show how organizations trying to implement Kafka on Kubernetes can benefit from it. ### Google Cloud Platform Pub/Sub - [Google Cloud Platform Pub/Sub](https://cloud.google.com/pubsub/docs/overview) @@ -259,6 +260,7 @@ comsysto about their usage of Debezium, touching on many details like outbox pat - [towardsdatascience.com: Overview of UI Tools for Monitoring and Management of Apache Kafka Clusters](https://towardsdatascience.com/overview-of-ui-tools-for-monitoring-and-management-of-apache-kafka-clusters-8c383f897e80) - [analyticsindiamag.com: How Uber is Leveraging Apache Kafka For More Than 300 Micro Services](https://analyticsindiamag.com/how-uber-is-leveraging-apache-kafka-for-more-than-300-micro-services/) - [itnext.io: Securely Decoupling Kubernetes-based Applications on Amazon EKS using Kafka with SASL/SCRAM](https://itnext.io/securely-decoupling-applications-on-amazon-eks-using-kafka-with-sasl-scram-48c340e1ffe9) Securely decoupling Go-based microservices on Amazon EKS using Amazon MSK with IRSA, SASL/SCRAM, and data encryption +- [medium: Running Kafka in Kubernetes, Part 1: Why we migrated our Kafka clusters to Kubernetes](https://medium.com/transferwise-engineering/running-kafka-in-kubernetes-part-1-why-we-migrated-our-kafka-clusters-to-kubernetes-722101a2e751) At Wise, we chose to migrate our Apache Kafka clusters, previously running on Amazon Web Services (AWS) EC2 instances, into a multi-cluster Kubernetes setup. This article is the first part of a two-part series aiming to outline the motivations behind this choice and the challenges we faced. #### Strimzi kubernetes operator for apache kafka - [strimzi.io](https://strimzi.io/) diff --git a/docs/monitoring.md b/docs/monitoring.md index ff5f2c01..444e6dde 100644 --- a/docs/monitoring.md +++ b/docs/monitoring.md @@ -55,7 +55,7 @@ * [learnsteps.com: Monitoring Infrastructure System Design](https://www.learnsteps.com/monitoring-infrastructure-system-design/) * [bravenewgeek.com: The Observability Pipeline](https://bravenewgeek.com/the-observability-pipeline/) * [thenewstack.io: 3 Key Configuration Challenges for Kubernetes Monitoring with Prometheus](https://thenewstack.io/3-key-configuration-challenges-for-kubernetes-monitoring-with-prometheus/) -* [sysdig.com: Kubernetes Monitoring with Prometheus 🌟](https://sysdig.com/blog/kubernetes-monitoring-prometheus/) +* [sysdig.com: Kubernetes Monitoring with Prometheus, the ultimate guide 🌟](https://sysdig.com/blog/kubernetes-monitoring-prometheus/) * [sysdig.com: How to monitor kube-proxy 🌟](https://sysdig.com/blog/monitor-kube-proxy/) In this article, you will learn how to monitor kube-proxy to ensure the correct health of your cluster network. * [thenewstack.io: Monitoring vs. Observability: What’s the Difference?](https://thenewstack.io/monitoring-vs-observability-whats-the-difference/) * [getenroute.io: TSDB, Prometheus, Grafana In Kubernetes: Tracing A Variable Across The OSS Monitoring Stack](https://getenroute.io/blog/leverage-open-source-oss-derive-insights-grafana-prometheus-tsdb-kubernetes-standalone-api-gateway/) @@ -87,6 +87,7 @@ * [stackoverflow.blog: Observability is key to the future of software (and your DevOps career)](https://stackoverflow.blog/2021/09/08/observability-is-key-to-the-future-of-software-and-your-devops-career/) Observability platforms enable you to easily figure out what’s happening with every request and to identify the cause of issues fast. Learning the principles of observability and OpenTelemetry will set you apart from the crowd and provide you with a skill set that will be in increasing demand as more companies perform cloud migrations. * [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/) ### Key Performance Indicator (KPI) * [KPIs](https://kpi.org/KPI-Basics) diff --git a/docs/ocp4.md b/docs/ocp4.md index 24c1a164..3118e03c 100644 --- a/docs/ocp4.md +++ b/docs/ocp4.md @@ -135,6 +135,7 @@ * [developers.redhat.com: Composable software catalogs on Kubernetes: An easier way to update containerized applications](https://developers.redhat.com/articles/2021/08/20/composable-software-catalogs-kubernetes-easier-way-update-containerized) * [cloud.redhat.com: Announcing Bring Your Own Host Support for Windows nodes to Red Hat OpenShift](https://cloud.redhat.com/blog/announcing-bring-your-own-host-support-for-windows-nodes-to-red-hat-openshift) * [cloud.redhat.com: OpenShift Sandboxed Containers Operator From Zero to Hero, the Hard Way. The Operator Framework and Its Usage](https://cloud.redhat.com/blog/openshift-sandboxed-containers-operator-from-zero-to-hero-the-hard-way) +* [developers.redhat.com: Get started with OpenShift Service Registry](https://developers.redhat.com/articles/2021/10/11/get-started-openshift-service-registry) ### OpenShift sizing and subscription guide - [redhat.com: OpenShift sizing and subscription guide for enterprise Kubernetes 🌟](https://www.redhat.com/en/resources/openshift-subscription-sizing-guide-detail) diff --git a/docs/other-awesome-lists.md b/docs/other-awesome-lists.md index 163fb0da..e2b7b6cf 100644 --- a/docs/other-awesome-lists.md +++ b/docs/other-awesome-lists.md @@ -36,11 +36,12 @@ - [tomhuang12: Awesome Kubernetes Resources](https://github.com/tomhuang12/awesome-k8s-resources) - [@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 - [kubetools 🌟](https://collabnix.github.io/kubetools/) +- [Awesome kubetools](http://dockerlabs.collabnix.com/kubernetes/kubetools/) Curated List of Kubernetes Tools - [kubetools 🌟](https://collabnix.github.io/kubetools/) - [github.com/collabnix/kubetools](https://github.com/collabnix/kubetools) - [kubezilla.com: Kubetools – Curated List of Kubernetes Tools](https://kubezilla.com/tools/) - [magnologan/awesome-k8s-security: Awesome Kubernetes (K8s) Security 🌟](https://github.com/magnologan/awesome-k8s-security) - [ksoclabs/awesome-kubernetes-security 🌟](https://github.com/ksoclabs/awesome-kubernetes-security) A curated list of awesome Kubernetes security resources - [rootsongjc/awesome-cloud-native 🌟](https://github.com/rootsongjc/awesome-cloud-native) +- [k8s-at-home/awesome-home-kubernetes](https://github.com/k8s-at-home/awesome-home-kubernetes) Awesome projects involving running Kubernetes at home ## Other Awesome Lists - [free-for.dev 🌟](https://free-for.dev) This is a list of software (SaaS, PaaS, IaaS, etc.) and other offerings that have free tiers for developers. @@ -54,6 +55,7 @@ - [test-your-sysadmin-skills](https://github.com/trimstray/test-your-sysadmin-skills) A collection of Linux Sysadmin Test Questions and Answers. Test your knowledge and skills in different fields with these Q/A. - [How they SRE](https://github.com/upgundecha/howtheysre) A curated collection of publicly available resources on how technology and tech-savvy organizations around the world practice Site Reliability Engineering (SRE) - [Tech Interview Handbook](https://github.com/yangshun/tech-interview-handbook) Materials to help you rock your next coding interview +- [hashicorp.com: HashiCorp Learning Resources Reference Guide 🌟](https://www.hashicorp.com/blog/hashicorp-learning-resources-reference-guide) Read this curated list of HashiCorp learning resources to help practitioners and organizations better understand the cloud operating model. ### Project Management - [Awesome Project Management](https://github.com/shahedbd/awesome-project-management) - [Awesome Agile](https://github.com/lorabv/awesome-agile) @@ -75,6 +77,7 @@ ### DevOps - [Awesome DevOps](https://github.com/awesome-soft/awesome-devops) +- [bregman-arie/devops-resources 🌟](https://github.com/bregman-arie/devops-resources) DevOps resources - Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP ### GitOps - [Awesome-GitOps](https://github.com/weaveworks/awesome-gitops) @@ -138,6 +141,9 @@ - [Awesome Go](https://github.com/avelino/awesome-go) - [awesome-go.com](https://awesome-go.com/) - [golangrepo.com 🌟](https://golangrepo.com/) Find The Best Go Repositories For Your Project. A curated list of awesome Go frameworks, libraries and software. +- Awesome .NET Core: + - [thangchung/awesome-dotnet-core](https://github.com/thangchung/awesome-dotnet-core) + - [quozd/awesome-dotnet](https://github.com/quozd/awesome-dotnet) - [github.com/charlax/professional-programming: A collection of full-stack resources for programmers 🌟](https://github.com/charlax/professional-programming) Free resources⚡ - Books - Articles diff --git a/docs/project-management-methodology.md b/docs/project-management-methodology.md index f8b699fc..20d6d6d5 100644 --- a/docs/project-management-methodology.md +++ b/docs/project-management-methodology.md @@ -47,6 +47,7 @@ - [hbr.org: As Your Team Gets Bigger, Your Leadership Style Has to Adapt](https://hbr.org/2019/03/as-your-team-gets-bigger-your-leadership-style-has-to-adapt) - [carlos-piqueres.medium.com: Product Backlog vs Sprint Backlog](https://carlos-piqueres.medium.com/product-backlog-vs-sprint-backlog-c951f972e979) - [entrepreneur.com: ¿Cómo manejar un equipo que trabaja desde sus casas?](https://www.entrepreneur.com/article/365880) +- [skamille.medium.com: How New Managers Fail Individual Contributors](https://skamille.medium.com/how-new-managers-fail-individual-contributors-839a13bda1c5) ### Team Topologies - [itrevolution.com: The Problem With Org Charts](https://itrevolution.com/the-problem-with-org-charts/) @@ -132,6 +133,8 @@

6 questions I try to answer before starting any new project:

1. What problem am I solving?
2. What constraints do I have?
3. Who are the main stakeholders?
4. What are the risks?
5. How do I measure progress?
6. What does success look like?

Don't sail without a compass.

— Santiago (@svpino) May 16, 2021

We really need to normalize the conversation around big tech and promotion processes that lead to unnecessary complexity and waste. https://t.co/pAfErKPKBH

— Kelsey Hightower (@kelseyhightower) September 27, 2021
+ +

I can't stop thinking how easier it looks to adjust to new organizations as a manager vs software engineer. Institutional knowledge, historical background, footprint/track record, and connections matter a lot more when you are a senior engineer.

— Jaana Dogan at KubeCon ヤナ ドガン (@rakyll) October 5, 2021
diff --git a/docs/prometheus.md b/docs/prometheus.md index 674b9970..5f0181f0 100644 --- a/docs/prometheus.md +++ b/docs/prometheus.md @@ -111,6 +111,7 @@ * [youtube: Monitoring your k6 load test: how to install Grafana and Prometheus on a Kubernetes cluster](https://www.youtube.com/watch?v=GL2v81xYuAQ&ab_channel=k6) * [blog.couchbase.com: How to Build Observability Dashboards with Prometheus, Grafana & Couchbase](https://blog.couchbase.com/how-to-build-observability-dashboards-prometheus-grafana-couchbase/) * [sysdig.com: How to monitor Redis with Prometheus](https://sysdig.com/blog/redis-prometheus/) +* [jfrog.com: Don’t let Prometheus Steal your Fire](https://jfrog.com/blog/dont-let-prometheus-steal-your-fire/) **Real world secrets exposed by unsafe defaults** [![prometheus architecture](images/prometheus-architecture.png)](https://github.com/prometheus/prometheus) diff --git a/docs/public-cloud-solutions.md b/docs/public-cloud-solutions.md index f0e989d8..714b0a62 100644 --- a/docs/public-cloud-solutions.md +++ b/docs/public-cloud-solutions.md @@ -13,6 +13,7 @@ * [zarantech.com: Difference between AWS and Azure](https://www.zarantech.com/blog/difference-between-aws-and-azure/) * [medium: AWS vs Azure — Battle Of The Best Cloud Computing Platforms](https://medium.com/edureka/aws-vs-azure-1a882339f127) * [youtube: A Cloud Guru - Cloud Provider Comparisons 🌟](https://www.youtube.com/playlist?app=desktop&list=PLI1_CQcV71RnBebKm_tH1uKYI3WxkM2TT) +* [xataka.com: El talón de Aquiles de AWS son sus altas tarifas de salida de datos, y sus rivales empiezan a explotarlo: guerra de precios contra el gigante de la nube](https://www.xataka.com/pro/talon-aquiles-aws-sus-altas-tarifas-salida-datos-sus-rivales-empiezan-a-explotarlo-guerra-precios-gigante-nube) ## Openshift as a Service * [Openshift.com pricing](https://www.openshift.com/products/pricing/) diff --git a/docs/python.md b/docs/python.md index 50b49579..6f9236d6 100644 --- a/docs/python.md +++ b/docs/python.md @@ -152,6 +152,10 @@ - [towardsdatascience.com: 12 Of My Favorite Python Practices For Better Functions](https://towardsdatascience.com/12-of-my-favorite-python-practices-for-better-functions-7a21d18cfb38) - [towardsdatascience.com: Stop Hardcoding Sensitive Data in Your Python Applications](https://towardsdatascience.com/stop-hardcoding-sensitive-data-in-your-python-applications-86eb2a96bec3) **Keep your settings and credentials private with .env files** - [towardsdatascience.com: How Not to Use Python Lists](https://towardsdatascience.com/how-not-to-use-python-lists-d06cbe8e593) Understanding Mutable Objects in Python. +- [pythonsimplified.com: Understanding Python map function](https://pythonsimplified.com/understanding-python-map-function/) +- [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) ## 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/recruitment.md b/docs/recruitment.md index e2024cea..5c009e72 100644 --- a/docs/recruitment.md +++ b/docs/recruitment.md @@ -6,7 +6,8 @@ - [Soft Skills](#soft-skills) - [Fair Job Offer](#fair-job-offer) - [Writing a CV](#writing-a-cv) -- [Tweets 1](#tweets-1) +- [Tweets](#tweets) +- [Images](#images) ## Introduction - [protocol.com: Developer experience is the next major competitive front in enterprise tech](https://www.protocol.com/caavo-remote-senior-living-facilities) Now that cloud is old news and APIs launch major businesses, the most successful companies over the next decade of enterprise tech will delight their customers. - [tigerabrodi.hashnode.dev: Interviewing software developers](https://tigerabrodi.hashnode.dev/interviewing-software-developers) Tips when interviewing software developers, find the right candidate @@ -19,7 +20,9 @@ - [wired.co.uk: The Great Resignation is here and no one is prepared](https://www.wired.co.uk/article/great-resignation-quit-job) Around the world, workers are quitting their jobs in record numbers – and bosses are still scrambling to figure out how to keep them - [linkedin.com: Look Before You Leap!](https://www.linkedin.com/pulse/look-before-you-leap-sarah-robb-o-hagan) Employees are leaving their workplaces in record numbers in a wave named "#TheGreatResignation.” - [forbes.com: ‘The Great Resignation’: Why Gen Z Is Leaving The Workforce In Droves…And What To Do About It](https://www.forbes.com/sites/jasonwingard/2021/09/02/the-great-resignation-why-gen-z-is-leaving-the-workforce-in-drovesand-what-to-do-about-it) +- [news.slashdot.org: A Record Number of Workers Are Quitting Their Jobs, Empowered by New Leverage](https://news.slashdot.org/story/21/10/12/1818252/a-record-number-of-workers-are-quitting-their-jobs-empowered-by-new-leverage) - [magnet.xataka.com: La "gran renuncia" americana, o cómo los trabajadores se han hartado del sistema y están dejando sus empleos](https://magnet.xataka.com/en-diez-minutos/gran-renuncia-americana-como-trabajadores-se-han-hartado-sistema-estan-dejando-sus-empleos) +- [xataka.com: La Gran Renuncia: en EEUU los empleados están dejando en masa sus trabajos, la gran pregunta es si veremos esto (y cuándo) en España](https://www.xataka.com/pro/gran-renuncia-eeuu-empleados-estan-dejando-masa-sus-trabajos-gran-pregunta-veremos-esto-cuando-espana) - [news.ncsu.edu: Tech Sector Job Interviews Assess Anxiety, Not Software Skills](https://news.ncsu.edu/2020/07/tech-job-interviews-anxiety/) - [lynnlangit.medium.com: Tech Anti-Interviewing](https://lynnlangit.medium.com/tech-anti-interviewing-106674655ea0) How to avoid tech interviews as we know them - [blog.pragmaticengineer.com: The Most Heated Tech Job Market in History: Advice for Software Engineers](https://blog.pragmaticengineer.com/advice-for-tech-workers-to-navigate-a-heated-job-market/) @@ -45,7 +48,7 @@ ## Writing a CV - [forbes.com: What Do Employers Want To See In Your CV?](https://www.forbes.com/sites/andrewfennell/2021/09/08/what-do-employers-want-to-see-in-your-cv/) -## Tweets 1 +## Tweets
Click to expand! @@ -92,16 +95,26 @@

I will never understand why tech companies optimize interviews for a college grad to do better than someone with ten years of experience.

— Randall Kanna (@RandallKanna) September 30, 2021
-

I 10x’d my salary as a developer in 5 years. Here’s how:

Just start real fucking low 🤣

— Trisha Lim 🍪 (@trishathecookie) September 30, 2021
-

Ayer me pegué una juerga. Una de las de verdad, de decir "te quiero tío" a los colegas y volver a casa hecho unos zorros. Pero, como casi todo lo que comento, lo importante no es qué hice, sino por qué. Hoy: cómo ha cambiado el covid nuestra relación con el trabajo. Dentro hilo.

— Dani Sanchez-Crespo (@DaniNovarama) October 2, 2021

Everyone is hiring. Everyone is understaffed. Everyone is sticking to the same ineffective and inequitable interview processes. Everyone remains understaffed.

— Tashay (@tashay_g) October 1, 2021
+ +

9⃣cloud-related jobs you can do 🔥

Cloud Administrator
Cloud (Solution) Architect
Cloud Developer
Cloud DevOps Engineer
Cloud Data Engineer
Cloud Operations Engineer
Cloud Security Engineer
Cloud Support Engineer
Cloud AI/ML Engineer

So many opportunities in the cloud ...☁️

— Simon ☁️ (@simonholdorf) October 4, 2021
+ +

This is not just Nigeria, but worldwide.

If you work in IT: you’re usually seen cost center, typically in a “traditional” company.

If you work in tech, you’re typically viewed as a profit generator, and core to the company. Both autonomy, motivation and pay tend to be higher. https://t.co/z579RoAS3I

— Gergely Orosz (@GergelyOrosz) October 6, 2021
+ +

Unpopular opinion: I don’t think being a 10x engineer is a persona. 10xness is specific to projects and what orgs allow you to do. It’s a combination of having authority and skills to execute. It depends on the momentary situation and it’s not always repeatable. https://t.co/xSMY50OouT

— Jaana Dogan at KubeCon ヤナ ドガン (@rakyll) October 10, 2021
+ +

Irish and German people offering things pic.twitter.com/AoPgWJpK6L

— Killian Sundermann (@killersundymann) October 7, 2021
+## Images +
+ Click to expand! +
![interviews getting harder](images/interviews_getting_harder.jfif)
- +
diff --git a/docs/servicemesh.md b/docs/servicemesh.md index 4e8fee60..726a569c 100644 --- a/docs/servicemesh.md +++ b/docs/servicemesh.md @@ -91,6 +91,7 @@ - [nais.io: Changing Service Mesh](https://nais.io/blog/posts/2021/05/changing-service-mesh.html) How we swapped Istio with Linkerd with hardly any downtime - [linkerd.io: Announcing Linkerd's Graduation](https://linkerd.io/2021/07/28/announcing-cncf-graduation/) - [containerjournal.com: Linkerd’s CNCF Graduation Due to its Simplicity](https://containerjournal.com/features/linkerds-cncf-graduation-due-to-its-simplicity/) +- [nais.io: Changing Service Mesh](https://nais.io/blog/posts/2021/05/changing-service-mesh.html) How we swapped Istio with Linkerd with hardly any downtime "[Installed @Linkerd in staging yesterday using Helm and Terraform](https://twitter.com/DanielJamesPost). It was incredibly easy to setup and immediately helped me diagnose tricky latency issues between services. I have no idea why I didn’t do this sooner. Can’t wait to get this into production." diff --git a/docs/terraform.md b/docs/terraform.md index 2488ad53..b53bcf99 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -1,4 +1,5 @@ # Hashicorp Packer & Terraform +- [HashiCorp Learning Resources Reference Guide](#hashicorp-learning-resources-reference-guide) - [Packer](#packer) - [Terraform](#terraform) - [AWSCC. Terraform AWS Cloud Control Provider](#awscc-terraform-aws-cloud-control-provider) @@ -10,6 +11,7 @@ - [Best Practices](#best-practices) - [Terraform and CI/CD](#terraform-and-cicd) - [Terraform and Kubernetes](#terraform-and-kubernetes) + - [Hashicorp Terraform Kubernetes Collection](#hashicorp-terraform-kubernetes-collection) - [Learnk8s Terraform and Managed Kubernetes](#learnk8s-terraform-and-managed-kubernetes) - [OpenShift and Terraform](#openshift-and-terraform) - [Terraform Kubernetes Operator](#terraform-kubernetes-operator) @@ -22,7 +24,6 @@ - [Terraform Video Tutorials](#terraform-video-tutorials) - [CDK for Terraform](#cdk-for-terraform) - [Graph Visualization Software](#graph-visualization-software) -- [Gruntwork](#gruntwork) - [Terraform Modules](#terraform-modules) - [Segment AWS Stack Terraform Modules](#segment-aws-stack-terraform-modules) - [Terraform Providers](#terraform-providers) @@ -30,8 +31,13 @@ - [Enforce Policy with Sentinel](#enforce-policy-with-sentinel) - [Reverse terraform with Terraformer](#reverse-terraform-with-terraformer) - [Terraform Tools](#terraform-tools) +- [Terraform Frameworks](#terraform-frameworks) + - [Gruntwork Terragrunt](#gruntwork-terragrunt) + - [Terraspace](#terraspace) - [Tweets](#tweets) +## HashiCorp Learning Resources Reference Guide +- [hashicorp.com: HashiCorp Learning Resources Reference Guide 🌟](https://www.hashicorp.com/blog/hashicorp-learning-resources-reference-guide) Read this curated list of HashiCorp learning resources to help practitioners and organizations better understand the cloud operating model. ## Packer * [packer.io](https://packer.io/) * [packer.io docs](https://www.packer.io/docs/index.html) @@ -195,6 +201,12 @@ * [thenewstack.io: A Better Way to Provision Kubernetes Using Terraform](https://thenewstack.io/a-better-way-to-provision-kubernetes-using-terraform/) * [medium: Deploy Infrastructure with the Terraform Cloud Operator for Kubernetes 🌟](https://medium.com/avmconsulting-blog/deploy-infrastructure-with-the-terraform-cloud-operator-for-kubernetes-a179ea4dbbfe) +### Hashicorp Terraform Kubernetes Collection +- https://github.com/hashicorp/learn-terraform-provision-aks-cluster +- 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 + #### 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. * [learnk8s.io/terraform-eks: Provisioning Kubernetes clusters on AWS with Terraform and EKS 🌟](https://learnk8s.io/terraform-eks) Fully automated dev, test, prod environments with EKS, Terraform and the ALB Ingress Controller. @@ -227,6 +239,7 @@ * [stories.schubergphilis.com: (Terraform) AWS management using your Google account](https://stories.schubergphilis.com/terraform-aws-management-using-your-google-account-cfe5ea70c75) * [thenewstack.io: Terraform on AWS: Multi-Account Setup and Other Advanced Tips](https://thenewstack.io/terraform-on-aws-multi-account-setup-and-other-advanced-tips/) * [medium: How to Provision AWS Infrastructure with Terraform? 🌟](https://medium.com/faun/provisioning-aws-infrastructure-with-terraform-6ab885fb3fcb) +* [middlewareinventory.com: Terraform import All AWS Security Groups – How to 🌟](https://www.middlewareinventory.com/blog/terraform-import-securitygroup-aws/) #### Terraform and managed AWS EKS * [learnk8s.io/terraform-eks 🌟](https://learnk8s.io/terraform-eks) Fully automated dev, test, prod environments with EKS, Terraform and the ALB Ingress Controller. @@ -257,13 +270,9 @@ - [dreampuf.github.io/GraphvizOnline](https://dreampuf.github.io/GraphvizOnline/) - [graphviz.online](https://graphviz.online/) -## Gruntwork -- [gruntwork.io](https://gruntwork.io/) -- [towardsdatascience.com: State of the Art Infrastructure as Code](https://towardsdatascience.com/state-of-the-art-infrastructure-as-code-4fbd59d92462) The newest layer of abstraction by Gruntwork that’ll make your life easier. Gruntwork’s Terragrunt is a wrapper over Terraform which concentrates on solving your problems of Terraform state management and configuration. It also solves some of the problems around having similar infrastructure deployed in different environments. -- [blog.gruntwork.io: Introducing: The Gruntwork Module, Service, and Architecture Catalogs](https://blog.gruntwork.io/introducing-the-gruntwork-module-service-and-architecture-catalogs-eb3a21b99f70) - ## Terraform Modules - [offensive-terraform.github.io: Offensive Terraform Modules 🌟](https://offensive-terraform.github.io/offensive-terraform.github.io/) Automated multi step offensive attack modules with Infrastructure as Code(IAC) +- [digitalocean.com: How To Build a Custom Terraform Module](https://www.digitalocean.com/community/tutorials/how-to-build-a-custom-terraform-module) ### Segment AWS Stack Terraform Modules - [The Segment AWS Stack](https://segment.com/blog/the-segment-aws-stack/) @@ -291,6 +300,19 @@ - https://www.jenkins.io/changelog-stable/#v2.289.3 - [Rover - Terraform Visualizer 🌟](https://github.com/im2nguyen/rover) Interactive Terraform visualization. State and configuration explorer. - [hashicorp.com: Rover - Terraform Visualizer](https://www.hashicorp.com/resources/terraform-plan-interactive-configuration-and-state-visualization-with-rover) +- [cloudify.co: Cloudify and Terraform Integration. Supercharge Your Terraform Templates](https://cloudify.co/terraform-integration/) Significantly extend Terraform usability with Cloudify's plugin and enjoy end-to-end automation and avoid costly blueprint transformation. + +## Terraform Frameworks +### Gruntwork Terragrunt +- [gruntwork.io](https://gruntwork.io/) Build your infrastructure on top of a collection of over 300,000 lines of reusable, battle-tested infrastructure code written in Terraform, Go, Python, and Bash that has been proven in production at hundreds of companies and is maintained and supported by DevOps experts. +- [towardsdatascience.com: State of the Art Infrastructure as Code. Terragrunt](https://towardsdatascience.com/state-of-the-art-infrastructure-as-code-4fbd59d92462) The newest layer of abstraction by Gruntwork that’ll make your life easier. **Gruntwork’s Terragrunt** is a wrapper over Terraform which concentrates on solving your problems of Terraform state management and configuration. It also solves some of the problems around having similar infrastructure deployed in different environments. +- [blog.gruntwork.io: Introducing: The Gruntwork Module, Service, and Architecture Catalogs](https://blog.gruntwork.io/introducing-the-gruntwork-module-service-and-architecture-catalogs-eb3a21b99f70) +- [medium: Terragrunt cheat sheet](https://medium.com/geekculture/terragrunt-cheat-sheet-bedafbf9d61f) **What is Terragrunt?** Terragrunt is a framework on top of Terraform with some new tools out-of-the-box. Thanks to some new files *.hcl and new keywords, you can share variables across terraform modules very easily. +- [pie-r/terragrunt-vs-terraspace](https://github.com/pie-r/terragrunt-vs-terraspace) +- [gruntwork-io/terragrunt-infrastructure-live-example](https://github.com/gruntwork-io/terragrunt-infrastructure-live-example) A repo used to show examples file/folder structures you can use with Terragrunt and Terraform + +### Terraspace +- [Terraspace.cloud](https://terraspace.cloud/) Terraspace is a Terraform Framework that optimizes for infrastructure-as-code happiness. It provides an organized structure, conventions over configurations, keeps your code DRY, and adds convenient tooling. Terraspace makes working with Terraform easier and more fun. ## Tweets
diff --git a/docs/visual-studio.md b/docs/visual-studio.md index 35fac65c..7a4d7e14 100644 --- a/docs/visual-studio.md +++ b/docs/visual-studio.md @@ -48,6 +48,8 @@ * [freecodecamp.org: 10 VS Code Extensions to Increase Your Productivity](https://www.freecodecamp.org/news/10-vscode-extensions-to-increase-productivity/) * [softzone.es: Mejora y añade más funciones a Visual Studio Code con plugins](https://www.softzone.es/programas/lenguajes/mejores-plugins-anadir-visual-code/) * [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` ### Updates * [VSCode Updates](https://code.visualstudio.com/updates) @@ -117,6 +119,7 @@ A simple extension to make indentation more readable * [marketplace.visualstudio.com: Bridge to Kubernetes (VSCode)](https://marketplace.visualstudio.com/items?itemName=mindaro.mindaro) With Bridge to Kubernetes, the only thing you need to run and debug on your development machine is the microservice you're working on and your preferred dev tools. - [thorsten-hans.com: Debugging apps in Kubernetes with Bridge 🌟](https://www.thorsten-hans.com/debugging-apps-in-kubernetes-with-bridge/) Bridge to Kubernetes simplifies and streamlines the process of debugging applications running in Kubernetes. Debug any language using the tools you prefer and love. * [Working with Kubernetes in VS Code](https://code.visualstudio.com/docs/azure/kubernetes) * [marketplace.visualstudio.com: GitHub Repositories 🌟](https://marketplace.visualstudio.com/items?itemName=GitHub.remotehub) Browse and edit code from Github without cloning. You can even review PRs!. The GitHub Repositories extension lets you quickly browse, search, edit, and commit to any remote GitHub repository directly from within Visual Studio Code, with support for Azure repos coming soon. +* [Azure/vscode-kubernetes-tools 🌟](https://github.com/Azure/vscode-kubernetes-tools) Visual Studio Code Kubernetes Tools #### More Extensions (Blogs) * [Become a VS Code Ninja with these Extensions and Tools [2020]](https://dev.to/vikrantnegi/become-a-vs-code-ninja-with-these-extensions-and-tools-2020-1119) @@ -228,5 +231,7 @@ A simple extension to make indentation more readable

Today's @code extension: Github Repositories

Browse and edit code from @Github without cloning. You can even review PRs!

It's kind of like https://t.co/dqc8Luetlw, but for desktop VS Code#code2020 pic.twitter.com/ttVstg2HPO

— Matt Bierner (@mattbierner) September 16, 2021

If I was forced to use closed source IDE for a paid job, I would go for JetBrains. They are far better than VSCode or anything else ever created. Of course, VIM is my first choice, but sometimes they or other team members are comfier with a professional tool.

— The Best Linux Blog In the Unixverse (@nixcraft) September 30, 2021
+ +

I'm currently using the following @code extensions (fundamentally, Python development):

1. Python
2. GitHub Copilot
3. Docker
4. Jupyter
5. Prettier
6. YAML
7. OpenAPI Swagger
8. Bookmarks
9. AWS Toolkit
10. Cloud Code

Is there something else that you'd recommend?

— Santiago (@svpino) October 12, 2021
\ No newline at end of file diff --git a/docs/yaml.md b/docs/yaml.md index 2a7621fb..6c34f272 100644 --- a/docs/yaml.md +++ b/docs/yaml.md @@ -2,6 +2,7 @@ - [Templating YAML Files](#templating-yaml-files) - [YAML anchors and aliases](#yaml-anchors-and-aliases) - [YAML Processors](#yaml-processors) + - [Other YAML Tools. How to create Kubernetes YAML files](#other-yaml-tools-how-to-create-kubernetes-yaml-files) - [Kubernetes examples](#kubernetes-examples) - [Helm and Kustomize](#helm-and-kustomize) - [Templating JSON Files](#templating-json-files) @@ -24,6 +25,7 @@ - [abhisheksaini.hashnode.dev: YAML For Data Representation?](https://abhisheksaini.hashnode.dev/yaml-for-representation) YAML is a better option than JSON when comes to representation of Data - [boxunix.com: A Better Way of Organizing Your Kubernetes Manifest Files 🌟](https://boxunix.com/2020/05/15/a-better-way-of-organizing-your-kubernetes-manifest-files/) - [opensource.com: Make YAML as easy as it looks](https://opensource.com/article/21/9/yaml-cheat-sheet) YAML looks simple so why is it so hard to write? Learn the two secrets to YAML success. +- [javascript.plainenglish.io: Everything You Need To Know About YAML Files](https://javascript.plainenglish.io/everything-you-need-to-know-about-yaml-files-5423358cc5c9) Learning about YAML gives you an advantage over your peers since it literally makes programming and configuring cloud computing resources easier. ### YAML anchors and aliases - [yaml.org: Anchors and Aliases](https://yaml.org/spec/1.2/spec.html#id2765878) @@ -44,6 +46,11 @@ - [yh - YAML Highlighter](https://github.com/andreazorzetto/yh) is YAML syntax highlighter that works nicely with kubectl output - [Kubectl output options 🌟](https://gist.github.com/so0k/42313dbb3b547a0f51a547bb968696ba) +### Other YAML Tools. How to create Kubernetes YAML files +- [avencera/yamine](https://github.com/avencera/yamine) A simple CLI for combining json and yaml files +- [k8syaml.com 🌟](https://k8syaml.com) Kubernetes YAML Generator - Powered by Octopus +- [itnext.io: How to create Kubernetes YAML files](https://itnext.io/how-to-create-kubernetes-yaml-files-abb8426eeb45) + ### Kubernetes examples - [Kubernetes examples 🌟](https://k8s-examples.container-solutions.com/) A series of YAML references with canonical and as-simple-as-possible demonstrations of kubernetes functionality and features. diff --git a/mkdocs.yml b/mkdocs.yml index f656e169..feee9126 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -89,7 +89,7 @@ nav: - Kubernetes Backup and Migrations: kubernetes-backup-migrations.md - Kubernetes autoscaling: kubernetes-autoscaling.md - Kubernetes Operators and Controllers: kubernetes-operators-controllers.md - - Kubernetes non-production local environments, Dashboards and Devel Tools: kubernetes-local.md + - Kubernetes Based Development: kubernetes-based-devel.md - Kubernetes on premise: kubernetes-on-premise.md - Managed kubernetes in public clouds: managed-kubernetes-in-public-cloud.md - Kubernetes Releases: kubernetes-releases.md