diff --git a/docs/ansible.md b/docs/ansible.md index e270fd26..c1ae338a 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -145,6 +145,7 @@ - [tomsitcafe.com: Enhancing Ansible Automation: Exploring the Power of Ansible Semaphore, a Modern Open-Source GUI](https://tomsitcafe.com/2023/05/15/ansible-semaphore-a-modern-open-source-gui-for-our-ansible-automation/) - [tomsitcafe.com: Mastering Ansible: Navigating the Most Common Errors and Mistakes](https://tomsitcafe.com/2023/06/02/mastering-ansible-navigating-the-most-common-errors-and-mistakes/) - [tomsitcafe.com: Automating APIs with Ansible: A Comprehensive Guide](https://tomsitcafe.com/2023/06/09/automating-apis-with-ansible-a-comprehensive-guide/) +- [medium.com/@Techie1: Networking tasks in production using Ansible](https://medium.com/@Techie1/networking-tasks-in-production-using-ansible-b09d0a6121f7) ## Ansible AI diff --git a/docs/aws-architecture.md b/docs/aws-architecture.md index 473c1fd1..9a0ff6a8 100644 --- a/docs/aws-architecture.md +++ b/docs/aws-architecture.md @@ -21,6 +21,7 @@ - [Maintain visibility over the use of cloud architecture patterns](https://aws.amazon.com/blogs/architecture/maintain-visibility-over-the-use-of-cloud-architecture-patterns/) Cloud platform and enterprise architecture teams use architecture patterns to provide guidance for different use cases. Cloud architecture patterns are typically aggregates of multiple Amazon Web Services (AWS) resources, such as Elastic Load Balancing with Amazon Elastic Compute Cloud, or Amazon Relational Database Service with Amazon ElastiCache. In a large organization, cloud platform teams often have limited governance over cloud deployments, and, therefore, lack control or visibility over the actual cloud pattern adoption in their organization. - [Architecture patterns for consuming private APIs cross-account](https://aws.amazon.com/pt/blogs/compute/architecture-patterns-for-consuming-private-apis-cross-account/) - [==awstip.com: Increase Security and Efficiency with a 3-Tier Cloud Architecture==](https://awstip.com/increase-security-and-efficiency-with-a-3-tier-cloud-architecture-bf5e835cd55a) +- [==github.com/ministryofjustice: Modernisation Platform - Architecture Decisions==](https://github.com/ministryofjustice/modernisation-platform/tree/main/architecture-decision-record) This is our architecture decision log, made during the design and build of the Modernisation Platform. ## AWS Well Architected Framework diff --git a/docs/aws.md b/docs/aws.md index 6c2b1ce9..37bb7e76 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -171,6 +171,7 @@ You can filter by topic using the toolbar above. ## 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/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/) +- [medium.com/swlh: AWS Config — Compliance as Code](https://medium.com/swlh/aws-config-compliance-as-code-9621eb3b7ac7) ## AWS Management Console diff --git a/docs/cheatsheets.md b/docs/cheatsheets.md index 2094cc39..630cef5e 100644 --- a/docs/cheatsheets.md +++ b/docs/cheatsheets.md @@ -325,6 +325,7 @@ - [hashicorp.com: Using Template Files with HashiCorp Packer](https://www.hashicorp.com/blog/using-template-files-with-hashicorp-packer) - [searchitoperations.techtarget.com: Terraform cheat sheet: Notable commands, HCL and more](https://searchitoperations.techtarget.com/tip/Terraform-cheat-sheet-Notable-commands-HCL-and-more) Terraform has a lot going on. This cheat sheet rounds up the essentials, from configuration settings to the key commands for managing the Terraform directory. - [techbeatly.com: Terraform Cheat Sheet](https://www.techbeatly.com/terraform-cheat-sheet/) +- [praveendandu24.medium.com: Mastering Terraform: Top 20 Essential Commands with Examples for Beginners](https://praveendandu24.medium.com/mastering-terraform-top-20-essential-commands-with-examples-for-beginners-1029852b419) ## Linux Command Cheat Sheets diff --git a/docs/demos.md b/docs/demos.md index 26c873c3..61ba6e83 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -780,6 +780,7 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/nubenetes/a - [doylestowncoder.com: Building CI/CD Pipelines with Azure Data Factory: Part 1](https://doylestowncoder.com/2021/11/29/building-ci-cd-pipelines-with-azure-data-factory-part-1/) - [doylestowncoder.com: Building CI/CD Pipelines with Azure Data Factory: Part 2](https://doylestowncoder.com/2021/12/02/building-ci-cd-pipelines-with-azure-data-factory-part-2/) - [doylestowncoder.com: Building CI/CD Pipelines with Azure Data Factory: Part 3](https://doylestowncoder.com/2021/12/05/building-ci-cd-pipelines-with-azure-data-factory-part-3/) +- [github.com/microsoft: Contoso Traders - Cloud testing tools demo app](https://github.com/microsoft/contosotraders-cloudtesting#contoso-traders---cloud-testing-tools-demo-app) The Contoso Traders app is a sample application showcasing Playwright, Azure Load Testing, Azure Chaos Studio. ### Azure DevOps Demos. Azure DevOps Pipelines @@ -884,6 +885,7 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/nubenetes/a - [dev.to: Creating a Rest API with Infrastructure as Code (Terraform) & Serverless (Lambda + Python) - Part 2 CI/CD](https://dev.to/aws-builders/creating-a-rest-api-with-infrastructure-as-code-terraform-serverless-lambda-python-part-2-cicd-g8h) - [==towardsaws.com: How to Deploy Two-Tier AWS Architecture with Terraform?==](https://towardsaws.com/how-to-deploy-two-tier-aws-architecture-with-terraform-59db7b11dd47) - [blog.awsfundamentals.com: Using S3 with Terraform](https://blog.awsfundamentals.com/using-s3-with-terraform) +- [devopscube.com/terraform-aws-rds](https://devopscube.com/terraform-aws-rds) Terraform AWS RDS Provisioning Tutorial ## Prometheus and Grafana diff --git a/docs/devsecops.md b/docs/devsecops.md index 3f669481..573f237f 100644 --- a/docs/devsecops.md +++ b/docs/devsecops.md @@ -242,6 +242,7 @@ - [medium.com/getindata-blog: OAuth2-based authentication on Istio-powered Kubernetes clusters 🌟](https://medium.com/getindata-blog/oauth2-based-authentication-on-istio-powered-kubernetes-clusters-2bd0999b7332) Starting with Envoy 1.17, authentication and authorization to Istio clusters don't require setting up external services if you decide to use OAuth2 Learn how it works in this hands-on tutorial. - [==oauth2-proxy/oauth2-proxy: OAuth2 Proxy== 🌟](https://github.com/oauth2-proxy/oauth2-proxy) A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers. - [manfredmlange.medium.com: Containerized Keycloak in Development](https://manfredmlange.medium.com/containerized-keycloak-in-development-2f9d079ec4a3) How to set up an OpenID Connect compliant development environment with Docker? +- [redis.com: JSON Web Tokens (JWTs) are Not Safe (ebook)](https://redis.com/docs/json-web-tokens-jwts-are-not-safe) ## Quality Gates diff --git a/docs/docker.md b/docs/docker.md index 75869ab8..48c72b76 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -204,6 +204,7 @@ ## Docker Extensions - [==dev.to: 9 Docker Extensions Every Developer Must Try==](https://dev.to/docker/9-docker-extensions-every-developer-must-try-1no2) +- [github.com/Saniewski/mongo-express-docker-extension](https://github.com/Saniewski/mongo-express-docker-extension) Docker Extension for creating and running an embedded instance of Mongo Express connected to any accessible MongoDB server. ## Docker Swarm @@ -384,6 +385,7 @@ PHP Docker Image for Cloud Native Deployments (and Kubernetes) - [==blog.logrocket.com: Top Docker alternatives for 2022==](https://blog.logrocket.com/top-docker-alternatives-2022/) - [itnext.io: Replace Docker Desktop with lima](https://itnext.io/replace-docker-desktop-with-lima-88ec6f9d6a19) - [lima-vm/lima](https://github.com/lima-vm/lima) - [dzone: Alternatives to Docker Desktop](https://dzone.com/articles/alternatives-to-docker-desktop) Have $5 to spend monthly? Do you want to avoid the fee? There are a couple of alternatives that can replace Docker Desktop with a free solution. +- [dzone: Docker Alternatives: 10 Alternatives to Docker for Your SaaS Application](https://dzone.com/articles/docker-alternatives-10-alternatives-to-docker-for) ## Videos and Podcasts diff --git a/docs/git.md b/docs/git.md index 472936d0..4f130159 100644 --- a/docs/git.md +++ b/docs/git.md @@ -7,14 +7,15 @@ 5. [Git Branches](#git-branches) 6. [Git Merge](#git-merge) 7. [Git Aliases](#git-aliases) -8. [Git and GitHub Backup](#git-and-github-backup) -9. [Cherry-picking](#cherry-picking) -10. [Git Submodules](#git-submodules) -11. [Shields](#shields) -12. [Design By Contract](#design-by-contract) -13. [Git Cheat Sheets](#git-cheat-sheets) -14. [Monorepo VS Polyrepo](#monorepo-vs-polyrepo) -15. [Patterns for Managing Source Code Branches (Branching Models/Workflows)](#patterns-for-managing-source-code-branches-branching-modelsworkflows) +8. [Git Rebase](#git-rebase) +9. [Git and GitHub Backup](#git-and-github-backup) +10. [Cherry-picking](#cherry-picking) +11. [Git Submodules](#git-submodules) +12. [Shields](#shields) +13. [Design By Contract](#design-by-contract) +14. [Git Cheat Sheets](#git-cheat-sheets) +15. [Monorepo VS Polyrepo](#monorepo-vs-polyrepo) +16. [Patterns for Managing Source Code Branches (Branching Models/Workflows)](#patterns-for-managing-source-code-branches-branching-modelsworkflows) 1. [Git Workflows](#git-workflows) 2. [Trunk Based Development](#trunk-based-development) 3. [Feature Branch Development (aka GitFlow)](#feature-branch-development-aka-gitflow) @@ -24,11 +25,11 @@ 5. [Alternative Branching Models](#alternative-branching-models) 1. [Feature Flags (Feature Toggles)](#feature-flags-feature-toggles) 1. [Keystone Interface and Keystone Flags](#keystone-interface-and-keystone-flags) -16. [Git Commands](#git-commands) -17. [BitBucket](#bitbucket) -18. [GitLab](#gitlab) +17. [Git Commands](#git-commands) +18. [BitBucket](#bitbucket) +19. [GitLab](#gitlab) 1. [GitLab Collective](#gitlab-collective) -19. [GitHub](#github) +20. [GitHub](#github) 1. [GitHub Lab](#github-lab) 2. [GitHub Code Scanner](#github-code-scanner) 3. [GitHub Actions](#github-actions) @@ -39,14 +40,14 @@ 2. [GitHub Copilot X](#github-copilot-x) 3. [Alternatives](#alternatives) 1. [CodiumAI](#codiumai) -20. [Gitea](#gitea) -21. [Sapling](#sapling) -22. [Git Tools](#git-tools) +21. [Gitea](#gitea) +22. [Sapling](#sapling) +23. [Git Tools](#git-tools) 1. [Git Credential Manager](#git-credential-manager) 2. [Semantic-release. CI/CD semantic release workflow (semantic Versioning, commit format and releases)](#semantic-release-cicd-semantic-release-workflow-semantic-versioning-commit-format-and-releases) -23. [Azure DevOps (formerly known as VSTS)](#azure-devops-formerly-known-as-vsts) -24. [Pre Commit Hooks](#pre-commit-hooks) -25. [Merge BOTs](#merge-bots) +24. [Azure DevOps (formerly known as VSTS)](#azure-devops-formerly-known-as-vsts) +25. [Pre Commit Hooks](#pre-commit-hooks) +26. [Merge BOTs](#merge-bots) 1. [Tips](#tips) 2. [Jenkins for git merges](#jenkins-for-git-merges) 3. [Bitbucket for git merges](#bitbucket-for-git-merges) @@ -57,9 +58,9 @@ 7. [Mergify bot](#mergify-bot) 8. [GitHub bots](#github-bots) 1. [Bors GitHub bot](#bors-github-bot) -26. [Videos](#videos) -27. [Slides](#slides) -28. [Tweets](#tweets) +27. [Videos](#videos) +28. [Slides](#slides) +29. [Tweets](#tweets) ## Git Distributed Version-Control System @@ -110,7 +111,6 @@ - [thenewstack.io: Why Open Source Project Maintainers are Reluctant to use Digital Signatures, Two-Factor Authentication](https://thenewstack.io/why-open-source-project-maintainers-are-reluctant-to-use-digital-signatures-two-factor-authentication/) - [geeksforgeeks.org: How to Write Good Commit Messages in GitHub?](https://www.geeksforgeeks.org/how-to-write-good-commit-messages-in-github/) - [freecodecamp.org: What is Git? A Beginner's Guide to Git Version Control](https://www.freecodecamp.org/news/what-is-git-learn-git-version-control) -- [dev.to: ELI5: Git Rebase vs. Merge 🌟](https://dev.to/karaluton/explain-like-i-m-five-git-rebase-vs-merging-1k69) - [c-sharpcorner.com: 0 Git Commands You Should Know](https://www.c-sharpcorner.com/article/20-git-commands-you-should-know/) - [opensource.com: Find what changed in a Git commit](https://opensource.com/article/21/4/git-whatchanged) Git offers several ways you can quickly see which files changed in a commit. - [freecodecamp.org: How to Use Git and Git Workflows – a Practical Guide](https://www.freecodecamp.org/news/practical-git-and-git-workflows/) @@ -165,7 +165,6 @@ - [infoworld.com: What is Git? Version control for collaborative programming](https://www.infoworld.com/article/3654955/what-is-git-version-control-for-collaborative-programming.html) - [==dev.to: How Do I Resolve Merge Conflicts?==](https://dev.to/github/how-do-i-resolve-merge-conflicts-5438) - [==dev.to: How to Undo Pushed Commits with Git==](https://dev.to/github/how-to-undo-pushed-commits-with-git-2pe6) -- [==opensource.com: My guide to understanding Git rebase -i==](https://opensource.com/article/22/4/manage-git-commits-rebase-i-command) The git rebase command is one of the most powerful in Git. It can rewrite your repository's commit history by rearranging, modifying, and even deleting commits. - [opensource.com: My guide to using the Git push command safely](https://opensource.com/article/22/4/git-push) Understand the usage and impact of this popular Git command on your project, learn new safer alternatives, and grasp the skills of restoring a broken branch. - [opensource.com: Make your own Git subcommands](https://opensource.com/article/22/4/customize-git-subcommands) Creating your own Git subcommand makes your custom scripts feel like natural components of Git. - [betterprogramming.pub: 2 Use Cases of Python Pre-commit Hooks to Tidy Up Your Git Repositories](https://betterprogramming.pub/2-use-cases-of-python-pre-commit-hooks-to-tidy-up-your-git-repositories-8d86c9c4f06b) Strategies to have a better-organized codebase @@ -217,6 +216,7 @@ - [blog.devops.dev: Stop messing up with Git. Follow this simple and effective strategy to maintain Git branches](https://blog.devops.dev/stop-messing-up-with-git-follow-this-simple-and-effective-strategy-to-maintain-git-branches-cc378468cde6) - [medium.com/@selvamraju007: GIT Branching Strategies](https://medium.com/@selvamraju007/git-branching-strategies-a6eafe4541ae) - [dev.to/varbsan: A Simplified Convention for Naming Branches and Commits in Git](https://dev.to/varbsan/a-simplified-convention-for-naming-branches-and-commits-in-git-il4) +- [medium.com/@amid.ukr: Agile Git branching strategies in 2023](https://medium.com/@amid.ukr/agile-git-branching-strategies-in-2023-caeead79ddd) ## Git Merge @@ -228,6 +228,12 @@ - [davidwalsh.name: More Awesome Git Aliases](https://davidwalsh.name/more-awesome-git-aliases) - [blog.mimacom.com: The Git Commands You Wish You Always Had](https://blog.mimacom.com/git-aliases-you-wished-you-had/) +## Git Rebase + +- [dev.to: ELI5: Git Rebase vs. Merge 🌟](https://dev.to/karaluton/explain-like-i-m-five-git-rebase-vs-merging-1k69) +- [==opensource.com: My guide to understanding Git rebase -i==](https://opensource.com/article/22/4/manage-git-commits-rebase-i-command) The git rebase command is one of the most powerful in Git. It can rewrite your repository's commit history by rearranging, modifying, and even deleting commits. +- [freecodecamp.org/news/git-rebase-handbook](https://www.freecodecamp.org/news/git-rebase-handbook/) + ## Git and GitHub Backup - [backhub.co](https://www.backhub.co/) Reliable GitHub repository backup, set up in minutes diff --git a/docs/gitops.md b/docs/gitops.md index c3705e20..f16ebb6d 100644 --- a/docs/gitops.md +++ b/docs/gitops.md @@ -251,21 +251,7 @@ ### Kustomize. Kubernetes native configuration management -- [kustomize.io 🌟](https://kustomize.io/) - - Kustomize introduces a template-free way to customize application configuration that simplifies the use of off-the-shelf applications. Now, built into kubectl as apply -k. - - Kustomize traverses a Kubernetes manifest to add, remove or update configuration options without forking. - - __It is available both as a standalone binary and as a native feature of kubectl.__ -- [nakamasato.medium.com: Comparison between Helm and Kustomize for Kubernetes yaml management](https://nakamasato.medium.com/comparison-between-helm-and-kustomize-for-kubernetes-yaml-management-aed32cef2627) -- [pauldally.medium.com: Kustomize Best Practices (Part 1)](https://pauldally.medium.com/kustomize-best-practices-part-1-86f9f22d2f20) Kubectl includes a very useful command called kustomize that allows a template-free way to customize Kubernetes application configuration. - - [pauldally.medium.com: Kustomize Best Practices (Part 2)](https://pauldally.medium.com/kustomize-best-practices-part-2-c560f1fa1409) -- [notmattlucas.com: Kubernetes Configuration with Kustomize](https://notmattlucas.com/kubernetes-configuration-with-kustomize-f4dbba250f3) -- [medium.com/@nanditasahu031: How to Start with Kustomize — it’s Features](https://medium.com/@nanditasahu031/how-to-start-with-kustomize-its-features-dd541c3d2fa8) -- [harness.io: Comparing Helm vs Kustomize](https://harness.io/blog/helm-vs-kustomize) -- [nicolasbarlatier.hashnode.dev: Introduction Kubernetes and Kustomize: How to easily customize any resource configuration with Kustomize?](https://nicolasbarlatier.hashnode.dev/introduction-kubernetes-and-kustomize-how-to-easily-customize-any-resource-configuration-with-kustomize) In this tutorial, you will learn how to use Kustomize to template the number of replicas in a workload based on the environment (e.g. 1 pod in dev, 10 pods in prod) -- [==github.com/kostis-codefresh: How to Model Your Gitops Environments with kustomize== 🌟](https://github.com/kostis-codefresh/gitops-environment-promotion) In this repository, you'll find an example of how to model Kustomize folders for a GitOps application and promote releases between environments -- [dev.to: Kubernetes Kustomize Tutorial: A Beginner-Friendly Developer Guide!](https://dev.to/pavanbelagatti/kubernetes-kustomize-tutorial-a-beginner-friendly-developer-guide-322n) -- [pauldally.medium.com: Kustomize Best Practices (part 3)](https://pauldally.medium.com/kustomize-best-practices-part-3-1dbaa15fd16a) -- [levelup.gitconnected.com: Helm vs. Kustomize: Navigating Kubernetes Configuration Complexity](https://levelup.gitconnected.com/helm-vs-kustomize-navigating-kubernetes-configuration-complexity-ae86596c3cf2) +- [Kustomize - Template-Free Kubernetes Configuration Customization](kustomize.md) ### Flagger diff --git a/docs/introduction.md b/docs/introduction.md index d9cb7168..3c8cf573 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -308,6 +308,7 @@ - [thenewstack.io: Learn 12 Factor Apps Before Kubernetes](https://thenewstack.io/learn-12-factor-apps-before-kubernetes/) These best practices provide a framework for building scalable, portable, maintainable and resilient containerized applications. - [itnext.io: 12 factor Microservice applications — on Kubernetes](https://itnext.io/12-factor-microservice-applications-on-kubernetes-db913008b018) - [itnext.io: Isolating and Managing Dependencies in 12-factor Microservice Applications — with Kubernetes](https://itnext.io/isolating-and-managing-dependencies-in-12-factor-microservice-applications-with-kubernetes-988638f8bc6d) +- [itnext.io: Processes — for 12-factor Microservice Applications](https://itnext.io/processes-for-12-factor-microservice-applications-70551a9021b) ## Event Driven Architecture EDA diff --git a/docs/jenkins.md b/docs/jenkins.md index eea7c420..14053525 100644 --- a/docs/jenkins.md +++ b/docs/jenkins.md @@ -161,6 +161,8 @@ jenkinsci CloudBees' advice is to use build tool features when possible (Maven/G - [blog.devops.dev: Blue-Green Deployment (CI/CD) Pipelines with Docker, GitHub, Jenkins and SonarQube](https://blog.devops.dev/blue-green-deployment-ci-cd-pipelines-with-docker-github-and-jenkins-6a262b2994c6) - [itnext.io: Accelerate Development with Jenkins Pipelines and Continuous Integration](https://itnext.io/accelerate-development-with-jenkins-pipelines-and-continuous-integration-9a6c7857ccd2) - [dzone.com: Continuous Integration in AWS Using Jenkins Pipelines: Best Practices and Strategies](https://dzone.com/articles/continuous-integration-in-aws-using-jenkins) Learn about implementing CI using Jenkins, a popular automation tool, and how this approach can optimize and streamline your software development process. +- [praveendandu24.medium.com: Understanding the Differences Between Jenkins Scripted and Declarative Pipeline: A Comprehensive Guide with Real-World Examples](https://praveendandu24.medium.com/understanding-the-differences-between-jenkins-scripted-and-declarative-pipeline-a-comprehensive-960826e26c2) +- [prabirmahatha.hashnode.dev: Jenkins Declarative Pipeline with Docker](https://prabirmahatha.hashnode.dev/jenkins-declarative-pipeline-with-docker) ## Jenkins and Terraform diff --git a/docs/kubernetes-networking.md b/docs/kubernetes-networking.md index 22bc343a..224fac9a 100644 --- a/docs/kubernetes-networking.md +++ b/docs/kubernetes-networking.md @@ -192,6 +192,7 @@ - Pods are associated with the service through labels - DNS records are created for each pod associated with the service - Clients can use the DNS records to directly access each pod +- [goglides.dev: Headless services in Kubernetes Vs Regular Service: What, Why, and How?](https://www.goglides.dev/bkpandey/headless-services-in-kubernetes-what-why-and-how-39fl) ## NetworkPolicy diff --git a/docs/kubernetes-operators-controllers.md b/docs/kubernetes-operators-controllers.md index 11ea87df..a36e18bc 100644 --- a/docs/kubernetes-operators-controllers.md +++ b/docs/kubernetes-operators-controllers.md @@ -159,6 +159,9 @@ - [medium.com/lonto-digital-services-integrator: Why We Developed Own Kubernetes Controller to Copy Secrets](https://medium.com/lonto-digital-services-integrator/why-we-developed-own-kubernetes-controller-to-copy-secrets-e46368ae6db9) In this article, you will learn the thought process, design decision and code that led to writing a custom controller to copy secrets from Hashicorp Vault to Kubernetes - [thenewstack.io: HashiCorp Vault Operator Manages Kubernetes Secrets](https://thenewstack.io/hashicorp-vault-operator-manages-kubernetes-secrets/) HashiCorp's new open source project, released alongside Vault 1.13 and now available in beta, makes it easier to use Vault with Kubernetes Secrets, automating tasks that were previously manual. - [medium.com/@senjutide2000: Designing a Controller for Custom Resources from scratch for absolute beginners](https://medium.com/@senjutide2000/designing-a-controller-for-custom-resources-from-scratch-for-absolute-beginners-9cb84b7f906f) In this tutorial (and related repository and follow-up article), you will learn how to create your first Custom Resource Definition, Custom Resource and get a basic idea of the workflow of a controller +- [github.com/2-alchemists/krossboard-kubernetes-operator](https://github.com/2-alchemists/krossboard-kubernetes-operator) Kubernetes Operator to handle cross-site, cross-distribution & multi-Kubernetes usage tracking, analytics and accounting (vanilla Kubernetes, OpenShift, EKS, AKS, GKE and other distros). + - Krossboard is a multi-cluster and cross-distribution Kubernetes usage accounting and analytics software + - Each instance of Krossboard enables tracking the usage of a set of Kubernetes clusters listed in a kubeconfig secret ## OpenTelemetry Operator @@ -179,6 +182,7 @@ - When designing/writing an application, intended to run on the Kubernetes, one should take into account capabilities provided by Kubernetes and take that information when designing software architecture. It can speed up implementation, make an application more reliable and the code can focus more on business logic itself. - There are multiple ways to create an operator. You could write one from scratch using Kubernetes client-go. It’s a tedious task and the learning curve is steep. As an alternative, multiple tools provide boilerplate code and speed up the writing of operators. Popular ones are Operatorsdk and Kubebuilder. The focus of the article will be on creating an operator using Kubebuilder. Let’s create an operator which will create a pod running a simple HTTP API and bind some data to the HTTP API. +- [dev.to/thenjdevopsguy: What Is A Kubernetes Operator?](https://dev.to/thenjdevopsguy/what-is-a-kubernetes-operator-53kb) ## operatorhub.io diff --git a/docs/kubernetes-security.md b/docs/kubernetes-security.md index a7ae12aa..07f0dc46 100644 --- a/docs/kubernetes-security.md +++ b/docs/kubernetes-security.md @@ -143,6 +143,7 @@ - [==itnext.io: Journey Of A Microservice Application In The Kubernetes World== 🌟](https://itnext.io/journey-of-a-microservice-application-in-the-kubernetes-world-6abd625c60fe) Security considerations: security related tools. In this article, you will discuss some security considerations and see how you can ensure (at least to some extent) that the application's specifications follow some of the best security practices. - [tutorialboy24.blogspot.com: A Detailed Talk about K8S Cluster Security from the Perspective of Attackers (Part 2) 🌟](https://tutorialboy24.blogspot.com/2022/09/a-detailed-talk-about-k8s-cluster.html) In this 2-part series, you will address 12 common attack points in Kubernetes clusters and discuss various risks in cloud-native scenarios based on practical experience - [medium.com/cloudyrion: Kubernetes end-to-end chain exploit](https://medium.com/cloudyrion/kubernetes-end-to-end-chain-exploit-c2be32688fd0) This article details the security flaws discovered in Kubernetes and GitOps tools due to improper configurations. It also demonstrates how an attacker could perform post-exploitation attacks, increasing their privileges and the attack surface. +- [==itnext.io: Performing Security Checks for Deployed Kubernetes Manifests==](https://itnext.io/performing-security-checks-for-deployed-kubernetes-manifests-fa9d442b7951) An effective tool for checking security rule violations in Kubernetes deployments using **Polaris**
[![kubernetes security mindmap](images/k8s_securitymindmap.jpg)](https://www.blackhat.com/) diff --git a/docs/kubernetes-tools.md b/docs/kubernetes-tools.md index fd021665..7b007673 100644 --- a/docs/kubernetes-tools.md +++ b/docs/kubernetes-tools.md @@ -616,6 +616,9 @@ elastic quotas - Effortless optimization at its finest! - [github.com/lsdopen/ahoy](https://github.com/lsdopen/ahoy) Ahoy helps teams release and manage applications and services across multiple k8s clusters without needing to write any yaml. - [github.com/opencontrolplane](https://github.com/opencontrolplane) OpenCP (Open Control Plane) is an open source project designed to provide a single interface to manage infrastructure across providers using a single tool: kubectl - [github.com/yonahd/orphaned-configmaps: Orphaned ConfigMaps](https://github.com/yonahd/orphaned-configmaps) A script for finding orphaned configmaps +- [github.com/updatecli/updatecli](https://github.com/updatecli/updatecli) A Declarative Dependency Management tool + - Automatically open a PR on your GitOps repository when a third party service publishes an update + - Updatecli is a tool used to apply file update strategies. Designed to be used from everywhere, each application "run" detects if a value needs to be updated using a custom strategy then apply changes according to the strategy. ## kubecfg diff --git a/docs/kubernetes-troubleshooting.md b/docs/kubernetes-troubleshooting.md index ae59ad89..0d46aed9 100644 --- a/docs/kubernetes-troubleshooting.md +++ b/docs/kubernetes-troubleshooting.md @@ -91,6 +91,7 @@ - [alexsniffin.medium.com: Debugging Remotely with Go in Kubernetes](https://alexsniffin.medium.com/debugging-remotely-in-kubernetes-with-go-fda4f3332316) In this tutorial, you will learn how to debug an application deployed in Kubernetes remotely using VS Code and Delve - [thenewstack.io: Kubernetes Troubleshooting Primer](https://thenewstack.io/kubernetes-troubleshooting-primer/) A quick methodology for overcoming common error messages with examples of commands to help — useful for both the administrator and developer alike. - [devzero.io: Kubernetes Debugging Tips](https://www.devzero.io/blog/kubernetes-debugging-tips) +- [vik-y.medium.com: An easier way to auto-remediate memory leaks on Kubernetes!](https://vik-y.medium.com/an-easier-way-to-auto-remediate-memory-leaks-on-kubernetes-a922457674f4) ## Kubernetes Network Troubleshooting @@ -113,6 +114,7 @@ - [erkanerol.github.io: I wish pods were fully restartable](https://erkanerol.github.io/post/restartable-pods/) Why are Pod not fully restartable in Kubernetes? Why is Kubernetes not restarting the Pod in **CrashLoopBackOff**? - [pauldally.medium.com: Why Leaving Pods in CrashLoopBackOff Can Have a Bigger Impact Than You Might Think](https://pauldally.medium.com/why-leaving-pods-in-crashloopbackoff-can-have-a-bigger-impact-than-you-might-think-c0d3dbd067a) - [sysdig.com: What is Kubernetes CrashLoopBackOff? And how to fix it 🌟](https://sysdig.com/blog/debug-kubernetes-crashloopbackoff/) CrashLoopBackOff is a Kubernetes state representing a restart loop that is happening in a Pod: a container in the Pod is started but crashes and is then restarted over and over again. Learn what it is and how to fix it in this article +- [komodor.com: Kubernetes CrashLoopBackOff Error: What It Is and How to Fix It](https://komodor.com/learn/how-to-fix-crashloopbackoff-kubernetes-error) ## Failed to Create Pod Sandbox diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 09c0ea15..73633868 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -948,7 +948,7 @@ - [ithands-on.com: Kubernetes 101 : Changing a Pod's label on the fly](https://www.ithands-on.com/2021/04/kubernetes-101-changing-pods-label-on.html) - [blog.newrelic.com: Kubernetes Fundamentals, Part 4: How to Organize Clusters](https://blog.newrelic.com/engineering/how-to-organize-kubernetes-clusters/) - [cast.ai: Kubernetes Labels: Expert Guide with 10 Best Practices](https://cast.ai/blog/kubernetes-labels-expert-guide-with-10-best-practices/) With Kubernetes labels, DevOps teams can troubleshoot issues faster, apply configuration changes en masse, and respond quickly to issues. Labels also give crucial insights into your costs, boosting your monitoring, allocation, and management capabilities. Following best practices when using labels helps you realize tremendous benefits from infrastructure visibility and efficient operations. -- [==itnext.io: Labels & Annotations in Kubernetes==](https://itnext.io/labels-and-annotations-in-kubernetes-234944b0f7ab) In Kubernetes, you can use labels to assign key-value pairs to any resources. Labels are ubiquitous and necessary to everyday operations such as creating services. However, how should you name and use those labels? +- [==itnext.io: Labels & Annotations in Kubernetes== | Daniele Polencic](https://itnext.io/labels-and-annotations-in-kubernetes-234944b0f7ab) In Kubernetes, you can use labels to assign key-value pairs to any resources. Labels are ubiquitous and necessary to everyday operations such as creating services. However, how should you name and use those labels? - [dev.to: Labels and annotations in Kubernetes](https://dev.to/danielepolencic/labels-and-annotations-in-kubernetes-j4i) #### Kubernetes Taints and Tolerations @@ -1189,7 +1189,10 @@ - Set LimitRanges for each namespace; - Enforce rations between requests and limits - [faun.pub: Optimize Kubernetes Resource Management with Time-To-Live (TTL) for Cleaner Cluster](https://faun.pub/optimize-kubernetes-resource-management-with-time-to-live-ttl-for-cleaner-cluster-ea1c6e0c1e73) Streamline Kubernetes Resource Management: Learn How to Use Time-To-Live (TTL) to Keep Your Cluster Clean and Optimized -- [==itnext.io: Memory Request + Limit in Kubernetes | Daniele Polencic== 🌟🌟](https://itnext.io/memory-requests-and-limits-in-kubernetes-1c9cd573b3ab) +- [==itnext.io: Memory Request + Limit in Kubernetes | Daniele Polencic== 🌟🌟](https://itnext.io/memory-requests-and-limits-in-kubernetes-1c9cd573b3ab) - - [community.ops.io: Memory requests and limits in Kubernetes | Daniele Polencic](https://community.ops.io/danielepolencic/memory-requests-and-limits-in-kubernetes-217g) + - In Kubernetes, you have 2 ways to specify how much memory a pod can use: + - Requests — usually set to the process consumption + - Limits set the max number of resources allowe - [==itnext.io: CPU Request + Limit in Kubernetes | Daniele Polencic== 🌟🌟](https://itnext.io/cpu-limits-and-requests-in-kubernetes-fa9d55948b7c) In Kubernetes, what should I use as CPU requests and limits? - [dev.to/pavanbelagatti: Learn How to Set Kubernetes Resource Requests and Limits](https://dev.to/pavanbelagatti/learn-how-to-set-kubernetes-resource-requests-and-limits-23n2) - [iceburn.medium.com: Kubernetes Resource Requests and Resource Limits](https://iceburn.medium.com/kubernetes-resource-requests-and-resource-limits-99c549c5a439) @@ -1198,6 +1201,7 @@ - [medium.com/@mark.andreev: How to configure Kubernetes memory limits for Java application](https://medium.com/@mark.andreev/how-to-configure-kubernetes-memory-limits-for-java-application-ec0cc5a68c24) This article explores the JVM memory structure and flags that can be used to limit memory usage and how those map back to Kubernetes and cgroups v2. - [sosiv.io: A Deep Dive into Kubernetes Resource Requests and Limits](https://sosiv.io/post/a-deep-dive-into-kubernetes-resource-requests-and-limits) - [medium.com/pipedrive-engineering: How we choked our Kubernetes NodeJS services](https://medium.com/pipedrive-engineering/how-we-choked-our-kubernetes-nodejs-services-932acc8cc2be) Learn from the Pipedrive engineering team experience how to manage memory and CPU resources properly in NodeJS and Kubernetes without slowing down your services +- [medium.com/@eliran89c: For the love of god, learn when to use CPU limits on Kubernetes](https://medium.com/@eliran89c/for-the-love-of-god-learn-when-to-use-cpu-limits-on-kubernetes-2225341e9dbd) In this article, you'll explore how CPU requests and limits work, why they were introduced, and how to monitor CPU usage ### Kubernetes Scheduler. Kube Scheduler diff --git a/docs/kustomize.md b/docs/kustomize.md index 42b0c982..24ae998b 100644 --- a/docs/kustomize.md +++ b/docs/kustomize.md @@ -8,7 +8,10 @@ ## Introduction -- [kustomize.io](https://kustomize.io/) Kustomize introduces a template-free way to customize application configuration that simplifies the use of off-the-shelf applications. Now, built into ```kubectl``` as ```apply -k```. +- [kustomize.io 🌟](https://kustomize.io/) + - Kustomize introduces a template-free way to customize application configuration that simplifies the use of off-the-shelf applications. Now, built into ```kubectl``` as ```apply -k```. + - Kustomize traverses a Kubernetes manifest to add, remove or update configuration options without forking. + - __It is available both as a standalone binary and as a native feature of kubectl.__ - [kubernetes.io: Introducing kustomize; Template-free Configuration Customization for Kubernetes](https://kubernetes.io/blog/2018/05/29/introducing-kustomize-template-free-configuration-customization-for-kubernetes/) If you run a Kubernetes environment, chances are you’ve customized a Kubernetes configuration — you've copied some API object YAML files and edited them to suit your needs. But there are drawbacks to this approach — it can be hard to go back to the source material and incorporate any improvements that were made to it. Today Google is announcing kustomize, a command-line tool contributed as a subproject of SIG-CLI. The tool provides a new, purely declarative approach to configuration customization that adheres to and leverages the familiar and carefully designed Kubernetes API. - [Declarative Management of Kubernetes Objects Using Kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/) - [blog.tomarrell.com: Kustomize: Traefik v2.2 as a Kubernetes Ingress Controller](https://blog.tomarrell.com/post/traefik_v2_on_kubernetes) @@ -21,11 +24,25 @@ - [mirantis.com: Kustomize Tutorial: Creating a Kubernetes app out of multiple pieces](https://www.mirantis.com/blog/introduction-to-kustomize-part-1-creating-a-kubernetes-app-out-of-multiple-pieces/) - [codefresh.io: Applied GitOps with Kustomize](https://codefresh.io/about-gitops/applied-gitops-with-kustomize) In this article, you will learn Kustomize and how it can help deploy Kubernetes manifest with GitOps. This will allow you to leverage the power of Kustomize to define YAML files without using a templating engine - [tech.aabouzaid.com: Set OpenAPI patch strategy for Kubernetes Custom Resources - Kustomize](https://tech.aabouzaid.com/2022/11/set-openapi-patch-strategy-for-kubernetes-custom-resources-kustomize.html) Kustomize supports 2 main client-side patching methods for Kubernetes manifests: JSON Patching and Strategic Merge Patch. This article discusses the pros and cons and shows how to add a merging strategy extension for Custom Resources. +- [nakamasato.medium.com: Comparison between Helm and Kustomize for Kubernetes yaml management](https://nakamasato.medium.com/comparison-between-helm-and-kustomize-for-kubernetes-yaml-management-aed32cef2627) +- [pauldally.medium.com: Kustomize Best Practices (Part 1)](https://pauldally.medium.com/kustomize-best-practices-part-1-86f9f22d2f20) Kubectl includes a very useful command called kustomize that allows a template-free way to customize Kubernetes application configuration. + - [pauldally.medium.com: Kustomize Best Practices (Part 2)](https://pauldally.medium.com/kustomize-best-practices-part-2-c560f1fa1409) +- [notmattlucas.com: Kubernetes Configuration with Kustomize](https://notmattlucas.com/kubernetes-configuration-with-kustomize-f4dbba250f3) +- [medium.com/@nanditasahu031: How to Start with Kustomize — it’s Features](https://medium.com/@nanditasahu031/how-to-start-with-kustomize-its-features-dd541c3d2fa8) +- [harness.io: Comparing Helm vs Kustomize](https://harness.io/blog/helm-vs-kustomize) +- [nicolasbarlatier.hashnode.dev: Introduction Kubernetes and Kustomize: How to easily customize any resource configuration with Kustomize?](https://nicolasbarlatier.hashnode.dev/introduction-kubernetes-and-kustomize-how-to-easily-customize-any-resource-configuration-with-kustomize) In this tutorial, you will learn how to use Kustomize to template the number of replicas in a workload based on the environment (e.g. 1 pod in dev, 10 pods in prod) +- [==github.com/kostis-codefresh: How to Model Your Gitops Environments with kustomize== 🌟](https://github.com/kostis-codefresh/gitops-environment-promotion) In this repository, you'll find an example of how to model Kustomize folders for a GitOps application and promote releases between environments +- [dev.to: Kubernetes Kustomize Tutorial: A Beginner-Friendly Developer Guide!](https://dev.to/pavanbelagatti/kubernetes-kustomize-tutorial-a-beginner-friendly-developer-guide-322n) +- [pauldally.medium.com: Kustomize Best Practices (part 3)](https://pauldally.medium.com/kustomize-best-practices-part-3-1dbaa15fd16a) +- [levelup.gitconnected.com: Helm vs. Kustomize: Navigating Kubernetes Configuration Complexity](https://levelup.gitconnected.com/helm-vs-kustomize-navigating-kubernetes-configuration-complexity-ae86596c3cf2) +- [==devopscube.com/kustomize-tutorial: Kustomize Tutorial: Comprehensive Guide For Beginners== 🌟](https://devopscube.com/kustomize-tutorial) ## Secretize plugin - [Secretize 🌟](https://github.com/bbl/secretize) Secretize is a kustomize plugin that helps generating kubernetes secrets from various sources such as AWS Secret Manager & Azure Vault. It's like a swiss army knife, but for kubernetes secrets. + ## Comparison between Helm and Kustomize for Kubernetes yaml management + - [itnext.io: Helm Is Not Enough, You Also Need Kustomize](https://itnext.io/helm-is-not-enough-you-also-need-kustomize-82bae896816e) Customize the YAML’s to enforce policies from application operators, security operators, and cluster operators. - [harness.io: Comparing Helm vs Kustomize 🌟](https://harness.io/blog/devops/helm-vs-kustomize/) - [nakamasato.medium.com: Comparison between Helm and Kustomize for Kubernetes yaml management](https://nakamasato.medium.com/comparison-between-helm-and-kustomize-for-kubernetes-yaml-management-aed32cef2627) Helm and Kustomize are often compared with each other in the context of managing Kubernetes manifest file. Although those two tools have similar features, they are fundamentally different. In this post, I’ll compare them from several points of view with a sample application. diff --git a/docs/managed-kubernetes-in-public-cloud.md b/docs/managed-kubernetes-in-public-cloud.md index 4d52c486..0925699f 100644 --- a/docs/managed-kubernetes-in-public-cloud.md +++ b/docs/managed-kubernetes-in-public-cloud.md @@ -222,6 +222,7 @@ - [Simplifying Amazon EBS volume migration and modification on Kubernetes using the EBS CSI Driver](https://aws.amazon.com/de/blogs/storage/simplifying-amazon-ebs-volume-migration-and-modification-using-the-ebs-csi-driver/) - [Eliminate Kubernetes node scaling lag with pod priority and over-provisioning](https://aws.amazon.com/blogs/containers/eliminate-kubernetes-node-scaling-lag-with-pod-priority-and-over-provisioning/) In this post, you'll learn how to over-provision the cluster worker nodes using dummy pods for quicker scaling. The dummy pods contain a pause container that is scheduled by the scheduler according to pod specifications' placements and CPU/memory. - [==itnext.io: Efficient Kubernetes Cluster Deployment: Accelerating Setup with EKS Blueprints==](https://itnext.io/efficient-kubernetes-cluster-deployment-accelerating-setup-with-eks-blueprints-68324b582ec9) +- [medium.com/@danielresponda: Testing Spot Reclamation Mechanisms with AWS Node Termination Handler and Kubernetes Autoscaler](https://medium.com/@danielresponda/testing-spot-reclamation-mechanisms-with-aws-node-termination-handler-and-kubernetes-autoscaler-43194d05dae0) What happens if a spot instance is reclaimed, but no more capacity is available in the cluster? In this article, you will learn how to use the AWS Node Termination Handler with Kubernetes Autoscaler to handle spot reclamations seamlessly ### EKS Upgrades @@ -452,6 +453,7 @@ - Workload identities - Pod Security admissions and admission controllers - GKE sandbox +- [medium.com/@jjlakis: GCP Secret Manager with self-hosted Kubernetes](https://medium.com/@jjlakis/gcp-secret-manager-with-self-hosted-kubernetes-db35d01d65f0) In this article, you will learn how to use the GCP secret manager to store secrets for an on-prem k3s cluster ## IKS IBM Cloud Kubernetes Service diff --git a/docs/mlops.md b/docs/mlops.md index db682f3f..274367f4 100644 --- a/docs/mlops.md +++ b/docs/mlops.md @@ -11,11 +11,12 @@ 9. [Data Science](#data-science) 10. [Machine Learning workloads in kubernetes using Nix and NVIDIA](#machine-learning-workloads-in-kubernetes-using-nix-and-nvidia) 11. [Other Tools](#other-tools) -12. [Samples](#samples) -13. [ML Courses](#ml-courses) -14. [ML Competitions and Challenges](#ml-competitions-and-challenges) -15. [Polls](#polls) -16. [Tweets](#tweets) +12. [Debugging ML Jobs](#debugging-ml-jobs) +13. [Samples](#samples) +14. [ML Courses](#ml-courses) +15. [ML Competitions and Challenges](#ml-competitions-and-challenges) +16. [Polls](#polls) +17. [Tweets](#tweets) ## Introduction. MLOps @@ -152,6 +153,13 @@ - https://pypi.org/project/vaex/ - [thenewstack.io: 7 Must-Have Python Tools for ML Devs and Data Scientists 🌟](https://thenewstack.io/7-must-have-python-tools-for-ml-devs-and-data-scientists/) Python has an easy learning curve, however there are a range of development tools to consider if you're to use Python to its full potential. - [github.com/SymbioticLab/Oobleck: Oobleck - Resilient Distributed Training Framework](https://github.com/SymbioticLab/Oobleck) - [techxplore.com: Open-source training framework increases the speed of large language model pre-training when failures arise](https://techxplore.com/news/2023-12-open-source-framework-large-language-pre-training.html) +- [github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM) Fast Segment Anything + +## Debugging ML Jobs + +- [betterprogramming.pub: Attach a Visual Debugger to ML-training Jobs on Kubernetes](https://betterprogramming.pub/attach-a-visual-debugger-to-ml-training-jobs-on-kubernetes-eb9678389f1f) + - As machine learning models grow in size and complexity, cloud resources are more and more often required for training. However, debugging training jobs running in the cloud can be time-consuming and challenging. In this blog post, we’ll explore how to attach a visual debugger in VSCode to a remote deep learning training environment, making debugging simpler and more efficient. + - In this tutorial, you'll deploy a local Kubernetes cluster with k3d, install the MLOps workflow orchestration engine Flyte, create a simple training workflow, and finally visually debug it using VSCode and debugpy ## Samples diff --git a/docs/postman.md b/docs/postman.md index 50089860..cb0495f6 100644 --- a/docs/postman.md +++ b/docs/postman.md @@ -30,6 +30,7 @@ - [==blog.postman.com: Introducing the Secret Variable Type in Postman==](https://blog.postman.com/introducing-secret-variable-type-in-postman/) - [blog.postman.com: Meet Matrix: Postman’s Internal Tool for Working with Microservices](https://blog.postman.com/matrix-postman-internal-tool-microservices/) - [blog.postman.com: First 5 Things to Try If You’re New to Postman](https://blog.postman.com/postman-first-5-things-to-try/) +- [freecodecamp.org: Master API Testing with Postman](https://www.freecodecamp.org/news/master-api-testing-with-postman/) ## Newman @@ -48,6 +49,6 @@ ## Alternatives. Rest Assured -- https://rest-assured.io +- https://rest-assured.io - [Hoppscotch: Open-Source Alternative to Postman](https://hoppscotch.io) - [techwebspace.com: Get Started with the REST Assured Framework: An Example-based Guide](https://www.techwebspace.com/get-started-with-the-rest-assured-framework-an-example-based-guide/) REST Assured is a Java library that makes it easy to test RESTful web services. It provides a simple DSL (domain-specific language) for describing the desired behavior of RESTful web service and automatically verifies the results. REST Assured can be used for both automated and manual testing. It has been designed to work with popular open-source automation frameworks such as Selenium, Cucumber, and Spock. REST Assured is particularly well suited for API testing, but it can also be used for testing other types of web services. REST Assured is open source, released under the Apache License 2.0. diff --git a/docs/project-management-methodology.md b/docs/project-management-methodology.md index d38403d2..006b6273 100644 --- a/docs/project-management-methodology.md +++ b/docs/project-management-methodology.md @@ -126,6 +126,7 @@ - [mariocortes.net: La crisis de seniority](https://www.mariocortes.net/la-crisis-de-seniority/) El “seniority” no está relacionado exclusivamente con la experiencia profesional, sino a la capacidad de un profesional para enfrentarse a un problema o reto y la aptitud con la que se enfrenta a él. - [businessinsider.es: Avanzar en la carrera profesional y conseguir ascensos dentro de la empresa será mucho más difícil para las personas que teletrabajan, según el CEO de IBM](https://www.businessinsider.es/teletrabajar-perjudica-carrera-profesional-posibles-ascensos-1240782) - [genbeta.com: Un ex-CEO, sobre el origen de tener gente que ni hace falta en las empresas: “Contratas a alguien, y lo primero que hace es contratar"](https://www.genbeta.com/a-fondo/este-ex-ceo-explica-que-hay-demasiados-empleados-empresas-contratas-a-alguien-primero-que-quiere-contratar) +- [businessinsider.es: La brillante explicación de Steve Jobs sobre por qué los buenos empleados renuncian al trabajo](https://www.businessinsider.es/explicacion-steve-jobs-buenos-empleados-renuncian-1137601) ### Team Topologies diff --git a/docs/terraform.md b/docs/terraform.md index 47046507..8c6b2c1b 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -281,6 +281,7 @@ - Terraform can be considered a "semi-declarative" tool as there is no built-in automatic reconciliation feature. There are several solutions to address this issue, but generally speaking, a modification will be applied using terraform apply. The code is actually written using the HCL configuration files (declarative), but the execution is done imperatively. As a result, there can be a drift between the declared and actual state (for example, a colleague who would have changed something directly into the console 😉). - ❓❓ So, how can I ensure that what is committed using Git is really applied. How to be notified if there is a change compared to the desired state and how to automatically apply what is in my code (GitOps)? - This is the promise of tf-controller, an Open Source Kubernetes operator from Weaveworks, tightly related to Flux (a GitOps engine from the same company). Flux is one of the solutions I really appreciate, that's why I invite you to have a look on my previous article +- [praveendandu24.medium.com: Mastering Terraform: From Essential Commands to Effortless EC2 Instance Provisioning](https://praveendandu24.medium.com/mastering-terraform-from-essential-commands-to-effortless-ec2-instance-provisioning-d2d25659450c) ### Terraform and Jenkins @@ -500,6 +501,8 @@ - [==github.com/aws-samples: AWS Service Catalog Engine for Terraform==](https://github.com/aws-samples/service-catalog-engine-for-terraform-os) The AWS Service Catalog Terraform Reference Engine (TRE) provides an example for you to configure and install a Terraform engine in your AWS Service Catalog administrator account. With the engine installed into your account, you can use Service Catalog as a single tool to organize, govern, and distribute your Terraform configurations within AWS. - [dev.to: Terraforming AWS RDS : Scaling Postgres](https://dev.to/yet_anotherdev/aws-rds-scaling-postgres-30ic) - [medium.com/aws-infrastructure: Create AWS VPC Infrastructure with Terraform](https://medium.com/aws-infrastructure/create-aws-vpc-infrastructure-with-terraform-308afed9fe31) +- [numericaideas.com: Auto Scaling Group on AWS with Terraform](https://numericaideas.com/blog/auto-scaling-group-on-aws-with-terraform/) +- [aws.plainenglish.io: Terraform Hands-on Project](https://aws.plainenglish.io/terraform-hands-on-project-d2105bbc0c62) Day-66 Build Your Own AWS Infrastructure {== diff --git a/docs/visual-studio.md b/docs/visual-studio.md index 1443c31b..2d6179bb 100644 --- a/docs/visual-studio.md +++ b/docs/visual-studio.md @@ -330,6 +330,7 @@ A simple extension to make indentation more readable - [Navigate your code's history](https://www.youtube.com/shorts/6IwjxcDbVW0) - [Vertical rulers](https://www.youtube.com/shorts/cTE0ec3IurE) - [Time Travel!](https://www.youtube.com/shorts/0h1xNFsEZBU) +- [Master Git with Git Graph](https://www.youtube.com/shorts/OfsixF-splk) ## Videos diff --git a/mkdocs.yml b/mkdocs.yml index 7095ced4..4ff4ac26 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -274,7 +274,7 @@ nav: - Remote Tech Jobs: remote-tech-jobs.md - Clients: customer.md - About: about.md -copyright: 2023 Nubenetes, about. +copyright: 2024 Nubenetes, about. extra: analytics: provider: google