diff --git a/docs/ansible.md b/docs/ansible.md index 5d01220d..795f3c41 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -17,6 +17,7 @@ - [NGINX Core Collection for Ansibe](#nginx-core-collection-for-ansibe) - [Dynatrace with Ansible](#dynatrace-with-ansible) - [SQL Server with Ansible](#sql-server-with-ansible) +- [Ansistrano. Deploying applications with Ansible in Capistrano style](#ansistrano-deploying-applications-with-ansible-in-capistrano-style) ## Configuration Management with Ansible DevOps Tool * [ansible.com](https://www.ansible.com/) @@ -122,4 +123,7 @@ ## SQL Server with Ansible - [redhat.com: Using Ansible to deploy Microsoft SQL Server 2019 on Red Hat Enterprise Linux 8](https://www.redhat.com/sysadmin/mssql-linux-easy) +## Ansistrano. Deploying applications with Ansible in Capistrano style +- [Ansistrano](https://github.com/ansistrano) +- [Capistrano](https://capistranorb.com/) A remote server automation and deployment tool written in Ruby. diff --git a/docs/aws.md b/docs/aws.md index da452b8e..1ef3be19 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -57,6 +57,7 @@ - [AWS Developer Blog](#aws-developer-blog) - [AWS Lambda Serverless](#aws-lambda-serverless) - [AWS Cloud Formation](#aws-cloud-formation) +- [Former2 to generate IaC templates](#former2-to-generate-iac-templates) - [AWS for Windows](#aws-for-windows) - [Continuous Deployment with AWS](#continuous-deployment-with-aws) - [AWS Security](#aws-security) @@ -336,7 +337,7 @@ - [Application Load Balancer 🌟](https://aws.amazon.com/elasticloadbalancing/applicationloadbalancer/) - [aws blogs - New – AWS Application Load Balancer](https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/) - [medium: 10 reasons why you should think about using an AWS Application Load Balancer](https://medium.com/ankercloud-engineering/10-reasons-why-you-should-think-about-using-an-aws-application-loadbalancer-945f57816c34) -- [Introducing the AWS Load Balancer Controller](https://aws.amazon.com/es/blogs/containers/introducing-aws-load-balancer-controller/) +- [Introducing the AWS Load Balancer Controller](https://aws.amazon.com/blogs/containers/introducing-aws-load-balancer-controller/) - [Fine-tuning blue/green deployments on application load balancer 🌟](https://aws.amazon.com/blogs/devops/blue-green-deployments-with-application-load-balancer/) ## NGINX @@ -389,6 +390,7 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [Specifying the VPC for your Amazon RDS DB Instance](https://aws.amazon.com/about-aws/whats-new/2016/08/specifying-the-vpc-for-your-amazon-rds-db-instance/) You can now easily change the Amazon VPC used by your Amazon RDS DB instance! - [awsfundamentals.blogspot.com: AWS Virtual Private Cloud - VPC 🌟](https://awsfundamentals.blogspot.com/2019/12/aws-vpc-fundamental.html) - [Reduce Cost and Increase Security with Amazon VPC Endpoints](https://aws.amazon.com/blogs/architecture/reduce-cost-and-increase-security-with-amazon-vpc-endpoints/) +- [ealtili.medium.com: Deepdive to VPCs and Connections to VPC](https://ealtili.medium.com/deepdive-to-vpcs-and-connections-to-vpc-2de3fb164d7c) ## AWS SQS. Amazon Simple Queue Service - [Limits in Amazon SQS](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html) @@ -425,6 +427,10 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [Introducing Cloud Formation Guard - a new opensource CLI for infrastructure compliance 🌟](https://aws.amazon.com/about-aws/whats-new/2020/06/introducing-aws-cloudformation-guard-preview/) - [AWS CloudFormation Guard 🌟](https://github.com/aws-cloudformation/cloudformation-guard) +## Former2 to generate IaC templates +- [Accelerate infrastructure as code development with open source Former2 🌟](https://aws.amazon.com/blogs/opensource/accelerate-infrastructure-as-code-development-with-open-source-former2/) +- [former2.com 🌟](https://former2.com/) + ## AWS for Windows - [blog.rackspace.com: Patch and AMI Management for Windows on AWS](http://blog.rackspace.com/patch-and-ami-management-for-windows-on-aws) step-by-step guide about patch and AMI management for Windows on AWS @@ -569,6 +575,8 @@ aws ec2 describe-instances --query 'Reservations[].Instances[].[Placement.Availa - [itnext.io: Using AWS NLB manually targeting an EKS Service exposing UDP traffic](https://itnext.io/using-aws-nlb-manually-targeting-an-eks-service-exposing-udp-traffic-17053ecd8f52) - [medium: Creating CI/CD Pipeline for AWS ECS β€” Part I](https://medium.com/@harshvijaythakkar/creating-ci-cd-pipeline-for-aws-ecs-part-i-b2f61bb1522f) - [Amazon EKS Now Supports EC2 Inf1 Instances](https://aws.amazon.com/blogs/aws/amazon-eks-now-supports-ec2-inf1-instances/) +- [Create a pipeline with canary deployments for Amazon EKS with AWS App Mesh 🌟](https://aws.amazon.com/blogs/containers/create-a-pipeline-with-canary-deployments-for-amazon-eks-with-aws-app-mesh/) +- [medium: Using Helm with Amazon EKS without kubeconfigs](https://medium.com/analytics-vidhya/using-helm-with-amazon-eks-without-a-kubeconfig-733f44a31b1d) ## AWS Fargate - [Deploy Machine Learning Pipeline on AWS Fargate](https://www.kdnuggets.com/2020/07/deploy-machine-learning-pipeline-aws-fargate.html) diff --git a/docs/cheatsheets.md b/docs/cheatsheets.md index 31a59946..35312163 100644 --- a/docs/cheatsheets.md +++ b/docs/cheatsheets.md @@ -32,6 +32,7 @@ - [TypeScript](#typescript) - [Jupyter](#jupyter) - [Postgres](#postgres) +- [MariaDB and mySQL](#mariadb-and-mysql) - [MongoDB](#mongodb) ## Cheat Sheets @@ -75,7 +76,6 @@ * [cheatsheet.dennyzhang.com: kubectl kubernetes free cheat sheet 🌟](https://cheatsheet.dennyzhang.com/cheatsheet-kubernetes-a4) * [opensource.com: 9 kubectl commands sysadmins need to know 🌟](https://opensource.com/article/20/5/kubectl-cheat-sheet) Keep these 9 critical kubectl commands handy to help you with troubleshooting and managing your Kubernetes cluster administration. * [bluematador.com: kubectl cheatsheet](https://www.bluematador.com/learn/kubectl-cheatsheet) -* [medium: Awesome Kubernetes Command-Line Hacks](https://medium.com/better-programming/awesome-kubernetes-command-line-hacks-8bd3604e394f) * [dockerlabs.collabnix.com: Cheatsheet - Kubectl 🌟](https://dockerlabs.collabnix.com/kubernetes/cheatsheets/kubectl.html) * [medium: Awesome Kubernetes Command-Line Hacks](https://medium.com/better-programming/awesome-kubernetes-command-line-hacks-8bd3604e394f) Tips for you to kubectl like a pro @@ -134,6 +134,7 @@ * [commandlinefu.com](https://www.commandlinefu.com/) * [opensource.com: 10 cheat sheets for Linux sysadmins](https://opensource.com/article/20/7/sysadmin-cheat-sheets) * [curl cheat sheet for Linux and Unix users](https://daniel.haxx.se/blog/wp-content/uploads/2020/01/sticker-cheat-sheet.png) +* [NetworkManager CLI cheatsheet](https://github.com/neilhwatson/nustuff/blob/master/networking/nmcli.md) ### SSH Cheat Sheets - [ssh cheat sheet](https://cheatsheet.dennyzhang.com/cheatsheet-ssh-a4) @@ -228,5 +229,8 @@ ## Postgres - [postgrescheatsheet.com](https://postgrescheatsheet.com/) +## MariaDB and mySQL +- [opensource.com: MariaDB and mySQL cheat sheet](https://opensource.com/downloads/mariadb-mysql-cheat-sheet) + ## MongoDB - [developer.mongodb.com: MongoDB Cheat Sheet](https://developer.mongodb.com/quickstart/cheat-sheet) \ No newline at end of file diff --git a/docs/cicd.md b/docs/cicd.md index a65b7200..55d35d51 100644 --- a/docs/cicd.md +++ b/docs/cicd.md @@ -56,6 +56,7 @@ Here are some important things to consider while building a CI/CD pipeline: * [harness.io: 3 Ways to Use Automation in CI/CD Pipelines](https://thenewstack.io/3-ways-to-use-automation-in-ci-cd-pipelines/) * [cloudbees.com: 7 Tips for Creating A Successful CI/CD Pipeline 🌟](https://www.cloudbees.com/blog/tips-creating-successful-cicd-pipeline) * [gitconnected.com: Blue-Green with Canary Deployment β€” A Novel approach](https://levelup.gitconnected.com/blue-green-with-canary-deployment-a-novel-approach-2cee77ff564d) +* [dzone: CI/CD Pipeline: Demystifying The Complexities](https://dzone.com/articles/cicd-pipeline-demystifying-the-complexities) Get a high-level overview of CI/CD pipelines and the components that make up a DevOps process, and some of the challenges and benefits of a CI/CD pipeline. ## Security in CI/CD * [CI Checks Are Not Enough: Combat Configuration Drift in Kubernetes Resources](https://thenewstack.io/ci-checks-are-not-enough-combat-configuration-drift-in-kubernetes-resources/) diff --git a/docs/container-managers.md b/docs/container-managers.md index c3a4df20..9de7a3c6 100644 --- a/docs/container-managers.md +++ b/docs/container-managers.md @@ -52,6 +52,7 @@ - [youtube: Getting started with Podman](https://www.youtube.com/watch?v=Za36qHbrf3g) - [Podman remote clients for macOS and Windows](https://www.redhat.com/sysadmin/podman-clients-macos-windows) Podman manages your containers on a Linux host. Manage your containers from macOS or Windows by using the Podman remote client. - [developers.redhat.com: Rootless containers with Podman: The basics](https://developers.redhat.com/blog/2020/09/25/rootless-containers-with-podman-the-basics/) +- [tecmint.com: How to Manage Containers Using Podman and Skopeo in RHEL 8](https://www.tecmint.com/manage-containers-using-podman-in-rhel/) #### 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/demos.md b/docs/demos.md index e0c20a7b..541fd91d 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -2,55 +2,55 @@ - [DevOps Screencasts](#devops-screencasts) - [DevOps Blogs](#devops-blogs) - [DevOps Demos](#devops-demos) - - [Ansible and Ansible Tower](#ansible-and-ansible-tower) - - [GitOps](#gitops) + - [Ansible and Ansible Tower](#ansible-and-ansible-tower) + - [GitOps](#gitops) - [Kubernetes Demos](#kubernetes-demos) - - [CI/CD with SpringBoot for Kubernetes](#cicd-with-springboot-for-kubernetes) - - [Kubernetes CKAD Example Exam Questions Practical Challenge Series](#kubernetes-ckad-example-exam-questions-practical-challenge-series) - - [Istio](#istio) - - [Rancher](#rancher) - - [GitOps Workflow with Flux](#gitops-workflow-with-flux) - - [Amazon EKS. Deploy example microservices on EKS](#amazon-eks-deploy-example-microservices-on-eks) - - [Environments to learn and practice Kubernetes security](#environments-to-learn-and-practice-kubernetes-security) + - [CI/CD with SpringBoot for Kubernetes](#cicd-with-springboot-for-kubernetes) + - [Kubernetes CKAD Example Exam Questions Practical Challenge Series](#kubernetes-ckad-example-exam-questions-practical-challenge-series) + - [Istio](#istio) + - [Rancher](#rancher) + - [GitOps Workflow with Flux](#gitops-workflow-with-flux) + - [Amazon EKS. Deploy example microservices on EKS](#amazon-eks-deploy-example-microservices-on-eks) + - [Environments to learn and practice Kubernetes security](#environments-to-learn-and-practice-kubernetes-security) - [Red Hat Demo Central](#red-hat-demo-central) - - [Cloud Native Development Architectural Diagrams Demos](#cloud-native-development-architectural-diagrams-demos) + - [Cloud Native Development Architectural Diagrams Demos](#cloud-native-development-architectural-diagrams-demos) - [OpenShift Demos](#openshift-demos) - - [OpenShift VS Kubernetes](#openshift-vs-kubernetes) - - [IBM Cloud Pak Playbooks](#ibm-cloud-pak-playbooks) - - [Knative](#knative) - - [OpenShift Pipelines Workshop (Tekton)](#openshift-pipelines-workshop-tekton) - - [ArgoCD](#argocd) - - [GitLab Pipelines on OpenShift](#gitlab-pipelines-on-openshift) - - [Deploying Web Applications with Eclipse JKube (formerly known as fabric8)](#deploying-web-applications-with-eclipse-jkube-formerly-known-as-fabric8) - - [Monitoring Services with OpenShift ServiceMesh](#monitoring-services-with-openshift-servicemesh) - - [Red Hat Migration Toolkit for Applications](#red-hat-migration-toolkit-for-applications) - - [Red Hat Advanced Cluster Management RHACM](#red-hat-advanced-cluster-management-rhacm) - - [OKD](#okd) - - [Helm 3 on OpenShift](#helm-3-on-openshift) - - [Writing Kubernetes Operators](#writing-kubernetes-operators) - - [Customized Reports with Metering Operator (monitoring k8s resources)](#customized-reports-with-metering-operator-monitoring-k8s-resources) - - [Red Hat AMQ Streams (Kafka)](#red-hat-amq-streams-kafka) + - [OpenShift VS Kubernetes](#openshift-vs-kubernetes) + - [IBM Cloud Pak Playbooks](#ibm-cloud-pak-playbooks) + - [Knative](#knative) + - [OpenShift Pipelines Workshop (Tekton)](#openshift-pipelines-workshop-tekton) + - [ArgoCD](#argocd) + - [GitLab Pipelines on OpenShift](#gitlab-pipelines-on-openshift) + - [Deploying Web Applications with Eclipse JKube (formerly known as fabric8)](#deploying-web-applications-with-eclipse-jkube-formerly-known-as-fabric8) + - [Monitoring Services with OpenShift ServiceMesh](#monitoring-services-with-openshift-servicemesh) + - [Red Hat Migration Toolkit for Applications](#red-hat-migration-toolkit-for-applications) + - [Red Hat Advanced Cluster Management RHACM](#red-hat-advanced-cluster-management-rhacm) + - [OKD](#okd) + - [Helm 3 on OpenShift](#helm-3-on-openshift) + - [Writing Kubernetes Operators](#writing-kubernetes-operators) + - [Customized Reports with Metering Operator (monitoring k8s resources)](#customized-reports-with-metering-operator-monitoring-k8s-resources) + - [Red Hat AMQ Streams (Kafka)](#red-hat-amq-streams-kafka) - [Jenkins Demos](#jenkins-demos) - - [Jenkins Declarative Pipelines with OpenShift](#jenkins-declarative-pipelines-with-openshift) - - [OpenShift Pipelines with S2i and Jenkins Blue Ocean](#openshift-pipelines-with-s2i-and-jenkins-blue-ocean) - - [Jenkins Configuration as Code on Kubernetes](#jenkins-configuration-as-code-on-kubernetes) - - [From Jenkins Freestyle jobs to Pipeline, with JobDSL. Seed jobs](#from-jenkins-freestyle-jobs-to-pipeline-with-jobdsl-seed-jobs) - - [SDKMAN](#sdkman) - - [Jenkins Scripts](#jenkins-scripts) - - [Postman & Newman API Automated Tests](#postman--newman-api-automated-tests) - - [Monitoring Jenkins with Grafana](#monitoring-jenkins-with-grafana) + - [Jenkins Declarative Pipelines with OpenShift](#jenkins-declarative-pipelines-with-openshift) + - [OpenShift Pipelines with S2i and Jenkins Blue Ocean](#openshift-pipelines-with-s2i-and-jenkins-blue-ocean) + - [Jenkins Configuration as Code on Kubernetes](#jenkins-configuration-as-code-on-kubernetes) + - [From Jenkins Freestyle jobs to Pipeline, with JobDSL. Seed jobs](#from-jenkins-freestyle-jobs-to-pipeline-with-jobdsl-seed-jobs) + - [SDKMAN](#sdkman) + - [Jenkins Scripts](#jenkins-scripts) + - [Postman & Newman API Automated Tests](#postman--newman-api-automated-tests) + - [Monitoring Jenkins with Grafana](#monitoring-jenkins-with-grafana) - [Jenkins X](#jenkins-x) - [Nexus3 on Kubernetes](#nexus3-on-kubernetes) - [GitLab](#gitlab) - [Spring PetClinic Sample Application](#spring-petclinic-sample-application) - - [Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL](#modular-pipeline-library-mpl-petclinic-pipeline-example-with-mpl) - - [PetClinic on Kubernetes:](#petclinic-on-kubernetes) - - [PetClinic Docker images:](#petclinic-docker-images) - - [OpenShift.io Samples](#openshiftio-samples) + - [Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL](#modular-pipeline-library-mpl-petclinic-pipeline-example-with-mpl) + - [PetClinic on Kubernetes:](#petclinic-on-kubernetes) + - [PetClinic Docker images:](#petclinic-docker-images) + - [OpenShift.io Samples](#openshiftio-samples) - [AWS Demos](#aws-demos) - [Azure DevOps Demos](#azure-devops-demos) - [Google DevOps Demos](#google-devops-demos) - - [GitOps with Anthos Config Management](#gitops-with-anthos-config-management) + - [GitOps with Anthos Config Management](#gitops-with-anthos-config-management) - [Quarkus Demos](#quarkus-demos) - [Kafka](#kafka) - [Apache Camel & ActiveMQ. Event driven integration](#apache-camel--activemq-event-driven-integration) @@ -110,6 +110,7 @@ * [medium: Single Sign-On in Kubernetes](https://medium.com/@andriisumko/single-sign-on-in-kubernetes-1ad9528350ed) This article walks you through creating a service, exposing it with an Ingress, and adding Single Sign On. The article uses Okta (but of course you’re free to use any other OIDC SSO provider you prefer) * [Free Kubernetes 🌟🌟](https://github.com/learnk8s/free-kubernetes/) List of free Trials/Credit for Managed Kubernetes Services. * [medium: Kubernetes in a nutshell β€” tutorial for beginners 🌟🌟](https://medium.com/swlh/kubernetes-in-a-nutshell-tutorial-for-beginners-caa442dfd6c0) Deploy a complete application stack just in a few steps! +* [shipa.io: Developing and deploying applications to Kubernetes locally with Shipa and Minikube](https://www.shipa.io/development/deploying-applications-on-kubernetes/) ### CI/CD with SpringBoot for Kubernetes * [CI/CD for Kubernetes through a Spring Boot example (Banzai Cloud CI/CD)](https://teletype.in/@sravancynixit/CcwqFANxY) @@ -122,6 +123,7 @@ ### Rancher - [Deploy a Rancher Cluster with GitLab CI and Terraform](https://rancher.com/blog/2020/deploy-with-gitlab-ci) +- [cncf.io: Implementing GitOps on Kubernetes Using K3s, Rancher, Vault and Argo CD](https://www.cncf.io/blog/2020/11/12/implementing-gitops-on-kubernetes-using-k3s-rancher-vault-and-argo-cd/) ### GitOps Workflow with Flux - [managedkube.com: A Complete Step by Step Guide to Implementing a GitOps Workflow with Flux](https://managedkube.com/gitops/flux/weaveworks/guide/tutorial/2020/05/01/a-complete-step-by-step-guide-to-implementing-a-gitops-workflow-with-flux.html) @@ -177,6 +179,7 @@ * [medium.com: Red Hat OpenShift Virtualization in nested VMware vSphere Cluster](https://medium.com/@carlosedp/red-hat-openshift-virtualization-in-nested-vmware-vsphere-56c5e5d76a80) In this post, I'll go thru the process of running Virtual Machines on OpenShift Virtualization in a nested setup inside VMware vSphere. This requires both ESXi hosts and a VCenter, both on 6.7U3 or up. * [schabell.org: CodeReady Containers - Building a Cloud-Native Human Resources Process](https://www.schabell.org/2020/10/codeready-containers-building-cloud-native-hr-process.html) * [developers.redhat.com: Persistent storage in action: Understanding Red Hat OpenShift’s persistent volume framework 🌟](https://developers.redhat.com/blog/2020/10/22/persistent-storage-in-action-understanding-red-hat-openshifts-persistent-volume-framework/) +* [opensource.com: Set up Minishift and run Jenkins on Linux](https://opensource.com/article/20/11/minishift-linux) Install, configure, and use Minishift to create your first pipeline. ### OpenShift VS Kubernetes * [developer.ibm.com: Example exercises to differentiate OpenShift and Kubernetes](https://developer.ibm.com/tutorials/examples-differentiate-openshift-kubernetes/) Example exercises to differentiate OpenShift and Kubernetes. Walk through some steps with Red Hat OpenShift on IBM Cloud. @@ -211,6 +214,7 @@ - [Building and Deploying a Weather Web Application onto Kubernetes/Red Hat OpenShift using Eclipse JKube](https://itnext.io/building-and-deploying-a-weather-web-application-onto-kubernetes-red-hat-openshift-using-eclipse-62bf7c924be4) - [Java development on top of Kubernetes using Eclipse JKube](https://developers.redhat.com/blog/2020/08/24/java-development-on-top-of-kubernetes-using-eclipse-jkube/) - [medium: Deploy Quarkus Todo List App to Kubernetes Using Eclipse JKube](https://medium.com/swlh/deploy-quarkus-todo-list-app-to-kubernetes-using-eclipse-jkube-c774ef6b68f0) +- [youtube: Deploy your Java applications to the Cloud using Eclipse JKube (petclinic) 🌟](https://www.youtube.com/watch?v=vgIwRX4LXfU) ### Monitoring Services with OpenShift ServiceMesh - [Monitoring Services like an SRE in OpenShift ServiceMesh](https://www.openshift.com/blog/monitoring-services-like-an-sre-in-openshift-servicemesh) @@ -255,6 +259,7 @@ * [cloudogu/jenkinsfiles 🌟🌟🌟](https://github.com/cloudogu/jenkinsfiles) This project contains examples for the [Jenkins pipeline plugin](https://jenkins.io/solutions/pipeline/), comparing both declarative and scripted syntax. The examples were developed while working on an article series called Coding Continuous Delivery published in [Java aktuell](http://www.ijug.eu/java-aktuell/das-magazin.html). Both English translation and German original can be found on the [Cloudogu Blog](https://cloudogu.com/en/blog). * [aws.amazon.com: Integrating Jenkins with AWS CodeArtifact to publish and consume Python artifacts](https://aws.amazon.com/blogs/devops/using-jenkins-with-codeartifact/) * [github.com/monodot/pipeline-library-demo 🌟](https://github.com/monodot/pipeline-library-demo) Demonstrates how to use a Shared Library in Jenkins pipelines. This repository defines a single function, sayHello, which will echo a greeting. +* [piotrminkowski.com: Continuous Integration with Jenkins on Kubernetes 🌟](https://piotrminkowski.com/2020/11/10/continuous-integration-with-jenkins-on-kubernetes/) ### Jenkins Declarative Pipelines with OpenShift * [github.com/openshift: Using Jenkins Declarative Pipelines with OpenShift 🌟](https://github.com/openshift/origin/tree/master/examples/jenkins/pipeline) @@ -407,6 +412,7 @@ Grab them from here: [awesome-kubernetes/scripts](https://github.com/redhatspain - [Azure DevOps Demo Generator](https://azuredevopsdemogenerator.azurewebsites.net/) - [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/) ## Google DevOps Demos - [Terraform Automation Demo using Google Cloud Provider](https://github.com/TerraHubCorp/terraform-google-automation-demo) diff --git a/docs/devel-sites.md b/docs/devel-sites.md new file mode 100644 index 00000000..e3982957 --- /dev/null +++ b/docs/devel-sites.md @@ -0,0 +1,6 @@ +# Websites for web developers +- https://public-apis.io A list of free Apis for developers. +- https://drawkit.io Hand drawn illustrations. +- https://happyhues.com Superb colors palettes. +- https://svgporn.com High quality svg logos. + diff --git a/docs/devops.md b/docs/devops.md index 88b4f91c..fd1d33df 100644 --- a/docs/devops.md +++ b/docs/devops.md @@ -77,6 +77,9 @@ * [thenewstack.io: DevOps World: DevOps Moves to Resilient Collaboration](https://thenewstack.io/post-pandemic-devops-moves-to-resilient-collaboration/) * [devopscurry.com: Key DevOps Principles to focus in 2021](https://devopscurry.com/key-devops-principles-to-focus-in-2021/) * [medium: How to Become an DevOps Engineer in 2020](https://medium.com/swlh/how-to-become-an-devops-engineer-in-2020-80b8740d5a52) How to get started with a career in DevOps. +* [cloudacademy.com: Blog / DevOpsDevOps: Why Is It Important to Decouple Deployment From Release?](https://cloudacademy.com/blog/devops-why-is-it-important-to-decouple-deployment-from-release/) +* [dzone: The Serverless Path to DevOps](https://dzone.com/articles/the-serverless-path-to-devops) Serverless and DevOps combine in this article the uses AWS services as examples of how serverless technologies benefit DevOps processes. +* [devopscurry.com: DevOps 2021: A Complete Guide To Transition From a SysAdmin to DevOps Role](https://devopscurry.com/devops-2021-a-complete-guide-to-transition-from-a-sysadmin-to-devops-role/)
[![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 66067759..1eca2bf3 100644 --- a/docs/devsecops.md +++ b/docs/devsecops.md @@ -144,6 +144,7 @@ ## Kubernetes Network Policies - [medium.com: K8s Network Policies Demystified and Simplified 🌟](https://medium.com/swlh/k8s-network-policies-demystified-and-simplified-18f5ea9848e2) +- [blog.nody.cc: Verify your Kubernetes Cluster Network Policies: From Faith to Proof](https://blog.nody.cc/posts/2020-06-kubernetes-network-policy-verification/?utm_sq=gjcz3y2zvp) ## Static Analysis SAST - [DevSecOps – Static Analysis SAST with Jenkins Pipeline](https://digitalvarys.com/devsecops-static-analysis-sast-with-jenkins-pipeline/) diff --git a/docs/docker.md b/docs/docker.md index 5037a615..b008c4fa 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -49,6 +49,7 @@ ## Security - [thehackernews.com: Docker Images Containing Cryptojacking Malware Distributed via Docker Hub](https://thehackernews.com/2020/06/cryptocurrency-docker-image.html) +- [acloudguru.com: 10 Docker Security Best Practices to Cut Container Chaos](https://acloudguru.com/blog/engineering/10-docker-security-best-practices-to-cut-container-chaos) ## How To Build a Smaller Docker Image * [developers.redhat.com: Keep it small: a closer look at Docker image sizing](https://developers.redhat.com/blog/2016/03/09/more-about-docker-images-size/) diff --git a/docs/git.md b/docs/git.md index a21e828a..4206d2c1 100644 --- a/docs/git.md +++ b/docs/git.md @@ -3,31 +3,31 @@ - [Design By Contract](#design-by-contract) - [Git Cheat Sheets](#git-cheat-sheets) - [Patterns for Managing Source Code Branches (Branching Models/Workflows)](#patterns-for-managing-source-code-branches-branching-modelsworkflows) - - [Git Workflows](#git-workflows) - - [Trunk Based Development](#trunk-based-development) - - [Feature Branch Development (aka GitFlow)](#feature-branch-development-aka-gitflow) - - [Git Flow](#git-flow) - - [Trunk-based Development vs. Git Flow](#trunk-based-development-vs-git-flow) - - [Alternative Branching Models](#alternative-branching-models) - - [Feature Flags (Feature Toggles)](#feature-flags-feature-toggles) + - [Git Workflows](#git-workflows) + - [Trunk Based Development](#trunk-based-development) + - [Feature Branch Development (aka GitFlow)](#feature-branch-development-aka-gitflow) + - [Git Flow](#git-flow) + - [Trunk-based Development vs. Git Flow](#trunk-based-development-vs-git-flow) + - [Alternative Branching Models](#alternative-branching-models) + - [Feature Flags (Feature Toggles)](#feature-flags-feature-toggles) - [Git Commands](#git-commands) - [BitBucket](#bitbucket) - [GitLab](#gitlab) - [GitHub](#github) - [Git Tools](#git-tools) - - [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) + - [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) - [Azure DevOps (formerly known as VSTS)](#azure-devops-formerly-known-as-vsts) - [Merge BOTs](#merge-bots) - - [Tips](#tips) - - [Jenkins for git merges](#jenkins-for-git-merges) - - [Bitbucket for git merges](#bitbucket-for-git-merges) - - [GitLab for git merges](#gitlab-for-git-merges) - - [Marge GitLab bot](#marge-gitlab-bot) - - [Jenkins-X bots](#jenkins-x-bots) - - [Plastic SCM bot](#plastic-scm-bot) - - [Mergify bot](#mergify-bot) - - [GitHub bots](#github-bots) - - [Bors GitHub bot](#bors-github-bot) + - [Tips](#tips) + - [Jenkins for git merges](#jenkins-for-git-merges) + - [Bitbucket for git merges](#bitbucket-for-git-merges) + - [GitLab for git merges](#gitlab-for-git-merges) + - [Marge GitLab bot](#marge-gitlab-bot) + - [Jenkins-X bots](#jenkins-x-bots) + - [Plastic SCM bot](#plastic-scm-bot) + - [Mergify bot](#mergify-bot) + - [GitHub bots](#github-bots) + - [Bors GitHub bot](#bors-github-bot) ## Git Distributed Version-Control System * [Wikipedia: Git](https://en.wikipedia.org/wiki/Git) @@ -88,6 +88,7 @@ It prescribes that software designers should define formal, precise and verifiab * [Release Branch Pattern:](https://martinfowler.com/articles/branching-patterns.html#release-branch) A branch that only accepts commits accepted to stabilize a version of the product ready for release. * [medium: Which Git branching model should I select for my project?](https://medium.com/aventude/which-git-branching-model-should-i-select-73aafc503b5f) * [speakerdeck.com: 10 Git Anti Patterns You Should be Aware of 🌟](https://speakerdeck.com/lemiorhan/10-git-anti-patterns-you-should-be-aware-of) +* [Dzone: Git Branch Naming Conventions](https://dzone.com/articles/git-branch-naming-conventions-1) A primer on naming branches for modern git workflows.
diff --git a/docs/gitops.md b/docs/gitops.md index f649926e..38dc29ba 100644 --- a/docs/gitops.md +++ b/docs/gitops.md @@ -33,6 +33,7 @@ - [container-solutions.com: GitOps: The Bad and the Ugly](https://blog.container-solutions.com/gitops-the-bad-and-the-ugly) - [itnext.io: Principles, Patterns, and Practices for Effective Infrastructure as Code](https://itnext.io/principles-patterns-and-practices-for-effective-infrastructure-as-code-e5f7bbe13df1) Deliver Infrastructure and Software running on it Rapidly and Reliably at Scale. - [medium: GitOps: Build infrastructure resilient applications 🌟](https://medium.com/@franoisdagostini/gitops-build-infrastructure-resilient-applications-95bbc939046d) +- [itnext.io: Continuous GitOps, the way to do DevOps in Kubernetes 🌟](https://itnext.io/continuous-gitops-the-way-to-do-devops-in-kubernetes-896b0ea1d0fb) Continuous GitOps, the new age DevOps practice to increase the delivery velocity by achieving an end to end β€œGit source of truth” with Zero manual changes into the Kubernetes cluster. ## Git Repositories Structures - [GitOps: How to Ops Your Git the Right Way 🌟](https://dzone.com/articles/gitops-how-to-ops-your-git-the-right-way) In this article we’ll look into the specifics of creating Git repositories structures β€Šβ€” β€Šthe very core of the GitOps approach. @@ -51,6 +52,12 @@ - [dzone: Developing Applications on Multi-tenant Clusters With Flux and Kustomize](https://dzone.com/articles/developing-applications-on-multitenant-clusters-wi) Take a look at how multiple teams can use the resources of a single cluster to develop an application. - [A Complete Step by Step Guide to Implementing a GitOps Workflow with Flux 🌟](https://managedkube.com/gitops/flux/weaveworks/guide/tutorial/2020/05/01/a-complete-step-by-step-guide-to-implementing-a-gitops-workflow-with-flux.html) - [itnext.io: Managing Kubernetes Secrets Securely with GitOps (SOPS + AWS KMS + Flux)](https://itnext.io/managing-kubernetes-secrets-securely-with-gitops-b8174b4f4d30) +- [acloudguru.com: Adopting GitOps for Kubernetes on AWS 🌟](https://acloudguru.com/blog/engineering/adopting-gitops-for-kubernetes-on-aws?utm_source=linkedin&utm_medium=social&utm_campaign=kubernetesblog) Tips for adopting GitOps for your Kubernetes workload in AWS: + - Use Git as your source of truth + - Use a Git branch per environment + - Practice proper change management + - Roll back with Git + - Automate everything ### 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. diff --git a/docs/index.md b/docs/index.md index aeeeec0f..45544c42 100644 --- a/docs/index.md +++ b/docs/index.md @@ -148,6 +148,7 @@ A curated list of awesome references collected since 2018. Microservices archite - [JavaScript - node.js & npm](javascript.md) - [Python - Django & Flask](python.md) - [Xamarin](xamarin.md) +- [Websites for web developers](devel-sites.md) ### Java - [Java & Open Source Microservices Frameworks. SpringBoot, MicroProfile, Quarkus and more 🌟](java_frameworks.md) - [Java Memory Management & Java Performance Optimization](java-and-java-performance-optimization.md) @@ -175,6 +176,7 @@ A curated list of awesome references collected since 2018. Microservices archite ## Recruitment and Freelancing - [Recruitment](recruitment.md) - [Freelancing](freelancing.md) +- [Remote Tech Jobs](remote-tech-jobs.md) ---
diff --git a/docs/introduction.md b/docs/introduction.md index 7369bb95..7df7b7ab 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -2,9 +2,11 @@ - [Introduction](#introduction) - [PaaS](#paas) - [From Java EE To Cloud Native](#from-java-ee-to-cloud-native) +- [Monolith to Microservices Using the Strangler Pattern](#monolith-to-microservices-using-the-strangler-pattern) - [Openshift VS Kubernetes](#openshift-vs-kubernetes) - [Career Path](#career-path) - [Full Stack Developer's Roadmap](#full-stack-developers-roadmap) +- [Software Development Models](#software-development-models) ## Introduction * [developers.redhat.com: Why Kubernetes is The New Application Server](https://developers.redhat.com/blog/2018/06/28/why-kubernetes-is-the-new-application-server/) @@ -38,6 +40,8 @@ * [lavanguardia.com: Por quΓ© la transformaciΓ³n digital es mentira 🌟](https://www.lavanguardia.com/economia/20201014/484036217179/transformacion-digital-empresas-foncillas-pf-video-seo-lv.html) * [devops.com: 6 Advantages of Microservices](https://devops.com/6-advantages-of-microservices/) * [cloudpundit.com: Don’t boil the ocean to create your cloud 🌟](https://cloudpundit.com/2020/09/22/dont-boil-the-ocean-to-create-your-cloud/) +* [hcltech.com: DevOps Tools and Technologies to Manage Microservices 🌟](https://www.hcltech.com/blogs/devops-tools-and-technologies-manage-microservices) +* [redhat.com: A sysadmin's guide to containerizing applications](https://www.redhat.com/sysadmin/containerizing-applications) Curious how to containerize your Linux applications? Learn by example, and understand the challenges of various application types and how to overcome them.
[![microservices infographic](images/microservices-infographic.png)](https://www.weave.works/technologies/going-cloud-native-6-essential-things-you-need-to-know) @@ -54,6 +58,10 @@ - [wikipedia: Java Enterprise Edition (Java EE)](https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition) - [lightbend.com: From Java EE To Cloud Native: The End Of The Heavyweight Era 🌟](https://www.lightbend.com/white-papers-and-reports/java-ee-to-cloud-native-modernization) +## Monolith to Microservices Using the Strangler Pattern +- [dzone: Monolith to Microservices Using the Strangler Pattern 🌟](https://dzone.com/articles/monolith-to-microservices-using-the-strangler-patt) The Strangler Pattern is a popular design pattern to incrementally transform your monolithic application into microservices by replacing a particular functionality with a new service. Once the new functionality is ready, the old component is strangled, the new service is put into use, and the old component is decommissioned altogether. +- [overops.com: Strangler Pattern: How to Deal With Legacy Code During the Container Revolution](https://www.overops.com/blog/strangler-pattern-how-to-keep-sane-with-legacy-monolith-applications/) + ## Openshift VS Kubernetes * [cloudowski.com: 10 most important differences between OpenShift and Kubernetes 🌟](https://cloudowski.com/articles/10-differences-between-openshift-and-kubernetes/) * [Dzone.com: 4 Cluster Management Tools to Compare](https://dzone.com/articles/4-cluster-management-tools-to-compare) @@ -68,6 +76,7 @@ * [spec-india.com: Kubernetes VS Openshift (July 23rd 2019)](https://www.spec-india.com/blog/kubernetes-vs-openshift) * [phoenixnap.com: Kubernetes vs OpenShift: Key Differences Compared 🌟](https://phoenixnap.com/blog/kubernetes-vs-openshift) * [crn.com: Red Hat CEO: We Have A β€˜Head Start’ Over VMware, Competitors In Kubernetes](https://www.crn.com/slide-shows/cloud/red-hat-ceo-we-have-a-head-start-over-vmware-competitors-in-kubernetes) Red Hat CEO Paul Cormier speaks with CRN about the role IBM has played in Red Hat’s channel strategy, how the company has preserved its independence under Big Blue, and why Red Hat will win in the ultra-competitive Kubernetes market. +* [redhat.com ebook: Red Hat OpenShift and Kubernetes ... what's the difference? 🌟](https://www.redhat.com/en/resources/openshift-and-kubernetes-whats-the-difference-ebook) ## Career Path - [Kelsey Hightower Fireside Chat: An Unconventional Path to IT and Some Life Advice](https://www.hashicorp.com/resources/kelsey-hightower-fireside-chat-an-unconventional-path-to-it-and-some-life-advice/?utm_source=linkedin) @@ -75,6 +84,9 @@ ## Full Stack Developer's Roadmap - [Full Stack Developer's Roadmap 🌟](https://dev.to/ender_minyard/full-stack-developer-s-roadmap-2k12) +## Software Development Models +- [dzone: 7 Software Development Models You Should Know](https://dzone.com/articles/7-software-development-models-you-should-know) Software Development Models are integral to the success (or failure) of a project. Here are 7 models you should know, from Waterfall to the V-Model to Scrum. +
[![Openshift SaaS VS Kubernetes SaaS](images/openshift-vs-kubernetes-saas.png)](https://proteon.com/2018/10/18/openshift-in-a-world-of-kubernetes-as-a-service/) diff --git a/docs/java-and-java-performance-optimization.md b/docs/java-and-java-performance-optimization.md index f41697f9..8f98a52b 100644 --- a/docs/java-and-java-performance-optimization.md +++ b/docs/java-and-java-performance-optimization.md @@ -51,6 +51,7 @@ etc| * [dzone.com: Java RAM Usage in Containers: Top 5 Tips for Not Losing Your Memory](https://dzone.com/articles/java-ram-usage-in-containers-top-5-tips-not-to-los) * [dzone.com: Running a JVM in a Container Without Getting Killed:](https://dzone.com/articles/running-a-jvm-in-a-container-without-getting-kille) Starting in JDK 9, and earlier if you use JDK 8u131, your JVM can detect how much memory is available when running inside a Docker container. * [dzone.com: Java Inside Docker: What You Must Know to Not FAIL](https://dzone.com/articles/java-inside-docker-what-you-must-know-to-not-fail) If you've tried Java in containers, particularly Docker, you might have encountered some problems with the JVM and heap size. Here's how to fix it. +* [itnext.io: How to cold start fast a java service on k8s (EKS)](https://itnext.io/how-to-cold-start-fast-a-java-service-on-k8s-eks-3a7b4450845d) ### Debugging java applications on OpenShift and Kubernetes * [blog.openshift.com: Debugging Java Applications On OpenShift and Kubernetes](https://blog.openshift.com/debugging-java-applications-on-openshift-kubernetes/) diff --git a/docs/java_frameworks.md b/docs/java_frameworks.md index 179a5d38..1ceb09f7 100644 --- a/docs/java_frameworks.md +++ b/docs/java_frameworks.md @@ -106,6 +106,7 @@ optimizing Enterprise Java for the microservices architecture. - [**Spring Boot Istio library**: Spring Boot library for integration with Istio](https://piotrminkowski.com/2020/06/10/spring-boot-library-for-integration-with-istio/) * [Spring Boot native images. The path towards Spring Boot native applications](https://spring.io/blog/2020/06/10/the-path-towards-spring-boot-native-applications) * [piotrminkowski.com: Best practices for microservices on kubernetes 🌟](https://piotrminkowski.com/2020/03/10/best-practices-for-microservices-on-kubernetes/) +* [piotrminkowski.com: Spring Boot Autoscaling on kubernetes 🌟](https://piotrminkowski.com/2020/11/05/spring-boot-autoscaling-on-kubernetes/) ### SpringBoot with Docker * [spring.io: spring boot with docker](https://spring.io/guides/gs/spring-boot-docker/) diff --git a/docs/jenkins.md b/docs/jenkins.md index 9752991f..9f687350 100644 --- a/docs/jenkins.md +++ b/docs/jenkins.md @@ -1,5 +1,7 @@ # Jenkins & CloudBees - [Jenkins](#jenkins) +- [Jenkins on Kubernetes](#jenkins-on-kubernetes) + - [Kubernetes Native Jenkins Operator](#kubernetes-native-jenkins-operator) - [Groovy](#groovy) - [Awesome Jenkins](#awesome-jenkins) - [Jenkins Cheat Sheet](#jenkins-cheat-sheet) @@ -7,34 +9,33 @@ - [Running Jenkins on Java 11. Use OpenJDK 11](#running-jenkins-on-java-11-use-openjdk-11) - [Online Learning](#online-learning) - [Jenkins Configuration as Code Solutions. 3 available DSLs](#jenkins-configuration-as-code-solutions-3-available-dsls) - - [DSL 1. Job DSL Plugin. From Freestyle jobs to Declarative Pipeline](#dsl-1-job-dsl-plugin-from-freestyle-jobs-to-declarative-pipeline) - - [DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins](#dsl-2-jenkins-pipeline-pipeline-as-code-with-jenkins) - - [Jenkins Pipeline Syntax. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax](#jenkins-pipeline-syntax-scripted-syntax-groovy-dsl-syntax-vs-declarative-syntax) - - [Extending with Shared Libraries](#extending-with-shared-libraries) - - [Automating Service Level Indicators/Service Level Objectives based build validation with Keptn and Jenkins](#automating-service-level-indicatorsservice-level-objectives-based-build-validation-with-keptn-and-jenkins) - - [Jenkinsfile Runner. Serverless / function-as-a-service build execution](#jenkinsfile-runner-serverless--function-as-a-service-build-execution) - - [DSL 3. Jenkins Configuration as Code (JCasC)](#dsl-3-jenkins-configuration-as-code-jcasc) - - [Read-only Jenkins Configuration](#read-only-jenkins-configuration) + - [DSL 1. Job DSL Plugin. From Freestyle jobs to Declarative Pipeline](#dsl-1-job-dsl-plugin-from-freestyle-jobs-to-declarative-pipeline) + - [DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins](#dsl-2-jenkins-pipeline-pipeline-as-code-with-jenkins) + - [Jenkins Pipeline Syntax. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax](#jenkins-pipeline-syntax-scripted-syntax-groovy-dsl-syntax-vs-declarative-syntax) + - [Extending with Shared Libraries](#extending-with-shared-libraries) + - [Automating Service Level Indicators/Service Level Objectives based build validation with Keptn and Jenkins](#automating-service-level-indicatorsservice-level-objectives-based-build-validation-with-keptn-and-jenkins) + - [Jenkinsfile Runner. Serverless / function-as-a-service build execution](#jenkinsfile-runner-serverless--function-as-a-service-build-execution) + - [DSL 3. Jenkins Configuration as Code (JCasC)](#dsl-3-jenkins-configuration-as-code-jcasc) + - [Read-only Jenkins Configuration](#read-only-jenkins-configuration) - [Jenkins Architecture. Performance and Scalability](#jenkins-architecture-performance-and-scalability) - [Ansible and Jenkins. Running Ansible Playbooks From Jenkins](#ansible-and-jenkins-running-ansible-playbooks-from-jenkins) - [Jenkins Tools](#jenkins-tools) - - [Plugin Installation Manager Tool](#plugin-installation-manager-tool) - - [Pipeline Development Tools](#pipeline-development-tools) + - [Plugin Installation Manager Tool](#plugin-installation-manager-tool) + - [Pipeline Development Tools](#pipeline-development-tools) - [Jenkins Multibranch Pipeline](#jenkins-multibranch-pipeline) - - [Multibranch Pipelines with Kubernetes](#multibranch-pipelines-with-kubernetes) + - [Multibranch Pipelines with Kubernetes](#multibranch-pipelines-with-kubernetes) - [Jenkins Plugins](#jenkins-plugins) - - [Selection of Jenkins Plugins](#selection-of-jenkins-plugins) - - [Plugin Development. Jenkins Plugin Parent POM 4.0](#plugin-development-jenkins-plugin-parent-pom-40) - - [Jenkins Blue Ocean](#jenkins-blue-ocean) - - [Cloudbees Flow](#cloudbees-flow) + - [Selection of Jenkins Plugins](#selection-of-jenkins-plugins) + - [Plugin Development. Jenkins Plugin Parent POM 4.0](#plugin-development-jenkins-plugin-parent-pom-40) + - [Jenkins Blue Ocean](#jenkins-blue-ocean) + - [Cloudbees Flow](#cloudbees-flow) - [Monitoring jenkins](#monitoring-jenkins) - [Externalizing Fingerprint Storage for Jenkins](#externalizing-fingerprint-storage-for-jenkins) - [Jenkins and Spring Boot](#jenkins-and-spring-boot) -- [Kubernetes Native Jenkins Operator](#kubernetes-native-jenkins-operator) - [CloudBees](#cloudbees) - - [CloudBees Rollout and Feature Flags](#cloudbees-rollout-and-feature-flags) - - [Feature Flags in CloudBees Enterprise On-Premise](#feature-flags-in-cloudbees-enterprise-on-premise) - - [CloudBees Accelerator](#cloudbees-accelerator) + - [CloudBees Rollout and Feature Flags](#cloudbees-rollout-and-feature-flags) + - [Feature Flags in CloudBees Enterprise On-Premise](#feature-flags-in-cloudbees-enterprise-on-premise) + - [CloudBees Accelerator](#cloudbees-accelerator) - [Jervis: Jenkins as a service](#jervis-jenkins-as-a-service) - [Jenkins X (Serverless)](#jenkins-x-serverless) - [Jenkins and SAP](#jenkins-and-sap) @@ -74,6 +75,13 @@ [![Jenkins growth](images/jenkins_growth.png)](https://aws.amazon.com/blogs/opensource/why-jenkins-still-continuously-serves-developers/)
+## 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/) + +### 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. + ## Groovy * [Wikipedia.org: Groovy](https://en.wikipedia.org/wiki/Apache_Groovy) * [Dzone: Introduction to Groovy](https://dzone.com/articles/introduction-groovy) @@ -394,9 +402,6 @@ * [jaxenter.com - CI/CD for Spring Boot Microservices](https://jaxenter.com/cicd-microservices-docker-162408.html) * [piotrminkowski.wordpress.com: Kotlin microservice with spring boot](https://piotrminkowski.wordpress.com/2019/01/15/kotlin-microservice-with-spring-boot/) -## 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. - ## CloudBees ### CloudBees Rollout and Feature Flags * [CloudBees Rollout 🌟](https://app.rollout.io/) diff --git a/docs/kubernetes.md b/docs/kubernetes.md index af9796a8..ad44c812 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -2,144 +2,144 @@ - [Certified Kubernetes Offerings](#certified-kubernetes-offerings) - [The State of Cloud-Native Development. Details data on the use of Kubernetes, serverless computing and more](#the-state-of-cloud-native-development-details-data-on-the-use-of-kubernetes-serverless-computing-and-more) - [Kubernetes open-source container-orchestation](#kubernetes-open-source-container-orchestation) - - [Kubernetes Best Practices and Tips](#kubernetes-best-practices-and-tips) - - [Disruptions](#disruptions) - - [Cost Estimation Strategies](#cost-estimation-strategies) - - [Kubernetes Resource and Capacity Management](#kubernetes-resource-and-capacity-management) - - [Kubernetes Monitoring](#kubernetes-monitoring) - - [Logging in Kubernetes](#logging-in-kubernetes) - - [Health Checks](#health-checks) - - [Architecting Kubernetes clusters](#architecting-kubernetes-clusters) - - [Templating YAML in Kubernetes with real code. YQ YAML processor](#templating-yaml-in-kubernetes-with-real-code-yq-yaml-processor) - - [Kubernetes Limits](#kubernetes-limits) - - [Kube Scheduler](#kube-scheduler) - - [Kubernetes Knowledge Hubs](#kubernetes-knowledge-hubs) + - [Kubernetes Best Practices and Tips](#kubernetes-best-practices-and-tips) + - [Disruptions](#disruptions) + - [Cost Estimation Strategies](#cost-estimation-strategies) + - [Kubernetes Resource and Capacity Management](#kubernetes-resource-and-capacity-management) + - [Kubernetes Monitoring](#kubernetes-monitoring) + - [Logging in Kubernetes](#logging-in-kubernetes) + - [Health Checks](#health-checks) + - [Architecting Kubernetes clusters](#architecting-kubernetes-clusters) + - [Templating YAML in Kubernetes with real code. YQ YAML processor](#templating-yaml-in-kubernetes-with-real-code-yq-yaml-processor) + - [Kubernetes Limits](#kubernetes-limits) + - [Kube Scheduler](#kube-scheduler) + - [Kubernetes Knowledge Hubs](#kubernetes-knowledge-hubs) - [Kubectl commands](#kubectl-commands) - - [Kubectl Cheat Sheets](#kubectl-cheat-sheets) - - [Kubectl explain](#kubectl-explain) - - [Kubectl Autocomplete](#kubectl-autocomplete) - - [List all resources and sub resources that you can constrain with RBAC](#list-all-resources-and-sub-resources-that-you-can-constrain-with-rbac) - - [Copy a configMap in kubernetes between namespaces](#copy-a-configmap-in-kubernetes-between-namespaces) - - [Copy secrets in kubernetes between namespaces](#copy-secrets-in-kubernetes-between-namespaces) - - [Export resources with kubectl and python](#export-resources-with-kubectl-and-python) - - [Kubectl Alternatives](#kubectl-alternatives) - - [Manage Kubernetes (K8s) objects with Ansible Kubernetes Module](#manage-kubernetes-k8s-objects-with-ansible-kubernetes-module) - - [Jenkins Kubernetes Plugins](#jenkins-kubernetes-plugins) + - [Kubectl Cheat Sheets](#kubectl-cheat-sheets) + - [Kubectl explain](#kubectl-explain) + - [Kubectl Autocomplete](#kubectl-autocomplete) + - [List all resources and sub resources that you can constrain with RBAC](#list-all-resources-and-sub-resources-that-you-can-constrain-with-rbac) + - [Copy a configMap in kubernetes between namespaces](#copy-a-configmap-in-kubernetes-between-namespaces) + - [Copy secrets in kubernetes between namespaces](#copy-secrets-in-kubernetes-between-namespaces) + - [Export resources with kubectl and python](#export-resources-with-kubectl-and-python) + - [Kubectl Alternatives](#kubectl-alternatives) + - [Manage Kubernetes (K8s) objects with Ansible Kubernetes Module](#manage-kubernetes-k8s-objects-with-ansible-kubernetes-module) + - [Jenkins Kubernetes Plugins](#jenkins-kubernetes-plugins) - [Self Service Kubernetes Namespaces](#self-service-kubernetes-namespaces) - [Client Libraries for Kubernetes](#client-libraries-for-kubernetes) - [Helm Kubernetes Tool](#helm-kubernetes-tool) - [Kubernetes Development Tools. Kubernetes clients and dashboards](#kubernetes-development-tools-kubernetes-clients-and-dashboards) - - [Okteto local kubernetes development](#okteto-local-kubernetes-development) - - [Lens Kubernetes IDE](#lens-kubernetes-ide) - - [Kubenav](#kubenav) - - [Skaffold. Local Kubernetes Development](#skaffold-local-kubernetes-development) - - [Kind](#kind) + - [Okteto local kubernetes development](#okteto-local-kubernetes-development) + - [Lens Kubernetes IDE](#lens-kubernetes-ide) + - [Kubenav](#kubenav) + - [Skaffold. Local Kubernetes Development](#skaffold-local-kubernetes-development) + - [Kind](#kind) - [Cluster Autoscaler Kubernetes Tool](#cluster-autoscaler-kubernetes-tool) - - [HPA and VPA](#hpa-and-vpa) - - [Cluster Autoscaler and Helm](#cluster-autoscaler-and-helm) - - [Cluster Autoscaler and DockerHub](#cluster-autoscaler-and-dockerhub) - - [Cluster Autoscaler in GKE, EKS, AKS and DOKS](#cluster-autoscaler-in-gke-eks-aks-and-doks) - - [Cluster Autoscaler in OpenShift](#cluster-autoscaler-in-openshift) - - [Kubernetes Load Testing and High Load Tuning](#kubernetes-load-testing-and-high-load-tuning) + - [HPA and VPA](#hpa-and-vpa) + - [Cluster Autoscaler and Helm](#cluster-autoscaler-and-helm) + - [Cluster Autoscaler and DockerHub](#cluster-autoscaler-and-dockerhub) + - [Cluster Autoscaler in GKE, EKS, AKS and DOKS](#cluster-autoscaler-in-gke-eks-aks-and-doks) + - [Cluster Autoscaler in OpenShift](#cluster-autoscaler-in-openshift) + - [Kubernetes Load Testing and High Load Tuning](#kubernetes-load-testing-and-high-load-tuning) - [Extending Kubernetes](#extending-kubernetes) - - [Adding Custom Resources. Extending Kubernetes API with Kubernetes Resource Definitions. CRD vs Aggregated API](#adding-custom-resources-extending-kubernetes-api-with-kubernetes-resource-definitions-crd-vs-aggregated-api) - - [Krew, a plugin manager for kubectl plugins](#krew-a-plugin-manager-for-kubectl-plugins) - - [OpenKruise/Kruise](#openkruisekruise) - - [Crossplane, a Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions](#crossplane-a-universal-control-plane-api-for-cloud-computing-crossplane-workloads-definitions) + - [Adding Custom Resources. Extending Kubernetes API with Kubernetes Resource Definitions. CRD vs Aggregated API](#adding-custom-resources-extending-kubernetes-api-with-kubernetes-resource-definitions-crd-vs-aggregated-api) + - [Krew, a plugin manager for kubectl plugins](#krew-a-plugin-manager-for-kubectl-plugins) + - [OpenKruise/Kruise](#openkruisekruise) + - [Crossplane, a Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions](#crossplane-a-universal-control-plane-api-for-cloud-computing-crossplane-workloads-definitions) - [Kubernetes Community](#kubernetes-community) - - [Community Forums](#community-forums) - - [Kubernetes Special Interest Groups (SIGs)](#kubernetes-special-interest-groups-sigs) - - [Kubernetes SIG's Repos](#kubernetes-sigs-repos) - - [Kubectl Plugins](#kubectl-plugins) - - [Kubectl Plugins and Tools. Kubernetes Extensions and Projects](#kubectl-plugins-and-tools-kubernetes-extensions-and-projects) + - [Community Forums](#community-forums) + - [Kubernetes Special Interest Groups (SIGs)](#kubernetes-special-interest-groups-sigs) + - [Kubernetes SIG's Repos](#kubernetes-sigs-repos) + - [Kubectl Plugins](#kubectl-plugins) + - [Kubectl Plugins and Tools. Kubernetes Extensions and Projects](#kubectl-plugins-and-tools-kubernetes-extensions-and-projects) - [Enforcing Policies and governance for kubernetes workloads with Conftest](#enforcing-policies-and-governance-for-kubernetes-workloads-with-conftest) - [Kubernetes Backup](#kubernetes-backup) - - [Backup with Velero](#backup-with-velero) + - [Backup with Velero](#backup-with-velero) - [Kubernetes Troubleshooting](#kubernetes-troubleshooting) - - [Debugging Techniques and Strategies. Debugging with ephemeral containers](#debugging-techniques-and-strategies-debugging-with-ephemeral-containers) + - [Debugging Techniques and Strategies. Debugging with ephemeral containers](#debugging-techniques-and-strategies-debugging-with-ephemeral-containers) - [Kubernetes Tutorials](#kubernetes-tutorials) - - [Online Training](#online-training) - - [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019) - - [Famous Kubernetes resources of 2020](#famous-kubernetes-resources-of-2020) - - [K8s Diagrams](#k8s-diagrams) + - [Online Training](#online-training) + - [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019) + - [Famous Kubernetes resources of 2020](#famous-kubernetes-resources-of-2020) + - [K8s Diagrams](#k8s-diagrams) - [Kubernetes Patterns](#kubernetes-patterns) - [e-Books](#e-books) - - [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019-1) - - [Kubernetes Patterns eBooks](#kubernetes-patterns-ebooks) + - [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019-1) + - [Kubernetes Patterns eBooks](#kubernetes-patterns-ebooks) - [Kubernetes Operators](#kubernetes-operators) - - [K8Spin Operator. Kubernetes multi-tenant operator](#k8spin-operator-kubernetes-multi-tenant-operator) - - [Flux. The GitOps Operator for Kubernetes](#flux-the-gitops-operator-for-kubernetes) - - [K8s KPIs with Kuberhealthy Operator](#k8s-kpis-with-kuberhealthy-operator) - - [Writing Kubernetes Operators](#writing-kubernetes-operators) + - [K8Spin Operator. Kubernetes multi-tenant operator](#k8spin-operator-kubernetes-multi-tenant-operator) + - [Flux. The GitOps Operator for Kubernetes](#flux-the-gitops-operator-for-kubernetes) + - [K8s KPIs with Kuberhealthy Operator](#k8s-kpis-with-kuberhealthy-operator) + - [Writing Kubernetes Operators](#writing-kubernetes-operators) - [Kubernetes Networking](#kubernetes-networking) - - [Kubernetes Ingress Specification](#kubernetes-ingress-specification) - - [Xposer Kubernetes Controller To Manage Ingresses](#xposer-kubernetes-controller-to-manage-ingresses) - - [Software-Defined IP Address Management (IPAM)](#software-defined-ip-address-management-ipam) - - [CNI Container Networking Interface](#cni-container-networking-interface) - - [List of existing CNI Plugins (IPAM)](#list-of-existing-cni-plugins-ipam) - - [Project Calico](#project-calico) - - [DNS Service with CoreDNS](#dns-service-with-coredns) - - [Kubernetes Node Local DNS Cache](#kubernetes-node-local-dns-cache) + - [Kubernetes Ingress Specification](#kubernetes-ingress-specification) + - [Xposer Kubernetes Controller To Manage Ingresses](#xposer-kubernetes-controller-to-manage-ingresses) + - [Software-Defined IP Address Management (IPAM)](#software-defined-ip-address-management-ipam) + - [CNI Container Networking Interface](#cni-container-networking-interface) + - [List of existing CNI Plugins (IPAM)](#list-of-existing-cni-plugins-ipam) + - [Project Calico](#project-calico) + - [DNS Service with CoreDNS](#dns-service-with-coredns) + - [Kubernetes Node Local DNS Cache](#kubernetes-node-local-dns-cache) - [Kubernetes Sidecars](#kubernetes-sidecars) - [Kubernetes Security](#kubernetes-security) - - [RBAC](#rbac) - - [Admission Control](#admission-control) - - [Security Best Practices Across Build, Deploy, and Runtime Phases](#security-best-practices-across-build-deploy-and-runtime-phases) - - [Kubernetes Authentication and Authorization](#kubernetes-authentication-and-authorization) - - [Kubernetes Authentication Methods](#kubernetes-authentication-methods) - - [X.509 client certificates](#x509-client-certificates) - - [Static HTTP Bearer Tokens](#static-http-bearer-tokens) - - [OpenID Connect](#openid-connect) - - [Implementing a custom Kubernetes authentication method](#implementing-a-custom-kubernetes-authentication-method) - - [Pod Security Policies (SCCs - Security Context Constraints in OpenShift)](#pod-security-policies-sccs---security-context-constraints-in-openshift) - - [EKS Security](#eks-security) + - [RBAC](#rbac) + - [Admission Control](#admission-control) + - [Security Best Practices Across Build, Deploy, and Runtime Phases](#security-best-practices-across-build-deploy-and-runtime-phases) + - [Kubernetes Authentication and Authorization](#kubernetes-authentication-and-authorization) + - [Kubernetes Authentication Methods](#kubernetes-authentication-methods) + - [X.509 client certificates](#x509-client-certificates) + - [Static HTTP Bearer Tokens](#static-http-bearer-tokens) + - [OpenID Connect](#openid-connect) + - [Implementing a custom Kubernetes authentication method](#implementing-a-custom-kubernetes-authentication-method) + - [Pod Security Policies (SCCs - Security Context Constraints in OpenShift)](#pod-security-policies-sccs---security-context-constraints-in-openshift) + - [EKS Security](#eks-security) - [Kubernetes Scheduling and Scheduling Profiles](#kubernetes-scheduling-and-scheduling-profiles) - - [Assigning Pods to Nodes. Pod Affinity and Anti-Affinity](#assigning-pods-to-nodes-pod-affinity-and-anti-affinity) - - [Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin](#pod-topology-spread-constraints-and-podtopologyspread-scheduling-plugin) + - [Assigning Pods to Nodes. Pod Affinity and Anti-Affinity](#assigning-pods-to-nodes-pod-affinity-and-anti-affinity) + - [Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin](#pod-topology-spread-constraints-and-podtopologyspread-scheduling-plugin) - [Kubernetes etcd](#kubernetes-etcd) - [Kubernetes Storage](#kubernetes-storage) - - [Kubernetes Volumes Guide](#kubernetes-volumes-guide) - - [ReadWriteMany PersistentVolumeClaims](#readwritemany-persistentvolumeclaims) + - [Kubernetes Volumes Guide](#kubernetes-volumes-guide) + - [ReadWriteMany PersistentVolumeClaims](#readwritemany-persistentvolumeclaims) - [Non-production Kubernetes Local Installers](#non-production-kubernetes-local-installers) - [Kubernetes in Public Cloud](#kubernetes-in-public-cloud) - - [GKE vs EKS vs AKS](#gke-vs-eks-vs-aks) - - [AWS EKS (Hosted/Managed Kubernetes on AWS)](#aws-eks-hostedmanaged-kubernetes-on-aws) - - [GCP and GKE](#gcp-and-gke) - - [Tools for multi-cloud Kubernetes management](#tools-for-multi-cloud-kubernetes-management) + - [GKE vs EKS vs AKS](#gke-vs-eks-vs-aks) + - [AWS EKS (Hosted/Managed Kubernetes on AWS)](#aws-eks-hostedmanaged-kubernetes-on-aws) + - [GCP and GKE](#gcp-and-gke) + - [Tools for multi-cloud Kubernetes management](#tools-for-multi-cloud-kubernetes-management) - [On-Premise Production Kubernetes Cluster Installers](#on-premise-production-kubernetes-cluster-installers) - - [Comparative Analysis of Kubernetes Deployment Tools](#comparative-analysis-of-kubernetes-deployment-tools) - - [Deploying Kubernetes Cluster with Kops](#deploying-kubernetes-cluster-with-kops) - - [Deploying Kubernetes Cluster with Kubeadm](#deploying-kubernetes-cluster-with-kubeadm) - - [Deploying Kubernetes Cluster with Ansible](#deploying-kubernetes-cluster-with-ansible) - - [kube-aws Kubernetes on AWS](#kube-aws-kubernetes-on-aws) - - [Kubespray](#kubespray) - - [Conjure up](#conjure-up) - - [WKSctl](#wksctl) - - [Terraform (kubernetes the hard way)](#terraform-kubernetes-the-hard-way) - - [Caravan](#caravan) - - [ClusterAPI](#clusterapi) - - [Microk8s](#microk8s) - - [k8s-tew](#k8s-tew) - - [Kubernetes Distributions](#kubernetes-distributions) - - [Red Hat OpenShift](#red-hat-openshift) - - [Rancher](#rancher) - - [Weave Kubernetes Platform](#weave-kubernetes-platform) - - [Ubuntu Charmed Kubernetes](#ubuntu-charmed-kubernetes) - - [VMware Kubernetes Tanzu and Project Pacific](#vmware-kubernetes-tanzu-and-project-pacific) - - [KubeAcademy Pro (free training)](#kubeacademy-pro-free-training) - - [Kontena Pharos](#kontena-pharos) - - [Mirantis Docker Enterprise with Kubernetes and Docker Swarm](#mirantis-docker-enterprise-with-kubernetes-and-docker-swarm) + - [Comparative Analysis of Kubernetes Deployment Tools](#comparative-analysis-of-kubernetes-deployment-tools) + - [Deploying Kubernetes Cluster with Kops](#deploying-kubernetes-cluster-with-kops) + - [Deploying Kubernetes Cluster with Kubeadm](#deploying-kubernetes-cluster-with-kubeadm) + - [Deploying Kubernetes Cluster with Ansible](#deploying-kubernetes-cluster-with-ansible) + - [kube-aws Kubernetes on AWS](#kube-aws-kubernetes-on-aws) + - [Kubespray](#kubespray) + - [Conjure up](#conjure-up) + - [WKSctl](#wksctl) + - [Terraform (kubernetes the hard way)](#terraform-kubernetes-the-hard-way) + - [Caravan](#caravan) + - [ClusterAPI](#clusterapi) + - [Microk8s](#microk8s) + - [k8s-tew](#k8s-tew) + - [Kubernetes Distributions](#kubernetes-distributions) + - [Red Hat OpenShift](#red-hat-openshift) + - [Rancher](#rancher) + - [Weave Kubernetes Platform](#weave-kubernetes-platform) + - [Ubuntu Charmed Kubernetes](#ubuntu-charmed-kubernetes) + - [VMware Kubernetes Tanzu and Project Pacific](#vmware-kubernetes-tanzu-and-project-pacific) + - [KubeAcademy Pro (free training)](#kubeacademy-pro-free-training) + - [Kontena Pharos](#kontena-pharos) + - [Mirantis Docker Enterprise with Kubernetes and Docker Swarm](#mirantis-docker-enterprise-with-kubernetes-and-docker-swarm) - [Cloud Development Kit (CDK) for Kubernetes](#cloud-development-kit-cdk-for-kubernetes) - - [AWS Cloud Development Kit (AWS CDK)](#aws-cloud-development-kit-aws-cdk) + - [AWS Cloud Development Kit (AWS CDK)](#aws-cloud-development-kit-aws-cdk) - [SpringBoot with Docker](#springboot-with-docker) - [Docker in Docker](#docker-in-docker) - [Serverless with OpenFaas and Knative](#serverless-with-openfaas-and-knative) - [Multi-Cluster Federation. Hybrid Cloud Setup Tools](#multi-cluster-federation-hybrid-cloud-setup-tools) - - [KubeFed](#kubefed) - - [KubeCarrier](#kubecarrier) - - [Red Hat Operator Lifecycle Manager (OLM)](#red-hat-operator-lifecycle-manager-olm) - - [Crossplane](#crossplane) - - [Istio Service Mesh](#istio-service-mesh) + - [KubeFed](#kubefed) + - [KubeCarrier](#kubecarrier) + - [Red Hat Operator Lifecycle Manager (OLM)](#red-hat-operator-lifecycle-manager-olm) + - [Crossplane](#crossplane) + - [Istio Service Mesh](#istio-service-mesh) - [Kubernetes interview questions](#kubernetes-interview-questions) - [Spanish Kubernetes Blogs](#spanish-kubernetes-blogs) - [Container Ecosystem](#container-ecosystem) @@ -166,6 +166,7 @@ * [kubedex.com 🌟](https://kubedex.com/) Discover, Compare and Share Kubernetes Applications * [kubedex.com: autoscaling 🌟](https://kubedex.com/autoscaling) * [medium.com: The Kubernetes Scheduler: this series aims to advance the understanding of Kubernetes and its underlying concepts](https://medium.com/@dominik.tornow/the-kubernetes-scheduler-cd429abac02f) +* [opensource.com: How the Kubernetes scheduler works 🌟](https://opensource.com/article/20/11/kubernetes-scheduler) Understand how the Kubernetes scheduler discovers new pods and assigns them to nodes. * [medium.com: A Year Of Running Kubernetes at MYOB, And The Importance Of Empathy](https://medium.com/@jpcontad/a-year-of-running-kubernetes-as-a-product-7eed1204eecd) * [blogs.mulesoft.com - K8s: 8 questions about Kubernetes](https://blogs.mulesoft.com/dev/resources-dev/k8s-kubernetes/) * [labs.mwrinfosecurity.com: Attacking Kubernetes through Kubelet](https://labs.mwrinfosecurity.com/blog/attacking-kubernetes-through-kubelet/) @@ -350,6 +351,7 @@ * [sysdig.com: Seven Kubernetes monitoring best practices every monitoring solution should enable](https://sysdig.com/blog/kubernetes-monitoring-best-practices/) * [magalix.com: Best Practices And Tools For Monitoring Your Kubernetes Cluster](https://www.magalix.com/blog/best-practices-and-tools-for-monitoring-your-kubernetes-cluster) * [sysdig.com: Monitoring Kubernetes in Production](https://sysdig.com/blog/monitoring-kubernetes/) +* [sysdig.com: How to monitor Kubernetes control plane 🌟](https://sysdig.com/blog/monitor-kubernetes-control-plane/) #### 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/) @@ -909,6 +911,7 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names - [contentful.com: Open-sourcing kube-secret-syncer: A Kubernetes operator to sync secrets from AWS Secrets Manager](https://www.contentful.com/blog/2020/10/20/open-source-kube-secret-syncer/) - [registry-creds](https://github.com/alexellis/registry-creds) is a Kubernetes operator that can be used to propagate a single ImagePullSecret to all namespaces within your cluster. The primary reason for creating this operator is to make it easier to consume images from Docker Hub. - [gemini](https://github.com/FairwindsOps/gemini) is a Kubernetes CRD and operator for managing VolumeSnapshots. This allows you to back up your PersistentVolumes on a regular schedule, retire old backups, and restore backups with minimal downtime. +- [Kdo: deployless development on Kubernetes 🌟](https://kdo.dev/) Kdo is a command line tool that enables developers to run, develop and test code changes in a realistic deployed setting without having to deal with the complexity of Kubernetes deployment and configuration. ### K8Spin Operator. Kubernetes multi-tenant operator - [K8Spin Operator 🌟](https://github.com/k8spin/k8spin-operator) Kubernetes multi-tenant operator. Enables multi-tenant capabilities in your Kubernetes Cluster. [We defined some small features to implement](https://github.com/k8spin/k8spin-operator/projects/1). If you know python & Kubernetes and want to contribute to this project, ping us! @@ -1040,6 +1043,7 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [thenewstack.io: Laying the Groundwork for Kubernetes Security, Across Workloads, Pods and Users](https://thenewstack.io/laying-the-groundwork-for-kubernetes-security-across-workloads-pods-and-users/) * [horovits.wordpress.com: Kubernetes Security Best Practices](https://horovits.wordpress.com/2020/07/15/kubernetes-security-best-practices/) * [containerjournal.com: How to Secure Your Kubernetes Cluster 🌟](https://containerjournal.com/topics/container-security/how-to-secure-your-kubernetes-cluster/) +* [medium: How to Harden Your Kubernetes Cluster for Production 🌟](https://medium.com/better-programming/how-to-harden-your-kubernetes-cluster-for-production-7e47990efc2a) ### RBAC * [Configure RBAC in Kubernetes Like a Boss 🌟](https://medium.com/trendyol-tech/configure-rbac-in-kubernetes-like-a-boss-665e2a8665dd) Learn how to configure RBAC in kubernetes. In this post, you will configure RBAC both with kubectl and yaml definitions. diff --git a/docs/linux-dev-env.md b/docs/linux-dev-env.md index 4516e31a..3786f017 100644 --- a/docs/linux-dev-env.md +++ b/docs/linux-dev-env.md @@ -13,6 +13,7 @@ multiple versions of software on the same system, without affecting system-wide * [Docker Desktop & WSL 2 – Backport Update](https://www.docker.com/blog/docker-desktop-wsl-2-backport-update/) Docker Desktop Edge users will be able to use Docker Desktop with WSL 2 rather than our legacy HyperV based backend. This is available not only for Windows Pro and Windows Enterprise, but also for Windows Home users. * [itnext.io: WSL2 Tips: Limit CPU/Memory When using Docker](https://itnext.io/wsl2-tips-limit-cpu-memory-when-using-docker-c022535faf6f) * [Distro installation added to WSL --install in Windows 10 insiders preview build 20246](https://devblogs.microsoft.com/commandline/distro-installation-added-to-wsl-install-in-windows-10-insiders-preview-build-20246/) +* [pandorafms.com: QuΓ© es, cΓ³mo instalar WSL2 y por quΓ© es una gran noticia para el sector TI](https://pandorafms.com/blog/es/wsl2/) ## Windows Terminal - [Windows Terminal 1.0](https://devblogs.microsoft.com/commandline/windows-terminal-1-0/) diff --git a/docs/maven-gradle.md b/docs/maven-gradle.md index 683ce56a..898cae34 100644 --- a/docs/maven-gradle.md +++ b/docs/maven-gradle.md @@ -29,6 +29,7 @@ * [Dzone: 10 Effective Tips on Using Maven](https://dzone.com/articles/10-effective-tips-on-using-maven) * [Dzone: Building Java Applications With Maven](https://dzone.com/articles/building-java-applications-with-maven) * [howtodoinjava.com/maven](https://howtodoinjava.com/maven/) +* [Dzone: 7 Tips to Achieve High-Availability(HA) For Your Maven Repository](https://dzone.com/articles/7-tips-to-achieve-high-availabilityha-for-your-mav-1) ### Scaffolding a project with Maven (maven archetype) * [vogella.com: Maven for Building Java application - Tutorial](https://www.vogella.com/tutorials/ApacheMaven/article.html) diff --git a/docs/message-queue.md b/docs/message-queue.md index 891bbbc4..edad09f6 100644 --- a/docs/message-queue.md +++ b/docs/message-queue.md @@ -43,6 +43,7 @@ - [dzone: Event-Driven Architecture as a Strategy](https://dzone.com/articles/event-driven-architecture-as-a-strategy) Event-driven architecture provides five key benefits to modern application architecture: scalability, resilience, agility, data sharing, and cloud enabling. - [infoq.com: From Monolith to Event-Driven: Finding Seams in Your Future Architecture](https://www.infoq.com/articles/event-driven-finding-seams/) - [wikipedia: Enterprise service bus](https://en.wikipedia.org/wiki/Enterprise_service_bus) +- [thenewstack.io: The Rise of the Event Streaming Database 🌟](https://thenewstack.io/the-rise-of-the-event-streaming-database/) ## Message Brokers - [Apache ActiveMQ](https://activemq.apache.org/) @@ -227,6 +228,7 @@ Red Hat AMQ 7|JBoss AMQ 7 (Broker) or Red Hat AMQ 7 Suite|Apache ActiveMQ Artemi ## KEDA. Kubernetes Event Driven Autoscaling - [KEDA](https://keda.sh/) Kubernetes Event-driven Autoscaling. Application autoscaling made simple. - [Dzone: Autoscaling Your Kubernetes Microservice with KEDA](https://dzone.com/articles/autoscaling-your-kubernetes-microservice-with-keda) Introduction to KEDAβ€”event-driven autoscaler for Kubernetes, Apache Camel, and ActiveMQ Artemisβ€”and how to use it to scale a Java microservice on Kubernetes. +- [tomd.xyz: Event-driven integration on Kubernetes with Camel & KEDA 🌟](https://tomd.xyz/kubernetes-event-driven-keda/) Can we develop apps in Kubernetes that autoscale based on events? Perhaps, with this example using KEDA, ActiveMQ and Apache Camel. ## eBooks - [O'Really: Streaming data](http://streamingsystems.net/) diff --git a/docs/monitoring.md b/docs/monitoring.md index 0953b6da..259b8967 100644 --- a/docs/monitoring.md +++ b/docs/monitoring.md @@ -13,7 +13,7 @@ - [Prometheus Storage](#prometheus-storage) - [Scalability, High Availability (HA) and Long-Term Storage](#scalability-high-availability-ha-and-long-term-storage) - [Storage Solutions for Prometheus](#storage-solutions-for-prometheus) - - [InfluxDB & InfluxDB Templates](#influxdb--influxdb-templates) + - [InfluxDB and InfluxDB Templates](#influxdb-and-influxdb-templates) - [Collectors. Software exposing Prometheus metrics](#collectors-software-exposing-prometheus-metrics) - [Prometheus Exporters. Plug-in architecture and extensibility with Prometheus Exporters (collectors)](#prometheus-exporters-plug-in-architecture-and-extensibility-with-prometheus-exporters-collectors) - [Prometheus Exporters Development. Node Exporter](#prometheus-exporters-development-node-exporter) @@ -230,7 +230,7 @@ OpenShift Cluster Monitoring components cannot be extended since they are read o * [**M3**:](https://www.m3db.io/) An open source, large-scale metrics platform developed by Uber. It has its own time series database, M3DB. Like Thanos, M3 also uses a side-car container to push the metrics to the DB. In addition, it supports metric deduplication and merging, and provides distributed query support. Although it's exciting to see attempts to address the challenges of running Prometheus at scale, these are very young projects that are not widely used yet. -##### InfluxDB & InfluxDB Templates +##### InfluxDB and InfluxDB Templates * [**InfluxDB**:](https://www.influxdata.com/) An [open-source time series database (TSDB)](https://en.wikipedia.org/wiki/Time_series_database) developed by InfluxData. It is written in [Go](https://en.wikipedia.org/wiki/Go_(programming_language)) and optimized for fast, high-availability storage and retrieval of [time series](https://en.wikipedia.org/wiki/Time_series) data in fields such as operations monitoring, application metrics, [Internet of Things](https://en.wikipedia.org/wiki/Internet_of_Things) sensor data, and real-time analytics. It also has support for processing data from [Graphite](https://en.wikipedia.org/wiki/Graphite_(software)). * [en.wikipedia.org/wiki/InfluxDB](https://en.wikipedia.org/wiki/MIT_License) * [influxdata.com: Building a Metrics & Alerts as a Service (MaaS) Monitoring Solution Using the InfluxDB Stack](https://www.influxdata.com/blog/building-a-metrics-alerts-as-a-service-maas-monitoring-solution-using-the-influxdb-stack/) diff --git a/docs/ocp4.md b/docs/ocp4.md index 97ff4847..9149343c 100644 --- a/docs/ocp4.md +++ b/docs/ocp4.md @@ -1,45 +1,45 @@ # OCP 4 - [OpenShift Container Platform 4 (OCP 4)](#openshift-container-platform-4-ocp-4) - - [Best Practices](#best-practices) - - [Setting up OCP4 on AWS](#setting-up-ocp4-on-aws) + - [Best Practices](#best-practices) + - [Setting up OCP4 on AWS](#setting-up-ocp4-on-aws) - [Downloads](#downloads) - [OpenShift End-to-End. Day 0, Day 1 & Day 2](#openshift-end-to-end-day-0-day-1--day-2) - [OCP 4 Overview](#ocp-4-overview) - - [Three New Functionalities](#three-new-functionalities) - - [New Technical Components](#new-technical-components) - - [Installation & Cluster Autoscaler](#installation--cluster-autoscaler) - - [IPI & UPI](#ipi--upi) - - [Cluster Autoscaler Operator](#cluster-autoscaler-operator) - - [Operators](#operators) - - [Introduction](#introduction) - - [Catalog](#catalog) - - [Certified Opeators, OLM Operators and Red Hat Operators](#certified-opeators-olm-operators-and-red-hat-operators) - - [Deploy and bind enterprise-grade microservices with Kubernetes Operators](#deploy-and-bind-enterprise-grade-microservices-with-kubernetes-operators) - - [OpenShift Container Storage Operator (OCS)](#openshift-container-storage-operator-ocs) - - [OCS 3 (OpenShift 3)](#ocs-3-openshift-3) - - [OCS 4 (OpenShift 4)](#ocs-4-openshift-4) - - [Cluster Network Operator (CNO) & Routers](#cluster-network-operator-cno--routers) - - [ServiceMesh Operator](#servicemesh-operator) - - [Serverless Operator (Knative)](#serverless-operator-knative) - - [Crossplane Operator (Universal Control Plane API for Cloud Computing)](#crossplane-operator-universal-control-plane-api-for-cloud-computing) - - [Monitoring & Observability](#monitoring--observability) - - [Grafana](#grafana) - - [Prometheus](#prometheus) - - [Alerts & Silences](#alerts--silences) - - [Cluster Logging (EFK)](#cluster-logging-efk) - - [Build Images. Next-Generation Container Image Building Tools](#build-images-next-generation-container-image-building-tools) - - [Registry & Quay](#registry--quay) - - [Local Development Environment](#local-development-environment) + - [Three New Functionalities](#three-new-functionalities) + - [New Technical Components](#new-technical-components) + - [Installation & Cluster Autoscaler](#installation--cluster-autoscaler) + - [IPI & UPI](#ipi--upi) + - [Cluster Autoscaler Operator](#cluster-autoscaler-operator) + - [Operators](#operators) + - [Introduction](#introduction) + - [Catalog](#catalog) + - [Certified Opeators, OLM Operators and Red Hat Operators](#certified-opeators-olm-operators-and-red-hat-operators) + - [Deploy and bind enterprise-grade microservices with Kubernetes Operators](#deploy-and-bind-enterprise-grade-microservices-with-kubernetes-operators) + - [OpenShift Container Storage Operator (OCS)](#openshift-container-storage-operator-ocs) + - [OCS 3 (OpenShift 3)](#ocs-3-openshift-3) + - [OCS 4 (OpenShift 4)](#ocs-4-openshift-4) + - [Cluster Network Operator (CNO) & Routers](#cluster-network-operator-cno--routers) + - [ServiceMesh Operator](#servicemesh-operator) + - [Serverless Operator (Knative)](#serverless-operator-knative) + - [Crossplane Operator (Universal Control Plane API for Cloud Computing)](#crossplane-operator-universal-control-plane-api-for-cloud-computing) + - [Monitoring & Observability](#monitoring--observability) + - [Grafana](#grafana) + - [Prometheus](#prometheus) + - [Alerts & Silences](#alerts--silences) + - [Cluster Logging (EFK)](#cluster-logging-efk) + - [Build Images. Next-Generation Container Image Building Tools](#build-images-next-generation-container-image-building-tools) + - [Registry & Quay](#registry--quay) + - [Local Development Environment](#local-development-environment) - [OpenShift on Azure](#openshift-on-azure) - [OpenShift Youtube](#openshift-youtube) - [OpenShift 4 Training](#openshift-4-training) - [OpenShift 4 Roadmap](#openshift-4-roadmap) - [Kubevirt Virtual Machine Management on Kubernetes](#kubevirt-virtual-machine-management-on-kubernetes) - [Networking and Network Policy in OCP4. SDN/CNI plug-ins](#networking-and-network-policy-in-ocp4-sdncni-plug-ins) - - [Multiple Networks with SDN/CNI plug-ins. Usage scenarios for an additional network](#multiple-networks-with-sdncni-plug-ins-usage-scenarios-for-an-additional-network) - - [Istio CNI plug-in](#istio-cni-plug-in) - - [Calico CNI Plug-in](#calico-cni-plug-in) - - [Third Party Network Operators with OpenShift](#third-party-network-operators-with-openshift) + - [Multiple Networks with SDN/CNI plug-ins. Usage scenarios for an additional network](#multiple-networks-with-sdncni-plug-ins-usage-scenarios-for-an-additional-network) + - [Istio CNI plug-in](#istio-cni-plug-in) + - [Calico CNI Plug-in](#calico-cni-plug-in) + - [Third Party Network Operators with OpenShift](#third-party-network-operators-with-openshift) - [Storage in OCP 4. OpenShift Container Storage (OCS)](#storage-in-ocp-4-openshift-container-storage-ocs) - [Red Hat Advanced Cluster Management for Kubernetes](#red-hat-advanced-cluster-management-for-kubernetes) - [OpenShift Kubernetes Engine (OKE)](#openshift-kubernetes-engine-oke) @@ -580,6 +580,7 @@ oc login * [redhat.com: How to run a Kubernetes cluster on your laptop 🌟](https://www.redhat.com/sysadmin/kubernetes-cluster-laptop) Want containers? Learn how to set up and run a Kubernetes container cluster on your laptop with OKD. * [openshift.com: Deploy a multi-master OKD 4.5 cluster using a single command in ~30 minutes](https://www.openshift.com/blog/deploy-a-multi-master-okd-4.5-cluster-using-a-single-command-in-30-minutes) * [dustymabe.com: OpenShift OKD on Fedora CoreOS on DigitalOcean Part 4: Recorded Demo](https://dustymabe.com/2020/09/28/openshift-okd-on-fedora-coreos-on-digitalocean-part-4-recorded-demo/) +* [medium: Guide OKD 4.5 Single Node Cluster](https://medium.com/swlh/guide-okd-4-5-single-node-cluster-832693cb752b) ## OpenShift Serverless with Knative * [redhat.com: What is knative?](https://www.redhat.com/en/topics/microservices/what-is-knative) diff --git a/docs/python.md b/docs/python.md index c5d17324..e68344c4 100644 --- a/docs/python.md +++ b/docs/python.md @@ -34,6 +34,7 @@ - [Microsoft: Python Engineering](https://blogs.msdn.microsoft.com/pythonengineering/) - [blog.pythonlibrary.org 🌟](http://www.blog.pythonlibrary.org/) - [nixCraft: Python Execute Unix/Linux Command Examples 🌟](http://www.cyberciti.biz/faq/python-execute-unix-linux-command-examples/) +- [fedoralovespython.org 🌟](https://fedoralovespython.org/) ## Python docs - [Python progression path - From apprentice to guru](https://stackoverflow.com/questions/2573135/python-progression-path-from-apprentice-to-guru) diff --git a/docs/remote-tech-jobs.md b/docs/remote-tech-jobs.md new file mode 100644 index 00000000..8833d1f1 --- /dev/null +++ b/docs/remote-tech-jobs.md @@ -0,0 +1,9 @@ +# Remote Tech Jobs +- http://weworkremotely.com +- http://remoteok.io/remote-dev-jobs +- http://remote.co/remote-jobs/developer +- http://employremotely.com +- http://remoteleads.io +- http://remotive.io/remote-jobs/software-dev +- http://stackoverflow.com/jobs?r=true +- http://github.com/remoteintech/remote-jobs \ No newline at end of file diff --git a/docs/securityascode.md b/docs/securityascode.md index ad6ac773..8530d0d2 100644 --- a/docs/securityascode.md +++ b/docs/securityascode.md @@ -22,6 +22,7 @@ - [fugue.co: 5 tips for using the Rego language for Open Policy Agent (OPA)](https://www.fugue.co/blog/5-tips-for-using-the-rego-language-for-open-policy-agent-opa) - [medium: Ensure Content Trust on Kubernetes using Notary and Open Policy Agent](https://medium.com/@siegert.maximilian/ensure-content-trust-on-kubernetes-using-notary-and-open-policy-agent-485ab3a9423c) A detailed guide to help you to ensure that only signed images can get deployed on the cluster. In this blog post you will learn how to enforce image trust on your Kubernetes Cluster by fully relying on two well known CNCF hosted open source solutions: Notary and Open Policy Agent (OPA). - [kubermatic.com: Using Open Policy Agent With Kubermatic Kubernetes Platform](https://www.kubermatic.com/blog/using-open-policy-agent-with-kubermatic/) +- [k8s-security-policies](https://github.com/raspbernetes/k8s-security-policies) This repository provides a security policies library that is used for securing Kubernetes clusters configurations. The security policies are created based on CIS Kubernetes benchmark and rules defined in Kubesec.io. The policies are written in Rego, a high-level declarative language, its purpose-built for expressing policies over complex hierarchical data structures. For detailed information on Rego see the Policy Language documentation. ## Open Policy Agent in OpenShift - [blog.openshift.com: Fine-Grained Policy Enforcement in OpenShift with Open Policy Agent 🌟](https://blog.openshift.com/fine-grained-policy-enforcement-in-openshift-with-open-policy-agent/) diff --git a/docs/selenium-appium-zephyr.md b/docs/selenium-appium-zephyr.md index 2ece84b2..cc929361 100644 --- a/docs/selenium-appium-zephyr.md +++ b/docs/selenium-appium-zephyr.md @@ -1,9 +1,9 @@ -# Test Automation Frameworks. Selenium, Cucumber, Appium & Zephyr Jira Plugin +# Test Automation Frameworks and Behavior Driven Development. Selenium, Cucumber, Appium & Zephyr Jira Plugin - [Introduction](#introduction) - [Selenium](#selenium) - [Mobile Tests](#mobile-tests) - [Appium](#appium) - - [Cucumber and Appium](#cucumber-and-appium) + - [Cucumber and Appium. Behavior Driven Development](#cucumber-and-appium-behavior-driven-development) - [Test Automation with Zephyr (Jira Plugin)](#test-automation-with-zephyr-jira-plugin) ## Introduction @@ -24,6 +24,7 @@ - [lambdatest.com: Selenium IDE: What Is It? & Why Is It Must For Every QA?](https://www.lambdatest.com/blog/selenium-ide-what-is-it-why-is-it-must-for-every-qa/) - [qautomation.blog: How to run selenium script in JMeter](https://qautomation.blog/2019/05/07/how-to-run-selenium-script-in-jmeter/) - [dev.to: Using Selenium With Python in a Docker Container](https://dev.to/nazliander/using-selenium-within-a-docker-container-ghp) +- [intellipaat.com: Selenium Tutorial – Learn Selenium from Experts](https://intellipaat.com/blog/tutorial/selenium-tutorial/) ## Mobile Tests ### Appium @@ -31,8 +32,9 @@ - [Dzone: appium tutorial for complete beginners](https://dzone.com/articles/appium-tutorial-for-complete-beginners) - [Dzone: best practices in appium](https://dzone.com/articles/best-practices-in-appium) -### Cucumber and Appium +### Cucumber and Appium. Behavior Driven Development - [experitest.com: Start Automating your mobile tests with Cucumber and Appium](https://experitest.com/appium-blog/start-automating-your-mobile-tests-with-cucumber-and-appium/) +- [medium: Testing APIs with Python 🌟](https://medium.com/python-in-plain-english/testing-apis-with-python-4ca51d604ffe) Getting started with BDD, Cucumber, and Gherkin. ## Test Automation with Zephyr (Jira Plugin) - [Atlassian Marketplace: Zephyr](https://marketplace.atlassian.com/apps/1014681/zephyr-for-jira-test-management) diff --git a/docs/servicemesh.md b/docs/servicemesh.md index 2fdbbce8..1c36b078 100644 --- a/docs/servicemesh.md +++ b/docs/servicemesh.md @@ -25,6 +25,8 @@ * [thenewstack.io: Zero-Trust Security with Service Mesh](https://thenewstack.io/zero-trust-security-with-service-mesh/) * [solo.io: Identity Federation for Multi-Cluster Kubernetes and Service Mesh](https://www.solo.io/blog/identity-federation-for-multi-cluster-kubernetes-and-service-mesh/) * [cncf.io: Service Mesh Is Still Hard](https://www.cncf.io/blog/2020/10/26/service-mesh-is-still-hard/) +* [medium: Part 1 β€” Why Red Hat Openshift Service Mesh? 🌟](https://medium.com/@maggarwa/part-1-why-red-hat-openshift-service-mesh-54b8b6ae1a8f) +* [openshift.com: Introducing OpenShift Service Mesh 2.0 🌟](https://www.openshift.com/blog/introducing-openshift-service-mesh-2.0) ## Tools For Evaluating Service Meshes * [Meshery.io:](https://meshery.io/) Open source tool for evaluating and contrasting service meshes diff --git a/docs/terraform.md b/docs/terraform.md index d4813f73..94eef8b5 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -56,6 +56,7 @@ * [learn.hashicorp.com: Call APIs with Terraform Providers. Learn how to use and create custom Terraform Providers in a new collection of tutorials on HashiCorp Learn 🌟](https://learn.hashicorp.com/collections/terraform/providers) * [globaldatanet.com: Terraform CI/CD Best Practices](https://globaldatanet.com/blog/terraform-cicd-best-practices) * [devblogs.microsoft.com: What is infrastructure as code? 🌟](https://devblogs.microsoft.com/devops/what-is-infrastructure-as-code/) +* [thenewstack.io: Terraform on AWS: Multi-Account Setup and Other Advanced Tips](https://thenewstack.io/terraform-on-aws-multi-account-setup-and-other-advanced-tips/) ### Terraform Infracost - [Infracost 🌟](https://github.com/infracost/infracost) If you use Terraform to provision your Kubernetes clusters, you might find infracost interesting. Infracost estimates hourly and monthly costs for a Terraform project. It helps you to see the cost breakdown and compare different deployment options upfront @@ -86,6 +87,7 @@ * [hashicorp.com: Terraforming RDS: What Instacart Learned Managing Over 50 AWS RDS PostgreSQL Instances with Terraform](https://www.hashicorp.com/resources/terraform-what-instacart-learned-managing-over-50-aws-rds-postgresql-instances) * [Dzone: provisioning servers in cloud with terraform](https://dzone.com/articles/provisioning-servers-in-cloud-with-terraform) * [Dzone: how to deploy apps effortlessly with **packer and terraform**](https://dzone.com/articles/how-to-deploy-apps-effortlessly-with-packer-and-te) +* [stories.schubergphilis.com: (Terraform) AWS management using your Google account](https://stories.schubergphilis.com/terraform-aws-management-using-your-google-account-cfe5ea70c75) ## Gruntwork - [gruntwork.io](https://gruntwork.io/) diff --git a/docs/visual-studio.md b/docs/visual-studio.md index 702d4002..444120fa 100644 --- a/docs/visual-studio.md +++ b/docs/visual-studio.md @@ -90,6 +90,8 @@ A simple extension to make indentation more readable * [React Pure To Class](https://marketplace.visualstudio.com/items?itemName=angryobject.react-pure-to-class-vscode) Convert pure react components to class components * [Helm Intellisense](https://marketplace.visualstudio.com/items?utm_sq=ggv6n6jy52&itemName=Tim-Koehler.helm-intellisense&ssr=false#overview) Helm Intellisense is a Visual Studio Code extension that provides intellisense for helm-templates * [Azure Resource Manager (ARM) Tools 🌟](https://marketplace.visualstudio.com/items?itemName=msazurermtools.azurerm-vscode-tools) New VS Code extension for working with Azure Resource Manager (ARM) templates that will make your life much easier. +* [developers.redhat.com: Devfiles and Kubernetes cluster support in OpenShift Connector 0.2.0 extension for VS Code 🌟](https://developers.redhat.com/blog/2020/11/16/devfiles-and-kubernetes-cluster-support-in-openshift-connector-0-2-0-extension-for-vs-code/) + * [OpenShift Connector 🌟](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-openshift-connector) #### 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) @@ -161,6 +163,7 @@ A simple extension to make indentation more readable - [Gitpod Open Sources a β€˜Holistic IDE’](https://thenewstack.io/gitpod-open-sources-a-holistic-ide/) - [piotrminkowski.com: Development on Kubernetes: IDE & TOOLS](https://piotrminkowski.com/2020/08/03/development-on-kubernetes-ide-tools/) In this article, you will learn what tools, frameworks, and platforms could help you to speed up the development of JVM microservices on Kubernetes. - [openshift.com: Visual Web Terminal - A Turbocharged Command Line for Kubernetes and OpenShift](https://www.openshift.com/blog/visual-web-terminal-a-turbocharged-command-line-for-kubernetes-and-openshift) +- [Linux on Chrome OS, sometimes called Crostini 🌟](https://chromeos.dev/en/linux), allows you to run Linux apps for development alongside your usual Chrome OS desktop & apps. ## Videos diff --git a/docs/yaml.md b/docs/yaml.md index e5e1086f..74d65e26 100644 --- a/docs/yaml.md +++ b/docs/yaml.md @@ -1,7 +1,7 @@ # Templating YAML with YAML Processors. Static Checking of Kubernetes YAML Files - [Templating YAML Files](#templating-yaml-files) - - [YAML Processors](#yaml-processors) - - [Helm and Kustomize](#helm-and-kustomize) + - [YAML Processors](#yaml-processors) + - [Helm and Kustomize](#helm-and-kustomize) - [Templating JSON Files](#templating-json-files) - [Static Checking of Kubernetes YAML Files](#static-checking-of-kubernetes-yaml-files) @@ -11,6 +11,7 @@ - [thoughtworks.com: Templating in YAML](https://www.thoughtworks.com/radar/techniques/templating-in-yaml) As infrastructures grow in complexity, so do the configuration files that define them. Tools such as [AWS CloudFormation](https://aws.amazon.com/cloudformation/), [Kubernetes](https://www.thoughtworks.com/radar/platforms/kubernetes) and [Helm](https://www.thoughtworks.com/radar/tools/helm) expect configuration files in JSON or YAML syntax, presumably in an attempt to make them easy to write and process. However, in most cases, teams quickly reach the point where they have some parts that are similar but not quite the same, for example, when the same service must be deployed in different regions with a slightly different setup. For such cases tools offer templating in YAML (or JSON), which has caused a huge amount of [frustration with practitioners](https://leebriggs.co.uk/blog/2019/02/07/why-are-we-templating-yaml.html). The problem is that the syntax of JSON and YAML requires all sorts of awkward compromises to graft templating features such as conditionals and loops into the files. **We recommend using an API from a programming language instead or, when this is not an option, a templating system in a programming language, either a general-purpose language such as Python or something specialized such as [Jsonnet](https://jsonnet.org/).** - [Steve Horsfield: DevOps tricks - Templating YAML files](https://stevehorsfield.wordpress.com/2019/08/13/devops-tricks-templating-yaml-files/) Basic text tools fall foul of YAML’s indentation sensitivity. On the other hand, **YAML tools like [ytt](https://get-ytt.io/) are pretty difficult to interpret.** In my case, I opted for a small [jq](https://stedolan.github.io/jq/) program executed via [yq](https://mikefarah.gitbook.io/yq/). - [redhat.com: Understanding YAML for Ansible. Validating YAML files with YAMLlint 🌟](https://www.redhat.com/sysadmin/understanding-yaml-ansible) Ansible playbooks are written in YAML, YAML Ain't Markup Language. Understanding YAML syntax is a key to success with Ansible. +- [linuxhandbook.com: YAML Basics Every DevOps Engineer Must Know 🌟](https://linuxhandbook.com/yaml-basics/) ### YAML Processors - [github.com/topics/yaml-processor](https://github.com/topics/yaml-processor) diff --git a/mkdocs.yml b/mkdocs.yml index ca06bfdc..5bb9d633 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -137,15 +137,16 @@ nav: - JavaScript - node.js & npm: javascript.md - Python - Django & Flask: python.md - Xamarin: xamarin.md + - Websites for web developers: devel-sites.md - Java: - Java & Open Source Microservices Frameworks. SpringBoot, MicroProfile, Quarkus and more: java_frameworks.md - Java Memory Management & Java Performance Optimization: java-and-java-performance-optimization.md - Java Parameters Matrix Table: jvm-parameters-matrix-table.md - - Dev Environment: - - Visual Studio Code: visual-studio.md - - WSL - Linux Dev Environment on Windows: linux-dev-env.md - - Scaffolding Tools: scaffolding.md - - Chrome & Firefox DevTools. HTTP Protocols & WebSockets: ChromeDevTools.md + - Dev Environment: + - Visual Studio Code: visual-studio.md + - WSL - Linux Dev Environment on Windows: linux-dev-env.md + - Scaffolding Tools: scaffolding.md + - Chrome & Firefox DevTools. HTTP Protocols & WebSockets: ChromeDevTools.md - Public Cloud: - Public Cloud Solutions: public-cloud-solutions.md - Edge Computing: edge-computing.md @@ -164,6 +165,7 @@ nav: - Recruitment and Freelancing: - Recruitment: recruitment.md - Freelancing: freelancing.md + - Remote Tech Jobs: remote-tech-jobs.md - About: about.md copyright: 2020 Red Hat Spain, about. google_analytics: ['UA-168051035-1', 'redhatspain.com']